一种异构存储系统中的密文转换方法、解密方法及系统转让专利

申请号 : CN201710229788.7

文献号 : CN107086912A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邓桦周云雅罗伟付暾

申请人 : 国家电网公司国网湖南省电力公司国网湖南省电力公司信息通信公司

摘要 :

本发明提供一种异构存储系统中的密文转换方法、解密方法及系统,其中密文转换方法包括:基于数据拥有者指定的授权访问者的身份ID以及系统公、私钥对,获得与该授权访问者的身份ID关联的身份基解密私钥;通过属性基加密方法,基于数据拥有者指定的访问策略和所述身份基解密私钥,获得转换密钥;以及基于所述转换密钥,对身份基密文进行转换,获得属性基密文。本发明将身份基密文在不泄露明文的前提下转换成属性基密文,保证两种加密系统独立运行,互不影响,本发明为两套加密算法不同的存储系统用户共享秘密数据提供了一条安全且有效的途径。

权利要求 :

1.一种异构存储系统中的密文转换方法,其特征在于,包括:S1、基于数据拥有者指定的授权访问者的身份ID以及系统公、私钥对,获得与该授权访问者的身份ID关联的身份基解密私钥;

S2、通过属性基加密方法,基于数据拥有者指定的访问策略和所述身份基解密私钥,获得转换密钥;以及S3、基于所述转换密钥,对身份基密文进行转换,获得属性基密文。

2.如权利要求1所述的异构存储系统中的密文转换方法,其特征在于,所述步骤S1之前还包括:获得系统公、私钥对,通过身份基加密方法,对待加密的信息利用系统公钥以及所述授权访问者的身份ID,获得所述身份基密文。

3.如权利要求1所述的异构存储系统中的密文转换方法,其特征在于,所述步骤S2包括:S2.1、运行随机数生成算法,随机选择G群中的一个元素,将所述元素代入编码函数中,获得编码结果;

S2.2、对所述元素通过所述属性基加密方法,基于数据拥有者指定的访问策略,获得所述元素对应的元素属性基密文;以及S2.3、对所述身份基密文,基于所述身份基解密私钥、编码结果以及元素属性基密文,获得转换密钥。

