APP下载

LeeB私钥分发协议的改进方案

2010-03-12侍伟敏

北京工业大学学报 2010年3期

侍伟敏

(北京工业大学计算机学院,北京 100124)

IBE身份认证技术可采用用户的身份标识,如电话号码、e-mail地址和身份证号码等,这些公钥与用户的身份绑定,不需要公钥证书来确认用户身份[1-3].IBE不需要对证书进行管理.当KGC向用户分发私钥时,需要在KGC和用户之间建立安全的通道以保证用户私钥的安全.

目前已提出的安全私钥分发协议,可分为三大类:1)基于多信任机构的方式,如Boneh等[4]提出了门限共享私钥分发协议,该方案由n个对等的可信第三方KGC共享主密钥,用户的私钥以t门限的方式产生.Chen等[5]提出了另一种基于多信任机方式即基于多密钥的用户私钥分发协议,该方案与Boneh等[4]方案不同的是n个KGC独立产生主密钥,且用户的私钥是这n个不同的主密钥和产生.尽管以上2种方案解决了单个KGC的用户私钥托管问题,然而当用户申请私钥时,不仅需要向多个可信机构认证自己的身份,而且还需要与它们建立安全通道来确保私钥的安全传输;2)基于用户选择密文方式,如Gentry[6]提出了一种基于证书即CBE(certificate-based encryption)方案、Al-Riyami等[7]又提出了一种基于公钥即CLPKE(certificateless publice key encryption)方案,这2种方案不仅解决了用户私钥的私管问题而且用户私钥的传输不需要安全的通道,但是由于公钥无法直接从用户的身份标识中获取,因此这两种方案无法体现IBE的优势;3)基于盲技术方式,如Lee等[8]提出一种安全私钥分发协议,为解决私钥托管问题,该方案采用单个KGC为用户产生私钥且有多个KPA来保护用户私钥.

本文对LeeB协议进行了安全性分析并指出该协议是不安全的且不能解决IBE的私钥托管问题,针对该协议存在的安全漏洞提出一种改进方案.

1 LeeB私钥分发协议

1.1 协议的实现

1.1.1 系统参数建立(KGC)

1)产生素数阶为q的2个群(G1,+),(G2,.)以及双曲线映射e;G1×G1→G2;

3)选择2个hash函数H1,H2;

4)保密s0,公开{G1,G2,e,P,H1,H2,P0};

1.1.2 系统公钥产生

KPAi(i=1,2,3,…,n)随机产生主密钥,相应的公钥Pi=siP.若 Y′=P0,且 KPA1,KPA2,…,KPAn依次计算Y,最终获取系统公钥Y=s0s1,…,snP.

1.1.3 用户私钥产生

1)身份标识为ID的用户A随机产生主密钥x∈Z*q,计算X=xP;

2)用户A发送{ID,X}给KGC,KGC需要做以下工作

①检查用户A的身份;

②计算用户A的公钥QID=H1(ID,ID0,ID1,ID2,…,IDn),其中ID,ID0,ID1,ID2,…,IDn分别表示A、KGC、KPA1、…KPAn实体的身份标识;

④签名Q0′,即并发送}给用户A;

4)用户A计算自己的私钥

1.2 协议的安全性

LeeB私钥分发协议中的KGC负责验证用户的身份及产生部分私钥给用户.用户发送{ID,X,Q0′,Sig0(Q0′)}给KPA1,KPA1验证Sig0(Q0′),若验证成功计算Q1′.该过程存在一安全漏洞,即KPA1通过{ID,X,Q0′,Sig0(Q0′)}信息不能确认用户的身份:一方面KPA1无法确认Q0′的值是否由该用户ID生成;另一方面该协议没有提供其他机制来确认{ID,X,Q0′,Sig0(Q0′)}是否由该用户所发.如果KCG被攻击,恶意者便可利用此漏洞成功的获取用户的私钥,其攻击过程如下.

1)用户A发送{ID,X}给KGC

2)恶意的KGC要想获取用户A的私钥,需要做以下工作

由以上分析可知,LeeB私钥分发协议没有真正解决IBE中用户私钥的托管问题.

2 LeeB私钥分发协议的改进方案

2.1 改进方案的实现

2.1.1 系统公钥产生

