验证信息的获取方法及装置与流程

文档序号:17065866发布日期:2019-03-08 22:54阅读:251来源:国知局
验证信息的获取方法及装置与流程

本发明涉及网络安全技术领域,具体涉及一种验证信息的获取方法及装置。本案为申请号为201410240511的分案申请。



背景技术:

现有移动业务中,常常需要用户利用验证信息进行操作,以保证业务的安全性。用户可以通过短信或邮件等方式获取验证信息。例如,用手机注册帐号或进行支付时,需要服务端向当前手机号下发短信进行身份验证,且短信都以明文形式下发。但是目前一些操作系统(例如android)平台比较开放,任意软件在注册短信权限后都可随意读取短信内容,在安全方面造成极大的隐患。

在许多认证,尤其是支付过程中,手机短信验证都是最后一道安全措施。通常而言是由服务器(服务提供商,例如支付宝)通过短信网关给用户此前绑定的手机号发送一个包含数字或字符的验证码的短信。用户收到短信之后将短信中的验证码通过手机app或者认证或支付的web页面并提交给服务器。服务器根据提交的验证码判断是否的确是该用户在进行验证或者支付操作。

问题在于,作为私人物品的手机,其短信并不像服务提供商以及用户所理解的那么安全。随便打开一个手机并查看每一个安装的应用,就会发现,许多看似完全无关的应用都会要求阅读短信甚至是发送短信的权限。由此可见,用户是根本不会在意安装的应用拥有一些权限。一个恶意的木马应用完全可以悄无声息的读到前面所述的验证码。android4.4以前的系统(目前市场上绝大部分android手机),木马甚至可以在无root的情况下在偷窃了验证码短信之后删除该短信,在用户毫无察觉的情况下就盗走验证码。

除了恶意的木马可能盗取验证码短信之外,还有一个严重的问题是手机可能丢失。在手机丢失的情况,获得手机的人可以很容易的利用短信找回密码的功能进行非常多的操作,包括修改用户登录密码、支付、转账等等。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的验证信息的获取方法及装置。

依据本发明的一个方面,提供一种验证信息的获取方法,包括:终端与网络设备协商用于对所述验证信息进行加解密的密钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;所述网络设备利用所述密钥对验证信息进行加密,并将加密的验证信息发送给所述终端;所述终端利用协商的密钥对加密的验证信息进行解密,获得验证信息;在所述目标应用程序执行特定服务过程中,利用所述验证信息验证终端或用户的身份或权限。

优选的,由所述终端上的所述目标应用程序执行所述与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密的步骤。

优选的,由所述终端上的安全应用程序执行与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密的步骤;所述终端与网络设备协商用于验证信息的密钥包括:所述安全应用程序与网络设备协商用于验证信息的密钥;在所述终端利用协商的密钥对加密的验证信息进行解密,获得验证信息之后,还包括:所述安全应用程序将所述验证信息提供给所述目标应用程序。

优选的,所述目标应用程序调用所述安全应用程序提供的接口,从所述安全应用程序获取所述验证信息。

优选的,所述方法还包括:所述安全应用程序验证所述目标应用程序的合法性,只有所述目标应用程序合法时,才将所述验证信息提供给所述目标应用程序。

优选的,所述安全应用程序验证所述目标应用程序的合法性包括:通过所述目标应用程序的签名判断所述目标应用程序是否合法,和/或,判断所述目标应用程序是否具有读取所述验证信息的权限。

优选的,所述判断所述目标应用程序是否合法包括:根据所述目标应用程序的签名判断所述目标应用程序是否属于安全应用程序,或者,根据所述目标应用程序的签名判断所述目标应用程序是否属于恶意应用程序,如果所述目标应用程序属于安全应用程序或者不属于恶意安全程序,则确定所述目标应用程序合法。

优选的,所述判断所述目标应用程序是否具有读取所述验证信息的权限包括:判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序,如果是,则确定所述目标应用程序具有读取所述验证信息的权限。

优选的,所述判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序包括:判断所述验证信息携带的标识是否与提供所述验证信息的网络设备对应。

优选的,在所述安全应用程序将所述验证信息提供给所述目标应用程序之前,还包括:获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;在用户输入的密码正确时,所述安全应用程序才将所述验证信息提供给所述目标应用程序。

优选的,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

优选的,由所述终端上的安全应用程序执行与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密的步骤;所述终端与网络设备协商用于验证信息的密钥包括:所述安全应用程序与网络设备协商用于验证信息的密钥;在所述终端利用协商的密钥对加密的验证信息进行解密,获得验证信息之后,还包括:

所述安全应用程序将解密后的验证信息展示给用户。

优选的,在所述安全应用程序将解密后的验证信息展示给用户之前,还包括:获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;在用户输入的密码正确时,所述安全应用程序才将所述验证信息展示给所述用户。

优选的,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

