首页> 中国专利> 一种基于属性集及关系谓词的加密系统及访问控制方法

一种基于属性集及关系谓词的加密系统及访问控制方法

摘要

本发明公开了一种基于属性集及关系谓词的加密系统及访问控制方法。本方法为:1)根据给定的安全参数k,输出安全加密系统的公钥mpk和主密钥msk;2)对于每一给定属性集,通过msk生成该属性集的公钥pki和私钥ski,并将pki加入到mpk中、ski添加到msk中;其中,具有相同性质的属性或标识位于同一数据集中;3)根据用户输入的身份属性值列表为该用户生成一私钥sk(k);4)根据mpk和访问策略对该数据资源M进行加密,得到密文CΠ;5)系统根据该用户输入的身份属性值列表判断该用户是否能够访问该数据资源M,如果能够访问,则根据该用户的用户私钥对CΠ进行解密。本发明大大提高了访问控制的安全性和访问效率。

著录项

  • 公开/公告号CN105635135A

    专利类型发明专利

  • 公开/公告日2016-06-01

    原文格式PDF

  • 申请/专利权人 北京科技大学;

    申请/专利号CN201511000960.9

  • 发明设计人 朱岩;路红英;

    申请日2015-12-28

  • 分类号H04L29/06(20060101);H04L9/30(20060101);H04L9/08(20060101);

  • 代理机构北京君尚知识产权代理事务所(普通合伙);

  • 代理人司立彬

  • 地址 100083 北京市海淀区学院路30号

  • 入库时间 2023-12-18 15:33:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-25

    授权

    授权

  • 2016-06-29

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20151228

    实质审查的生效

  • 2016-06-01

    公开

    公开

说明书

技术领域:

本发明涉及信息技术领域,特别涉及一种基于属性集及关系谓词的加密系统及访 问控制方法。

背景技术:

随着网络技术的发展,越来越多的新型网络形态和系统纷纷涌现,包括:物联网、 移动互联网、云计算、服务计算等,其特点是数据日趋繁杂巨大、开放性日益扩大、数据流动 性增加,这也导致了一些新的网络安全问题,特别是用户数据和信息的隐私保护与共享问 题。一方面我们开放的网络促使信息的交换和共享更加便利,另一方面,不受控制的信息交 换与共享必然带来一系列的数据滥用、侵权等非法行为。

传统的网络技术,特别是加密和认证技术已经不能满足现有网络的需要,主要是 开放性的增加,使得传统的保护边界消失;同时,数据共享范围的增大,传统密码体制也无 法满足大范围信息共享的需要。由此可知,传统密码学技术已经无法解决前述安全问题。因 此,如何同时实现数据的隐私保护与有效信息共享,已经成为互联网迫切需要解决的核心 问题。

访问控制是实现用户数据机密性和进行隐私保护的重要手段。为了解决上述问 题,一种被称为“属性基加密”的新型密码访问控制技术已经被提出。所谓属性基加密就是 指一种将用户的身份表示为一个属性集合,而加密数据则与访问控制结构相关联,一个用 户能否解密密文,取决于密文所关联的属性集合与用户身份对应的访问控制结构是否匹 配。具体而言,属性基加密具有如下性质:

1)采用一组“属性”进行访问主体的表示;

2)采用面向属性的灵活策略进行授权判定;

3)通过支持属性策略的加密方法实现数据保护;

4)通过分配用户属性密钥实现授权;

5)通过属性密钥与密文访问策略的匹配实现解密与否的判定。

属性基加密本质是一种访问授权与认证服务技术,保证非授权用户没有资格访问 特定的数据。属性基加密属于公钥加密机制,其面向的解密对象是一个群体,而不是单个用 户,它使用群体的属性组合作为群体的公钥,所有用户向群体发送数据使用相同公钥。

例如,一个属性基加密的访问策略为(“北京大学”OR“北京科技大学”)AND“2015 年”AND“学位委员会”AND(NOT“生物学院”ANDNOT“化学学院”)

现有的属性基加密都是采用字符串来生成访问策略,所有属性都是孤立的,不能 定义属性彼此之间关系,同时支持AND、OR和简单非逻辑。其实现是采用严格的字符串匹配 方式,即用户只拥有一组字符串作为属性标识。

由上例可知,现有属性基加密存在以下问题:

1)不支持同类属性构成的“属性集合”概念,而是所有属性均采用字符串表示;

2)不支持集合上的“属于”和“不属于”操作,只支持等于操作。

针对目前属性基加密存在的上述问题,本发明提出了一种支持“属性集合”概念和 密码学上的属性集合操作。具体专利内容简介如下:

1)支持属性集的概念,即同类型的属性值构成一个集合;

2)不限制集合的规模,比如全球所有城市构成“城市”集,每个城市称为一个属性 值,可以用字符串、数字等加以表示;

3)支持集合值之间“属于”、“不属于”、“等于”、“不等于”等操作。

本发明是对现有属性基加密功能的一种巨大改进。例如,在上面例子中,我们可以 建立下面属性值的集合:

大学名:={……,“北京大学”,“北京科技大学”,“清华大学”,……},

部门:={……,“生物学院”,“化学学院”,“信息学院”,……},

年份:={……,2013,2014,2015,2016,……},

角色:={……,“教授会”,“学术委员会”,“学位委员会”,……}。

与此相应的,我们可以为任何资源(包括文件、存储空间、网络信道、进程等)重新 定义上述安全策略为

(大学名∈{“北京大学”,“北京科技大学”}AND年份=2015AND角色=“学位委员 会”AND部门{“生物学院”,“化学学院”})。

通过上述定义,假设一个用户具有如下身份属性:{大学名:=“北京科技大学”,年 份:=2015,角色:=“学位委员会”,部门:=“信息学院”},这表示该用户在2015年任职于北 京科技大学的数学学院,并且是学位委员会委员。显然,该用户的身份可以通过上述安全策 略的认证,因此,将被允许访问由上述策略加密的资源。

显然,我们的方法能够产生更加简单清晰的安全策略表示,同时,AND/OR操作数目 由原来的5个减少到3个,属性值比较由原来的6个减少到了4个。因此,计算量上也有显著的 降低。鉴于近年来新的网络应用中的安全问题和需求日益引起广泛关注,所发明装置对于 解决对于互联网和通信技术的发展必然产生巨大推进作用。

发明内容:

针对现有技术中存在的技术问题,本发明的目的在于提供一种基于属性集及关系 谓词的加密系统及访问控制方法。

本发明的技术方案为:

一种基于属性集及关系谓词的加密系统访问控制方法,其步骤为:

根据给定的安全参数k,输出安全加密系统的公钥mpk和主密钥msk;

2)对于每一给定属性集Ai={vi1,...,vim},通过主密钥msk生成该属性集的公钥 pki和私钥ski,并将公钥pki加入到公钥mpk中、私钥ski添加到主密钥msk中;其中,具有相同 性质的属性或标识位于同一数据集中,每个属性集具有一唯一名称,在属性集里的每个属 性或标识称为一属性值,vim为第i个属性集Ai中的第m个属性值;

3)根据用户输入的身份属性值列表Φ={vij∈Ai}为该用户生成一用户私钥sk(k)

4)为数据资源M设置一访问策略∏;根据步骤2)中的公钥mpk和该访问策略Π对该 数据资源M进行加密,得到密文CΠ;其中,访问策略Π中含有若干子集Si和对应二元关系谓 词且Si为Ai的子集;

5)当一用户要求访问该数据资源M时,安全加密系统根据该用户输入的身份属性 值列表判断该用户是否能够访问该数据资源M,如果能够访问,则根据该用户的用户私钥对 该密文CΠ进行解密,输出明文M;否则输出空。

进一步的,生成所述用户私钥sk(k)的方法为:对于用户uk,首先生成该用户的主私 钥usk(k);然后对于该用户在身份属性值列表Φ={vij∈Ai}中的任意属性值vij∈Ai,生成对 应的用户属性值密钥vskij,得到该用户私钥Ai为该用户uk的属 性集。

进一步的,判断该用户是否能够访问该数据资源M的访问策略∏的方法为:将该用 户输入的身份属性值列表Φ和该数据资源的访问策略∏作为二元关系谓词的输入,如果二 元关系谓词的判定输出结果为真,则判断该用户是否能够访问该数据资源M,否则不能够访 问。

进一步的,对于访问策略中的逻辑非,利用摩尔定律将逻辑非转化为二元关系谓 词中的否定谓词,得到布尔代数逻辑表示的访问策略。

进一步的,所述密文是包含二元关系生 成的子密文。

一种基于属性集及关系谓词的加密系统,其特征在于,包括系统密钥生成模块、属 性集合密钥生成模块、用户密钥生成模块、加密模块和解密模块;其中,

所述系统密钥生成模块,用于根据给定的安全参数k,输出安全加密系统的公钥 mpk和主密钥msk;

所述属性集合密钥生成模块,对于每一给定属性集Ai={vi1,...,vim},通过主密钥 msk生成该属性集的公钥pki和私钥ski,并将公钥pki加入到公钥mpk中、私钥ski添加到主密 钥msk中;其中,具有相同性质的属性或标识位于同一数据集中,每个属性集具有一唯一名 称,在属性集里的每个属性或标识称为一属性值,vim为第i个属性集Ai中的第m个属性值;

所述用户密钥生成模块,用于根据用户输入的身份属性值列表Φ={vij∈Ai}为该 用户生成一用户私钥sk(k)

所述加密模块,用于根据数据资源M的访问策略∏和公钥mpk对该数据资源M进行 加密,得到密文CΠ;其中,访问策略Π中含有若干子集Si和对应二元关系谓词且Si为Ai的子集;

所述解密模块,用于根据访问用户输入的身份属性值列表判断该用户是否能够访 问要访问的数据资源M,如果能够访问,则根据该用户的用户私钥对该密文CΠ进行解密,输 出明文M;否则输出空。

本发明涉及一种基于属性集合的加密系统,简称为属性集加密系统。该系统的一 个特征是能够支持属性集的概念,即具有相同性质的属性或标识被整合为一个集合。每个 属性集有一个唯一名称,被称为“属性名”。系统中能够支持不限元素个数的属性集。在属性 集里的每个属性或标识被称为一个“属性值”。通常,我们用大写字母U={e1,...,en}表示属 性集,ei表示属性值。

本发明的一个特征是提供一种安全成员关系判定方法。该方法能够使用一种密码 学方式对给定的集合S与元素e之间的成员关系进行判定,这种成员关系包括:属于关系、不 属于关系。这种成员关系采用二元谓词加以表示,其中也就表示对e∈S或 的判定。下面将采用上述表示进行方法描述。

具体而言,如图1所示,本发明对的安全成员关系判定方法包括如下步骤:

①属性值密钥生成模块:给定任意属性集合Ui={e1,...,en},根据安全参数κ,生 成公钥pki,私钥ski,角标i表示集合或密钥的序号。

②子集表示生成模块:给定集合U的任意子集S={e1,...,em},由公钥pki得到集合 S的安全表示CS

③元素提取模块:给定U集合内的一个属性元素e作为输入,从私钥ski中提取元素 e,从而得到We

④成员关系验证模块:给定子集S的表示CS与元素e的表示We,本模块将给出上述输 入之间关系真或假(通常用1和0表示)的判定。

在上述过程中,本发明的一个特征是对集合和元素采用了密码学表示,例如,We是 e的密码学表示,CS是S的密码学表示。

本发明的一个特征是对于不同的成员关系存在不同的安全成员关系判 定方法。

本发明的一个特征是能支持等于=和不等于≠谓词,这两个谓词是属于和不属于谓 词在集合只有一个元素时的特例,即,P=(e1,e2)P(e1,{e2})P(e1,e2)P(e1,{e2}).

本发明的一个特征是当敌手在攻击试图欺骗的时候,验证模块能保证验证结果的 安全性,这种安全性包括验证的完整性与完备性。

本发明的一个特征在于能保证验证过程的完整性,即,如果那么验证 者能够以成功概率1接受成员关系验证模块的证明。我们用表示对于关 系成员关系验证模块的输出,那么完整性意味着下面概率等式(式1)成立:

(式1)

本发明的另一个特征在于能保证验证过程的完备性,完备性又分为弱完备性和强 完备性。

①弱完备性:给集合U中的任意元素e,且从私钥sk中提取元素e的表示 We*,成员关系验证模块后,则验证者成功概率几乎为0,即,对任意小的ε(式2)都成立。

(式2)

②强完备性:对于任意多项式时间算法A,它能够生成一个(这里e指不在集合U 中的某个未知元素e),并使得该值通过成员关系验证模块验证的成功概率几乎为0,即,对 任意小的ε,(式3)成立。

(式3)

本发明的一个特征在于可实现属性集加密系统,该系统将采用上述安全成员关系 判定方法实现属性集上的属于∈、不属于等于=、不等于≠等集合成员谓词。

该系统中可以动态添加属性集,令每个属性集表示为Ai={vi1,...,vim},则系统内 所有属性集构成集合同时,该系统可支持无限多用户,令用户集合为U ={u1,u2,…,un},每个用户具有一个属性值列表Φ={vij∈Ai},其中,vij的第一个下标i表 示所属属性集标号,第二个下标j为属性值序号。显然这些属性值表示了用户的身份。

给定任意一个数据资源M,可以根据上述定义的属性集定义该数据的访问策略∏, 该访问策略可表示为具有集合关系的布尔函数的形式,令且表 示属性集A中任何元素与集合Si关系的二元谓词,并可用AND和OR门将上述多个二元谓词表 示成为一个布尔表达式。例如,对于一个加密数据可制定如下访问策略:

Π:=(ρ1>OR>ρ2)AND>ρ3=(P(A1,{v11,v12})OR>P(A2,{v22,v23}))AND>P=(A3,v32)=(A1{v11,v12}OR>A2{v22,v23})AND>A3=v32.

其中ρ1对应P(A1,{v11,v12}),ρ2对应ρ3对应P(A3,v32)。如果某一 用户身份可由以下属性赋值表示:Φ:={v12,v21,v32},其中,属性值v12∈A1,v21∈A2,v32∈ A3。我们可将这一组属性赋值{v12,v21,v32}代入前面访问控制∏对应的属性集,得到最终用 户能否

满足授权的判定:Π=(v12{v11,v12}OR>v21{v22,v23})AND(v32=v32)=(True>OR>True)AND>True=True

如图2所示,该系统由下面几个模块构成:

①系统生成模块:该模块用于密码系统的生成,对于给定的安全强度作为输入,输 出公钥mpk和主密钥msk。

②属性集合密钥生成模块:该模块用于将一个指定的属性集加入到系统中,对于 给定任意属性集Ai={vi1,...,vim}作为输入,通过主密钥msk生成公钥pki和私钥ski,并将 它加入到公钥mpk中,私钥ski添加到主密钥msk。

③用户密钥生成模块:该模块用于为某个具有身份属性值列表Φ={vij∈Ai}的用 户生成用户私钥sk(k)。对于用户uk,首先生成该用户主私钥usk(k);然后对于该用户的任意 属性值vij∈Ai,可生成对应的用户属性值密钥vskij,当用户有多个属性值Φ={vij∈Ai},用 户私钥包括

④加密模块:该模块用于为具有访问策略∏的数据资源M进行加密。以公钥mpk和 访问策略Π为输入,其中,访问策略Π中含有若干子集Si和对应二元谓词且 该模块能够加密明文数据资源M输出一个密文其 中,Si包含于属性集合Ai,即Si为Ai的子集

⑤解密模块:该模块用于某个具有身份属性值列表Φ={vij∈Ai}的用户使用私钥 对具有属性策略∏的密文CΠ进行解密,解密的前提是属性值列表能够使属性策略∏为真。 以用户私钥sk(k)和密文CΠ为输入,输出明文M,否则输出空。

本发明的一个特征在于访问控制策略可支持各种元素与集合关系谓词,这种成员 关系包括属于∈、不属于等于=、不等于≠,谓词输出为真与假,可用布尔值1和0表示。

本发明的一个特征在于采用安全成员关系判定方法实现属性集加密系统中的关 系谓词密码学判定,包括:

①采用属性值密钥生成模块实现属性集合加入模块中的密钥生成功能,生成公钥 pki和私钥ski

②采用子集表示生成模块实现加密模块中含有指定成员关系谓词下 的集合安全表示

③采用元素提取模块对任意属性值vij∈Ai生成属性值密钥生成模块中的用户属 性值密钥

④采用成员关系验证模块实现解密模块中成员关系谓词的密码学判定,即给定属 性值vij∈Ai的表示关系谓词下子集表示实现判定式(式4)

(式4)

本发明的一个特征在于访问策略支持基于带有逻辑与,逻辑或和逻辑非的布尔函 数表示,该布尔函数支持逻辑与AND和逻辑或OR。采用线性秘密共享技术实现逻辑与AND和 逻辑或OR,也可采用层次门限(阈值)共享技术加以实现。

本发明的一个特征在于访问策略中的布尔函数支持非逻辑NOT,在布尔代数中所有的 逻辑非必须进行如下摩尔定律的转换,即和依据这个变换,由此获得基于属性集的加密系统的等价的访问策略∏'。例如,访问策略 转换后的访问策略为Π:=(A1{v11,v13})or(A2=v22),即 利用摩尔定律将逻辑非转化为二元关系谓词中的否定谓词,包括不属于不等于≠。

本发明的积极效果

综上所述,本发明提出了一种支持“属性集合”概念和密码学上的属性集合操作, 是对现有属性基加密功能的一种巨大改进。本发明涉及一种基于属性集合的加密系统,简 称为属性集加密系统。该系统的一个特征是能够支持属性集的概念,即具有相同性质的属 性或标识被整合为一个集合。本发明的一个特征是对于不同的成员关系存在不 同的安全成员关系判定方法以及对集合和元素采用了密码学表示。

本发明的一个特征是能支持等于=和不等于≠谓词,这两个谓词是属于和不属于谓 词在集合只有一个元素时的特例,即,P=(e1,e2)P(e1,{e2})P(e1,e2)P(e1,{e2}).

本发明的一个特征是当敌手在攻击试图欺骗的时候,验证模块能保证验证结果的 安全性,这种安全性包括验证的完整性与完备性。

本发明的一个特征在于能保证验证过程的完整性和完备性。

本发明的一个特征在于可实现属性集加密系统,该系统将采用上述安全成员关系 判定方法实现属性集上的属于∈、不属于等于=、不等于≠等集合成员谓词。本发明的 一个特征在于访问控制策略可支持各种元素与集合关系谓词,这种成员关系包括属于∈、 不属于等于=、不等于≠,谓词输出为真与假,可用布尔值1和0表示。

本发明的一个特征在于采用安全成员关系判定方法实现属性集加密系统中的关 系谓词密码学判定,本发明的一个特征在于访问策略支持基于带有逻辑与,逻辑或和逻辑 非的布尔函数表示,该布尔函数支持逻辑与AND和逻辑或OR。采用线性秘密共享技术实现逻 辑与AND和逻辑或OR,也可采用层次门限(阈值)共享技术加以实现。本发明的一个特征在于 访问策略中的布尔函数支持非逻辑NOT。

附图说明

图1本发明实施例提供的安全成员关系判定的结构示意图。

图2本发明实施例提供的安全成员关系判定的属性集加密系统的结构示意图。

具体实施方式:

双线性对作为一个有效的工具被广泛的应用在近些年提出的聚合签名方案上,通 常双线性对是通过椭圆曲线中的Weil对和Tate对进行变形而得来的。双线性对能够构造很 多一般的密码学工具不能实现的方案并且双线性对在使用上比较灵活,具有良好的性质。

设G1,G2是两个以p为阶的循环群,g1是群G1的生成元,g2是群G2的生成元。ψ是从群 G2到群G1的可计算的同构函数,即ψ(g2)=g1,e是可计算的映射e:G1×G2→GT,映射e具有如 下性质:

1)双线性:对于所有的u∈G1v∈G2以及满足e(ua,vb)=e(u,v)ab

2)非退化性:满足e(g1,g2)≠1。

从以上性质可以推算出:

对于任意的u∈G1,v1,v2∈G2,e(u,v1v2)=e(u,v1)·e(u,v2);对于任意的u,v∈G1, e(u,ψ(v))=e(v,ψ(u))。

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具 体实施例进行详细描述。

以下实施例中均用到了零点聚合函数和极点聚合函数,定义如下:

1)零点聚合函数

给定一个任意子集和一个p阶循环群G,p是素数,如果存在 一个多项式时间算法ZeroAggr,算法输出为则该算法 被称为零点聚合函数,其中,g是p阶循环群G的生成元,γ为引入的随机秘密,xi=hash(ei) 为集合S中的每个元素转化为密码学空间内的随机点。

2)极点聚合函数

给定一个任意子集和一个p阶循环群G,p是素数,如果存在 一个多项式时间算法PolesAggr,算法输出则该算法 被称为极点聚合函数,其中,h是p阶循环群G的生成元,γ为引入的随机秘密,xi=hash(ei) 为集合S中的每个元素转化为密码学空间内的随机点。

除上述所述零点聚合函数和极点聚合函数,以下是实例是在双线性映射系统s= (p,G1,G2,GT,e(·,·))中实现的,其中,G1和G2的阶均为p,生成元分别为g1和g2。另外使用 了密码学哈希函数hash:{0,1}*→Zp*,将任意的属性值vi从二进制串映射到随机元素xi,即 xi=hash(vi)。

实施例一

本实施例给出了对于成员关系属于的密码学判定构造方法,具体的包括以下四个 步骤:

1)属性值密钥生成模块:对于给定任意属性集合U={e1,...,en},随机选取 和m∈Z+,生成公钥和私钥

2)子集表示生成模块:给定集合U的任意子集S={e1,...,em},我们调用PolesAggr 函数来计算(式5)得到集合S的安全表示HS,其中,xk=hash(ek)。

(式5)

3)元素提取模块:给定U集合内的一个属性元素ei作为输入,从私钥sk中提取元素 ei,从而得到ei的密码学表示

4)成员关系验证模块:给定子集S的表示HS与元素ei的表示本模块将给出上述 输入之间关系P(e,S)真或假(通常用1和0表示)的判定,即,ei属于S。首先,计算S_=S{ei} 和(式6);其次,验证Wi是否等于e(GS_,HS),即e(GS_,HS)·e(Wi,H)=V是否成立。如果成立,我 们就认为ei∈S并返回真,否则返回假。

GS_ZerosAggr(pk,S_)=gfS_(γ)=gγΠekS(γ+xk)γ+xi*MERGEFORMAT(式6)

实施例二

本实施例给出了对于成员关系不属于的密码学判定构造方法,具体的,包括以下 四个步骤:

1)属性值密钥生成模块:对于给定任意属性集合U={e1,...,en},根据安全参数κ,随 机选取和n∈Z+,生成公钥和私钥

2)子集表示生成模块:给定集合U的任意子集S={e1,...,em},我们调用ZerosAggr 函数来计算(式7)得到集合S的安全表示GS,其中,xk=hash(ek)。

GSZerosAggr(sk,S)s=gs·fs(γ)=gγsΠeks(x+xk)

*MERGEFORMAT(式7)

3)元素提取模块:给定U集合内的一个属性元素ei作为输入,从私钥sk中提取元素 ei,从而得到ei的密码学表示

4)成员关系验证模块:给定子集S的表示GS与元素ei的密码学表示本模块将给 出上述输入之间关系真或假(通常用1和0表示)的判定,即,ei不属于S。首先,计算S+=S∪{ei}和(式8),其次,验证e(GS,HS+)·e(Wi,H)=V是否成立。如果成立,我们就认为 并返回真,否则返回假。

(式8)

实施例三

每一方关于Zp上向量的共享。存在一个l×n的矩阵T称为共享生成矩阵。对于 Ti是T的第i个行向量。设定函数π定义为行i的标签π(i)。列向量v=(s, r2,···,rn),其中s∈Zp是共享的秘密,r2,...,rn是Zp中的随机数。Tv是长度为l的共享秘 密s的列向量,并且(Tv)i是π(i)方持有的秘密。设定U是任意授权的集合,I∈{1,...,l}定 义为I={i:π(i)∈U}。那么存在固定的{wi}i∈I使得若λi是任意秘密s的有效共享,那么秘密 可以通过∑i∈Iwiλi=s重构。

我们以技术背景为例说明本系统的属性集设置,首先如定义属性集:

大学名:={……,“北京大学”,“北京科技大学”,“清华大学”,……},

部门:={……,“生物学院”,“化学学院”,“信息学院”,……},

年份:={……,2013,2014,2015,2016,……},

角色:={……,“教授会”,“学术委员会”,“学位委员会”,……}。

我们可以定义Ai:={vi1,...,vim},其中,A1←部门,v1k1←“生物学院”,v1k2←“化学 学院”,v1k3←“信息学院”;A2←大学名,v2k1←“北京大学”,v2k2←“北京科技大学”,v2k3←“清 华大学”;A3←年份,v3k1←2013,v3k2←2014,v3k3←2015;

A4←角色,v4k1←“教授会”,v4k2←“学术委员会”,v4k3←“学位委员会”。

(大学名∈{“北京大学”,“北京科技大学”}AND年份=2015AND角色=“学位委员 会”AND部门{“生物学院”,“化学学院”})。

我们可以定义策略为A1{v1k1,v1k2}AND>A2{v2k1,v2k2}AND>A3=v3k3AND>A4=v4k3.

假设一个用户具有如下身份属性:{大学名:=“北京科技大学”,年份:=2015,角 色:=“学位委员会”,部门:=“信息学院”}。

本发明的核心是属性集加密系统,我们采用上述实施例一和实施例二中的方法给 出了详细的属性集加密构造方案,具体包括以下五个模块:

1)系统生成模块

对于制定的安全强度获得相应基于椭圆曲线密码的双线性映射系统 在G1,G2中随机选择两个元素和选取 设定Q=Hβ,R=e(G,H)α。得到公钥mpk=(S,H,Q,R),主密钥msk=(α,β, ε,G,Gε)。最后输出(mpk,msk)。

2)属性集合加入模块

从Zp*中随机选取γi,即设定其中j∈[1,m]。对于所有的vij∈Ai和xij=h(vij),都有通过主密钥生成用户公钥分别将pki加入mpk以及将ski=γi附加到msk。

3)属性值密钥生成模块

对于用户uk,随机选取一个整数τl,生成该用户主私钥对于该用 户的任意属性值(Ai←vij)∈Φ,可生成对应的用户属性值密钥当用户 有多个属性值Φ={vij∈Ai}的情况,生成用户私钥

4)加密模块

输入明文M、公钥mpk和访问策略Π,输出密文C。首先将∏转换为(T,π),访问策略 Π中含有若干子集Si和对应谓词且选择随机变量 来分享秘密s,然后计算ek=Rs=e(G,H)αs,c0=QS,和λk=v· Tk,其中Tk是l×n的共享生成矩阵T的第k个行向量。密文为其中C0=(c0,c1)。对于是否成立计算满足(式9)

Cρi=(ck1,ck2)=(Hλk,(HS)λk)for(AkS)(Hλk,(GS)λk)for(AkS)

*MERGEFORMAT(式9)

其中,HS=PolesAggr(mpk,S),GS=ZerosAggr(mpk,S)。

5)解密模块

用户uk输入和密文从第i个子密 文(ci1,ci2)里提取S,然后尝试找到能够满足以上条件的指派Ai←vij。如果成功,即用户的 私钥对应的属性值Φ={vij∈Ai}满足密文中访问策略Π,查找子密钥并且计算式 (10):

ci=e(vskij(k),ci1)·e(GS-,ci2)for(vijS)e(vskij(k),ci1)·e(ci2,HS+)for(vijS)*MERGEFORMAT(式10)

其中,GS-=ZerosAggr(mpk,S{vij}),Hs+=PolesAggr(mpk,S∪{vij})。当所有的ci值已知时,根据T和I={i:π(i)∈U}计算出重构的向量{wi∈Zp}i∈I,其中U是任意匹配的集 合,如果{λi}是任意秘密s的有效共享,那么Σi∈Iwiλi=s。然后计算最后恢复会 话密钥ek=e(sk0,c0)/c。通过恢复的会话密钥ek计算输出明文M。如果用户的 私钥对应的属性值Φ={vij∈Ai}不满足密文中访问策略Π,输出空。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也 应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号