CN113489591B - 一种基于多授权中心的可追踪比较属性加密方法 - Google Patents

一种基于多授权中心的可追踪比较属性加密方法 Download PDF

Info

Publication number
CN113489591B
CN113489591B CN202110624902.2A CN202110624902A CN113489591B CN 113489591 B CN113489591 B CN 113489591B CN 202110624902 A CN202110624902 A CN 202110624902A CN 113489591 B CN113489591 B CN 113489591B
Authority
CN
China
Prior art keywords
key
attribute
user
data
authority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110624902.2A
Other languages
English (en)
Other versions
CN113489591A (zh
Inventor
孟倩
梁焯阳
陈克非
沈忠华
王付群
张仁军
胡宸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Normal University
Original Assignee
Hangzhou Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Normal University filed Critical Hangzhou Normal University
Priority to CN202110624902.2A priority Critical patent/CN113489591B/zh
Publication of CN113489591A publication Critical patent/CN113489591A/zh
Application granted granted Critical
Publication of CN113489591B publication Critical patent/CN113489591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于多授权中心的可追踪比较属性加密方法,克服了现有技术随着数据增大开销大和单个中央授权中心的单点性能瓶颈的问题,包括以下步骤:S1、***初始化;S2、对数据加密;S3、用户验证与最终数据生成;S4,对数据进行解密;S5、追踪。本发明提出了一种0编码和1编码的有效方法,使可比较属性可以用于任意比较,而且这方法适用于ABE***,将扩展的存储开销平均减半,大大减少了加密和解密的开销计算量,采用中央授权中心和属性授权中心,降低中央授权中心的负担,加快对用户的身份验证和秘钥生成,避免了单点性能瓶颈,加入了一个追踪机制,以此对属性授权中心进行监督。

Description

一种基于多授权中心的可追踪比较属性加密方法
技术领域
本发明涉及密码学技术领域,尤其是涉及一种基于多授权中心的可追踪比较属性加密方法。
背景技术
基于属性的加密(ATTRIBUTE-BASED encryption,ABE)是近年来密码学领域的一个热门研究课题。它提供了一种灵活的方式来进行细粒度的访问控制,能灵活管理密文之间的关联和用户的有效安全秘钥。因此ABE适用于很多的情况,比如云计算、云医疗服务、网络社交等等。
ABE有两种不同的实现方法分别是基于密钥策略属性的加密(KP-ABE)和基于密文策略属性的加密(CP-ABE)。这两个类别之间的主要区别在于嵌入访问策略的方法。在KP-ABE中,访问策略嵌入在用户的安全秘钥中,密文与几个属性相关联。而CP-ABE则相反,其访问策略是嵌入到相应的密文中,用户的秘钥与属性相关联。这两种方法都用了同一种规则:当且仅当一个实体的属性满足某个元素的访问策略时,才可以成功解密。
在目前的ABE***中,对于安全秘钥和密文的属性进行比较,在实际应用中是不够灵活,难以在实际中应用。访问策略中总有一些属性表示为一个范围值,例如:“{年龄>18}”。类似这种属性的范围值,使用布尔函数是不能比较的。因为“{年龄=20}”与“{年龄>18}”用布尔函数比较的结果是不符合的。在当前ABE中处理可比属性的一种简单方法是使用所有允许的属性值来表示范围,就是将范围值改为一个并集,如:“{年龄=19}”V“{年龄=20}”V...V“{年龄=100}”。但这种方式随着数据增大开销会呈线性增长。
J.Bethencourt等人做了初步的尝试来解决上述问题。他们的方案是将这些数值属性以比特为单位划分为若干子属性来解决这一问题。然而,设计数值比较策略的机制过于复杂,最根本的问题是附加开销仍然相对较高。
此外,大多数现有的ABE***都是围绕一个中央授权中心所设计的,在这种情况下,一个中央授权中心机构需要执行耗时的用户身份验证和密钥分发。这也导致了单个中央授权中心成为大规模分布式云***的单点性能瓶颈,例如效率低等。如果这个中央授权中心被破坏或者是离线,那么云服务也将受到影响。
发明内容
本发明是为了克服现有技术的随着数据增大开销大的问题,提供一种基于多授权中心的可追踪比较属性加密方法,提出了基于分层的授权中心结构,包括一个中央授权中心和多个相互独立的属性授权中心,解决了传统单授权中心基于属性的密文检索算法存在的性能瓶颈即授权用户证书认证及密钥分发给授权中心带来较大的计算开销的问题。
本发明的第二个发明目的是解决单个中央授权中心的单点性能瓶颈的问题,不仅允许任意属性授权中心执行部分密钥生成操作,中央授权中心执行最终密钥生成,而且允许中央授权中心追踪恶意属性授权中心。
为了实现上述目的,本发明采用以下技术方案:
一种基于多授权中心的可追踪比较属性加密方法,包括以下步骤:
S1、***初始化;
S2、对数据加密;
S3、用户验证与最终数据生成;
S4,对数据进行解密;
S5、追踪。
本发明数据拥有者将数据加密并制定好访问策略,对于范文策略中的比较的属性,使用0编码和1编码对属性集进行扩展,再构建好一棵访问决策,数据拥有者将加密的数据和访问决策树上传到云服务器,每个用户都会从中央授权中心获得一个唯一标识Uid。为了给每个用户生成最终密钥,中央授权中心和用户选定的属性授权中心共同合作,授权用户首先从中央授权中心获取证书并提交给选定的属性授权中心,接着属性授权中心验证用户证书的合法性并依据用户的属性集为其生成中间密钥,最后中央授权中心利用属性授权中心生成的中间密钥为用户生成最终密钥,用户可以从云服务器中下载任意他所感兴趣的密文数据,只有用户中的秘钥属性与访问决策树相匹配时,用户才能解密。
在本方案的***模型里,涉及到五个实体:中央授权中心(Central Authority,CA),属性授权中心(Attribute Authorities,AAs),用户(data user,DU),数据拥有者(data owner,DO)和云服务商(cloud service provider,CSP)。
CA:CA是***的秘钥生成管理中心。为AAs和DU的生成唯一标识以及其证书。并且在收到来自AA验证DU的中间秘钥之后,为DU生成最终秘钥。除此之外,CA还可以追踪为可疑DU生成的中间秘钥的恶意AAs。
AA:每个AA都有充足的存储和计算能力,可以独立地对任何用户进行验证。AA会根据DU提交的属性进行其证书验证,并代表CA生成相应的中间密钥。值得一提的是:引入多个AAs的目的是减轻CA证书验证和密钥生成的繁重任务,进一步降低单点性能瓶颈的可能性。
CSP:CSP有着庞大的储存空间和强大的计算能力,可以为DU和DO分别提供数据存储和信息检索服务。
DO:DO为其数据制定一个访问策略,并根据定义的策略对文件进行加密。并将加密后的全部数据和加密后的对称密钥发送到CSP中。以便与多个DU共享其数据,并能显著减少本地存储和计算负担。
DU:DU从CA中获得一个唯一标识,而且其本身拥有一组相关信息的属性。DU将选择任一一个AA进行身份信息的验证,通过AA的验证之后,CA并生成与其属性集相关联的最终密钥。DU可以从CSP上获取其感兴趣的加密数据。当且仅当DU的属性集满足嵌入在加密数据中的访问策略时,用户才能解密加密数据。
作为优选,所述S1包括以下内容:
中央授权中心选择两个素数阶相同的乘法循环群G和Gp,其中参数g是G的生成元,并在G上定义一个二元映射e:G×G→Gp,然后中央授权中心随机选择a,b,α,β∈Zp *,作为主密钥,还为每个属性Atti(i=1,2,...,V)随机生成公钥Q1,Q2,...,QV
设H:(0,1)*→G为哈希函数,将任意二进制字符串映射到G的随机元素;
发布的公钥如下:
PK=Gp,G,H,g,gα,h=gβ,e(g,g)α,Q1,Q2,...,QV
主密钥如下:
MSK=a,b,α,β,gα
主密钥将会隐藏在***里面。
作为优选,所述S1还包括以下内容:
中央授权中心还负责各个属性授权中心和用户的注册;
首先,中央授权中心生成一对密钥(skCA,vkCA),用来进行签名和验证,其中vkCA是公开的,可以让***中的每个实体都知道;
在注册期间,每个属性授权中心都要向中央授权中心发送一个注册申请,对于每个合法的属性授权中心,中央授权中心会分配一个唯一标识的Aid∈Zp *,再随机选择一个私钥kAid∈Zp *,并计算其对应的公钥PKAid=gkAid
然后,中央授权中心将生成包含公钥PKAid的证书CertAid,并将其与相对应的私钥kAid一起发送给具有身份Aid的属性授权中心;
另外,每个用户都要从中央授权中心获取自己的Uid、私钥kUid和证书CertUid。
作为优选,所述S2包括以下步骤:
S21、对数据进行加密;
S22、构建策略树T。
作为优选,所述S21包括以下内容:
数据拥有者自己完成对数据的加密;
为了提高***性能,数据拥有者选择随机数K∈Gp作为对称密钥,s是来自Zp *的随机密钥,利用对称加密算法对明文数据M进行加密;
加密后的数据记为C=hs,/>
作为优选,所述S22包括以下内容:
为策略树T的所有节点分配一个从根R到叶节点的秘密数字,规则如下:
根R被赋予与前一步生成的C对应的秘密s;
对于被分配了一个秘密sp的非叶节点p,阈值为kp,算法随机生成一个多项式qp,它包含如下三个字符:
多项式qp的次数必须满足:dp=kp-1;
这个多项式的值是:qp(0)=sp;这个性质使多项式与相对应节点x的秘密有所关联;
每个具有不同索引z的值qp(z)被分配给p的每个子节点;
对于叶节点P,它已经被分配了一个秘密的sp,并且表示属性Atti,计算CAtti'=gsp
CAtti"=H(y)sp,y∈X1
密文如下:
作为优选,所述S3包括以下步骤:
S31、Uj→AAi:当具有唯一标识Uidj的用户Uj发出获得秘钥申请时,用户通过某种调度算法选择有唯一标识Aid的合法属性授权中心,并发送证书CertUidj以及一些可以显示Uj所拥有的属性集的证明;
S32、AAi→CA:用户身份验证过程可能设计到人工验证或者是AAi执行的验证协议;
用户身份验证成功之后,AAi获取当前的时间点作为阈值TS,计算t1=H1(Uidj||TS||0)和t2=H1(Uidj||TS||1),并生成中间秘钥具体如下:
生成的中间秘钥发给中央授权中心;
S33、CA→AAi→Uj:中央授权中心在收到AAi的中间秘钥之后,依据AAi的Aidi来获得与之对应的存储公钥
接着中央授权中心检查传输延迟的时间间隔Tt是否在允许的时间间隔范围内;
假设当前时间是T',如果T'-TS>Tt,那么中央授权中心将停止执行,并发出拒绝请求的信息给AAi
如果T'-TS<Tt,则中央授权中心重新计算t1=H1(Uidj||TS||0)和t2=H1(Uidj||TS||1),确保t1和t2没有被同一个用户重复使用;
这步骤可以阻止属性授权中心的合谋攻击;然后中央授权中心为用户生成最终秘钥并通过属性授权中心返回给用户;
最终秘钥(FUSK)具体如下:
其中x∈Att;μ和r是两类安全参数,不会让用户知道的,ry表示不同的r类参数。
作为优选,所述S4包括以下步骤:
S41、获得藏在访问策略树T的根中所相对应的秘密s;
对访问决策树进行如下处理:
对于任一X2中的一个属性与访问决策树中的叶子节点所代表的属性相匹配,设对应属性为y,秘密值为sx;算法如下:
对于非叶子节点p,如果其子节点中有不小于kp的子节点传递了解密算法,那么将被解密的子节点集合表示为Sp,继续执行如下算法:
在上述式子中的Sx,z表示一个没有z元素的Sp集合,这个式子将返回TRUE,因为这些节点在同一个多项式中,并且sx是这个多项式的秘密值;
当根结点返回true值时,我们得到了S=e(g,g)μ·s作为第二步的输入参数;
S42、用重建的s对数据内容进行解密;
算法如下:
只有当用户的扩展属性集X2与访问策略树T相匹配时,用户才可以使用安全秘钥解密数据;否则,用户即使是从云服务器中下载了所有密文也无法解密。
作为优选,所述S5包括以下内容:
属性授权中心验证用户的身份成功之后生成一个中间秘钥发送给中央授权中心,中央授权中心接收到中间秘钥之后,将不会进行二次验证用户的身份,而是直接发放最终秘钥;
还包括一个追踪机制,定期执行,以此来监督属性授权中心;追踪机制具体如下:
中央授权中心在开始追踪时,为了确认用户的密钥所有权,中央授权中心强迫要求可疑用户Uj上交其最终秘钥中的L,K',TS,并在可疑用户的属性里随机选取一个x∈Att,中央授权中心计算t1=H1(Uidj||TS||0)、t2=H1(Uidj||TS||1)和Kx'=Qx αt2·g-b(t1+t2),再验证以下等式是否成立:
e(Qx,L)=e(g,K'Kx')
如果等式成立就继续执行下一步;接下来要确认的就是哪个AA替可疑Uj生成中间秘钥;
CA使用主密钥MSK恢复与特定AA相对应的公钥,如下所示:
PK'=(L·g-αt2)1/βt1=gkAidiβt1/βt1=gkAidi
CA使用PK’作为索引来搜索AA;
如果某个唯一标识为Aidi的AAi拥有一个等于PK’的公钥,那么就意味着AAi恶意或错误地验证了该Uj的合法性;被发现的恶意属性授权中心应当被惩罚。
由于属性授权中心是不完全可信的机构,并且用户合法性验证是由人工进行的,因此属性授权中心可能会恶意或错误地替未验证的属性集生成中间密钥。此外,恶意用户将尝试任何可能的方法获得与特定属性集相关联的密钥,以获得数据访问权限。在这种假设下,用户经常会出现一些异常的行为。为了阻止上述情况的发生,务必要再加入一个追踪机制,定期执行,以此来监督属性授权中心。
因此,本发明具有如下有益效果:
1.提出了一种0编码和1编码的有效方法,使可比较属性可以用于任意比较,而且这方法适用于ABE***;
2.提出了一种轻量化、高效的CABE结构;与其他相关方案相比,这种结构将扩展的存储开销平均减半,大大减少了加密和解密的开销计算量;
3.在方案中采用中央授权中心和属性授权中心,降低中央授权中心的负担,加快对用户的身份验证和秘钥生成,避免了单点性能瓶颈;
4.加入了一个追踪机制,以此对属性授权中心进行监督。
附图说明
图1是本实施例的***模型图。
图2是实施例2的访问策略模型。
具体实施方式
下面结合附图与具体实施方式对本发明做进一步的描述。
实施例1:
本实施例提供了一种基于多授权中心的可追踪比较属性加密方法,如图1所示,采用以下***模型里,主要涉及到五个实体:中央授权中心(Central Authority,CA),属性授权中心(Attribute Authorities,AAs),用户(data user,DU),数据拥有者(data owner,DO)和云服务商(cloud service provider,CSP)。
CA:CA是***的秘钥生成管理中心。为AAs和DU的生成唯一标识以及其证书。并且在收到来自AA验证DU的中间秘钥之后,为DU生成最终秘钥。除此之外,CA还可以追踪为可疑DU生成的中间秘钥的恶意AAs。
AA:每个AA都有充足的存储和计算能力,可以独立地对任何用户进行验证。AA会根据DU提交的属性进行其证书验证,并代表CA生成相应的中间密钥。值得一提的是:引入多个AAs的目的是减轻CA证书验证和密钥生成的繁重任务,进一步降低单点性能瓶颈的可能性。
CSP:CSP有着庞大的储存空间和强大的计算能力,可以为DU和DO分别提供数据存储和信息检索服务。
DO:DO为其数据制定一个访问策略,并根据定义的策略对文件进行加密。并将加密后的全部数据和加密后的对称密钥发送到CSP中。以便与多个DU共享其数据,并能显著减少本地存储和计算负担。
DU:DU从CA中获得一个唯一标识,而且其本身拥有一组相关信息的属性。DU将选择任一一个AA进行身份信息的验证,通过AA的验证之后,CA并生成与其属性集相关联的最终密钥。DU可以从CSP上获取其感兴趣的加密数据。当且仅当DU的属性集满足嵌入在加密数据中的访问策略时,用户才能解密加密数据。
本实施例包括以下步骤:
S1、***初始化;
CA选择两个素数阶相同的乘法循环群G和Gp(参数g是G的生成元),并在G上定义一个二元映射e:G×G→Gp,然后CA随机选择a,b,α,β∈Zp *,作为主密钥,还为每个属性Atti(i=1,2,...,V)随机生成公钥Q1,Q2,...,QV。然后,设H:(0,1)*→G为哈希函数,将任意二进制字符串映射到G的随机元素。发布的公钥如下:
PK=Gp,G,H,g,gα,h=gβ,e(g,g)α,Q1,Q2,...,QV
主密钥如下:
MSK=a,b,α,β,gα
主密钥将会隐藏在***里面,不会被其他实体所获得的。
CA还要做就是负责AAs和用户的注册。首先,CA生成一对密钥(skCA,vkCA),用来进行签名和验证,其中vkCA是公开的,可以让***中的每个实体都知道。在注册期间,每个AA都要向CA发送一个注册申请。对于每个合法的AA,CA会分配一个唯一标识的Aid∈Zp *,再随机选择一个私钥kAid∈Zp *,并计算其对应的公钥PKAid=gkAid。然后,CA将生成包含公钥PKAid的证书CertAid,并将其与相对应的私钥kAid一起发送给具有身份Aid的AA。另外,每个用户都要从CA获取自己的Uid、私钥kUid和证书CertUid
S2、对数据加密;
为了在访问策略T下实现DO的数据共享,必须要完成以下两步:1.对数据进行加密;2.构建好策略树T。
第一步,DO自己完成对数据的加密。为了提高***性能,DO选择随机数K∈Gp作为对称密钥,s是来自Zp *的随机密钥,利用对称加密算法对明文数据M进行加密。加密后的数据记为C=hs,/>
第二步,为T的所有节点分配一个从根R到叶节点的秘密数字,规则如下:
根R被赋予与前一步生成的C对应的秘密s。对于被分配了一个秘密sp的非叶节点p(包括R),阈值为kp,算法随机生成一个多项式qp,它包含如下三个字符:
多项式qp的次数必须满足:dp=kp-1
这个多项式的值是:qp(0)=sp。这个性质使多项式与相对应节点x的秘密有所关联。
每个具有不同索引z的值qp(z)被分配给p的每个子节点。
对于叶节点P,它已经被分配了一个秘密的sp,并且表示属性Atti,计算CAtti'=gsp,CAtti"=H(y)sp,y∈X1
密文如下:
S3、用户验证与最终数据生成;
这过程涉及到指定的用户、被选定的AA和CA。具体分为如下3个步骤:
Uj→AAi:当具有唯一标识Uidj的用户Uj发出获得秘钥申请时,用户通过某种调度算法选择有唯一标识Aid的合法AA,并发送证书CertUidj以及一些可以显示Uj所拥有的属性集的证明。
(2)AAi→CA:用户身份验证过程可能设计到人工验证或者是AAi执行的验证协议。用户身份验证成功之后,AAi获取当前的时间点作为阈值TS,计算t1=H1(Uidj||TS||0)和t2=H1(Uidj||TS||1),并生成中间秘钥具体如下:
生成的中间秘钥发给CA。
CA→AAi→Uj:CA在收到AAi的中间秘钥之后,依据AAi的Aidi来获得与之对应的存储公钥PKAidi。接着CA检查传输延迟的时间间隔Tt是否在允许的时间间隔范围内。假设当前时间是T',如果T'-TS>Tt,那么CA将停止执行,并发出拒绝请求的信息给AAi。如果T'-TS<Tt,则CA重新计算t1=H1(Uidj||TS||0)和t2=H1(Uidj||TS||1),确保t1和t2没有被同一个用户重复使用。这步骤可以阻止AA的合谋攻击。然后CA为用户生成最终秘钥并通过AA返回给用户。最终秘钥(FUSK)具体如下:
其中x∈Att;μ和r是两类安全参数,不会让用户知道的,ry表示不同的r类参数。
S4,对数据进行解密;
解密操作同样也分为两步,第一步的目的是获得藏在访问决策树T的根中所相对应的秘密s;第二步,利用重建的s对数据内容进行解密。
第一步,对访问决策树进行如下处理:
对于任一X2中的一个属性与访问决策树中的叶子节点所代表的属性相匹配,设对应属性为y,秘密值为sx。算法如下:
对于非叶子节点p,如果其子节点中有不小于kp的子节点传递了解密算法,那么将被解密的子节点集合表示为Sp,继续执行如下算法:
在上述式子中的Sx,z表示一个没有z元素的Sp集合,这个式子将返回TRUE,因为这些节点在同一个多项式中,并且sx是这个多项式的秘密值。
当根结点返回true值时,我们得到了S=e(g,g)μ·s作为第二步的输入参数。第二步,算法如下:
只有当用户的扩展属性集X2与访问策略树T相匹配时,用户才可以使用安全秘钥解密数据。否则,用户即使是从云服务器中下载了所有密文也无法解密。
S5、追踪;
AA验证用户的身份成功之后生成一个中间秘钥发送给CA。CA接收到中间秘钥之后,将不会进行二次验证用户的身份,而是直接就给他发放最终秘钥。由于AA是不完全可信的机构,并且用户合法性验证是由人工进行的,因此AAs可能会恶意或错误地替未验证的属性集生成中间密钥。此外,恶意用户将尝试任何可能的方法获得与特定属性集相关联的密钥,以获得数据访问权限。在这种假设下,用户经常会出现一些异常的行为。为了阻止上述情况的发生,务必要再加入一个追踪机制,定期执行,以此来监督AA。追踪机制具体如下:
CA在开始追踪时,为了确认用户的密钥所有权,CA强迫要求可疑用户Uj上交其最终秘钥中的L,K',TS,并在可疑用户的属性里随机选取一个x∈Att,接着,CA计算t1=H1(Uidj||TS||0)、t2=H1(Uidj||TS||1)和Kx'=Qx αt2·g-b(t1+t2),再验证以下等式是否成立:e(Qx,L)=e(g,K'Kx')
如果等式成立就继续执行下一步。接下来要确认的就是哪个AA替可疑Uj生成中间秘钥。CA使用主密钥MSK恢复与特定AA相对应的公钥,如下所示:
PK'=(L·g-αt2)1/βt1=gkAidiβt1/βt1=gkAidi
CA使用PK’作为索引来搜索AA。如果某个唯一标识为Aidi的AAi拥有一个等于PK’的公钥,那么就意味着AAi恶意或错误地验证了该Uj的合法性。被发现的恶意AA应当被惩罚。
实施例2:
如图2所示,本实施例的访问策略模型,结构是一棵访问策略树。
在CP-ABE/KP-ABE的访问策略中总有一些属性表示为一个范围值,例如:“{年龄>18}”。类似这种属性的范围值,使用布尔函数是不能比较的。因为“{年龄=20}”与“{年龄>18}”用布尔函数比较的结果是不符合的。除非是将范围值改为一个并集,如:“{年龄=19}”V“{年龄=20}”V...V“{年龄=100}”。但这种方式随着数据增大开销会呈线性增长。
我们方案针对这种范围值的属性采用0编码和1编码的方式。我们假设一个n位的二进制的数x。
x=x1x2...xn∈{0,1}n
0编码:将x转换为一个集合,如果xi(i≤n)等于0,将xi转变为1,再将前i位的数作为一个元素。
Xx 0={x1x2...xi-11|xi=0,1≤i≤n}
1编码:将x转换为一个集合,如果xi(i≤n)等于1,将前i位的数作为一个元素。
Xx 1={x1x2...xi|xi=1,1≤i≤n}
为了比较大小,假设有两个n位的二进制数y和z,将y用1编码转换为Xy 1,用0编码转换z为Xz 0。如果Xy 1和Xz 0的交集不为空集,就可以判断出y>z。反过来,Xy 0和Xz1的交集为空集,同样可以判断出y>z。式子如下:
举一个具体的例子,假设有两个4位的二进制数y=11(10112)和z=6(01102),他们的0编码和1编码如下所示。
Xy 0={11} Xy 1={1,101,1011}
Xz 0={1,0111} Xz 1={01,011}
因为所以y>z,符合真实结果。
设属性集Att={Att1,Att2,...,Attv},当Atti(i=1,2,...,V)表示的是范围值,如果是Atti>e,将这属性扩展为Setie0(Atti,e)={(Atti||">e"||c)|c∈Xei 0};如果是Atti<e,将这属性扩展为Setie1(Atti,e)={(Atti||"<e"||c)|c∈Xei 1};这两个合称为扩展集X1。如果是Atti=e,将这属性扩展为两个集合Setie0(Atti,e)={(Atti||">e"||c)|c∈Xei 0}和Setie1(Atti,e)={(Atti||"<e"||c)|c∈Xei 1},这称为扩展集X2
按照一般情况,访问策略的范围型属性将会扩展为X1,用户的属性将会扩展为X2。此处的属性值都是指可比较的数值型,不包括字符型。
图2中用“圆”表示树的节点,带“A”的圆表示一个属性;带“OR”的圆表示一个异或门。每个三角形代表一些节点组成的子树,“阈门”由若干个非叶子节点组成;“0编码子树”和“1编码子树”分别由一个异或门和一些叶子结点组成的单层子树,这些叶子节点分别代表的是Setie0(Atti,e)或是Setie1(Atti,e)中的元素。
访问策略树T的每个非叶子节点实际上是根据其子节点数和共享策略的阈值表示一个阈门。比如:对于非子叶节点x,如果其共享策略为(t,n),则其子节点数为n,t表示其阈值门限。如果t=1,这个阈值是“OR”门,如果t=n,这个阈值是“AND”门。
上述实施例对本发明的具体描述,只用于对本发明进行进一步说明,不能理解为对本发明保护范围的限定,本领域的技术工程师根据上述发明的内容对本发明作出一些非本质的改进和调整均落入本发明的保护范围内。

Claims (1)

1.一种基于多授权中心的可追踪比较属性加密方法,其特征是,包括以下步骤:
S1、***初始化;
S2、对数据加密;
S3、用户验证与最终数据生成;
S4,对数据进行解密;
S5、追踪;
所述S1包括以下内容:
中央授权中心选择两个素数阶相同的乘法循环群G和Gp,其中参数g是G的生成元,并在G上定义一个二元映射e:G×G→Gp,然后中央授权中心随机选择a,b,a,β∈Zp *,Zp *是模p的整数环,作为主密钥,还为每个属性Atti(i=1,2,...,V)随机生成公钥Q1,Q2,...,QV
设H:(0,1)*→G为哈希函数,将任意二进制字符串映射到G的随机元素;
发布的公钥如下:
PK=Gp,G,H,g,gα,h=gβ,e(g,g)α,Q1,Q2,...,QV
h是公钥的一部分,g是有限循环群G的生成元,β是在Zp *中随机选取的参数;e(g,g)是一个二元映射,是输入g和g得到的一个映射值;
主密钥如下:
MSK=a,b,a,β,gα
主密钥将会隐藏在***里面;
所述S1还包括以下内容:
中央授权中心还负责各个属性授权中心和用户的注册;
首先,中央授权中心生成一对密钥(skCA,vkCA),用来进行签名和验证,其中vkCA是公开的,可以让***中的每个实体都知道;
在注册期间,每个属性授权中心都要向中央授权中心发送一个注册申请,对于每个合法的属性授权中心,中央授权中心会分配一个唯一标识的Aid∈Zp *,再随机选择一个私钥kAid∈Zp *,并计算其对应的公钥PKAid=gkAid
然后,中央授权中心将生成包含公钥PKAid的证书CertAid,并将其与相对应的私钥kAid一起发送给具有身份Aid的属性授权中心;
另外,每个用户都要从中央授权中心获取自己的唯一标识号Uid、私钥kUid和证书CertUid
所述S2包括以下步骤:
S21、对数据进行加密;
S22、构建策略树T;
所述S21包括以下内容:
数据拥有者自己完成对数据的加密;
为了提高***性能,数据拥有者选择随机数K∈Gp作为对称密钥,Gp是阶数为p的有限循环群,s是来自Zp *的随机密钥,利用对称加密算法对明文数据M进行加密;
加密后的数据记为 分别表示三个不同的密文,EK是对称加密算法,M是明文数据,K∈Gp作为对称密钥,s是来自Zp *的随机密钥,α是在Zp *中随机选取的参数;
所述S22包括以下内容:
为策略树T的所有节点分配一个从根R到叶节点的秘密数字,规则如下:
根R被赋予与前一步生成的C对应的秘密s;
对于被分配了一个秘密sp的非叶节点p,阈值为kp,算法随机生成一个多项式qp,它包含如下三个字符:
多项式qp的次数必须满足:dp=kp-1;
这个多项式的值是:qp(0)=sp;这个性质使多项式与相对应节点x的秘密有所关联;
每个具有不同索引z的值qp(z)被分配给p的每个子节点;
对于叶节点P,它已经被分配了一个秘密的sp,并且表示属性Atti,计算CAtti'=gsp,CAtti"=H(y)sp,y∈X1,X1是扩展集,H(y)是哈希函数,y表示输入;
密文如下:
所述S3包括以下步骤:
S31、Uj→AAi:当具有唯一标识Uidj的用户Uj发出获得秘钥申请时,用户通过某种调度算法选择有唯一标识Aid的合法属性授权中心,并发送证书CertUidj以及一些可以显示Uj所拥有的属性集的证明;
S32、AAi→CA:用户身份验证过程可能设计到人工验证或者是AAi执行的验证协议;
用户身份验证成功之后,AAi获取当前的时间点作为阈值TS,计算t1=H1(Uidj||TS||0)和t2=H1(Uidj||TS||1),并生成中间秘钥ICAidi,Uidj,具体如下:
将{Uidj,Aidi,Att,ICAidi,Uidj,TS}生成的中间秘钥发给中央授权中心;
其中,AAi表示第i个属性授权中心,CA表示中央授权中心,t1和t2是用户注册过程中所产生的变量,核实t1和t2可以阻止属性授权中心的合谋攻击;H1是个哈希函数,Uidj表示用户j的唯一标识号,TS表示AAi获取当前的时间作为阈值,Aidi表示第i个属性授权中心的唯一标识号,Qx是公钥,kAidi表示第i个有唯一标识号的AA的私钥,x是Att中的元素,Kx和Jx是中间秘钥的一部分;Att是属性集,X2是扩展集;
S33、CA→AAi→Uj:中央授权中心在收到AAi的中间秘钥之后,依据AAi的Aidi来获得与之对应的存储公钥PKAidi
接着中央授权中心检查传输延迟的时间间隔Tt是否在允许的时间间隔范围内;
假设当前时间是T',如果T'-TS>Tt,那么中央授权中心将停止执行,并发出拒绝请求的信息给AAi
如果T'-TS<Tt,则中央授权中心重新计算t1=H1(Uidj||TS||0)和t2=H1(Uidj||TS||1),确保t1和t2没有被同一个用户重复使用;
这步骤可以阻止属性授权中心的合谋攻击;然后中央授权中心为用户生成最终秘钥并通过属性授权中心返回给用户;
最终秘钥(FUSK)具体如下:
其中L=(PKAidi)βt1gαt2=(gkAidi)βt1gαt2,K'=Qx kAidiβt1·gb(t1+t2),x∈Att;Dy,Dy'是最终秘钥的一部分,μ和r是两类安全参数,不会让用户知道的,ry表示不同的r类参数;所述S4包括以下步骤:
S41、获得藏在访问策略树T的根中所相对应的秘密s;
对访问决策树进行如下处理:
对于任一X2中的一个属性与访问决策树中的叶子节点所代表的属性相匹配,设对应属性为y,秘密值为sx;算法如下:
对于非叶子节点p,如果其子节点中有不小于kp的子节点传递了解密算法,那么将被解密的子节点集合表示为Sp,继续执行如下算法:
在上述式子中的Sx,z表示一个没有z元素的Sp集合,这个式子将返回TRUE,因为这些节点在同一个多项式中,并且sx是这个多项式的秘密值;
当根结点返回true值时,我们得到了S=e(g,g)μ·s作为第二步的输入参数;
S42、用重建的s对数据内容进行解密;
算法如下:
只有当用户的扩展属性集X2与访问策略树T相匹配时,用户才可以使用安全秘钥解密数据;否则,用户即使是从云服务器中下载了所有密文也无法解密;
其中,a,b,α,β∈Zp *;Fz与Fx是同一个公式,表示不同的输入;qz表示一个随机多项式;
所述S5包括以下内容:
属性授权中心验证用户的身份成功之后生成一个中间秘钥发送给中央授权中心,中央授权中心接收到中间秘钥之后,将不会进行二次验证用户的身份,而是直接发放最终秘钥;
还包括一个追踪机制,定期执行,以此来监督属性授权中心;追踪机制具体如下:
中央授权中心在开始追踪时,为了确认用户的密钥所有权,中央授权中心强迫要求可疑用户Uj上交其最终秘钥中的L,K',TS,并在可疑用户的属性里随机选取一个x∈Att,中央授权中心计算t1=H1(Uidj||TS||0)、t2=H1(Uidj||TS||1)和Kx'=Qx αt2·g-b(t1+t2),再验证以下等式是否成立:
e(Qx,L)=e(g,K'Kx')
如果等式成立就继续执行下一步;接下来要确认的就是哪个AA替可疑Uj生成中间秘钥;
CA使用主密钥MSK恢复与特定AA相对应的公钥,如下所示:
PK'=(L·g-αt2)1/βt1=gkAidiβt1/βt1=gkAidi
CA使用PK’作为索引来搜索AA;
如果某个唯一标识为Aidi的AAi拥有一个等于PK’的公钥,那么就意味着AAi恶意或错误地验证了该Uj的合法性;被发现的恶意属性授权中心应当被惩罚;
Kx'是CA在追踪过程计算的属性秘钥,PK'是CA使用主密钥MSK恢复与特定AA相对应的公钥。
CN202110624902.2A 2021-06-04 2021-06-04 一种基于多授权中心的可追踪比较属性加密方法 Active CN113489591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110624902.2A CN113489591B (zh) 2021-06-04 2021-06-04 一种基于多授权中心的可追踪比较属性加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110624902.2A CN113489591B (zh) 2021-06-04 2021-06-04 一种基于多授权中心的可追踪比较属性加密方法

Publications (2)

Publication Number Publication Date
CN113489591A CN113489591A (zh) 2021-10-08
CN113489591B true CN113489591B (zh) 2023-09-12

Family

ID=77934717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110624902.2A Active CN113489591B (zh) 2021-06-04 2021-06-04 一种基于多授权中心的可追踪比较属性加密方法

Country Status (1)

Country Link
CN (1) CN113489591B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001730B (zh) * 2022-03-02 2023-09-05 上海交通大学 分布式场景下基于角色属性的访问控制***及方法
CN114629640B (zh) * 2022-03-10 2024-01-09 东南大学 一种解决密钥托管问题的白盒可追责属性基加密***及其方法
CN114430321B (zh) * 2022-04-07 2022-07-12 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于dfa自适应安全的黑盒可追踪密钥属性加密方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039244A (ja) * 2010-08-04 2012-02-23 Nippon Hoso Kyokai <Nhk> コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム
CN103401839A (zh) * 2013-07-02 2013-11-20 河海大学 一种基于属性保护的多授权中心加密方法
CN106549758A (zh) * 2016-12-09 2017-03-29 四川师范大学 支持非单调访问结构的基于属性的加密方法
CN110830473A (zh) * 2019-11-08 2020-02-21 浙江工业大学 一种基于属性加密的多授权访问控制***及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039244A (ja) * 2010-08-04 2012-02-23 Nippon Hoso Kyokai <Nhk> コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム
CN103401839A (zh) * 2013-07-02 2013-11-20 河海大学 一种基于属性保护的多授权中心加密方法
CN106549758A (zh) * 2016-12-09 2017-03-29 四川师范大学 支持非单调访问结构的基于属性的加密方法
CN110830473A (zh) * 2019-11-08 2020-02-21 浙江工业大学 一种基于属性加密的多授权访问控制***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
改进的基于证书条件代理重加密方案;徐洁如;陈克非;沈忠华;徐晓栋;刘艳;;密码学报(第04期);全文 *

Also Published As

Publication number Publication date
CN113489591A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
CN111639361B (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN113489591B (zh) 一种基于多授权中心的可追踪比较属性加密方法
Zuo et al. Fine-grained two-factor protection mechanism for data sharing in cloud storage
CN114039790B (zh) 一种基于区块链的细粒度云存储安全访问控制方法
JP5130318B2 (ja) 証明書に基づく暗号化および公開鍵構造基盤
Guo et al. TABE-DAC: Efficient traceable attribute-based encryption scheme with dynamic access control based on blockchain
EP4007983A1 (en) Systems and methods for generating signatures
CN111130757A (zh) 一种基于区块链的多云cp-abe访问控制方法
JP6497747B2 (ja) 鍵交換方法、鍵交換システム
CN114219483B (zh) 基于lwe-cpabe的区块链数据共享方法、设备和存储介质
Xu et al. Multi-authority proxy re-encryption based on CPABE for cloud storage systems
CN112383550B (zh) 一种基于隐私保护的动态权限访问控制方法
CN111147460A (zh) 一种基于区块链的协同细粒度访问控制方法
Tiwari et al. SecCloudSharing: Secure data sharing in public cloud using ciphertext‐policy attribute‐based proxy re‐encryption with revocation
Li et al. Traceable Ciphertext‐Policy Attribute‐Based Encryption with Verifiable Outsourced Decryption in eHealth Cloud
CN116418560A (zh) 一种基于区块链智能合约的线上快速身份认证***及方法
CN108763944B (zh) 雾计算中安全可撤销多中心大属性域属性基加密方法
CN113836571B (zh) 基于云和区块链的医疗数据拥有终端位置匹配方法及***
CN116599659B (zh) 无证书身份认证与密钥协商方法以及***
KR100974628B1 (ko) 무선 센서 네트워크에서의 브로드 캐스팅 메시지 인증을 통한 그룹키 분배 방법, 그 시스템 및 이를 기록한 기록매체
CN116702191A (zh) 一种联邦学习的本地模型参数聚合方法
CN117118600A (zh) 一种基于格密码改进的区块链代理重加密方法及***
CN114844649B (zh) 一种基于超晶格puf的含可信第三方的密钥分发方法
CN114726503A (zh) 一种区块链车联网中的隐私保护数据订阅方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant