无证书部分盲签名的分析和改进外文翻译资料

 2022-08-09 09:53:07

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


无证书部分盲签名的分析和改进

成林1,2✉,温巧燕2

ISSN 1751-8709

2014年6月18日收到

2015年3月19日修订,2015年4月5日接受

doi:10.1049 / iet-ifs.2014.0293 www.ietdl.org

1 中国信息技术安全评估中心技术评估研究实验室,北京100085

2北京邮电大学网络与交换技术国家重点实验室,北京100876,中华人民共和国

✉电子邮件:stonewoods302@163.com

摘要:部分盲签名是安全电子现金(e-cash)系统中的一项重要技术。第一个具体的电子现金无证书部分盲签名(CLPBS)方案于2011年提出。最近发现,该结构存在安全漏洞,相应的补救方案也被提出。不幸的是,没有提供正式的安全证明。在本项研究中,作者首先对其补救方案进行了密码分析。他们证明,采用补救方案的恶意用户可以通过替换签名者的公钥来伪造任何邮件上的签名。在电子现金系统中,银行发行的盲签名被视为电子现金。一旦他们将其方案应用于不可追踪的电子现金系统,恶意用户便可以伪造有效的电子硬币(即有效的签名),而不会被银行发现。这将导致银行损失。然后,他们提出了一种新改进的CLPBS方案,该方案与以前发布的抢救方案相比,具有最高的安全级别,并具有更高的计算效率。最后,他们给出了使用其方案在电子现金系统中潜在应用的示例。

引言

电子现金(e-cash)是Chaum [ 1 ]提出的,在在线商务中起着重要的作用。与现金类似,电子现金应保留相同的匿名属性,也就是说,银行将无法通过已花费的电子现金来识别或追踪用户。可以使用盲签名[ 1 ] 来实现电子现金系统。盲签名允许用户在邮件上获得签名,而无需向签名者透露有关邮件的任何内容。盲签名满足电子现金系统的匿名性要求。但是,盲签名在现实应用中有两个缺点。一方面,为了防止客户将其电子现金花费双倍,银行必须保留一个可用的数据库,该数据库可能会无限增长。另一方面,要相信电子现金在取款阶段的面值,签名人(银行)必须在盲的情况下保证消息中包含正确的信息。Chaum等人介绍的选择算法。[ 2 ]被广泛用于解决这个问题。然而,这方法非常低效。

Abe 和Fujisak [ 3 ] 提出的部分盲签名旨在克服普通盲签名的缺点。部分盲签名方案允许银行(签名人)在盲签名中明确包含一些约定的通用信息,例如到期日期和面值。通过将到期日期嵌入银行发行的每种电子现金中,银行可以删除记录在其数据库中的所有过期电子现金,以防止数据库的无限增长。此外,通过将面值嵌入每个电子现金中,银行可以清楚地知道盲目发行的电子现金中的价值。因此,部分盲签名避免了普通盲签名的缺点,比电子现金系统中的盲签名更有用。许多部分盲目签名方案[ 3– 9 ]已经提出。但是,这些方案[ 3 – 6 ]是在传统的公钥(PK)密码学中设计的,而方案[ 7 – 9 ]是在基于身份的密码学中设计的。

在传统的公钥加密,用户的公钥与可信任的证书机构发行的证书相关联; 这就导致证书管理问题。在基于身份的密码,用户的公钥直接从它的名字,电子邮件地址或其他身份信息导出,但它需要一个可信的第三方称为密钥生成中心(KGC)来生成用户的私钥。因此,在基于身份的密码学中,我们面临着关键的托管问题,即KGC知道所有用户的私钥,它可以为任何用户解密任何密文或在任何消息上伪造签名。在2003年,Al-Riyami和Paterson [ 10 ]引入无证书公钥加密,这解决了基于身份的密码系统的固有的密钥托管问题,而不像传统的公钥密码体制需要证书。在无证书公钥密码体制下,用户的公钥独立由用户产生的,并不需要证书机构并且用户的私有密钥是由KGC计算的部分私有密钥(PPK)和用户选择的秘密值的组合,在这样一种方式,密钥托管问题可以在不需要证书机构。继Al-Riyami的Paterson的开拓工作,许多无证书(CLS)的签名方案已经提出:普通的数字签名方案[ 10 - 19 ],群签名方案[ 20 - 24 ],代理签名方案[ 25 - 27 ] 等等。2011年,Zhang等人。[ 28 ]将无证书公钥加密加入到部分盲签名方案,构建了第一个具体的电子现金系统的无证书部分盲签名方案。后来,他们自己改进了此方案[ 29 ]。在本文中,我们展示了Zhang等人的盲签名方案仍然是不安全的。然后,我们提出了一种新改进的CLPBS方案,并证明了该方案在随机预言模型中的Diffie - Hellman(CDH)假设下是安全的。

