一种可外包多授权中心的属性基加密方法与流程

文档序号:22323810发布日期:2020-09-23 02:14阅读:727来源:国知局
一种可外包多授权中心的属性基加密方法与流程

本发明涉及网络信息安全领域,一种可外包多授权中心的属性基加密方法。



背景技术:

近年来,随着云计算的发展,数据的存储风险、使用风险、迁移风险、销毁风险、审计风险等一系列安全隐患随之浮现,引起人们对数据安全的担忧。其中最令人担忧的是,云服务提供商在利益的驱使下,假借其数据中心管理者的权限,泄露用户数据。因此,在不过度增加用户计算负担的前提下,保证数据在云服务器处的存储安全,成为一个十分紧迫且具有现实意义的课题。

为保证数据机密性,数据拥有者需要事先把数据加密成密文状态再上传云服务器,使得数据只能被指定的用户访问。一般的加密方法由数据拥有者使用指定用户的公钥加密数据,指定用户使用自己的私钥进行解密。这种加密方法要求数据拥有者在加密时即知道谁将要访问自己的数据。但是,在云计算环境中,用户规模庞大,数据拥有者往往无法事先知道谁需要访问自己数据。属性基加密(attribute-basedencryption,abe)则可以较好地解决该问题。属性基加密通过访问策略和属性集合之间的匹配关系来确认是否可以解密,数据拥有者只需要设置访问策略(或是建立属性集合),就可以实现一对多的密态数据共享模式,也避免了事先与数据访问者沟通,索要公钥进行加密。但是,目前的属性基加密存在两个问题。

一是,在以往提出的大多数abe系统中,用户的私钥都是由一个中央授权中心颁发的,该中央授权中心能够验证它为系统中每个用户颁发的所有属性。这样的系统适用于基于单个可信组织发布的属性的信息共享,但是,许多场景下,访问策略是由不同的可信组织发布的属性共同描述的,用户希望基于这样的策略共享数据。例如在商业应用中,波音公司和通用电气公司共同合作一个项目,此项目的数据仅能由具有波音公司颁发的“工程师”属性或通用电气公司颁发的属性“经理”的用户共享。对于此应用,使用当前的abe系统可能会出现问题。

二是,因为属性基加密方案应用了大量的双线性映射,而双线性对的计算比较消耗时间,所以随着属性基加密方案的访问结构逐渐复杂化,其解密计算量也呈线性增长,最终导致了终端的解密负荷加重。随着无线通信技术的发展和移动设备的普及,越来越多的用户使用移动终端接入云平台。相比台式电脑、服务器等固定终端,移动终端虽然便携性较好,但是其计算能力和存储资源都比较有限,难以承担较复杂的计算。因此,面对属性基加密方案越来越复杂的访问结构,其极速增长的解密计算量对移动终端设备无疑是一个巨大的挑战。



技术实现要素:

本发明提出了一种可外包多授权中心属性基加密方法,主要包括两大内容:

(1)基于不共谋的双服务器模型的外包计算和身份验证;

(2)基于无中央授权中心的多授权中心属性管理。

具体内容如下:

可外包多授权中心属性基加密方法包含以下十个算法:

(1)globalsetup(λ)→gp,全局初始化算法。输入安全参数λ,输出系统全局参数gp。系统选定一个阶为n=p1p2p3的合数阶双线性群g,其中参数λ是每个质数因子p1,p2,p3的比特长度。全局参数gp是n和的一个生成元g1两者组成。

(2)authoritysetup(aid,gp,{i})→skaid,pkaid,属性授权中心初始化算法。每个属性授权中心运行该算法,输入其身份认证aid,全局参数gp和该授权中心可授权的属性集合{i},输出该授权中心的公私钥对skaid,pkaid。属性授权中心将pkaid公布,将skaid私藏。在该算法中,对于每个隶属于授权中心aid的属性i,该授权中心随机选择两个质数αi,yi∈zn。对于作为公钥,{αi,yi}作为私钥。公钥公布,私钥{αi,yi}私藏。

