一种针对服务器高效的基于属性加密算法的外包解密方法与流程

文档序号:16060795发布日期:2018-11-24 12:09阅读:844来源:国知局

本发明涉及基于属性的加密算法,属于密码学中通信安全领域,尤其涉及基于属性加密算法的外包解密方法。

背景技术

公钥加密体制(也称作非对称加密体制)的思想是密码学上一块重要的里程碑。在此加密体制中,密钥被分为公钥(公开)和私钥(保密),消息发送过程中,发送方只需要使用接收方的公钥对消息进行加密,接收方就可以使用自己的私钥进行解密。pki(公钥基础设施)是一种利用公钥密码学的理论基础而建立起的一种普遍适用的基础设施。但是在使用的过程中,pki技术逐渐暴露出公钥管理困难的问题。shamir于1984年提出了ibe(基于身份的加密)方案,并于2001年由boneh等人构造出第一个完整的ibe方案。该方案使用用户的身份作为公钥,极大程度上缓解了pki技术密钥管理困难的问题。随着对ibe方案研究的不断深入,人们发现ibe方案只适用于一对一发送加密消息的场景,但是在实际应用中我们也希望进行一对多的加密消息的发送。abe(基于属性加密)方案正好可以弥补ibe方案在这方面的不足。abe方案在加密过程使用的公钥不再是单个用户的身份,而是一系列的属性,只要用户拥有相应的属性集合就可以解密,当然这些用户可以是一个也可以是多个。abe方案主要分为cp-abe(密文策略abe)以及kp-abe(密钥策略abe),其中在cp-abe方案中,密文的产生与策略相关,而密钥的生成与属性相关,每个用户根据自身属性从权威机构得到密钥,然后加密者来制定对消息的访问控制;在kp-abe方案中,密文的产生则与属性相关,而密钥的生成与策略相关,当用户被允许获得某些消息时,权威机构就分配一个具有特定访问结构的密钥给用户。

sahai和waters于2005年在《fuzzyidentity-basedencryption》一文中提出了fuzzyibe的概念,后来发展为abe方案。该方案提出的最初目的是为了增加ibe方案的容错性,在加密时,消息发送方设定一个门限值,当且仅当消息接收方的属性集与密文中属性集的交集中的属性个数等于或超过这个门限值时才能解密。由于该方案的表达性不强,适用的场景不多,goyal等人于2006年提出了kp-abe方案,随后,bethencourt等人在其基础上于2007年提出了cp-abe方案。2011年waters提出了第一个具有完全表达能力的、高效的,支持单调lsss访问结构策略,在标准模型下证明是安全的cp-abe方案。

但是abe方案巨大的解密时间开销阻碍了abe方案的进一步发展。随着云计算技术的发展,将abe的解密运算外包给云服务器进行成为了解决以上问题的一个可行的方法。green等人于2011年针对abe方案在《outsourcingthedecryptionofabeciphertexts》一文中首次提出了一个可行的外包解密abe(od-abe)的方案,其后很多的od-abe方案均借用了该方案中的思想。在该方案中,解密方首先委托云服务器使用转换密钥将原始密文转换为转换密文,然后解密方只需要进行较少的计算就可以利用自己的私钥对转换密文进行解密得到明文。但是该方案存在两个问题,1)由于云服务器是公开且不可信的,因此由云服务器产生的转换密文的正确性不能得到保证。也就是说,云服务器可能会因为遭受到恶意攻击或者为了节省计算成本而向用户返回不正确的转换密文,而该方案并没有对转换密文的正确性进行验证;2)权威机构不仅需要生成用户的私钥,还需要生成解密过程使用的转换密钥,这增加了权威机构的负担。

为了解决以上两个问题,lai等人于2013年在《attribute-basedencryptionwithverifiableoutsourceddecryption》一文中提出了一个可验证转换密文正确性的方案。为了达到可验证的目的,该方案在对明文消息进行加密的同时采用相同的方法对一个随机的消息进行了加密。该方案虽然实现了转换密文的验证,但是其成倍地增加了用户的加密计算开销以及密文长度。除此之外,转换密钥以及恢复密钥由每一个用户独立生成,也就是说,如果有n个满足访问控制结构的用户需要解密相同的密文,云服务器将会接收到n个不同的转换密钥,并将同一个密文转换为不同的转换密文返回给用户,而用户解密后仍然得到相同的明文。尽管外包解密方案在设计的过程中设想云服务器有很强的计算能力,但是以上工作模式将会极大地浪费云服务器的计算资源去重复地为用户计算转换密文。

2013年,li等人在《securelyoutsourcingattribute-basedencryptionwithcheckability》一文中同样提出了一个安全可验证的外包解密方案,该方案适用于混合云环境中,用户的密钥以及转换密钥由多个参与方协作产生,避免了单一服务器产生密钥的瓶颈,但是并没有真正意义上缓解权威机构的计算量。2015年,qin等人在《attribute-basedencryptionwithefficientverifiableoutsourceddecryption》一文中提出了一种高效的,可将任何外包解密的abe方案转化为可验证的外包解密方案的方法。该方案在密文生成阶段,使用任意一个外包解密的abe方案(比如green等人的外包解密方案)的加密算法来加密一个随机数,然后将随机数作为密钥,使用对称加密算法对传输的消息进行加密,同时在密文中附加一个哈希值用于实现可验证性。为了对方案的计算效率进行评估,原文作者成功将green等人的方案转化为一个可验证的外包解密方案,同时得出其方案具有高效性的结论。2016年,wang等人在《verifiableoutsourcedciphertext-policyattribute-basedencryptionincloudcomputing》一文中同样提出了一种可验证的od-abe方案,并且实现了对密钥生成、消息解密以及消息加密过程的外包。但是,该方案用于外包加密和外包解密的转换密钥的长度均随着属性量的增加而增加。

通过对目前已有的od-abe方案的分析发现,还没有任何方案提到如何解决外包解密过程中使用的转换密钥的计算开销以及存储开销大的问题,也没能解决云服务器因进行重复计算而造成的资源浪费问题。

基于以上所述,针对abe方案构造一个新型的外包解密方案,以缓解权威机构的计算、存储开销,以及云计算服务器计算资源的浪费,成为一个亟待解决的问题。



技术实现要素:

本发明的目的在于:提出一个新的基于属性加密算法的外包解密方法。它不需要权威机构生成转换密钥,也不需要花费额外的计算量来计算转换密钥以及额外的存储空间来存储转换密钥,同时也减少了云服务器因进行重复计算而造成的资源浪费。

本发明公开的基于属性加密的外包解密方案主要由以下几部分组成:

系统初始化:设定安全参数,以及全体属性集合的个数,以生成系统公钥pk、主密钥msk。

密钥生成:权威机构使用主密钥msk,系统公钥pk以及用户属性集合s,生成用户私钥sk;

加密:发送者根据系统公钥pk以及按照属性集合s所构造的访问策略对消息明文m进行加密,生成密文ct;

外包密钥生成:用户利用系统公钥pk和自己的私钥sk生成外包密钥tk以及恢复密钥rk;

外包解密:当接收到用户密文转化的请求后,云服务器首先查询历史记录,确定是否已经对相同的密文生成过转换密文,如果是则判断用户发送的转换密钥是否一致,如果一致则直接返回已经生成的转换密文,否则云服务器使用转换密钥tk和密文ct生成转换密文tct并返回给用户;用户在收到转换密文后,使用恢复密钥rk、转换密文tct以及密文ct进行解密,恢复出明文m。

本发明的有益效果在于:

(1)针对相同的密文以及转换密钥,云服务器只需要进行一次转换密文的生成。

(2)转换密钥不需要权威机构产生,缓解了权威机构的压力。

(3)使用用户私钥的一部分作为转换密钥,因此,不需要额外的计算量来生成转换密钥。

(4)不需要额外的存储空间来存储转换密钥。

附图说明

本发明将通过具体的实例及附图的方式进行说明,其中:

图1为本发明具体实施的解密过程流程图;

图2为本发明具体实施过程的流程图。

具体实施方式

为使得本发明的技术方案和适用性更加清楚,下面结合附图2对本发明作更详细的描述。

(1)系统参数初始化

设u={att1,att2,…,attrl}表示属性集合,u中每一个元素表示一个属性,g1,g2表示阶为p的乘法循环群,p是一个大素数,g是群g1的生成元,e表示g1×g1→g2的双线性映射;随机选择:t1,t2,…,tl∈g1,计算y=e(g,g)α,y=ga,最终产生系统公钥pk=(g1,g2,g,y,y{ti}i∈[l]),以及主密钥msk=α,其中[l]={1,…,l}。

(2)密钥生成

权威机构生成用户私钥;根据输入属性集合s,随机选择计算k=gαyt,k0=gt用户的私钥为:

(3)加密

消息发送方对明文消息m进行加密;是基于属性集合s构造的线性秘密共享方案,a是一个l×n维矩阵,其中ρ(i)将a的每一行ai映射到属性atti,其中i∈[l];随机选择构成向量对a的每一行ai随机选择计算:

c0=gs,cm=mys

其中i∈[l];

最终的密文为:ct=(c0,cm,{ci}i∈[l],{di}i∈[l])。

(4)解密

如果用户的属性集合满足用户就可以使用自己的私钥skds对消息密文ct进行解密,令i={i:ρ(i)∈s},计算使得其中计算:

则可计算明文为:

(5)转换密钥生成

用户公布私钥skds中的一部分作为转换密钥tk,保留k作为恢复密钥;

(6)外包解密

云服务器收到转换密钥tk以及密文ct后,首先判断是否已经生成过该密文的转换密文,如果是则进一步判断当前的转换密钥和已经生成的转换密文所使用的转换密钥是否相同,如果以上两个条件均成立,则直接返回已生成的转换密文给用户,否则计算转换密文:

然后将计算得到的转换密文tct返回给用户。用户收到云服务器返回的tct后计算:

最后计算得明文消息:

以上所述,仅为本发明的具体实施方式,本说明书(包括附加权利要求、摘要和附图)中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换,即除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子。本发明可以扩展到任何在本说明书中披露的任何新的组合或新特征,以及披露的任一新的方法或过程的步骤或任何新的组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1