优选的,在所述网络设备利用所述密钥对验证信息进行加密之前,还包括:所述网络设备通过预先获得的有关所述终端验证信息的协商参数,获知所述终端支持密文验证信息。

优选的,所述密钥是指对称密钥,所述网络设备与所述终端使用同一个密钥对验证信息进行加密和解密;或者,所述密钥是指非对称密钥,所述网络设备使用公钥对验证信息进行加密,所述终端使用私钥对加密的验证信息进行解密。

优选的,所述终端通过短信、邮件或者即时通信工具的通信方式从所述网络设备获取所述加密的验证信息。

优选的,在所述终端从所述网络设备获取加密的验证信息之后,还包括:所述目标应用程序或者安全应用程序利用自身具有的访问所述通信方式的权限,直接访问所述通信方式获取所述加密的验证信息。

优选的,所述目标应用程序包括即时通信软件、支付软件或电商软件。

优选的,所述网络设备是指发送所述验证信息的服务器、网关或代理服务器。

依据本发明的另一个方面,提供一种验证信息的获取装置,其特征在于,包括:密钥协商单元,用于在终端与网络设备之间协商用于对验证信息进行加解密的密钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;加密验证信息获取单元,用于接收所述网络设备利用所述密钥对验证信息进行加密的验证信息;解密单元,用于利用协商的密钥对加密的验证信息进行解密,获得验证信息;服务执行单元,用于在所述目标应用程序执行特定服务过程中,利用所述验证信息验证终端或用户的身份或权限。

优选的,由所述目标应用程序执行所述与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密。

优选的,由所述终端上的安全应用程序执行与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密;所述密钥协商单元具体用于:利用所述安全应用程序与网络设备协商用于验证信息的密钥;所述装置还包括:验证信息提供单元,用于利用所述安全应用程序将所述验证信息提供给所述目标应用程序。

优选的,所述目标应用程序调用所述安全应用程序提供的接口,从所述安全应用程序获取所述验证信息。

优选的,所述装置还包括:目标合法性验证单元,用于利用所述安全应用程序验证所述目标应用程序的合法性;所述验证信息提供单元只有所述目标应用程序合法时,才将所述验证信息提供给所述目标应用程序。

优选的,所述目标合法性验证单元具体用于:通过所述目标应用程序的签名判断所述目标应用程序是否合法,和/或,判断所述目标应用程序是否具有读取所述验证信息的权限。

优选的,所述目标合法性验证单元具体用于:根据所述目标应用程序的签名判断所述目标应用程序是否属于安全应用程序,或者,根据所述目标应用程序的签名判断所述目标应用程序是否属于恶意应用程序,如果所述目标应用程序属于安全应用程序或者不属于恶意安全程序,则确定所述目标应用程序合法。

优选的,所述目标合法性验证单元具体用于:判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序,如果是,则确定所述目标应用程序具有读取所述验证信息的权限。

优选的,所述目标合法性验证单元具体用于:判断所述验证信息携带的标识是否与提供所述验证信息的网络设备对应。

优选的,还包括:密码验证单元,用于获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;所述验证信息提供单元在用户输入的密码正确时,才将所述验证信息提供给所述目标应用程序。

优选的,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

优选的,由所述终端上的安全应用程序执行与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密;所述密钥协商单元具体用于:利用所述安全应用程序与网络设备协商用于验证信息的密钥;所述装置还包括:验证信息展示单元,用于利用所述安全应用程序将解密后的验证信息展示给用户。

优选的,所述装置还包括:密码验证单元,用于获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;所述验证信息展示单元,在用户输入的密码正确时,才将所述验证信息展示给所述用户。

优选的,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

优选的,所述网络设备通过预先获得的有关所述终端验证信息的协商参数,获知所述终端支持密文验证信息。

优选的,所述密钥是指对称密钥,所述网络设备与所述应用程序使用同一个密钥对验证信息进行加密和解密;或者,所述密钥是指非对称密钥,所述网络设备使用公钥对验证信息进行加密,所述应用程序使用私钥对加密的验证信息进行解密。

优选的,所述终端通过短信、邮件或者即时通信工具的通信方式从所述网络设备获取所述加密的验证信息。

优选的,所述装置还包括:权限访问单元,用于支持所述应用程序利用自身具有的访问所述通信方式的权限,直接访问所述通信方式获取所述加密的验证信息。

优选的,所述目标应用程序包括即时通信软件、支付软件或电商软件。

优选的,所述网络设备是指发送所述验证信息的服务器、网关或代理服务器。

可见,本发明通过应用程序与网络设备之间的密钥协商,对验证信息加密处理,并且应用程序直接读取加密的验证信息,从而利用解密的验证信息进行业务等操作,也就是,只有这个应用程序才能对密文形式的验证信息进行解密,对于木马等恶意应用程序,即使能获取到验证信息,但由于验证信息是密文形式的,也无从利用,有效保证了在应用程序上进行支付等业务操作的安全性。

