具备细粒度用户控制的数据加解密系统和方法技术方案

技术编号:17413381 阅读:42 留言:0更新日期:2018-03-07 09:14
本发明专利技术提出一种具备细粒度用户控制的数据加解密系统和方法,将加密数据外包给公用计算机服务器,例如公有云服务器,使得授权用户可以访问外包数据。本发明专利技术所提出的系统和方法具有以下的优势:首先,本发明专利技术支持细粒度的访问控制和具表达力的访问策略。其次,本发明专利技术支持高效即时地取消“已被撤销用户”解密过去、现在和未来密文的能力。第三,本发明专利技术支持即时更新用户的属性以及用户的解密能力。第四,本发明专利技术能有效防止“已被撤销用户”解密公用计算机服务器上的加密数据,即使“已被撤销用户”已经知晓用于加密这些数据的对称密钥。

Data encryption and decryption system and method with fine-grained user control

The invention proposes a data encryption and decryption system and method with fine-grained user control, outputting encrypted data to public computer servers, such as public cloud servers, enabling authorized users to access outsourced data. The system and method proposed in the present invention have the following advantages: first, the invention supports fine grained access control and an expressive access strategy. Second, the invention supports the ability to efficiently and instantaneously abolish the \already revoked user\ to decrypt the past, present, and future ciphertexts. Third, the invention supports the real-time update of the user's attributes and the ability of the user to decrypt. Fourth, the invention can effectively prevent the encrypted data of the public computer server from being decrypted by the users who have been canceled, even if the users have been revoked, they already know the symmetric key used to encrypt the data.

【技术实现步骤摘要】
具备细粒度用户控制的数据加解密系统和方法
本专利技术涉及数据加解密,特别是组合使用对称加密、公钥加密和基于属性加密的数据加解密。
技术介绍
在云计算环境中,越来越多的数据使用云平台存储,而云平台的软件和硬件往往由多方服务商提供,而不是数据拥有者提供。为了保护数据的私密性,建议数据拥有者先加密数据,然后再上传到公有云和任何服务器上。有许多现有的数据加解密技术可以用来保护数据的私密性。在这些技术中,基于属性的加密,特别是密文策略基于属性的加密(CP-ABE),是一种适合云端加解密的可扩展方案(B.Waters,Ciphertext-policyattribute-basedencryption:anexpressive,efficient,andprovablysecurerealization”,2011ProceedingsofPracticeandTheoryinPublicKeyCryptography,pp.53-70)。在传统的公钥加密系统中,一份密文只能由单个私钥来解密。与此不同的是,在CP-ABE公钥系统中,一份密文可由多个私钥来解密。具体地讲,在CP-ABE中,针对每个数据,用户拥有一个私钥,对应于该用户的一组属性。每一份密文的产生都与一份基于属性的访问策略绑定的。只有当一个用户的所有属性都满足一份密文的访问策略的条件下,这个用户的私钥才可以用来解密密文。假定用户Alice的私钥对应一组属性SA={ABCinstitute,ResearchManager},用户Bob的私钥对应于一组属性SB={DEFinstitute,ResearchScientist}。进一步假定一份密文的访问策略是(ResearchManager)AND((ABCinstitute)or(DEFinstitute))。那么Alice可以用她的私钥来解密这份密文,而Bob就不能解密。因为在一个基于属性的加密系统中可能有很多用户,不可避免地出现由于用户私钥泄露、用户辞职或用户职位改变等导致的用户撤销和用户属性更新的情况。如何有效地管理用户撤销和用户属性更新就是一个重要的问题。一个简单的解决方案是要求每一个用户周期性地更新他们的私钥(D.BonehandM.Franklin,“Identity-basedEncryptionfromtheWeilPairing”,Proceedingsofthe2001AdvancesinCryptology,pp.213-219)。上述方案的缺点是要求所有的用户,都要周期性地通过密钥产生中心(KGC)获得新私钥,无论他们的私钥有没有问题。另外,KGC还需要在线并通过安全信道把私钥传递给每个用户。假定所有用户数量是n,而撤销的用户数量是r,那么总共密钥更新信息的大小是O(n-r)。显然,上述方案的密钥更新操作会导致安全和性能的瓶颈。为了将密钥更新的大小从线性减少到对数级,Boldyreva等(A.Boldyreva,V.Goyal,andV.Kumar,“Identity-basedencryptionwithefficientrevocation”,Proceedingsof2008the2008ACMConferenceonComputerandCommunicationsSecurity,pp.417-426)提出了一个基于二叉树的方法来管理用户撤销。在此方案中,KGC给每个用户分发长期私钥。在每个时间区段的开始,KGC公开广播密钥更新信息。只有未被撤销权限的用户才能利用其拥有的长期私钥和KGC广播的密钥更新信息产生新的解密密钥,用来解密当前时间区段新产生的密文。此方案与前一种方案的共同缺点是:已被撤销的用户还是能解密过去时间段产生的密文。因此,这些方案并不适合云端数据加解密。
技术实现思路
本专利技术针对上述问题,提出一种新的支持高效用户撤销和用户属性更新的数据加解密系统和方法。本专利技术提出的数据加解密系统由以下部分组成:·一个公用的用于储存数据密文的计算机服务器,其可能是一个公有云服务器、一台公开可访问的计算机或者可公开访问的移动设备;·第一个私用的计算机服务器;·一个在第一个私用计算机服务器内的第一个私用数据库,用于存储:1)系统公开参数;2)第一个私用计算机服务器的总密钥(用于产生用户的解密密钥和控制密钥);3)用户属性集,用于描述用户的访问权限;4)用户ID。·第二个私用的计算机服务器;·在第二个私用计算机服务器内的第二个私用数据库,用于存储:1)用户ID;2)用户属性集;3)用户控制密钥;4)第二个私用计算机服务器的公私钥对(用于不完全解密,即产生一个中间密文)。·第一个密钥产生程序,用于产生系统公开参数、第一个私用计算机服务器的总密钥以及基于用户属性集的解密密钥和控制密钥。·第二个密钥产生程序,用于产生第二个私用计算机服务器的公私钥对。此密钥产生程序可以同时修改第二个私用数据库中的控制密钥、用户ID和用户属性集。此密钥产生程序也可以在第二个私用数据中同时删除控制密钥、用户ID和用户属性集。上述系统中,只有当用户权限未被撤销时,第一个私用计算机服务器才能产生用户解密密钥及用户控制密钥;只有当用户ID存在于第二个数据库之中时,第二个私用计算机服务器才能够做不完全解密。本专利技术提供的用于操作数据加解密系统的方法由以下步骤构成:1)提供公开参数给第一个私用计算机服务器用于加密第一个对称密钥并产生密文CABE;用第一个对称密钥加密数据并产生密文C1;提供公钥给第二个私用计算机服务器用于加密第二个对称密钥并产生密文CPKE;用第二个对称密钥加密C1并产生密文C2。2)提供用户控制密钥给第二个私用计算机服务器用于不完全解密密文CABE并产生密文C'ABE;其中用户控制密钥的产生和使用由用户属性集所确定。3)提供私钥给第二个私用计算机服务器用于解密CPKE并获得第二个对称密钥,并用第二个对称密钥解密C2以获得C1。4)将密文C'ABE和C1传送给用户计算机,用户计算机用一个解密密钥解密C'ABE获得第一个对称密钥,并用第一个对称密钥解密C1以获得数据明文。进一步地,其中解密密钥和控制密钥对应于用户ID和用户属性集。进一步地,只有当第二个私用数据库包含用户ID的时候,以上解密C'ABE和CPKE的步骤才会执行。用第二个私用计算机服务器的公钥加密第二个对称密钥以产生CPKE以及用第二个对称密钥加密C1以产生C2的步骤可以选择不执行。进一步地,本方法包括在第二个私用计算机服务器中修改第二个私用数据库中的控制密钥、用户ID和用户属性集的步骤。进一步地,本方法也包括在第二个私用计算机服务器中删除第二个私用数据库中的控制密钥、用户ID和用户属性集的步骤。本专利技术具有以下创新点和优势:首先,本专利技术支持细粒度的访问控制和具表达力的访问策略;其次,本专利技术支持高效即时地取消“已撤销用户”解密过去、现在和未来产生的密文的能力;第三,本专利技术支持即时更新用户的属性;第四,本专利技术支持混合加密,即用于加密数据的对称密钥由CP-ABE和公钥加密系统(PKE)共同加密。因此,即使“已撤销用户”知晓用于加密数据的对称密钥,也不能解密云端加密的数据。附图说明图1是数据加解密系统的图示。图2是加密数据的步骤图示。图3是解密存储本文档来自技高网
...
具备细粒度用户控制的数据加解密系统和方法

