可公开验证的无证书混合签密方案

2017-12-08 03:25:24
计算机应用与软件 2017年11期
关键词:挑战者明文私钥

徐 鹏 薛 伟

(江南大学物联网工程学院 江苏 无锡 214000)

可公开验证的无证书混合签密方案

徐 鹏 薛 伟

(江南大学物联网工程学院 江苏 无锡 214000)

基于证书的签密与基于身份的签密对于不诚实KGC(Key Generation Center)抵抗力很差,而且基于公钥的签密对明文长度有所限制。无证书机制可以减少对KGC的信任,而混合加密可以加密任意长度明文。结合无证书机制和混合加密机制提出一种基于双线性对的无证书混合签密方案。在基于BDH难题和CDH难题上证明了方案在随机预言模型中具有适应性选择密文攻击的机密性和适应性,以及选择明文攻击的不可伪造性,且方案具有可公开验证性。 通过效率分析,该方案计算效率高,适合应用在带宽有限制的情况下。

无证书 混合签密 双线性 可公开验证性

0 引 言

在通信过程中保密性和不可伪造性是基本的安全要求,消息传输时经过加密、签名来达到这两个特性。1997年,Zheng[1]提出了签密机制的概念,与传统方法“先加密,后签名”相比,签密可以同时实现加密签名,提高了计算效率并且降低了通信代价。传统的公钥签密有证书管理复杂的问题,用户增多,证书管理系统压力也越大使得系统性能降低。随后,根据Shamir[2]提出的基于身份的密码系统产生了基于身份的签密,其中公钥来自用户自己的公开信息,KGC只生成用户私钥,这样就降低了证书管理系统的压力。2003年AL-Riyami和Paterson[3]提出了无证书密码学,即完整私钥由用户自己的私钥与KGC产生部分私钥组成。

公钥签密的一个缺点是限制了单次明文输入的长度。2005年Dent[4]提出了混合签密的概念,其由公钥加密与对称加密两部分组成,其中公钥加密将对称密钥进行封装,而对称密钥则对需要传送的任意长度明文进行加密。由于这两部分可以独立进行加密操作,所以其安全性也分别独立。 2011年,刘文浩等[5]提出了一个高效的无证书签密方案。随后何德彪[7]举出攻击实例证明其安全性存在问题并提出了改进方法。2012年,Singh[6]提出了一种基于身份的无证书签密方案。 2013年,冯巧娟等[8]提出了一种高效的无证书混合签密方案。同年,Swapna等[9]提出了一种多代理的基于椭圆曲线的身份验证签密方案,能同时与多个目标进行签密过程。2015年,张玉磊等[10]提出了一种可证安全的无证书聚合签名方案。可见对签密方案的研究一直没有间断过。 本文首先介绍了无证书签密的预备知识以及安全模型,随后提出了一种基于双线性对的可公开验证的无证书混合签密方案。在随机预言模型下,证明了方案具有机密性全性和不可伪造,并且比较了其他签密方案,新方案安全性高,计算效率快。

1 预备知识

1.1 无证书混合签密

一个无证书混合签密由密钥封装机制与数据封装机制共同组成,其中对称加密算法为符合安全性的算法可以由以下5个概率多项式算法组成[11]:

1) Setup:输入为安全参数k,KGC产生主密钥s和系统参数params。

2) Partial-Private-Key:由用户身份ID,主密钥s,系统参数params,产生该用户部分私钥DID。

3) Generate-User-Key:完整私钥SID由两部分组成,第一部分为KGC产生的部分私钥DID,第二部分为用户身份ID产生的用户私钥sID。

4) Signcrypt:(1) 输入参数params、发送者身份IDA和密钥对(PA,SA)、接受者的身份IDB和公钥PB,输出对称密钥K以及包含对称密钥与签名状态的封装ω。(2) 输入固定长度明文m,使用对称密钥K加密m产生密文c。(3) 输出δ=(ω,c)。

5) Unsigncrypt:(1) 接收δ(ω,c)、参数params、接收者身份IDB和密钥对(PB,SB)、发送者的身份IDA和公钥PA,输出对称密钥K。(2) 验证ω是否正确,是则使用对称密钥K解密密文c得到m;否则,输出┴。

1.2 无证书混合签密的安全模型

参照Huang等[12]定义的敌手模型,无证书混合签密下有两种类型的攻击者A1、A2。其中不知道主密钥s,但有将任意用户的公钥替换的能力,而A2知道主密钥s,但没有替换用户的公钥的能力。

定义1如果任何多项式有界的攻击者A1和A2赢得以下游戏的概率可以忽略,则该方案满足IND-CCA2安全。

以下为A1攻击者与挑战者C之间的交互游戏。

初始化:挑战者C运行Setup算法,产生系统参数params和主密钥s;发送params给A1。

第一阶段:A1可以发起以下询问步骤。

部分私钥询问:A1询问用户的部分私钥,C产生部分私钥Di并返回给A1。

私钥询问:A1询问任意用户完整私钥时,C产生完整私钥Si并返回给A1。不能询问已被替换公钥的用户。

公钥询问:A1询问任意用户公钥时,C产生公钥Pi并返回给A1。

公钥替换:A1可以用指定范围内的值替换任意用户的公钥。

Signcrypt询问:A1对(m,IDA,IDB)进行签密询问时,C产生密文δ并返回给A1。

Unsigncrypt询问:A1对(δ,IDA,IDB)进行解签密询问时,C产生明文m或┴并返回给A1。

猜测:A1输出猜测的α*,如果α*=α,则A1赢得了游戏,定义A1获胜的优势为:

AdvIND-CCA2(A1)=|2Pr[α*-α]-1|

以下为A2攻击者与挑战者C的交互游戏。

初始化:挑战者C运行Setup算法,产生系统参数params和主密钥s;发送params以及s给A2。

第一阶段:A2除了不能进行公钥替换以外,进行与定义1第一阶段一样的询问。

猜测:A2输出猜测的α*,如果α*=α,则A2赢得了游戏,定义A2获胜的优势为:

AdvIND-CCA2(A2)=|2Pr[α*=α]-1|

定义2如果任何多项式有界的攻击者A1和A2赢得以下游戏的概率可以忽略,则该方案满足SUF-CMA安全。

以下为A1攻击者与挑战者C之间的交互游戏。

初始化:挑战者C运行Setup算法,产生系统参数params和主密钥s;发送params给A1。

攻击阶段:A1进行与定义1第一阶段一样的询问。

以下为A2攻击者与挑战者C的交互游戏。

初始化:挑战者C运行Setup算法,产生系统参数params和主密钥s;发送params以及s给A2。

攻击阶段:A2进行与定义1中A2攻击者与挑战者C的交互游戏第一阶段一样的询问,但不能进行公钥替换。

1.3 双线性对与困难性问题

设有两个循环群G1、G2,其中G1为阶为素数q的加法循环群,G2为同阶的乘法循环群。P为G1的一个生成元。双线性映射e:G1×G1→G2满足以下性质:

2) 非退化性:e(P,P)≠1。

3) 可计算性:e(P,Q)在所有P,Q∈G1时都能计算。

2 无证书混合签密方案

本文提出的无证书混合签密方案包括以下几个步骤:

2) 部分私钥产生:输入用户身份ID,由KGC计算TID=H1(ID),生成部分私钥为DID=sTID,并通过秘密通道发送给用户。

5) 解签密:输入系统参数params、接收者的身份IDB、私钥(DB,sB)、发送者的身份IDA、公钥PA和密文δ,接收者执行以下步骤:计算U=e(TA,DB),V=e(sB,Pa,P);K=H2(R,U,V),m=Dec(K,c),g=H3(IDA,m,R)。如果等式e(P,F)=e(R,g)e(PA,R)成立,接受m;否则,输出┴。

3 安全性分析

安全性证明分为在标准模型与随机模型,本方案在随机预言模型下进行证明。

定理1如果有攻击者A1能以不可忽略的概率攻破本方案的INC-CCA2机密性,则存在一个挑战者C能破解BDH难题。

证明:假设C收到(aP,bP,cP),要计算e(P,P)abc。C将A1作为子程序并充当上述游戏的挑战者。

初始化:C运行Setup算法,将系统参数params(G1,G2,e,P,P0=aP,n,H1,H2,H3)发送给A1。

第一阶段:假设A1在进行其他询问时,已经进行过H1询问,且总共询q1问次。

H2询问:C保存一张表L2,内容为(U,V,R,K)。收到询问时,若L2中有(U,V,R,K),则返回K;否则,返回任意K∈{0,1}n,并保存(U,V,R,K)到L2。

部分私钥询问:收到身份IDi的询问时,如果IDi=IDλ,IDμ,则C放弃游戏;否则,C调用H1,设置Di=liaP,返回Di并更新(IDi,Di,si,Pi)到L4。

私钥询问:收到身份IDi的询问时,如果IDi=IDλ,IDμ,则C放弃;否则,C从L4中获得Si(Di,si)并返回。

挑战:A1选择长度相同的两个明文m0,m1,以及希望挑战的两个身份IDA,IDB,如果IDA≠IDλ,IDB≠IDμ,C放弃游戏;否则,选择R∈G1,c∈{0,1}z,F∈G1,其中z为对称加密算法输出密文长度,返回δ=(c,R,F)。

猜测:可以进行第一阶段的询问各种询问,但不能询问IDA,IDB的私钥,不能对挑战阶段的δ进行解签密询问。询问结束后A1输出ξ作为对mξ中ξ的猜测值。而C则从L2中随机选择U*作为BDH问题实例的解答,U*=e(DA,TB)=e(Dλ,Tu)=e(abP,cP)=e(P,P)abc。即如果A1能输出对的猜测值,则C就能解决BDH难题。

定理2如果有攻击者A1能以不可忽略的概率攻破本方案的SUF-CMA不可伪造性,则存在一个挑战者C能破解BDH难题。

证明:假设C收到(aP,bP,cP),要计算e(P,P)abc。C将A1作为子程序并充当上述游戏的挑战者。

初始化:与定理1初始化相同。

第一阶段:与定理1第一阶段相同。

伪造:A1输出一组伪造三元组(δ,IDA,IDB)。如果IDA≠IDλ,IDB≠IDμ,C放弃。

分析:如果A1伪造的三元组是有效的,即攻破本方案的不可伪造性,则生成对称密钥为K=H2(R,U*,V*),其中U*=e(DA,TB)=e(Dλ,Tμ)=e(abP,cP)=e(P,P)abc,C从L2中随机选择U*作为BDH问题实例的解答。

定理3如果有攻击者A2能以不可忽略的概率攻破本方案的INC-CCA2机密性,则存在一个挑战者C能破解CDH难题。

证明:假设C收到(aP,bP),要计算abP。C将A2作为子程序并充当上述游戏的挑战者。

初始化:C运行Setup算法,将系统参数params(G1,G2,e,P,P0=sP,n,H1,H2,H3)和s发送给A2。

第一阶段:假设A2在进行其他询问时,已经进行过H1询问,且总共询问q1次。

H2询问:C保存一张表L2,内容为(U,V,R,K)。收到询问时,若L2中有(U,V,R,K),则返回K;否则,返回任意K∈{0,1}n,并保存(U,V,R,K)到L2。

私钥询问:收到查询身份IDi私钥的询问时,如果IDi=IDλ或IDμ,则C放弃游戏;否则,C从L4中获得si并返回给A2,同时询问L1获得Ti,并用(IDi,sliP,si,Pi)更新L4。A2可以通过sTi得知部分私钥。

挑战:A2选择长度相同的两个明文m0、m1,以及希望挑战的两个身份IDA、IDB,如果IDA≠IDλ,IDB≠IDμ,C放弃游戏;否则,选择R∈G1,c∈{0,1}z,F∈G1,其中z为对称加密算法输出密文长度,返回δ=(c,R,F)。

猜测:可以进行第一阶段的询问各种询问,但不能询问IDA、IDB的私钥,不能对挑战阶段的δ进行解签密询问。询问结束后A2输出ξ作为对mξ中ξ的猜测值。而C则从L2中随机选择V*的第一项作为CDH问题实例的解答,V*=e(PAsB,-)=e(abP,-)。

分析:如果A2猜测成功,则其肯定以R、U*、V*进行过H2询问得出IDA=IDλ,IDB=IDμ签密时的正确密钥K,其中V*=e(PAsB,P)。

定理4如果有攻击者A2能以不可忽略的概率攻破本方案的SUF-CMA不可伪造性,则存在一个挑战者C能破解CDH难题。

证明:假设C收到(aP,bP),要计算abP。C将A2作为子程序并充当上述游戏的挑战者。

初始化:与定理3初始化相同。

第一阶段:与定理3第一阶段相同。

伪造:A2输出一组伪造三元组(δ,IDA,IDB)。如果IDA≠IDλ,IDB≠IDμ,C失败;否则,C从L2中随机选择V*。

猜测:如果A2在伪造阶段伪造的三元组是有效的,即攻破本方案的不可伪造性。则生成对称密钥为K=H2(R,U*,V*),其中V*=e(PAsB,-)=e(abP,-),C从L2中随机选择V*的第一项作为CDH问题实例的解答。

可公开验证性:当需要验证的时候,可以公开验证等式e(P,F)=e(R,g)e(PA,R)是否成立,其中验证信息不泄露任何明文和双方私钥,达到了公开验证的目的。

4 性能分析

在运算上,耗时时间由小到大依次为点乘(s),指数(e),双线性对(p)[16]。从表1中能看出各种方案对相同长度明文签密的密文长度大体相同。计算效率上文献[13]虽然效率较高,但并没有提供不可伪造性,在安全方面没有得到满足。本方案在签密阶段用了3次点乘运算,2次双线性对运算,在解签密阶段用了2次双线性对运算,效率高于其他三个满足不可伪造性的签密方案,总体的效率较高。

表1 与其他签密方案之间的效率比较