另外,本发明对于gsm(globalsystemformobilecommunications,全球移动通信系统)信号窃听,sim(subscriberidentitymodule,客户识别模块)卡复制等攻击手段具有很好的防御效果,因为通过本发明的加密验证信息方式,gsm信号窃听、sim卡复制等方案的攻击者都只能获取到密文,是没办法得到明文的,当然也就无法继续攻击。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的验证信息的获取方法流程图;

图2示出了根据本发明一个实施例的验证信息的获取方法实例一流程图;

图3示出了根据本发明一个实施例的验证信息的获取方法实例二流程图;

图4示出了根据本发明一个实施例的验证信息的获取方法实例三流程图以及

图5示出了根据本发明一个实施例的验证信息的获取装置结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如前所述,现有技术中例如采用短信获取验证信息是最后一道安全措施,但是,由于恶意木马可以读取短信或者在手机丢失情况下,这最后一道所谓的安全的手机短信验证并不是那么安全。这两种情况的核心问题就在于任意应用程序(或称为:软件、app)和人,都有可能直接阅读验证码短信,从而在手机上有木马,或者手机丢失的情况下,被木马或获得手机的人得到验证码。

从上述问题入手,本发明提出了有效的解决方案。概括而言,本发明提供的方案是在向服务器请求下行短信验证码时附加参数,告知服务器当前手机支持密文短信。服务器由此通过短信通道下发加密过的信息,另外,可以设置该信息只有特定应用程序可以解密,通过此手段以达到保障注册帐号或手机支付安全的目的。

参见图1,为本发明实施例提供的验证信息的获取方法的流程图。包括以下步骤:

s101:终端与网络设备协商用于对验证信息进行加解密的密钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;

s102:网络设备利用密钥对验证信息进行加密,并将加密的验证信息发送给终端;

s103:终端利用协商的密钥对加密的验证信息进行解密,获得验证信息;

s104:在目标应用程序执行特定服务过程中,利用验证信息验证终端或用户的身份或权限。

本发明中,终端是指具有通信功能的终端,例如,智能手机等。网络设备是指发送用于目标应用程序的业务的验证信息的服务器、网关或代理服务器。目标应用程序是指需要对验证信息进行验证从而进行服务(业务)的应用程序,包括但不限于通信软件、支付软件或电商软件,例如现在流行的支付宝软件、微信等等。在目标应用程序上执行特定服务是指利用验证信息通过终端或者用户的身份或权限的验证之后,在目标应用程序上执行支付、登录、下载等业务。上述步骤s101和s103可以由目标应用程序执行,也可以由安全应用程序执行,后续实施例会有详细介绍。

可以理解的是,验证信息就是目标应用程序服务器发起的用于在目标应用程序上进行用户身份验证的信息。验证信息的获取方式不限,现在常用的是通过短信方式获取验证信息,但是本发明对此不作限制,对于通过邮件或者即时通信工具等方式获取验证信息的方式都是可行的。

本发明实施例一个实现条件在于,应用程序是具有访问获取验证信息的通信方式的权限的,例如,终端通过短信接收验证信息,那么,应用程序就具有访问验证短信的权限,此后,应用程序利用自身具有的访问短信的权限,直接访问短信获取加密的验证信息。由此,才能执行步骤s103,对加密的短信进行解密,从而最终获得解密的验证信息。

本发明方案中,通过应用程序和网络设备之间的密钥协商,确定密钥,并利用协商的密钥对验证信息进行加密。本领域技术人员了解,密钥可分为对称密钥和非对称密钥。对称密钥加密,又称私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。非对称密钥加密系统,又称公钥密钥加密。它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥或称为公钥,另一个由用户自己秘密保存,即私用密钥或称为私钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。本发明中,密钥可以是对称密钥,也可以是非对称密钥。当采用对称密钥方式时,网络设备与应用程序使用同一个密钥对验证信息进行加密和解密;当采用非对称密钥时,网络设备使用公钥对验证信息进行加密,应用程序使用私钥对加密的验证信息进行解密。

可见,本发明通过应用程序与网络设备之间的密钥协商,对验证信息加密处理,并且应用程序直接读取加密的验证信息,从而利用解密的验证信息进行业务等操作,也就是,只有这个应用程序才能对密文形式的验证信息进行解密,对于木马等恶意应用程序,即使能获取到验证信息,但由于验证信息是密文形式的,也无从利用,有效保证了在应用程序上进行支付等业务操作的安全性。

另外,本发明对于gsm信号窃听,sim卡复制等攻击手段具有很好的防御效果,因为通过本发明的加密验证信息方式,gsm信号窃听、sim卡复制等方案的攻击者都只能获取到密文,是没办法得到明文的,当然也就无法继续攻击。

下面以几个实例对本发明实施例进行详细介绍。

实例一