【技术保护点】
一种具备细粒度用户控制的数据加解密系统,其特征在于,包括:公用计算机服务器,用于存储加密的数据密文;第一个私用计算机服务器,其中设有第一个私用数据库,用于存储系统公开参数,总密钥,用户属性集,以及用户ID;所述总密钥用于产生用户解密密钥和控制密钥;第二个私用计算机服务器,其中设有第二个私用数据库,用于存储用户ID,用户属性集,用户控制密钥,以及第二个私用计算机服务器的公私钥对;所述第二个私用计算机服务器的公私钥对用于不完全解密;其中,只有当用户没有被撤销时,第一个私用计算机服务器才产生用户解密密钥和控制密钥。只有当第二个私用数据库包含用户ID时,第二个私用计算机服务器才执行不完全解密操作。

【技术特征摘要】
1.一种具备细粒度用户控制的数据加解密系统,其特征在于,包括:公用计算机服务器,用于存储加密的数据密文;第一个私用计算机服务器,其中设有第一个私用数据库,用于存储系统公开参数,总密钥,用户属性集,以及用户ID;所述总密钥用于产生用户解密密钥和控制密钥;第二个私用计算机服务器,其中设有第二个私用数据库,用于存储用户ID,用户属性集,用户控制密钥,以及第二个私用计算机服务器的公私钥对;所述第二个私用计算机服务器的公私钥对用于不完全解密;其中,只有当用户没有被撤销时,第一个私用计算机服务器才产生用户解密密钥和控制密钥。只有当第二个私用数据库包含用户ID时,第二个私用计算机服务器才执行不完全解密操作。2.根据权利要求1所述的系统,其特征在于,还包含第一个密钥产生程序,用于产生系统公开参数、第一个私用计算机服务器的总密钥以及用户的解密密钥和控制密钥。3.根据权利要求2所述的系统,其特征在于,还包含第二个密钥产生程序,用于产生第二个私用计算机服务器的公私密钥对。4.根据权利要求3所述的系统,其特征在于,所述第二个密钥产生程序能够修改第二个私用数据库中的控制密钥、用户ID和用户属性集。5.根据权利要求3所述的系统,其特征在于,所述第二个密钥产生程序能够删除第二个私用数据库中的控制密钥、用户ID和用户属性集。6.根据权利要求1所述的系统,其特征在于,所述公用计算机服务器是公有云服务器、公用的计算机或公用的移动设备。7.一种具备细粒度用户控制的数据加...

【专利技术属性】
技术研发人员:邓慧杰李迎九王展王绍斌
申请(专利权)人:实创时新北京科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1