2)x保密,公开身份密钥对(QID,Qx).2.1.3 用户私钥产生

1)用户A计算Tx=xP0,并发送{Tx}给KGC;

3)用户A接收到信息{Q0}以后计算Dx=x-1P,发送信息{Dx,Q0}给KPAi(i=1,2,…,t);

4)KPAi(i=1,2,…,t)接收到信息{Dx,Q0}后验证?,和,计算Qi=siQ0,并发送{Qi}给用户A;

5)用户A计算自己的私钥SID

?range系数;

②验证私钥的正确性通过e(SI′D,P)=e(Qx,Y);

2.2 进方案分析

2.2.1 安全性分析

在改进方案中,KPAs通过基于用户A身份密钥的短签名Dx值来确认其身份,其中短签名Dx的安全性是基于G1的离散对数问题,恶意的KGC不能获取用户A的密钥x来伪造该用户的签名,由以下过程分析可知,即使KGC被攻击者控制,也无法获取用户A的私钥.

1)用户A发送{Tx}给KGC,恶意的KGC企图获取用户A的私钥,

①计算Q0=s0Qx;

③发送{Dx*,Q0}给KPAi(i=1,2,…,t);

2)KPAi(i=1,2,…,t)接收到},验证)成功 ,验证即

同样的,在KGC为用户A颁发部分私钥Q0的过程,通过e(Tx,QID)=e(P0,Qx)来确认用户A的身份,其中Tx是基于用户A身份密钥的短签名,同以上分析过程一样,最终恶意的KPAs也不获取用户的私钥.因此,在改进方案中,只要KGC和KPAs不同时受到攻击者控制,攻击者是无法获取用户的私钥,从而解决了LeeB方案中用户私钥托管问题.

2.2.2 效率分析

改进方案不仅解决了LeeB协议的私钥托管问题而且在效率上也有很大提高,一方面改进方案通过共享主密钥s,为用户产生部分私钥信息.而文献LeeB方案中需为KGC产生n对公私钥,额外增加了系统的负担.另一方面,对比两种方案的运算量,改进方案的运算量明显较少,如表1所示.改进方案与LeeB方案相比尽管增加了3n次乘法运算,但

表1 效率对比Table1 Efficiency comparison

注:t≤n哈希和对运算分别减少了2n次和4n次运算量,而其中对运算最耗时,因此改进方案的实现效率明显提高.

3 结束语

对LeeB私钥分发协议进行了安全性分析,并针对该协议存在的安全问题提出一种改进方案.在改进方案中,基于用户身份密钥解决了LeeB私钥分发协议中的用户私钥的托管问题,改进方案与LeeB方案相比,减少了4n次对运算和2n次哈希运算.

[1]SHAMIR A.Identity-based cryptosystem and signature schemes[C]∥Advances in Cryptology 1984.Berlin:Springer-Verlag,1984:47-53.

[2]PATERSON K G.ID-based signatures from pairings on elliptic curves[J].Electronics Letters,2003,38(18):1025-1026.

[3]BONEH D,FRANKLINM.Identity based encryption from weil pairing[C]∥Advances in Cryptology 1984.Berlin:Springer-Verlag,2001:213-229.

[4]BONEH D,FRANKLIN M.Short signature from weil pairing[C]∥Boyd CAsiacrypt2001,Berlin:Springer-Verlag,2001:514-532.

[5]CHEN L,HARRISON K,SOLDERA D,etal.Applications of multiple trustauthorities in pairing based cryptosystems[C]∥Proc of Infrastructure Security Conference.Berlin:Springer-Verlag,2002:260-275.

[6]GENTRY C.Certificate-based encryption and the certificate revocation problem[C]∥Advances in Cryptology-EUROCRYPT 2003.Berlin:Springer-Verlag,2003:272-293.

[7]AL-RIYAMI S,PATERSON K.Certificateless public key cryptography[C]∥Advances in Cryptology-Asiacrypt'2003.Berlin:Springer-Verlag,2003:452-472.

[8]LEE B,BOYD E,DAESON E,et al.Secure key issuing in ID-based cryptography[C]∥In Proceedings of the Second Australian Information Security Workshop-AISW 2004.New Zealand:Australian Computer Society,Inc,2004:69-74.