参见图2,为实例一提供的验证信息的获取方法的流程图,包括:

s201:终端的目标应用程序与网络设备协商用于验证信息的密钥;

s202:网络设备利用密钥对验证信息进行加密,并将加密的验证信息发送给终端;

s203:目标应用程序利用协商的密钥对加密的验证信息进行解密,获得验证信息。

其中,目标应用程序是指需要验证所述验证信息从而进行业务的应用程序;那么可以理解,网络设备是指发送用于目标应用程序的业务的验证信息的服务器、网关或代理服务器。

下面以通过手机短信方式获取验证信息的例子进行说明。

首先,安装在用户手机的app(目标app)和网络设备基于某种方式协商一个密钥。网络设备是指位于网络侧的与验证信息对应的功能实体,可有多种形式。具体地,app可以与app服务器直接协商密钥、发送密文短信,也可以与短信网关协商密钥以及发送密文短信,还可以通过短信网关的代理服务器,由代理服务器负责协商密钥及发送密文短信。本领域技术人员了解,短信业务是由运营商控制的,那么,如果app服务器要给终端发送app业务的验证短信,一般都是借助运营商的短信业务线路进行发送,因此,一般情况下,需要借助短信网关或者短信网关代理服务器进行密钥协商,当然也可以如上所述的通过与app服务器进行密钥协商。

然后,网络设备给用户手机发送短信时用协商的密钥进行加密。

最后,用户在手机上收到加密的验证短信,该app在后台自动获取该短信并解密获得真正的验证码。

例如,本实例中的app是指支付宝软件,那么,手机上的支付宝软件首先需要与网络设备(支付宝服务器、短信网关或者短信网关代理服务器)协商验证码密钥;在用户进行支付等业务时,需要验证码,此时,网络设备利用预先约定的密钥对验证码进行加密并发送到该用户手机上;最后,用户在手机上通过短信接收到的是一条密文形式的验证短信,而手机上的支付宝软件从后台直接读取该密文短信,并利用预先约定的密钥进行读取,获取到解密的验证码,最终进行验证并完成业务。

可见,因为手机收到的是加密短信,除了目标app是无法读取验证信息的,有效地解决了验证短信被木马等恶意软件窃取的问题。

实例二

参见图3,为实例二提供的验证信息的获取方法的流程图,包括:

s301:安全应用程序与网络设备协商用于验证信息的密钥,其中,验证信息是在目标应用程序的业务中需要被验证的信息;

s302:网络设备利用密钥对验证信息进行加密,并将加密的验证信息发送给终端;

s303:安全应用程序利用协商的密钥对加密的验证信息进行解密,获得验证信息;

s304:安全应用程序将验证信息提供给所述目标应用程序,和/或,安全应用程序将验证信息展示给用户。

其中,目标应用程序是指需要验证所述验证信息从而进行业务的应用程序;那么可以理解,网络设备是指发送用于目标应用程序的业务的验证信息的服务器、网关或代理服务器。

该实例二与上述实例一区别在于,通过引入一个安全应用程序,为各个目标应用程序统一管理验证信息。具体的,由这个安全应用程序与网络设备进行密钥协商,并且仅由这个安全应用程序可以读取并解密验证信息,并且由这个安全应用程序将解密的验证信息提供给目标应用程序。

下面以通过手机短信方式获取验证信息的例子进行说明。

与实例一区别在于,用户手机上需要安装一个安全app。

首先,安全app和网络设备进行密钥协商。网络设备是指位于网络侧的与验证信息对应的功能实体,可有多种形式。具体地,安全app可以与目标app服务器直接协商密钥、发送密文短信,也可以与短信网关协商密钥以及发送密文短信,还可以通过短信网关的代理服务器,由代理服务器负责协商密钥及发送密文短信。本领域技术人员了解,短信业务是由运营商控制的,那么,如果目标app服务器要给终端发送目标app业务的验证短信,一般都是借助运营商的短信业务线路进行发送,因此,一般情况下,需要借助短信网关或者短信网关代理服务器进行密钥协商,当然也可以如上所述的通过与目标app服务器进行密钥协商。

然后,网络设备给用户手机发送短信时用协商的密钥进行加密。

接着,用户在手机上收到加密的验证短信,仅有这个安全app可以解密并且显示给用户。

最后,目标app通过安全app提供的接口获得解密的验证短信。

可见,其他app如果需要读取对应的短信,则不再通过手机操作系统的短信接口获取短信,而是通过该安全app提供的接口获取。安全app负责验证试图调用该接口的app的合法性(验证该app的签名,以及判断该短信的确是属于该app。比如仅有微信app可以读微信服务器发来的验证码短信),只有目标app合法时,才将验证信息提供给目标app。

