CFL个人隐私保护模式实现方法与流程

文档序号:11841948阅读:642来源:国知局
本发明属于信息安全
技术领域
,涉及密钥认证体制。
背景技术
:在基于国家商用密码算法SM2、SM3以及SM4的CFL认证算法中,对用户的CFL证书进行CFL签名验证,其过程如下:设CFL签名验证所需要的标识私钥生成元集和标识公钥生成元集如下:标识私钥生成元集IDSKG(IdentitySecretKeyGeneration):CFL证书生成中心为用户证书签名的主系统密钥为IDSKG={sk0,sk1,…,skL-1},其中各元素随机生成,且两两不同,L是IDSKG中元素的总个数。标识公钥生成元集IDPKG(IdentityPublicKeyGeneration):CFL证书生成中心主系统密钥对应的公钥序列为IDPKG={pk0,pk1,…,pkL-1},其中pki是公钥密码算法中私钥ski对应的公钥,i=0,…,L-1。CFL的标识私钥生成函数为:IDSK=F(IDSKG,S)=skS(0)⊙skS(1)⊙…⊙skS(i-1),其中“⊙”为中的加法,n为SM2中椭圆曲线基点的周期,IDSK是CFL证书生成中心为用户的CFL证书签名生成的签名私钥,S=(S(0),S(1),…,S(t-1)),S=θ(h),θ为CFL控选方式,h=H(ID)=(h0,h1,…,hi-1),ID为用户的标识,H为CFL证书生成签名过程中的hash函数,S(i),(i=0,1,…,t-1)为第i拍时选取标识私钥生成元集中元素的位置,又称S(i),i=0,1,…,t-1为CFL控选方式θ的控选序列,因此CFL标识私钥生成函数又可写为:IDSK=F(IDSKG,S)=F(IDSKG,θ(h))=F(IDSKG,θ(H(ID)))。CFL的标识公钥生成函数为:IDPK=F′(IDPKG,S)=pkS(0)⊙′pkS(1)⊙′…⊙′pkS(i-1),其中“⊙′”为SM2中点群的加法,IDPK是CFL证书验证的签名验证公钥。CFL的标识公钥生成函数又可写为:IDPK=F′(IDPKG,S)=F′(IDPKG,θ(h))=F′(IDPKG,θ(H(ID)))。CFL证书生成和CFL证书验证算法为:(1)CFL证书生成中心的CFL证书生成算法1)用户自主生成工作公私钥。2)用户将自身信息及工作公钥发送给CFL证书生成中心。3)CFL证书生成中心根据用户标识ID,计算h=H(ID)。4)CFL证书生成中心计算CFL控选方式θ(h)=S。5)CFL证书生成中心利用标识私钥生成元集IDSKG计算CFL标识私钥生成函数IDSK=F(IDSKG,S)=F(IDSKG,θ(h))=F(IDSKG,θ(H(ID)))=skS(0)⊙skS(1)⊙…⊙skS(i-1).生成用户的标识私钥IDSK。6)CFL证书生成中心利用用户的标识私钥对用户标识进行签名,用户标识以及签名构成用户的CFL证书。(2)验证方对用户CFL证书的验证算法1)用户将CFL证书发送给验证方。2)验证方根据该用户标识ID,计算h=H(ID)。3)验证方计算CFL控选方式θ(h)=S。4)验证方计算CFL标识公钥生成函数IDPK=F′(IDPKG,S)=F′(IDPKG,θ(h))=F′(IDPKG,θ(H(ID)))=pkS(0)⊙′pkS(1)⊙′…⊙′pkS(i-1).生成用户的标识公钥IDPK。5)验证方利用标识公钥IDPK对用户CFL证书签名进行验证。为了将理论更好地应用于实践,本发明给出了基于国家商用密码算法SM2,SM3,SM4的CFL个人隐私保护模式实现方法,并给出了CFL个人隐私保护模式实现方法的安全性分析。本发明中Ukey代表用户的安全硬件,包括U盾、密码卡、安全芯片卡、手机安全芯片、蓝牙用户端安全硬件产品。技术实现要素:本发明CFL个人隐私保护模式实现方法由下述五个算法构成:算法1:CFL个人隐私保护模式CFL证书生成中心的标识公私钥生成元集生成算法;算法2:CFL个人隐私保护模式CFL证书生成中心为用户证书标识签名中的标识随机数k生成算法;算法3:CFL个人隐私保护模式CFL证书生成中心为用户生成临时工作公私钥标识算法;算法4:CFL个人隐私保护模式CFL证书生成算法;算法5:CFL个人隐私保护模式CFL证书验证算法。具体实施方式本发明CFL个人隐私保护模式实现方法由下述5个算法构成,各个算法的具体实施方式为:算法1:CFL个人隐私保护模式CFL证书生成中心的标识公私钥生成元集生成算法1)CFL证书生成中心利用随机数发生器随机生成标识私钥生成元集:IDSKG={sk0,sk1,…,skL-1}其中元素独立产生,且两两不等,通过随机性检测,并为CFL证书生成中心所独有。2)CFL证书生成中心基于标识私钥生成元集生成对应的标识公钥生成元集:IDPKG={pk0,pk1,…,pkL-1},其中pki是公钥密码算法中私钥ski对应的公钥,i=0,…,L-1。3)CFL证书生成中心公开发布标识公钥生成元集。算法2:CFL个人隐私保护模式CFL证书生成中心为用户证书标识签名中的标识随机数k生成算法1)CFL证书生成中心利用随机数发生器生成签名算法中的标识随机数生成元集为IDRG={r0,r1,…,rL-1},其中元素独立产生,且两两不等,通过随机性检测,并为CFL证书生成中心所独有。2)CFL证书生成中心根据用户的标识,产生签名算法中的标识随机数k的生成函数为:k=IDR=F(IDRG,S)=F(IDRG,θ(h))=F(IDRG,θ(H(ID)))=rS(0)⊙rS(1)⊙…⊙rS(i-1).3)CFL证书生成中心在为用户进行标识签名时,签名算法中的随机数使用基于用户的标识产生的标识随机数k=IDR。算法3:CFL个人隐私保护模式CFL证书生成中心为用户生成临时工作公私钥标识算法1)CFL证书生成中心基于Ukey相关标识ID,计算SM3(ID)=h。2)CFL证书生成中心将256比特h分成前后128比特,即h=h0||h1。3)CFL证书生成中心计算其中BK0,BK1为CFL证书生成中心关于SM4加解密的两组密钥。BK0,BK1由CFL证书生成中心的随机数发生器独立生成,通过随机性检测,并为CFL证书生成中心所独有。4)CFL证书生成中心将作为用户U的临时工作私钥。用户的临时工作公钥为RAPK1=RASK1·PmodE。其中P为SM2的基点。算法4:CFL个人隐私保护模式CFL证书生成算法1)CFL证书生成中心先为各代理窗口和自己配发工作公私钥以及CFL证书。2)CFL证书生成中心根据每个Ukey的标识码IDUkey,根据算法3,生成每个Ukey的临时工作公私钥对RASK1,RAPK1。3)CFL证书生成中心利用SM2,以自己的工作私钥对IDUkey||RAPK1进行签名,得签名值为SIGN,其中签名中的随机数IDR1由IDUkey||RAPK1经算法2生成。4)CFL证书生成中心将临时工作公私钥对RASK1,RAPK1、签名值SIGN写入Ukey,并配发给各代理窗口。5)用户到代理窗口通过身份证、身份检查领取写入临时工作公私钥对以及签名值SIGN的Ukey。6)用户利用自己的计算机,登录CFL证书生成中心,下载相关应用软件,对Ukey中的签名值,利用SM2,以CFL证书生成中心的工作公钥进行验证,验证通过后,用户利用Ukey中的随机数发生器自主生成自己的工作公私钥对RAPK,RASK,并通过随机性检测。7)用户填写自己的信息ID1,用户填写或采集自己的专有信息ID2,例如指纹信息、虹膜、口令,利用SM2,以自己的工作私钥RASK对ID1||ID2||RASK进行签名,得签名值SIGN1,用户利用SM2,再以临时工作私钥RASK1对IDUkey||ID1||ID2||RAPK进行签名,得签名值SIGN′,用户利用CFL证书生成中心的工作公钥对IDUkey||ID1||ID2||RAPK进行加密,将密文传给CFL证书生成中心,再将SIGN1,SIGN′传给CFL证书生成中心。8)CFL证书生成中心利用自己的工作私钥解密得IDUkey||ID1||ID2||RAPK,通过IDUkey计算得RASK1,RAPK1,验证SIGN′,再利用用户的工作公钥RAPK验证SIGN1。9)CFL证书生成中心为用户添加发证时间、发证单位、证书序列号、证书有限期信息ID3,计算θ(SM3(ID1||ID2||ID3)),生成为用户证书签名的随机数IDR2,即计算k=IDR2=F(IDRG,θ(SM3(ID1||ID2||ID3))),生成用户的签名公私钥对IDSK,IDPK,即计算IDSK=F(IDSKG,θ(SM3(ID1||ID2||ID3))),IDPK=F′(IDPKG,θ(SM3(ID1||ID2||ID3))),CFL证书生成中心利用SM2,以随机数IDR2、标识私钥IDSK,对ID1||ID2||ID3||RAPK生成签名SIGN2。10)CFL证书生成中心将ID1,SIGN1,ID3,SIGN2用RAPK进行加密发给用户。用户方将ID1,SIGN1,ID3,SIGN2的密文写入Ukey后,以RASK在Ukey中解密。11)用户将CU=ID1||ID2||SIGN1||ID3||RAPK||SIGN2作为CFL证书,将HUFU2=ID1||SIGN1||ID3||RAPK||SIGN2作为CFL证书虎符2。将HUFU1=ID2作为CFL证书虎符1。12)用户删除Ukey中的临时公私钥对RASK1,RAPK1。算法5:CFL个人隐私保护模式CFL证书验证算法1)用户将自己的CFL证书虎符2以及虎符1合成自己的CFL证书CU。2)用户将自己的证书添加应用时的时间戳信息ID4,并计算SM3(ID1||ID2||ID3||RAPK||ID4),用户利用SM2,以自己的工作私钥对其生成签名SIGN3,称为用户的动态CFL证书。并用应用服务器的工作公钥将ID1||ID2||ID3||RAPK||ID4加密发给应用服务器。同时将SIGN1,SIGN2,SIGN3发给应用服务器。3)应用服务器利用自己的工作私钥解密得用户的ID1||ID2||ID3||RAPK2||ID4。4)应用服务中对用户动态CFL证书进行三次签名验证。5)应用服务器将自己的证书添加应用时的时间戳信息ID4,并计算自己的信息的hash值SM3(ID1||ID2||ID3||RAPK||ID4),ID2可以是应用服务器的相关专有信息,应用服务器对其生成签名SIGN3,生成应用服务器的动态CFL证书CSD=ID1||ID2||SIGN1||ID3||RAPK||SIGN2||ID4||SIGN3,]]>应用服务器将自己的信息ID1||ID2||ID3||RAPK||ID4以用户的工作公钥加密发给用户,同时将三次签名SIGN1,SIGN2,SIGN3发给用户。6)用户用自己的工作私钥解密可得应用服务器的动态CFL证书7)用户对应用服务器动态CFL证书进行三次签名验证。若用户需要的签名验证公私钥与加解密公私钥是两对的,则用户自主生成两对公私钥对并申请两张CFL证书即可,其中一张用于加解密,另一张用于签名验证。CFL个人隐私保护模式安全性分析命题1CFL个人隐私保护模式CFL证书生成中心为用户证书标识签名中的标识随机数k生成算法具有可恢复性。证明由算法2的流程可知,标识随机数k是标识的函数,只要知道用户标识,CFL证书生成中心就可以计算标识随机数k=IDR。因此命题成立。命题2CFL个人隐私保护模式CFL证书生成中心为用户生成的临时工作公私钥标识算法具有可恢复性。证明由算法3的流程可知,CFL证书生成中心为用户生成的临时工作公私钥对是用户Ukey标识码IDUkey的函数,因此只要知道IDUkey,CFL证书生成中心就可以计算用户的临时工作公私钥对。因此命题成立。命题3CFL个人隐私保护模式是密钥不可恢复可证明安全的。证明由于CFL用户证书中的所有参数以及临时工作公私钥都是基于CFL证书生成中心的密码参数经过公钥密码变换或者是分组密码算法给出的,没有直接透漏任何私钥信息,因此在理论上,攻击者的攻击方式都转化成为了相应的数学难题,即极微本原问题的攻击。故命题成立。命题4在假设SM3为随机预言机的情况下,CFL个人隐私保护模式是EUF-CMA(适应性选择消息攻击下具有存在性不可伪造性)安全的。证明假设S′是攻击者的伪签名,则:Pr(M=m,S′=σ)=Pr(M=m)×Pr(S′=σ)=122n.]]>对于合法的签名,因此:|Pr(M=m,Σ′=σ)-Pr(M=m,Σ=σ)|=|12n-122n|12n<12n.]]>|Pr(M=m,Σ′=σ)-Pr(M=m,Σ=σ)|×nC<nC2n.]]>故命题成立。命题5CFL个人隐私保护模式CFL证书的签名标识私钥是一人一密的、用户的工作公钥对攻击者来说是一人一密的。证明因为CFL证书的签名标识私钥是用户标识的函数,用户的工作公钥对是用户自主独立产生的,因此易知命题成立。命题6CFL个人隐私保护模式CFL证书生成中心的签名私钥生成元集相比PKI、IBC具有高安全性。证明由于CFL证书生成中心的签名私钥生成元集有L个,也就是说其可信根个数是PKI、IBC的L倍,故当L较大时,命题成立。命题7CFL个人隐私保护模式含有动态认证、虎符认证属性。证明由算法4、5的流程可知该命题成立。命题8CFL个人隐私保护模式适合个人隐私保护。证明CFL个人隐私保护模式的用户的工作公私钥是自主产生的,其在证书生成过程、以及使用过程中是零知识交互的,因此其工作私钥是安全的,所以命题成立。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1