(3)encrypt(m,(a,ρ),gp,{pk})→ct1,ct2,加密算法。数据拥有者输入明文m,lsss访问结构(a,ρ),全局参数gp,对应属性授权中心的公钥集合{pk},输出两个密文ct1、ct2,分别发送给云服务器1和2。其中,a是n×l的lsss访问矩阵,ρ将每一行映射到对应的属性。该算法生成一个随机数s∈zn,生成一个随机向量随机向量v的第一项是s,生成一个随机向量随机向量w的第一项是0。取ax为矩阵a的第x行,对每一个ax生成一个随机数rx∈zn,定义λx=ax·v,ωx=ax·ω。密文的生成操作如下:计算c0=me(g1,g1)s生成密文ct2,计算生成密文ct1。数据拥有者将密文ct1发送给云服务器1存储,将密文ct2发送给云服务器2存储。

(4)personalkeygen(gid,gp,i,sk)→personalkeyi,gid,个人密钥生成算法。用户向授权中心发出请求,属性授权中心运行该算法,输入用户的gid,全局参数gp,该授权中心所授予的属性i和对应私钥sk,输出用户gid对属性i的个人密钥发送给用户。

(5)keygen(gp,i,personalkey)→ki,gid,解密密钥生成算法。用户运行该算法,输入用户的gid,全局参数gp,某个授权中心所授予的属性i和个人密钥personalkeyi,gid,输出针对这个属性的解密密钥

(6)proxykeygen(ct1,{ki,gid},gp)→proxykey,代理密钥生成算法。用户运行该算法,输入要解密的文件的ct1,根据访问结构得出所需的解密密钥的集合{ki,gid},全局参数gp,输出代理密钥proxykey={touse,h(gid),{ki,gid}},发送给云服务器1。

(7)trans(ct1,proxykey,gp)→m',verifyproxy,外包解密算法。云服务器1根据代理密钥proxykey得到半解密密文m'和验证代理密钥verifyproxy。此外,云服务器

1还将touse打乱生成touse',从而产生云服务器2用来验证用户身份的验证代理密钥verifyproxy={touse',{ki,gid}}。半解密密文m'的计算利用了双线性映射的简单性质过程如下:

取常数,使得σxcxax=(1,0,...,0),则

(8)randomselect(verifyproxy)→select,随机选择算法。云服务器2从用户发送来的验证代理密钥verifyproxy中随机选择针对某个属性的解密密钥select=ki,gid,发送给用户。

(9)verify(personalkey,gp,select)→true/false,验证算法。云服务器2根据用户返回的personalkey中包含的ai和生成解密密钥如果k'i,gid=ki,gid,那么验证成功,云服务器2将ct2发送给用户,反之则失败。

(10)decrypt(m',ct2,gp)→m,本地解密算法。用户根据返回的m'和ct2再进行解密,得到明文

附图说明

图1为本发明工作流程图。

具体实施方式

本发明是一种可外包多授权中心属性基加密方法,具体步骤如下:

可外包多授权中心属性基加密方法包含五个实体,分别是属性授权中心(多个),数据拥有者,用户,云服务器1,云服务器2。

步骤一:系统初始化

系统初始化,运行全局初始化算法,每个用户分配到一个独一无二的身份标识gid。每个授权中心运行属性授权中心初始化算法,根据用户的标识gid,授予用户应有的属性,具体操作为,授权中心产生针对某个属性的公私钥对,将公钥公开,私钥私藏,并根据用户的gid运行个人密钥生成算法生成个人密钥发送给用户。用户根据个人密钥运行解密密钥生成算法生成针对该属性的解密密钥并储存。

步骤二:加密数据

当数据拥有者想要分享敏感数据时,数据拥有者执行加密算法将生成的两部分密文(密文1和密文2)分别上传至云服务器云服务器1和云服务器2中储存。

步骤三:外包解密和身份验证

当某个用户想要获取敏感数据时,首先向云服务器1发送访问请求,根据云服务器1返回的访问结构运行代理密钥生成算法生成代理密钥发送给云服务器1。然后,云服务器1运行外包解密算法返回半解密密文和验证代理密钥。随后,用户转发验证代理密钥给云服务器2,云服务器2运行随机选择算法选择一个解密密钥作为k发送给用户,用户返回生成该解密密钥的个人密钥。云服务器2利用接收到的个人密钥生成一个解密密钥k’,运行验证算法,如果k=k’,那么说明用户身份合法,云服务器2发送密文2给用户。

步骤四:本地解密

用户运行本地解密算法对半解密密文和密文2做运算,得到明文。

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