4.如权利要求3所述的异构存储系统中的密文转换方法,其特征在于,所述转换密钥的表达式为:CK=(K'0,K1,CTR);

其中,CK表示转换密钥,CTR表示身份基解密私钥。

5.一种如权利要求3所述密文转换方法获得的属性基密文的解密方法,其特征在于,所述属性基密文中含有所述元素属性基密文;

其中,所述解密方法包括:

A、解密属性基密文,获得身份基密文和元素属性基密文,解密所述元素属性基密文,获得所述元素;

B、将所述元素代入系统公钥中的编码函数,获得编码结果;以及C、基于所述编码结果和身份基密文,获得明文信息。

6.一种异构存储系统中的密文转换系统,其特征在于,包括:身份基解密私钥模块,用于基于数据拥有者指定的授权访问者的身份ID以及系统公、私钥对,获得与该授权访问者的身份ID关联的身份基解密私钥;

转换密钥生成模块,用于通过属性基加密方法,基于数据拥有者指定的访问策略和所述身份基解密私钥,获得转换密钥;以及转换模块,用于基于所述转换密钥对身份基密文进行转换,获得属性基密文。

7.如权利要求6所述的异构存储系统中的密文转换系统,其特征在于,还包括:身份基密文模块,用于获得系统公、私钥对,通过身份基加密方法,对待加密的信息利用系统公钥以及所述授权访问者的身份ID,获得所述身份基密文。

8.如权利要求6所述的异构存储系统中的密文转换系统,其特征在于,所述转换密钥生成模块包括:编码结果生成单元,用于运行随机数生成算法,随机选择G群中的一个元素,将所述元素代入编码函数中,获得编码结果;

元素属性基密文单元,用于对所述元素通过所述属性基加密方法,基于数据拥有者指定的访问策略,获得所述元素对应的元素属性基密文;以及转换密钥生成单元,用于对所述身份基密文,基于所述身份基解密私钥、编码结果以及元素属性基密文,获得转换密钥。

9.如权利要求8所述的异构存储系统中的密文转换系统,其特征在于,所述转换密钥的表达式为:CK=(K'0,K1,CTR);

其中,CK表示转换密钥,CTR表示身份基解密私钥。

10.一种如权利要求6所述密文转换系统获得的属性基密文的解密系统,其特征在于,所述属性基密文中含有所述元素属性基密文;

其中,所述解密系统包括:

元素获取模块,用于解密属性基密文,获得身份基密文和元素属性基密文,解密所述元素属性基密文,获得所述元素;

编码结果获取模块,用于将所述元素代入系统公钥中的编码函数,获得编码结果;以及明文获取模块,用于基于所述编码结果和身份基密文,获得明文信息。

说明书 :

一种异构存储系统中的密文转换方法、解密方法及系统

技术领域

[0001] 本发明涉及加密数据迁移技术,更具体地,涉及异构存储系统中的密文转换方法、解密方法及系统。

背景技术

[0002] 现代密码学技术发展至今,产生了各种各样满足于不同目的的密码系统。按照通信双方掌握的密钥是否相同,密码系统可以分为两类:对称密码系统与非对称密码系。对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中被称为对称加密算法。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(公钥)和私有密钥(私钥)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。在密码系统中,待加密的消息称为明文,对明文进行加密后的输出称为密文。
[0003] 非对称密码系统以公钥基础设施(Public Key Infrastructure,简称 PKI)为代表,要求由一个独立的可信第三方机构来为所有用户产生公私钥对,并且由该机构来管理所有的公钥证书。当用户规模庞大时,该机构将成为整个系统的性能瓶颈,并且由于其唯一惟,也容易受到黑客和恶意用户的攻击。身份基的加密方法(Identity-Based Encryption,简称IBE)可以解决上述问题。身份基加密系统不需要一个独立第三方来为所有用户颁发公钥证书,相反,它允许任意的可识别字符串作为用户的公钥(比如身份证号、电子邮箱地址、电话号码),该字符串一般用字符ID表示。身份基加密系统引入一个私钥生成中心来为用户的身份标识ID产生相应的私钥。当双方进行保密通信时,发送方使用接收方的身份ID进行加密,接收方使用ID对应的私钥便能恢复出原始消息。
[0004] 传统的非对称密码系统以及身份基加密系统都要求加密方在对数据进行加密时指定具体的解密者,比如在IBE中,加密方如果使用“ID=123456”加密数据,那么只有身份标识是“123456”的用户能够解密,这种“先验式”的访问控制方法在一些比较复杂的存储系统中是不够实用的。例如在云存储系统中,云存储服务提供商管理一组云存储服务器,用户将数据远程上传至云存储服务器中,之后,用户便可以随时随地享受云存储服务,访问保存在云存储服务器上的数据。另一方面,云存储系统还可实现数据共享功能:用户将数据上传至云存储服务器后,还可以指定授权访问者,使得这些授权访问者也能如自己一样访问这些数据。为了保证数据只能被自己以及授权访问者访问,用户在上传数据前,通常使用加密算法对数据进行加密,将加密后的密文上传至云存储服务器。
[0005] 如果应用传统非对称加密算法或者身份基加密算法于云存储系统中,那么将遇到这样一个问题:用户在加密数据时,并不知道将来有哪些其他用户请求访问自己数据,从而无法在加密时指定授权访问者。属基性加密(Attribute-Based Encrpytion,简称ABE)可以解决这种“先验式”访问控制的问题。与身份基加密类似,属性基加密系统不需要独立的第三方机构为所有用户颁发公钥证书,同样避免了公钥管理问题。不同的是,在属性基加密系统中,用户不再与唯一身份标识ID关联,而是与一些属性关联,用户身份由一组属性描述。当颁发用户私钥时,私钥产生中心根据用户的属性集合来生成私钥。加密时,加密方根据系统中的属性制定一个访问策略,然后用该访问策略加密明文;当解密方的私钥所关联的属性集合满足生成密文的访问策略时,解密方可以解密密文。举一个例子:某IT公司使用属性基加密(ABE)系统保护公司存储服务器中的数据,公司的员工身份由职位、职称、任职时间、所属部门等属性确定。假设员工A关联的属性集为:{研发部,产品经理,高级工程师,6年},员工B关联的属性集为:{研发部,软件开发,工程师,3年}。员工C在将数据上传到存储服务器时使用属性基加密算法对数据进行加密,他制定访问策略:(部门:研发部) AND(职称:高级工程师)OR(任职时间>=3年)。该访问策略的含义是:具备属性“研发部”与属性“高级工程师”的员工,或者具备属性“任职时间超过3年”的员工能够解密员工B的密文。因为员工A和员工B的属性集合里都包含了上述三种属性,所以他们能够访问B的数据。从这个例子可以看到,加密方在加密数据时并没有指明解密方的具体身份,而是通过制定访问策略的方式控制对数据的访问权限,因而这种加密方法更为灵活也更适用于复杂的存储系统。
[0006] 在现实生活中,数据的传输、存储和访问经常不是在同一个存储系统中发生的,当数据要从一个存储系统迁移至另一个存储系统时,除了解决数据存储格式的异构外,还需考虑加密算法的异构,即两个存储系统使用不一样的密码系统加密数据。在上述IT公司例子的基础上,考虑还有另外一家规模较小的设计公司,该公司使用简单高效的身份基加密(IBE)系统来加密自己的具有较高商业价值的设计文档。当这两家公司要进行某项商业合作时,双方要交换各自的一些数据,设计公司需要把自己存储系统中的用身份基加密系统加密的数据发送到IT公司的存储系统中。但是,IT公司的存储系统使用的是属性基加密算法,所有数据是以属性基密文的格式保存,不能兼容身份基加密系统密文。一种比较简单的方法是设计公司先将自己的加密文件用身份基解密算法解密,再用IT公司的属性基加密算法加密,最后再发送给IT公司。这种简单的方法会给设计公司带来比较大的计算负担和繁琐的操作过程,当数据量大时,会严重降低存储系统的使用效率,进而影响双方的工作进展。

发明内容

[0007] 本发明提供一种克服上述问题或者至少部分地解决上述问题的异构存储系统中的数据安全迁移方法。
[0008] 根据本发明的一个方面,提供一种异构存储系统中的密文转换方法,包括:
[0009] S1、基于数据拥有者指定的授权访问者的身份ID以及系统公、私钥对,获得与该授权访问者的身份ID关联的身份基解密私钥;
[0010] S2、通过属性基加密方法,基于数据拥有者指定的访问策略和所述身份基解密私钥,获得转换密钥;以及
[0011] S3、基于所述转换密钥,对身份基密文进行转换,获得属性基密文。
[0012] 根据本发明的另一个方面,还提供一种解密方法,包括:
[0013] A、解密属性基密文,获得身份基密文和元素属性基密文,解密所述元素属性基密文,获得所述元素;
[0014] B、将所述元素代入系统公钥中的编码函数,获得编码结果;以及
[0015] C、基于所述编码结果和身份基密文,获得明文信息。
[0016] 根据本发明的另一个方面,还提供一种异构存储系统中的密文转换系统,包括:
[0017] 身份基解密私钥模块,用于基于数据拥有者指定的授权访问者的身份ID以及系统公、私钥对,获得与该授权访问者的身份ID关联的身份基解密私钥;
[0018] 转换密钥生成模块,用于通过属性基加密方法,基于数据拥有者指定的访问策略和所述身份基解密私钥,获得转换密钥;以及
[0019] 转换模块,用于基于所述转换密钥和身份基密文,获得属性基密文。
[0020] 根据本发明的另一个方面,还提供一种解密系统,包括:
[0021] 元素获取模块,用于解密属性基密文,获得身份基密文和元素属性基密文,解密所述元素属性基密文,获得所述元素;
[0022] 编码结果获取模块,用于将所述元素代入公钥中的编码函数,获得编码结果;以及[0023] 明文获取模块,用于基于所述编码结果和身份基密文,获得明文信息。
[0024] 本发明提出一种异构存储系统中的密文转换方法,实现了将身份基密文在不泄露明文的前提下转换成属性基密文。两种加密系统独立运行,互不影响,该方法适用于异构存储系统间的数据保密传输,为两套加密算法不同的存储系统用户共享秘密数据提供了一条安全且有效的途径。

附图说明

[0025] 图1为本发明实施例提供的异构存储系统中的密文转换方法的流程图;
[0026] 图2为本发明实施例密文转换方法的步骤S2的流程图;
[0027] 图3为本发明实施例的解密方法的流程图;
[0028] 图4为本发明实施例的异构存储系统中的密文转换系统的框图。

具体实施方式

[0029] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0030] 下面介绍安全密文转换方法涉及的数学及密码学基础知识:
[0031] 一、双线性对
[0032] 定义一种函数映射e(.,.),将群G中的元素映射的群GT中,即:
[0033] e:G×G→GT;
[0034] 对大素数p,双线性对满足的特性有:
[0035] (1)、双线性特性:对于g,h∈G;a,b∈Zp,Zp表示集合{0,1,2,...,p-1},存在:e(ga,hb)=e(g,h)ab;
[0036] (2)、非退化性:G群中至少存在一个元素g,使得计算后的e(g,g) 为GT群的某个生成元;
[0037] (3)、可计算性:存在有效的算法,使得所有的u,v∈G,可以有效计算出e(u,v)的值;
[0038] 二、抗碰撞哈希函数
[0039] 抗碰撞哈希函数具备两个基本特性:单向性和抗碰撞性。单向性指从哈希函数的输入可以轻易推导出输出,但从输出推导出输入则非常困难。抗碰撞性指不能找到两个不同的输入,使得它们的哈希函数输出值相等。本发明中的哈希算法输入是用户的身份ID,可为任意可识别字符串;输出为映射到域Zp中的元素。
[0040] 三、访问控制结构
[0041] 在属性基加密方案中,为了实现对数据使用者细粒度的访问控制,需要在加密数据之前制定访问控制策略,该访问控制策略通过访问控制结构表达。本发明方案中使用的访问控制结构为访问控制矩阵,即l 行n列的矩阵。由于属性基加密方案中访问控制策略是与属性相关的,故在生成访问控制矩阵时,我们选择一种一一映射:ρ(i),将矩阵R的每一行的行标i均映射到访问控制策略中涉及到的一个属性上。
[0042] 图1示出了本发明实施例提供的异构存储系统中的密文转换方法的流程图,包括:
[0043] S1、基于数据拥有者指定的授权访问者的身份ID以及系统公、私钥对,获得与该授权访问者的身份ID关联的身份基解密私钥;
[0044] S2、通过属性基加密方法,基于数据拥有者指定的访问策略和所述身份基解密私钥,获得转换密钥;以及
[0045] S3、基于所述转换密钥,对身份基密文进行转换,获得属性基密文。
[0046] 本发明提出一种异构存储系统中的密文转换方法,实现了将身份基密文在不泄露明文的前提下转换成属性基密文。两种加密系统独立运行,互不影响,该方法适用于异构存储系统间的数据保密传输,为两套加密算法不同的存储系统用户共享秘密数据提供了一条安全且有效的途径。
[0047] 在一个实施例中,所述步骤S1之前还包括:获得系统公、私钥对,其中系统公钥可以公开,但系统私钥须严格保密。
[0048] 在一个可选实施例中,获得系统公、私钥对具体包括一下步骤:
[0049] 首先输入系统安全参数λ,然后运行群生成算法 输出两个阶数为素数p的群G、GT和一个双线性映射运算e:G×G→GT;
[0050] 选择编码函数,将群GT中的元素映射到群G中的一个元素。该函数可以如下定义:x x
给定元素e(g,g)∈GT,其中 输出g∈G。
[0051] 运行随机数生成算法,随机选择G群中的某个生成元g,以及随机数u,h,w,v∈G,随机选择 域中的一个元素a;
[0052] 计算群GT中的一个元素e(g,g)α;
[0053] 最后,计算系统公钥:PP=(g,u,h,w,v,e(g,g)α,F(·));
[0054] 以及系统私钥:MSK=α。
[0055] 在一个实施例中,算法 的运行方法包括:
[0056] 输入系统安全参数λ,根据λ的大小,选择相应的椭圆曲线: Y2=X3+aX+b(a和b是系数),再由椭圆曲线上的点构成两个素数 p阶的群G、GT。选择一种函数映射e,将群G中的元素映射到群GT中去;安全参数数值越大,所选择椭圆曲线上的点也越多,群也越大,系统的安全性也越高。
[0057] 在一个实施例中,随机数生成算法具体包括:根据所选的椭圆曲线:Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在我们想要映射的群中,则成功生成了随机元素。若点(x1,y1)不在群中,则继续选择X的值,直到找到出现在群中的点。此外,域 表示集合{1,2,...,p-1},随机选择域 中元素的随机数生成函数可以从Pairing-Based Cryptosystems函数包中调用库函数运行(Standford PBC library 0.5.12,http://crypto.stanford.edu/pbc)。
[0058] 在一个实施例中,运行双线性对运算具体包括:自变量的输入为群G中的元素g、h,输出为群GT中的元素:e(g,h).
[0059] 由于本发明的密文转换方法设计身份基密文至属性基密文的转换,因此,本发明的密文转换方法还包括身份基加密(IBE)系统的用户注册步骤和属性基加密(ABE)系统的用户注册步骤。
[0060] 在一个实施例中,当身份标识为ID的用户申请加入IBE系统时,首先检查申请者是否有资格(是否有资格取决于数据拥有者是否授权该ID访问数据)。若具有资格,则为申请者产生一个解密私钥:输入用户身份ID、系统公、私钥对,输出一个与ID关联的解密私钥。具体步骤如下:
[0061] 随机选择元素
[0062] 计算:K0=gα(uIDh)r,K1=gr;
[0063] 设用户ID的解密私钥为:SKID=(K0,K1)。
[0064] 同理,若ABE系统中某个用户所关联的属性集合为 S={A1,A2,...,A|S|},中|S|表示该集合中的属性个数。当该用户申请加入系统时,PKG首先检查申请者是否有资格(是否有资格取决于该用户所关联的属性是否与ABE系统的数据拥有者指定的属性一致)。若是,按如下步骤为申请者产生一个ABE系统解密私钥。
[0065] 选择随机数
[0066] 计算:K0=gαwd,K1=gd,
[0067] 设用户S的私钥为:
[0068] 在一个实施例中,获得系统公、私钥后,通过身份基加密方法,对待加密的信息利用系统公钥以及所述授权访问者的身份ID,获得所述身份基密文:
[0069] 数据拥有者运行随机数生成算法,选择随机元素 运行两次群乘法和4次求幂运算,得到:
[0070] E0=M·e(g,g)αs,E1=(uIDh)s,E2=gs
[0071] 因此,身份基密文为:CTID=(E0,E1,E2)。该密文是根据身份标识ID 加密,故只能被用户ID解密。
[0072] 在一个实施例中,ABE加密系统中,用户在加密时指定访问策略 R,然后通过该访问策略对数据进行加密,使得只有满足访问策略的用户才能解密。属性基加密算法步骤如下:
[0073] 数据拥有者指定访问控制矩阵R,R是一个l行n列的矩阵,ρ是将R的每一行映射到访问策略中包含的某一个元素的函数;
[0074] 数据拥有者选择随机数 生成向量
[0075] 数据拥有者针对矩阵 的每一行Mi,计算 λi是Mi对应属性所拥有的子秘密。
[0076] 数据拥有者选择l个随机数 然后计算:
[0077] C=M·e(g,g)αs,C0=gs
[0078]
[0079] 数据拥有者生成密文:
[0080]
[0081] 图2示出了本发明实施例密文转换方法的步骤S2的流程图,如图可知,步骤S2包括:
[0082] S2.1、运行随机数生成算法,随机选择G群中的一个元素k,将所述元素代入编码函数F中,获得编码结果F(k)∈G;
[0083] S2.2、对所述元素通过属性基加密方法,基于数据拥有者指定的访问策略,获得所述元素对应的元素属性基密文:
[0084]
[0085] S2.3、对所述身份基密文,基于所述身份基解密私钥、编码结果以及元素属性基密文,获得转换密钥。
[0086] 本发明适用于不完全可信的应用环境,IBE系统用户在生成转换密钥时,对自己的解密私钥进行了盲化,转换密钥不泄露自己的私钥信息。故即使转换密钥生成模块不完全可信,也无法破解IBE系统的密文,从而不能获取原始数据。
[0087] 在一个实施例中,步骤S2.3包括:
[0088] 计算K’0=K0F(k);
[0089] 获得转换密钥为:CK=(K′0,K1,CTR)。
[0090] 在一个实施例中,步骤S3包括:
[0091] 基于IBE密文CTID=(E0,E1,E2)和转换密钥CK=(K′0,K1,CTR),计算:
[0092]
[0093] 转换后得到的属性基密文:CCT=(E′0,E2,CTR)。
[0094] 当ABE加密系统的数据解密者要求访问IBE系统中的加密数据时,将IBE密文转换成ABE密文后,发给数据解密者,其中,转换后的属性基密文CCT=(E′0,E2,CTR),其中数据解密者的ABE系统解密私钥
[0095] 在一个实施例中,本发明还提供一种对转换后得到的属性基密文进行解密的方法,图3示出了本发明实施例的解密方法的流程图,如图可知,该解密方法包括:
[0096] A、解密属性基密文,获得身份基密文和元素属性基密文,解密所述元素属性基密文,获得所述元素;
[0097] B、将所述元素代入系统公钥中的编码函数F,获得编码结果 F(k)∈G;以及[0098] C、基于所述编码结果和身份基密文,获得明文信息。
[0099] 在一个实施例中,步骤A包括:
[0100] 解密CTR恢复出元素k。因为S满足R,那么在多项式时间内可以找到常数{ωi∈Zp},使得∑i∈IωiMi=(1,0,...,0),其中I={i:ρ(i)∈S}。
[0101] 计算:
[0102] 恢复k=C/B=ke(g,g)αs/e(g,g)αs。
[0103] 在一个实施例中,步骤C包括:基于下式经过一次双线性对和乘法运算,得到最后的明文消息M:
[0104] M=E′0·e(F(k),E2)=[M/e(F(k),gs)]·e(F(k),gs)。
[0105] 如图4所示,本发明实施例还提供一种异构存储系统中的密文转换系统,包括:
[0106] 身份基解密私钥模块,用于基于数据拥有者指定的授权访问者的身份ID以及系统公、私钥对,获得与该授权访问者的身份ID关联的身份基解密私钥;
[0107] 转换密钥生成模块,用于通过属性基加密方法,基于数据拥有者指定的访问策略和所述身份基解密私钥,获得转换密钥;以及
[0108] 转换模块,用于基于所述转换密钥对身份基密文进行转换,获得属性基密文。
[0109] 在一个实施例中,密文转换系统还包括:
[0110] 身份基密文模块,用于获得系统公、私钥对,通过身份基加密方法,对待加密的信息利用系统公钥以及所述授权访问者的身份ID,获得所述身份基密文。
[0111] 在一个实施例中,身份基密文模块具体用于:
[0112] 首先输入系统安全参数λ,然后运行群生成算法 输出两个阶数为素数p的群G、GT和一个双线性映射运算e:G×G→GT;
[0113] 选择编码函数,将群GT中的元素映射到群G中的一个元素。该函数可以如下定义:给定元素e(g,gx)∈GT,其中 输出gx∈G。
[0114] 运行随机数生成算法,随机选择G群中的某个生成元g,以及随机数u,h,w,v∈G,随机选择 域中的一个元素a;
[0115] 计算群GT中的一个元素e(g,g)α;
[0116] 最后,计算系统公钥:PP=(g,u,h,w,v,e(g,g)α,F(·));
[0117] 以及系统私钥:MSK=α。
[0118] 在一个实施例中,身份基密文模块具体还用于:
[0119] 数据拥有者运行随机数生成算法,选择随机元素 运行两次群乘法和4次求幂运算,得到:
[0120] E0=M·e(g,g)αs,E1=(uIDh)s,E2=gs
[0121] 因此,身份基密文为:CTID=(E0,E1,E2)。该密文是根据身份标识ID 加密,故只能被用户ID解密。
[0122] 在一个实施例中,本发明实施例还包括属性基加密模块,属性基加密模块用于:
[0123] 数据拥有者指定访问控制矩阵R,R是一个l行n列的矩阵,ρ是将R的每一行映射到访问策略中包含的某一个元素的函数;
[0124] 数据拥有者选择随机数 生成向量
[0125] 数据拥有者针对矩阵R的每一行Mi,计算 λi是Mi对应属性所拥有的子秘密。
[0126] 数据拥有者选择l个随机数 然后计算:
[0127] C=M·e(g,g)αs,C0=gs
[0128]
[0129] 数据拥有者生成属性基密文:
[0130]
[0131] 在一个实施例中,所述转换密钥生成模块包括:
[0132] 编码结果生成单元,用于运行随机数生成算法,随机选择G群中的一个元素k,将所述元素代入编码函数F中,获得编码结果F(k)∈G;
[0133] 元素属性基密文单元,用于对所述元素通过所述属性基加密方法,基于数据拥有者指定的访问策略,获得所述元素对应的元素属性基密文:
[0134] 以及
[0135] 转换密钥生成单元,用于对所述身份基密文,基于所述身份基解密私钥、编码结果以及元素属性基密文,获得转换密钥。
[0136] 在一个实施例在,转换密钥生成单元具体用于:
[0137] 计算K’0=K0F(k);
[0138] 获得转换密钥为:CK=(K′0,K1,CTR)。
[0139] 在一个实施例中,转换模块具体用于:
[0140] 基于IBE密文CTID=(E0,E1,E2)和转换密钥CK=(K′0,K1,CTR),计算:
[0141]
[0142] 转换后得到的属性基密文:CCT=(E′0,E2,CTR)。
[0143] 在一个实施例中,本发明还提供一种对属性基密文进行解密的系统,该解密系统包括:
[0144] 元素获取模块,用于解密属性基密文,获得身份基密文和元素属性基密文,解密所述元素属性基密文,获得所述元素;
[0145] 编码结果获取模块,将所述元素代入系统公钥中的编码函数F,获得编码结果F(k)∈G;以及
[0146] 明文获取模块,用于基于所述编码结果和身份基密文,获得明文信息。
[0147] 在一个实施例中,元素获取模块具体用于:
[0148] 解密CTR恢复出元素k。因为S满足R,那么在多项式时间内可以找到常数{ωi∈Zp},使得∑i∈IωiMi=(1,0,...,0),其中I={i:ρ(i)∈S}。
[0149] 计算:
[0150] 恢复k=C/B=ke(g,g)αs/e(g,g)αs。
[0151] 在一个实施例中,明文获取模块具体用于:
[0152] 基于下式经过一次双线性对和乘法运算,得到最后的明文消息M:
[0153] M=E′0·e(F(k),E2)=[M/e(F(k),gs)]·e(F(k),gs)。
[0154] 本发明方法集成了身份基加密(IBE)系统和属性基加密(ABE) 系统,身份基加密系统可部署于较简单的存储体系中实现便捷的数据访问控制,属性基加密系统可用于较复杂的存储系统实现灵活的访问控制。
[0155] 本发明实现了从IBE到ABE的密文转换,在不解密IBE密文也不泄露原始数据的前提下将IBE加密系统密文直接转换成ABE加密系统的密文,使得ABE系统的解密私钥可以恢复出原始数据。这种密文转换方法节约了不同密码系统间进行数据迁移时解密再加密的繁琐步骤,同时保障了数据传输的安全性。
[0156] 本发明与以往的重加密方法最大的优势与创新点在于:该方法通过密文转换技术将独立的IBE与ABE加密系统联接在了一起,同时不影响这两个系统的运行;传统密文转换技术仅仅实现了在同一个密码系统中的密文转换,本发明实现了从一个密码系统至另一个密码系统的密文转换,允许分别采用IBE与ABE加密算法的存储系统进行不解密的密文传输。
[0157] 本发明适用于不完全可信的应用环境。IBE系统用户在生成转换密钥时,对自己的解密私钥进行了盲化,转换密钥不泄露自己的私钥信息。故即使转换密钥生成模块不完全可信,也无法破解IBE系统的密文,从而不能获取原始数据。
[0158] 最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。