一种基于身份的DH密钥交换协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于身份的DH密钥交换协议
项顺伯
【摘要】基于DH困难问题,提出一种基于身份的两方密钥交换协议,并对协议的安全性进行了分析。
所提出的协议中,会话密钥的生成需要参与方的长期私钥和选取的随机数。
安全性分析表明,所提出的协议能满足两方密钥交换协议的安全性要求。
%Based on the DH problem, an ID-based key exchange protocol was proposed and security of the proposed protocol was analyzed. In the proposed protocol, the generation process of session key needs the participants' long- lived secret key and chosen random nonce. The analysis of security shows that the proposed protocol can satisfy the security requirements of two- party key exchange protocol.
【期刊名称】《广东石油化工学院学报》
【年(卷),期】2011(021)006
【总页数】3页(P44-46)
【关键词】基于身份;密钥交换;DH问题;会话密钥
【作者】项顺伯
【作者单位】广东石油化工学院计算机与电子信息学院,广东茂名525000
【正文语种】中文
【中图分类】TP309
基于身份的密钥交换协议允许协议的参与方通过它们的身份信息在不安全的通信网络上建立一个会话密钥以加密传递的数据,从而实现安全的数据通信。
该协议按参与方的数量可分为基于身份的两方、三方和群组的密钥交换协议。
基于身份的密钥交换协议目前已成为密钥协议的重要研究内容,身份信息作为公钥可以弥补公钥证书的不足。
基于身份的两方密钥交换协议的研究成果很多。
文献[1]首次提出一个不能实现互相认证的密钥交换协议,该协议需要一个认证通道来交换公钥,同时也提出了著名的密码困难问题——DH问题,该问题成为后继者研究密码学问题的重要工具。
1984年,Shamir首次提出了基于身份的密码协议问题[2],其设计思想是以协议参与方的身份信息作为公钥,以简化公钥的管理问题。
此后,大量的基于身份的密钥交换协议被提出。
文献[3]中一个通信次数为四次的基于身份两方密钥交换协议是基于离散对数困难问题提出的。
文献[4]在文献[3]的基础上提出一个改进的协议,协议的通信次数为两次。
文献[5]提出一个基于身份的两方密钥交换协议,协议也是基于离散对数困难问题而实现的。
文献[6]提出一种基于身份的数字签名方案。
本文在文献[3-6]的基础上提出一个新的基于身份的两方密钥交换协议。
1 基础内容
本文所用到的DH问题表现在如下定义的两个密码学困难问题。
定义1 CDL问题:设G表示一个阶为素数p的群。
给定二元组(g,ga),其中a∈Z*p,计算a是困难的。
定义2 CDH问题:设G表示一个阶为素数p的群。
给定三元组(g,ga,gb),其中
a,b∈Z*p,计算gab是困难的。
2 基于身份的两方密钥交换协议的设计与实现
本文所设计的协议简称IDAKE,协议的参与方为用户A和B,IDA和IDB分别是A
和B的身份标识,身份标识的内容可以是用户的姓名、用户的email地址等。
图1是IDAKE的实现过程,其具体实现由以下三个步骤组成。
1)系统建立。
PKG选取阶为素数p的循环群G,g是G的生成元;Zp是模p的整数集。
单向哈希函数H1,H2,H1:(0,1)*→,=Zp\{0};H2:(0,1)*→(0,1)K,常数k表示二进制序列的长度。
PKG拥有密钥对(x,y),其中私钥x∈Zp是一个随机数,y=gx是其公钥。
PKG公开参数g、y、p和H1,H2。
图1 IDAKE的实现过程图
2)私钥抽取[3-6]。
用户A和B分别在PKG上注册后,生成其公钥和私钥。
PKG随机选择kA∈Zp,计算A的公钥PA=gkA,计算A的私钥SA=kA+xH1(IDA‖PA)。
同样,对于用户B,PKG随机选择kB∈Zp,计算B的公钥PB=gkB,计算B的私钥SB=kB+xH1(IDB‖P B)。
3)密钥交换[3-4]。
密钥交换分三个部分进行。
(1)用户A随机选择tA∈Zp,计算uA=gtA,发送IDA、uA和PA给用户B;
(2)用户B随机选择tB∈Zp,计算uB=gtB,发送IDB,uB和PB给用户A;
(3)用户A收到B的信息后,计算
KA=PBYHt(IDB‖PB)=gkBgxHt(IDB‖PB)=gkB+xH1(IDB‖PB)=gSB,K1=(KA)SA =gSBSA,K2=(uB)tA=gtBtA,最后计算出会话密钥SKAB=H2(IDA‖IDB‖K1‖K2)。
同样,B收到A的信息之后,计算
KB=PAYH1(IDA‖PA)=gSA,K1=(KB)SB=gSASB,K2=(uA)tB=gtAtB,最后计算出会话密钥SKAB=H2(IDA‖IDB‖K1‖K2),用户A和B的会话密钥相同。
3 协议安全性分析
定理一 IDAKE具有前向安全性。
证明:前向安全性是指在某次会话过程中,当一个密钥交换协议中的一方或多方的长期私钥泄漏给攻击者,攻击者也无法根据被泄漏的长期私钥计算出该次会话之前的
会话密钥。
IDAKE中,长期私钥为SA和SB。
某次会话中,当A和B中的一方的或两方的长期私钥遭受泄露,也不会影响长期私钥泄露之前的会话密钥的安全性,因为攻击者不知道随机数tA和tB,又因为攻击者无法解决DH问题,无法计算出K2,从而不可能计算出最终的会话密钥SKAB,因此IDAKE具有前向安全性。
定理二 IDAKE能抵御密钥泄漏攻击。
证明:两方密钥交换协议中的抵御密钥泄漏攻击是指协议参与方中一方的长期私钥泄漏给攻击者,攻击者可冒充该方与另一方进行会话而生成会话密钥,但攻击者无法冒充另一方与该方进行会话密钥的生成。
IDAKE中,假设A的长期私钥泄漏给攻击者,攻击者可冒充A与B进行会话,但攻击者无法冒充B与A进行会话密钥的生成,因为攻击者不知道B的长期私钥和临时随机数,同时攻击者无法解决DH问题,因而无法计算出最终的会话密钥,因此,IDAKE能抵御密钥泄漏攻击。
定理三 IDAKE是已知密钥安全的。
证明:已知密钥安全指攻击者无法根据已知的会话密钥计算出其他的会话密钥,即会话密钥之间具有独立性。
在IDAKE中,每一次会话过程中,A和B分别选择的随机数tA、tB都不相同,因此计算出的会话密钥也不相同,即多次会话间的会话密钥具有不相关性,因此IDAKE实现了一次一密钥,是已知密钥安全的。
定理四 IDAKE具有密钥完整性。
证明:密钥交换协议中的密钥完整性是协议的任何参与方无法事先决定最终的会话密钥,无法随机选择一个密钥作为最终的会话密钥。
IDAKE中会话密钥的生成需要A与B选择的临时随机数tA和tB以及它们的长期私钥,任何一方会话之前都无法计算出最终的会话密钥,最终的会话密钥也不能是A或B事先选择的某个密钥,攻击者也无法破坏A与B之间的会话密钥,因为攻击者不可能同时知道SA、SB、tA和tB,因此IDAKE具有密钥完整性。
4 结论
利用DH问题,本文提出一种有效的基于身份的两方密钥交换协议IDAKE,并对其安全性进行了分析。
安全性分析表明,IDAKE具有前向安全性和密钥完整性,能抵御密钥泄露伪装攻击,同时,IDAKE也是已知密钥安全的。
[参考文献]
[1]Diffie W,Hellman A E.New directions in cryptography[C].IEEE T ransactions on Information Theory,1976,22(6):644-654.
[2]Adi Shamir.Identity-Based Cryptosystems and Signature
Schemes[C]//LNCS1985:Advances in Cryptology—Proceedingsof CRYPTO’84.Berlin:Springer-Vrelag,1985,196:47-53.
[3]Gunther C.An identity-based key exchange protocol[C]//LNCS 1990:Advances in Cryptology-Eurocrypt’89.Berlin:Springer-
Verlag,1990,434:29-37.
[4]Saeednia S.I mprovement of Gunther’s identity-based key exchange protocol[J].Electronics Letters,2000,36(18):1535-1536.
[5]Dario Fiore,Rosario Gennaro.Making the Diffie-Hellman Protocol Identity-Based[C]//LNCS 2010:T opics in Cryptology-CT-RSA
2010.Berlin:Springer-Verlag,2010.5985:165-178.
[6]Schnorr C P.E fficient identification and signatures for smart
cards[C]//LNCS 1989:Advances in Cryptology-CRYPTO’89.Berlin:Springer-Verlag,1989.435:239-252.。