1、分类号: 密级: UDC: 学号: 南 昌 大 学 硕 士 研 究 生 学 位 论 文可证明安全的无证书签密及其应用研究培养单位(院、系): 软件学院 软件工程指导教师姓名、职称: 指导教师姓名、职称: 申请学位的学科门类: 工 学学科专业名称: 软件工程论文答辩日期: 年 月 日答辩委员会主席: 评阅人: 年 月 日标准模型下的无证书签密算法及其应用研究I摘要标准模型下的无证书签密算法及其应用研究IIABSTRACT标准模型下的无证书签密算法及其应用研究III目录摘要 IABSTRACTII目录 .III第 1 章 绪论 .11.1 研究背景与意义 11.1.1 信息安全概述 .11.1.2
2、 公钥密码体制发展综述 .21.1.3 签密的重要意义 .31.2 无证书密码体制的发展和研究现状 41.2.1 标准模型下的无证书签密体制的研究现状 .41.2.2 即时通讯系统中无证书签密体制发展研究现状 .41.2.3 其他签密应用的研究现状 .51.3 论文的主要内容和结构安排 51.3.1 主要工作 .51.3.2 论文结构 .5第 2 章 预备知识 .72.1 双线性对的基本知识 .72.2 数学困难问题 .72.3 公钥密码体制和相关签名算法 .82.3.1 公钥密码体制概述 .82.3.2 Cramer-Shoup 公钥密码体制 .92.3.3 BLS 短签名方案 .92.4
3、可证明安全理论概述 .102.4.1 Dolev-Yao 威胁模型 .102.4.2 随机预言模型 .122.4.3 标准模型 .12第 3 章 基于标准模型的短签密方案研究 .13标准模型下的无证书签密算法及其应用研究IV3.1 通用模型 133.2 安全模型 143.3 方案描述 163.4 安全证明 183.4.1 正确性 183.4.2 机密性 .193.4.3 不可伪造性 .233.5 性能分析 263.6 本章小结 27第 4 章 基于无证书的即时消息签密方案 .284.1 通用模型 .284.2 方案描述 .284.3 安全证明 .294.3.1 正确性 .304.3.2 机密性
4、 .304.3.3 不可伪造性 .324.3.4 抵抗临时密钥攻击 .324.4 性能分析 .334.5 基于无证书的即时通信系统签密方案 .334.5.1 方案描述 .334.5.2 模拟结果 .344.6 本章小结 .35第 5 章 总结与展望 .365.1 总结 .365.2 后续研究展望 .36致谢 .38参考文献 .39攻读学位期间的研究成果 .41标准模型下的无证书签密算法及其应用研究1第 1 章 绪论1.1 研究背景与意义随着信息科技的发展,信息网络已经涉及到了当今社会的方方面面,大到国家的国防安全,小至人民生活。21 世纪就是一个信息的时代。信息科技的发展给人们生活带来了很大的
5、便利,但同时我们也为网络的不安全感到担忧。网络是一个大的环境,其中有很多存在着众多不安全的因素。2013 年,斯诺登事件曝光了美国政府的棱镜计划,更能看出网络其实是很不安全的,但是我们每个人又都已经参与到了其中,所以安全问题是我们必须关心的重大问题。在信息安全中,密码学是一个基础,这几年,密码学的知识得到了很大的发展,信息安全技术也越来越丰富,国家对网络安全的投入也越来越大,对民众的安全宣传也越来越多。他不再仅仅是一种科学技术,而已经上升到了一种国家策略,成为各国政府和机构的重点研究内容。1.1.1 信息安全概述电子信息技术发展以来,信息安全也逐渐得到了很大的发展,主要经历了三个阶段:(1)在
6、 20 世纪 60 年代以前,电子信息技术还不是那么普及,人们对信息安全的定义只是保证信息在交换过程中不被泄漏,即信息保密。所依赖的也是密码学最初时的安全理论和技术。 (2)20 世纪 60 年代后,计算机的软硬件都得到快速发展,网络技术也开始普及,传统的信息安全定义已完全不能满足科技的快速发展。此时的信息安全包含了三个要素:机密性(Confidentiality) 、完整性( Integrity)和可用性( Availability) ,即 CIA-Triad。机密性即确保信息在存储、使用和传输过程中不会泄露给非授权的用户或实体;完整性即确保信息在存储、使用和传输过程中不会被非授权用户篡改,
7、同时还要防止授权用户对系统及信息进行不切当的篡改,保持信息内、外部表示的一致性;可用性即确保授权用户或实体对信息及资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息及资源。 (3)20 世纪 80 年代以后,互联网技术快速发展,信息量无论是已有的基数,还是增加的速度都达到了空前Comment RC1: 删除标准模型下的无证书签密算法及其应用研究2的状态。尤其是当前大数据时代的到来,信息安全的需求已经完全超过机密性、完整性和可用性三个特性所定义的范畴,由此更多的安全定义被提了出来,其中包括不可伪造性(Unforgeability) 、可认证性(Authenticity) 、前向安全性(Fo
8、rward Secrecy) 、过去恢复性( Past Recovery)和临时密钥安全性(Known session-specific temporary information security)等 1。1.1.2 无证书密码体制发展综述1976年,Diffie 和 Hellman2发表了New directions in cryptography一文,提出了公钥密码学发展的新方向,奠定了公钥密码体制的基础,具有划时代的意义。公钥密码学的发展经历了三个主要阶段:传统的基于证书的公钥密码体制、基于身份的公钥密码体制和无证书公钥密码体制。在无证书公钥系统中,用户的私钥不由密钥生成中心(Key
9、Generate Center,简称 KGC)直接分发,而是分成两部分,一部分用户自己生成,另一部分则由 KGC生成。这样做有两个好处,一是减少了证书生成、更新、吊销和管理等复杂的运营操作,二是 KGC不拥有用户的完成的私钥,避免了密钥管理的安全缺陷。而这两者恰恰分别是传统基于证书的公钥密码体制和基于身份的公钥密码体制的弊端。无证书密码的概念提出以来,有众多的优秀的无证书方案提出。在这些方案中,有基于椭圆曲线上的双线性对运算的 3-6,也有不依赖双线性对的方案 7-9提出,还有其他各种形式的扩充。总之,无证书密码的提出,为公钥密码体制的发展开辟了一个全新的方向,将公钥密码体制的发展上升了一个新
10、的台阶,为更多的应用场景提供了更佳的解决方案,是未来密码学发展的一个热门的方向。无证书公钥密码体制在 2003年被 Al-Riyami和 Paterson10提出,在其中将用户私钥划分成两部分,一部分由 KGC生成,一部分用户自身生成。由此克服了密钥托管的问题。机密性和可认证性是密码学的两个重要特性,传统的方法是先签名后加密。签密是在一个逻辑步中同时实现对明文的签名和加密,该密码原语既精简了计算量,又能够节约通讯成本。2008年,Barbosa 和 Farshim11提出了第一个无证书签密方案,并且在随机标准模型下的无证书签密算法及其应用研究3预言模型下是可证安全的。在此之上,又陆续有很多基于
11、无证书签密的方案 12-14提出。但是此类方案大部分均是在随机预言模型下可证安全。随机预言模型下的可证安全,在现实的使用中是存在不安全因素的。当执行一个在随机预言模型下可证安全的方案时,方案中的随机预言机将会由具体的哈希函数来代替,由此会引发安全性问题。近年来,在签密方案的可证安全过程中,标准模型得到了广泛关注。在标准模型的安全证明环节中不存在任何假想,仅依靠一些已被广泛接受的假设进行证明,因此其签密方案的安全系数更高,在现实使用中的安全性更有保障。1.1.3 签密的重要意义在密码学发展的过程中,为了实现保密性和可认证性,几乎所有的加密方案都采取了先签名后加密的方式,而对加密和签名的研究都是分
12、开的。但是,随着应用越来越丰富,对安全性的需求也不一样。很多的应用场景中要求同时实现信息的加密和签名。传统的先签名后加密的方式虽然能够实现这种需求,但是效率不是很高,方案的计算量和通信成本往往都是签名和加密的叠加。由此,签密(Sigcryption)的概念在 1997 年被 Zheng15提出,由此开辟了密码算法研究的一个新方向。签密较传统“先签名后加密”的理念设计有一些独到的优点:(1)精简了密码算法的设计,将加密和签名的两部分操作集成在一个操作步上;(2)算法的计算量更少,可以减去一些复杂的密码操作,在实际应用中就可以降低通信的成本和资源;(3)设计的签密方案安全性更高,能够抵抗更复杂的不
13、安全攻击。签密技术的发展,已经得到了很多学者的注意,也由此发展的越来越迅速。近年来,签密方案的安全性保障已经得到了公认,理论研究和应用设计越来越多,应用的场景也越来越丰富,其中包括电子支付 16-17、MANET 网络 18-19、防火墙 20等Comment RC2: 参考其他的论文再做一些扩充标准模型下的无证书签密算法及其应用研究41.2 无证书密码体制的发展和研究现状1.2.1 标准模型下的无证书签密体制的研究现状在 2009年,Yu 等人 21首次提出标准模型下的基于身份的签密方案,但其在密文的不可区分性上有缺陷。Li 等人 22在 Yu的方案的基础上进行修改,提出了一个新的基于身份的
14、签密方案,在减小计算量的同时保证了安全性。2010年,Liu 等人 3提出了第一个标准模型下的无证书签密方案,但后来 Miao等人23指出,Liu 的方案不符合机密性和不可抵赖性的要求,同时 Weng24中也指出了 Liu的方案不能抵抗恶意的 KGC攻击。2014 年,Lin 等人 25通过对 Liu的方案进行修改,使之能抵抗两类敌手的攻击,同时具有更少的计算量。同样对Liu的方案进行优化和提升还有 Jin等人 26,但后来 Hu27指出 Jin的方案既不能抵抗适应性选择密文的攻击,也不能抵抗恶意的 KGC攻击,并给出了证明过程。同时,Hu 基于 Li的签密方案,借助于 Bellare和 Sh
15、oup的一次性签名方法,提出了一个标准模型下的无证书签密方案,并证明了方案的机密性和不可伪造性。1.2.2 即时通讯系统中无证书签密体制发展研究现状即时通讯技术是近年来发展最迅速的网络应用之一,在网络上实时对话,发送文字、语音、视频和图片等信息。近年来,即时通讯技术已经得到了很快的发展。但同时,由于网络环境的复杂性,即时通讯系统也面临着很严峻的安全问题,而且安全事件频频发生。即时通讯系统所面临的主要安全问题包括不安全的连接、数据交换、网络蠕虫等。Liu 等人使用组播树 28和衍生法 29的对不同时期的恶意即时通讯应用进行了建模分析。Yan 等人 30基于变点检测的知识,提出了两种算法用于快速检
16、测恶意的即时通讯应用。在 2012年,Xie 等人31基于蜜罐技术提出了一种框架模型,实现恶意即时通讯应用的自动化检测,在企业化的网络中降低危害。最近,Wang 等人 32使用基于身份的公钥密码体制的知识提出了一种新的即时通讯系统,并声称能够提供强壮的可验证性,保证通信安全。然而,在这些方案中,几乎所有的方案都没有提供消息可认证性Comment RC3: 分别插入一篇参考文献标准模型下的无证书签密算法及其应用研究5和机密性,并且依然使用传统的先签名后加密的方法,大大增加了算法的消息长度和运算成本。自 2008年,Barbosa 和 Farshim11提出了第一个无证书签密方案后,越来越多的方案
17、相继被提出。Barbosa 他们的方案需要六次线性对运算,计算量很大,对计算机的资源要求很高。后来,Li 等人 33提出了一个效率更高的可证安全的无证书签密方案,计算过程中只含有两次线性对运算。但是他们的方案不能抵抗临时密钥攻击(Known session-specific temporary information attack,简称 KSSTI) 。在 2013年,Li 等人 34在无证书的基础上,提出了一个混合签密的概念;后来 Luo等人 35也在无证书的基础上,拓展实现了基于生物特征的无证书签密方案。随着发展,无证书签密应用的领域越来越广泛,在很多场景中都得到了应用,比如电子货币 36
18、、物联网 14。1.2.3 其他签密应用的研究现状自 Diffie和 Hellman提出公钥密码的思想后,国内外的学者和专家们设计了很多优秀且有名的其他公钥密码体制。其中常见的公钥密码体制按设计理念的不同主要包括以下几类:(1)基于大整数因数分解困难问题,著名的包括RSA公钥体制 37;(2)基于离散对数困难问题,著名的设计有 ElGamal公钥体制 38、椭圆曲线密码公钥体制 39;(3)基于背包问题的 MH背包体制 40等。这些著名的密码思想已经影响了近几十年密码学的发展,奠定了密码学发展坚实的基础。另外,近几年来,伴随着量子计算机的研究和发展,也已有学者开始研究量子密码体制的方案。从应用
19、领域的角度来看,基于椭圆曲线上的离散对数困难的困难问题的签密方案,相较而言所需要的计算量更少、计算模长更短,在移动通信、无线传感网络、智能卡等网络资源相对受限的应用场景中,得到了关注度更高【】 。伴随着互联网的迅速发展,密码学应用的场景越来越多样,产生的思想和设计也就越多,其中包括一些特殊性质的方案。Wang 等人 41提出了无证书的门限签名方案,创新之处在于对方案中系统主密钥、用户私钥等参数和变量都使用门限,但是没有给出安全性证明的过程。标准模型下的无证书签密算法及其应用研究61.3 论文的主要内容和结构安排1.3.1 主要工作1.3.2 论文结构本文包含 5 章内容,结构和章节安排如下第一
20、章为绪论。在这一章节,论文就无证书标准模型的基本介绍和发展历程做详细介绍。第二章为预备知识。在这一章节介绍一些数学的基本知识,以及论文后续部分中签密算法所依据的数学困难问题,和标准模型的通用模型和安全模型的介绍。第三章将介绍一个基于标准模型的短签密方案,其中包括签密方案的组成、安全性证明和性能分析等。第四章为第五章总结与展望。标准模型下的无证书签密算法及其应用研究7第 2 章 预备知识在本章中,首先会介绍双线性对和数学困难问题的基本知识,接着我们将介绍2.1 双线性对的基本知识双线性对(Bilinear Pairings) ,即代数曲线上的 Weil 对和 Tate 对,是研究代数几何的重要工
21、具。密码学发展早期,双线性对被应用于攻击椭圆曲线或超椭圆曲线密码系统,即将椭圆曲线或超椭圆曲线上的离散对数问题归约为有限域中乘法群上的离散对数问题,如使用 Weil 对的 MOV 攻击 42和使用 Tate 对的 FR 攻击 43。但是后来,学者又发现了双线性对更大的作用,并在密码学中使用越来越频繁。通过使用双线性对,之前密码学中的很多困难问题都有了一个更好的解决方案。双线性对被广泛用于构造密码方案,包括基于身份的密码方案、基于证书的密码方案和无证书密码方案。双线性对的数学定义如下:、 是阶数为 的乘法循环群,其中 是大素数。 是群 的生成元。1G2ppg1G双线性映射 ,必须同时满足以下特性
22、:21:Ge1) 双线性:对所有的 , ,均有 ;1,NMpZba, abbaNMee),(),(2) 可计算性:对任何 ,都有有效的算法计算 ;)(3) 非退化性: 。,ge双线性对的实现可以通过有限域上的超奇异椭圆曲线或超奇异超椭圆曲线中的 Weil 对或 Tate 对推导 44。2.2 数学困难问题数学困难问题的定义困难问题是构造加密和签名算法的基本。在论文中,会借助 CDH 问题、DBDH 问题来构造高强度的算法。定义 1 计算性 Diffie-Hellman 问题(Computationl Diffie-Hellman Problem,标准模型下的无证书签密算法及其应用研究8简记为
23、CDH 问题)随机选取 , 为 的一个生成元。对双线性群 而言,计算性qZba,g1G1GDiffie-Hellman 问题定义为:给定一个元组 去求取 。),(bagab定义 2 判定双线性 Diffie-Hellman 问题(Dicisional Bilinear Diffie-Hellman Problem,简记为 DBDH 问题)随机选取 , 为 的一个生成元。判定双线性 Diffie-HellmanqZzcba,g1问题指的是:给定两个五元组 与),(,(abccbageh,判断 是否成立。),(,(2 zcegh212.3 公钥密码体制和相关签名算法2.3.1 Cramer-Sho
24、up 公钥密码体制Cramer-Shoup 公钥密码体制 45,是第一个实用有效,且在标准模型下可证明安全的公钥密码体制。Cramer-Shoup 公钥密码体制是对语义安全 ElGamal 公钥密码体制为达到适应性选择密文攻击的不可区分安全性(IND-CCA2 安全性)而进行的改进,它在 ElGamal 公钥密码体制的基础上,集成了判定 Diffie-Hellman 问题(DDH 问题)进行密文完整性验证。Cramer-Shoup 公钥密码体制的算法如下几个部分组成:1) 密钥创建:是一个具有大素数阶 的阿贝尔群, 是 的两个生成元。1Gq21g和 1G随机选择 ,计算 , , 。Alice1
25、21,Gzyxxc21ygdzh1选择一个密码杂凑函数 , 公开自己的公钥 ,保留HAlie Hc,21作为自己的私钥。zyx,212) 加密:随机选择 ,并计算 , , ( 为要发送的消息)Bobrrgu1r2mher, , 。密文),(21euaradv),(vu3) 解密:当 收到 发送对的密文 后,计算 ,验证等式Alicob ),(21euHa标准模型下的无证书签密算法及其应用研究9是否成立,如若不成立,返回 ,否则计算ayxyxuvq21 zuem12.3.2 BLS 短签名方案Boneh-Lynn-Shacham(BLS)短签名方案 46是基于 PKC 的短签名方案,其签名长度大
26、约为 160 个比特。设 是由 生成的素数 阶加法循环群, 是一1Gpq2G个阶为 的循环乘法群, 是一个双线性映射。定义一个安全的q2:e哈希函数 。系统参数为 。BLS 签名方案由以1,0:Hn HPe,1下三个算法组成:1) 密钥生成:用户随机选取 作为私钥,并计算 作为公钥;qZxxY2) 签名:为了对一个消息 签名,签名者计算 。消息 的签m)(m名为 ;3) 验证:当收到消息 和签名 时,验证者接受此签名当且仅当方程成立。)(,),(HYeP2.4 可证明安全理论概述信息安全主要包括四方面的内容:信息设备安全、数据安全、内容安全和行为安全 47。信息安全包含了三个要素:机密性(Co
27、nfidentiality) 、完整性(Integrity)和可用性(Availability) ,即 CIA-Triad。密码学和信息安全的发展息息相关,同时是推动信息安全发展的重要因素。自公钥密码学的思想提出后,每年都有很多的算法和方案提出,如何证明这些方案的安全性也就成为学者们研究的问题之一。对安全性的判定一般采取两种方法:其一,就是将设计的密码方案公布,让黑客和攻击者们去尝试破解,如果在很长的一段时间内没有任何个人或组织提出有效的攻击方法,通常我们就认为这么方案是安全的;另一种就是由 Goldwasser 和 Micali48-49提出一种全新思想可证明安全性理论。随机预言模型和标准模
28、型是可证明安全理论中最重要的两种模型,根本的区别在于证明方式的差异。在可证明方法的发展过程中,Dolev-Yao 模型具有重要意义,为安全方案的证明提供了一种行之有效且安全的参考标准,在众多Comment RC4: Simon预言机介绍标准模型下的无证书签密算法及其应用研究10的公钥密码方案的证明过程中,基本都是依然该模型进行证明。2.4.1 Dolev-Yao威胁模型可证明方法的发展计算机网络是一个开放的环境,其中包括诸多主体进行着各自的活动,包括接收和发送消息。这些主体包括 PC计算机、设备、手机移动设备等等。在计算机网络中每天都有大量的通信流量,其中包括正常的网络通信,也包括恶意的网络攻
29、击。比如信息窃听,消息伪造、篡改和重放等。基于这种网络攻击,我们将网络主体分成两种:攻击者和被攻击者。计算机网络是一个开放性的环境,任何主体都可以无需授权就加入到网络中,并通过网络来发送和接收消息。这些主体包括一台计算机,一个路由之类的网络设备,一些资源,一些服务的提供者,也可能是一个人或者一个组织等。同样由于开放性,计算机网络中的主体会遭遇很多有意和无意的事情,其中就包括信息的窃听,甚者还有篡改、伪造、复制和消息的删除。这样就将网络中的主体大致分为两类:攻击者和被攻击者。攻击者可能是来自网络的非法用户,也有可能是密码协议中的一个合法主体。攻击者的行为是不规范的,其操纵技术也是难以预料,并且可
30、以通过控制网络中的计算机而具有强大的计算能力。在广泛采纳的密码协议标准威胁模型Dolev-Yao威胁模型 50中,攻击者具有如下特征:在信息安全的等级保护工作中,会依据机密性(Confidentiality) 、完整性(Integrality)和可用性(Availability)来划分信息系统的安全等级。同样的,在威胁模型中我们也有几个安全目标来定义协议或者方案的安全性是否符合要求:1) 语义安全性(Semantic Security,简称 SEM):凡是在给定密文条件下可以有效计算的有关相应明文对的任何消息,都可以在没有该密文的条件下有效地计算。即密文不会向任何具有计算能力为多项式有界的攻击
31、者泄漏明文的任何有用信息,除了明文的长度。Comment RC5: 未修改Comment RC6: 未修改Comment RC7: 参考资料,未修改标准模型下的无证书签密算法及其应用研究112) 不可区分性(Indistinguishability,简称 IND):即多项式时间不可区分性。攻击者选择两个长度相等的明文,加密者随机选择一个加密并返回密文,攻击者不能以明显大于 1/2的概率正确猜测加密的是哪一个明文。因为在并没有任何先验信息的情况下,攻击者猜对的概率是 1/2,因此,明显大于 1/2的概率也称为是攻击者不可忽略的攻击优势。同样,在模型中也定义了以下几种攻击类型:1) 选择明文攻击(
32、Chosen-Plaintext Attack,简称 CPA):攻击者选择明文消息并得到加密服务,产生相应的密文。攻击者利用所得到的明文密文对来攻击密码体制。攻击者可以加密所选的任何明文。在公钥密码体制下,用户的公钥是公开的,因此,攻击者随时可以进行这种攻击。2) 非适应性选择密文攻击(non-Adaptive Chosen-Ciphertext Attack,简称CCA1):攻击者选择密文消息并得到解密服务,得到相应的明文。攻击者利用所得到的明文密文对来攻击密码体制。在得到目标密文之后,解密服务立即停止,如果攻击者能够从“目标密文”中获得任何的明文消息则攻击成功。解密服务通常由“解密预言机”
33、提供。3) 适应性选择密文攻击(Adaptive Chosen-Ciphertext Attack,简称CCA2):除了对 “目标密文 ”解密外,攻击者始终可以得到解密服务。在攻击完成后,如果攻击者能够从“目标密文”中获得任何的明文消息则攻击成功。解密服务同样由“解密预言机”提供。形式化地建立 Dolev-Yao攻击者模型,过程如下:1) 确定攻击者所掌握的信息集合 ;T2) 随机拦截网络中的一条消息,并使用分解规则分解消息,更新信息集合 ;T3) 随机使用合成规则构造一个消息,并发送到网络中。所需信息从已掌握的信息集合 中随机选取。2.4.2 随机预言模型随机预言模型其主要特点就是所有的参与
34、者(不论是否合法)均可以向公Comment RC8: 黄冬华的Comment RC9: 黄冬华的标准模型下的无证书签密算法及其应用研究12共随机预言机发起询问请求,而公共随机预言机在不区分身份的情况下进行答复。相较于标准模型,随机预言模型更多的是依赖其独有的随机预言机假设。但是该预言机只是在理论上成立,无法在现实中应用。因此当一个依托随机预言模型构造的方案需要应用到现实环境中时,那么就需要用其他手段来将随机预言机实例化,其中最常用的方法就是采用 Hash函数或者是伪随机函数。同时一般依托随机预言模型可证安全指的是理论上的安全性,而实际应用中安全性并没有进行证明。虽然其有以上不足,但其他方面均很
35、好的达到了安全要求。2.4.3 标准模型标准模型不借助任何一个假想模型,往往运用的是一些被人们广泛认可的假设。在该模型中,仍然存在 Hash函数,但是此类函数仅仅运用其在现实生活中所能实现的功能。攻击者(包括一类和二类两种)都只是有时间与计算能力的约束,没有其他约束。也就是说,对标准模型而言,是没有任何假设前提的。一般而言,方案在标准模型下可证安全,指的就是在没有其他假设的条件下,对方案的攻击可以直接规约到相关数学问难问题的解决上。但是在现实操作中,仅在时间与计算能力来约束攻击者,证明方案是安全的比较困难。也正是因为如此,依托标准模型,可证安全的方案具有较高的安全性,并且更贴近于实际应用。标准
36、模型下的无证书签密算法及其应用研究13第 3 章 基于标准模型的短签密方案研究基于无证书公钥密码体制,本文提出了一种在标准模型下可证安全的无证书签密方案。基于 CDH 困难问题和 DBDH 困难问题,在标准模型下证明了本方案在适应性选择密文攻击下的不可区分性以及适应性选择消息攻击下的不可伪造性。通过与其他方案对比,本方案使用了更少的对运算,效率和性能都有提升,能够降低通讯的成本和计算的代价。3.1 通用模型对一个无证书签密方案(Certificateless Signcryption Scheme,简称 CLSC)而言,一般由以下五个步骤组成:1) Setup。选取随机安全参数 作为输入,输出
37、系统参数 和主密钥kparms。密钥生成中心 KGC 公开系统参数 ,秘密保存主密钥 。s parms2) 密钥对生成(UKG) 。输入系统参数 和用户身份 ,用户运行ID该算法获得自身的密钥值 以及公钥 。IDxIDPK3) 部分私钥提取(PPKE) 。输入系统参数 、主密钥 和用户的 ,rssIKGC 运行该算法并输出用户的部分私钥 。Id4) 签密(Signcrypt) 。输入系统参数 、明文 、发送者的私钥pam以及接收者的身份 和公钥 ,发送者运行签密算法并输出密文),(sdxrIrP。),(sKDdxmparSigncyt5) 解签密(Unsigncrypt ) 。输入系统参数 、
38、密文 、接收者的私钥sc以及发送者的身份 和公钥 。接收者先验证密文有效性,当密文),(rxsIs有效时,运行解签密算法 ,输出明c ),(srPKIDdxparmtUnigcy文 。否则输出符号“ ”。m3.2 安全模型对一个安全的 CLSC 而言,应该具有在适应性选择密文攻击的不可区分性标准模型下的无证书签密算法及其应用研究14以及在适应性选择消息攻击下的不可伪造性。定义 3 处理消息的机密性,定义4 处理签名的不可伪造性。无证书签密体制中包括两类攻击者 和 。对 而言,其是一个普通攻IAII击者,不具有 KGC 的主密钥,可以替换任意用户的公钥,但不能同时获取用户的部分私钥。对 而言,其
39、是不诚实且好奇的 KGC,作为攻击者时,具有IAKGC 的主密钥,但是无法替换用户的公钥。定义 3(机密性):如果没有任何一个攻击者 能够在多项式时间内以不可忽略的优势在),(IiGame1 和 Game2 中获得胜利,那么我们就说这个 CLSC 在适应性选择密文攻击下具有不可区分性(IND-CLSC-CCA2)。Game1:Setup:挑战者 运行通用模型中系统参数设置的算法,并将系统参数C发送给敌手 ,同时秘密的保存主密钥 。parmsIAsPhase 1:寻找阶段,在这一阶段敌手 可以执行以下多项式次询问:IA公钥生成(PKG)询问。 针对身份 进行公钥询问, 运行 UKG 算IuDC法
40、: ,返回结果 给 。),(),(uuxPKIDrasUKGPKI部分私钥提取(PPKE)询问。 针对身份 进行部分私钥询问, 运IuI行 PPKE 算法: ,并返回结果 给 。udsprmE, udIA密钥值(Corruption)询问。 针对身份 进行密钥值询问, 运行IAUKG 算法: ,返回 给 。),(),(uuxPIauI公钥替换(RPK)询问。 对任意用户进行公钥替换。 可以将有效范围I I内的任意数据替换用户的公钥。签密(Signcrypt )询问。 分别提交发送者和接收者的身份 和 ,一IAiDjI段明文 。并就其进行签密询问。 运行签密算法mC,返回密文 给 。),(jji
41、PKDdxparsSigncyt cIA解签密(Unsigncrypt )询问。 分别提交发送者和接收者的身份 和I iI,一段密文 。挑战者 先验证密文有效性,当 有效时,运行解签密算法jID,输出明文 ,否则输出符号“ ”),(iijxcrstUsicy m给 。IAChallenge: 输出两个长度相同的明文 和 ,以及两个希望挑战的身I 01标准模型下的无证书签密算法及其应用研究15份 和 。 和 不能是执行过 PPKE 询问的身份。挑战者 随机选择iIDjiIjDC,计算 ,并将密文 发送给敌1,0d ),( jjidPKIDxmparsSgncyt c手 。IAPhase 2:在此
42、阶段 可以和 phase 1 一样,向 进行多项式次询问。但是IA不允许对 和 进行 PPKE 询问。同时也不能基于 和 对密文 进行ijI iIjcUnsigncrypt 询问。Guess:最后, 输出 ,以其作为对 的猜测。若 ,则 在游戏IdddIA中取得胜利。的优势为: 。IA|Pr2|)(2AvICINDGame2:Setup:挑战者 运行通用模型中系统参数设置算法并将主密钥 和系统参s数 发送给敌手 。parmsIAPhase1:在此阶段, 像 Game1 中那样执行多项式有界次询问,但 不IA执行 PPKE 询问和 RPK 询问。Challenge: 输出两个长度相同的明文 和
43、,以及两个不同的身份I 0m1和 。 不能是执行过 Corruption 询问的身份。挑战者随机选择iIDjj,计算 ,并将密文 发送给敌1,0d ),( jjidPKIDxparsSigncyt c手 。IAPhase 2:在此阶段 像 phase 1 一样执行多项式有界次询问。但是不允许IA对 进行 Corruption 询问。同时也不能基于 和 对密文 进行j iIjcUnsigncrypt 询问。Guess:最后, 同样输出 ,以其作为对 的猜测。若 ,则 在IdddIA游戏中取得胜利,优势为:。|1Pr2|)(2AdvICIND定义 4(不可伪造性):如果没有任何一个攻击者 能够在多
44、项式时间内以不可忽略的优势在),(IiGame3 和 Game4 中获得胜利,那么我们就说这个 CLSC 在适应性选择消息攻击中具有不可伪造性(EUF-CLSC-CMA)。标准模型下的无证书签密算法及其应用研究16Game3:Setup:挑战者 运行通用模型中系统参数设置算法并将系统参数C发送给敌手 ,同时 KGC 秘密的保存主密钥 。parmsIAsProbing:与定义 3 中的 Game1 一样执行多项式有界次询问。Forge: 输出关于 、 以及某一消息 的签密密文 。这里,要求IiDjImc在 Probing 阶段没有对 进行 Signcrypt 询问,并且 不能是执IA),(imi
45、ID行过 RPK 询问的用户。如果 是对 的一个有效签名,解签密算法c),(jiID返回的结果不是“ ”,那么 在这个游戏中获胜。IAGame4:Setup:挑战者 运行通用模型中系统参数设置算法并将主密钥 和系统参Cs数 发送给敌手 。parmsIProbing:与定义 3 中的 Game2 一样执行多项式有界次询问。Forge: 输出关于 、 以及某一消息 的签密密文 。这里,要求IAiDj mc在 Probing 阶段没有对 进行 Signcrypt 询问,同时也没有对I ),(iIm执行过 Corruption 询问。如果 是对 的一个有效签名,解签密iDc),(jiID算法返回的结果
46、不是“ ”,那么 在这个游戏中获胜。IA3.3 方案描述在这一节中,我们将要对一个在标准模型下可证安全的 CLSC 进行描述。本方案主体由以下几个算法组成:Setup(系统初始化算法) 、UKG(用户密钥对生成) 、PPKE (部分私钥提取) 、Signcrypt (签密) 、Unsigncrypt(解签密) 。在此,我们假设所有用户的身份均为一个长度为 的字符串。uBSetup:输入一个随机数 作为系统的安全参数,算法执行如下:v1)分别设 、 为 阶乘法群,其中 为一个大素数。1G2pp是依赖于 、 的双线性映射。 是 的生成元。2:e12g1G2)随机选取 和两个长度分别为 、 的矢量
47、,,mu uBmBui)(。选取一个整数 ,一个耐碰撞散列函数 。Bmj)( pZmH1,0,:3)令 为主密钥,公钥 。公开系统参数gPub。,21 HgpeGpars 标准模型下的无证书签密算法及其应用研究17UKG:输入参数 ,用户身份 ,用户选择一个随机数parmsuB1,0,计算 ,则用户的密钥值/公钥对为 ,其中 是用户puZxuxgPK ),(uPKxux的密钥值, 为公钥。定义发送者 的密钥值为 ,公钥为 ;接收者AAA的密钥值为 ,公钥为 。BBBPPKE:输入参数 和用户身份 。令 ,对于parsuB1,0,21uBU任意 , (即身份 的第 位比特值为 1) 。输出用户部
48、分私钥 ,其Ui1iuui d中 。)(iud按照定义,发送者 和接收者 的部分私钥分别为:A, 。)(AUii )(BUiiudSigncrypt:对消息 进行签密运算。用户 选取一个随机数 ,计算MApZk,运行以下算法。kgS1) 对密文进行加密运算: kUiiBUiiAUiikBA BuPKeudeuPKdeR ,2) 计算签名。首先计算 : 。令 ,对于任m),(ABPKSRH,21mM意 , 。然后计算签名 :Mj1j TAxkMjjAmd3) 发送签密信息 给用户 : 。B),(SRUnsigncrypt:对签密信息进行解签密运算(先验证、后解密) 。1) 计算 。令 ,对于任意,(APKuSRHm ,21mB, 。Mj1j2) 验证: MjjAUiipubSeegTA,),(如果式子成立,则通过验证,继续进行解密操作。如果验证失败,返回“”。标准模型下的无证书签密算法及其应用研究183) 计算消息原文 。MBAUiixUiiBuSe