一种面向云存储基于smc的大数据共享方法

文档序号:9931090阅读:722来源:国知局
一种面向云存储基于smc的大数据共享方法
【技术领域】
[0001 ]本发明涉及云存储技术,具体涉及一种面向云存储基于SMC的大数据共享方法。
【背景技术】
[0002] 随着大数据时代的带来,数据正在呈现爆炸式增长。对于个人或者企业而言,存 储、计算性能有限的个人电脑、手机或者企业私有服务器已经不能满足需求。人们开始选择 将大数据存储到云。
[0003] 然而在云环境下,数据拥有者将数据上传给云服务提供商,为了保证敏感数据的 机密性,数据拥有者将数据加密后再上传给云服务提供商。加密虽然可以保证数据的机密 性,但却在一定程度上降低了云服务的质量。
[0004] 数据共享是云存储中一个非常重要的功能。为了减轻数据拥有者的工作量,数据 拥有者允许授权用户直接从云服务提供商端下载密文数据,并为特定的用户制定不同的解 密方案。但是数据拥有者必须为不同的用户制定不同的解密方案,且在这过程中可能泄露 数据拥有者的隐私。
[0005] 为了保护数据的机密性,防止不可信的CSP偷窥和分析数据,D0先将数据加密再上 传给CSP。为了将数据共享给特定的用户,D0必须为每个用户制定特殊的加密方案,再将解 密密钥分配给用户,但是这种方案下D0的加密开销非常大。
[0006] -种理想的方案是所有的数据统一加密,但为不同用户分配不同的密钥,且每个 用户只能解密他有权访问的数据。基于属性加密(Attribute-Based Encryption,ABE)又称 模糊的基于身份的加密(Fuzzy Identity-Based Encryption),是一种基于用户属性的加 密方案。ABE有两个重要的分支:密钥策略的基于属性加密(Key-Policy Attribute-Based Encryption,KP_ABE)和密文策略的基于属性加密(Ciphertext-Policy Attribute-Based Encrypt ion,CP-ABE)。无论是KP-ABE还是CP-ABE,都包括四个主要过程初始化、加密、密钥 生成和解密。在密钥生成过程中,ABE要求D0针对用户的不同属性,为每个用户生成不同的 密钥,因此,D0在整个数据共享过程中必须一直保持在线,且D0的开销比较大。
[0007] 另一种能有效地实现云环境下大数据共享的方案是代理重加密(ProxyRe-£11(3巧口^〇11,?1^)。我们通过一个简单地例子来介绍?1^ :411〇6用她的公钥?1^加密了她的 照片,并通过安全信道上传给一个不完全信任的CSP。当她出差不在时,她想要将他的照片 共享给她的好朋友Bob,Bob的公钥是PK B,但是Alice又不想将她的私钥SKa泄露给BokPRE允 许A1 ice提供一个重加密密钥RKa-B给CSP,CSP可以用RKa-B重新加密PKa加密后的密文,并将 密文转变成可以用Bob的私钥SK B解密的密文,且在这个过程中不会暴露机密数据和任何有 关私钥SKa和SKB的任何信息。但在PRE中,D0需要为不同的用户生成不同的重加密密钥RK,D0 的通信和计算开销较大。
[0008] D0将加密的数据上传到CSP,合法的用户可以获取密钥解密数据得到明文值。但是 一般的数据共享都是将数据整体加密,然后共享给User,这种做法很容易暴露D0的隐私。为 了解决这个问题,Cheng-Kang Chu等人提供了一种云存储中可扩展的数据共享方案(下面 简称Key-Aggregate),方案允许DO对数据进行分块加密存储。为了避免暴露DO的隐私和额 外的信息,Key-Aggregate方案将多个分块的加密密钥聚合成一个固定大小的聚合密钥,发 送给用户,这样既保护了 DO的隐私,又在一定程度上减少了 DO和User之间的通信开销。在 Key-Aggregate方案中,DO需要为不同User的不同数据共享请求生成不同的聚合密钥,因此 DO的通信开销和计算代价都比较大。

【发明内容】

[0009] 发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种面向云存储 基于SMC的大数据共享方法,本发明提供的方法是建立在加密方案之上的,对加密的密钥执 行基于SMC的大数据共享方案,既可以实现秘密共享,又可以让D0从数据共享的大量工作中 脱离。
[0010] 技术方案:本发明所述的一种面向云存储基于SMC的大数据共享方法,依次包括以 下步骤:
[0011] (1)初始化:D0完成对数据的加密和上传、AA初始化和用户注册;
[0012] ⑵秘密分割:D0通过(2,3)门限秘密共享方案将秘密分成 三份:k(w、Kf0和, 其中发送给AA暂为保存、Kf'sy发送给CSP、D0存储Kfh其中,即KiEK,l < i <n;
[0013] (3)查询:User共享数据。
[0014]进一步的,所述步骤(1)的具体过程为:
[0015] (1-1 )D0首先用现有的加密算法(例如SDB和保护加密等)加密数据并将密文上传 给CSP,D0为每个密钥KiEK生成一个Key ID、对应的Sub-Key IDs以及访问权限树T;
[0016] (1_2)AA初始化,D0将用户访问控制表发送给可信的属性认证机构AA,用户访问控 制表中包含Key ID和访问权限树T;
[0017] (1-3)用户注册,允许用户1]1向0六发送注册申请,CA为每个用户仏分配一个唯一的 身份Uidi,CA向AA发出属性注册请求,AA根据用户的角色或者身份来分配属性集Si给用户 Ui,并将属性集返回给CA,CA生成包含用户身份的Uidi和属性集Si的证书Ce% (,幻,CA 将证书通过安全通道发送给用户U。
[0018] 进一步的,所述步骤(2)中,对于Ki,参与者集合?={1]861〇3?,00}的秘密分割分 为以下三个步骤:
[0019] (2-l)D0将所有密钥KleK编码成ACSII码,这样做的目的为了满足所有数据类型 的数据;
[0020] (2-2)设t = 2,n = 3,确定一个三维的矢量X= {xi,X2,X3},D0将Xi分配给piEP,且xi 的值是公开的;
[0021 ] (2-3 )D0随机地选择一个系数ai,则三个一次多项式Pi (x)分别定义为Pi (x) =aixi+ ao,P2(x) = aiX2+ao,P3(x) = aiX3+ao,多项式的值即为分割后的子秘密Sub-Key; DO为每个 Sub-Key随机生成一个Sub-Key ID,并建立索引表,将其中两个Sub-Key和Sub-Key ID随机 地分配给CSP和User,而User的Sub Key由AA暂存,DO将索引表发送给CSP。
[0022]进一步的,所述步骤(3)中User共享数据的具体过程为:
[0023] (3-1)用户User发送查询请求Query给CSP;
[0024] (3_2)CSP收到请求后,针对Query涉及数据的密钥集合QK,查询索引表后,将包含 Ki的Key ID和Sub-Key IDs的属性验证请求发送给AA;
[0025] (3-3) AA查询UACL表验证用户属性,如果用户属性合法,那么AA将kf 〃发送给用户 User,并将验证结果发送给CSP;
[0026] (3-4)如果CSP收到的是属性验证通过,那么CSP将密文数据和Sub-Key IDs对应的 k厂sp发送给User;如果收到的是不通过,那么CSP返回用户属性不合法;
[0027] (3-5)11861'收到1<:严*1和1<:尸1>后利用]^^抑1^6插值函数计算出1^,1]861'将1^的六3〇11 码翻译成明文值。
[0028]进一步的,所述步骤(3-3)中,AA查询用户访问控制表验证用户属性时,判断其属 性是否满足对应的权限访问树T,用户访问控制表中每个密钥都与权限访问树T关联,T的根 节点为T;具体验证步骤如下:
[0029] (3-3_1)如果1是1'的叶子节点,那么判断51是否属于属性集5,如果5; :运1则 rT(r) = o;如果 Sles,则以丫)二 1;
[0030] (3-3-2)如果x不是T的叶子节点,那么,先计算L(T),其中V是x的子节点,rT(T)返 回1当且仅当至少k x个子节点返回1;
[0031] (3-3-3)如果2;(丫) = 1,那么用户User合法;如果!;〇〇 = 0,那么用户User不合法。
[0032] 进一步的,所述步骤(3-5)中,User收到KflPK厂后,若满足门限值2则恢复密钥 Ki;
[0033] 假设矢量X= {XI,X2,X3},XI、X2和XB均是随机生成,例如XI = 20,X2 = 10,X3=30,User持有 X1,CSP持有X2,D0持有x3,User持有两个多项式的值Kf 〃 =汽x)lte = = P(#sp = f, 那么根据下式可以得到^的解为:
[0035]有益效果:本发明既能够允许User直接从CSP端获取共享数据,并且极大程度地减 轻D0在数据共享过程的工作量;方法还能对User的属性进行验证,以确保合法User才能获 取数据。
【附图说明】
[0036]图1为实施例中访问权限树T的示意图;
[0037]图2为实施例系统架构图;
[0038]图3为实施例的初始化和秘密分割阶段流程图,其中,步骤1-6为初始化阶段、步骤 7-9为秘密分割阶段;
[0039]图4为实施例中查询阶段架构图;
[0040] 图5为实施例中查询阶段的流程图。
【具体实施方式】
[0041] 下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施 例。
[0042] 本发明的面向云存储基于SMC的大数据共享方法包括以下三个阶段:
[0043] (1)初始化:D0完成对数据的加密和上传、AA初始化和用户注册。
[0044]如图3所示,(1-1 )D0首先用现有的加密算法加密数据并将密文上传给CSPJ0为每 个密钥heK生成一个Key ID、对应的Sub-Key IDs和访问权限树T。
[0045] (1-2 )AA初始化。D0将用户访问控制表(UACL)发送给可信的属性认证机构AA,UACL 见表1所示,UACL包含了Key ID和访问权限树T;其中,访问权限树T定义了密钥的访问结构。 假设密钥^的访问权限树h如图1所示,那么用户仏的属性si须满足 D}或Si={E,F},才能恢复h的值。
[0047] (1-3)用户注册。系统允许用户U^CA发送注册申请,CA为每个用户U分配一个唯 一的身份Uidi,CA向AA发出属性注册请求,AA根据用户的角色
[0048] 或者身份来分配属性集&给用户U,并将属性集返回给CA,CA生成包含用户身份的 UicU和属性集&的证书^^^(^/^,^,(^将证书通过安全通道发送给用户山。
[0049] (2)秘密分割:D0通过(2,3)门限秘密共享方案将秘密(即KiEK)分成三份: K广、和,其中忙广'发送给AA暂为保存、发送给CSP、自己存储。对于Kl,参 与者集合P = {Us er,CSP,D0}的秘密分割分为以下三个步骤:
[0050] (2-l)D0将所有密钥KleK编码成ACSII码(图2中的翻译器编码)。这样做的目的为 了满足所有数据类型的数据。
[0051 ] (2-2)设我们设t = 2,n = 3。确定一个三维的矢量X= {xi,X2,X3}。00将Xi分配给P
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1