其中,安全app验证目标app的合法性包括:通过目标app的签名判断目标app是否合法,和/或,判断目标app是否具有读取验证信息的权限。具体的,判断目标app是否合法包括:根据目标app的签名判断目标app是否属于安全app(白app),或者,根据所述目标app的签名判断目标app是否属于恶意app(黑app),如果目标app属于安全app或者不属于恶意app,则确定目标app合法。可以理解,白app和黑app名单是预先获取并存储在手机上的,获取方式可以是手动设置或者网络抓取等等。具体的,判断目标app是否具有读取验证信息的权限包括:判断目标app是否是与提供验证信息的网络设备对应的应用程序,如果是,则确定目标app具有读取验证信息的权限。具体地,通过判断验证信息携带的标识是否与提供验证信息的网络设备对应。比如,通过发送短信的号码进行判断。

例如,本实例中的目标app是指微信软件,那么,手机上的安全app(例如,360安全通讯录)首先需要与网络设备(微信服务器、短信网关或者短信网关代理服务器)协商验证码密钥;在用户进行支付等业务时,需要验证码,此时,网络设备利用预先约定的密钥对验证码进行加密并发送到该用户手机上;接着,用户在手机上通过短信接收到的是一条密文形式的验证短信,而手机上的安全app从后台直接读取该密文短信,并利用预先约定的密钥进行读取,获取到解密的验证码,并将明文的验证码展示给用户;最后,如果需要,微信从安全app提供的接口获取到该明文的验证码。

可见,因为手机收到的是加密短信,除了安全app是无法读取验证信息的,而且安全app是在验证目标app合法性基础上才向app提供验证短信,有效地解决了验证短信被木马等恶意软件窃取的问题。而且,与实例一相比,本实例二还可以向用户展示明文的验证信息,这就可以满足通过pc浏览器发送验证码的情况,也就是,适用于在pc机上通过目标app进行操作的情况。

实例三

参见图4,为实例三提供的验证信息的获取方法的流程图,包括:

s401:安全应用程序与网络设备协商用于验证信息的密钥,其中,验证信息是在目标应用程序的业务中需要被验证的信息;

s402:网络设备利用密钥对验证信息进行加密,并将加密的验证信息发送给终端;

s403:安全应用程序利用协商的密钥对加密的验证信息进行解密,获得验证信息;

s404:获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;

s405:在用户输入密码正确情况下,安全应用程序将验证信息提供给目标应用程序,和/或,安全应用程序将验证信息展示给用户。

其中,目标应用程序是指需要验证所述验证信息从而进行业务的应用程序;那么可以理解,网络设备是指发送用于目标应用程序的业务的验证信息的服务器、网关或代理服务器。

该实例三与上述实例二类似,通过引入一个安全应用程序,为各个目标应用程序统一管理验证信息。具体的,由这个安全应用程序与网络设备进行密钥协商,并且仅由这个安全应用程序可以读取并解密验证信息,并且由这个安全应用程序将解密的验证信息提供给目标应用程序。与实例二区别在于,在向用户展示验证信息之前或者在向目标应用程序提供验证信息之前,需要用户输入与安全应用程序事先约定的密码。

下面以通过手机短信方式获取验证信息的例子进行说明。

用户手机上需要安装一个安全app。

首先,安全app和网络设备进行密钥协商。网络设备是指位于网络侧的与验证信息对应的功能实体,可有多种形式。具体地,安全app可以与目标app服务器直接协商密钥、发送密文短信,也可以与短信网关协商密钥以及发送密文短信,还可以通过短信网关的代理服务器,由代理服务器负责协商密钥及发送密文短信。本领域技术人员了解,短信业务是由运营商控制的,那么,如果目标app服务器要给终端发送目标app业务的验证短信,一般都是借助运营商的短信业务线路进行发送,因此,一般情况下,需要借助短信网关或者短信网关代理服务器进行密钥协商,当然也可以如上所述的通过与目标app服务器进行密钥协商。

然后,网络设备给用户手机发送短信时用协商的密钥进行加密。

接着,用户在手机上收到加密的验证短信,安全app进行解密。

继而,用户在需要查看解密的验证短信时,或者目标app需要读取该验证短信时,需要用户输入与安全app预先约定的密码。

最后,目标app向用户展示解密的验证短信,或者,目标app通过安全app提供的接口获得解密的验证短信。

可见,其他app如果需要读取对应的短信,则不再通过手机操作系统的短信接口获取短信,而是通过该安全app提供的接口获取。安全app负责验证试图调用该接口的app的合法性(验证该app的签名,以及判断该短信的确是属于该app。比如仅有微信app可以读微信服务器发来的验证码短信),只有目标app合法时,才将验证信息提供给目标app。

