公钥密码体制的介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012,Hanaoka等人[44]在CT-RSA会议上给出了一个更强的代理重加密安全模型,并给出了一个通用方法用于构造CCA安全的单向代理重加密方案。Sun等人[45]提出了第一个CCA安全的单向广播代理重加密(Broadcast PRE,BPRE),该方案在标准模型下满足自适应选择密文安全。
在AsiaCCS 2009会议上,Weng等人[33]第一次介绍了条件代理重加密(C-PRE)的概念,当且仅当密文满足委托者设置的条件时。
第一章绪论
本章主要阐述了公钥密码体制的研究背景和积极意义,并简单介绍了代理重加密体制的研究现状以及该密码体制在云存储数据共享领域的独特优势。最后,本章介绍了本文的主要研究工作和论文结构。
1.1研究背景与意义
密码学是伴随着信息保密而产生的,但是随着密码学技术本身的不断发展和通信网络技术的不断发展,现代的密码学研究已经远远超越了信息保密的范围,被广泛应用于各种安全和隐私保护应用之中。它是一门古老的学科,又是一门新兴的交叉学科,在今后人类社会的发展历程中必将发挥越来越重要的作用。密码学的发展可分为3个阶段:
为此,代理重加密(ProxyRe-Encryption,PRE)——一种具备安全转换功能的密码系统,能够有效地实现云存储数据安全共享。在PRE密码系统中,一个半可信代理者扮演着密文转换的角色,它可以将由Alice公钥加密的密文转换为由Bob公钥对同一明文加密的密文,然后Bob可利用其自身私钥解密该转换后的密文。因此,通过利用PRE的思想,当Alice收到Bob的共享请求后,Alice产生一个代理重加密密钥并将该密钥发送给CSP。后者利用该代理重加密密钥能够将Alice存储在云端的外包数据转换为由Bob公钥加密的密文,而无法获知共享数据的内容。然后,Bob可用其自身私钥解密这些共享数据。在共享过程中,数据拥有者无需将数据下载到本地,从而节省开销。此后,代理重加密成为密码学与信息安全领域的一个研究热点,积累了大量研究成果,且在云计算[15][16][17]、数字版权管理[18][19]、加密电子邮件转发[20]、分布式文件系统[21][22]、加密病毒过滤[21][22]等领域的应用前景广阔。
相对于对称体制中的密钥必须保密,非对称密钥体制有一个可公开的公钥为其最大特征,因此也叫公钥密码体制。在非对称密码体制中,不再有加密密钥和解密密钥之分。可以使用公钥加密,而用私钥解密,这多用于保护数据的机密性;也可以用私钥加密而公钥解密,这多用于保护信息的完整性和不可否认性。1976年,公钥密码体制(Public Key Cryptography,PKC)的概念被Diffie和Hellman[2]首次提出。PKC在整个密码学发展历史中具有里程碑式的意义。随后出现了一些经典的公钥密码体制,比如RSA[3]Rabin算法[4]ElGamal[5]密码体制和椭圆曲线密码体制[6][7][8]等。公钥密码体制的安全性依赖于不同的计算问题,其中RSA密码体制基于大整数分解的困难性,而ElGamal密码体制则基于离散对数问题的困难性。
2003年,基于密钥分享机制,Ivan和Dodis[24]给出了构造单向代理重加密方案的பைடு நூலகம்般方法,即用户私钥被分割成两份,一份分发给代理者,另一份分发给被委托者。
2005年,Ateniese等人[21]首次形式化地描述了代理重加密及其安全模型,并设计出第一个基于双线性对的单向代理重加密方案。
Deng等人[29]提出第一个不依靠双线性对、可证明CCA安全的双向代理重加密方案。
第一阶段:从古代一直到1949年,密码学都是停留在应用于军事政治等神秘领域的实践技术。从1949年香农(Shannon)发表了《保密系统的信息理论》[1]后,密码学才由理论基础指导而上升为学科。这一阶段,密码学研究的突破并不大,而且应用方面仍然只局限于特殊领域。
第二阶段:以1976年迪菲(Diffie)与赫尔曼(Hellman)发表的论文《密码学的新方向》[2]以及1977年美国发布的数据加密标准(DES)加密算法为标志,密码学进入了现代密码学。
在一个无证书的密码系统中,用户的私钥是由KGC(Key Generation Center)生成的部分私钥和由用户选择的秘密值组成的。
GameI(Type I敌手):该游戏为敌手 和挑战者 之间进行的安全游戏。初始化阶段:挑战者 以一个安全参数 作为Setup算法的输入,然后返回一组系统公开参数params和一个主密钥mk。
且ID没有被 询问过 或 。如果 , 选取 ,计算挑战密文 Encrypt(params, , , ),然后, 返回给 一个挑战密文 。
PRE方案并不直接用于加密数据拥有者的外包数据,而是利用对称加密算法保护用户数据的机密性,否则就会使得该协议非常低效。因此,本章利用PRE来处理协议中使用的对称加密算法的对称密钥。
显示一个密码体制安全的现代方法是可证明安全性。可证明安全性的目的在于证明:如果一个敌手能够攻破一个密码体制的某个安全概念,那么就可以利用该敌手解决某个工人的数学困难问题。例如,如果一个敌手能够在选择密文攻击下攻破RSA的语义安全性,那么就可以利用该敌手分解大整数;
可证明安全的思想就是给定一个算法A,提出一个新算法C,C把A作为子程序。输入给C的是希望解决的困难问题,输入给A的是某个密码算法。然而,如果A是一个积极攻击敌手(选择密文攻击敌手或者适应性选择密文攻击敌手),即A可以对输入公钥进行解密预言机询问或签名预言机询问。算法C要想使用A作为子程序,就得对A的询问提供回答。算法C需要应对以下四个问题:
为了回避这个问题,可以使用随机预言机模型。随机预言是一个理想的Hash函数。对于每一个新的询问,随机预言产生一个随机值作为回答,如果问相同的询问两次,那么回答仍然相同。在随机预言机模型中,假设敌手并不使用密码算法中定义的那个Hash函数。也就是所,即使将随机预言换成真实的Hash函数。敌手A也是成功的。对于A的解密预言询问或者签名预言询问,算法C是通过欺骗随机预言的回答来适合自己的需要的。
在信息社会,加密体制为保证信息的机密性提供了重要的技术手段。根据密钥的特点,可将加密体制分为对称密钥体制和非对称密钥体制两种。在对称加密体制中,通信双方为了建立一个安全的信道进行通信,需要选择相同的密钥,并将密钥秘密保存。根据对明文的加密方式不同,对称密码算法又分为分组加密算法和流密码算法。分组加密算法将明文分为固定长度的分组进行加密,而流密码算法则将明文按字符逐位加密,二者之间也不是有着不可逾越的鸿沟,很多时候,分组加密算法也可以用于构建流密码算法。目前,世界上存在的分组密码算法可能有成千上万种,而其中最有名的就是美国的DES、AES以及欧洲的IDEA算法。
在密码系统中,安全的核心是密钥,一个安全系统无论设计得多么完美,如果其中的密钥安全没办法保证,则整个系统的安全也将是空中楼阁。在实际应用中,非对称密钥管理主要通过公钥基础设施(Public Key Infrastructure,PKI)来对用户的公私钥对进行管理,而且非对称与对称两种体制的密码管理往往是结合在一起使用的。但是,基于PKI的公钥密码系统存在计算开销昂贵的公钥证书管理问题。为避免此问题,Shamir在1984年率先提出了基于身份的公钥密码体制[9](Identity-based Cryptography,IBC)的概念,2001年,第一个安全实用的基于身份公钥加密(Identity-based Encryption,IBE)方案才由Boneh和Franklin[10]基于椭圆曲线上的双线性对构造而来。与基于PKI的传统公钥密码体制相比,IBC不存在繁琐的公钥证书管理问题,用户公钥由惟一标识用户身份信息的ID推导而来,其私钥则是由可信第三方密钥生成中心(Key Generation Center,KGC)生成。诚然,IBC避免了传统PKI中证书管理问题,但由于KGC的存在,使得该密码体制无法摆脱密钥托管问题。随后,Al-Riyami和Paterson[11]于2003年首次提出了基于无证书的公钥密码体制(Certificateless Public Key Cryptography,CL-PKC)的概念,该密码体制不仅可以消除PKI中存在的证书管理问题,也可以克服IBC中存在的密钥托管问题,即CL-PKC继承了IBC的优点而克服了其缺点。此后,多个无证书公钥加密(Certificateless Public KeyEncryption,CL-PKE)方案[12][13][14]被提出。
针对代理重加密密钥的安全性,Yang等人[86]利用可信计算来解决代理重加密中转换钥泄露的问题。为了对代理者的密文权限进行控制,Tang等人[87]提出基于类型代理重加密(Type-based PRE)的概念,该密码系统能够使代理者只转换部分委托者的密文。
Setup:KGC以安全参数 作为Setup算法的输入,然后,KGC返回一个系统主密钥mk和一组公开参数params;
在CT-RSA 2009上,密钥隐私代理重加密(key-private PRE,K-PRE)的概念由Ateniese等人[82]提出,
2010年,Yau[84]和Shao等人[85]分别提出了带关键字的代理重加密(PRE withkeyword research,PRES)的概念,并构造出具体方案。
尽管公钥密码体制已被广泛应用于社会各领域,但公钥密码学依然要不断发展以适应社会的进步。如今,云计算作为一种新兴服务模式,能够方便地为远程用户提供计算和存储资源,从而节省本地开销。一旦数据拥有者将数据上传给半可信的云服务提供商(CloudServiceProvider,CSP),将失去对数据的控制权。因此,出于安全考虑,数据拥有者在上传数据之前需要对数据进行加密处理。考虑如下场景[15][16][17]:数据拥有者Alice希望将其外包在云服务器中的敏感数据与其他用户Bob共享,除了Bob,包括CSP在内的任何人都无法解密这些共享数据。Alice直接将其私钥告知Bob是不可取的,最简单、安全的方法是Alice先将云中数据下载到本地并解密,然后将解密后的消息再用Bob的公钥加密并发送给Bob,此时,Bob可以利用其自身私钥获得共享数据。显然地,此方法牺牲了数据拥有者的计算开销、通信带宽以及本地存储资源,这不符合用户通过云计算节省资源开销的初衷,因此,传统的公钥密码方案无法解决云存储数据安全共享问题。
随机预言模型为证明密码体制的安全性提供了一个很好的方法,但是随机预言模型并不反映真实世界的计算。在随机预言模型下安全的密码体制只能说是可能在真实的世界是安全的,不能确保一定在真实的世界是安全的。文献给出了在随机预言模型下安全的密码体制在真实的世界中不安全的例子。许多密码学研究者开始设计在标准模型(不依赖于随机预言模型)下安全的密码体制。移除随机预言模型是需要代价的,通常需要更强的困难问题假设,而且在标准模型下的密码体制通常效率较低。
第三阶段:伴随着相关理论的完善,以及由集成电路和因特网推动的信息化工业浪潮,密码学进入了一个全新爆发的时代:研究文献和成果层出不穷,研究的方向也不断拓展,并成为了一个数学、计算机科学、通信工程学等各学科密切相关的交叉学科,同时各种密码产品也走进了寻常百姓家,从原来局限的特殊领域进入了人民群众的生产、生活之中。
数据接收者需要先利用其自身私钥解密出对称密钥,接着再使用得到的对称密钥解密出共享数据。
一个CKI-PRE方案由多项式时间算法Setup、UserKeyGen、CertGen、SetInitialKey、UpdH、UpdS、SetReKey、Encrypt、ReEncrypt以及Decrypt组成。
密码学是以研究保密通信为内容的学科,是信息安全的核心。密码学中用提供信息安全服务的密码学原语称为密码体制。密码体制提供的基本安全服务有机密性、完整性、认证和不可否认下。机密性是指信息只为授权用户使用,不能泄露给未授权的用户。完整性是指信息在传输或存储过程中,不能被偶然或蓄意的删除、修改、伪造、重放、插入等破坏和丢失的特性。认证时确保通信方的确是他所声称的那位。加密可以看作是一种变换,这种变换将可读的明文信息变换为不可读的密文信息。数字签名也是一种基本的密码原语,它可以取得完整性、认证和不可否认性。
在AsiaCCS 2009会议上,Weng等人[33]第一次介绍了条件代理重加密(C-PRE)的概念,当且仅当密文满足委托者设置的条件时。
第一章绪论
本章主要阐述了公钥密码体制的研究背景和积极意义,并简单介绍了代理重加密体制的研究现状以及该密码体制在云存储数据共享领域的独特优势。最后,本章介绍了本文的主要研究工作和论文结构。
1.1研究背景与意义
密码学是伴随着信息保密而产生的,但是随着密码学技术本身的不断发展和通信网络技术的不断发展,现代的密码学研究已经远远超越了信息保密的范围,被广泛应用于各种安全和隐私保护应用之中。它是一门古老的学科,又是一门新兴的交叉学科,在今后人类社会的发展历程中必将发挥越来越重要的作用。密码学的发展可分为3个阶段:
为此,代理重加密(ProxyRe-Encryption,PRE)——一种具备安全转换功能的密码系统,能够有效地实现云存储数据安全共享。在PRE密码系统中,一个半可信代理者扮演着密文转换的角色,它可以将由Alice公钥加密的密文转换为由Bob公钥对同一明文加密的密文,然后Bob可利用其自身私钥解密该转换后的密文。因此,通过利用PRE的思想,当Alice收到Bob的共享请求后,Alice产生一个代理重加密密钥并将该密钥发送给CSP。后者利用该代理重加密密钥能够将Alice存储在云端的外包数据转换为由Bob公钥加密的密文,而无法获知共享数据的内容。然后,Bob可用其自身私钥解密这些共享数据。在共享过程中,数据拥有者无需将数据下载到本地,从而节省开销。此后,代理重加密成为密码学与信息安全领域的一个研究热点,积累了大量研究成果,且在云计算[15][16][17]、数字版权管理[18][19]、加密电子邮件转发[20]、分布式文件系统[21][22]、加密病毒过滤[21][22]等领域的应用前景广阔。
相对于对称体制中的密钥必须保密,非对称密钥体制有一个可公开的公钥为其最大特征,因此也叫公钥密码体制。在非对称密码体制中,不再有加密密钥和解密密钥之分。可以使用公钥加密,而用私钥解密,这多用于保护数据的机密性;也可以用私钥加密而公钥解密,这多用于保护信息的完整性和不可否认性。1976年,公钥密码体制(Public Key Cryptography,PKC)的概念被Diffie和Hellman[2]首次提出。PKC在整个密码学发展历史中具有里程碑式的意义。随后出现了一些经典的公钥密码体制,比如RSA[3]Rabin算法[4]ElGamal[5]密码体制和椭圆曲线密码体制[6][7][8]等。公钥密码体制的安全性依赖于不同的计算问题,其中RSA密码体制基于大整数分解的困难性,而ElGamal密码体制则基于离散对数问题的困难性。
2003年,基于密钥分享机制,Ivan和Dodis[24]给出了构造单向代理重加密方案的பைடு நூலகம்般方法,即用户私钥被分割成两份,一份分发给代理者,另一份分发给被委托者。
2005年,Ateniese等人[21]首次形式化地描述了代理重加密及其安全模型,并设计出第一个基于双线性对的单向代理重加密方案。
Deng等人[29]提出第一个不依靠双线性对、可证明CCA安全的双向代理重加密方案。
第一阶段:从古代一直到1949年,密码学都是停留在应用于军事政治等神秘领域的实践技术。从1949年香农(Shannon)发表了《保密系统的信息理论》[1]后,密码学才由理论基础指导而上升为学科。这一阶段,密码学研究的突破并不大,而且应用方面仍然只局限于特殊领域。
第二阶段:以1976年迪菲(Diffie)与赫尔曼(Hellman)发表的论文《密码学的新方向》[2]以及1977年美国发布的数据加密标准(DES)加密算法为标志,密码学进入了现代密码学。
在一个无证书的密码系统中,用户的私钥是由KGC(Key Generation Center)生成的部分私钥和由用户选择的秘密值组成的。
GameI(Type I敌手):该游戏为敌手 和挑战者 之间进行的安全游戏。初始化阶段:挑战者 以一个安全参数 作为Setup算法的输入,然后返回一组系统公开参数params和一个主密钥mk。
且ID没有被 询问过 或 。如果 , 选取 ,计算挑战密文 Encrypt(params, , , ),然后, 返回给 一个挑战密文 。
PRE方案并不直接用于加密数据拥有者的外包数据,而是利用对称加密算法保护用户数据的机密性,否则就会使得该协议非常低效。因此,本章利用PRE来处理协议中使用的对称加密算法的对称密钥。
显示一个密码体制安全的现代方法是可证明安全性。可证明安全性的目的在于证明:如果一个敌手能够攻破一个密码体制的某个安全概念,那么就可以利用该敌手解决某个工人的数学困难问题。例如,如果一个敌手能够在选择密文攻击下攻破RSA的语义安全性,那么就可以利用该敌手分解大整数;
可证明安全的思想就是给定一个算法A,提出一个新算法C,C把A作为子程序。输入给C的是希望解决的困难问题,输入给A的是某个密码算法。然而,如果A是一个积极攻击敌手(选择密文攻击敌手或者适应性选择密文攻击敌手),即A可以对输入公钥进行解密预言机询问或签名预言机询问。算法C要想使用A作为子程序,就得对A的询问提供回答。算法C需要应对以下四个问题:
为了回避这个问题,可以使用随机预言机模型。随机预言是一个理想的Hash函数。对于每一个新的询问,随机预言产生一个随机值作为回答,如果问相同的询问两次,那么回答仍然相同。在随机预言机模型中,假设敌手并不使用密码算法中定义的那个Hash函数。也就是所,即使将随机预言换成真实的Hash函数。敌手A也是成功的。对于A的解密预言询问或者签名预言询问,算法C是通过欺骗随机预言的回答来适合自己的需要的。
在信息社会,加密体制为保证信息的机密性提供了重要的技术手段。根据密钥的特点,可将加密体制分为对称密钥体制和非对称密钥体制两种。在对称加密体制中,通信双方为了建立一个安全的信道进行通信,需要选择相同的密钥,并将密钥秘密保存。根据对明文的加密方式不同,对称密码算法又分为分组加密算法和流密码算法。分组加密算法将明文分为固定长度的分组进行加密,而流密码算法则将明文按字符逐位加密,二者之间也不是有着不可逾越的鸿沟,很多时候,分组加密算法也可以用于构建流密码算法。目前,世界上存在的分组密码算法可能有成千上万种,而其中最有名的就是美国的DES、AES以及欧洲的IDEA算法。
在密码系统中,安全的核心是密钥,一个安全系统无论设计得多么完美,如果其中的密钥安全没办法保证,则整个系统的安全也将是空中楼阁。在实际应用中,非对称密钥管理主要通过公钥基础设施(Public Key Infrastructure,PKI)来对用户的公私钥对进行管理,而且非对称与对称两种体制的密码管理往往是结合在一起使用的。但是,基于PKI的公钥密码系统存在计算开销昂贵的公钥证书管理问题。为避免此问题,Shamir在1984年率先提出了基于身份的公钥密码体制[9](Identity-based Cryptography,IBC)的概念,2001年,第一个安全实用的基于身份公钥加密(Identity-based Encryption,IBE)方案才由Boneh和Franklin[10]基于椭圆曲线上的双线性对构造而来。与基于PKI的传统公钥密码体制相比,IBC不存在繁琐的公钥证书管理问题,用户公钥由惟一标识用户身份信息的ID推导而来,其私钥则是由可信第三方密钥生成中心(Key Generation Center,KGC)生成。诚然,IBC避免了传统PKI中证书管理问题,但由于KGC的存在,使得该密码体制无法摆脱密钥托管问题。随后,Al-Riyami和Paterson[11]于2003年首次提出了基于无证书的公钥密码体制(Certificateless Public Key Cryptography,CL-PKC)的概念,该密码体制不仅可以消除PKI中存在的证书管理问题,也可以克服IBC中存在的密钥托管问题,即CL-PKC继承了IBC的优点而克服了其缺点。此后,多个无证书公钥加密(Certificateless Public KeyEncryption,CL-PKE)方案[12][13][14]被提出。
针对代理重加密密钥的安全性,Yang等人[86]利用可信计算来解决代理重加密中转换钥泄露的问题。为了对代理者的密文权限进行控制,Tang等人[87]提出基于类型代理重加密(Type-based PRE)的概念,该密码系统能够使代理者只转换部分委托者的密文。
Setup:KGC以安全参数 作为Setup算法的输入,然后,KGC返回一个系统主密钥mk和一组公开参数params;
在CT-RSA 2009上,密钥隐私代理重加密(key-private PRE,K-PRE)的概念由Ateniese等人[82]提出,
2010年,Yau[84]和Shao等人[85]分别提出了带关键字的代理重加密(PRE withkeyword research,PRES)的概念,并构造出具体方案。
尽管公钥密码体制已被广泛应用于社会各领域,但公钥密码学依然要不断发展以适应社会的进步。如今,云计算作为一种新兴服务模式,能够方便地为远程用户提供计算和存储资源,从而节省本地开销。一旦数据拥有者将数据上传给半可信的云服务提供商(CloudServiceProvider,CSP),将失去对数据的控制权。因此,出于安全考虑,数据拥有者在上传数据之前需要对数据进行加密处理。考虑如下场景[15][16][17]:数据拥有者Alice希望将其外包在云服务器中的敏感数据与其他用户Bob共享,除了Bob,包括CSP在内的任何人都无法解密这些共享数据。Alice直接将其私钥告知Bob是不可取的,最简单、安全的方法是Alice先将云中数据下载到本地并解密,然后将解密后的消息再用Bob的公钥加密并发送给Bob,此时,Bob可以利用其自身私钥获得共享数据。显然地,此方法牺牲了数据拥有者的计算开销、通信带宽以及本地存储资源,这不符合用户通过云计算节省资源开销的初衷,因此,传统的公钥密码方案无法解决云存储数据安全共享问题。
随机预言模型为证明密码体制的安全性提供了一个很好的方法,但是随机预言模型并不反映真实世界的计算。在随机预言模型下安全的密码体制只能说是可能在真实的世界是安全的,不能确保一定在真实的世界是安全的。文献给出了在随机预言模型下安全的密码体制在真实的世界中不安全的例子。许多密码学研究者开始设计在标准模型(不依赖于随机预言模型)下安全的密码体制。移除随机预言模型是需要代价的,通常需要更强的困难问题假设,而且在标准模型下的密码体制通常效率较低。
第三阶段:伴随着相关理论的完善,以及由集成电路和因特网推动的信息化工业浪潮,密码学进入了一个全新爆发的时代:研究文献和成果层出不穷,研究的方向也不断拓展,并成为了一个数学、计算机科学、通信工程学等各学科密切相关的交叉学科,同时各种密码产品也走进了寻常百姓家,从原来局限的特殊领域进入了人民群众的生产、生活之中。
数据接收者需要先利用其自身私钥解密出对称密钥,接着再使用得到的对称密钥解密出共享数据。
一个CKI-PRE方案由多项式时间算法Setup、UserKeyGen、CertGen、SetInitialKey、UpdH、UpdS、SetReKey、Encrypt、ReEncrypt以及Decrypt组成。
密码学是以研究保密通信为内容的学科,是信息安全的核心。密码学中用提供信息安全服务的密码学原语称为密码体制。密码体制提供的基本安全服务有机密性、完整性、认证和不可否认下。机密性是指信息只为授权用户使用,不能泄露给未授权的用户。完整性是指信息在传输或存储过程中,不能被偶然或蓄意的删除、修改、伪造、重放、插入等破坏和丢失的特性。认证时确保通信方的确是他所声称的那位。加密可以看作是一种变换,这种变换将可读的明文信息变换为不可读的密文信息。数字签名也是一种基本的密码原语,它可以取得完整性、认证和不可否认性。