本发明涉及云计算环境下的外包服务领域及网络安全的数据加密和数据认证领域,特别是,在云计算环境下实现了一种安全可控高效的数据共享系统及方法,该方法利用云服务器外包计算能力,在保证数据机密性的前提下,有效减少用户的通信和计算开销,并实现外包计算的可验证性和数据来源的可认证性,检测云服务器是否计算错误或伪造数据。
背景技术:
随着云计算技术的快速发展,数据共享成为当前的研究和应用热点之一。属性加密(abe)作为一种具有一对多加密特性的公钥加密方案,是实现云计算环境下安全的数据共享的重要技术工具。
属性加密方案可以同时提供数据机密性和细粒度的访问控制。根据访问控制策略的关联性,具体方案可以分为密钥策略的属性加密(kp-abe),以及密文策略的属性加密(cp-abe)。在cp-abe方案中,密文与访问控制策略相关联,用户的私钥与一组属性集合相关联。当且仅当用户的私钥属性集合满足密文的访问控制策略时,该用户才可以正确解密密文,kp-abe方案与之相反。因此,cp-abe方案更为适合在云计算场景中实现数据分享,数据拥有者在向云服务器上传数据之前,使用所需的访问控制策略进行加密,只有具有属性满足该策略的数据消费者才能解密该密文。
尽管abe方案可以作为在云计算场景中实现安全、灵活的数据共享的强大工具,但是其在实际应用中有一个主要缺点:解密计算的代价随着访问控制结构的复杂性线性增长,这对于计算资源受限设备的用户是严重的使用瓶颈。为了解决这一问题,green等人提出了外包解密的技术,利用云服务器对原始密文外包解密,使之转换成为更为简单的密文形式,用户能够以非常少的计算开销来解密转换后的密文。随后,为了无法判断云服务器外包解密操作的正确性,lai等人提出了可验证外包解密方案,qin等人,lin等人,mao等人,ma等人提出了一系列的改进工作,对可验证外包解密方案的效率进行了优化。
可验证外包解密方案在半诚实云服务器模型下是有效的,该类服务器会如实执行协议规定的解密操作,在出现计算错误时将会被发现。然而,可验证外包解密方案并不能在恶意云服务器模型下适用,该类服务器可能不按照协议规定操作。由于abe方案是公钥加密方案,恶意云服务器完全可以自行选择一组数据加密,随后执行外包解密操作,以响应用户的数据请求。在这种情况下,外包解密后的数据依然可以通过正确性验证,但用户得到的是虚假数据。可见,可验证外包解密方案不能提供数据认证功能,在实际应用中存在安全问题。
技术实现要素:
为解决云计算环境下数据共享面临的外包计算验证性问题和数据来源认证性问题,本发明提供一种云计算环境下的安全可控高效的数据共享方法及系统。本发明将外包解密技术和计算验证、数据认证技术相结合,具有如下技术特色:一,为外包数据提供机密性保护和细粒度的访问控制;二,将计算代价昂贵的解密操作外包给云服务器处理,有效减少用户的通信和计算开销,便于资源受限的设备使用;三,用户可以高效地对外包计算的正确性进行验证,同时对数据的来源进行认证,检测云服务器是否计算错误或伪造数据。
本发明为解决上述需求采取的技术方案:
根据本发明设计出一种云计算环境下的安全可控高效的数据共享方法,特征在于,通用构造包括如下步骤:
a、设定系统公共参数pp和系统主密钥msk;
b、根据系统公共参数pp,生成数据拥有者公钥pk和数据拥有者私钥sk;
c、根据系统公共参数pp、系统主密钥msk和数据消费者的属性集合
d、根据系统公共参数pp、数据拥有者私钥sk和访问控制结构
e、根据系统公共参数pp和数据消费者转换密钥tk,将文件原始密文ct进行外包解密,生成文件中间密文tct;
f、根据系统公共参数pp、数据拥有者公钥pk和数据消费者恢复密钥rk,对文件中间密文tct进行解密操作,并验证是否是数据拥有者所加密的明文消息m。
根据本发明设计出一种云计算环境下的安全可控高效的数据共享系统,其涉及到的多个实体服务器,包括参数设置服务器、用户密钥生成服务器、加密服务器、解密服务器、云存储服务器、云计算服务器;其中,
参数设置服务器,用于生成系统公共参数pp和系统主密钥msk,将系统主密钥msk发送给用户密钥生成服务器,将系统公共参数pp发送给系统中的所有参与的其他实体服务器;
用户密钥生成服务器,根据系统公共参数pp,为数据拥有者生成公钥pk和私钥sk,将公钥pk发送给数据消费者,将公钥pk和私钥sk发送给数据拥有者;
用户密钥生成服务器,根据系统公共参数pp、系统主密钥msk和属性集合
数据拥有者,将数据拥有者私钥sk、所需加密的明文消息m和所需设置的访问控制结构
加密服务器,根据系统公共参数pp、数据拥有者私钥sk和访问控制结构
数据消费者向云存储系统发起数据请求,将数据消费者转换密钥tk发送给云计算服务器,并下载云计算服务器生成的文件中间密文tct,将数据拥有者公钥pk、数据消费者恢复密钥rk和文件中间密文tct发送给解密服务器;
解密服务器,根据系统公共参数pp、数据拥有者公钥pk和数据消费者恢复密钥pk,对文件中间密文tct解密,并验证是否是数据拥有者所加密的明文消息m,将解密结果发送给数据消费者;
云存储服务器,存储数据拥有者上传的文件原始密文ct,根据数据消费者发起的数据请求,将文件原始密文ct发送给云计算服务器;
云计算服务器,根据系统公共参数pp和数据消费者转换密钥tk,对文件原始密文ct进行外包解密,生成文件中间密文tct,将文件中间密文tct发送给数据消费者。
与现有技术相比,本发明的积极效果为:
本发明将外包解密技术和计算验证、数据认证技术相结合,在保证外包数据提供机密性的同时,有效减少用户的通信和计算开销,便于资源受限的设备使用;另一方面,用户可以高效地对外包计算的正确性进行验证,同时对数据的来源进行认证,检测云服务器是否计算错误或伪造数据。
附图说明
图1是本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的系统模型图;
图2是本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的算法流程图。
具体实施方式
下面结合附图1和图2对本发明的技术方案做进一步的详细说明。
首先,我们介绍所述一种云计算环境下的安全可控高效的数据共享方法及系统所需的密码模块。
1.属性加密算法abe,包括五个子算法:
本方案将属性加密算法abe作为密钥封装(kem)使用,因此对子算法的描述与通用的属性加密算法不同。
初始化算法
密钥生成算法
加密算法
转换算法abe.trans(pp,tk,ctkem)→ct′kem或者⊥,输入系统公共参数pp、转换密钥tk和封装密钥原始密文ctkem,输出封装密钥中间密文ct′kem或者转换失败符号⊥;
解密算法abe.dec(pp,rk,ct′kem)→ek,输入系统公共参数pp、恢复密钥rk和封装密钥中间密文ct′kem,输出封装密钥ek。
2.对称加密算法ske,包括两个子算法:
加密算法ske.enc(nk,m)→ct,输入会话密钥nk和明文消息m,输出密文ct;
解密算法ske.dec(nk,ct)→m,输入会话密钥nk和密文ct,输出明文消息m。
3.可验证随机函数vrf,包括四个子算法:
便于系统中的用户共用系统公共参数,本方案在vrf模块中添加了初始化算法vrf.setup(1λ)→pp,输入安全参数λ,输出系统公共参数pp;
密钥生成算法vrf.keygen(pp)→(pk,sk),输入系统公共参数pp,输出公钥pk和私钥sk;
证明算法
验证算法
4.密钥导出函数kdf:
其次,我们给出一种云计算环境下的安全可控高效的数据共享系统及方法的通用构造。
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的通用构造,其特征在于,所述步骤a包括:
a1.选择输出长度
a2.选择安全参数λ和属性空间
a3.得到系统公共参数
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的通用构造,其特征在于,所述步骤b包括:
b1.执行vrf.keygen(pp2),生成数据拥有者公钥pk,以及数据拥有者私钥sk;
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的通用构造,其特征在于,所述步骤c包括:
c1.为拥有属性集合
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的通用构造,其特征在于,所述步骤d包括:
d1.执行
d2.执行vrf.prove(pp2,sk,m||ek),生成验证值
d3.执行
d4.执行
d5.得到文件原始密文
本发明使用vrf对“外包解密”计算的正确性进行验证,同时对数据来源进行认证(即步骤d2);相应地,使用ske对
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的通用构造,其特征在于,所述步骤e包括:
e1.执行abe.trans(pp1,tk,ctkem),生成封装密钥中间密文ct′kem;否则输出转换失败符号⊥,算法结束;
e2.得到文件中间密文
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的通用构造,其特征在于,所述步骤f包括:
f1.执行abe.dec(pp1,rk,ct′kem),得到解密封装密钥ek′;
f2.执行
f3.执行ske.dec(nk′,ctdem),生成
f4.执行
f5.得到消息m,或者输出错误信息。
最后,我们给出一种云计算环境下的安全可控高效的数据共享系统及方法的实例化构造。
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的实例化构造,其特征在于,所述步骤a包括:
a1.选择输出长度
a2.选取阶数为p的群
a3.得到系统公共参数
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的实例化构造,其特征在于,所述步骤b包括:
b1.选择随机元素
b2.得到数据拥有者公钥pk=yβ,以及数据拥有者私钥sk=β;
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的实例化构造,其特征在于,所述步骤c包括:
c1.为拥有属性集合
c2.计算k0=gα/γwr/γ,k1=gr/γ,以及对于j∈[k],计算
c3.得到数据消费者转换密钥
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的实例化构造,其特征在于,所述步骤d包括:
d1.将所需设置的访问控制结构
d2.选择随机元素
d3.使用数据生成者私钥sk=β,计算验证值
d4.计算加密会话密钥
d5.得到文件原始密文
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的实例化构造,其特征在于,所述步骤e包括:
e1.判断数据消费者转换密钥tk中的属性集合
e2.计算集合
e3.得到文件中间密文
作为本发明所述的一种云计算环境下的安全可控高效的数据共享系统及方法的实例化构造,其特征在于,所述步骤f包括:
f1.使用数据消费者恢复密钥rk=γ对文件中间密文tct中的封装密钥中间密文ct′kem进行解密,得到解密封装密钥
f2.计算解密会话密钥
f3.使用数据拥有者公钥pk=yβ对解密结果进行验证。如果
尽管为说明目的公开了本发明的具体内容、实施算法以及附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。