CN109525565B - 一种针对短信拦截攻击的防御方法及*** - Google Patents
一种针对短信拦截攻击的防御方法及*** Download PDFInfo
- Publication number
- CN109525565B CN109525565B CN201811294086.8A CN201811294086A CN109525565B CN 109525565 B CN109525565 B CN 109525565B CN 201811294086 A CN201811294086 A CN 201811294086A CN 109525565 B CN109525565 B CN 109525565B
- Authority
- CN
- China
- Prior art keywords
- user
- key
- application server
- application
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0464—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种针对短信拦截攻击的防御方法、***及设备,本发明实施例为用户设置对应应用标识及用户标识的专用共享密钥,所述专用共享密钥是基于用户的主密钥及应用服务器发送的随机数生成的,在用户接收到应用服务器通过通信网络发送的携带验证码的短信后,采用对应于应用标识及用户标识的专用共享密钥,对验证码加密后,再发送给应用服务器,由应用服务器对加密后的验证码采用所述专用共享密钥解密后,再认证。因此,本发明实施例在不降低用户体验的情况下针对短信拦截攻击进行防御,保证验证码认证的安全性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种针对短信拦截攻击的防御方法及***。
背景技术
随着移动互联网技术的发展,越来越多的应用在用户使用的各种移动设备上实现。用户的各种移动设备不仅仅具有通信功能,还可以实现互联网提供的各种类型应用。用户通过移动设备使用应用服务器提供的某种应用时,特别是对于诸如涉及金融等安全性比较高的应用,常常需要认证。在认证时,应用服务器采用的方式是先对用户身份信息,诸如用户账号及密码进行认证,然后应用服务器再通过通信网络将验证码携带在短信中发送给用户,接收用户通过互联网返回的验证码并认证是否与发送的相同,通过后,提供应用服务;否则,不提供应用服务。
但是,采用这种方式认证用户存在问题,攻击者可以对应用服务器发送给用户的短信进行拦截,以获取携带的验证码,发送给互联网络侧提供的应用服务器,进行验证码验证。在获取验证码之前,攻击者还可以非法获取到用户身份信息,仿冒用户进行身份认证,从而达到假冒用户接受应用的服务目的。
举一个具体例子,图1为现有技术提供的攻击者假冒用户进行应用验证的方法流程图,以应用为银行提供的金融应用举例说明,其具体步骤为:
步骤101、攻击设备设置并发布应用的木马程序,被感染的计算机设备的用户身份信息被窃取;
在本步骤中,计算机设备可以为用户使用的移动终端或其他可以接入互联网网络的设备,比如计算机或便携式终端设备等;
在本步骤中,用户身份信息包括账户登录密码、电话号码及账户余额等;
在本步骤中,应用提供的该服务是银行转账,攻击者在进行恶意转账时会遇到阻碍,金融应用服务器会以短信形式发送给用户用于授权账户之间转账的一次性验证码;
步骤102、攻击设备通过互联网使用用户身份信息接入到应用服务器,请求应用服务时,应用服务器基于用户的电话号码向用户发送验证码;
步骤103、攻击设备通过通信网络建立重定向连接,根据用户的电话号码将短信重定向到攻击设备上,截获到应用服务器发送的携带验证码的短信;
在本步骤中,短信是采用通信网络中的7号信令(SS7)发送的,攻击设备通过通信网络获取了用户的访问权限,采用通信网络中的7号信令漏洞将发送给用户的包含验证码的短信重定向到了攻击设备上;
步骤104、攻击设备将拦截到的验证码通过互联网络发送应用服务器验证通过,应用服务器提供攻击设备所请求的金融服务;
在本步骤中,应用服务器对假冒用户的攻击设备验证通过后,就可以将用户在应用账号中的钱采用转账形式转走。
目前,为了防止上述问题的发生,可以采用对短信进行加密的方式,以防御攻击者截获验证码并认证的过程。比如,在用户使用的计算机设备上设置证书,然后对应用服务器通过通信网络发送给用户的承载验证码的短信进行加密,然后用户使用的计算机设备基于设置的证书对接收的短信进行解密后,获取到验证码。
但是,采用这种方式防御短信被拦截存在缺陷:证书部署困难,无法得到广泛应用,只有部分对安全要求很高的用户使用的计算机设备才会部署证书,而这种防御短信被拦截的安全性是以显著降低用户体验为代价的;在实现中缺乏标准化接口用于具备证书的设备和用户使用的计算机设备之间的交互,完成安装,具备证书的设备兼容性差,携带不便,导致用户体验度不好,很难应用于短信加密服务;对短信进行加密依赖于通信网络提供商,通信网络提供商没有商业的动力来部署短信加密服务过程。
发明内容
有鉴于此,本发明实施例提供一种针对短信拦截攻击的防御方法,该方法能够在不降低用户体验的情况下针对短信拦截攻击进行防御,保证验证码认证的安全性。
本发明实施例还提供一种针对短信拦截攻击的防御***,该***能够在不降低用户体验的情况下对针短信拦截攻击进行防御,保证验证码认证的安全性。
根据上述目的,本发明是这样实现的:
一种针对短信拦截攻击的防御方法,该方法包括:
用户使用的设备从应用服务器接收随机数,基于随机数及用户的主密钥,生成专用共享密钥,发送给应用服务器存储;
用户使用的设备在进行用户认证时,通过通信网络从应用服务器接收携带验证码的短信,将所述验证码采用所述专用共享密钥加密后,发送给应用服务器,以使应用服务器采用存储的专用共享密钥对所述验证码进行解密后,认证。
一种针对短信拦截攻击的防御***,包括:应用服务器及用户使用的设备,其中,
应用服务器,用于发送随机数给用户使用的设备,接收并存储用户使用的设备发送的专用共享密钥;通过通信网络发送携带验证码的短信;接收所述加密验证码,采用存储的专用共享密钥进行解密,得到验证码进行认证;
用户使用的设备,用于从应用服务器接收随机数,基于随机数及用户的主密钥,生成专用共享密钥,发送给应用服务器;在进行用户认证时,通过通信网络从应用服务器接收携带验证码的短信,将所述验证码采用所述专用共享密钥加密后,通过互联网发送给应用服务器。
由上述方案可以看出,本发明实施例为用户设置对应应用标识及用户标识的专用共享密钥,所述专用共享密钥是基于用户的主密钥及应用服务器发送的随机数生成的,在用户接收到应用服务器通过通信网络发送的携带验证码的短信后,采用对应于应用标识及用户标识的专用共享密钥,对验证码加密后,再发送给应用服务器,由应用服务器对加密后的验证码采用所述专用共享密钥解密后,再认证。这样,攻击者即使通过7号信令漏洞拦截到发送给用户的携带验证码的短信,由于没有获取到为用户设置的所述专用共享密钥,无法向应用服务器发送加密的验证码,也无法解密且认证通过,所以可以成功针对短信拦截攻击进行防御,保证验证码认证的安全性;更进一步地,用户使用的设备不需要安装证书且通信网络提供商也不需要对短信进行加密,所以容易实现,不会降低用户体验。
附图说明
图1为现有技术提供的攻击者假冒用户进行应用验证的方法流程图;
图2为本发明实施例提供的针对短信拦截攻击的防御方法流程图;
图3为本发明实施例提供的针对短信拦截攻击的防御***结构示意图;
图4为本发明实施例提供的设置用户的专用共享密钥方法流程图;
图5为本发明实施例提供的专用共享密钥交换的方法流程图;
图6为本发明实施例提供的专用共享密钥恢复的方法流程图;
图7为本发明实施例提供的对某一用户设备的专用共享密钥Ka管理结构示意图;
图8为本发明实施例提供的对某一用户设备的专用共享密钥Ka管理方法流程图;
图9为本发明实施例提供的保护专用共享密钥Ka的方法流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
从背景技术可以看出,应用采用短信携带的验证码进行验证方式,依赖于通信网络的安全。然而,随着通信网络管制的放开,7号信令的固有缺陷会导致采用7号信令发送的短信的安全性无法保证,只要获取到用户的访问权限,就可以截获发送给用户的短信。通信网络提供商在通信网络中架设防火墙,虽然可以在一定程度上缓解此类威胁,但是无法根除这种威胁。另一方面,应用服务器采用短信携带的验证码对用户进行验证方式是一种使用最广泛且最方便,不会降低用户体验度的验证方法。而一些更安全的用户验证方法,是以用户体验度降低为代价的,在实现中导致这些用户验证方法无法被广泛应用,而只能应用于一些对安全有更高要求的特定场景。
因此,本发明实施例为用户设置对应应用标识及用户标识的专用共享密钥,所述专用共享密钥是基于用户的主密钥及应用服务器发送的随机数生成的,在用户接收到应用服务器通过通信网络发送的携带验证码的短信后,采用对应于应用标识及用户标识的专用共享密钥,对验证码加密后,再发送给应用服务器,由应用服务器对加密后的验证码采用所述专用共享密钥解密后,再认证。这样,攻击者即使通过7号信令漏洞拦截到发送给用户的携带验证码的短信,由于没有获取到为用户设置的所述专用共享密钥,无法向应用服务器发送加密的验证码,也无法解密且认证通过,所以可以成功针对短信拦截攻击进行防御,保证验证码认证的安全性;更进一步地,用户使用的设备不需要安装证书且通信网络提供商也不需要对短信进行加密,所以容易实现,不会降低用户体验。
图2为本发明实施例提供的针对短信拦截攻击的防御方法流程图,其具体步骤为:
步骤201、用户使用的设备从应用服务器接收随机数,基于随机数及用户的主密钥,生成对应于应用标识及用户标识的专用共享密钥,发送给应用服务器;
在本步骤中,所述专用共享密钥为DS(Device Secret);
步骤202、用户使用的设备在进行用户认证时,通过通信网络从应用服务器接收携带验证码的短信,将所述验证码采用所述专用共享密钥加密后,得到加密验证码,发送给应用服务器进行验证;
在本步骤中,所述验证码采用专用共享密钥加密,生成加密验证码(EVC,Encrypted Verification Code);
步骤203、应用服务器接收到所述加密验证码后,采用对应于应用标识及用户标识的专用共享密钥解密,得到验证码后,进行应用认证;
在本步骤中,应用服务器针对用户标识、应用标识及用户使用的设备标识存储了专用共享密钥,所以在验证时直接基于用户标识、应用标识及用户使用的设备标识获取得到对应的专用共享密钥,对所述加密验证码进行解密即可。
这样,即使攻击者拦截到短信后,由于没有用户针对不同应用、不同用户标识及不同设备的专用共享密钥,也无法对短信中的验证码进行加密,导致后续发送给应用服务器时认证用户的验证过程失败。
在该方法中,所述主密钥为用户输入的,或者存储在用户使用的设备设置的安全模块中。
在该方法中,在用户使用的设备从应用服务器接收随机数之前,还包括:应用服务器对用户进行身份认证,身份认证可用采用短信验证码方式,或者其他用户身份认证方式,这里不限定。
在该方法中,所述基于随机数及用户的主密钥,生成专用共享密钥是基于设置的密钥编排服务算法生成的。具体地说,所述密钥编排服务算法采用fk(x)实现,其中,f(x)为安全哈希函数算法,fk(x)表示对f(x)采用K次计算,K为正整数。
在该方法中,当要恢复用户的某一新使用设备的需要验证码验证的应用时,也需要对该用户新使用设备进行认证,认证方式有两种,一种是针对应用的用户已授权的设备对所述用户新使用的设备进行认证;另一种是采用用户的主密钥生成验证因子,将所述验证因子发送给应用服务器,由应用服务器采用挑战应答认证机制对用户使用的设备进行认证。
对于另一种方法中,所述验证因子采用一轮或多轮安全哈希算法计算得到,其中,第一轮为计算得到的专用共享密钥,后续轮是对专用共享密钥进行K次安全哈希算法计算,所述K是从应用服务器发送得到的正整数,所述专用共享密钥是基于应用服务器发送的随机数和用户的主密钥计算得到的;或者,所述验证因子采用专用共享密钥对计算得到的子验证因子进行加密得到,所述子验证因子采用多轮安全哈希算法计算得到,其中,第一轮为计算出专用共享密钥,后续轮是对专用共享密钥进行K次安全哈希算法计算,所述K是从应用服务器发送得到的正整数,所述专用共享密钥是基于应用服务器发送的随机数和用户的主密钥计算得到的。
在该方法中,还包括:在用户使用的设备中设置有密钥管理子***,用于专用共享密钥的计算生成及管理,以及验证因子的生成及管理,该密钥管理子***可以与用户使用的设备所安装的各种应用交互,提供所生成的对应应用标识及用户标识的专用共享密钥。
在该方法中,在互联网网络侧还设置有密钥管理云服务器,所述关联专用共享密钥的用户使用的设备标识、用户标识及应用标识的对应信息上传到所设置的密钥管理云服务器中管理;
当用户更换使用的设备时,对已使用的设备或遗失的设备的共享密钥进删除、禁用或启用处理时,访问所设置的密钥管理云服务器,获取到对应用户已使用的设备或遗失的设备的标识、用户标识及应用标识的信息;
根据获取到信息,向应用服务器发送删除、禁用或启用处理操作请求,以使应用服务器对已使用的设备或遗失的设备的共享密钥进行删除、禁用或启用处理。
图3为本发明实施例提供的针对短信拦截攻击的防御***结构示意图,如图所示,包括:应用服务器及用户使用的设备,其中,
应用服务器,用于与用户使用的设备交互,发送随机数给用户使用的设备,接收并存储对应于应用标识及用户使用设备标识的专用共享密钥;通过通信网络发送携带验证码的短信;接收所述加密验证码,采用所述专用共享密钥进行解密,得到验证码进行认证;
用户使用的设备,用于与应用服务器交互,从应用服务器接收随机数,基于随机数及用户的主密钥,生成对应于应用标识及用户使用设备标识的专用共享密钥,发送给应用服务器;在进行用户认证时,通过通信网络从应用服务器接收携带验证码的短信,将所述验证码采用所述专用共享密钥加密后,通过互联网发送给应用服务器。
在该***中,所述用户使用的设备可以为诸如手机的移动终端、平板电脑及计算机等,这里不限制。但是,最常使用的设备为用户的移动终端,应用服务器可以在用户的移动终端上安装应用的客户端软件,提供应用的各种服务。
在该***中,用户使用的设备中,可以具备多个应用,针对每个不同的应用设置有不同的专用共享密钥。用户使用的设备中,特别是当用户使用移动终端时,用户的移动终端还包括密钥管理子***,主要包括三个模块,主密钥的管理模块,密钥编排服务模块及专用共享密钥管理模块,其中,
主密钥管理模块,用于设置主密钥的访问模式,及存储主密钥;
密钥编排服务模块,用于提供各个应用的专用共享密钥的生成,根据从应用服务器获取的随机数,采用主密钥,基于设置的密钥编排服务算法生成对应应用标识及用户标识的专用共享密钥;
共享密钥管理模块,用于从密钥编排服务模块中获取对应应用标识及用户标识的专用共享密钥,且对应于用户的设备标识存储并管理,用于后续认证。
在该***中,还包括密钥管理云服务器,用于与用户使用的设备交互,特别是用户的移动终端交互,获取关联于专用共享密钥的应用标识及用户标识的对应信息,且对应于用户的设备标识存储,将这些数据在云端进行管理,以方便用户访问及处理,从而简化用户使用的设备的密钥管理工作量,改善用户体验。具体地,当用户更换使用的设备时,对已使用的设备或遗失的设备的共享密钥进删除、禁用或启用处理时,该密钥管理云服务器可以接受访问,提供对应用户已使用的设备或遗失的设备的标识、用户标识及应用标识的信息。从而使得用户可以采用新更换的设备,根据获取到信息,向应用服务器发送删除、禁用或启用处理操作请求,以使应用服务器对已使用的设备或遗失的设备的共享密钥进行删除、禁用或启用处理。
在该***中,用户使用的设备除了用户的移动终端外,还包括其他用户的设备。在这种情况下,这些其他用户设备可以与应用服务器之间交互,在验证时,将验证码以短信形式由应用服务器发送给用户的移动终端,由用户的移动终端采用对应应用标识及用户标识的专用共享密钥对验证码加密后返回,用于应用服务器的后续认证后,就可以为这些其他用户设备提供服务。也就是说,用户的移动终端是身份验证的中心,而用户的诸如计算机或平板电脑等其他设备是私人的或公用的,当其他设备要使用应用且应用服务器对验证码进行验证时,可以与用户的移动终端交互完成验证,从而简化了***的架构设计,能够更安全地实现身份验证。
在该***中,所述对应应用标识及用户标识的专用共享密钥,对应于用户使用的设备标识存储的数据结构是一个表,表中的数据项为<用户使用的设备标识,应用标识,用户标识>三元组,关联了一个专用共享密钥,其中三元组中的每个标识设置自定义的描述信息,可以表示为<d,app,u>。
图4为本发明实施例提供的设置用户的专用共享密钥方法流程图,用户使用的设备为用户的移动终端,其具体步骤为:
步骤401、用户的移动终端中的应用向应用服务器发送专用共享密钥生成请求,协商生成该移动终端应用绑定的专用共享密钥Ka;
在该请求中还针对用户标识携带用户身份信息等;
步骤402、应用服务器验证用户身份,验证通过后,向该移动终端的应用发送验证用户身份成功消息;
在本步骤中,应用服务器可以验证该请求携带的信息,也可以通过短信验证码方式与该移动终端交互,进行用户身份认证,这里不限定;
步骤403;完成用户的身份验证后,该移动终端的应用发出绑定设备(BindingDevice)请求消息;
步骤404、应用服务器生成一个随机数(Nonce),发送给该移动终端,作为专用共享密钥生成的因子;
在该步骤中,随机数可以采用128位随机数;
步骤405、该移动终端的应用根据接收的随机数及用户的主密钥,基于设置的密钥编排服务算法,生成该移动终端应用绑定的专用共享密钥Ka。
可以看出,由于用户使用的设备上,特别是用户的移动终端同时会具有多个不同的应用客户端软件,在多个不同的应用客户端软件中,每个需要验证码验证的应用都需要生成一个专用共享密钥Ka,而专用共享密钥Ka的生成依赖于对应的应用服务器产生的随机数和用户的主密钥。
在这种密钥编排服务的机制下,用户在使用不同应用时,可以共用一个构建针对不同应用标识的专用共享密钥Ka的主密钥,这个用户的主密钥不会被泄露到应用服务器上,恶意的应用服务器,无法从自己具有的用户的专用共享密钥+随机数的信息中推断出用户的主密钥及其他应用服务器与用户之间采用的专用共享密钥。
在本发明实施例中,密钥编排服务算法F,Ka=F(Km,Nonce),采用不可逆算法,并具有足够的强度,防止暴力破解。该密钥编排服务算法F可用采用安全哈希函数算法,比如SHA-256算法。随着计算机速度的提高,该密钥编排服务算法F的执行速度也越来越高,例如,在高性能计算机上百万次SHA-256运算不到1秒钟就可以完成,也就是说攻击者的暴力破解能力会越来越强。
在本发明实施例中,用户的主密钥有可能设置的长度不够,对于这种低熵值(low-entropy)的主密钥面临着暴力破解的威胁,所以需要提高密钥编排服务算法F的安全性。可以采用改进的方法实现,采用F(X)=fk(x),在这里,f(x)是一个安全哈希函数算法,fk(x)表示对f(x)采用K次计算,K可以等于3,例如,f3(x)代表f(f(f(x)))。在上述设置中,通过调整参数K值的大小来增加密钥编排服务算法F对函数f的迭代次数,保证每次密钥编排服务算法F都需要比较长的时间,例如10秒钟甚至更长时间。
本发明实施例中提供的密钥编排服务算法,涉及到用户,装载应用的移动终端及应用服务器三方,因此设置了基于专用共享密钥交换协议,实现在分布式***中专用共享密钥的生成和分发,以下具体说明。
图5为本发明实施例提供的专用共享密钥交换的方法流程图,每个应用针对用户的专用共享密钥Ka,通过专用共享密钥交换协议根据应用服务器的随机数和用户的主密钥生成,其具体步骤为:
步骤501、用户的移动终端安装了应用程序,且与应用服务器交互完成用户的身份认证,向应用服务器发起设备绑定的初始化流程;
步骤502、应用服务器生成随机数,采用服务器的私钥加密后发送给用户的移动终端应用;
步骤503、用户的移动终端应用采用应用服务器的公钥解密得到随机数;
步骤504、用户的移动终端应用将随机数发送给自身设置的密钥管理子***处理;
步骤505、用户的移动终端采用自身设置的密钥管理子***,根据随机数和主密钥,计算得到对应应用标识及用户标识的专用共享密钥Ka,发送给用户的移动终端应用;
步骤506、用户的移动终端应用将对应应用标识及用户标识的专用共享密钥Ka发送给应用服务器。
当用户使用的设备具有多个时,要启动用户的新设备时,需要设置安全的授权协议。
假设用户的设备D1已经与多个应用进行绑定,而用户的设备D2为新设备,用户也需要将设备D2与用户的多个应用进行绑定,以便从设备D2接受用户已有应用提供的服务。在这种应用场景下,有几种情况,第一种情况,设备D1可用,授权设备D2的情况:可用采用已有方式对设备D2进行认证,在完成认证后,设备D2执行专用共享密钥交换协议,生成针对设备D2的专用共享密钥Ka@D2;第二种情况,如果设备D1不可用,比如设备D1损坏及遗失等情况,利用用户的主密钥完成对设备D2的认证和生成针对设备D2的专用共享密钥Ka@D2。
图6为本发明实施例提供的专用共享密钥恢复的方法流程图,其具体步骤为:
步骤601、用户的移动终端应用向应用服务器发送携带用户标识的密钥恢复请求;
步骤602、应用服务器接收到后,获取到对应用户标识的随机数,发送给用户的移动终端应用;
步骤603、用户的移动终端应用将随机数发送给自身设置的密钥管理子***处理;
步骤604、用户的移动终端采用自身设置的密钥管理子***,根据随机数和主密钥,计算得到对应应用标识及用户标识的专用共享密钥Ka,发送给用户的移动终端应用;
步骤605、用户的移动终端应用和应用服务器都保存有对应应用标识及用户标识的专用共享密钥Ka,采用挑战应答认证机制(CRAM,challenge-response authenticationmechanism)完成身份认证。
在本发明实施例中,每个支持验证码认证的应用,在安装到用户使用的设备上,诸如用户的移动终端上时,都会进行注册,向用户的移动终端设置的密钥管理子***提交应用的描述信息,用户的移动终端设置的密钥管理子***可以对应用的描述信息进行审核,且对恶意应用建立恶意应用标识名单,在此名单下的应用则无法进行专用共享密钥Ka的计算。用户的移动终端设置的密钥管理子***只对已经注册在用户的移动终端的应用提供专用共享密钥Ka服务。
在本发明实施例中,用户的移动终端中的应用在请求密钥服务时必须提供随机数及用户标识,才能由用户的移动终端设置的密钥管理子***提供专用共享密钥Ka。
在本发明实施例中,用户的移动终端设置的密钥管理子***会将这些数据上传到云端,方便用户进行管理。
在本发明实施例中,用户使用的设备具有多台,如果某台设备遗失,则需要冻结该设备下的用户的专用共享密钥Ka的可用性,在用户的移动终端中的应用设置可信设备管理功能应该成为所有具有安全认证机制的移动终端的标准配置。但是,如果通过每个不同用户的应用客户端逐个对遗失设备进行禁用,则会带来以下问题:1)操作繁琐,用户体验度差;2)用户很难记在对应遗失的用户设备标识下注册的所有应用,很容易出现遗漏,带来安全隐患。
为了克服这个问题,本发明实施例可以采用密钥管理云服务器进行统一管理,实现一键禁用指定用户使用的某一设备的所有注册应用服务。具体地说,如果用户的某台设备遗失,则用户可以采用另一台经过认证的设备与密钥管理云服务器交互,获得用户所有设备标识、应用标识及用户标识的信息,只需要选定遗失的设备标识,就能够删除、禁用及启用该设备标识对应的所有专用共享密钥Ka。
举一个例子说明,如图7所示,图7为本发明实施例提供的对某一用户设备的专用共享密钥Ka管理结构示意图,其中用户的设备D1遗失,而用户的设备D2及用户的设备D3在使用中,用户的设备D2为手机,用户的设备D3为平板电脑,其整个过程如图8所示.
图8为本发明实施例提供的对某一用户设备的专用共享密钥Ka管理方法流程图,其具体步骤为:
步骤801、通过用户的设备D2从密钥管理云服务器获得用户的设备标识列表;
步骤802、从用户的设备标识列表中选择设备D1,从操作列表{Delete,Disalbe,Enable}中选择操作,确认操作;
步骤803、用户的设备D2向设备D1下的该用户的所有应用服务器发送消息指令,以使应用服务器执行该用户删除、禁用或启用设备D1的共享密钥,该指令的消息格式为{Action,用户标识,设备标识},其中,Action有三种指令:删除、禁用或启用。
在本发明实施例中,对于用户新使用的设备,如果用户的设备中的密钥管理子***直接将计算得到的专用共享密钥Ka发送给该用户的设备新安装的应用作为用户的身份认证凭证。在对用户使用的新设备认证过程中,就存在专用共享密钥Ka被泄露的问题。因此,本发明实施例不会将专用共享密钥Ka直接发给用户设备中的应用作为身份认证的验证因子,而设置一个安全验证因子生成算法,来保障生成的验证因子既能够让应用服务器验证用户使用设备中的应用身份,又***漏用户设备的应用采用的专用共享密钥Ka。
本发明实施例对专用共享密钥Ka进行哈希计算,来保护专用共享密钥Ka不被泄露,如果只是直接对专用共享密钥Ka进行一次哈希计算,就存在重放攻击的隐患;如果攻击者获得了{H(Ka),Nonce},就可以用攻击者的设备利用该信息欺骗服务器通过身份认证。
图9为本发明实施例提供的保护专用共享密钥Ka的方法流程图,其具体步骤为:
步骤901、应用服务器发送随机数和K,其中,随机数是设备绑定该应用时保存的随机数,K是一个随机抽取的正整数;
步骤902、新安装应用的用户的移动终端将{随机数,K}发送给设置的密钥管理子***处理;
步骤903、用户的移动终端所设置的密钥管理子***采用两轮哈希计算生成验证因子V,发送给用户的移动终端的应用;
第一轮哈希算法,是执行子密钥生成算法F,计算出专用共享密钥Ka;
第二轮哈希算法,是对专用共享密钥Ka执行K次安全哈希函数,如采用SHA-256,生成验证因子是V=HK(Ka);
步骤904、用户的移动终端的应用采用验证因子V向应用服务器发送应用的身份认证请求;
步骤905、应用服务器接收到验证因子V,基于专用共享密钥Ka及K,采用挑战应答认证机制完成应用终端新安装的应用身份认证。
在本发明实施例中,仅仅保证验证因子是动态随机的,还是无法保证安全性,在一种情况下,如果攻击者获得了K和Hk(Ka),就能够计算出Hk+1(Ka),进而可以计算出哈希次数大于K的验证因子。因此,需要保证没有专用共享密钥Ka的攻击者,获得了Hk(Ka)也无法计算。本发明实施例的验证因子生成算法,需要保证输入不同的K值,生成的多个验证因子之间是很难相互计算出来的。因此,本发明实施例采用这种方式计算,以专用共享密钥Ka,对Hk(Ka)进行加密,得到安全验证因子V=E(Ka,HK(Ka)),其中Ka=F(Km,Nonce)。
在本发明实施例中,主密钥可以是用户的一个口令,并不预先存储,而是由用户每次输入,保证安全性。当然,主密钥也可以是存放在用户使用的设备设置的***件(Secure Element)中,例如,用户的移动终端的用户身份识别卡(SIM)中,或其他能够与用户的移动终端方便交互的***件SE中。
从本发明实施例可以看出,本发明有以下优点:
1)细粒度的专用共享密钥分配,能管理到针对不同用户标识及不同设备标识,所使用的应用的认证,用户使用的一个设备遗失不会影响其他用户所使用的设备的认证。
2)专用共享密钥生成简单,用户仅仅需要保存一个主密钥,就能够针对用户标识,基于随机数,生成对应应用标识的不同共享子密钥。
3)专用共享密钥管理简单,通过密钥管理云服务器,能够对用户的遗失设备的共享密钥进行一键式删除或禁用,保护用户账号的安全性。对于失而复得的设备,也可以进行一键式激活,对于用户使用的新设备,也可以支持一键迁移,用户体验度很好。
4)认证过程对用户是透明的,是一种无感知的认证模式,在不改变用户体验的情况下,为每个应用的针对用户的验证码认证,采用了加密手段,用户体验很好。
5)安全性好,所设置的密钥编排服务算法是不可逆的,无法从一个应用的专用共享密钥推出主密钥,也无法从同一用户标识对应的一个应用的专用共享密钥,推导出另一个应用的专用共享密钥。
6)具有唯一性,保证针对用户标识及每个应用,每个设备上,都有一个独立的专用共享密钥,专用共享密钥在用户的不同设备上不会共享,能够避免很多潜在的安全隐患。
7)部署简单,不需要证书,容易部署,是一个轻量级的技术方案。
以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种针对短信拦截攻击的防御方法,其特征在于,该方法包括:
用户使用的设备从应用服务器接收随机数,基于随机数及用户的主密钥,生成专用共享密钥,发送给应用服务器存储;
用户使用的设备在进行用户认证时,通过通信网络从应用服务器接收携带验证码的短信,将所述验证码采用所述专用共享密钥加密后,发送给应用服务器,以使应用服务器采用存储的专用共享密钥对所述验证码进行解密后,认证;
该方法还包括:
将关联专用共享密钥的用户使用的设备标识、用户标识及应用标识的对应信息上传到所设置的密钥管理云服务器中管理;
当用户更换使用的设备时,对已使用的设备或遗失的设备的共享密钥进删除、禁用或启用处理时,访问所设置的密钥管理云服务器,获取到对应用户已使用的设备或遗失的设备的标识、用户标识及应用标识的信息;
根据获取到信息,向应用服务器发送删除、禁用或启用处理操作请求,以使应用服务器对已使用的设备或遗失的设备的共享密钥进行删除、禁用或启用处理。
2.如权利要求1所述的方法,其特征在于,所述主密钥为用户输入的,或者存储在用户使用的设备设置的安全模块中。
3.如权利要求1所述的方法,其特征在于,所述基于随机数及用户的主密钥,生成专用共享密钥是基于设置的密钥编排服务算法生成的;
所述密钥编排服务算法采用fk(x)实现,其中,f(x)为安全哈希函数算法,fk(x)表示对f(x)采用K次计算,K为正整数。
4.如权利要求1所述的方法,其特征在于,在所述用户使用的设备从应用服务器接收随机数之前,还包括:应用服务器对用户的身份认证;
或者/和,
应用服务器对用户使用的设备进行认证。
5.如权利要求4所述的方法,其特征在于,所述对用户使用的设备进行认证包括:
针对应用的用户已授权的设备对所述用户使用的设备进行认证;
或,
采用用户的主密钥生成验证因子,将所述验证因子发送给应用服务器,由应用服务器采用挑战应答认证机制对用户使用的设备进行认证。
6.如权利要求5所述的方法,其特征在于,所述验证因子采用一轮或多轮安全哈希算法计算得到,其中,第一轮为计算出专用共享密钥,后续轮是对专用共享密钥进行K次安全哈希算法计算,所述K是从应用服务器发送得到的正整数,所述专用共享密钥是基于应用服务器发送的随机数和用户的主密钥计算得到的;
或者,所述验证因子采用专用共享密钥对计算得到的子验证因子进行加密得到,所述子验证因子采用多轮安全哈希算法计算得到,其中,第一轮为计算出专用共享密钥,后续轮是对专用共享密钥进行K次安全哈希算法计算,所述K是从应用服务器发送得到的正整数,所述专用共享密钥是基于应用服务器发送的随机数和用户的主密钥计算得到的。
7.一种针对短信拦截攻击的防御***,其特征在于,包括:应用服务器及用户使用的设备,其中,
应用服务器,用于发送随机数给用户使用的设备,接收并存储用户使用的设备发送的专用共享密钥;通过通信网络发送携带验证码的短信;接收加密验证码,采用存储的专用共享密钥进行解密,得到验证码进行认证;
用户使用的设备,用于从应用服务器接收随机数,基于随机数及用户的主密钥,生成专用共享密钥,发送给应用服务器;在进行用户认证时,通过通信网络从应用服务器接收携带验证码的短信,将所述验证码采用所述专用共享密钥加密后,通过互联网发送给应用服务器;
所述***还包括密钥管理云服务器,用于与用户使用的设备交互,获取关联专用共享密钥的用户使用的设备标识、用户标识及应用标识的对应信息,存储且管理;
接受访问,提供对应用户已使用的设备或遗失的设备的标识、用户标识及应用标识的信息。
8.如权利要求7所述的防御***,其特征在于,所述用户使用的设备中还包括密钥管理子***,所述密钥管理子***包括主密钥的管理模块,密钥编排服务模块及专用共享密钥管理模块,其中,
主密钥管理模块,用于设置主密钥的访问模式,及存储主密钥;
密钥编排服务模块,用于提供各个应用的专用共享密钥的生成,根据从应用服务器获取的随机数,采用从主密钥管理模块获取到主密钥,基于设置的密钥编排服务算法生成专用共享密钥;
共享密钥管理模块,用于从密钥编排服务模块中获取专用共享密钥,进行管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811294086.8A CN109525565B (zh) | 2018-11-01 | 2018-11-01 | 一种针对短信拦截攻击的防御方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811294086.8A CN109525565B (zh) | 2018-11-01 | 2018-11-01 | 一种针对短信拦截攻击的防御方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109525565A CN109525565A (zh) | 2019-03-26 |
CN109525565B true CN109525565B (zh) | 2021-04-30 |
Family
ID=65774009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811294086.8A Active CN109525565B (zh) | 2018-11-01 | 2018-11-01 | 一种针对短信拦截攻击的防御方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109525565B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430218B (zh) * | 2019-08-23 | 2021-08-13 | 深圳数联天下智能科技有限公司 | 数据传输安全控制方法及装置、计算机设备和物联网*** |
CN110677431A (zh) * | 2019-10-14 | 2020-01-10 | 云深互联(北京)科技有限公司 | 一种双向验证的方法和装置 |
US10778658B1 (en) * | 2020-02-03 | 2020-09-15 | Tanla Digital Labs Private Limited | Communication server and method of secured transmission of messages |
CN111417122B (zh) * | 2020-03-25 | 2024-03-01 | 杭州迪普科技股份有限公司 | 一种防范攻击方法及装置 |
CN111431717A (zh) * | 2020-03-31 | 2020-07-17 | 兴唐通信科技有限公司 | 一种卫星移动通信***的加密方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368918A (zh) * | 2012-04-01 | 2013-10-23 | 西门子公司 | 一种动态口令认证方法、装置及*** |
CN105142139A (zh) * | 2014-05-30 | 2015-12-09 | 北京奇虎科技有限公司 | 验证信息的获取方法及装置 |
CN106713327A (zh) * | 2016-12-29 | 2017-05-24 | 上海众人网络安全技术有限公司 | 一种验证码安全加固的认证方法及*** |
CN107204985A (zh) * | 2017-06-22 | 2017-09-26 | 北京洋浦伟业科技发展有限公司 | 基于加密密钥的权限认证方法、装置及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10021074B2 (en) * | 2016-03-23 | 2018-07-10 | Getac Technology Corporation | Encrypting method and decrypting method of security short message and receiving apparatus for receiving security short message |
-
2018
- 2018-11-01 CN CN201811294086.8A patent/CN109525565B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368918A (zh) * | 2012-04-01 | 2013-10-23 | 西门子公司 | 一种动态口令认证方法、装置及*** |
CN105142139A (zh) * | 2014-05-30 | 2015-12-09 | 北京奇虎科技有限公司 | 验证信息的获取方法及装置 |
CN106713327A (zh) * | 2016-12-29 | 2017-05-24 | 上海众人网络安全技术有限公司 | 一种验证码安全加固的认证方法及*** |
CN107204985A (zh) * | 2017-06-22 | 2017-09-26 | 北京洋浦伟业科技发展有限公司 | 基于加密密钥的权限认证方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109525565A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799656B2 (en) | Security authentication method and device | |
CN110537346B (zh) | 安全去中心化域名*** | |
CN109525565B (zh) | 一种针对短信拦截攻击的防御方法及*** | |
CN104506534B (zh) | 安全通信密钥协商交互方案 | |
US8763097B2 (en) | System, design and process for strong authentication using bidirectional OTP and out-of-band multichannel authentication | |
CN107040513B (zh) | 一种可信访问认证处理方法、用户终端和服务端 | |
CN103248479A (zh) | 云存储安全***、数据保护以及共享方法 | |
Kaur et al. | A Secure Two‐Factor Authentication Framework in Cloud Computing | |
CN113225352B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN108809633B (zh) | 一种身份认证的方法、装置及*** | |
EP2984782A1 (en) | Method and system for accessing device by a user | |
US11438316B2 (en) | Sharing encrypted items with participants verification | |
CN102164033A (zh) | 防止服务被攻击的方法、设备及*** | |
CN108632251B (zh) | 基于云计算数据服务的可信认证方法及其加密算法 | |
JP2016522637A (ja) | 共有秘密を含意するセキュア化されたデータチャネル認証 | |
JP2018026631A (ja) | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム | |
CN110519304A (zh) | 基于tee的https双向认证方法 | |
CN114553480B (zh) | 跨域单点登录方法、装置、电子设备及可读存储介质 | |
CN110519222B (zh) | 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和*** | |
CN113645115B (zh) | 虚拟专用网络接入方法和*** | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN106576050B (zh) | 三层安全和计算架构 | |
Reimair et al. | MoCrySIL-Carry your Cryptographic keys in your pocket | |
US8699710B2 (en) | Controlled security domains | |
Chen et al. | SSL/TLS session-aware user authentication using a gaa bootstrapped key |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |