公钥证书基础上的不可否认签名研究

2022-04-05 10:11:43 | 浏览次数:

【 摘要 】 将基于证书的概念引入到不可否认签名中,首次提出基于证书的不可否认签名,并给出基于证书不可否认签名的一般性定义和安全性模型。

【 关键词 】 基于证书;不可否认签名;基于证书不可否认签名;安全性

Certificate-Based Undeniable Signature Research

Wang Wen-juan Chen Xiao-jie

(LongYan UniversityFujianLongyan 364012)

【 Abstract 】 We introduce the concept of certificate -based into the undeniable signature。Then we present a formal definition and a security model of certificate-based undeniable signature。

【 Keywords 】 certificate-based; undeniable signature; certificate-based undeniable signature; security

1 签名的研究意义

基于证书公钥密码系统(Certificate-Based Public Key Cryptography, CB-PKC)是由Gentry C.等人在2003年欧洲密码学会议上首次提出的。CB-PKC是目前为止最好的公钥密码系统,并将成为更加实用的公钥系统取代目前使用的公钥基础设施。该密码系统的提出不仅解决了已有公钥密码系统中的证书管理问题及密钥托管问题,而且还克服了对可信第三方的信任级别低的问题。基于证书数字签名(Certificate-Based Signature, CBS)是基于证书公钥密码系统的一个重要组织部分,对其进行深入研究对密码学发展具有重要的意义。

不可否认签名(Undeniable Signature)是1989年由Chaum等首先提出的,它适用于签名的有效性不能被普遍地验证的情况,签名的验证过程需要签名者的配合才能实现,并且接收者在没有得到签名者允许的情况下不能向第三方证明签名的有效性。

将基于证书的概念引入到不可否认签名中,在已有的基于证书数字签名及不可否认签名的一般性定义和安全模型的基础上给出基于证书不可否认签名的一般性定义及安全性模型,并在此基础上构造一个签名方案,这对于密码学的研究是一个新的突破,具有重要的研究意义。

2 签名的一般性定义

定义 2.1 一个基于证书的不可否认签名方案由参数生成算法、用户密钥生成算法、证书生成算法 、签名密钥生成算法、签名算法、确认协议、否认协议七个部分组成,其中前面五个算法与文献[3]中定义的相似,并在其基础上增加两个签名者与验证者之间的交互协议如下:

确认协议:验证者输入原消息m、签名者的身份ID对及相应的有效签名?滓,签名者输入自身的私钥SKID,该协议将输出一个可说明签名?滓确实是签名者对原消息m的有效签名的不可传递性证明。

否认协议:验证者输入原消息m、签名者的身份ID对及一个无效签名?滓,签名者输入自身的私钥SKID,该协议将输出一个可说明签名?滓确实不是签名者对原消息m的有效签名。

3 签名的安全性模型

根据已有的基于证书数字签名和不可否认数字签名的安全模型, 并结合文献[4]中提出的基于身份不可否认数字签名的安全性模型, 下面从三个属性考虑,提出基于证书不可否认签名的安全模型。

(1) 不可伪造性

所谓不可伪造性是指签名在适应性选择消息攻击下被成功伪造是不可能存在的。基于证书不可否认签名存在用户攻击(下面简称为A1)和CA攻击(下面简称为A2)两类攻击者。前者是在知道签名者的私钥却无法获得对应公钥证书情况下的攻击;后者刚好相反,攻击者可以通过系统主私钥计算得到用户的证书,但却无法获得签名者私钥的情况下进行的攻击。

下面通过模拟上述两类攻击者与挑战者S之间的如下攻击来证明基于证书不可否认签名方案的不可伪造性,具体定义如下:

攻击1:在A1与S之间交互

① 参数生成: 根据安全参数1K, S运行参数生成算法获得系统公开参数params和系统主私钥s,并将params发送给A1。

② 询问: A1可在多项式时间内多次向S进行七种类型询问。

用户密钥生成询问:输入任意签名者K的身份IDK,询问其对应的公钥PK和私钥SK, S计算后将(PK,SK)返回给A1。

Hash值询问:输入任意字符串,S 计算后将相应的Hash值返回给A1。

证书生成询问:输入任意签名者K的身份IDK和公钥PK,询问其对应的公钥证书CertK,S计算后将CertK返回给A1。

替换公钥询问: 输入任意签名者K的身份IDK、原公钥PK及新公钥P"K, 请求用新公钥替换原公钥,S查寻存储表将签名者K的公钥PK替换成P"K。

签名询问: 输入任意签名者K的身份IDK和任意待签消息m,询问其相应的签名?滓, S计算后将?滓返回给A1。

确认协议询问: 输入任意签名者K的身份IDK、一个消息签名对 (m,?滓),S运行确认协议使得A1相信?滓确实是签名者K对消息m的有效签名。

否认协议询问:输入任意签名者K的身份IDK、一个消息签名对 (m,?滓),S运行否认协议使得A1相信?滓确实不是签名者K对消息m的有效签名。

③ 最终结果输出:对于选定的签名者K*(其对应的身份为IDK*,公钥为PK*)和选定的消息m*,A1输出其对应的签名?滓*。

A1要在上述攻击中取胜,只要A1能证明 (m*,?滓*)是签名者K*的有效消息签名对, 同时能满足两个条件。

在证书生成询问时A1没有对(IDK*,PK*)进行询问。

在签名询问时A1没有对(IDK*,PK*,m*)进行询问。

攻击2: 在A2与S之间交互

① 参数生成:根据安全参数1k,A2运行参数生成算法获得系统公开参数params和系统主私钥s, 并发送(params,s)给S。

② 询问: A2可在多项式时间内多次向S进行三种类型的询问。

用户公钥生成询问:输入任意签名者K的身份IDK,询问其对应的公钥PK,S计算后返回PK给A2,并保存相应私钥SK。

用户私钥生成询问:输入任意签名者K的公钥PK,询问其对应的私钥SK,当PK是通过用户公钥生成询问得出时,S查询存储表返回私钥SK,否则,返回空值(简写“⊥”)。

Hash值询问、替换公钥询问、签名询问、确定协议询问、否定协议询问:同攻击1中定义。

③ 最终结果输出:对于选定的签名者K*(其对应的身份为IDK,公钥为PK*)和选定的消息m*,A2输出其对应的签名?滓*。

A2要在上述攻击中取胜,只要A2能证明 (m*,?滓*)是签名者K*的有效消息签名对, 同时能满足三个条件。

在签名询问时A2没有对(IDK*,PK*,m*)进行询问。

签名者K*的公钥PK*是通过用户公钥生成询问得出的。

在用户私钥生成询问时A2没有对PK*对应的私钥进行询问。

定义 3.1 如果存在任意多项式时间的攻击者A1和A2赢得上述两类攻击的概率是可忽略的,就说这个基于证书不可否认签名方案在适应性选择消息攻击下是不可伪造的。

(2) 隐匿性

所谓“隐匿性 (Invisibility) ” 是指验证者在没有得到签名者协作的情况下不能单独判断消息签名对是否有效。下面通过模拟隐匿性区分器(Invisibility Distinguisher)(简称攻击者A3)与挑战者S之间的如下攻击来证明基于证书不可否认签名方案具有隐匿性,具体定义如下:

攻击3:在A3与S之间交互

① 根据安全参数1k, S运行参数生成算法获得params和s,并发送params给A3。

② A3可以在多项式时间范围内向S进行用户公钥生成、Hash值、证书生成、用户私钥生成、替换公钥、签名、确认协议、否认协议的一系列询问,这些询问与攻击1和攻击2中定义的类似。

③ 询问过后,A3产生一个(m,IDK)对,其中IDK在第两步中没有进行过用户私钥生成询问和证书生成询问。 S投掷一枚硬币a←R{0,1},当a=0时,S发送对应于(m,IDK)的有效签名?滓给A3,否则,随机选择签名空间上的一个值作为?滓发送给A3。

④ A3再次进行第二步中定义的询问,此过程中不能向S发送(m,IDK,?滓)进行确认协议和否认协议询问,也不能发送IDK进行用户私钥生成询问及证书生成询问。

⑤ 最后,A3输出比特a",当A3确认(m,IDK,?滓)有效时a"=1,否则a"=0。

中有a=a"时,A3才能在攻击中取胜,因此, A3在攻击3中的概率优势定义为:

Advinv(A3)=2Pr(a=a")-1

定义 3.2 如果任意多项式时间的攻击者A3赢得攻击3的概率是可忽略的,就说这个基于证书不可否认签名具有隐匿性。

(3) 匿名性

所谓“匿名性(anonymity)”是指当给定两个签名者及其中任意一个签名者的消息签名对时,验证者不能判断此消息签名对是由哪个签名者产生的。

攻击4:在攻击者A4与挑战者S之间进行交互

① 根据安全参数1K,A4运行参数生成算法获得params和s, 将(params,s)发送给S。

② A4可以在多项式范围内向S进行用户公钥生成、Hash值、证书生成、用户私钥生成、替换公钥、签名、确认协议、否认协议的一系列询问,这些询问与攻击1和攻击2中定义的类似。

③ 询问过后,A4产生(m,ID0,ID1)对,其中ID0、ID1没有在第两步中进行过用户私钥生成询问。

S投掷一枚硬币c←R{0,1},用IDc的私钥对m进行签名,将签名?滓发送给A4。

④ A4再次进行第二步中定义的询问,此过程中不能向S发送(m,ID0,?滓)或(m,ID1,?滓)进行确认协议和否认协议询问,也不能向S发送ID0、ID1进行用户私钥生成询问和证书生成询问。

⑤ 最后,A4输出比特c",即A4确认?滓是身份为IDc"的签名者对m的有效签名。

只有c=c"时,A4才能在攻击中取胜,因此, A4在攻击4中的概率优势定义为:

Advinv(A4)=2Pr(c=c")-1。

定义 3.3如果任意多项式时间的攻击者A4赢得攻击4的概率是可忽略的,就说这个基于证书不可否认签名具有匿名性。

定义 3.4如果一个基于证书不可否认签名方案在适应性选择消息攻击下存在不可伪造性,且能满足隐匿性和匿名性,那么它是安全的。

4 总结

本文首次提出基于证书不可否认签名的概念,并给出其一般性定义及安全性模型,今后可在次基础上构造出可证明安全的具体签名方案

参考文献

[1] Gentry C. Certificate-based encryption and the certificate revocation problem[A]. Advances in Cryptology-EUROCRYPT 2003, Lecture Notes in Compututer Science:Vol 2656[C].E. Biham (Ed.): Springer-Verlag, 2003:272–293.

[2] Chaum D, van Antwerpen H. Undeniable Signatures. Advances in Cryptology proceeding of Crypto 1989, Lecture Notes in Computer Science:Vol 435[C].Berlin: Springer-Verlag, 1990: 212–216.

[3] 王雯娟,黄振杰,郝艳华.一个高效的基于证书数字签名方案[J].计算机工程与应用,2011, 47?(6):?89-92.

[4] Benoit Libert,Jean-Jacques Quisquater.Identity Based Undeniable Signatures[A]. Advances in CT-RSA 2004, Lecture Notes in Computer Science: Vol 2964[C]. Berlin: Springer-Verlag,2004:112-125.

[5] Chaum D,van Antwerpen H.Undeniable signatures[A].Advances in Cryptology-Crypto’89, Lecture Notes in Computer Science: Vol 0576[C]. Berlin: Springer-Verlag,1991:470-484.

[6] Galbraith S,Mao W.Invisibility and Anonymity of Undeniable and Confirmer Signatures[A]. Advances in Cryptology-CT-RSA 2003, Lecture Notes in Computer Science: Vol 2612[C]. Berlin: Springer-Verlag,2003:80-97.

作者简介:

王雯娟(1985-),女,研究生,硕士,助理实验师;研究方向:信息安全。

推荐访问: 基础上 否认 证书 签名 公钥