本申请涉及通信领域,尤其涉及验证码短信的处理方法及终端。
背景技术:
目前,为了实现浏览器自动获取验证码的目的,当终端接收到验证码短信后,会自动解析验证码短信,从验证码短信中获取验证码。
而这种自动从验证码短信中获取验证码的方式的安全性不高。
技术实现要素:
本申请提供了一种验证码短信处理方法及终端,目的在于解决终端自动获取验证码的方式安全性不高的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请的第一方面提供了一种验证码短信的处理方法,包括以下步骤:终端接收包括验证码短信的发送方身份信息的验证码短信,并依据存储的信息与证书的对应关系,查询与所述验证码短信的发送方身份信息对应的证书,在所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书匹配的情况下,所述终端通过在可信执行环境tee中加密所述验证码短信,得到密文,并通过在富执行环境ree中解密所述密文,得到验证码。可见,与现有技术相比,终端在接收到验证码短信后,不是直接从验证码短信中解析出验证码,而在验证码短信的发送方身份信息对应的证书与终端当前访问的网页的证书匹配的情况下,终端才获取验证码,并且,终端以先在tee中加密验证码短信,再在ree中解密密文的方式得到验证码,具有更高的安全性。
本申请的第二方面提供了一种终端,包括:通信模块、查询模块、加密模块和验证码获取模块。其中,通信模块用于接收包括验证码短信的发送方身份信息的验证码短信。查询模块用于依据存储的信息与证书的对应关系,查询与所述验证码短信的发送方身份信息对应的证书。加密模块用于在所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书匹配的情况下,通过在可信执行环境tee中加密所述验证码短信,得到密文。验证码获取模块用于通过在富执行环境ree中解密所述密文,得到验证码。终端在验证码短信的发送方身份信息对应的证书与终端当前访问的网页的证书匹配的情况下,终端才获取验证码,并且,终端以先在tee中加密验证码短信,再在ree中解密密文的方式得到验证码,具有更高的安全性。
在一个实现方式中,所述通信模块和所述查询模块设置在基带通信系统中。因为基带通信系统为终端与其它设备通信的底层系统,因此,在基带处理系统中存储对应关系并判断证书是否匹配的优点在于,无需上层应用参与查询和判断,即上层应用是无感的,所以能够降低通过应用软件干扰判断的可能性。
在一个实现方式中,所述验证码获取模块包括:解密模块和浏览器模块。其中,解密模块用于在所述密文的类型为验证码短信的情况下,使用从所述tee中获取的所述密钥,通过在所述ree中解密所述密文,得到所述验证码短信。浏览器模块用于获取所述验证码短信,并从所述验证码短信中获取所述验证码。
在一个实现方式中,所述浏览器模块获取所述验证码短信的具体实现方式为:通过安全接口,获取所述验证码短信。目的在于提高安全性。
在一个实现方式中,所述解密模块还用于:在所述得到所述验证码短信之后,向所述浏览器模块发送通知,所述通知携带所述验证码短信的发送方身份信息。所述浏览器模块从所述验证码短信中获取所述验证码的具体实现方式为:在所述当前访问的网页的证书与所述验证码短信的发送方身份信息匹配的情况下,从所述验证码短信中获取所述验证码。解密模块向浏览器模块通知后,浏览器模块再次验证的目的在于,浏览器模块再一次确认当前访问的网页是否为需要进行验证的网页,以进一步提高安全性。
在一个实现方式中,通过在ree中解密所述密文,得到验证码的具体实现方式为:如果确定所述密文的类型为验证码类短信,则使用从所述tee中获取的所述密钥在所述ree中解密所述密文,得到验证码。先确定密文的类型为验证码类短信再解密密文的目的在于,能够避免不必要的解密过程,从而节省资源。
本申请的第三方面提供了一种验证码短信的处理方法,包括以下步骤:终端接收验证码短信,所述验证码短信中包括所述验证码短信的发送方身份信息。所述终端依据存储的信息与证书的对应关系,查询与所述验证码短信的发送方身份信息对应的证书,在所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书匹配的情况下,所述终端从所述验证码短信中获取验证码。与现有技术相比,终端在接收到验证码短信后,不是直接从验证码短信中解析出验证码,而在验证码短信的发送方身份信息对应的证书与终端当前访问的网页的证书匹配的情况下,终端才获取验证码,从而具有更高的安全性。
本申请的第四方面提供了一种终端,包括:通信模块、查询模块和验证码获取模块。其中,通信模块用于接收验证码短信,所述验证码短信中包括所述验证码短信的发送方身份信息。查询模块用于依据存储的信息与证书的对应关系,查询与所述验证码短信的发送方身份信息对应的证书。验证码获取模块用于在所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书匹配的情况下,从所述验证码短信中获取验证码。
在一个实现方式中,所述验证码获取模块包括:判断模块和浏览器模块。其中,判断模块用于判断所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书是否匹配。浏览器模块用于在所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书匹配的情况下,获取所述验证码短信,并从所述验证码短信中获取验证码。
在一个实现方式中,所述判断模块还用于:在所述判断所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书是否匹配之前,向所述浏览器模块发送通知,所述通知携带所述与所述发送方身份信息对应的证书。所述浏览器模块还用于:在所述与所述发送方身份信息对应的证书与所述当前访问的网页的证书匹配的情况下,向所述判断模块发送所述当前访问的网页的证书。
在一个实现方式中,所述接收验证码短信之前,还包括:所述终端在确定第一次访问所述当前访问的网页,或者向所述当前访问的网页的服务器发送过登陆或注册信息的情况下,则向所述当前访问的网页的服务器发送获取所述验证码短信的发送方身份信息的请求。所述终端接收所述当前访问的网页的服务器发送的所述验证码短信的发送方身份信息和所述当前访问的网页的证书,并存储所述验证码短信的发送方身份信息与所述当前访问的网页的证书的对应关系。第一次访问所述当前访问的网页,或者向所述当前访问的网页的服务器发送过登陆或注册信息则说明终端有获取验证码的可能性,在有获取验证码的可能情况下,才发送获取请求,目的在于节省资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为终端的结构示意图;
图2为本申请实施例公开的验证码短信的处理方法的流程图;
图3为本申请实施例公开的一种终端的结构示意图;
图4为本申请实施例公开的一种终端进行验证码短信的处理的流程图;
图5为本申请实施例公开的终端中设置验证码短信开放api的示意图;
图6为本申请实施例公开的一种终端进行验证码短信的处理的界面示例图;
图7为本申请实施例公开的又一种验证码短信的处理方法的流程图;
图8为本申请实施例公开的又一种终端的结构示意图;
图9为本申请实施例公开的又一种终端进行验证码短信的处理的流程图;
图10为本申请的实施例公开的又一种终端的结构示意图。
具体实施方式
图1所示为一种终端,为了提升安全性,终端上设置有两个环境:运行具有强大处理能力和多媒体功能的富执行环境(richexecutionenvironment,ree)例如android环境,以及可信执行环境(trustedexecutiveenvironment,tee)。其中,在android环境中可以运行有操作系统,在操作系统中运行短信apk(英文:androidpackage)。
tee是终端上与ree并存的运行环境,相对于ree而言,tee是主处理器中的一个安全区域,确保各种敏感数据在一个可信环境中被存储、处理和受到保护,从而为ree操作系统提供安全服务。它具有其自身的执行空间,比ree操作系统的安全级别更高。tee并不是独立的物理安全芯片,而是与目前使用的应用处理器的硬件架构重叠在一起的安全架构。tee所能访问的软硬件资源是与ree操作系统分离的,提供硬件支持的隔离。可信应用程序运行于tee中,与ree操作系统分开,可防止恶意软件攻击。
终端在访问网页的过程中,可能需要通过网页的服务器的验证,具体的,终端接收到网页的服务器发送的验证码短信,从验证码短信中获取验证码后,向网页的服务器发送验证码,网页的服务器对于验证码进行验证。
本申请提供的验证码短信的处理方法,应用在图1所示的终端上,目的在于,提升终端从接收到的验证码短信中获取验证码的安全性。
图2为本申请实施例公开的验证码短信的处理方法的流程,包括以下步骤:
s201:终端判断是否第一次访问当前访问的网页,或者,是否向当前访问的网页的服务器发送过登陆或注册指令,如果是,则执行s202,如果否,则不作处理或周期性执行s201。
第一次访问当前访问的网页,或者,向当前访问的网页的服务器发送过登陆或注册指令,意味着终端有可能从当前访问的网页的服务器获取验证码短信。也就是说,s201是终端对于是否可能获取验证码短信的一个预判的过程。
需要说明的是,终端判断是否有获取验证码短信的可能仅为节省资源的一种可选方式,目的在于节省资源,也可以跳过s201直接执行s202。
s202:终端向当前访问的网页的服务器发送获取验证码短信的发送方身份信息的请求。
s203:终端接收当前访问的网页的服务器发送的验证码短信的发送方身份信息。
s204:终端获取当前访问的网页的证书。
s204也可能在s201、s202或者s203之前执行。
s205:终端存储当前访问的网页的证书和验证码短信的发送方身份信息的对应关系。
以上为终端注册验证码短信的发送方身份信息与网页的证书的对应关系的过程,存储的对应关系作为是否从验证码短信中获取验证码的判断依据。
s206:终端向当前访问的网页的服务器发送验证码获取请求。
具体的,终端可以依据用户的操作向当前访问的网页的服务器发送验证码获取请求。例如,用户通过终端在中国银行的官网上进行注册,根据中国银行的官网上的提示信息,点击“获取验证码”的按钮,触发终端向中国银行的官网的服务器发送验证码获取请求。
s207:终端接收网页的服务器发送的验证码短信。
s209:终端判断查询到的证书与当前访问的网页的证书是否匹配,如果是,执行s210,如果否,按照现有的短信处理流程处理验证码短信。
需要说明的是,本实施例中所述“匹配”是指相同或本质相同等情况。所述本质相同是指,两个证书表示的是同一个网页。
s210:终端在tee中加密验证码短信,得到密文。
具体的,在tee中可以使用可信应用(英文:trustedapplication,ta)对验证码短信进行加密。
因为tee的安全性更高,因此,在tee中得到的验证码短信密文,具有更高的安全性。
s211:终端在ree中判断密文的类型是否为验证码短信,如果是,执行s212,如果否,按照现有的短信处理流程处理。
s212:终端在ree中解密所述密文,得到验证码。
s213:终端将验证码发给网页的服务器,以进行验证。
图3为图1所示的终端的具体结构,包括:通信模块、查询模块、加密模块、解密模块、浏览器模块、判断模块和存储模块。具体的,加密模块可以设置在tee中,通信模块、存储模块、查询模块和判断模块可以设置在终端的基带通信系统中。浏览器模块和解密模块可以设置在ree中。解密模块和浏览器模块共同构成验证码获取模块。
图4为图3所示的终端中的各个模块之间进行协作获取验证码的流程,包括以下步骤:
s401、浏览器模块判断是否第一次访问当前访问的网页,或者,是否向当前访问的网页的服务器发送过登陆或注册指令,如果是,则执行s402,如果否,则不作处理或者周期性执行s401。
s404、浏览器模块获取当前访问的网页的证书。
s405、浏览器模块将获取的证书发送给存储模块。
s407、浏览器模块接收由用户输入的验证码获取命令。
s408、通信模块向当前访问的网页的服务器发送验证码获取请求。
s409、浏览器模块向解密模块请求验证码短信。
s410、通信模块接收网页的服务器发送的验证码短信。
因为基带处理系统是终端与其它设备通信的底层系统,因此,在基带处理系统中存储对应关系并判断证书是否匹配的优点在于,无需上层应用参与查询和判断,即上层应用是无感的,所以能够降低通过应用软件干扰判断的可能性。
s413、通信模块将验证码短信发给加密模块。
s414、加密模块对验证码短信进行加密,具体地,加密模块可以使用tee中的可信应用(英文:trustedapplication,ta)对验证码短信进行加密。
s415、加密模块将验证码短信密文以及加密密钥发送给解密模块。
可选地,加密密钥为一次性使用密钥,以进一步提高验证码密文的安全性。
s417、解密模块将验证码短信密文存储到ree的交易短信加密数据库中。
s419、浏览器模块判断当前网页的证书与通知中携带的证书是否相同,如果是,执行s420,如果否,不作响应。
需要说明的是,s419为可选步骤,其目的在于,在浏览器模块同时打开多个网页(多标签)的情况下,如果当前显示的网页不是需要获取验证码的网页,则说明用户可能暂时不在原有网页的操作,浏览器模块不响应,不让当前网页获取验证码,可以提高安全性和用户体验。
s420、浏览器模块通过安全接口,向解密模块发送验证码短信获取请求。
s421、解密模块从交易短信加密数据库中获得验证码短信密文,并使用加密密钥解密验证码短信密文。
s422、解密模块通过安全接口,向浏览器模块发送验证码短信的明文。
本实施例中,安全接口为图5中所示的验证码短信开放api,此安全接口的特点是具有较高的安全性,可以与预先经过合法认证的应用例如浏览器模块之间使用明文进行数据传输,并提示用户与此接口进行明文数据传输的应用的合法性,目的在于进一步降低验证码泄露以及被盗取的可能性,并提高用户的安全性体验。
s423、浏览器模块从验证码短信中提取验证码并填入网页中的验证码输入框中。
s424、通信模块向网页的服务器发送验证码。
s424与s423的执行顺序可以交换。
s425、网页的服务器检验验证码并向接收模块返回校验结果。
s426、浏览器模块依据校验结果执行相应的操作。
本实施例中,将网页证书与短信号码绑定存储,系统不广播收到验证码短信的消息,而定向通知浏览器模块收到短信的通知,浏览器模块通过证书判断当前页面是否合法,并定向获取验证码短信,使得浏览器可以自动获取验证码,与现有的向浏览器模块开放短信读取权项,而使得浏览器模块能够读取所有短信的方式相比,能够降低敏感信息泄露的风险。
并且,基于tee,能够进一步提高验证码的安全性,降低验证码被泄露及窃取的风险。
基于图4所示的流程进行验证码自动提取的界面示意图如图6所示。
图7为本申请实施例公开的又一种验证码短信的处理方法,包括以下步骤:
s701:终端判断是否第一次访问当前访问的网页,或者,是否向当前访问的网页的服务器发送过登陆或注册指令,如果是,则执行s702,如果否,则不作处理或周期性执行s701。
s702:终端向当前访问的网页的服务器发送获取验证码短信的发送方身份信息的请求。
s703:终端接收当前访问的网页的服务器发送的验证码短信的发送方身份信息。
s704:终端获取当前访问的网页的证书。
s705:终端存储当前访问的网页的证书和验证码短信的发送方身份信息的对应关系。
s706:终端向当前访问的网页的服务器发送验证码获取请求。
s707:终端接收网页的服务器发送的验证码短信。
s709:终端判断查询到的证书与当前访问的网页的证书是否匹配,如果是,执行s710,如果否,按照现有的短信处理流程处理验证码短信。
s710:终端从验证码短信中获取验证码。
s711:终端将验证码发给网页的服务器,以进行验证。
图8为本申请实施例公开的又一种终端的结构,包括:通信模块、查询模块和验证码获取模块。可选的,还包括存储模块。具体的,验证码获取模块包括浏览器模块和判断模块。
图9所示的终端中的各个模块通过以下步骤实现验证码的自动获取:
s901、浏览器模块判断终端是否第一次访问当前访问的网页,或者,是否向所述当前访问的网页的服务器发送过登陆或注册信息,如果是,执行s802,如果否,不做处理或者周期性执行s901。
s903、浏览器模块将当前访问的网页的证书发给存储模块。
s905、浏览器模块接收验证码获取命令。
举例说明,验证码获取命令为用户点击网页上显示的“获取验证码”的按键(可能为虚拟按键)而出发的命令。
s906、通信模块向当前访问的网页的服务器发送验证码获取请求。
s907、通信模块接收当前访问的网页的服务器发送的验证码短信。
s909、判断模块广播收到短信的通知,通知中携带s908中查询到的证书。
s910、浏览器模块判断当前显示的网页的证书与通知中携带的证书是否相同,如果是,执行s911,如果否,不作响应。
s910为可选步骤,其目的在于,在浏览器同时打开多个网页(多标签)的情况下,如果当前显示的网页不是需要获取验证码的网页,则说明用户可能暂时不在原有网页的操作,浏览器模块不响应,不让当前网页获取验证码,可以提高安全性和用户体验。
s911、浏览器模块发送当前访问的网页的证书给判断装置。
s912、判断模块判断接收到的证书是否与s908中查询到的证书相同,如果是,执行s913,如果否,执行s918。
s913、判断模块向浏览器模块发送验证码短信。
s914、浏览器模块从验证码短信中提取验证码并填入网页中的验证码输入框中。
s915、通信模块向当前访问的网页的服务器发送验证码。
s916、当前访问的网页的服务器检验验证码并向浏览器返回校验结果。
s917、浏览器模块依据校验结果执行相应的操作。
s918、判断模块拒绝向浏览器模块发送验证码短信。
从图9所示的过程可以看出,用户如果在浏览器的网页上点击“获取验证码”的按键,则在接收到网页的服务器发送的验证码短息后,通过对网页的验证,能够将验证码短信发给浏览器模块,浏览器模块则可以从验证码短信中获取验证码。相比于传统的浏览器,本实施例中,浏览器能够自动获取验证码。
需要强调的是,本实施例中所述的验证码自动获取过程与现有技术中应用自动获取并填充验证码的方式不同,现有技术中,应用获得读取短信的权限,在接收到短信后可以自动提取验证码,基于此机制,应用一旦获得读取短信的权限就获得读取任何短信的权限,这无疑会增加敏感信息泄露的风险,并且,应用不仅可以读取正常的验证码短信,还可以读取用户正常使用短信应用时收发的其它短信,容易造成用户隐私的泄露。
而本实施例所述的方法,在获取验证码的网页的证书与注册的验证码发送发的证书匹配的情况下,浏览器模块才能获取验证码短信,而并不是向浏览器模块开放读短信的权限使得浏览器模块能够读取全部的短信。因此,本实施例所述的方法,在保证较高的安全性的基础上实现了浏览器自动填充验证码的目的。
图10为本申请的实施例公开的又一种终端,包括通信组件、存储器和处理器。
其中,存储器用于存储验证码短信的发送方身份信息与证书的对应关系,以及存储应用程序以及应用程序运行过程中产生的数据。通信组件用于接收包括验证码短信的发送方身份信息的验证码短信,处理器用于依据存储的信息与证书的对应关系,查询与所述验证码短信的发送方身份信息对应的证书,并在所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书匹配的情况下,通过在可信执行环境tee中加密所述验证码短信,得到密文,以及通过在富执行环境ree中解密所述密文,得到验证码。
具体的,处理器通过在ree中解密所述密文,得到验证码的具体实现方式可以为:如果确定所述密文的类型为验证码类短信,则使用从所述tee中获取的所述密钥在所述ree中解密所述密文,得到验证码。
进一步的,处理器还用于判断是否第一次访问所述当前访问的网页,或者是否向所述当前访问的网页的服务器发送过登陆或注册信息,通信组件还用于,在接收验证码短信之前,如果处理器确定第一次访问所述当前访问的网页,或者向所述当前访问的网页的服务器发送过登陆或注册信息,则向所述当前访问的网页的服务器发送获取所述验证码短信的发送方身份信息的请求,并接收所述当前访问的网页的服务器发送的所述验证码短信的发送方身份信息和所述当前访问的网页的证书。处理器还用于存储所述验证码短信的发送方身份信息与所述当前访问的网页的证书的对应关系。
以上功能的具体实现过程可以参见图2。
图10所示的终端的功能还可能如下所述:处理器用于依据存储的信息与证书的对应关系,查询与所述验证码短信的发送方身份信息对应的证书,并在所述与所述验证码短信的发送方身份信息对应的证书与所述终端当前访问的网页的证书匹配的情况下,从所述验证码短信中获取验证码。通信组件的功能如前所述,这里不再赘述。功能的具体实现过程可以参见图7。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。