CN112039880B - 基于区块链分布式外包的双重策略访问控制方法 - Google Patents

基于区块链分布式外包的双重策略访问控制方法 Download PDF

Info

Publication number
CN112039880B
CN112039880B CN202010891275.4A CN202010891275A CN112039880B CN 112039880 B CN112039880 B CN 112039880B CN 202010891275 A CN202010891275 A CN 202010891275A CN 112039880 B CN112039880 B CN 112039880B
Authority
CN
China
Prior art keywords
key
attribute
matrix
parameter
representing
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
CN202010891275.4A
Other languages
English (en)
Other versions
CN112039880A (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.)
Henan University
Original Assignee
Henan 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 Henan University filed Critical Henan University
Priority to CN202010891275.4A priority Critical patent/CN112039880B/zh
Publication of CN112039880A publication Critical patent/CN112039880A/zh
Application granted granted Critical
Publication of CN112039880B publication Critical patent/CN112039880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

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

Abstract

本发明公开了一种基于区块链分布式外包的双重策略访问控制方法,包括加密存储步骤和解密读取步骤;加密存储步骤包括:A:授权系统随机生成系统参数,并根据授权节点保管的属性生成公钥、主密钥、主属性密钥和次属性密钥;B:由区块链节点和用户共同进行明文的加密;所述的解密读取步骤包括以下步骤:C:授权系统根据用户的主属性集、主密钥、主属性密钥、次属性密钥次访问结构和用户身份标识,计算得出安全密钥和外包密钥;D:由区块链节点和用户共同进行密文的解密。本发明能够提供双向访问控制和加解密外包服务的访问控制机制,更好的适应区块链分布式环境,还能将大量的计算外包给区块链节点,降低用户的计算开销。

Description

基于区块链分布式外包的双重策略访问控制方法
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链分布式外包的双重策略访问控制方法。
背景技术
区块链是一种按照时间顺序将数据以链式结构存储的分布式总账系统。相较于传统的中心服务器管理用户数据的模式,区块链去中心化的模式有效避免了单点故障并增加了攻击的难度。同时区块以链的形式串联在一起保证了数据真实可靠且不可篡改。由于区块链能够在不可信的环境中建立信任且保障数据的真实性,研究者们开始将区块链应用到物联网、供应链、医疗等领域中,以保障行业数据的安全和打破“数据孤岛”。
早期区块链被用于虚拟货币的发行,在虚拟货币系统中虽然交易是公开可查的,但对于其他用户来说交易却是匿名的。其他用户只能从交易记录中查到交易双方的账户地址,却无法得知账户地址对应用户的身份信息,这样的设计可以有效保护用户的隐私。而今区块链被用于物联网、供应链等非交易场景中,这些场景中的数据往往被赋予了一定的社会价值。因而这些数据不能像交易那样完全公开给所有人看,只能在有限的范围内进行共享。用户只希望其指定的利益相关方才能查看数据,而其他的用户不能查看。
而在传统的区块链中,任何用户都可以参与记账和查看交易数据,仅仅通过“伪匿名”的方式保护用户隐私,不同用户的访问权限不能区分,无法满足用户细粒度的访问控制需求。而引入访问控制机制后,用户可以根据自己的需求制定细粒度的访问策略,其他用户对数据的访问受到限制,只有授权用户才能访问数据。因此,研究者们开始将访问控制机制引入到区块链中,为物联网、供应链、医疗等领域提供访问控制服务。基于属性的加密(Attribute-Based Encryption,ABE,简称属性基加密)作为一种高效的访问控制机制,最初广泛应用于云存储中,将其引入区块链可以给用户提供细粒度的访问控制服务,具有重要的现实意义。
在物联网、供应链等多方参与数据共享、计算的场景中,访问者在访问数据时不仅需要接受数据所有者正向的身份验证,而且访问者也需要对访问的数据进行反向的属性验证,从而实现双向的访问控制。
然而现有ABE算法都是单一的身份验证模式,即CP-ABE Ciphertext-PolicyAttribute-Based Encryption)密文验证密钥模式或KP-ABE(Key-Policy Attribute-Based Encryption)的密钥验证密文模式。这两种模式虽然满足了用户安全共享的需求,但无法满足用户对双向访问控制的需求。为此Attrapadung等提出了双重策略的ABE方案,以满足用户双向访问控制的需求。在该方案中,一方面,如果访问者想访问数据所有者的数据,其密钥中的主观属性需要满足数据中的主观访问控制策略才能查看,以此实现了正向的访问控制;另一方面,如果访问者在访问数据所有者的数据时需要验证数据的属性,只需在密钥中制定相应的客观访问控制策略,这样在解密时算法会自动验证数据的客观属性是否满足访问者的要求,以此实现了反向的访问控制。
但该方案需要中心授权机构,如果直接引入到区块链会将降低其去中心化的程度,与应用区块链的初衷相悖。此外,该方案在加解密阶段会消耗巨大的算力,对于那些轻量级的物联网设备来说,无形中增加了其准入的门槛。
因此,设计一种适合在区块链环境中运行的,同时能够提供双向访问控制和加解密外包服务的访问控制机制,将有利于区块链在物联网、供应链等领域的应用。
发明内容
本发明的目的是提供一种基于区块链分布式外包的双重策略访问控制方法,能够提供双向访问控制和加解密外包服务的访问控制机制,更好的适应区块链分布式环境,还能将大量的计算外包给区块链节点,降低用户的计算开销,从而更好的满足供应链、物联网区块链的应用需求。
本发明采用下述技术方案:
一种基于区块链分布式外包的双重策略访问控制方法,包括加密存储步骤和解密读取步骤;
所述的加密存储步骤包括:
A:授权系统随机生成系统参数,并根据授权节点保管的属性生成公钥PK、主密钥MSK、主属性密钥USK和次属性密钥VSK;
B:由区块链节点和用户共同进行明文的加密;其中,区块链节点代理加密时,以公钥PK、主属性密钥USK、次属性密钥VSK、主访问结构(F,ρ)、次属性集ω和用户身份标识UID1作为输入,输出中间密文CT′;当用户加密时,用户结合公钥PK和明文M,对区块链节点发送的中间密文CT′进行整合,得到密文CT;
所述的解密读取步骤包括以下步骤:
C:授权系统根据用户的主属性集θ、主密钥MSK、主属性密钥USK、次属性密钥VSK、次访问结构(N,π)和用户身份标识UID2,计算得出安全密钥SSK和外包密钥ASK;
D:由区块链节点和用户共同进行密文的解密。
所述的步骤A包括以下具体步骤:
A1:授权系统选择一个生成元为g的q阶双线性群
Figure BDA0002657079990000041
以及双线性映射
Figure BDA0002657079990000042
其中,
Figure BDA0002657079990000043
Figure BDA0002657079990000044
是素数阶双线性群,g为生成元,q为双线性群
Figure BDA0002657079990000045
的阶数,
Figure BDA0002657079990000046
表示
Figure BDA0002657079990000047
Figure BDA0002657079990000048
满足映射关系e;
A2:授权系统选择哈希函数
Figure BDA0002657079990000049
将用户标识UID映射到双线性群
Figure BDA00026570799900000410
哈希函数
Figure BDA00026570799900000411
表示将任意二进制字符映射到双线性群
Figure BDA00026570799900000412
A3:所有参与授权的授权节点执行DKG协议,生成公共参数a,b,每个参与公共参数生成的授权节点保留秘密值相应的份额;
A4:设网络中存在的授权节点数为n,授权节点ACi管理着主属性集
Figure BDA00026570799900000413
和次属性集
Figure BDA00026570799900000414
i表示节点的编号且i=1,2,…,n,授权节点ACi根据自身管理的主属性集
Figure BDA00026570799900000415
随机选择参数
Figure BDA00026570799900000416
其中参数
Figure BDA00026570799900000417
均属于
Figure BDA00026570799900000418
j表示主属性,且
Figure BDA00026570799900000419
授权节点ACi根据自身管理的次属性集
Figure BDA00026570799900000427
随机选择参数δddd,其中参数δddd均属于
Figure BDA00026570799900000420
d表示次属性,且
Figure BDA00026570799900000421
A5:授权系统对于节点i=1,2,…,n生成公钥
Figure BDA00026570799900000422
主密钥
Figure BDA00026570799900000423
主属性密钥
Figure BDA00026570799900000424
和次属性密钥
Figure BDA00026570799900000425
其中,g为生成元,i为节点序号,j为主属性,d为次属性,
Figure BDA00026570799900000426
表示主属性j对应的随机参数,δddd表示次属性d对应的随机参数;
A6:授权系统生成公钥PK=(ga,gb,{PKi}i=1,2,…,n)、主密钥MSK=(a,b,{MSKi}i=1,2,…,n)、主属性密钥USK=({USKi}i=1,2,…,n)和次属性密钥VSK=({VSKi}i=1,2,…,n)。
所述的步骤B包括以下具体步骤:
B1:代理加密系统获取步骤A中得到的公钥PK、主属性密钥USK和次属性密钥VSK,同时获取主访问结构(F,ρ)、次属性集ω和用户身份标识UID1,其中F为一个l1×k1的矩阵,l1表示矩阵F的行数,k1表示矩阵F的列数,ρ将F中的行映射到访问策略的某个属性;
B2:代理加密系统随机生成k1个向量参数
Figure BDA0002657079990000051
向量参数
Figure BDA0002657079990000052
均属于
Figure BDA0002657079990000053
B3:代理加密系统生成向量
Figure BDA0002657079990000054
Figure BDA0002657079990000055
B4:代理加密系统令
Figure BDA0002657079990000056
为矩阵F第
Figure BDA0002657079990000057
行,然后通过向量计算得到计算参数
Figure BDA0002657079990000058
Figure BDA0002657079990000059
最后对于每个
Figure BDA00026570799900000510
随机选择随机数
Figure BDA00026570799900000511
其中,T表示转置,
Figure BDA00026570799900000512
表示矩阵F的第
Figure BDA00026570799900000513
行,
Figure BDA00026570799900000514
表示矩阵F的行号且
Figure BDA00026570799900000515
Figure BDA00026570799900000516
表示矩阵F的第
Figure BDA00026570799900000528
行对应的随机数且
Figure BDA00026570799900000517
B5:代理加密系统对构成中间密文的密文参数进行计算,包括:
Figure BDA00026570799900000518
Figure BDA00026570799900000519
其中,参数
Figure BDA00026570799900000520
C′、C″、
Figure BDA00026570799900000521
Figure BDA00026570799900000522
表示中间密文的组成参数,
Figure BDA00026570799900000523
Figure BDA00026570799900000524
表示矩阵F的第
Figure BDA00026570799900000525
行对应的中间密文的组成参数,
Figure BDA00026570799900000526
表示矩阵F的行号,s为秘密参数,
Figure BDA00026570799900000527
表示将F中的第
Figure BDA0002657079990000061
行映射到访问策略的属性且
Figure BDA0002657079990000062
表示主属性
Figure BDA0002657079990000063
对应的随机参数,
Figure BDA0002657079990000064
表示主属性
Figure BDA0002657079990000065
对应的随机参数,
Figure BDA0002657079990000066
表示主属性
Figure BDA0002657079990000067
对应的随机参数,t表示密文的次属性集且t∈ω,δt表示次属性t对应的随机参数,εt表示次属性t对应的随机参数,φt表示次属性t对应的随机参数,H(UID1)表示哈希函数H()将用户标识UID1映射到双线性群
Figure BDA0002657079990000068
B6:代理加密系统得出中间密文CT′;
Figure BDA0002657079990000069
区块链节点将中间密文CT′发送给文件所有者,即用户;
B7:用户加密系统随机选择加密参数
Figure BDA00026570799900000610
用于加密明文M;
B8:用户加密系统对明文进行加密,计算密文参数
Figure BDA00026570799900000611
Figure BDA00026570799900000612
B9:用户加密系统对中间密文CT′进行整合得到密文CT:
Figure BDA00026570799900000613
所述的步骤C包括以下具体步骤:
C1:授权系统获取步骤A中得到的主密钥MSK、主属性密钥USK和次属性密钥VSK,同时获取次访问结构(N,π)、主属性集θ和用户身份标识UID2,其中N为一个l2×k2的矩阵,l2表示矩阵N的行数,k2表示矩阵N的列数,π将N中的行映射到访问策略的次属性中;
C2:授权系统随机生成k2个向量参数
Figure BDA00026570799900000614
向量参数
Figure BDA00026570799900000615
均属于
Figure BDA00026570799900000616
C3:授权系统生成向量
Figure BDA00026570799900000617
Figure BDA00026570799900000618
C4:授权系统令Nx′为矩阵N第x′行,然后通过向量计算得到计算参数σx′和τx′
Figure BDA00026570799900000619
Figure BDA00026570799900000620
最后对于每个Nx′随机选择随机数
Figure BDA0002657079990000071
其中,x′表示矩阵N的行号且x′=1,2,…,l2,Nx′表示矩阵N的第x′行,T表示转置,ux′表示矩阵N的第x′行对应的随机数且
Figure BDA0002657079990000072
C5:授权系统对构成安全密钥和外包密钥的密钥参数计算,包括:
Figure BDA0002657079990000073
其中,参数
Figure BDA0002657079990000074
K1,x′、K2,x′、K3,x′、K4,x′、K5,x′和K6,x′表示外包密钥ASK的组成参数,K1,x′、K2,x′、K3,x′、K4,x′、K5,x′和K6,x′表示矩阵N的第x′行对应的外包密钥ASK的组成参数,K′和K″表示安全密钥SSK的组成参数,x′表示矩阵N的行号,π(x′)表示将N中的第x′行映射到访问策略的属性且
Figure BDA00026570799900000710
δπ(x′)表示次属性π(x′)对应的随机参数,επ(x′)表示次属性π(x′)对应的随机参数,φπ(x′)表示次属性π(x′)对应的随机参数,t′表示密文的主属性集且t′∈θ,αt′表示主属性t′对应的随机参数,βt′表示主属性t′对应的随机参数,
Figure BDA00026570799900000712
表示主属性t′对应的随机参数,H(UID2)表示哈希函数H()将用户标识UID2映射到双线性群
Figure BDA0002657079990000075
C6:授权系统生成外包密钥ASK:
Figure BDA0002657079990000076
C7:授权系统生成安全密钥SSK:SSK={K′,K″}。
所述的步骤D包括以下具体步骤:
D1:代理解密系统输入外包密钥ASK、密文CT;
D2:如果用户主属性集θ能够满足主访问结构(F,ρ),代理解密系统令解密参数
Figure BDA00026570799900000711
然后对于
Figure BDA0002657079990000078
生成随机参数
Figure BDA0002657079990000079
通过计算得出:
Figure BDA0002657079990000081
其中,
Figure BDA0002657079990000082
表示矩阵F的行号,
Figure BDA0002657079990000083
表示将矩阵F中的行映射到访问策略的属性且
Figure BDA0002657079990000084
Φ表示矩阵F中对应属性满足主属性集的行号的集合且
Figure BDA00026570799900000844
Figure BDA0002657079990000085
表示矩阵F的第
Figure BDA00026570799900000845
行对应的随机参数且
Figure BDA0002657079990000086
Figure BDA0002657079990000087
Figure BDA0002657079990000088
均为矩阵F的第
Figure BDA0002657079990000089
行在密文中对应的参数,
Figure BDA00026570799900000810
表示通过对
Figure BDA00026570799900000811
Figure BDA00026570799900000812
计算得出保存的秘密参数s,
Figure BDA00026570799900000813
表示
Figure BDA00026570799900000814
Figure BDA00026570799900000815
计算得出的结果为0,代表未保存秘密参数;
D3:如果用户次属性集ω能够满足次访问结构(N,π),代理解密系统令解密参数
Figure BDA00026570799900000846
然后对于
Figure BDA00026570799900000817
生成随机参数
Figure BDA00026570799900000818
通过计算得出:
Figure BDA00026570799900000819
其中,
Figure BDA00026570799900000820
表示矩阵N的行号,
Figure BDA00026570799900000821
表示将矩阵N中的行映射到访问策略的属性且
Figure BDA00026570799900000822
Ω表示矩阵N的行号的集合且
Figure BDA00026570799900000823
Figure BDA00026570799900000824
表示矩阵N的第
Figure BDA00026570799900000825
行对应的随机参数且
Figure BDA00026570799900000826
Figure BDA00026570799900000827
Figure BDA00026570799900000828
均为矩阵N的第
Figure BDA00026570799900000829
行在密文中对应的参数,
Figure BDA00026570799900000830
表示通过对
Figure BDA00026570799900000831
Figure BDA00026570799900000832
计算可以得出保存的参数
Figure BDA00026570799900000833
Figure BDA00026570799900000834
表示
Figure BDA00026570799900000835
Figure BDA00026570799900000836
计算得出的结果为0,代表未保存秘密参数;
D4:代理解密系统计算并得出中间密文C′:
Figure BDA00026570799900000837
其中,
Figure BDA00026570799900000838
Figure BDA00026570799900000839
表示矩阵F的第
Figure BDA00026570799900000840
行在密文CT中对应的参数值,
Figure BDA00026570799900000841
Figure BDA00026570799900000842
表示矩阵N的第
Figure BDA00026570799900000843
行在外包密钥ASK中对应的参数值,
Figure BDA0002657079990000091
表示主属性
Figure BDA0002657079990000092
对应的密钥参数,
Figure BDA0002657079990000093
表示主属性
Figure BDA0002657079990000094
对应的密钥参数,
Figure BDA0002657079990000095
表示次属性
Figure BDA0002657079990000096
对应的密钥参数,
Figure BDA0002657079990000097
表示次属性
Figure BDA0002657079990000098
对应的密钥参数;
D5:用户解密系统输入密文CT、中间密文C′、安全密钥SSK;
D6:用户解密系统计算并得出明文M:
Figure BDA0002657079990000099
所述的步骤A1中,
Figure BDA00026570799900000910
Figure BDA00026570799900000911
满足映射关系e,e满足以下条件:
(1)双线性,对于
Figure BDA00026570799900000912
均存在
Figure BDA00026570799900000913
(2)非退化性,
Figure BDA00026570799900000914
使
Figure BDA00026570799900000915
成立,
Figure BDA00026570799900000916
代表
Figure BDA00026570799900000917
群的单位元;
(3)可计算性,存在有效的算法对
Figure BDA00026570799900000918
计算
Figure BDA00026570799900000919
其中,
Figure BDA00026570799900000920
Figure BDA00026570799900000921
是素数阶双线性群,
Figure BDA00026570799900000922
表示模为素数q的有限整数域,整数x属于
Figure BDA00026570799900000923
用于双线性计算中的指数,整数y属于
Figure BDA00026570799900000924
用于双线性计算中的指数,数
Figure BDA00026570799900000925
属于
Figure BDA00026570799900000926
用于双线性计算中的底数,数β属于
Figure BDA00026570799900000927
用于双线性计算中的底数,
Figure BDA00026570799900000928
为双线性计算公式。
本发明首先结合了现有的双重策略ABE方案的设计思想,在区块链中实现了双向的访问控制;其次采用了分布式密钥生成协议,实现了分布式授权中心,将单一的授权中心分散化,不仅有效避免了单点故障,而且能更好的适应区块链分布式环境;最后本发明增加了密文加解密外包的设计,将大量的计算外包给区块链节点,降低用户的计算开销,满足未来越来越多的轻量级设备的应用需求。
附图说明
图1为本发明的流程示意图。
具体实施方式
以下结合附图和实施例对本发明作以详细的描述:
如图1所示,本发明所述的基于区块链分布式外包的双重策略访问控制方法,包括加密存储步骤和解密读取步骤;
现有的访问控制系统包括授权系统,授权系统是访问控制系统的核心组件,用于初始化和密钥的生成。本发明中还设计了代理加解密系统和用户加解密系统。代理加解密系统由区块链节点执行,用于为用户提供明文的加密和密文的解密代理计算服务,以减轻用户计算的压力。用户加解密系统负责完成明文的加密和密文的解密的最后阶段的计算任务,以有效的保护用户隐私信息。
所述的加密存储步骤包括以下步骤:
A:授权系统随机生成系统参数,并根据授权节点保管的属性生成公钥PK、主密钥MSK、主属性密钥USK和次属性密钥VSK;上述过程是对加解密过程中需要的相关参数进行生成,由授权系统运行。
本实施例中,步骤A包括以下具体步骤:
A1:授权系统选择一个生成元为g的q阶双线性群
Figure BDA0002657079990000101
以及双线性映射
Figure BDA0002657079990000102
其中,
Figure BDA0002657079990000103
Figure BDA0002657079990000104
是素数阶双线性群,g为生成元,q为双线性群
Figure BDA0002657079990000105
的阶数,
Figure BDA0002657079990000106
表示
Figure BDA0002657079990000107
Figure BDA0002657079990000108
满足一个映射关系e,e满足以下条件:
(1)双线性,对于
Figure BDA0002657079990000109
均存在
Figure BDA00026570799900001010
(2)非退化性,
Figure BDA00026570799900001011
使
Figure BDA00026570799900001012
成立,
Figure BDA00026570799900001013
代表
Figure BDA00026570799900001014
群的单位元;
(3)可计算性,存在有效的算法对
Figure BDA00026570799900001015
计算
Figure BDA00026570799900001016
其中,
Figure BDA0002657079990000111
Figure BDA0002657079990000112
是素数阶双线性群,
Figure BDA0002657079990000113
表示模为素数q的有限整数域,整数x属于
Figure BDA0002657079990000114
用于双线性计算中的指数,整数y属于
Figure BDA0002657079990000115
用于双线性计算中的指数,数
Figure BDA00026570799900001128
属于
Figure BDA0002657079990000116
用于双线性计算中的底数,数β属于
Figure BDA0002657079990000117
用于双线性计算中的底数,
Figure BDA0002657079990000118
为双线性计算公式,满足上述公知条件。
A2:授权系统选择哈希函数
Figure BDA0002657079990000119
将用户标识UID映射到双线性群
Figure BDA00026570799900001110
哈希函数
Figure BDA00026570799900001111
表示将任意二进制字符映射到双线性群
Figure BDA00026570799900001112
A3:所有参与授权的授权节点执行DKG(Distributed key generation)协议,生成公共参数a,b,每个参与公共参数生成的授权节点保留秘密值相应的份额,DKG协议为分布式密钥生成协议,DKG协议可以将一个秘密值拆分成n份,n为正整数,分别由n个用户持有,当需要恢复秘密值时,只需其中m份就可以恢复秘密值,m为正整数且m≤n。因此,根据DKG协议生成公共参数a和b,且a和b均属于
Figure BDA00026570799900001113
用于下述步骤中公钥和主密钥的生成。
A4:网络中存在的授权节点数为n,授权节点ACi管理着主属性集
Figure BDA00026570799900001114
和次属性集
Figure BDA00026570799900001115
i表示节点的编号且i=1,2,…,n,授权节点ACi根据自身管理的主属性集
Figure BDA00026570799900001116
随机选择参数
Figure BDA00026570799900001117
用于下述步骤中公钥、主密钥和主属性密钥的生成,其中参数
Figure BDA00026570799900001118
均属于
Figure BDA00026570799900001119
j表示主属性,且
Figure BDA00026570799900001120
授权节点ACi根据自身管理的次属性集
Figure BDA00026570799900001121
随机选择参数δddd,用于下述步骤中公钥、主密钥和次属性密钥的生成,其中参数δddd均属于
Figure BDA00026570799900001122
d表示次属性,且
Figure BDA00026570799900001123
A5:授权系统对于节点i=1,2,…,n生成公钥
Figure BDA00026570799900001124
主密钥
Figure BDA00026570799900001125
主属性密钥
Figure BDA00026570799900001126
和次属性密钥
Figure BDA00026570799900001127
其中,g为生成元,i为节点序号,j为主属性用于公钥、主属性密钥和主密钥的生成,d为次属性用于公钥、次属性密钥和主密钥的生成,
Figure BDA0002657079990000121
表示主属性j对应的随机参数,
Figure BDA0002657079990000122
表示次属性d对应的随机参数;
A6:授权系统生成公钥PK=(ga,gb,{PKi}i=1,2,…,n)、主密钥MSK=(a,b,{MSKi}i=1,2,…,n)、主属性密钥USK=({USKi}i=1,2,…,n)和次属性密钥VSK=({VSKi}i=1,2,…,n)。
B:由区块链节点和用户共同进行明文的加密;其中,区块链节点代理加密时,以公钥PK、主属性密钥USK、次属性密钥VSK、主访问结构(F,ρ)、次属性集ω和用户身份标识UID1作为输入,输出中间密文CT′;当用户加密时,用户结合公钥PK和明文M,对区块链节点发送的中间密文CT′进行整合,得到密文CT;
加密是对明文进行加密,本发明中由区块链节点和用户共同完成。首先区块链节点对访问策略进行加密并得到中间密文,区块链节点将大量的计算过程承担下来,以减轻用户计算的压力。其次用户对明文进行加密,只需进行简单计算便可以得到密文。
本实施例中,步骤B包括以下具体步骤:
区块链节点代理加密:
B1:代理加密系统获取步骤A中得到的公钥PK、主属性密钥USK和次属性密钥VSK,同时获取主访问结构(F,ρ)、次属性集ω和用户身份标识UID1,其中F为一个l1×k1的矩阵,l1表示矩阵F的行数,k1表示矩阵F的列数,ρ将F中的行映射到访问策略的某个属性;
B2:代理加密系统随机生成k1个向量参数
Figure BDA0002657079990000123
向量参数
Figure BDA0002657079990000124
均属于
Figure BDA0002657079990000125
用于向量
Figure BDA0002657079990000126
Figure BDA0002657079990000127
的生成;
B3:代理加密系统生成向量
Figure BDA0002657079990000131
Figure BDA0002657079990000132
用于参与后续步骤的计算;
B4:代理加密系统令
Figure BDA0002657079990000133
为矩阵F第
Figure BDA0002657079990000134
行,然后通过向量计算得到计算参数
Figure BDA0002657079990000135
Figure BDA0002657079990000136
计算参数
Figure BDA0002657079990000137
Figure BDA0002657079990000138
用于中间密文的生成,最后对于每个
Figure BDA0002657079990000139
随机选择随机数
Figure BDA00026570799900001310
其中,T表示转置,
Figure BDA00026570799900001311
表示矩阵F的第
Figure BDA00026570799900001312
行,
Figure BDA00026570799900001313
表示矩阵F的行号且
Figure BDA00026570799900001314
Figure BDA00026570799900001315
表示矩阵F的第
Figure BDA00026570799900001316
行对应的随机数且
Figure BDA00026570799900001317
B5:代理加密系统对构成中间密文的密文参数进行计算,包括:
Figure BDA00026570799900001318
Figure BDA00026570799900001319
其中,参数
Figure BDA00026570799900001320
C′、C″、
Figure BDA00026570799900001321
Figure BDA00026570799900001322
表示中间密文的组成参数,
Figure BDA00026570799900001323
Figure BDA00026570799900001324
表示矩阵F的第
Figure BDA00026570799900001325
行对应的中间密文的组成参数,
Figure BDA00026570799900001326
表示矩阵F的行号,s为秘密参数,
Figure BDA00026570799900001327
表示将F中的第
Figure BDA00026570799900001328
行映射到访问策略的属性且
Figure BDA00026570799900001329
表示主属性
Figure BDA00026570799900001330
对应的随机参数,
Figure BDA00026570799900001331
表示主属性
Figure BDA00026570799900001332
对应的随机参数,
Figure BDA00026570799900001333
表示主属性
Figure BDA00026570799900001334
对应的随机参数,t表示密文的次属性集且t∈ω,δt表示次属性t对应的随机参数,εt表示次属性t对应的随机参数,φt表示次属性t对应的随机参数,H(UID1)表示哈希函数H()将用户标识UID1映射到双线性群
Figure BDA00026570799900001335
B6:代理加密系统得出中间密文CT′;
Figure BDA00026570799900001336
区块链节点将中间密文CT′发送给文件所有者,即用户;
用户加密:
B7:用户加密系统随机选择加密参数
Figure BDA0002657079990000141
用于加密明文M;
B8:用户加密系统对明文进行加密,计算密文参数
Figure BDA0002657079990000142
Figure BDA0002657079990000143
B9:用户加密系统对中间密文CT′进行整合得到密文CT:
Figure BDA0002657079990000144
所述的解密读取步骤包括以下步骤:
C:授权系统根据用户的主属性集θ、主密钥MSK、主属性密钥USK、次属性密钥VSK、次访问结构(N,π)和用户身份标识UID2,计算得出安全密钥SSK和外包密钥ASK;密钥生成是为用户生成访问密文时所需密钥,为解密密文做铺垫。
本实施例中,步骤C包括以下具体步骤:
C1:授权系统获取步骤A中得到的主密钥MSK、主属性密钥USK和次属性密钥VSK,同时获取次访问结构(N,π)、主属性集θ和用户身份标识UID2,其中N为一个l2×k2的矩阵,l2表示矩阵N的行数,k2表示矩阵N的列数,π将N中的行映射到访问策略的次属性中;
C2:授权系统随机生成k2个向量参数
Figure BDA0002657079990000145
向量参数
Figure BDA0002657079990000146
均属于
Figure BDA0002657079990000147
用于向量
Figure BDA0002657079990000148
Figure BDA0002657079990000149
的生成;
C3:授权系统生成向量
Figure BDA00026570799900001410
Figure BDA00026570799900001411
用于参与后续步骤的计算;
C4:授权系统令Nx′为矩阵N第x′行,然后通过向量计算得到计算参数σx′和τx′
Figure BDA00026570799900001412
Figure BDA00026570799900001413
计算参数σx′和τx′用于后续步骤中安全密钥和外包密钥的生成,最后对于每个Nx′随机选择随机数
Figure BDA00026570799900001414
其中,x′表示矩阵N的行号且x′=1,2,…,l2,Nx′表示矩阵N的第x′行,T表示转置,ux′表示矩阵N的第x′行对应的随机数且
Figure BDA0002657079990000151
C5:授权系统对构成安全密钥和外包密钥的密钥参数计算,包括:
Figure BDA0002657079990000152
其中,参数
Figure BDA0002657079990000153
K1,x′、K2,x′、K3,x′、K4,x′、K5,x′和K6,x′表示外包密钥ASK的组成参数,K1,x′、K2,x′、K3,x′、K4,x′、K5,x′和K6,x′表示矩阵N的第x′行对应的外包密钥ASK的组成参数,K′和K″表示安全密钥SSK的组成参数,x′表示矩阵N的行号,π(x′)表示将N中的第x′行映射到访问策略的属性且
Figure BDA0002657079990000154
δπ(x′)表示次属性π(x′)对应的随机参数,επ(x′)表示次属性π(x′)对应的随机参数,φπ(x′)表示次属性π(x′)对应的随机参数,t′表示密文的主属性集且t′∈θ,αt′表示主属性t′对应的随机参数,βt′表示主属性t′对应的随机参数,
Figure BDA0002657079990000155
表示主属性t′对应的随机参数,H(UID2)表示哈希函数H()将用户标识UID2映射到双线性群
Figure BDA0002657079990000156
C6:授权系统生成外包密钥ASK:
Figure BDA0002657079990000157
C7:授权系统生成安全密钥SSK:SSK={K′,K″};
D:由区块链节点和用户共同进行密文的解密。
首先,区块链节点代理解密,以外包密钥ASK、密文CT作为输入,如果主属性集θ满足主访问结构(F,ρ),次属性集ω满足次访问结构(N,π),那么输出中间密文C′;其次,当用户解密时,用户结合密文CT、中间密文C′和安全密钥SSK,解密并输出明文M。
解密是对密文进行解密,由区块链节点和用户一起完成。首先区块链节点对密文进行解密,在解密的过程实现访问控制策略对用户属性的验证,只有主属性集满足主访问结构、次属性集满足次访问结构时,才能解密出中间密文,此过程中完成了解密过程的大部分的计算,为用户解密减少了计算量。其次用户使用安全密钥对中间密文进行解密,最后得到明文,解密结束。
本实施例中,步骤D包括以下具体步骤:
区块链节点代理解密:
D1:代理解密系统输入外包密钥ASK、密文CT;
D2:如果用户主属性集θ能够满足主访问结构(F,ρ),代理解密系统令解密参数
Figure BDA0002657079990000161
然后对于
Figure BDA0002657079990000162
生成随机参数
Figure BDA0002657079990000163
则可以通过计算得出相关结论:
Figure BDA0002657079990000164
其中,
Figure BDA0002657079990000165
表示矩阵F的行号,
Figure BDA0002657079990000166
表示将矩阵F中的行映射到访问策略的属性且
Figure BDA0002657079990000167
Φ表示矩阵F中对应属性满足主属性集的行号的集合且
Figure BDA0002657079990000168
Figure BDA0002657079990000169
表示矩阵F的第
Figure BDA00026570799900001610
行对应的随机参数且
Figure BDA00026570799900001611
Figure BDA00026570799900001612
Figure BDA00026570799900001613
均为矩阵F的第
Figure BDA00026570799900001614
行在密文中对应的参数,
Figure BDA00026570799900001615
表示通过对
Figure BDA00026570799900001616
Figure BDA00026570799900001617
计算可以得出保存的秘密参数s,
Figure BDA00026570799900001618
表示
Figure BDA00026570799900001619
Figure BDA00026570799900001620
计算得出的结果为0,代表未保存秘密参数;
D3:如果用户次属性集ω能够满足次访问结构(N,π),代理解密系统令解密参数
Figure BDA00026570799900001621
然后对于
Figure BDA00026570799900001622
生成随机参数
Figure BDA00026570799900001623
则可以通过计算得出相关结论:
Figure BDA00026570799900001624
其中,
Figure BDA00026570799900001625
表示矩阵N的行号,
Figure BDA00026570799900001626
表示将矩阵N中的行映射到访问策略的属性且
Figure BDA00026570799900001627
Ω表示矩阵N的行号的集合且
Figure BDA00026570799900001638
Figure BDA00026570799900001628
表示矩阵N的第
Figure BDA00026570799900001629
行对应的随机参数且
Figure BDA00026570799900001630
Figure BDA00026570799900001631
Figure BDA00026570799900001632
均为矩阵N的第
Figure BDA00026570799900001633
行在密文中对应的参数,
Figure BDA00026570799900001634
表示通过对
Figure BDA00026570799900001635
Figure BDA00026570799900001636
计算可以得出保存的参数
Figure BDA00026570799900001637
Figure BDA0002657079990000171
表示
Figure BDA0002657079990000172
Figure BDA0002657079990000173
计算得出的结果为0,代表未保存秘密参数;
D4:代理解密系统计算并得出中间密文C′:
Figure BDA0002657079990000174
其中,
Figure BDA0002657079990000175
Figure BDA0002657079990000176
表示矩阵F的第
Figure BDA0002657079990000177
行在密文CT中对应的参数值,
Figure BDA0002657079990000178
Figure BDA0002657079990000179
表示矩阵N的第
Figure BDA00026570799900001710
行在外包密钥ASK中对应的参数值,
Figure BDA00026570799900001711
表示主属性
Figure BDA00026570799900001712
对应的密钥参数,
Figure BDA00026570799900001713
表示主属性
Figure BDA00026570799900001714
对应的密钥参数,
Figure BDA00026570799900001715
表示次属性
Figure BDA00026570799900001716
对应的密钥参数,
Figure BDA00026570799900001717
表示次属性
Figure BDA00026570799900001718
对应的密钥参数;
用户解密时:
D5:用户解密系统输入密文CT、中间密文C′、安全密钥SSK;
D6:用户解密系统计算并得出明文M:
Figure BDA00026570799900001719
本发明在区块链环境中实现了分布式授权、双向的访问控制和外包加解密,为用户在区块链环境中提供细粒度的访问控制服务。本发明包括加密存储、解密读取两个部分,加密存储实现了系统的初始化和明文的加密,以便于将用户的明文加密从而保护用户的隐私信息;解密读取实现了用户私钥的生成和密文的解密,在此过程中文件所有者可以对访问者的身份进行验证,只有符合文件所有者授权条件的用户才能解开密文,访问者也可以对密文的属性进行验证,只有满足访问者要求的密文才能被访问者查看。

Claims (6)

1.一种基于区块链分布式外包的双重策略访问控制方法,其特征在于:包括加密存储步骤和解密读取步骤;
所述的加密存储步骤包括:
A:授权系统随机生成系统参数,并根据授权节点保管的属性生成公钥PK、主密钥MSK、主属性密钥USK和次属性密钥VSK;
B:由区块链节点和用户共同进行明文的加密;其中,区块链节点代理加密时,以公钥PK、主属性密钥USK、次属性密钥VSK、主访问结构(F,ρ)、次属性集ω和用户身份标识UID1作为输入,输出中间密文CT′;当用户加密时,用户结合公钥PK和明文M,对区块链节点发送的中间密文CT′进行整合,得到密文CT;
其中,F为一个l1×k1的矩阵,l1表示矩阵F的行数,k1表示矩阵F的列数,ρ将F中的行映射到访问策略的某个属性;
所述的解密读取步骤包括以下步骤:
C:授权系统根据用户的主属性集θ、主密钥MSK、主属性密钥USK、次属性密钥VSK、次访问结构(N,π)和用户身份标识UID2,计算得出安全密钥SSK和外包密钥ASK;
其中,N为一个l2×k2的矩阵,l2表示矩阵N的行数,k2表示矩阵N的列数,π将N中的行映射到访问策略的次属性中;
D:由区块链节点和用户共同进行密文的解密。
2.根据权利要求1所述的基于区块链分布式外包的双重策略访问控制方法,其特征在于,所述的步骤A包括以下具体步骤:
A1:授权系统选择一个生成元为g的q阶双线性群
Figure FDA0003107684070000021
以及双线性映射
Figure FDA0003107684070000022
其中,
Figure FDA0003107684070000023
Figure FDA0003107684070000024
是素数阶双线性群,g为生成元,q为双线性群
Figure FDA0003107684070000025
的阶数,
Figure FDA0003107684070000026
表示
Figure FDA0003107684070000027
Figure FDA0003107684070000028
满足映射关系e;
A2:授权系统选择哈希函数
Figure FDA0003107684070000029
将用户身份标识UID映射到双线性群
Figure FDA00031076840700000210
哈希函数
Figure FDA00031076840700000211
表示将任意二进制字符映射到双线性群
Figure FDA00031076840700000212
A3:所有参与授权的授权节点执行DKG协议,生成公共参数a,b,每个参与公共参数生成的授权节点保留秘密值相应的份额;
A4:设网络中存在的授权节点数为n,授权节点ACi管理着主属性集
Figure FDA00031076840700000213
和次属性集
Figure FDA00031076840700000214
i表示节点的编号且i=1,2,…,n,授权节点ACi根据自身管理的主属性集
Figure FDA00031076840700000215
随机选择参数αjj,
Figure FDA00031076840700000216
其中参数αjj,
Figure FDA00031076840700000217
均属于
Figure FDA00031076840700000218
j表示主属性,且
Figure FDA00031076840700000219
授权节点ACi根据自身管理的次属性集
Figure FDA00031076840700000220
随机选择参数δddd,其中参数δddd均属于
Figure FDA00031076840700000221
d表示次属性,且
Figure FDA00031076840700000222
Figure FDA00031076840700000223
表示模为素数q的有限整数域;
A5:授权系统对于节点i=1,2,…,n生成公钥
Figure FDA00031076840700000224
主密钥
Figure FDA00031076840700000225
主属性密钥
Figure FDA00031076840700000226
和次属性密钥
Figure FDA00031076840700000227
其中,g为生成元,i为节点序号,j为主属性,d为次属性,αjj,
Figure FDA00031076840700000228
表示主属性j对应的随机参数,δddd表示次属性d对应的随机参数;
A6:授权系统生成公钥PK=(ga,gb,{PKi}i=1,2,…,n)、主密钥MSK=(a,b,{MSKi}i=1,2,…,n)、主属性密钥USK=({USKi}i=1,2,…,n)和次属性密钥VSK=({VSKi}i=1,2,…,n)。
3.根据权利要求2所述的基于区块链分布式外包的双重策略访问控制方法,其特征在于,所述的步骤B包括以下具体步骤:
B1:代理加密系统获取步骤A中得到的公钥PK、主属性密钥USK和次属性密钥VSK,同时获取主访问结构(F,ρ)、次属性集ω和用户身份标识UID1,其中F为一个l1×k1的矩阵,l1表示矩阵F的行数,k1表示矩阵F的列数,ρ将F中的行映射到访问策略的某个属性;
B2:代理加密系统随机生成k1个向量参数
Figure FDA0003107684070000031
向量参数
Figure FDA0003107684070000032
均属于
Figure FDA0003107684070000033
B3:代理加密系统生成向量
Figure FDA0003107684070000034
Figure FDA0003107684070000035
B4:代理加密系统令
Figure FDA0003107684070000036
为矩阵F第
Figure FDA0003107684070000037
行,然后通过向量计算得到计算参数
Figure FDA0003107684070000038
Figure FDA0003107684070000039
Figure FDA00031076840700000310
最后对于每个
Figure FDA00031076840700000311
随机选择随机数
Figure FDA00031076840700000312
其中,T表示转置,
Figure FDA00031076840700000313
表示矩阵F的第
Figure FDA00031076840700000314
行,
Figure FDA00031076840700000315
表示矩阵F的行号且
Figure FDA00031076840700000316
Figure FDA00031076840700000317
表示矩阵F的第
Figure FDA00031076840700000318
行对应的随机数且
Figure FDA00031076840700000319
B5:代理加密系统对构成中间密文的密文参数进行计算,包括:
Figure FDA00031076840700000320
Figure FDA00031076840700000321
Figure FDA00031076840700000322
Figure FDA00031076840700000323
其中,参数
Figure FDA00031076840700000324
C′、C″、
Figure FDA00031076840700000325
Figure FDA00031076840700000326
表示中间密文的组成参数,
Figure FDA00031076840700000327
Figure FDA00031076840700000328
表示矩阵F的第
Figure FDA00031076840700000329
行对应的中间密文的组成参数,
Figure FDA00031076840700000330
表示矩阵F的行号,s为向量参数,
Figure FDA00031076840700000331
表示将F中的第
Figure FDA00031076840700000332
行映射到访问策略的属性且
Figure FDA00031076840700000333
Figure FDA00031076840700000334
表示主属性
Figure FDA00031076840700000335
对应的随机参数,
Figure FDA0003107684070000041
表示主属性
Figure FDA0003107684070000042
对应的随机参数,
Figure FDA0003107684070000043
表示主属性
Figure FDA0003107684070000044
对应的随机参数,t表示密文的次属性集且t∈ω,δt表示次属性t对应的随机参数,εt表示次属性t对应的随机参数,φt表示次属性t对应的随机参数,H(UID1)表示哈希函数H()将用户身份标识UID1映射到双线性群
Figure FDA0003107684070000045
B6:代理加密系统得出中间密文CT′;
Figure FDA0003107684070000046
区块链节点将中间密文CT′发送给文件所有者,即用户;
B7:用户加密系统随机选择加密参数
Figure FDA0003107684070000047
用于加密明文M;
B8:用户加密系统对明文进行加密,计算密文参数
Figure FDA0003107684070000048
Figure FDA0003107684070000049
B9:用户加密系统对中间密文CT′进行整合得到密文CT:
Figure FDA00031076840700000410
4.根据权利要求3所述的基于区块链分布式外包的双重策略访问控制方法,其特征在于,所述的步骤C包括以下具体步骤:
C1:授权系统获取步骤A中得到的主密钥MSK、主属性密钥USK和次属性密钥VSK,同时获取次访问结构(N,π)、主属性集θ和用户身份标识UID2,其中N为一个l2×k2的矩阵,l2表示矩阵N的行数,k2表示矩阵N的列数,π将N中的行映射到访问策略的次属性中;
C2:授权系统随机生成k2个向量参数
Figure FDA00031076840700000411
向量参数
Figure FDA00031076840700000412
均属于
Figure FDA00031076840700000413
C3:授权系统生成向量
Figure FDA00031076840700000414
Figure FDA00031076840700000415
C4:授权系统令Nx′为矩阵N第x′行,然后通过向量计算得到计算参数σx′和τx′
Figure FDA00031076840700000416
Figure FDA00031076840700000417
最后对于每个Nx′随机选择随机数
Figure FDA0003107684070000051
其中,x′表示矩阵N的行号且x′=1,2,…,l2,Nx′表示矩阵N的第x′行,T表示转置,ux′表示矩阵N的第x′行对应的随机数且
Figure FDA0003107684070000052
C5:授权系统对构成安全密钥和外包密钥的密钥参数计算,包括:
Figure FDA0003107684070000053
K″=gab
Figure FDA0003107684070000054
Figure FDA0003107684070000055
Figure FDA0003107684070000056
其中,参数
Figure FDA0003107684070000057
K1,x′、K2,x′、K3,x′、K4,x′、K5,x′和K6,x′表示外包密钥ASK的组成参数,K1,x′、K2,x′、K3,x′、K4,x′、K5,x′和K6,x′表示矩阵N的第x′行对应的外包密钥ASK的组成参数,K′和K″表示安全密钥SSK的组成参数,x′表示矩阵N的行号,π(x′)表示将N中的第x′行映射到访问策略的属性且
Figure FDA0003107684070000058
δπ(x′)表示次属性π(x′)对应的随机参数,επ(x′)表示次属性π(x′)对应的随机参数,φπ(x′)表示次属性π(x′)对应的随机参数,t′表示密文的主属性集且t′∈θ,αt′表示主属性t′对应的随机参数,βt′表示主属性t′对应的随机参数,
Figure FDA0003107684070000059
表示主属性t′对应的随机参数,H(UID2)表示哈希函数H()将用户身份标识UID2映射到双线性群
Figure FDA00031076840700000510
C6:授权系统生成外包密钥ASK:
Figure FDA00031076840700000511
C7:授权系统生成安全密钥SSK:SSK={K′,K″}。
5.根据权利要求4所述的基于区块链分布式外包的双重策略访问控制方法,其特征在于,所述的步骤D包括以下具体步骤:
D1:代理解密系统输入外包密钥ASK、密文CT;
D2:如果用户主属性集θ能够满足主访问结构(F,ρ),代理解密系统令解密参数
Figure FDA0003107684070000061
然后对于
Figure FDA0003107684070000062
生成随机参数
Figure FDA0003107684070000063
通过计算得出:
Figure FDA0003107684070000064
其中,
Figure FDA0003107684070000065
表示矩阵F的行号,
Figure FDA0003107684070000066
表示将矩阵F中的行映射到访问策略的属性且
Figure FDA0003107684070000067
Φ表示矩阵F中对应属性满足主属性集的行号的集合且
Figure FDA0003107684070000068
Figure FDA0003107684070000069
表示矩阵F的第
Figure FDA00031076840700000645
行对应的随机参数且
Figure FDA00031076840700000610
Figure FDA00031076840700000611
Figure FDA00031076840700000612
均为矩阵F的第
Figure FDA00031076840700000613
行在密文中对应的参数,
Figure FDA00031076840700000614
表示通过对
Figure FDA00031076840700000615
Figure FDA00031076840700000616
计算得出保存的向量参数s,
Figure FDA00031076840700000617
表示
Figure FDA00031076840700000618
Figure FDA00031076840700000619
计算得出的结果为0,代表未保存向量参数;
D3:如果用户次属性集ω能够满足次访问结构(N,π),代理解密系统令解密参数
Figure FDA00031076840700000620
然后对于
Figure FDA00031076840700000621
生成随机参数
Figure FDA00031076840700000622
通过计算得出:
Figure FDA00031076840700000623
其中,
Figure FDA00031076840700000624
表示矩阵N的行号,
Figure FDA00031076840700000625
表示将矩阵N中的行映射到访问策略的属性且
Figure FDA00031076840700000626
Ω表示矩阵N的行号的集合且
Figure FDA00031076840700000627
Figure FDA00031076840700000628
表示矩阵N的第
Figure FDA00031076840700000629
行对应的随机参数且
Figure FDA00031076840700000630
Figure FDA00031076840700000631
Figure FDA00031076840700000632
均为矩阵N的第
Figure FDA00031076840700000633
行在密文中对应的参数,
Figure FDA00031076840700000634
表示通过对
Figure FDA00031076840700000635
Figure FDA00031076840700000636
计算可以得出保存的参数
Figure FDA00031076840700000637
Figure FDA00031076840700000638
表示
Figure FDA00031076840700000639
Figure FDA00031076840700000640
计算得出的结果为0,代表未保存向量参数;
D4:代理解密系统计算并得出中间密文C′:
Figure FDA00031076840700000641
其中,
Figure FDA00031076840700000642
Figure FDA00031076840700000643
表示矩阵F的第
Figure FDA00031076840700000644
行在密文CT中对应的参数值,
Figure FDA0003107684070000071
Figure FDA0003107684070000072
表示矩阵N的第
Figure FDA0003107684070000073
行在外包密钥ASK中对应的参数值,
Figure FDA0003107684070000074
表示主属性
Figure FDA0003107684070000075
对应的密钥参数,
Figure FDA0003107684070000076
表示主属性
Figure FDA0003107684070000077
对应的密钥参数,
Figure FDA0003107684070000078
表示次属性
Figure FDA0003107684070000079
对应的密钥参数,
Figure FDA00031076840700000710
表示次属性
Figure FDA00031076840700000711
对应的密钥参数;
D5:用户解密系统输入密文CT、中间密文C′、安全密钥SSK;
D6:用户解密系统计算并得出明文M:
Figure FDA00031076840700000712
6.根据权利要求2所述的基于区块链分布式外包的双重策略访问控制方法,其特征在于,所述的步骤A1中,
Figure FDA00031076840700000713
Figure FDA00031076840700000714
满足映射关系e,e满足以下条件:
(1)双线性,对于
Figure FDA00031076840700000715
均存在
Figure FDA00031076840700000716
(2)非退化性,
Figure FDA00031076840700000717
使
Figure FDA00031076840700000718
成立,
Figure FDA00031076840700000719
代表
Figure FDA00031076840700000720
群的单位元;
(3)可计算性,存在有效的算法对
Figure FDA00031076840700000721
计算
Figure FDA00031076840700000722
其中,
Figure FDA00031076840700000723
Figure FDA00031076840700000724
是素数阶双线性群,
Figure FDA00031076840700000725
表示模为素数q的有限整数域,整数x属于
Figure FDA00031076840700000726
用于双线性计算中的指数,整数y属于
Figure FDA00031076840700000727
用于双线性计算中的指数,数
Figure FDA00031076840700000728
属于
Figure FDA00031076840700000729
用于双线性计算中的底数,数β属于
Figure FDA00031076840700000730
用于双线性计算中的底数,
Figure FDA00031076840700000731
为双线性计算公式。
CN202010891275.4A 2020-08-30 2020-08-30 基于区块链分布式外包的双重策略访问控制方法 Active CN112039880B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010891275.4A CN112039880B (zh) 2020-08-30 2020-08-30 基于区块链分布式外包的双重策略访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010891275.4A CN112039880B (zh) 2020-08-30 2020-08-30 基于区块链分布式外包的双重策略访问控制方法

Publications (2)

Publication Number Publication Date
CN112039880A CN112039880A (zh) 2020-12-04
CN112039880B true CN112039880B (zh) 2021-07-30

Family

ID=73587715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010891275.4A Active CN112039880B (zh) 2020-08-30 2020-08-30 基于区块链分布式外包的双重策略访问控制方法

Country Status (1)

Country Link
CN (1) CN112039880B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360925B (zh) * 2021-06-04 2024-04-30 中国电力科学研究院有限公司 电力信息物理系统中可信数据的存储和访问方法及系统
CN113783685A (zh) * 2021-08-30 2021-12-10 武汉海昌信息技术有限公司 一种使用区块链保护车联网数据的系统
CN114257446B (zh) * 2021-12-20 2023-05-23 湖北工业大学 基于可搜索加密的数据访问控制方法、计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130757A (zh) * 2019-12-31 2020-05-08 华中科技大学 一种基于区块链的多云cp-abe访问控制方法
CN111371561A (zh) * 2020-02-27 2020-07-03 华信咨询设计研究院有限公司 基于cp-abe算法的联盟区块链数据访问控制方法
CN111598695A (zh) * 2020-05-18 2020-08-28 国网电子商务有限公司 一种区块链数据访问方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503994B (zh) * 2016-11-02 2020-07-28 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
CN107579980A (zh) * 2017-09-07 2018-01-12 福州大学 医疗物联网中的轻量级双重访问控制系统
CN109189727B (zh) * 2018-09-14 2021-07-23 江西理工大学 一种基于属性代理重加密的区块链密文云存储共享方法
US10868763B2 (en) * 2018-09-18 2020-12-15 T-Mobile Usa, Inc. Policy based dual connectivity traffic steering
CN109711184B (zh) * 2018-12-28 2020-11-10 国网电子商务有限公司 一种基于属性加密的区块链数据访问控制方法及装置
CN109768987B (zh) * 2019-02-26 2022-01-28 重庆邮电大学 一种基于区块链的数据文件安全隐私存储和分享方法
CN109951498A (zh) * 2019-04-18 2019-06-28 中央财经大学 一种基于密文策略属性加密的区块链访问控制方法及装置
CN110417556A (zh) * 2019-07-02 2019-11-05 北京交通大学 区块链中的加密及签章验证方法
CN110493347B (zh) * 2019-08-26 2020-07-14 重庆邮电大学 基于区块链的大规模云存储中数据访问控制方法及系统
CN111324898B (zh) * 2020-01-20 2023-04-07 福州大学 基于区块链的电子医疗文档双重访问控制系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130757A (zh) * 2019-12-31 2020-05-08 华中科技大学 一种基于区块链的多云cp-abe访问控制方法
CN111371561A (zh) * 2020-02-27 2020-07-03 华信咨询设计研究院有限公司 基于cp-abe算法的联盟区块链数据访问控制方法
CN111598695A (zh) * 2020-05-18 2020-08-28 国网电子商务有限公司 一种区块链数据访问方法及装置

Also Published As

Publication number Publication date
CN112039880A (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN109768858B (zh) 云环境下基于多授权的属性加密访问控制系统及设计方法
CN112039880B (zh) 基于区块链分布式外包的双重策略访问控制方法
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
CN110474893A (zh) 一种异构跨信任域密态数据安全分享方法及系统
CN111277412B (zh) 基于区块链密钥分发的数据安全共享系统及方法
CN110933033B (zh) 智慧城市环境下多物联网域的跨域访问控制方法
WO2021190452A1 (zh) 用于云雾协助物联网的轻量级属性基签密方法
JPH07181892A (ja) 暗号鍵共有方法及びその装置
CN115296817B (zh) 基于区块链技术和属性加密的数据访问控制方法
CN106878322B (zh) 一种基于属性的定长密文与密钥的加密、解密方法
CN112260829B (zh) 混合云下支持移动设备的基于多授权的cp-abe方法
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN113708917B (zh) 基于属性加密的app用户数据访问控制系统及方法
CN113626831B (zh) 一种云中支持隐私保护和解密的cp-abe方法
CN114143094A (zh) 基于区块链的多授权属性基可验证加密方法
CN111917721A (zh) 基于区块链的属性加密方法
CN114697042A (zh) 一种基于区块链的物联网安全数据共享代理重加密方法
CN117201132A (zh) 一种完全去中心化的多委员会属性基加密方法及其应用
CN117614618B (zh) 跨域多权威协同的属性基加密访问控制方法
CN113965320A (zh) 一种支持快速撤销的密文策略属性加密方法
CN115604030B (zh) 数据共享方法、装置、电子设备和存储介质
CN116707854A (zh) 一种健壮的基于属性加密的云存储访问控制方法
CN106612173A (zh) 云存储中一种可信任密钥的加密方案
CN115065479A (zh) 一种区块链的去中心化重写方法
CN114244567B (zh) 一种云环境中支持电路结构的cp-abe方法

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20201204

Assignee: Luoyang Matrix Software Co.,Ltd.

Assignor: Henan University

Contract record no.: X2024980003874

Denomination of invention: A Dual Policy Access Control Method Based on Blockchain Distributed Outsourcing

Granted publication date: 20210730

License type: Common License

Record date: 20240408