CN108155992B - 一种生成可信密钥的方法 - Google Patents
一种生成可信密钥的方法 Download PDFInfo
- Publication number
- CN108155992B CN108155992B CN201810249193.2A CN201810249193A CN108155992B CN 108155992 B CN108155992 B CN 108155992B CN 201810249193 A CN201810249193 A CN 201810249193A CN 108155992 B CN108155992 B CN 108155992B
- Authority
- CN
- China
- Prior art keywords
- key
- server
- request
- hash
- secreta
- 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
- 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
-
- 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 And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种生成可信密钥的方法,该方法首先由密钥生成所涉及的两方分别生成相应的连接信息,将连接信息经哈希后发送给服务器,由服务器根据接收的信息对双方身份进行验证后,为双方随机生成密钥。该方法简单可靠,对计算能力要求低,可以适应于各种计算设备。
Description
技术领域
本发明属于信息安全领域,尤其涉及一种生成可信密钥的方法。
背景技术
近年来,随着互联网开始大规模进入人们的生活,网络安全日益成为关注的焦点。为了保障网络通信的安全性、隐秘性,网络通信通常需要在加密信道下进行,这就需要通过密钥进行加密。密钥可以通过事先协商确定,但是对于网络上的任意两个人而言,他们没有事先协商的可能,需要临时生成两人间的加密密钥,并且需要在确认对方的情况下进行协商。现有技术中已经有了一些密钥生成的方法,但是这些方法通常比较繁琐,实现比较复杂。
发明内容
为了解决现有技术中的上述问题,本发明提供了一种简单可靠的生成可信密钥的方法。
本发明采用的技术方案具体如下:
一种生成可信密钥的方法,该方法包括以下特征:
(1)密钥请求方向密钥接收方发起连接请求,在连接请求中携带了一个随机生成的连接码LA和请求码ID;
(2)密钥接收方在收到连接请求后,也随机生成一个连接码LB,然后向密钥请求方发送一个应答消息;
(3)密钥请求方在收到应答消息后,向服务器发送一个密钥请求消息KeyRequestA,所述KeyRequestA中包括连接码LA、请求码ID和哈希结果HA,其中HA=Hash(SecretA⊕LA)};密钥接收方同时向服务器发送另一个密钥请求消息KeyRequestB,所述KeyRequestB包括请求码ID、LC和哈希结果HB;
其中,SecretA是密钥请求方在服务器注册时获得的秘密信息,SecretB是密钥接收方在服务器注册时获得的秘密信息;Hash是一个哈希函数;
(4)服务器在接收到上述两个密钥请求消息后,首先基于请求码ID确定这两个密钥请求消息是来自一对密钥请求方和接收方;然后分别对两个密钥请求消息中的哈希结果进行验证,如果有一个验证不通过,则服务器忽略这两个密钥请求消息,方法结束;如果验证都通过,则继续后续步骤;
(5)服务器随机生成一个密钥Key,分别计算KA和KB,即:
KA=Key⊕SecretA,KB=Key⊕SecretB
然后服务器将KA发送给密钥请求方,将KB发送给密钥接收方;
(6)密钥请求方接收到KA后,计算出Key=KA⊕SecretA;密钥接收方接收到KB后,计算Key=KB⊕SecretB。
进一步地,所述步骤4包括:
对于KeyRequestA,服务器自行计算Hash(SecretA⊕LA),判断计算结果与HA是否相等,如果不相等,则KeyRequestA验证不通过,否则KeyRequestA验证通过。
进一步地,所述步骤4还包括:
对于KeyRequestB,服务器自行计算Hash(SecretB⊕LA⊕LB),判断计算结果与HB是否相等,如果不相等,则KeyRequestB验证不通过,否则KeyRequestB验证通过。
进一步地,SecretA和SecretB是密钥请求方和密钥接收方在服务器进行注册时,由服务器随机生成的秘密信息。
进一步地,SecretA和SecretB是不少于1024位的二进制数。
本发明的有益效果为:在不降低安全性的情况下,相对现有技术,本发明的方法更加简单可靠,降低了实现的复杂性,对计算能力要求低,可以应用于不同计算能力的设备。
附图说明
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明密钥生成过程所涉及的三方。
具体实施方式
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
本发明生成密钥的过程涉及到三方:密钥请求方、密钥接收方和服务器。所述密钥请求方和接收方是网络上需要进行加密通信的双方。所述密钥请求方是发起所述加密通信的一方,并由所述密钥请求方发起密钥的生成过程。所述密钥接收方法是接受加密通信的一方,并配合所述密钥请求方发起的密钥生成过程。
所述服务器是一个中立的可信第三方,其用于在事先为需要生成密钥的各方进行注册,并为各方分别提供一个随机生成的秘密信息。例如,A到所述服务器进行注册,服务器对A的身份进行认证后,随机生成一个秘密信息Secret,优选的,为了保证足够的安全,Secret是不少于1024位的二进制数。该秘密信息提供给A,由A和服务器分别保存。
基于上述三方结构,下面对本发明生成密钥的过程进行详细说明:
(1)密钥请求方向密钥接收方发起连接请求,在连接请求中携带了一个连接码LA和请求码ID;所述连接码LA和请求码ID都是由密钥请求方随机生成的一个数字。
为了安全考虑,所述连接码的位数应当足够长,优选的,连接码应当与上述秘密信息Secret一样,不少于1024位。
(2)密钥接收方在收到连接请求后,也随机生成一个连接码LB,然后向密钥请求方发送一个应答消息。
与连接码LA一样,连接码LB的位数也应当足够长,优选情况下,LB与LA的位数相同。但是,LB并不包括在应答消息中,该应答消息只是告知密钥请求方,密钥接收方收到了请求,并准备好生成密钥。
(3)密钥请求方在收到应答消息后,向服务器发送一个密钥请求消息KeyRequestA,所述KeyRequestA中包括连接码LA、请求码ID和哈希结果HA,其中HA=Hash(SecretA⊕LA)}。
密钥接收方同时向服务器发送另一个密钥请求消息KeyRequestB,所述KeyRequestB包括请求码ID、LC和哈希结果HB。
其中LC=LA⊕LB,HB=Hash(SecretB⊕LA⊕LB)。
其中,SecretA是密钥请求方在服务器注册时获得的秘密信息,SecretB是密钥接收方在服务器注册时获得的秘密信息。Hash是一个哈希函数,其可以使用本领域中任意一种公知的哈希算法。
密钥请求方和密钥接收方的哈希计算中都包括了其自身随机生成的数字,这样可以避免被中间人获取指定的哈希结果,保证了安全性。
(4)服务器在接收到上述两个密钥请求消息后,首先基于请求码ID确定这两个密钥请求消息是来自一对密钥请求方和接收方;然后分别对两个密钥请求消息中的哈希结果进行验证,如果有一个验证不通过,则服务器忽略这两个密钥请求消息,方法结束;如果验证都通过,则继续后续步骤。
具体验证过程是:
对于KeyRequestA,服务器自行计算Hash(SecretA⊕LA)(由于服务器事先保存了SerectA,所以服务器可以计算该Hash),判断计算结果与HA是否相等,如果不相等,则验证不通过,否则验证通过。
对于KeyRequestB,服务器自行计算Hash(SecretB⊕LA⊕LB),判断计算结果与HB是否相等,如果不相等,则验证不通过,否则验证通过。
(5)服务器随机生成一个密钥Key,分别计算KA和KB,即:
KA=Key⊕SecretA,KB=Key⊕SecretB
然后服务器将KA发送给密钥请求方,将KB发送给密钥接收方。
(6)密钥请求方接收到KA后,计算出Key=KA⊕SecretA;密钥接收方接收到KB后,计算Key=KB⊕SecretB。
至此,密钥请求方和密钥接收方都各自获得了共同的密钥Key,从而可以基于该密钥进行加密通信等操作。
从以上过程可以看出,整个个密钥生成过程只涉及异或计算,计算过程简单,因此对密钥请求方和密钥接收方的计算能力要求很低,因此即使这两方都是计算机能力较低的设备,也可以完成密钥生成过程。并且,每一次的密钥生成过程都依赖于双方生成的连接码,并且需要可信的服务器居中验证,服务器分别验证了双方的身份后,生成密钥,因此整个过程具有足够的安全性,并且在后期可以追溯生成密钥的双方身份。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。
Claims (5)
1.一种生成可信密钥的方法,其特征在于,该方法包括以下特征:
(1)密钥请求方向密钥接收方发起连接请求,在连接请求中携带了一个随机生成的连接码LA和请求码ID;
(2)密钥接收方在收到连接请求后,也随机生成一个连接码LB,然后向密钥请求方发送一个应答消息;
(3)密钥请求方在收到应答消息后,向服务器发送一个密钥请求消息KeyRequestA,所述KeyRequestA中包括连接码LA、请求码ID和哈希结果HA,其中HA=Hash(SecretA⊕LA);密钥接收方同时向服务器发送另一个密钥请求消息KeyRequestB,所述KeyRequestB包括请求码ID、LC和哈希结果HB;其中LC=LA⊕LB,HB=Hash(SecretB⊕LA⊕LB);
其中,SecretA是密钥请求方在服务器注册时获得的秘密信息,SecretB是密钥接收方在服务器注册时获得的秘密信息;Hash是一个哈希函数;
(4)服务器在接收到上述两个密钥请求消息后,首先基于请求码ID确定这两个密钥请求消息是来自一对密钥请求方和接收方;然后分别对两个密钥请求消息中的哈希结果进行验证,如果有一个验证不通过,则服务器忽略这两个密钥请求消息,方法结束;如果验证都通过,则继续后续步骤;
(5)服务器随机生成一个密钥Key,分别计算KA和KB,即:
KA=Key⊕SecretA,KB=Key⊕SecretB
然后服务器将KA发送给密钥请求方,将KB发送给密钥接收方;
(6)密钥请求方接收到KA后,计算出Key=KA⊕SecretA;密钥接收方接收到KB后,计算Key=KB⊕SecretB。
2.根据权利要求1所述的方法,其特征在于,所述步骤4包括:
对于KeyRequestA,服务器自行计算Hash(SecretA⊕LA),判断计算结果与HA是否相等,如果不相等,则KeyRequestA验证不通过,否则KeyRequestA验证通过。
3.根据权利要求2所述的方法,其特征在于,所述步骤4还包括:
对于KeyRequestB,服务器自行计算Hash(SecretB⊕LA⊕LB),判断计算结果与HB是否相等,如果不相等,则KeyRequestB验证不通过,否则KeyRequestB验证通过。
4.根据权利要求1-3任意一项所述的方法,其特征在于,SecretA和SecretB是密钥请求方和密钥接收方在服务器进行注册时,由服务器随机生成的秘密信息。
5.根据权利要求1-3任意一项所述的方法,其特征在于,SecretA和SecretB是不少于1024位的二进制数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810249193.2A CN108155992B (zh) | 2018-03-22 | 2018-03-22 | 一种生成可信密钥的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810249193.2A CN108155992B (zh) | 2018-03-22 | 2018-03-22 | 一种生成可信密钥的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108155992A CN108155992A (zh) | 2018-06-12 |
CN108155992B true CN108155992B (zh) | 2022-01-04 |
Family
ID=62456305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810249193.2A Active CN108155992B (zh) | 2018-03-22 | 2018-03-22 | 一种生成可信密钥的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108155992B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348085B (zh) * | 2022-08-12 | 2023-06-02 | 长江量子(武汉)科技有限公司 | 一种基于量子加密的防疫管理方法及防疫终端 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008141581A (ja) * | 2006-12-04 | 2008-06-19 | Fujitsu Ltd | 秘密情報アクセス認証システム及びその方法 |
CN101594233B (zh) * | 2009-06-26 | 2012-01-04 | 成都市华为赛门铁克科技有限公司 | 上传信息的方法、接收信息的方法和设备及通信*** |
CN104618099B (zh) * | 2013-11-05 | 2018-10-30 | 北京智德创辉网络科技有限公司 | 一种身份验证方法、装置及*** |
CN104252674A (zh) * | 2014-09-04 | 2014-12-31 | 天津大学 | 基于椭圆曲线密码的自验证机制手机交易方法 |
CN107425964A (zh) * | 2017-05-09 | 2017-12-01 | 哈尔滨工业大学深圳研究生院 | 基于信息泄露容错智能卡的三方口令认证与密钥协商协议 |
-
2018
- 2018-03-22 CN CN201810249193.2A patent/CN108155992B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108155992A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109699031B (zh) | 采用共享密钥、公钥和私钥的验证方法及装置 | |
CN109714167B (zh) | 适用于移动应用签名的身份认证与密钥协商方法及设备 | |
CN111314056B (zh) | 基于身份加密体制的天地一体化网络匿名接入认证方法 | |
CN109412790B (zh) | 一种面向物联网的用户认证与密钥协商***及方法 | |
CN111682938B (zh) | 面向中心化移动定位***的三方可认证密钥协商方法 | |
JP7105308B2 (ja) | デジタル署名方法、装置及びシステム | |
CN105391734A (zh) | 一种安全登录***及方法、登录服务器和认证服务器 | |
CN107517194B (zh) | 一种内容分发网络的回源认证方法和装置 | |
CN113873508A (zh) | 基于用户双公私钥的边缘计算双向认证方法及*** | |
CN113572765A (zh) | 一种面向资源受限终端的轻量级身份认证密钥协商方法 | |
Xu et al. | A computationally efficient authentication and key agreement scheme for multi-server switching in WBAN | |
Ma et al. | A robust authentication scheme for remote diagnosis and maintenance in 5G V2N | |
CN103368918A (zh) | 一种动态口令认证方法、装置及*** | |
CN108155992B (zh) | 一种生成可信密钥的方法 | |
CN115955320B (zh) | 一种视频会议身份认证方法 | |
CN116318739B (zh) | 一种电子数据交换方法及*** | |
CN111355588B (zh) | 一种基于puf与指纹特征的可穿戴设备双因子认证方法及*** | |
CN114584975B (zh) | 一种基于sdn的抗量子卫星网络接入认证方法 | |
CN116599659A (zh) | 无证书身份认证与密钥协商方法以及*** | |
CN111245611A (zh) | 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及*** | |
CN108155991B (zh) | 一种可信密钥的生成*** | |
CN108449347B (zh) | 一种密钥生成服务器 | |
US11570008B2 (en) | Pseudonym credential configuration method and apparatus | |
CN108449346B (zh) | 一种密钥生成客户端 | |
Al-juaifari | Secure SMS Mobile Transaction with Peer to Peer Authentication Design for Mobile Government |
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 |