本文的其余部分组织如下。在第2节中,我们介绍了一些相关的定义和CLPBS方案相关的安全观念。在第3节中,我们回顾了Zhang等人的CLPBS方案。在第4节中,我们证明Zhang等人的CLPBS方案是不安全。在第5节中,我们提出了一种新的CLPBS方案。在第6节中,我们将介绍其安全性证明和性能分析。在第7节中,我们给出了使用我们的方案在电子现金系统中潜在应用的示例。结束语在第8节中给出。

预备知识

2.1 双线性映射

设(G1, )为阶q的循环加法群,(G2,*)为阶q的循环乘法群,若具有以下性质,则称它为双线性映射。

(1)双线性:e ( aP, bQ)=e(P, Q)ab,其中P, Q G1和a,bZq*;

(2)非退化:P G1,使得e(P,P)1;

(3)可计算:对于P, Q G1,可以计算e(P,Q)。

2.2 Diffie–Hellman计算

给定生成元P的累加循环群G和(aP,bP)对于随机的a,bZq*。CDH问题是计算abP。令B 成为攻击者。我们定义B 解决CDH问题Adv(B) = Pr[B(P,aP,bP)= abP]。

2.3 CLPBS方案的定义

一个由Zhang等人定义的CLPBS方案[28]由以下八种算法组成:

初始化:这个算法由KGC运行,输入安全参数k , KGC生成系统参数param、和主密钥(msk)。

部分私钥设置:这个算法由KGC运行,输入用户ID的身份ID, param和msk,它返回一个部分私钥DID。

秘密值设置:这个算法由用户运行,输入param和ID;,该算法

生成用户的秘密值x。

私钥设置:这个算法由用户运行,输入params , 用户的部分私钥DID和秘密值x,生成用户密钥SID

公钥设置:这个算法由用户运行,输入params , ID和x,该算

法生成公钥PID

签名过程:假设被签信息为m,签名delta;由以下过程生成:

步骤1: A和B共同协商一个公共信息Omega;。。

步骤2:输入字符串r和信息m,输出待签消息m生成的字符串h,然后把h发送给B。

步骤3:输入字符串h和B的私钥SID,输出··,并把发送给A。

步骤4:输入,和字符串r,输出部分盲签名delta;。

验证过程:输入Omega;,delta;, params、ID和PID;如果通过验证方程,我们就说delta;是m的有效签名并接受,反之则不接受·。

2.4 安全模型

CLPBS方案中有两种攻击者,即I型攻击者和II型攻击者。攻击者A I 无法访问主密钥但可以随意替换任何用户的公共密钥的恶意用户进行建模。攻击者AII 代表一个恶意KGC谁可以访问到主密钥,但他是不能够替换目标用户的 公钥。对于II型攻击者,Au等人[30]提出了一种增强的安全模型,称为恶意但被动的KGC,其中恶意KGC可以恶意生成系统参数,从而可以更轻松地发起II型攻击。在2007年,Huang等[ 11]重新讨论了CLS的安全模型。他们分析后把I / II型攻击者分为三类攻击者,分别是普通的攻击者,强敌和超级攻击者(通过自身的攻击力排序)的。普通的I / II类型攻击者只能获取原始公钥的有效签名,而不能获取已替换公钥的任何有效签名。如果I / II型强势攻击者可以提供与替换后的公共密钥相对应的秘密值,则可以获取替换后的公共密钥的有效签名。超级I / II型攻击者可以获取替换后的公钥的有效签名,而无需提交秘密值。Zhang等人的定义[ 28],他们只考虑了普通的I / II型攻击者。在本文中,我们采用最强的安全模型,其中每个超级攻击者A (A I 和A II )都可以发出以下查询:

