发明内容
本发明要解决的技术问题是克服现有的缺陷,提供了一种云中基于内容共享策略的方案,不仅针对已注册用户,也可用于未注册用户,满足了用户的需求,节省了用户宝贵的时间。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明提供一种云中基于内容共享策略的方案,包括数据所有者即Owner、用户即Usrs、认证提供者即IdPs与云存储服务即Cloud,用户双向连接认证提供者;数据所有者双向连接用户;所述云存储服务双向连接数据所有者,所述云存储服务单向连接用户。
一种云中基于内容共享策略的方案,包括如下步骤:
步骤一、所述用户将身份属性反馈至认证提供者;
步骤二、所述认证提供者将身份标识反馈至用户;
步骤三、所述用户将注册身份标识反馈至数据所有者;
步骤四、所述数据所有者将保密信息反馈至用户;
步骤五、所述数据所有者将注册身份标识选择性加密并上传至云存储服务;
步骤六、所述云存储服务对下载信息进行再次加密;
步骤七、所述用户对从云存储服务下载的信息进行解密。
进一步地,所述身份标识为指定电子形式的用户身份。
进一步地,所述身份标识通过语义安全密码识别。
一种云中基于内容共享策略的方案,包括如下流程:
步骤一、身份标识发布;
步骤二、身份标识注册;
步骤三、文件管理。
进一步地,所述步骤一认证提供者发布用于公认的身份属性作为用户身份标识,一个身份标识是一个指定电子形式的用户身份,在这个形式中,语义安全密码承诺(此承诺允许一个用户承诺一个值,同时保持它隐藏并且保证用户以后才有能力泄露承诺值)代表涉及的身份属性值。
进一步地,所述步骤二为了能够解密从云端下载的文件,用户在数据所有者处注册。
进一步地,在注册期间,每个Usr提供他们的身份标识并且接收到来自Owner的基于ACV-BGKM方案SecGen算法的身份属性的私钥集。如果他们满足ACV-BGKM方案KeyDer算法的访问控制策略,这些私钥以后将被Usrs用来得到解密子文档的解密密钥。Owner使用基于遗忘承诺信封协议(OCBE)来将私钥发送给Usrs。当且仅当Usr承诺的身份属性值(在Usr的身份标识范围内)满足Owner的访问控制策略的匹配条件时,OCBE协议确保Usr能够获得私钥。同时,Owner不能了解到关于身份属性值的情况。Owner不仅不了解Usr身份属性的真实值,也不了解哪些策略条件被Usr认证了。因此,Owner不能推出Usr身份属性值。因此,在我们的方案中Usr的隐私得到保护。后文我们将对OCBE协议进行更加详细的描述。
进一步地,所述步骤三Owner将acps变成策略配置群组。
进一步地,所述步骤三将文件根据策略配置群组被分解为子文件。
Owner在每个PC上使用ACV-BGKM的KeyGen算法来生成基于acps的密钥,并且选择性加密子文件。这些加密的子文件将上传到云端。Usr从云端下载加密的子文件。ACV-BGKM方案的KeyDer算法允许Usr,以一种安全高效的方式利用他们的私钥,得到一个给定PC的密钥K。在这个方案中,我们的方法高效处理添加新用户及其撤销,提供正/反向私密性。***设计保证了,acps能够灵活地更新并且由Owner执行,同时提供给Usr的信息没有任何改变。
一种云中基于内容共享策略的方案,具有最小信任,需要GKM方案将信任放在少量的实体上。密钥隐藏,给出的***息,对于群组外的任何人很难获得共享群组密钥。理论上,密钥空间的每个元素有同样的可能性成为真正的密钥。密钥独立性,一个密钥的泄露不损害其它密钥。反向保密,群组中的现有成员无法访问任何未来的群组密钥。正向保密,新加入的成员不能访问任何以前的密钥。合谋抵御,密谋不诚实的用户集不应该获得不允许他们获得的密钥。高效性,高效的处理了用户的加入和离开保证。细粒度访问控制,基于属性的访 问控制策略进行有选择的共享文件。
实施例一
如图1所示为一种云中基于内容共享策略的方案,包括数据所有者1即Owner、用户2即Usrs、认证提供者3即IdPs与云存储服务4即Cloud,用户2双向连接认证提供者3;数据所有者1双向连接用户2;所述云存储服务4双向连接数据所有者1,所述云存储服务4单向连接用户2。
一种云中基于内容共享策略的方案,包括如下步骤:
步骤一、所述用户2将身份属性反馈至认证提供者3;
步骤二、所述认证提供者3将身份标识反馈至用户2;
步骤三、所述用户2将注册身份标识反馈至数据所有者1;
步骤四、所述数据所有者1将保密信息反馈至用户2;
步骤五、所述数据所有者1将注册身份标识选择性加密并上传至云存储服务4;
步骤六、所述云存储服务4对下载信息进行再次加密;
步骤七、所述用户2对从云存储服务4下载的信息进行解密。
进一步地,所述身份标识为指定电子形式的用户2身份。
进一步地,所述身份标识通过语义安全密码识别。
一种云中基于内容共享策略的方案,包括如下流程:
步骤一、身份标识发布;
步骤二、身份标识注册;
步骤三、文件管理。
所述步骤一认证提供者发布用于公认的身份属性作为用户身份标识,一个身份标识是一个指定电子形式的用户身份,在这个形式中,语义安全密码承诺(此承诺允许一个用户承诺一个值,同时保持它隐藏并且保证用户以后才有能力泄露承诺值)代表涉及的身份属性值。
所述步骤二为了能够解密从云端下载的文件,用户在数据所有者处注册。
在注册期间,每个Usr提供他们的身份标识并且接收到来自Owner的基于ACV-BGKM方案SecGen算法的身份属性的私钥集。如果他们满足ACV-BGKM方案KeyDer算法的访问控制策略,这些私钥以后将被Usrs用来得到解密子文档的解密密钥。Owner使用基于遗忘承诺信封协议(OCBE)来将私钥发送给Usrs。当且仅当Usr承诺的身份属性值(在Usr的身份标识范围内)满足Owner的访问控制策略的匹配条件时,OCBE协议确保Usr能够获得私钥。同时,Owner不能了解到关于身份属性值的情况。Owner不仅不了解Usr身份属性的真实值,也不了解哪些策略条件被Usr认证了。因此,Owner不能推出Usr身份属性值。因此,在我们的方案中Usr的隐私得到保护。后文我们将对OCBE协议进行更加详细的描述。
所述步骤三Owner将acps变成策略配置群组。
所述步骤三将文件根据策略配置群组被分解为子文件。
Owner在每个PC上使用ACV-BGKM的KeyGen算法来生成基于acps的密钥,并且选择性加密子文件。这些加密的子文件将上传到云端。Usr从云端下载加密的子文件。ACV-BGKM方案的KeyDer算法允许Usr,以一种安全高效的方式利用他们的私钥,得到一个给定PC的密钥K。在这个方案中,我们的方法高效处理添加新用户及其撤销,提供正/反向私密性。***设计保证了,acps能够灵活地更新并且由Owner执行,同时提供给Usr的信息没有任何改变。
(1)身份标识发布
IdP执行Pedersen承诺的setup算法来生成***参数Param=<G,g,h>。IdP发布有限群G的阶p和Param,还有数字签名算法使用的公钥。IdP利用这些参数来给Usrs发布身份标识。我们假设IdP首先检查Usrs拥有的身份属性的有效性。Usrs将他们的身份属性给IdP,获得的身份标识如下:对于每个Usr的身份属性,IdP以标准方式编码身份属性值x∈IFp,并且发布给Usr。身份标记是由元组来表示的:
T T=(nym,id-tag,c,σ)
这里nym是一个假名,在***中唯一可以辨认Usr;id-tag是在考虑之内的身份属性标签;c=gx hr是值x的一个Pedersen承诺;σ是IdP对nym、id-tag、c的数字签名。IdP将x、r的值给Usr私用。我们要求同一用户的所有算法标识应该是同样的nym,这是为了Usr和他的身份标识能够唯一匹配一个nym。一旦身份属性发布,Usrs利用标识来证明Pub 的acps的可满足性;Usrs保持他们的身份属性值隐藏,并且在交互时不会泄露。
假设一个叫Bob的Usr提交他的驾驶证给IdP来获得他年龄的一个身份标识。IdP分配给Bob一个pn-1492的假名。IdP从Bob驾驶证的出生日期可以得到Bob的年龄x=28。IdP随机选择一个值r=9270并且计算一个Pedersen承诺c=gx hr。IdP数字化签名包含Bob假名、年龄标签和承诺c的信息。Bob从IdP接收的身份标识可能如下形式:
T T=(pn-1492,age,6267292101,949148425702313975)
(2)身份标识注册
我们假设Owner定义了一个acps集,表示为ACPB,详细说明了哪些子文件经过Usrs授权可访问的。acps正式的定义如下:
定义7.(Attribute Condition):一个Attribute Condition cond是“nameA op l”形式的一个表达。nameA是身份属性A的名字,op是一个比较操作符,例如=,<,>,≤,≥,≠;l是可以根据属性A假设的值。
定义8.(Access Control Policy)一个访问控制策略(acp)是一个元组(s,o,D),o表示文件D的部分集(子文件){D1,…,Dt};s是属性条件cond1,…,condn的一个布尔式,Usr必须满足这些属性条件才可以访问o。
例2.acp(”level≥58”∧”role=nurse”,{physical exam,treatment plan},”EHR.xml”)
上面式子描述了Usr的level不低于58并且拥有护士职位才可以访问EHR.xml的子文件”physical exam,treatment plan”。
不同的acps能够应用到同样的子文件,因为这些子文件可以被不同类别的Usrs访问。我们用PC表示应用于一个子文件的acps集。
定义9.(PC)文件D的子文件D1的一个PC是一个策略集{acp1,…,acpk},acpi是一个acp(s,o,D);i=1,…,k;D1∈o。
在D中有多个子文件,这些子文件拥有同样的PC。对于D的每个PC,Owner随机选择一个密钥K给对称密钥加密算法(AES),并且利用K加密和这个PC相关的所有子文件。因此,如果一个Usr满足acp1,…,acpm,Owner必须确保Usr能够得到解密这些子文件的所有对称密钥,至少包含一个acpi(i=1,…,m)的PC应用于这些子文件。
我们基于ACV-BGKM方案的,实际的对称密钥不是伴随加密好的文件一起传输的,Usr 必须在Owner处注册它的身份标识,从而由在云端存储的PI来得到对称加密密钥。ACVBGKM方案的SecGen算法和OCBE技术以隐私保护的方式被用于注册用户身份标识。在注册过程中,Usr接收到一个私钥集,这是基于身份属性名的,在身份标识中对应于属性名。注意私钥是Owner基于身份属性名而不是它们的值来生成的。因此,Usr可以接收到私钥的加密集,Usr的身份属性不满足这个集合中的一个值。然而,在这种情况下,Usr将不能从传输这些私钥的信息中提取出私钥。特定的私钥会被Usr用来计算特加密文件的特定子文件的对称解密密钥,正如文件管理阶段讨论的一样。私钥的传输以,Usr能够正确接收到私钥,当且仅当Usr有一个身份标识,这个身份标识承诺的身份属性值满足Owner的acp的属性条件。然而,Owner不了解任何关于Usr身份属性值的信息,也不知道Usr是否能够获得CSS。
为了使用户能够注册,Owner首先选择OCBE参数:一个l’位的质数q,一个密码学哈希函数H(.),这个函数的输出位长度不小于1’,和一个l’位密钥长度语义安全对策密钥加密算法。Owner发布这些参数。同时,Owner也构建一个n个叶子节点的子集覆盖树,n个叶子节点对应于acps中的每个Usr的不同的属性条件。设SCj是属性条件condj的子集覆盖。然而对于一个ACPB的acp,拥有假名nymi的Usri想要满足这个acp,Usri选择和注册一个身份标识T T=(nymi,id-tag,c,σ),这是关于acp中每个属性条件condj。我们注意到,仅仅因为Usri的身份标识满足的属性条件,Usri没有进行注册。为了保护隐私,Usri为更多的属性条件注册了身份标识,而且他的身份属性名字和属性标识中包含的id-tag相匹配。以这种方式,Owner无法根据Usri的注册推断出哪些条件是Usri真正感兴趣的。这些方法大大降低了由于内部人员的威胁造成的身份属性泄露。
Owner检查id-tag和condj中的身份属性名字是否匹配,并且利用IdP的公钥来核实IdP的签名σ。如果上面的步骤任一个失败了,Owner就中止交互。否则,Owner从子集覆盖SCj中为Usri选择对应的私钥。Owner然后开始一个OCBE会话作为一个寄件人S来忘地传输这些私钥给Usri,Usri是作为接受者R。Owner保持个矩阵T存储是否私钥传输给每个condj对应的Usri。只要OCBE会话完成,Owner执行下面操作:
如果nymi在矩阵中不存在,首先为它添加一行。
分别用nymi和condj设置T的ri,j单元
我们注意到所有私钥是独立的,因此上面的私钥传输过程可以并行执行。Owner用矩阵T来执行ACV-BGKM方案的KeyGen算法。
(3)文件管理
Owner加密拥有相同PC的所有子文件适用相同的对称密钥。因此,Owner为每一个PC 执行ACV-BGKM的KeyGen算法。对于一个给定的PC,Owner首先以下面作为认证私钥的考虑:
Owner首先将每个acp转换为分离的标准形式。对于每一个唯一的合取项,它执行剩余步骤。
在前一步的最后,Owner拥有满足PC的Usrs的列表,他们和每个适当条件condj的子集覆盖SCi相联系。Owner在每个SCi中认证覆盖(covers),并且私钥和覆盖相一致。Owner通过联系私钥和相似的合取项的条件来聚集,从而为每个满足合取项的用户生成单个私钥。例如,如果合取项是cond1∧cond3并且Usr5满足这个项,Owner分别为Usr5从SC1和SC3中获得覆盖私钥s1、s3。生成的私钥是s1||s3。
由上面算法生成的私钥集作为KeyGen算法的输入,这个算法生成***息PI和对称群组密钥k。Owner创建一个***息元组的索引并且和加密子文件相关联,上传到云服务器。
如果假名为nymi的Usr想看子文件D1,首先下载加密好的子文件和PI。然后选择一个它满足的acpk并且利用KeyDer算法得到密钥。
现在,我们我们看看***如何处理动态天剑/撤销证书和acp更新的。
当一个新用户Usr在Owner出注册,Owner传输一致的私钥给Usr,并且更新矩阵T。Owner然后利用Update算法对所有涉及的子文件执行重定密钥过程。当Owner上传新文件时,同时也上传了跟新了的PI索引。
在证书撤销期间,在什么条件下Usr需要被撤销的条件超出了本文的范围。我们假设当假名为nymi的Usr被从满足条件condj的用户中撤销,Owner将会得到通知。在此情况下,Owner仅仅重置矩阵T中的ri,j值,同时为所有相关子文件执行一次重定密钥过程。允许特定的私钥从T中删除,保证了有规则的用户管理。
一个Usr的证书因为各种原因将会随时更新,例如升级、职责变化等等原因。因此,假名为nymi的Usr提交更新过的证书condj给Owner。Owner仅仅重置以前的ri,jentry并且在矩阵T中重新设置一个entry,并且仅为涉及的子文件执行重定密钥过程。
在新subscription的所有情况中,证书撤销、证书更新和subscription撤销,重定密钥过程除了那些身份属性的添加、更新和撤销外没有增加任何开销,Usr不需要直接和Owner进行通信来更新私钥。新的加密解密密钥能够通过存储在云端的原始私钥和更新的公开值来得到。使用公开值得到加密解密私钥的能力是在subscription处理得以透明的关键点。大多数现有的GKM方案没有能够实现这个目标
一种云中基于内容共享策略的方案,具有最小信任,需要GKM方案将信任放在少量的实体上。密钥隐藏,给出的***息,对于群组外的任何人很难获得共享群组密钥。理论上,密钥空间的每个元素有同样的可能性成为真正的密钥。密钥独立性,一个密钥的泄露不损害 其它密钥。反向保密,群组中的现有成员无法访问任何未来的群组密钥。正向保密,新加入的成员不能访问任何以前的密钥。合谋抵御,密谋不诚实的用户集不应该获得不允许他们获得的密钥。高效性,高效的处理了用户的加入和离开保证。细粒度访问控制,基于属性的访问控制策略进行有选择的共享文件。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。