5 结 语

本文提出了一种基于混合签密与无证书密钥的可公开验证无证书混合签密方案,可以签密的明文长度也不受限制,并且在随机预言模型下证明了方案具有IND-CCA2安全性与SUF-CMA不可伪造性。新方案还满足可公开验证性,计算效率高,通信速度快,适合在移动支付、电子商务等需要安全,效率通信的应用中。

[1] Zheng Y L.Digital signcryption or how to achieve cost(signature & encryption)cost(signature)+cost(encryption)[C]//Advances in 17thAnnual International Cryptology Conference(Cryptology CRYPTO’97),Berlin:Springer-Verlag,1997:165-179.

[2] Shamir A.Identity-Based Cryptosystems and Signature Schemes[J].Lecture Notes in Computer Science,1995,21(2):47-53.

[3] Al-Riyami S S,Paterson K G.Certificateless Public Key Cryptography[M]//Advances in Cryptology-ASIACRYPT 2003.Springer Berlin Heidelberg,2003:452-473.

[4] Dent A W.Hybrid Signcryption Schemes with Insider Security[C]//Information Security and Privacy,Australasian Conference,ACISP 2005,Brisbane,Australia,July 4-6,2005,Proceedings,2005:253-266.

[5] 刘文浩,许春香.无双线性配对的无证书签密方案[J].软件学报,2011,22(8):1918-1926.

[6] Singh K.Identity based hybrid signcryption revisited[C]//International Conference on Information Technology and E-Services,2012:1-7.

[7] 何德彪.无证书签密机制的安全性分析[J].软件学报,2013,24(3):618-622.

[8] 冯巧娟,沙锋.高效安全的无证书混合签密方案[J].计算机应用与软件,2013,30(9):155-159.

[9] Swapna G,Reddy P V,Gowri T.Efficient identity based multi-proxy multi-signcryption scheme using bilinear pairings over elliptic curves[C]//International Conference on Advances in Computing,Communications and Informatics,2013:418-423.

[10] 张玉磊,周冬瑞,李臣意,等.高效的无证书广义指定验证者聚合签名方案[J].通信学报,2015,36(2):48-55.

[11] Sun Y X,Li H.ID-based Signcryption KEM to Multiple,Recipients[J].Chinese Journal of Electronics,2011,20(2):317-322.

[12] Huang Q,Wong D S.Generic certificateless encryption in the standard model[C]//Advances in Information and Computer Security,Second International Workshop on Security,IWSEC 2007,Nara,Japan,October 29-31,2007,Proceedings,2007:278-291.

[13] 孙银霞,李晖.高效无证书混合签密[J].软件学报,2011,22(7):1690-1698.

[14] 卢万谊,韩益亮,杨晓元,等.前向安全的可公开验证无证书混合签密方案[J].小型微型计算机系统,2013,34(12):2814-2817.

[15] Yin A,Liang H.On security of a Certificateless Hybrid Signcryption Scheme[J].Wireless Personal Communications,2015,85(4):1727-1739.

[16] Cao X,Kou W,Dang L,et al.IMBAS:Identity-based multi-user broadcast authentication in wireless sensor networks[J].Computer Communications,2008,31(4):659-667.

APUBLICVERIFIABLECERTIFICATELESSHYBRIDSIGNCRYPTIONSCHEME

Xu Peng Xue Wei

(CollegeofInternetofThings,JiangnanUniversity,Wuxi214000,Jiangsu,China)

Certificate-based signcryption and identity-based signcryption are poor resistance to dishonest KGC, and the public key-based signcryption limits the length of the plaintext. The certificateless mechanism can reduce rely on KGC, while hybrid encryption can encrypt any length of plaintext. Combining the certificateless mechanism and the hybrid encryption mechanism, this paper presents a certificateless hybrid signcryption scheme based on bilinear pairings. On the basis of BDH problem and CDH problem, it is proved that the scheme has the confidentiality and adaptability of adaptive chosen ciphertext attack in random oracle model, as well as the unforgeability of chosen plaintext attack, and the scheme is publicly verifiable. Through efficiency analysis, the proposed scheme is efficient and suitable for applications where the bandwidth is limited.

Certificateless Hybrid signcryption Bilinear Public verifiability

2016-12-03。国家自然科学基金项目(61374047)。徐鹏,硕士生,主研领域:信息安全。薛伟,副教授。

TP309

A

10.3969/j.issn.1000-386x.2017.11.051

猜你喜欢
挑战者明文私钥
“挑战者”最后的绝唱
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
闪电远击侠“挑战者”2
一种基于虚拟私钥的OpenSSL与CSP交互方案
奇怪的处罚
挑战者 敢闯敢创激发无限可能
挑战者
奇怪的处罚