CN108282329B - 一种双向身份认证方法及装置 - Google Patents
一种双向身份认证方法及装置 Download PDFInfo
- Publication number
- CN108282329B CN108282329B CN201710010373.0A CN201710010373A CN108282329B CN 108282329 B CN108282329 B CN 108282329B CN 201710010373 A CN201710010373 A CN 201710010373A CN 108282329 B CN108282329 B CN 108282329B
- Authority
- CN
- China
- Prior art keywords
- quantum key
- authentication
- information
- key
- decryption
- 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/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
- 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/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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/0852—Quantum cryptography
Abstract
本发明提供一种双向身份认证方法及装置,涉及网络安全技术领域,用以提高认证效率。该方法包括:生成认证请求,在认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用第一量子密钥加密后的第一加密密文;向第二设备发送认证请求,以使第二设备根据认证请求进行认证;接收第二设备发送的认证响应消息,在认证响应消息中包括第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用第二量子密钥加密后的第二加密密文;根据第二量子密钥的标识获取对应的解密量子密钥,并利用解密量子密钥解密第二加密密文,获得解密信息;若解密信息和第一加密密文中的信息一致,则双向身份认证通过。本发明主要用于身份认证技术中。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种双向身份认证方法及装置。
背景技术
身份认证是指确认用户身份的过程,是网络安全防护的第一道关口。目前常见的认证方式如下:
(1)静态口令认证:静态口令可以用于对用户的认证,也可用于设备之间的认证。在用户认证场景中,一般要求用户自己设置口令,这种情况下,用户自主设置的口令通常较为简单,容易被猜测到。在设备认证场景中,需要在设备中配置静态口令,该口令可以设计的较为复杂,但口令更新麻烦。
(2)动态口令认证:动态口令可根据使用场景通过短信或动态口令卡实现,认证过程需要人为参与。
(3)预共享密钥认证:预共享密钥多用于设备认证,比如USIM卡认证。此认证方式与静态口令相似,需要事先在认证双方存储相同的共享密钥,利用共享密钥进行认证。
(4)证书认证:根据证书的实体可以实现对用户的认证,也可用于对设备的认证。认证方需要向CA机构申请证书,在认证过程中需使用公钥密码算法。
(5)智能卡认证:将智能卡与用户绑定,通过对智能卡的认证实现对用户的认证。智能卡认证可采用对称和非对称密码算法。
(6)生物认证:可使用指纹、虹膜、DNA进行身份认证,需要人为参与。
上述几种认证方案中,动态口令认证和生物认证需要人为参与,其他几种认证方案分别采用对称或非对称密码算法,且在认证过程中需要多次交互才可完成认证,从而导致了认证效率低。
发明内容
有鉴于此,本发明提供一种双向身份认证方法及装置,用以提高认证效率。
为解决上述技术问题,本发明提供一种双向身份认证方法,包括:
生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;
向第二设备发送所述认证请求,以使所述第二设备根据所述认证请求进行认证;
接收所述第二设备发送的认证响应消息,在所述认证响应消息中包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文;
根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;
若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
其中,所述生成认证请求,包括:
从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;
获取第一待认证信息和第二待认证信息;
利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;
利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息,包括:
根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;
若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
其中,在所述获取所述解密量子密钥的状态标识后,还包括:
若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
其中,所述若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过,包括:
若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
其中,所述向第二设备发送所述认证请求,包括:
向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;
所述接收所述第二设备发送的认证响应消息,包括:
接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
其中,在所述生成认证请求前,所述方法还包括:
从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;
按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
其中,所述第一量子密钥为未被使用过的量子密钥;所述方法还包括:
更新所述量子密钥集合。
第二方面,本发明提供一种双向身份认证方法,包括:
接收第一设备的认证请求,在所述认证请求中包括第一待认证信息、所述第一设备所使用的用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;
根据所述认证请求对所述第一设备进行认证;
若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的;
所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述根据所述认证请求对所述第一设备进行认证,包括:
根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;
若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;
若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
其中,在所述获取所述解密量子密钥的状态标识后,还包括:
若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
其中,所述若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送认证响应消息,包括:
若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;
利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;
利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
其中,所述第二量子密钥为未被使用过的量子密钥;所述方法还包括:
更新所述量子密钥集合。
其中,所述接收第一设备的认证请求,包括:
前端服务器接收所述第一设备的认证请求,并将所述认证请求发送给认证服务器;
所述根据所述认证请求对所述第一设备进行认证,包括:
所述认证服务器根据所述认证请求对所述第一设备进行认证;
所述若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,包括:
若对所述第一设备的认证通过,所述认证服务器生成认证响应消息,并向所述前端服务器发送所述认证响应消息,以使所述前端服务器向所述第一设备发送所述认证响应消息。
其中,在所述接收第一设备的认证请求前,所述方法还包括:
从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;
按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
第三方面,本发明提供一种双向身份认证装置,包括:
生成模块,用于生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;
发送模块,用于向第二设备发送所述认证请求,以使所述第二设备根据所述认证请求进行认证;
接收模块,用于接收所述第二设备发送的认证响应消息,在所述认证响应消息中包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文;
解密模块,用于根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;
认证模块,用于若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
其中,所述生成模块包括:
密钥获取子模块,用于从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;
信息获取子模块,用于获取第一待认证信息和第二待认证信息;
加密子模块,用于利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;
生成子模块,用于利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述解密模块包括:
查找子模块,用于根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;
获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
其中,所述发送模块还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
其中,所述认证模块具体用于,若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
其中,所述发送模块具体用于,向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;
所述接收模块具体用于,接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
其中,所述装置还包括:
密钥接收模块,用于从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;
密钥处理模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
密钥存储模块,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
其中,所述第一量子密钥为未被使用过的量子密钥;
所述装置还包括:更新模块,用于更新所述量子密钥集合。
第四方面,本发明提供一种双向身份认证装置,包括:
接收模块,用于接收第一设备的认证请求,在所述认证请求中包括第一待认证信息、所述第一设备所使用的用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;
认证模块,用于根据所述认证请求对所述第一设备进行认证;
发送模块,用于若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密第一待认证信息和第二待认证信息获得的;
所述第一待认证信息为所述第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述认证模块包括:
查找子模块,用于根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;
获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;
认证子模块,用于若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
其中,所述发送模块还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
其中,所述发送模块包括:
获取子模块,用于若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;
加密子模块,用于利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;
发送子模块,用于利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
其中,所述第二量子密钥为未被使用过的量子密钥;所述装置还包括:
更新模块,用于更新所述量子密钥集合。
其中,所述装置还包括:
密钥接收模块,用于从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;
密钥处理模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
密钥存储模块,用于存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
本发明的上述技术方案的有益效果如下:
在本发明实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本发明实施例的方案认证速度快,认证效率高。
附图说明
图1为基于量子密钥分发机制的安全保密通信的流程图;
图2为本发明实施例一的双向身份认证方法的流程图;
图3为本发明实施例二的双向身份认证方法的流程图;
图4为本发明实施例三的双向身份认证方法的流程图;
图5为本发明实施例中量子密钥存储装置的示意图;
图6为本发明实施例四的双向身份认证方法的流程图;
图7为本发明实施例中量子密钥存储装置的又一示意图;
图8为本发明实施例五的双向身份认证方法的流程图;
图9为本发明实施例六的双向身份认证方法的流程图;
图10为本发明实施例七的双向身份认证装置的示意图;
图11为本发明实施例七的双向身份认证装置的结构图;
图12为本发明实施例八的双向身份认证装置的示意图;
图13为本发明实施例八的双向身份认证装置的结构图。
具体实施方式
下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
在本发明实施例中,首先对量子保密通信的基本原理做一简单介绍。
实用保密通信的工作原理主要基于安全的密钥分发和安全的数据加密传输。即首先需要在通信双方之间使用某种安全的机制进行共享密钥的分发,然后在通信双方间使用该共享密钥对需要安全传输的数据分别进行加密和解密操作,从而实现通信双方的数据保密传输。
其中,加密算法可使用商用标准算法SM4以及国际上一些主流加密算法如AES等,结合通过某种安全密钥分发机制进行分发的密钥,能够有效保障通信过程中数据传输的安全。由于SM4、AES等主流加密算法具有极高的安全强度,足以抵抗现有的所有分析和攻击方法,因此寻找一种安全高效的密钥分发机制就成为了保障安全通信的最关键最核心的问题。
在现实应用中,大多数密钥分发机制都是基于数字证书体系来实现。这类机制很大程度上依赖于RSA、椭圆曲线、Diffie-Hellman密钥交换体系等公钥加密体制的安全性。这些公钥加密体制的底层安全性通常基于大整数因子分解、离散对数等公认困难的数学问题。但是,虽然目前尚未发现任何有效实用的算法可以快速解决这些困难的数学问题,但是绝对不能排除未来发现能够有效解决这些困难问题的高效算法的可能性。此外,伴随着软硬件计算能力的迅速提升和分布式计算等计算方法的不断改进,现有计算能力已经可以实现768位大整数的快速分解。值得一提的是,大整数因子分解问题也已经被证明在量子计算模型下是不安全的。更为实际和严重的问题是基于公钥加密体系的密钥分发机制在现实应用中如果配置使用不当,也会带来严重的安全问题。
如最近对于OpenSSL协议中低于1024位整数Diffie-Hellman协议的快速破解,以及NIST发布的伪随机数算法Dual_EC后门的利用等,都暴露出实用公钥加密体制所存在的一些极为严重的安全漏洞。长远来看,基于公钥加密体系的密钥分发机制也无法提供有效的可证明安全结果,不具备无条件安全性。
伴随着量子保密通信技术的发展、进步以及实用化,量子密钥分发提供了另外一种安全高效实用的理想密钥分发方法。量子密钥分发的不可再分、不可测量、不可复制以及理想随机等显著的技术优点,从底层量子力学基本原理的角度保证了量子密钥分发系统的无条件安全性。如图1所示,基于量子密钥分发机制的安全保密通信主要包括两个主要步骤:
步骤101、对应图中的1,2。通信双方之间使用专用的量子网络和相应的收发量子设备进行量子共享密钥的协商和分发,同时通信双方分别将该共享密钥传输到本地的加密设备中,这一步能够保证密钥分发和传输过程的无条件安全性。
步骤102、对应图中的3,4,5。通信双方完成量子共享密钥的安全分发后,发送方使用共享密钥和安全的加密算法对需要传输的数据进行加密,并使用传统网络传输加密数据到接收方;接收方再使用相同的共享密钥和算法对接收到的加密数据进行解密,从而实现通信双方的安全保密通信。
实施例一
如图2所示,本发明实施例一的双向身份认证方法,应用于第一设备,包括:
步骤201、生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文。
在本发明实施例中,第一设备从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥,并获取第一待认证信息和第二待认证信息。然后,利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文。最后,利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数。或者,为了进一步提高安全性,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
为进一步保证安全性,所述第一量子密钥为未被使用过的量子密钥。
步骤202、向第二设备发送所述认证请求,以使所述第二设备根据所述认证请求进行认证。
步骤203、接收所述第二设备发送的认证响应消息,在所述认证响应消息中包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文。
当第二设备通过对第一设备的认证后,向第一设备发送认证响应消息。
步骤204、根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
在此步骤中,第一设备根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥。由于第一设备与第二设备具有共享的量子密钥集合,在此该解密量子密钥实际上是第一设备中存储的具有第二量子密钥的标识的密钥。若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识,若根据所述状态标识确定所述解密量子密钥未被使用过,则第一设备利用所述解密量子密钥解密所述第二加密密文,获得解密信息。若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
步骤205、若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
在此步骤中,若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
由上可以看出,在本发明实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本发明实施例的方案认证速度快,认证效率高。
实施例二
如图3所示,本发明实施例二的双向身份认证方法,应用于第二设备,包括:
步骤301、接收第一设备的认证请求,在所述认证请求中包括第一待认证信息、所述第一设备所使用的用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文。
其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的。所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
步骤302、根据所述认证请求对所述第一设备进行认证。
在此步骤中,第二设备根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥。由于第一设备与第二设备具有共享的量子密钥集合,在此该解密量子密钥实际上是第一设备中存储的具有第一量子密钥的标识的密钥。若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识。若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息。若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。若未查找到所述解密量子密钥或者若根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
步骤303、若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
具体的,在此步骤中,若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥。第二设备利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文,利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
由上可以看出,在本发明实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本发明实施例的方案认证速度快,认证效率高。
实施例三
如图4所示,本发明实施例三的双向身份认证方法,包括:
步骤401、设备初始化。
设备初始化的目的是,为了使认证双方产生并存储量子密钥集合,认证阶段使用存储的量子密钥进行认证。
通信双方需要预先通过量子密钥分发网络产生若干共享密钥,并将密钥存储于自身的量子密钥存储装置。如图5所示,量子密钥存储装置包含量子密钥接收单元、量子密钥处理单元、量子密钥存储单元。其中密钥接收单元负责从量子密钥收发装置接收密钥。其中,量子密钥收发装置可以是现有的量子网关等设备。量子密钥存储单元负责将量子密钥接收单元接收的密钥进行安全存储,其中需要存储密钥标识、密钥、以及双方设备身份等信息。初始化过程如下:
(1)将通信双方设备A和设备B分别连接至量子密钥收发装置A和量子密钥收发装置B。量子密钥收发装置可以是现有量子网关等设备,利用该装置可在收发两端产生大量无条件安全的共享密钥集合。设备A和设备B分别启动量子密钥收发装置A和量子密钥收发装置B,产生共享密钥集合,记做K,其中包含密钥K1,K2,…。
(2)设备A的量子密钥接收单元从量子密钥收发装置A中接收密钥集合K;设备B的量子密钥接收单元从量子密钥收发装置B中接收密钥集合K。
(3)设备A和设备B中的量子密钥处理单元按照约定方式为密钥集合K中的密钥定义密钥标识信息,密钥Ki的标识记为IDKi。
(4)设备A和设备B将密钥、密钥标识,以及通信双方的信息存储于量子密钥存储装置的量子密钥存储单元中。将设备A和设备B的身份分别记为IDA和IDB,那么密钥存储方式如下:
(IDKi,Ki,IDA,IDB)。
该记录含义为:标识为IDKi的密钥是Ki,用于设备A和设备B之间的安全通信。
步骤402、设备A向设备B发送认证请求。
设备A选择一个未曾使用的密钥Ki,随机产生一个随机数nonce,向设备B发送认证请求。其中包含设备A的身份信息:IDA,选择使用的密钥标识:IDKi,使用Ki加密IDA和随机数nonce之后的密文信息(Eki(IDA,nonce))。设备A需要临时存储nonce,直至认证过程结束。
步骤403、设备B对设备A进行认证。
设备B接收到设备A的认证请求后,根据IDKi从自身的量子密钥存储装置中查找Ki。若Ki已被删除或标记为已使用,则返回密钥错误响应消息;若查找到Ki且Ki未曾使用,则使用Ki解密密文,得到IDA和nonce。若解密后得到的IDA与明文传输的IDA一致,则认为设备A确实拥有密钥Ki,实现对设备A的认证;否则对设备A的认证未通过。
步骤404、设备B向设备A发送认证响应消息。
设备B选择一个未曾使用的密钥Kj,使用Kj对nonce加密,并将密文(EKj(nonce))和Kj的标识IDKj一同携带在认证响应消息中返回给设备A。设备B将密钥Ki和Kj删除,或标记为已使用。
步骤405、设备A对设备B进行认证。
设备A接收到认证响应消息之后,使用IDKj在量子密钥存储装置中查找Kj。若Kj已被删除或标记为已使用,则返回密钥错误响应消息;若查找到Kj且Kj未曾使用,则使用Kj解密密文,得出nonce。若解密后得到的nonce与认证请求中的nonce一致,则认为设备B确实拥有密钥Ki和Kj,实现对设备B的认证。
此外,设备A还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。认证过程结束。
在本发明实施例中,共享密钥集合中每个密钥都有对应的状态标识。如果某个密钥仍位于该集合中,其对应的状态标识可为被使用或者未被使用。因此,在此,若查找到Kj,可通过读取其状态标识确定是否被使用过。
实施例四
如图6所示,本发明实施例四的双向身份认证方法,包括:
步骤601、设备初始化。
此步骤可参照步骤401的描述。
步骤602、设备A向设备B发送认证请求。
设备A选择一个未曾使用的密钥Ki,随机产生两个随机数nonce1和nonce2,向设备B发送认证请求,其中包含选择使用的密钥标识:IDKi,随机数nonce1,以及使用Ki加密随机数nonce1和nonce2之后的密文信息(EKi(nonce1,nonce2))。设备A需要临时存储nonce2,直至认证过程结束。可选的,nonce2可以与nonce1相等。
步骤603、设备B对设备A进行认证。
设备B接收到设备A的认证请求后,根据IDKi从量子密钥存储装置中查找Ki。若Ki已被删除或标记为已使用,则返回密钥错误响应消息;若Ki未曾使用,则使用Ki解密密文,得到nonce1和nonce2。若解密后得到的nonce1与明文传输的nonce1一致,则认为设备A确实拥有密钥Ki,实现对设备A的认证;否则对设备A的认证未通过。
在本发明实施例中,共享密钥集合中每个密钥都有对应的状态标识。如果某个密钥仍位于该集合中,其对应的状态标识可为被使用或者未被使用。因此,在此,若查找到Ki,可通过读取其状态标识确定是否被使用过。
步骤604、设备B向设备A发送认证响应消息。
设备B选择一个未曾使用的密钥Kj,使用Kj对nonce2加密,并将密文(EKj(nonce2))和Kj的标识IDKj一同携带在认证响应消息中返回给设备A。
此外,设备B还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。
步骤605、设备A对设备B进行认证。
设备A接收到认证响应消息之后,使用IDKj在量子密钥存储装置中查找Kj。若Kj已被删除或标记为已使用,则返回密钥错误;若Kj未曾使用,则使用Kj解密密文,得出nonce2。若解密后得到的nonce2与认证请求中的nonce2一致,则认为设备B确实拥有密钥Ki和Kj,实现对设备B的认证。
此外,设备A还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。认证过程结束。
在本发明实施例五和实施例六中,认证双方分别是服务提供方和服务使用方。服务使用方在使用服务提供方提供的服务之前,需要经过服务提供方的认证。例如,设备A是服务使用方,即用户,设备B是服务提供方。通常情况下,服务提供方包括前端服务器和认证服务器,此时,设备B由前端服务器和认证服务器构成。前端服务器负责与设备A交互,认证服务器含有如前所述的量子密钥存储装置,用于接收并存储量子密钥(如图7所示),并负责对用户的认证。
实施例五
如图8所示,本发明实施例五的双向身份认证方法,包括:
步骤801、设备初始化。
此步骤可参照步骤401的描述。不同的是,在本发明实施例中,与步骤401的设备B相对应的是本发明实施例中的认证服务器。
步骤802、设备A向服务提供方(或设备B)发送认证请求。
设备A选择一个未曾使用的密钥Ki,随机产生一个随机数nonce,向前端服务器发送认证请求。其中包含设备A的身份信息:IDA,选择使用的密钥标识:IDKi,使用Ki加密IDA和随机数nonce之后的密文信息(EKi(IDA,nonce))。设备A需要临时存储nonce,直至认证过程结束。
步骤803、服务提供方对设备A进行认证。
服务提供方的前端服务器接收到认证请求之后,将认证请求转发至认证服务器。
认证服务器接收到认证请求后,根据IDKi从量子密钥存储装置中查找Ki。若Ki已被删除或标记为已使用,则通过前端服务器向设备A返回密钥错误响应消息;若查找到Ki且Ki未曾使用,则使用Ki解密密文,得到IDA和nonce。若解密后得到的IDA与明文传输的IDA一致,则认为设备A确实拥有密钥Ki,实现对设备A的认证。
步骤804、认证服务器通过前端服务器向设备A发送认证响应消息。
认证服务器选择一个未曾使用的密钥Kj,使用Kj对nonce加密,并将密文(EKj(nonce))和Kj的标识IDKj一同携带在认证响应消息中,并通过前端服务器返回给设备A。
此外,设备B还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。
步骤805、设备A对服务提供方进行认证。
设备A接收到认证响应消息之后,使用IDKj在量子密钥存储装置中查找Kj。若Kj已被删除或标记为已使用,则返回密钥错误;若查找到Kj且Kj未曾使用,则使用Kj解密密文,得出nonce。若解密后得到的nonce与认证请求中的nonce一致,则认为服务提供方确实拥有密钥Ki和Kj,实现对服务提供方的认证。
此外,设备A还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。认证过程结束。
实施例六
如图9所示,本发明实施例六的双向身份认证方法,包括:
步骤901、设备初始化。
此步骤可参照步骤401的描述。不同的是,在本发明实施例中,与步骤401的设备B相对应的是本发明实施例中的认证服务器。
步骤902、设备A向服务提供方发送认证请求。
服务使用方(设备A)选择一个未曾使用的密钥Ki,随机产生两个随机数nonce1和nonce2,向服务提供方(设备B)发送认证请求,其中包含选择使用的密钥标识IDKi,随机数nonce1,以及使用Ki加密随机数nonce1和nonce2之后的密文信息(EKi(nonce1,nonce2))。设备A需要临时存储nonce2,直至认证过程结束。可选的,nonce2可以与nonce1相等。
步骤903、服务提供方对设备A进行认证。
服务提供方的前端服务器接收到认证请求之后,将认证请求转发至认证服务器。
认证服务器接收到认证请求后,根据IDKi从密钥存储装置中查找Ki,若Ki已被删除或标记为已使用,则经前端服务器返回密钥错误;若查找到Ki且Ki未曾使用,则使用Ki解密密文,得到nonce1和nonce2。若解密后得到的nonce1与明文传输的nonce1一致,则认为设备A确实拥有密钥Ki,实现对设备A的认证。
此外,设备B还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。
步骤904、认证服务器通过前端服务器向设备A发送认证响应消息。
认证服务器选择一个未曾使用的密钥Kj,使用Kj对nonce2加密,并将密文(EKi(nonce1,nonce2))和Kj的标识IDKj一同携带在认证响应消息中,并经前端服务器返回给设备A。认证服务器将密钥Ki和Kj删除,或标记为已使用。
步骤905、设备A对服务提供方进行认证。
设备A接收到认证响应之后,使用IDKj在密钥存储装置中查找Kj。若Kj已被删除或标记为已使用,则返回密钥错误;若Kj未曾使用,则使用Kj解密密文,得出nonce2。若解密后得到的nonce2与认证请求中的nonce2一致,则认为对方确实拥有密钥Ki和Kj,实现对服务提供方的认证。
此外,设备A还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。认证过程结束。
由上可以看出,本发明的实施例具有以下优点:
一、安全性:
双向认证:由于IDKi的密钥仅被设备A和设备B共享,因此如果设备A使用Ki正确加密IDA或nonce1,就实现了对设备A的认证。同理,设备B使用Kj正确加密nonce,既实现了对设备B的认证,又说明设备B确实完成对设备A的认证。
也即在本发明实施例中,一次交互即可实现双向认证,且认证双方仅使用对称密码算法进行一次加密和解密运算,不使用公钥密码算法,速度快,效率高。
防止重放:本提案中量子密钥仅允许使用一次,之后就删除或标记为已使用过,可以实现一次一密。如果攻击者截取了认证数据,由于该认证数据中的密钥已被双方使用,因此重放该认证数据时,通信双方检测出重放消息,予以忽略。
防止窃听:量子密钥仅被通信双方共享,且仅使用一次,因此即使攻击者截获通信数据,也无法进行解密。此外,方案中的加密算法可以采用现有的对称密码算法,如AES等,量子计算可以破解非对称密码算法,但不能破解对称密码算法。
二、可行性:
应用可行性:由于每个密钥仅使用一次,如果使用完需要重新进行初始化。事实上,如果使用128bits的量子密钥,可以为每个密钥分配20字节的存储空间,这样,1MB的存储空间可以存储大约50万个密钥,足够普通用户使用,通过增大存储空间还可以延长设备密钥的使用时间。
技术实现可行性:目前量子密钥收发装置已经商用,仅需设计密钥接收单元,就可以从量子密钥收发装置接收大量共享密钥,快速部署使用。
此外,由于实施例四和实施例六中未使用设备的信息作为明文传输,因此其安全性更高。
实施例七
如图10所示,本发明实施例七的双向身份认证装置,包括:
生成模块1001,用于生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;发送模块1002,用于向第二设备发送所述认证请求,以使所述第二设备根据所述认证请求进行认证;接收模块1003,用于接收所述第二设备发送的认证响应消息,在所述认证响应消息中包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文;解密模块1004,用于根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;认证模块1005,用于若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
其中,所述生成模块1001包括:
密钥获取子模块,用于从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;信息获取子模块,用于获取第一待认证信息和第二待认证信息;加密子模块,用于利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;生成子模块,用于利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述解密模块1004包括:
查找子模块,用于根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
此时,所述发送模块1002还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
其中,所述认证模块1005具体用于,若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
在实际应用中,所述发送模块1002具体用于,向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;所述接收模块具体用于,接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
如图11所示,所述装置还包括:
密钥接收模块1006,用于从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;密钥处理模块1007,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;密钥存储模块1008,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
其中,所述第一量子密钥为未被使用过的量子密钥。如图11所示,所述装置还包括:更新模块1009,用于更新所述量子密钥集合。
本发明所述装置的工作原理可参照前述方法实施例的描述。
由上可以看出,在本发明实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本发明实施例的方案认证速度快,认证效率高。
实施例八
如图12所示,本发明实施例八的双向身份认证装置,包括:
接收模块1201,用于接收第一设备的认证请求,在所述认证请求中包括第一待认证信息、所述第一设备所使用的用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;认证模块1202,用于根据所述认证请求对所述第一设备进行认证;发送模块1203,用于若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密第一待认证信息和第二待认证信息获得的;所述第一待认证信息为所述第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述认证模块1202包括:
查找子模块,用于根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;认证子模块,用于若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
此时,所述发送模块1203还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
具体的,所述发送模块1203包括:获取子模块,用于若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;加密子模块,用于利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;发送子模块,用于利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
其中,所述第二量子密钥为未被使用过的量子密钥;如图13所示,所述装置还包括:更新模块1204,用于更新所述量子密钥集合。
如图13所示,所述装置还包括:
密钥接收模块1205,用于从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;密钥处理模块1206,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;密钥存储模块1207,用于存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
本发明所述装置的工作原理可参照前述方法实施例的描述。
由上可以看出,在本发明实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本发明实施例的方案认证速度快,认证效率高。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (33)
1.一种双向身份认证方法,其特征在于,包括:
在通信双方的收发两端产生无条件安全的共享量子密钥集合,共享量子密钥集合中每个密钥都有对应的状态标识,如果一个密钥仍位于该共享量子密钥集合中,其对应的状态标识为被使用或者未被使用;
第一设备选择一个未曾使用的第一量子密钥Ki,随机产生两个随机数:第一随机数nonce1和第二随机数nonce2,生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文,第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的;
第一设备向第二设备发送所述认证请求,以使所述第二设备根据所述认证请求进行认证;
接收所述第二设备发送的认证响应消息,在所述认证响应消息中包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文;
根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;
若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
2.根据权利要求1所述的方法,其特征在于,所述生成认证请求,包括:
从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;
获取第一待认证信息和第二待认证信息;
利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;
利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
3.根据权利要求2所述的方法,其特征在于,
所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息,包括:
根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;
若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
5.根据权利要求4所述的方法,其特征在于,在所述获取所述解密量子密钥的状态标识后,还包括:
若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
6.根据权利要求2或权利要求3所述的方法,其特征在于,所述若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过,包括:
若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
7.根据权利要求1-权利要求5任一项所述的方法,其特征在于,所述向第二设备发送所述认证请求,包括:
向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;
所述接收所述第二设备发送的认证响应消息,包括:
接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
8.根据权利要求1-权利要求5任一项所述的方法,其特征在于,在所述生成认证请求前,所述方法还包括:
从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;
按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
9.根据权利要求2或权利要求3所述的方法,其特征在于,所述第一量子密钥为未被使用过的量子密钥;所述方法还包括:
更新所述量子密钥集合。
10.一种双向身份认证方法,其特征在于,应用于第二设备,方法包括:
在通信双方的收发两端产生无条件安全的共享量子密钥集合,共享量子密钥集合中每个密钥都有对应的状态标识,如果一个密钥仍位于该集合中,其对应的状态标识为被使用或者未被使用;
接收第一设备的认证请求,在所述认证请求中包括第一待认证信息、所述第一设备所使用的用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文,并且由第一设备选择一个未曾使用的第一量子密钥Ki,随机产生两个随机数:第一随机数nonce1和第二随机数nonce2,生成认证请求,第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的;
根据所述认证请求对所述第一设备进行认证;
若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
11.根据权利要求10所述的方法,其特征在于,
所述第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的;
所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
12.根据权利要求11所述的方法,其特征在于,所述根据所述认证请求对所述第一设备进行认证,包括:
根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;
若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;
若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
13.根据权利要求12所述的方法,其特征在于,在所述获取所述解密量子密钥的状态标识后,还包括:
若未查找到所述解密量子密钥或者若根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
14.根据权利要求11所述的方法,其特征在于,所述若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送认证响应消息,包括:
若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;
利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;
利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
15.根据权利要求10-权利要求14任一项所述的方法,其特征在于,所述第二量子密钥为未被使用过的量子密钥;所述方法还包括:
更新所述量子密钥集合。
16.根据权利要求12所述的方法,其特征在于,所述接收第一设备的认证请求,包括:
前端服务器接收所述第一设备的认证请求,并将所述认证请求发送给认证服务器;
所述根据所述认证请求对所述第一设备进行认证,包括:
所述认证服务器根据所述认证请求对所述第一设备进行认证;
所述若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,包括:
若对所述第一设备的认证通过,所述认证服务器生成认证响应消息,并向所述前端服务器发送所述认证响应消息,以使所述前端服务器向所述第一设备发送所述认证响应消息。
17.根据权利要求10-权利要求14任一项所述的方法,其特征在于,在所述接收第一设备的认证请求前,所述方法还包括:
从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;
按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
18.一种双向身份认证装置,其特征在于,包括:
生成模块,用于选择一个未曾使用的第一量子密钥Ki,随机产生两个随机数:第一随机数nonce1和第二随机数nonce2,生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文,第一加密密文是第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的;其中,在通信双方的收发两端产生无条件安全的共享量子密钥集合,共享量子密钥集合中每个密钥都有对应的状态标识,如果一个密钥仍位于该共享量子密钥集合中,其对应的状态标识为被使用或者未被使用;
发送模块,用于向第二设备发送所述认证请求,以使所述第二设备根据所述认证请求进行认证;
接收模块,用于接收所述第二设备发送的认证响应消息,在所述认证响应消息中包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文;
解密模块,用于根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;
认证模块,用于若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
19.根据权利要求18所述的装置,其特征在于,所述生成模块包括:
密钥获取子模块,用于从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;
信息获取子模块,用于获取第一待认证信息和第二待认证信息;
加密子模块,用于利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;
生成子模块,用于利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
20.根据权利要求19所述的装置,其特征在于,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
21.根据权利要求18所述的装置,其特征在于,所述解密模块包括:
查找子模块,用于根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;
获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
22.根据权利要求21所述的装置,其特征在于,所述发送模块还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
23.根据权利要求19或权利要求20所述的装置,其特征在于,所述认证模块具体用于,若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
24.根据权利要求18-权利要求22任一项所述的装置,其特征在于,所述发送模块具体用于,向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;
所述接收模块具体用于,接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
25.根据权利要求18-权利要求22任一项所述的装置,其特征在于,所述装置还包括:
密钥接收模块,用于从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;
密钥处理模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
密钥存储模块,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
26.根据权利要求18-权利要求22任一项所述的装置,其特征在于,所述第一量子密钥为未被使用过的量子密钥;
所述装置还包括:更新模块,用于更新所述量子密钥集合。
27.一种双向身份认证装置,其特征在于,包括:
接收模块,用于接收第一设备的认证请求,在所述认证请求中包括第一待认证信息、所述第一设备所使用的用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;其中,在通信双方的收发两端产生无条件安全的共享量子密钥集合,共享量子密钥集合中每个密钥都有对应的状态标识,如果一个密钥仍位于该共享量子密钥集合中,其对应的状态标识为被使用或者未被使用,并且由第一设备选择一个未曾使用的第一量子密钥Ki,随机产生两个随机数:第一随机数nonce1和第二随机数nonce2,生成认证请求,第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的;
认证模块,用于根据所述认证请求对所述第一设备进行认证;
发送模块,用于若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
28.根据权利要求27所述的装置,其特征在于,所述第一加密密文是所述第一设备利用所述第一量子密钥加密第一待认证信息和第二待认证信息获得的;
所述第一待认证信息为所述第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
29.根据权利要求28所述的装置,其特征在于,所述认证模块包括:
查找子模块,用于根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;
获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;
认证子模块,用于若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
30.根据权利要求29所述的装置,其特征在于,所述发送模块还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
31.根据权利要求28所述的装置,其特征在于,所述发送模块包括:
获取子模块,用于若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;
加密子模块,用于利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;
发送子模块,用于利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
32.根据权利要求27-权利要求31任一项所述的装置,其特征在于,所述第二量子密钥为未被使用过的量子密钥;所述装置还包括:
更新模块,用于更新所述量子密钥集合。
33.根据权利要求27-权利要求31任一项所述的装置,其特征在于,所述装置还包括:
密钥接收模块,用于从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;
密钥处理模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
密钥存储模块,用于存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710010373.0A CN108282329B (zh) | 2017-01-06 | 2017-01-06 | 一种双向身份认证方法及装置 |
PCT/CN2018/071514 WO2018127118A1 (zh) | 2017-01-06 | 2018-01-05 | 一种身份认证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710010373.0A CN108282329B (zh) | 2017-01-06 | 2017-01-06 | 一种双向身份认证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108282329A CN108282329A (zh) | 2018-07-13 |
CN108282329B true CN108282329B (zh) | 2021-01-15 |
Family
ID=62800893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710010373.0A Active CN108282329B (zh) | 2017-01-06 | 2017-01-06 | 一种双向身份认证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108282329B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108347404B (zh) * | 2017-01-24 | 2021-10-26 | 中国移动通信有限公司研究院 | 一种身份认证方法及装置 |
CN110958209B (zh) * | 2018-09-27 | 2022-06-24 | 广东国盾量子科技有限公司 | 基于共享密钥的双向认证方法及系统、终端 |
CN109327308B (zh) * | 2018-10-30 | 2020-08-04 | 成都信息工程大学 | 一种具有双向身份认证功能的量子密钥分发方法及系统 |
CN111181894B (zh) * | 2018-11-09 | 2023-06-06 | 北京天德科技有限公司 | 一种让区块链节点间高效通信且安全的网络通讯方法 |
CN112448970A (zh) * | 2019-08-29 | 2021-03-05 | 阿里巴巴集团控股有限公司 | 设备连接方法、系统及相应的物联网设备 |
CN111599043A (zh) * | 2020-05-06 | 2020-08-28 | 浙江中邦数码科技有限公司 | 一种智能锁及其加密控制方法 |
CN114650151A (zh) * | 2020-12-15 | 2022-06-21 | 宝能汽车集团有限公司 | 基于车辆can总线的数据传输方法、装置、系统和存储介质 |
CN112667992A (zh) * | 2021-01-25 | 2021-04-16 | 深圳市欢太科技有限公司 | 认证方法、认证装置、存储介质与电子设备 |
CN112883364A (zh) * | 2021-03-10 | 2021-06-01 | 上海升途智能系统有限公司 | 安全载体的管控方法、装置、设备及存储介质 |
WO2023151427A1 (zh) * | 2022-02-14 | 2023-08-17 | 华为技术有限公司 | 量子密钥传输方法、装置及系统 |
CN115002770A (zh) * | 2022-05-24 | 2022-09-02 | 矩阵时光数字科技有限公司 | 一种基于量子密钥的近场通信系统 |
CN115801448A (zh) * | 2023-01-09 | 2023-03-14 | 北京中科网威信息技术有限公司 | 数据通信方法及系统 |
CN117177239B (zh) * | 2023-11-03 | 2024-01-02 | 合肥工业大学 | 一种基于量子密钥的tsp平台数据加密通信系统及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6606491B1 (en) * | 1998-06-26 | 2003-08-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Subscriber validation method in cellular communication system |
CN101378582B (zh) * | 2007-08-29 | 2012-04-11 | 中国移动通信集团公司 | 用户识别模块、鉴权中心、鉴权方法及系统 |
CN101621434A (zh) * | 2008-06-30 | 2010-01-06 | 华为技术有限公司 | 无线网状网络系统以及密钥分配的方法 |
CN101815294B (zh) * | 2009-02-20 | 2013-08-14 | 华为技术有限公司 | P2p网络的接入认证方法、设备和系统 |
JP2011130120A (ja) * | 2009-12-16 | 2011-06-30 | Sony Corp | 量子公開鍵暗号システム、鍵生成装置、暗号化装置、復号装置、鍵生成方法、暗号化方法、及び復号方法 |
US9509506B2 (en) * | 2011-09-30 | 2016-11-29 | Los Alamos National Security, Llc | Quantum key management |
CN103997484B (zh) * | 2014-02-28 | 2017-03-29 | 山东量子科学技术研究院有限公司 | 一种量子密码网络sip信令安全通信系统及方法 |
CN105337726A (zh) * | 2015-04-06 | 2016-02-17 | 安徽问天量子科技股份有限公司 | 基于量子密码的端对端手持设备加密方法及系统 |
CN104780040A (zh) * | 2015-04-06 | 2015-07-15 | 安徽问天量子科技股份有限公司 | 基于量子密码的手持设备加密方法及系统 |
CN105471584B (zh) * | 2015-12-04 | 2019-02-22 | 长春大学 | 一种基于量子密钥加密的身份认证方法 |
CN105846995A (zh) * | 2015-12-10 | 2016-08-10 | 安徽问天量子科技股份有限公司 | VoLTE量子加密终端及加密方法 |
-
2017
- 2017-01-06 CN CN201710010373.0A patent/CN108282329B/zh active Active
Non-Patent Citations (1)
Title |
---|
新兴的身份认证技术;凌捷编著;《信息化建设与信息安全》;广东人民出版社;20130430;第190页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108282329A (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282329B (zh) | 一种双向身份认证方法及装置 | |
US10785019B2 (en) | Data transmission method and apparatus | |
CN108347404B (zh) | 一种身份认证方法及装置 | |
CN107040369B (zh) | 数据传输方法、装置及系统 | |
Tseng et al. | A chaotic maps-based key agreement protocol that preserves user anonymity | |
CN106789042B (zh) | Ibc域内的用户访问pki域内的资源的认证密钥协商方法 | |
US20140122888A1 (en) | Method for password based authentication and apparatus executing the method | |
US20140192976A1 (en) | Method and system for id-based encryption and decryption | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
US20210097187A1 (en) | Protecting data from brute force attack | |
CN108809633B (zh) | 一种身份认证的方法、装置及系统 | |
WO2018127118A1 (zh) | 一种身份认证方法及装置 | |
CN104253694A (zh) | 一种用于网络数据传输的保密方法 | |
KR20170035665A (ko) | 키 교환 장치 및 방법 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN110535626B (zh) | 基于身份的量子通信服务站保密通信方法和系统 | |
CN104270242A (zh) | 一种用于网络数据加密传输的加解密装置 | |
CN104735070A (zh) | 一种通用的异构加密云间的数据共享方法 | |
CN104901803A (zh) | 一种基于cpk标识认证技术的数据交互安全保护方法 | |
CN204180095U (zh) | 一种用于网络数据加密传输的加解密装置 | |
Guo et al. | A Secure and Efficient Mutual Authentication and Key Agreement Protocol with Smart Cards for Wireless Communications. | |
JP2020532177A (ja) | データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法 | |
CN110519226B (zh) | 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统 | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 | |
CN108429717B (zh) | 一种身份认证方法及装置 |
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 |