其中,安全app验证目标app的合法性包括:通过目标app的签名判断目标app是否合法,和/或,判断目标app是否具有读取验证信息的权限。具体的,判断目标app是否合法包括:根据目标app的签名判断目标app是否属于安全app(白app),或者,根据所述目标app的签名判断目标app是否属于恶意app(黑app),如果目标app属于安全app或者不属于恶意app,则确定目标app合法。可以理解,白app和黑app名单是预先获取并存储在手机上的,获取方式可以是手动设置或者网络抓取等等。具体的,判断目标app是否具有读取验证信息的权限包括:判断目标app是否是与提供验证信息的网络设备对应的应用程序,如果是,则确定目标app具有读取验证信息的权限。具体地,通过判断验证信息携带的标识是否与提供验证信息的网络设备对应。比如,通过发送短信的号码进行判断。

例如,本实例中的目标app是指亚马逊链接到的银行支付平台,那么,手机上的安全app(例如360安全通讯录)首先需要与网络设备(银行支付平台服务器、短信网关或者短信网关代理服务器)协商验证码密钥;在用户进行支付等业务时,需要验证码,此时,网络设备利用预先约定的密钥对验证码进行加密并发送到该用户手机上;接着,用户在手机上通过短信接收到的是一条密文形式的验证短信,而手机上的安全app从后台直接读取该密文短信,并利用预先约定的密钥进行读取,获取到解密的验证码;在用户输入正确的密码后,将明文的验证码展示给用户;最后,如果需要,银行支付平台从安全app提供的接口获取到该明文的验证码。

可见,因为手机收到的是加密短信,除了安全app是无法读取验证信息的,而且安全app是在验证目标app合法性基础上才向app提供验证短信,有效地解决了验证短信被木马等恶意软件窃取的问题。而且,同实例二类似,实例三还可以向用户展示明文的验证信息,这就可以满足通过pc浏览器发送验证码的情况,也就是,适用于在pc机上通过目标app进行操作的情况。另外,与实例二相比,本实例三在用户输入正确密码之后才向用户展示验证信息或者提供给目标app,也就是又进一步保证了验证信息的安全性,通过密文验证信息以及用户密码的双重保险,即使在手机丢失的情况下,也能保证验证信息的安全性。

与上述方法相对应,本发明还提供一种验证信息的获取装置。该装置可以通过硬件、软件或软硬件结合方式实现。该装置可以是指终端内部的功能模块,也可以是指终端本身,只要终端包括实现该装置的功能即可。参见图5,该装置包括:

密钥协商单元501,用于在终端与网络设备之间协商用于对验证信息进行加解密的密钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;

加密验证信息获取单元502,用于接收所述网络设备利用所述密钥对验证信息进行加密的验证信息;

解密单元503,用于利用协商的密钥对加密的验证信息进行解密,获得验证信息;

服务执行单元504,用于在所述目标应用程序执行特定服务过程中,利用所述验证信息验证终端或用户的身份或权限。

优选的,一种方案中,由所述目标应用程序执行密钥协商单元501以及解密单元503的功能,即,由所述目标应用程序执行所述与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密。

优选地,另一种方案中,由一个安全应用程序执行密钥协商单元501以及解密单元503的功能,即,由安全应用程序执行所述与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密;所述密钥协商单元501具体用于:利用所述安全应用程序与网络设备协商用于验证信息的密钥,其中,所述验证信息是在目标应用程序的业务中需要被验证的信息;所述装置还包括:验证信息提供单元505,用于利用所述安全应用程序将所述验证信息提供给所述目标应用程序。

其中,所述目标应用程序调用所述安全应用程序提供的接口,从所述安全应用程序获取所述验证信息。

可选的,装置还包括:目标合法性验证单元506,用于利用所述安全应用程序验证所述目标应用程序的合法性;此情况下,所述验证信息提供单元505只有所述目标应用程序合法时,才将所述验证信息提供给所述目标应用程序。

其中,所述目标合法性验证单元506具体用于:通过所述目标应用程序的签名判断所述目标应用程序是否合法,和/或,判断所述目标应用程序是否具有读取所述验证信息的权限。

具体地,所述目标合法性验证单元506具体用于:根据所述目标应用程序的签名判断所述目标应用程序是否属于安全应用程序,或者,根据所述目标应用程序的签名判断所述目标应用程序是否属于恶意应用程序,如果所述目标应用程序属于安全应用程序或者不属于恶意安全程序,则确定所述目标应用程序合法。

具体地,所述目标合法性验证单元506具体用于:判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序,如果是,则确定所述目标应用程序具有读取所述验证信息的权限。

具体地,所述目标合法性验证单元506具体用于:判断所述验证信息携带的标识是否与提供所述验证信息的网络设备对应。

优选地,另一种方案中,装置还包括:密码验证单元507,用于获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;所述验证信息提供单元505在用户输入的密码正确时,才将所述验证信息提供给所述目标应用程序。

其中,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

优选地,另一种方案中,所述应用程序是指安全应用程序;所述密钥协商单元501具体用于:利用所述安全应用程序与网络设备协商用于验证信息的密钥;所述装置还包括:验证信息展示单元508,用于利用所述安全应用程序将解密后的验证信息展示给用户。

可选的,所述装置还包括:密码验证单元507,用于获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;所述验证信息展示单元508,在用户输入的密码正确时,才将所述验证信息展示给所述用户。

其中,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

其中,所述目标应用程序包括即时通信软件、支付软件或电商软件。

其中,所述网络设备是指发送验证信息的服务器、网关或代理服务器。

其中,所述网络设备通过预先获得的有关所述终端验证信息的协商参数,获知所述终端支持密文验证信息。

其中,所述密钥是指对称密钥,所述网络设备与所述应用程序使用同一个密钥对验证信息进行加密和解密;或者,所述密钥是指非对称密钥,所述网络设备使用公钥对验证信息进行加密,所述应用程序使用私钥对加密的验证信息进行解密。

其中,所述终端通过短信、邮件或者即时通信工具的通信方式从所述网络设备获取所述加密的验证信息。

优选地,所述装置还包括:权限访问单元509,用于支持所述应用程序利用自身具有的访问所述通信方式的权限,直接访问所述通信方式获取所述加密的验证信息。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的验证信息的获取装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明提供如下方案:

a1、一种验证信息的获取方法,包括:

终端与网络设备协商用于对所述验证信息进行加解密的密钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;

所述网络设备利用所述密钥对验证信息进行加密,并将加密的验证信息发送给所述终端;

所述终端利用协商的密钥对加密的验证信息进行解密,获得验证信息;

在所述目标应用程序执行特定服务过程中,利用所述验证信息验证终端或用户的身份或权限。

a2、如a1所述的方法,由所述终端上的所述目标应用程序执行所述与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密的步骤。

a3、如a1所述的方法,由所述终端上的安全应用程序执行与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密的步骤;

所述终端与网络设备协商用于验证信息的密钥包括:

所述安全应用程序与网络设备协商用于验证信息的密钥;

在所述终端利用协商的密钥对加密的验证信息进行解密,获得验证信息之后,还包括:

所述安全应用程序将所述验证信息提供给所述目标应用程序。

a4、如a3所述的方法,所述目标应用程序调用所述安全应用程序提供的接口,从所述安全应用程序获取所述验证信息。

a5、如a3所述的方法,所述方法还包括:

所述安全应用程序验证所述目标应用程序的合法性,只有所述目标应用程序合法时,才将所述验证信息提供给所述目标应用程序。

a6、如a5所述的方法,所述安全应用程序验证所述目标应用程序的合法性包括:

通过所述目标应用程序的签名判断所述目标应用程序是否合法,和/或,判断所述目标应用程序是否具有读取所述验证信息的权限。

a7、如a6所述的方法,所述判断所述目标应用程序是否合法包括:

根据所述目标应用程序的签名判断所述目标应用程序是否属于安全应用程序,或者,根据所述目标应用程序的签名判断所述目标应用程序是否属于恶意应用程序,如果所述目标应用程序属于安全应用程序或者不属于恶意安全程序,则确定所述目标应用程序合法。

a8、如a6所述的方法,所述判断所述目标应用程序是否具有读取所述验证信息的权限包括:

判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序,如果是,则确定所述目标应用程序具有读取所述验证信息的权限。

a9、如a8所述的方法,所述判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序包括:

判断所述验证信息携带的标识是否与提供所述验证信息的网络设备对应。

a10、如a3所述的方法,在所述安全应用程序将所述验证信息提供给所述目标应用程序之前,还包括:

获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;

在用户输入的密码正确时,所述安全应用程序才将所述验证信息提供给所述目标应用程序。

a11、a10所述的方法,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

a12、如a1所述的方法,由所述终端上的安全应用程序执行与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密的步骤;

所述终端与网络设备协商用于验证信息的密钥包括:

所述安全应用程序与网络设备协商用于验证信息的密钥;

在所述终端利用协商的密钥对加密的验证信息进行解密,获得验证信息之后,还包括:

所述安全应用程序将解密后的验证信息展示给用户。

a13、如a12所述的方法,在所述安全应用程序将解密后的验证信息展示给用户之前,还包括:

获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;

在用户输入的密码正确时,所述安全应用程序才将所述验证信息展示给所述用户。

a14、如a13所述的方法,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

a15、如a1所述的方法,在所述网络设备利用所述密钥对验证信息进行加密之前,还包括:

所述网络设备通过预先获得的有关所述终端验证信息的协商参数,获知所述终端支持密文验证信息。

a16、如权利要求1所述的方法,

所述密钥是指对称密钥,所述网络设备与所述终端使用同一个密钥对验证信息进行加密和解密;或者,

所述密钥是指非对称密钥,所述网络设备使用公钥对验证信息进行加密,所述终端使用私钥对加密的验证信息进行解密。

a17、如a1所述的方法,所述终端通过短信、邮件或者即时通信工具的通信方式从所述网络设备获取所述加密的验证信息。

a18、如a17所述的方法,在所述终端从所述网络设备获取加密的验证信息之后,还包括:

所述目标应用程序或者安全应用程序利用自身具有的访问所述通信方式的权限,直接访问所述通信方式获取所述加密的验证信息。

a19、如a1-a18所述的方法,所述目标应用程序包括即时通信软件、支付软件或电商软件。

a20、如a1-a18任一项所述的方法,所述网络设备是指发送所述验证信息的服务器、网关或代理服务器。

b21、一种验证信息的获取装置,包括:

密钥协商单元,用于在终端与网络设备之间协商用于对验证信息进行加解密的密钥,其中,所述验证信息是用于验证在目标应用程序执行特定服务过程中终端或用户的身份或权限的消息;

加密验证信息获取单元,用于接收所述网络设备利用所述密钥对验证信息进行加密的验证信息;

解密单元,用于利用协商的密钥对加密的验证信息进行解密,获得验证信息;

服务执行单元,用于在所述目标应用程序执行特定服务过程中,利用所述验证信息验证终端或用户的身份或权限。

b22、如b21所述的装置,由所述目标应用程序执行所述与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密。

b23、如b21所述的装置,由所述终端上的安全应用程序执行与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密;

所述密钥协商单元具体用于:利用所述安全应用程序与网络设备协商用于验证信息的密钥;

所述装置还包括:

验证信息提供单元,用于利用所述安全应用程序将所述验证信息提供给所述目标应用程序。

b24、如b23所述的装置,所述目标应用程序调用所述安全应用程序提供的接口,从所述安全应用程序获取所述验证信息。

b25、如b23所述的装置,所述装置还包括:

目标合法性验证单元,用于利用所述安全应用程序验证所述目标应用程序的合法性;

所述验证信息提供单元只有所述目标应用程序合法时,才将所述验证信息提供给所述目标应用程序。

b26、如b25所述的装置,所述目标合法性验证单元具体用于:通过所述目标应用程序的签名判断所述目标应用程序是否合法,和/或,判断所述目标应用程序是否具有读取所述验证信息的权限。

b27、如b26所述的装置,所述目标合法性验证单元具体用于:根据所述目标应用程序的签名判断所述目标应用程序是否属于安全应用程序,或者,根据所述目标应用程序的签名判断所述目标应用程序是否属于恶意应用程序,如果所述目标应用程序属于安全应用程序或者不属于恶意安全程序,则确定所述目标应用程序合法。

b28、如b26所述的装置,所述目标合法性验证单元具体用于:判断所述目标应用程序是否是与提供所述验证信息的网络设备对应的应用程序,如果是,则确定所述目标应用程序具有读取所述验证信息的权限。

b29、如b28所述的装置,所述目标合法性验证单元具体用于:判断所述验证信息携带的标识是否与提供所述验证信息的网络设备对应。

b30、如b23所述的装置,还包括:

密码验证单元,用于获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;

所述验证信息提供单元在用户输入的密码正确时,才将所述验证信息提供给所述目标应用程序。

b31、如b30所述的装置,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

b32、如b21所述的装置,由所述终端上的安全应用程序执行与网络设备协商用于验证信息的密钥以及所述利用协商的密钥对加密的验证信息进行解密;

所述密钥协商单元具体用于:利用所述安全应用程序与网络设备协商用于验证信息的密钥;

所述装置还包括:验证信息展示单元,用于利用所述安全应用程序将解密后的验证信息展示给用户。

b33、如b32所述的装置,所述装置还包括:

密码验证单元,用于获取用户输入的密码,根据与用户预先约定密码确定用户输入的密码是否正确;

所述验证信息展示单元,在用户输入的密码正确时,才将所述验证信息展示给所述用户。

b34、如b33所述的装置,所述与用户预先约定密码是指安全应用程序与用户之间约定的密码。

b35、如b21所述的装置,所述网络设备通过预先获得的有关所述终端验证信息的协商参数,获知所述终端支持密文验证信息。

b36、如b21所述的装置,

所述密钥是指对称密钥,所述网络设备与所述应用程序使用同一个密钥对验证信息进行加密和解密;或者,

所述密钥是指非对称密钥,所述网络设备使用公钥对验证信息进行加密,所述应用程序使用私钥对加密的验证信息进行解密。

b37、如b21所述的装置,所述终端通过短信、邮件或者即时通信工具的通信方式从所述网络设备获取所述加密的验证信息。

b38、如b37所述的装置,所述装置还包括:权限访问单元,用于支持所述应用程序利用自身具有的访问所述通信方式的权限,直接访问所述通信方式获取所述加密的验证信息。

b39、如b21-b38所述的装置,所述目标应用程序包括即时通信软件、支付软件或电商软件。

b40、如b21-b38任一项所述的装置,所述网络设备是指发送所述验证信息的服务器、网关或代理服务器。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1