Hash询问:对于任何输入,A都能够询问Hash值。

部分私钥询问:当A提交身份信息ID时,C计算部分私钥d并返回给A作为回应。

私钥询问:当A提交身份信息ID时,C计算私钥,SK并返回给A作为回应。

秘密值询问:当A提交身份信息ID时,C计算秘密值x并返回给A作为回应。

公钥询问:当A提交身份信息ID时,C计算公钥PK并返回给A作为回应。

公钥替换:当A提交身份信息ID和新的有效PK } , C替换当前公钥值PK并记录。

签名询问:当A提交待签消息m、协商信息c、身份ID和相应公钥值PK , C发出签名并将其作为回应返回给A,注意:可以用公钥替换PK

对于选择性消息攻击下,CLPBS方案存在不可伪造性分别由Game - I和Game - II两场模拟游戏给出。

Game-I:此游戏由AI与C之间进行,用于CLPBS方案的攻击者AI进行如下攻击。

初始化阶段:C首先运行初始化算法生成主密钥和系统参数params,然后C秘密保存s将params发送给AI。

攻击阶段: AI分别对Hash函数、部分私钥、私钥、公钥、公钥替换和签名执行询问。

伪造阶段:最终AI输出一个三元组(m*, ID*, PK)。如果以下条件成立,我们就说AI赢得Game一I。

(1) AI从未请求过身份为ID*的签名者的部分私钥;

(2)AI从未进行过(ID*, m*, delta;*, PK)的查询;

(3)验证(params, ID*, m*, c,delta;*, PK)1,其中,PKrsquo;是AI替换身份为ID*的当前公钥。

我们在这个游戏中定义AI的优势:

Adv(AI)=Pr[AIwins]

Game - II此游戏由AII与C之间进行,用于CLPBS方案的攻击者再进行如下攻击。

初始化阶段:C首先运行初始化算法生成s和params,然后C将s和params发送给AII

攻击阶段: AII可以自适应地执行一个多项式有界查询,就像在Game-I中一样,唯一的区别是AII不需要对部分私钥询问,因为他知道s,但他需要进行秘密值询问。

伪造阶段:最终AII输出一个三元组(ID*, m*, PK)。如果以下条件成立,我们就说AII赢得Game一II。

(1) AII既没有公开密钥替换查询,也没有请求过身份为ID*的签名者的秘密值;

(2) AII从未进行过(ID*, m*, delta;*, PK)的查询;

(3)验证(params, ID*, m*, c,delta;*, PK)1,其中,PKrsquo;是身份为ID*的原始公钥。

我们在这个游戏中定义AII的优势:

Adv(AII)=Pr[AIIwins]

定义1(不可伪造):在这两场模拟中,如果没有任何多项式有界的攻击者A以一个不可忽略的优势赢得游戏,我们就可以认为该CLPBS方案在自适应选择的消息攻击下具有不可伪造性。

定义 2(部分盲性):设A是具有对抗性的签名者,U0和U1是两个诚实的用户。 A分别与 U0和U1针对相同的协商信息Omega;和不同的消息mb和m1-b进行签名。如果用户U 0和U 1分别 输出签名delta;b和delta;1-b,其中b isin; {0,1}是一个随机值,并且对A保密,然后把{m0,m1, Omega;, delta;b,delta;1-b}发给A.最后,A的输出b 作为对于b猜测。如果对于所有这样的A,U0和U1以及任何常数c 和足够大的k值都成立,则满足部分盲性。

张等人改进方案的回顾

在[ 29 ]中,Zhang等人的CLPBS方案包括下列算法:

初始化:输入安全参数k,KGC选择素数为q 的循环加法群G1,素数为q的循环乘积群G2,G1的生成元P 和双线性映射e:G1 times; G1 → G2。KGC还选择一个随机主密钥s Zq*并将P0 = sP 设置为KGC的公钥,然后选择加密哈希函数H,H1:{0,1} * → G1,H 2:

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[239852],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。