CN106452736B - 密钥协商方法和系统 - Google Patents
密钥协商方法和系统 Download PDFInfo
- Publication number
- CN106452736B CN106452736B CN201610662593.7A CN201610662593A CN106452736B CN 106452736 B CN106452736 B CN 106452736B CN 201610662593 A CN201610662593 A CN 201610662593A CN 106452736 B CN106452736 B CN 106452736B
- Authority
- CN
- China
- Prior art keywords
- participant
- key
- key component
- random number
- component
- 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
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/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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种密钥协商方法和系统,所述方法包括:所用方法应用于第三方,第三方中保存有密钥数据表,密钥数据表中包括对应各个参与方的密钥部件,所述方法包括以下步骤:向当前参与方发送第一密钥部件,第一密钥部件根据密钥数据表中各个密钥部件确定;接收当前参与方返回的第二密钥部件,第二密钥部件根据第一密钥部件、对应当前参与方的随机数和对应第三方的素数生成;根据第二密钥部件和第一密钥部件确定更新操作;根据更新操作更新密钥数据表中除当前参与方对应的密钥部件外剩余的密钥部件。本发明各个参与方通过与第三方交互进行密钥协商,参与方运算量小,交互轮数小,降低系统开销,在安全性和实用性上更加占优,容易投入到实际中。
Description
技术领域
本发明涉及密码学与信息安全技术领域,特别是涉及一种密钥协商方法和系统。
背景技术
密钥协商问题是密码学的一个基本问题,该问题的方案研究和应用一直是热点。Diffie-Hellman协议是一个众所周知的在不安全的信道上通过交换消息来建立会话密钥的协议。它的安全性基于Diffie-Hellman离散对数问题。然而,Diffie-Hellman协议的主要问题是它不能抵抗中间人攻击,因为它不能提供用户身份验证。
而当前已有的密钥协商协议包括双方密钥协商协议、双方非交互式的静态密钥协商协议、双方一轮密钥协商协议、双方可验证身份的密钥协商协议以及三方相对应类型的协议等,这些协议通过引入新的工具解决了传统Diffie-Hellman协议的漏洞。但安全性的引入却大大增加了系统的开销,使得其难以推广到实际使用中。
发明内容
基于此,有必要针对现有通过引入新的工具解决传统协议漏洞时,大大增加系统开销,难以推广到实际使用的问题,提供一种密钥协商方法和系统。
为了实现上述目的,本发明技术方案的实施例为:
一种密钥协商方法,所用方法应用于第三方,所述第三方中保存有密钥数据表,所述密钥数据表中包括对应各个密钥协商的参与方的密钥部件,所述方法包括以下步骤:
向当前参与方发送第一密钥部件,所述第一密钥部件根据所述密钥数据表中各个所述密钥部件确定;
接收所述当前参与方返回的第二密钥部件,所述第二密钥部件根据所述第一密钥部件、对应所述当前参与方的随机数和对应所述第三方的素数生成;
根据所述第二密钥部件和所述第一密钥部件确定更新操作;
根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的密钥部件。
一种密钥协商系统,所用系统应用于第三方,所述第三方中保存有密钥数据表,所述密钥数据表中包括对应各个密钥协商的参与方的密钥部件,所述系统包括:
第一密钥部件发送模块,用于向当前参与方发送第一密钥部件,所述第一密钥部件根据所述密钥数据表中各个所述密钥部件确定;
第二密钥部件接收模块,用于接收所述当前参与方返回的第二密钥部件,所述第二密钥部件根据所述第一密钥部件、对应所述当前参与方的随机数和对应所述第三方的素数生成;
更新操作确定模块,用于根据所述第二密钥部件和所述第一密钥部件确定更新操作;
密钥部件更新模块,用于根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的密钥部件。
与现有技术相比,本发明的有益效果为:本发明密钥协商方法和系统,应用于第三方,首先向当前参与方发送第一密钥部件,然后接收当前参与方返回的第二密钥部件,根据第二密钥部件和第一密钥部件确定更新操作,最后根据该更新操作更新保存的密钥数据表中除当前参与方对应的密钥部件外剩余的密钥部件。本发明各个参与方通过与第三方交互进行密钥协商,参与方运算量小,交互轮数小,降低系统开销,易于整合到业务系统,用户安全体验直观,在安全性和实用性上更加占优,更加容易投入到实际使用中。
附图说明
图1为一个实施例中密钥协商方法流程图;
图2为一个实施例中密钥协商系统结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
一个实施例中密钥协商方法,所用方法应用于第三方,所述第三方中保存有密钥数据表,所述密钥数据表中包括对应各个密钥协商的参与方的密钥部件,如图1所示,所述方法包括以下步骤:
步骤S101:向当前参与方发送第一密钥部件,所述第一密钥部件根据所述密钥数据表中各个所述密钥部件确定;
步骤S102:接收所述当前参与方返回的第二密钥部件,所述第二密钥部件根据所述第一密钥部件、对应所述当前参与方的随机数和对应所述第三方的素数生成;
步骤S103:根据所述第二密钥部件和所述第一密钥部件确定更新操作;
步骤S104:根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的密钥部件。
从以上描述可知,本发明密钥协商方法,各个参与方通过与第三方交互进行密钥协商,参与方运算量小,交互轮数小,降低系统开销,易于整合到业务系统,用户安全体验直观,在安全性和实用性上更加占优,更加容易投入到实际使用中。
此外,在一个具体示例中,在接收所述当前参与方返回的第二密钥部件之后,根据所述第二密钥部件和所述第一密钥部件确定更新操作之前,还包括步骤:
接收所述当前参与方返回的随机数密文,所述随机数密文根据对应所述当前参与方的随机数和加密公钥生成;
将所述随机数密文与所述当前参与方关联后保存在所述密钥数据表中。
根据从当前参与方拥有的数字证书中获取的加密公钥对当前参与方对应的随机数进行加密,生成当前参与方对应的随机数密文,保证了协商过程的隐私性和公平性;数字证书的引入解决了传统Diffie-Hellman协议用户身份验证漏洞。
此外,在一个具体示例中,在根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的各个密钥部件之后,还包括步骤:
判断是否已经向各个所述参与方中除所述当前参与方外剩余的各个参与方发送第一密钥部件;
当判断各个所述参与方中除所述当前参与方外剩余的各个参与方有尚未被发送第一密钥部件的参与方时,将一个尚未被发送第一密钥部件的参与方作为新的当前参与方,返回所述向当前参与方发送第一密钥部件的步骤。
在第三方向当前参与方发送第一密钥部件,接收当前参与方返回的第二密钥部件,根据第二密钥部件和第一密钥部件确定更新操作,根据该更新操作更新保存的密钥数据表中除当前参与方对应的密钥部件外剩余的密钥部件后,判断各个参与方中除当前参与方外剩余的各个参与方是否有尚未被发送第一密钥部件的参与方,若有,将一个尚未被发送第一密钥部件的参与方作为新的当前参与方,返回上述向当前参与方发送第一密钥部件的步骤,最后得到一个根据各个参与方确定的更新操作更新保存的密钥数据表后生成的新的密钥数据表。
此外,在一个具体示例中,当判断已经向各个所述参与方中除所述当前参与方外剩余的各个参与方发送第一密钥部件时,判断是否接收到各个所述参与方中的任意一个参与方发送的密钥部件和随机数密文下载指令;
当判断接收到各个所述参与方中的任意一个参与方发送的密钥部件和随机数密文下载指令时,根据所述密钥部件和随机数密文下载指令中的参与方身份标识获取所述密钥数据表保存的与所述参与方身份标识对应的参与方的密钥部件和随机数密文,将获取的密钥部件和随机数密文发送给与所述参与方身份标识对应的参与方。
在得到根据各个参与方确定的更新操作更新保存的密钥数据表生成新的密钥数据表后,判断是否接收到一个参与方发送的密钥部件和随机数密文下载指令,若是,返回该参与方密钥数据表保存的与该参与方对应的密钥部件和随机数密文。
此外,在一个具体示例中,所述第一密钥部件根据所述密钥数据表中各个所述密钥部件中的非重复的密钥部件确定。
例如密钥数据表有三个参与方P1、P2、P3,密钥数据表中参与方P1的密钥部件都为g,参与方P2、P3的密钥部件都为gx1,第三方根据保存的密钥数据表中三个参与方的密钥部件确定第一密钥部件为g,gx1,即可信第三方根据保存的密钥数据表中非重复的密钥部件确定第一密钥部件。
为了更好地理解上述方法,以下详细阐述一个本发明密钥协商方法的应用实例。
现有离散对数困难问题:
给定一个素数p和有限域Zp上的一个本原元g;对Zp上整数y,寻找唯一的整数x,使得gx=y(mod p)。
Diffie-Hellman密钥协商原理:
假如用户A和用户B希望交换一个密钥,该密钥用于后续数据共享。
取素数p和有限域Zp上的一个本原元g,公开g和p。
1)A选择随机数xA∈Zp-2,计算并且把yA发送给用户B。
2)B选择随机数xB∈Zp-2,计算并且把yB发送给用户A。
3)A计算出共享密钥:
4)B计算出共享密钥:
由于xA和xB是保密的,而第三方只有g、p、yA、yB可以利用,只有通过取离散对数来确定密钥,但对于大的素数p,计算离散对数是十分困难的。
协议参与方
平台TTP
参与方P1,P2…,Pn
协议目标
参与方P1,P2…,Pn共同协商出用于密码操作的共享密钥k
协议流程
方案1:基本方案
1)密钥建立阶段(参与方P1,P2…,Pn以串行的方式执行协议)
1、平台TTP挑选一个大素数p和有限域Zp上的一个本原元g,并将g和p公开到公告板上。
2、平台TTP创建如下密钥数据表用于密钥协商过程中相关数据的存放,并将密钥部件一列初始化为本原元g。
参与方 | 随机数密文 | 密钥部件 |
P<sub>1</sub> | g | |
P<sub>2</sub> | g | |
…… | …… | …… |
P<sub>i</sub> | g | |
…… | …… | …… |
P<sub>n-1</sub> | g | |
P<sub>n</sub> | g |
3、参与方P1首先从平台TTP中下载如上数据表,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方P1然后挑选随机数x1∈Zp-2,对非当前参与方P1的密钥部件项进行计算更新,接着使用其数字证书中的加密公钥pk1对随机数x1进行加密得到并更新当前参与方P1的随机数密文项,销毁x1;最后上传如下数据表,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
4、参与方P2首先从平台TTP中下载如上数据表,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方P2然后挑选随机数x2∈Zp-2,对非当前参与方P2的密钥部件项进行计算更新,接着使用其数字证书中的加密公钥pk2对随机数x2进行加密得到并更新当前参与方P2的随机数密文项,销毁x2;最后上传如下数据表,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
5、参与方Pi首先从平台TTP中下载如上数据表,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方Pi然后挑选随机数xi∈Zp-2,对非当前参与方Pi的密钥部件项进行计算更新,接着使用其数字证书中的加密公钥pki对随机数xi进行加密得到并更新当前参与方Pi的随机数密文项,销毁xi;最后上传如下数据表,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
6、参与方Pn-1首先从平台TTP中下载如上数据表,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方Pn-1然后挑选随机数xn-1∈Zp-2,对非当前参与方Pn-1的密钥部件项进行计算更新,接着使用其数字证书中的加密公钥pkn-1对随机数xn-1进行加密得到并更新当前参与方Pn-1的随机数密文项,销毁xn-1;最后上传如下数据表,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
7、参与方Pn首先从平台TTP中下载如上数据表,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方Pn然后挑选随机数xn∈Zp-2,对非当前参与方Pn的密钥部件项进行计算更新,接着使用其数字证书中的加密公钥pkn对随机数xn进行加密得到并更新当前参与方Pn的随机数密文项,销毁xn;最后上传如下数据表,完成数据表的建立。
参与方发出下载请求的时候,平台TTP首先检查该参与方是否已经更新过数据表,假如没有,允许其下载请求;否则,拒绝其下载请求。这种重放检测可以防止恶意攻击者对密钥建立过程的扰乱和破坏。
2)密钥生成阶段(参与方P1,P2…,Pn以并行的方式执行协议)
参与方Pi(i=1,……,n)首先从平台TTP下载所有参与方均更新后的数据表,提取其对应的随机数密文和密钥部件,然后使用其数字证书中的解密私钥ski对进行解密得出xi,最后计算从而得出共享密钥最后销毁数据表。
随机数安全角度:协议执行过程中,参与方Pi(i=1,……,n)下载的数据表中包含其他参与方Pj的随机数密文(j=1,……,n且i≠j),虽然随机数xj已经过足够安全的非对称加密算法进行加密保护,但恶意攻击者还是会将数据表离线保存下来,进行时间攻击,潜在从随机数密文中推敲出随机数xj的可能性,进而得出共享密钥。因此,在密钥更新过程中,优化后只允许参与方下载密钥部件进行计算,从而杜绝以上这种隐患。
通信量优化角度:协议执行过程中,参与方Pi(i=1,……,n)下载的是整个数据表,当参与密钥协商的人数增多的时候,其数据表的大小也随之增大;对于网络带宽条件不好的环境,下载数据量较大的整个数据表会是一个瓶颈。因此,只允许参与方下载密钥部件,从通信量上就从表级别降低到组件级别,从而大大降低了传送的数据。
而根据平台TTP的智能程度,可以得出如下两个方案:
方案2:智能TTP
当参与方下载密钥部件的时候,智能TTP能够自动推送非重复的密钥部件给当前参与方。当参与方上传密钥部件的时候,智能TTP能够自动更新当前参与方的随机数密文和非当前参与方的密钥部件。
1)密钥建立阶段(参与方P1,P2…,Pn以串行的方式执行协议)
1、平台TTP挑选一个大素数p和有限域Zp上的一个本原元g,并将g和p公开到公告板上。
2、平台TTP创建如下数据表用于密钥协商过程中相关数据的存放,并将密钥部件一列初始化为本原元g。
3、参与方P1首先从平台TTP中下载其对应的密钥部件g,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方P1然后挑选随机数x1∈Zp-2,计算使用其数字证书中的加密公钥pk1对随机数x1进行加密得到最后将 上传到平台TTP上,销毁x1。
4、平台TTP用更新参与方P1的随机数密文项,用更新剔除参与方P1后的密钥部件项;然后,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
5、参与方P2首先从平台TTP中下载其对应的密钥部件和已操作方P1对应的密钥部件g,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方P2然后挑选随机数x2∈Zp-2,计算使用其数字证书中的加密公钥pk2对随机数x2进行加密得到最后将 上传到平台TTP上,销毁x2。
6、平台TTP用更新参与方P2的随机数密文项,用更新已操作方P1的密钥部件项,更新剔除已操作方P1和参与方P2后的密钥部件项;然后,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
7、参与方Pi首先从平台TTP中下载其对应的密钥部件和已操作方P1,P2,……,Pi-2,Pi-1对应的密钥部件 然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方Pi然后挑选随机数xi∈Zp-2,计算 使用其数字证书中的加密公钥pki对随机数xi进行加密得到最后将 上传到平台TTP上,销毁xi。
8、平台TTP用更新参与方Pi的随机数密文项,用 更新已操作方P1,P2,……,Pi-2,Pi-1的密钥部件项,更新剔除已操作方P1,P2,……,Pi-2,Pi-1和参与方Pi后的密钥部件项;然后,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
9、参与方Pn-1首先从平台TTP中下载其对应的密钥部件和已操作方P1,P2,……,Pn-3,Pn-2对应的密钥部件 然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方Pn-1然后挑选随机数xn-1∈Zp-2,计算 使用其数字证书中的加密公钥pkn-1对随机数xn-1进行加密得到最后将 上传到平台TTP上,销毁xn-1。
10、平台TTP用更新参与方Pn-1的随机数密文项,用更新已操作方P1,P2,……,Pn-3,Pn-2的密钥部件项,更新剔除已操作方P1,P2,……,Pn-3,Pn-2和参与方Pn-1后的密钥部件项;然后,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
11、参与方Pn首先从平台TTP中下载已操作方P1,P2,……,Pn-2,Pn-1对应的密钥部件 然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;参与方Pn然后挑选随机数xn∈Zp-2,计算 使用其数字证书中的加密公钥pkn对随机数xn进行加密得到最后将 上传到平台TTP上,销毁xn。
12、平台TTP用更新参与方Pn的随机数密文项,用 更新已操作方P1,P2,……,Pn-2,Pn-1的密钥部件项。
参与方发出下载请求的时候,平台TTP首先检查该参与方是否已经更新过数据表,假如没有,允许其下载请求;否则,拒绝其下载请求。这种重放检测可以防止恶意攻击者对密钥建立过程的扰乱和破坏。
2)密钥生成阶段(参与方P1,……,Pn以并行的方式执行协议)
1、参与方Pi(i=1,……,n)首先从平台TTP下载其对应的随机数密文和密钥部件然后使用其数字证书中的解密私钥ski对进行解密得出xi,最后计算从而得出共享密钥
方案3:非智能TTP
当参与方下载密钥部件的时候,非智能TTP需要借助附加数据表项推送非重复的密钥部件给当前参与方。当参与方上传密钥部件的时候,非智能TTP需要借助附加数据表项更新当前参与方的随机数密文和非当前参与方的密钥部件。
1)密钥建立阶段(参与方P1,……,Pn以串行的方式执行协议)
1、平台TTP挑选一个大素数p和有限域Zp上的一个本原元g,并将g和p公开到公告板上。
2、平台TTP创建如下数据表用于密钥协商过程中相关数据的存放,并将密钥部件一列初始化为本原元g,更新顺序标记一列初始化为0。
3、参与方P1首先向平台TTP发出下载请求,平台TTP设置其更新顺序标记为1,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;平台TTP然后将其对应的密钥部件g和更新顺序标记1,初始化更新顺序标记0推送给参与方P1;然后参与方P1挑选随机数x1∈Zp-2,计算使用其数字证书中的加密公钥pk1对随机数x1进行加密得到最后将对 上传到平台TTP上,销毁x1。
4、平台TTP根据对中的更新顺序标记1用更新相应的随机数密文项,根据对中的更新顺序标记0用更新相应的密钥部件项;然后,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
5、参与方P2首先向平台TTP发出下载请求,平台TTP设置其更新顺序标记为2,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;平台TTP然后将其对应的密钥部件和更新顺序标记2,已操作方P1对应的密钥部件g和更新顺序标记1,推送给参与方P2;然后参与方P2挑选随机数x2∈Zp-2,计算使用其数字证书中的加密公钥pk2对随机数x2进行加密得到最后将对上传到平台TTP上,销毁x2。
6、平台TTP根据对中的更新顺序标记2用更新相应的随机数密文项,根据对中的更新顺序标记用更新相应的密钥部件项;然后,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
7、参与方Pi首先向平台TTP发出下载请求,平台TTP设置其更新顺序标记为i,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;平台TTP然后将其对应的密钥部件和更新顺序标记i,已操作方P1,P2,……,Pi-2,Pi-1对应的密钥部件 和更新顺序标记1,2,……,i-2,i-1推送给参与方Pi;然后参与方Pi挑选随机数xi∈Zp-2,计算 使用其数字证书中的加密公钥pki对随机数xi进行加密得到最后将对 上传到平台TTP上,销毁xi。
8、平台TTP根据对中的更新顺序标记i用更新相应的随机数密文项,根据对 中的更新顺序标记用 更新相应的密钥部件项;然后,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
9、参与方Pn-1首先向平台TTP发出下载请求,平台TTP设置其更新顺序标记为n-1,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;平台TTP然后将其对应的密钥部件和更新顺序标记n-1,已操作方P1,P2,……,Pn-3,Pn-2对应的密钥部件 和更新顺序标记1,2,……,n-3,n-2推送给参与方Pn-1;然后参与方Pn-1挑选随机数xn-1∈Zp-2,计算 使用其数字证书中的加密公钥pkn-1对随机数xn-1进行加密得到最后将对 上传到平台TTP上,销毁xn-1。
10、平台TTP根据对中的更新顺序标记n-1用更新相应的随机数密文项,根据对 中的更新顺序标记用 更新相应的密钥部件项;然后,平台TTP解锁数据表,重新开始接收其他参与方的下载请求。
11、参与方Pn首先向平台TTP发出下载请求,平台TTP设置其更新顺序标记为n,然后平台TTP锁定该数据表,拒绝其他参与方的下载请求;平台TTP然后将其更新顺序标记n,已操作方P1,P2,……,Pn-2,Pn-1对应的密钥部件和更新顺序标记1,2,……,n-2,n-1推送给参与方Pn;然后参与方Pn挑选随机数xn∈Zp-2,计算 使用其数字证书中的加密公钥pkn对随机数xn进行加密得到最后将对 上传到平台TTP上,销毁xn。
12、平台TTP根据对中的更新顺序标记n用更新相应的随机数密文项,根据对 中的更新顺序标记用更新相应的密钥部件项。
参与方发出下载请求的时候,平台TTP首先检查该参与方是否已经更新过数据表,假如没有,允许其下载请求;否则,拒绝其下载请求。这种重放检测可以防止恶意攻击者对密钥建立过程的扰乱和破坏。
2)密钥生成阶段(参与方P1,……,Pn以并行的方式执行协议)
1、参与方Pi(i=1,……,n)首先从平台TTP下载其对应的随机数密文和密钥部件然后使用其数字证书中的解密私钥ski对进行解密得出xi,最后计算从而得出共享密钥
从以上描述可知,本实施例具有存储和管理便捷性:平台TTP只存放一个简单的密钥数据表,这能够节省存储空间并且易于管理;参与方身份的可验证性:数字证书具有参与方身份认证功能,能够弥补传统Diffie-Hellman协议的用户身份验证漏洞;参与方的数据安全性:平台TTP只存放参与方挑选的随机数的密文,其密文对应的解密私钥保存在数字证书硬件载体中并不可导出,平台TTP不可以在参与方没有授权的情况下对其随机数密文进行解密;协商过程的公平性:参与方对应的密钥部件实质是剔除该参与方后剩余其他参与方的共享密钥,并不是所有参与方之间的共享密钥;鉴于平台TTP是可信的,因此该密钥部件并不能够投入使用,从而不会损坏参与方的利益;协商过程的高效性:参与方仅需要与平台TTP交互一次,即在平台上下载必要的密钥部件后结合其数字证书介质进行运算;安全的直观性:密钥协商完毕后,参与方需要与平台TTP进行最终交互,从而获取多方的共享密钥用于后续文件加解密操作。
一个实施例中密钥协商系统,所用系统应用于第三方,所述第三方中保存有密钥数据表,所述密钥数据表中包括对应各个密钥协商的参与方的密钥部件,如图2所示,所述系统包括:
第一密钥部件发送模块201,用于向当前参与方发送第一密钥部件,所述第一密钥部件根据所述密钥数据表中各个所述密钥部件确定;
第二密钥部件接收模块202,用于接收所述当前参与方返回的第二密钥部件,所述第二密钥部件根据所述第一密钥部件、对应所述当前参与方的随机数和对应所述第三方的素数生成;
更新操作确定模块203,用于根据所述第二密钥部件和所述第一密钥部件确定更新操作;
密钥部件更新模块204,用于根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的密钥部件。
如图2所示,在一个具体示例中,所述系统还包括:
随机数密文接收保存模块205,用于在所述第二密钥部件接收模块202接收所述当前参与方返回的第二密钥部件后,接收所述当前参与方返回的随机数密文,所述随机数密文根据对应所述当前参与方的随机数和加密公钥生成;将所述随机数密文与所述当前参与方关联后保存在所述密钥数据表中。
根据从当前参与方拥有的数字证书中获取的加密公钥对当前参与方对应的随机数进行加密,生成当前参与方对应的随机数密文,解决了传统Diffie-Hellman协议用户身份验证漏洞。
如图2所示,在一个具体示例中,所述系统还包括:
密钥部件下载指令判断模块206,用于在所述密钥部件更新模块204根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的密钥部件后,判断是否已经向各个所述参与方中除所述当前参与方外剩余的各个参与方发送第一密钥部件;当判断各个所述参与方中除所述当前参与方外剩余的各个参与方有尚未被发送第一密钥部件的参与方时,将一个尚未被发送第一密钥部件的参与方作为新的当前参与方,返回所述第一密钥部件发送模块201。
在第三方向当前参与方发送第一密钥部件,接收当前参与方返回的第二密钥部件,根据第二密钥部件和第一密钥部件确定更新操作,根据该更新操作更新保存的密钥数据表中除当前参与方对应的密钥部件外剩余的密钥部件后,判断各个参与方中除当前参与方外剩余的各个参与方是否有尚未被发送第一密钥部件的参与方,若有,将一个尚未被发送第一密钥部件的参与方作为新的当前参与方,返回上述向当前参与方发送第一密钥部件的步骤,最后得到一个根据各个参与方确定的更新操作更新保存的密钥数据表后生成的新的密钥数据表。
如图2所示,在一个具体示例中,所述系统还包括:
密钥部件和随机数密文下载指令判断模块207,用于当所述密钥部件下载指令判断模块206判断已经向各个所述参与方中除所述当前参与方外剩余的各个参与方发送第一密钥部件时,判断是否接收到各个所述参与方中的任意一个参与方发送的密钥部件和随机数密文下载指令;
密钥部件和随机数密文发送模块208,用于当判断接收到各个所述参与方中的任意一个参与方发送的密钥部件和随机数密文下载指令时,根据所述密钥部件和随机数密文下载指令中的参与方身份标识获取所述密钥数据表保存的与所述参与方身份标识对应的参与方的密钥部件和随机数密文,将获取的密钥部件和随机数密文发送给与所述参与方身份标识对应的参与方。
在得到根据各个参与方确定的更新操作更新保存的密钥数据表生成新的密钥数据表后,判断是否接收到一个参与方发送的密钥部件和随机数密文下载指令,若是,返回该参与方密钥数据表保存的与该参与方对应的密钥部件和随机数密文。
此外,在一个具体示例中,所述第一密钥部件根据所述密钥数据表中各个所述密钥部件中的非重复的密钥部件确定。
例如密钥数据表有三个参与方P1、P2、P3,密钥数据表中参与方P1的密钥部件都为g,参与方P2、P3的密钥部件都为gx1,第三方根据保存的密钥数据表中三个参与方的密钥部件确定第一密钥部件为g,gx1,即可信第三方根据保存的密钥数据表中非重复的密钥部件确定第一密钥部件。
从以上描述可知,本发明密钥协商系统,各个参与方通过与第三方交互进行密钥协商,参与方运算量小,交互轮数小,降低系统开销,易于整合到业务系统,用户安全体验直观,在安全性和实用性上更加占优,更加容易投入到实际使用中。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种密钥协商方法,其特征在于,所用方法应用于第三方,所述第三方中保存有密钥数据表,所述密钥数据表中包括对应各个密钥协商的参与方的密钥部件,所述方法包括以下步骤:
向当前参与方发送第一密钥部件,所述第一密钥部件根据所述密钥数据表中各个所述密钥部件的非重复的密钥部件确定;
接收所述当前参与方返回的第二密钥部件,所述第二密钥部件根据所述第一密钥部件、对应所述当前参与方的随机数和对应所述第三方的素数生成;
根据所述第二密钥部件和所述第一密钥部件确定更新操作;
根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的密钥部件。
2.根据权利要求1所述的密钥协商方法,其特征在于,在接收所述当前参与方返回的第二密钥部件之后,根据所述第二密钥部件和所述第一密钥部件确定更新操作之前,还包括步骤:
接收所述当前参与方返回的随机数密文,所述随机数密文根据对应所述当前参与方的随机数和加密公钥生成;
将所述随机数密文与所述当前参与方关联后保存在所述密钥数据表中。
3.根据权利要求2所述的密钥协商方法,其特征在于,在根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的各个密钥部件之后,还包括步骤:
判断是否已经向各个所述参与方中除所述当前参与方外剩余的各个参与方发送第一密钥部件;
当判断各个所述参与方中除所述当前参与方外剩余的各个参与方有尚未被发送第一密钥部件的参与方时,将一个尚未被发送第一密钥部件的参与方作为新的当前参与方,返回所述向当前参与方发送第一密钥部件的步骤。
4.根据权利要求3所述的密钥协商方法,其特征在于,当判断已经向各个所述参与方中除所述当前参与方外剩余的各个参与方发送第一密钥部件时,判断是否接收到各个所述参与方中的任意一个参与方发送的密钥部件和随机数密文下载指令;
当判断接收到各个所述参与方中的任意一个参与方发送的密钥部件和随机数密文下载指令时,根据所述密钥部件和随机数密文下载指令中的参与方身份标识获取所述密钥数据表保存的与所述参与方身份标识对应的参与方的密钥部件和随机数密文,将获取的密钥部件和随机数密文发送给与所述参与方身份标识对应的参与方。
5.一种密钥协商系统,其特征在于,所用系统应用于第三方,所述第三方中保存有密钥数据表,所述密钥数据表中包括对应各个密钥协商的参与方的密钥部件,所述系统包括:
第一密钥部件发送模块,用于向当前参与方发送第一密钥部件,所述第一密钥部件根据所述密钥数据表中各个所述密钥部件的非重复的密钥部件确定;
第二密钥部件接收模块,用于接收所述当前参与方返回的第二密钥部件,所述第二密钥部件根据所述第一密钥部件、对应所述当前参与方的随机数和对应所述第三方的素数生成;
更新操作确定模块,用于根据所述第二密钥部件和所述第一密钥部件确定更新操作;
密钥部件更新模块,用于根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的密钥部件。
6.根据权利要求5所述的密钥协商系统,其特征在于,还包括:
随机数密文接收保存模块,用于在所述第二密钥部件接收模块接收所述当前参与方返回的第二密钥部件后,接收所述当前参与方返回的随机数密文,所述随机数密文根据对应所述当前参与方的随机数和加密公钥生成;将所述随机数密文与所述当前参与方关联后保存在所述密钥数据表中。
7.根据权利要求6所述的密钥协商系统,其特征在于,还包括:
密钥部件下载指令判断模块,用于在所述密钥部件更新模块根据所述更新操作更新所述密钥数据表中除所述当前参与方对应的密钥部件外剩余的密钥部件后,判断是否已经向各个所述参与方中除所述当前参与方外剩余的各个参与方发送第一密钥部件;当判断各个所述参与方中除所述当前参与方外剩余的各个参与方有尚未被发送第一密钥部件的参与方时,将一个尚未被发送第一密钥部件的参与方作为新的当前参与方,返回所述第一密钥部件发送模块。
8.根据权利要求7所述的密钥协商系统,其特征在于,还包括:
密钥部件和随机数密文下载指令判断模块,用于当所述密钥部件下载指令判断模块判断已经向各个所述参与方中除所述当前参与方外剩余的各个参与方发送第一密钥部件时,判断是否接收到各个所述参与方中的任意一个参与方发送的密钥部件和随机数密文下载指令;
密钥部件和随机数密文发送模块,用于当判断接收到各个所述参与方中的任意一个参与方发送的密钥部件和随机数密文下载指令时,根据所述密钥部件和随机数密文下载指令中的参与方身份标识获取所述密钥数据表保存的与所述参与方身份标识对应的参与方的密钥部件和随机数密文,将获取的密钥部件和随机数密文发送给与所述参与方身份标识对应的参与方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610662593.7A CN106452736B (zh) | 2016-08-12 | 2016-08-12 | 密钥协商方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610662593.7A CN106452736B (zh) | 2016-08-12 | 2016-08-12 | 密钥协商方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106452736A CN106452736A (zh) | 2017-02-22 |
CN106452736B true CN106452736B (zh) | 2019-05-17 |
Family
ID=58185109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610662593.7A Active CN106452736B (zh) | 2016-08-12 | 2016-08-12 | 密钥协商方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106452736B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413084B (zh) * | 2018-11-15 | 2021-08-31 | 北京信安世纪科技股份有限公司 | 一种口令更新方法、装置及系统 |
CN111600903A (zh) * | 2020-05-28 | 2020-08-28 | 浪潮电子信息产业股份有限公司 | 一种通信方法、系统、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766453B1 (en) * | 2000-04-28 | 2004-07-20 | 3Com Corporation | Authenticated diffie-hellman key agreement protocol where the communicating parties share a secret key with a third party |
CN101052033A (zh) * | 2006-04-05 | 2007-10-10 | 华为技术有限公司 | 基于ttp的认证与密钥协商方法及其装置 |
CN101321053A (zh) * | 2007-06-08 | 2008-12-10 | 华为技术有限公司 | 一种生成组密钥的方法、系统和设备 |
CN102487503A (zh) * | 2010-12-06 | 2012-06-06 | 中国航空工业集团公司第六三一研究所 | 一种多级安全动态群组密钥管理方法 |
US8379857B1 (en) * | 2011-03-30 | 2013-02-19 | Google Inc. | Secure key distribution for private communication in an unsecured communication channel |
CN103918218A (zh) * | 2011-07-04 | 2014-07-09 | 三星电子株式会社 | 用于管理移动设备的群密钥的方法和装置 |
-
2016
- 2016-08-12 CN CN201610662593.7A patent/CN106452736B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766453B1 (en) * | 2000-04-28 | 2004-07-20 | 3Com Corporation | Authenticated diffie-hellman key agreement protocol where the communicating parties share a secret key with a third party |
CN101052033A (zh) * | 2006-04-05 | 2007-10-10 | 华为技术有限公司 | 基于ttp的认证与密钥协商方法及其装置 |
CN101321053A (zh) * | 2007-06-08 | 2008-12-10 | 华为技术有限公司 | 一种生成组密钥的方法、系统和设备 |
CN102487503A (zh) * | 2010-12-06 | 2012-06-06 | 中国航空工业集团公司第六三一研究所 | 一种多级安全动态群组密钥管理方法 |
US8379857B1 (en) * | 2011-03-30 | 2013-02-19 | Google Inc. | Secure key distribution for private communication in an unsecured communication channel |
CN103918218A (zh) * | 2011-07-04 | 2014-07-09 | 三星电子株式会社 | 用于管理移动设备的群密钥的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106452736A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9106410B2 (en) | Identity based authenticated key agreement protocol | |
EP2707988B1 (en) | Discovery of security associations for key management relying on public keys | |
EP2700187B1 (en) | Discovery of security associations | |
US8769259B2 (en) | Methods and apparatuses for secure information sharing in social networks using randomly-generated keys | |
Lin | Improved chaotic maps-based password-authenticated key agreement using smart cards | |
WO2017147503A1 (en) | Techniques for confidential delivery of random data over a network | |
CN103986723B (zh) | 一种保密通信控制、保密通信方法及装置 | |
US10630476B1 (en) | Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems | |
CN112187450B (zh) | 密钥管理通信的方法、装置、设备及存储介质 | |
CN107635227A (zh) | 一种群组消息加密方法及装置 | |
CN110999202A (zh) | 用于对数据进行高度安全、高速加密和传输的计算机实现的系统和方法 | |
US20240072996A1 (en) | System and method for key establishment | |
Gebremichael et al. | Lightweight iot group key establishment scheme using one-way accumulator | |
CN106452736B (zh) | 密钥协商方法和系统 | |
Ouda et al. | Security protocols in service-oriented architecture | |
Wang et al. | Key escrow protocol based on a tripartite authenticated key agreement and threshold cryptography | |
Li et al. | An efficient and anonymous attribute-based group setup scheme | |
Naresh et al. | Blockchain privacy‐preserving smart contract centric multiple multiparty key agreement over large WANETs | |
US10880278B1 (en) | Broadcasting in supersingular isogeny-based cryptosystems | |
Chunka et al. | A secure key agreement protocol for data communication in public network based on the Diffie-Hellman key agreement protocol | |
Moon et al. | Authentication protocol using an identifier in an ad hoc network environment | |
CN113037485B (zh) | 一种群组会话密钥建立方法及系统 | |
CN114362926B (zh) | 基于密钥池的量子保密通信网络密钥管理通信系统及方法 | |
Yu et al. | Research and design of one key agreement scheme in bluetooth | |
CN117749413A (zh) | 基于tlcp商密协议的安全通信方法及安全通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |