CN115296817B - 基于区块链技术和属性加密的数据访问控制方法 - Google Patents

基于区块链技术和属性加密的数据访问控制方法 Download PDF

Info

Publication number
CN115296817B
CN115296817B CN202210927429.XA CN202210927429A CN115296817B CN 115296817 B CN115296817 B CN 115296817B CN 202210927429 A CN202210927429 A CN 202210927429A CN 115296817 B CN115296817 B CN 115296817B
Authority
CN
China
Prior art keywords
data
key
ciphertext
attribute
storage address
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
CN202210927429.XA
Other languages
English (en)
Other versions
CN115296817A (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.)
Yunnan Provincial Academy Of Science And Technology
Beihang University
Kunming University of Science and Technology
Original Assignee
Yunnan Provincial Academy Of Science And Technology
Beihang University
Kunming University of Science and Technology
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 Yunnan Provincial Academy Of Science And Technology, Beihang University, Kunming University of Science and Technology filed Critical Yunnan Provincial Academy Of Science And Technology
Priority to CN202210927429.XA priority Critical patent/CN115296817B/zh
Publication of CN115296817A publication Critical patent/CN115296817A/zh
Application granted granted Critical
Publication of CN115296817B publication Critical patent/CN115296817B/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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

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

本发明属于数据安全技术领域,特别涉及基于区块链技术和属性加密的数据访问控制方法,安全性更高,包括以下步骤:数据属主使用对称秘钥对目标数据进行加密,生成数据密文,将其发送给第三方存储系统,该系统给数据属主返回存储地址;数据属主利用属性加密技术对对称秘钥和存储地址进行加密,生成秘钥密文和存储地址密文,并上传区块链系统中;数据消费者在与数据属主协商成功之后从区块链系统获取访问目标数据所需的属性、存储地址密文和秘钥密文,在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,利用其得到对称秘钥和存储地址;利用存储地址获取数据密文,并在验证数据密文没被篡改的情况下对数据密文进行解密,得到目标数据。

Description

基于区块链技术和属性加密的数据访问控制方法
技术领域
本发明涉及数据安全技术领域,特别涉及一种基于区块链技术和属性加密的数据访问控制方法。
背景技术
数据交易平台的存储中心作为第三方存储平台,存在着数据泄露的问题。一项调查显示,出于安全方面的考虑,超过70%的用户仍然不愿意将数据置于自身控制域之外。目前密文访问控制技术是在存储中心不可信的情况下保证数据机密性的解决方案,即数据属主使用数据加密加密数据并上传密文数据,通过控制秘钥的分发来实现对数据的访问控制。
目前,常规的密文访问控制方法,通过使用用户的公钥加密数据秘钥,并将秘钥的密文存储在服务端,用户直接访问服务器获得数据秘钥;在该方法中,系统都需要维护大量的数据秘钥信息,秘钥获取权的管理的复杂程度将随数据量和数据消费者的增长显著增加,从而导致数据属主成为系统的瓶颈。
在分层访问控制(hierarchical access control,HAC)方法中,虽然减少了需要委会的秘钥数量,数据消费者可以通过私人秘钥和一份公开的信息表(token)推导出被授权访问的数据秘钥,但是HAC由于数据消费者权限的变更需要对token表进行繁琐的操作,大规模用户进行访问时,对用户的访问控制效率较低。在基于代理重加密的访问控制方法中,在假设服务器部分可信的情况下,通过代理重加密技术,数据属主根据用户信息计算出一个代理重加密秘钥交付给云存储供应商(cloud storage provider,CSP),CSP利用代理重加密秘钥对存储的密文数据进行重加密,生成只有指定用户能够解密的密文,但是,如果服务器不可信,将导致数据访问环境不可信,安全性低。
发明内容
基于此,有必要针对上述技术问题,提供一种基于区块链技术和属性加密的数据访问控制方法,以解决使用目前技术进行数据访问控制时存在的数据访问环境不可信,安全性低的问题。
本发明提供了一种基于区块链技术和属性加密的数据访问控制方法,包括以下步骤:
数据属主使用对称秘钥对目标数据进行加密,生成与所述目标数据对应的数据密文,并将所述数据密文发送给第三方存储系统进行存储,所述第三方存储系统给所述数据属主返回一个存储地址;
数据属主利用属性加密技术对所述对称秘钥和存储地址进行加密,生成与所述对称秘钥对应的秘钥密文和与所述存储地址对应的存储地址密文,并将所述秘钥密文和所述存储地址密文上传至区块链系统中;
数据消费者在与数据属主协商成功之后,数据消费者从区块链系统获取访问所述目标数据所需的属性、所述存储地址密文和所述秘钥密文,并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,利用所述属性秘钥对所述秘钥密文和所述存储地址密文进行解密,得到所述对称秘钥和存储地址;利用所述存储地址从第三方存储系统获取所述数据密文,并在验证所述数据密文没被篡改的情况下利用所述对称秘钥对所述数据密文进行解密,得到所述目标数据。
优选的,所述并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,包括:
数据消费者在本地随机选取参数r∈Zp作为秘密共享对象,Zp为模p的整数环,并选取随机系数a1,a2,…,at-1构造一个t-1次多项式f(x),其中,
f(x)=r+a1x+a2x2+…+at-1xt-1
然后随机选择xi,i=1,2..t,计算系数mi=f(xi),并将系数mi,i=1,2,..t和数据消费者拥有的属性j∈S分享至秘钥生成中心,其中S为数据消费者的属性集合;
秘钥生成中心为每个属性j随机生成对应的参数rj∈Zp,并基于系统主秘钥MK和系统公钥PK生成部分秘钥SK1,然后返回给数据消费者,其中:
PK=(G0,g,h=gβ,f=g1/β,e(g,g)α)
MK=(β,gα)
Figure BDA0003780164640000021
其中,G0为系统初始化选择的双线性群,素数p为G0的阶,g为群G0的生成元,α和β初始化时选择的加密参数;
数据消费在本地构造重构函数h(xi),计算出h(x1)分享至秘钥生成中心,委托秘钥生成中心计算Dj,i,并将计算结果记录在区块链系统中并返回给数据消费者,其中,
Figure BDA0003780164640000022
Figure BDA0003780164640000023
数据消费者在本地构造重构函数h(xi),并计算子秘钥SK2=gr/β和子秘钥SK3={Dj},其中:
Figure BDA0003780164640000031
Figure BDA0003780164640000032
根据拉格朗日插值法得出
Figure BDA0003780164640000033
计算得出:
SK2=gr/β
Figure BDA0003780164640000034
数据消费者在本地将子秘钥SK1,SK2,SK3进行组合获取完整的秘钥SK:
Figure BDA0003780164640000035
优选的,所述数据属主利用属性加密技术对所述对称秘钥和存储地址进行加密,包括:
数据属主自定义访问树结构,并利用属性加密技术将所述访问树结构嵌入到秘钥密文和存储地址密文中,所述访问树结构支持小于操作符,所述小于操作符的表达方式为:
将目标日期转化为二进制a1a2a3…an;
基于a1a2a3…an生成集合A={A1,A2,…,An},且集合A中元素Ai的长度为n或者为Ai=null,其中:
Figure BDA0003780164640000036
对于bindex,i定义如下:
Figure BDA0003780164640000037
将集合A中的元素为null值的Ai剔除,然后使用或操作符将集合A中的各个元素连接。
优选的,所述访问树结构还支持大于操作符,所述大于操作符的表达方式为:
将(目标日期+1)转化为二进制a1a2a3…an;
基于二进制a1a2a3…an生成表达式B=b1b2b3…bn,其中bi定义如下:
Figure BDA0003780164640000038
优选的,所述第三方存储系统为IPFS星际文件系统。
本发明的有益效果:
本发明的基于区块链技术和属性加密的数据访问控制方法,数据以密文的形式进行存储,即使数据存储系统是不安全的,仍然不存在数据明文泄露的风险;数据的访问授权是通过数据属主自定义访问策略并嵌入到对称秘钥密文与存储地址密文中,同时基于智能合约技术对数据消费者赋予相应的属性。本发明利用区块链技术具有可信、不可篡改、操作透明等特点,使其数据访问权限管理有迹可循;将属性秘钥生成分割成多个部分,使得最终在数据消费者本地生成属性秘钥,可以有效地保护用户属性秘钥的隐私,防止数据秘钥生成中心泄露用户秘钥,降低对秘钥生成中心的安全性要求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种基于区块链技术和属性加密的数据访问控制方法流程图;
图2是本发明提供的一种ACDT访问控制方法架构图;
图3是本发明提供的一种ACDT访问控制流程图;
图4是本发明提供的一种ACDT的访问树结构。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。为了说明本发明的技术方案,下面通过具体实施例来进行说明。
参见图1,是本实施例提供的一种基于区块链技术和属性加密的数据访问控制方法流程图,该基于区块链技术和属性加密的数据访问控制方法包括:
步骤S101,数据属主使用对称秘钥对目标数据进行加密,生成与所述目标数据对应的数据密文,并将所述数据密文发送给第三方存储系统进行存储,所述第三方存储系统给所述数据属主返回一个存储地址;
步骤S102,数据属主利用属性加密技术对所述对称秘钥和存储地址进行加密,生成与所述对称秘钥对应的秘钥密文和与所述存储地址对应的存储地址密文,并将所述秘钥密文和所述存储地址密文上传至区块链系统中;
步骤S103,数据消费者在与数据属主协商成功之后,数据消费者从区块链系统获取访问所述目标数据所需的属性、所述存储地址密文和所述秘钥密文,并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,利用所述属性秘钥对所述秘钥密文和所述存储地址密文进行解密,得到所述对称秘钥和存储地址;利用所述存储地址从第三方存储系统获取所述数据密文,并在验证所述数据密文没被篡改的情况下利用所述对称秘钥对所述数据密文进行解密,得到所述目标数据。
接下来对上述步骤进行详细介绍和说明:
本发明中,设计如图2所示的ACDT(Access control for data transcation,ACDT)数据访问控制方法,ACDT访问架构图总共包含4个部分:存储层、区块链层、数据加密层和用户层,各个部分的作用分别如下。存储层包含了IPFS存储、levelDB数据库和Mysql数据库,其中IPFS主要用来存储数据属主委托寄售的数据密文并返回一个哈希值即内容存储地址,数据消费者可以通过该哈希值从IPFS系统中下载相应的数据密文。区块链上的纪录具有不可篡改的特性,区块链层的作用是数据关键信息上链留证,同时给智能合约的执行提供可信的环境,在本实施例中主要使用智能合约给数据消费者赋予相应的属性。数据加密层提供数据加密的操作,通过数据签名保证数据的完整性,对称加密技术以最低的开销保证数据的机密性;基于属性加密技术对对称秘钥等关键信息加密,并对用户属性的控制来实现数据的访问控制。用户层主要给用户提供的主要操作有数据存储、数据寄售和数据购买三部分。
本发明中,选取的有效抵御经典的密文策略属性基加密方案BSW-CPABE(Bethencourt-Sahai-Waters ciphertext policy attribute based encryption),该加密方案具备IND-CPA(indistinguishability-chosen plaintext Attack)安全性,在一般群模型下能够有效抵御共谋攻击。BSW-CPABE主要包含四个关键步骤步骤:系统初始化Setup、加密Encrypt、秘钥生成KeyGen、解密Decrypt。
1)系统初始化Setup(p,α,β)→(PK,MK),系统初始化时随机选择一个阶为素数p、生成元为g的双线性群G0,随机初始化加密参数α,β后,生成系统公钥PK和系统主秘钥MK。系统公钥由系统广播出去,系统主秘钥由系统保存,用于后期秘钥生成,其中,
PK=(G0,g,h=gβ,f=g1/β,e(g,g)α)
MK=(β,gα);
2)数据加密Encrypt(PK,M,A)→CT,该步骤是基于数据属主自己定义访问结构A和系统公钥PK对消息M进行加密。在加密过程中,采用自顶向下从根节点R,为访问树结构A中的每个节点x选择一个多项式qx,多项式qx的阶dx=kx-1,kx为节点x的阈值。从根节点R中随机选取s∈Zp,Zp为模p的整数环,且设置qR(0)=s,随后随机选择其他的dR个点来定义该多项式。对于其他任意的节点x,通过假设qx(0)=qparent(x)(index(0)),且随机选择dx个点来定义该多项式。令Y为访问树的叶子节点的集合,对于任意Y中的元素y即叶子节点,叶子节点y包含的属性为att(y);通过访问树结构A生成密文CT;在本发明中属性加密被用来加密对称秘钥,达到对称秘钥动态分发的目的。
Figure BDA0003780164640000061
3)秘钥生成KeyGen(MK,S)→SK,输入系统秘钥MK和数据消费者的属性集合S,生成属性集合对应的私钥SK,其中,
Figure BDA0003780164640000062
其中r为在秘钥生成过程中随机选取的参数r∈Zp,rj(rj∈Zp)为系统为每个属性j∈S随机选取的,哈希函数H:{0,1}*→G0,该函数将任意字符串描述的属性映射为随机群的元素;
4)解密操作Decrypt(PK,CT,SK)→M根据用户私钥SK和系统公钥MK对密文CT进行解密,其中,
Figure BDA0003780164640000063
A=DecryptNode(CT1,SK,x)=e(Di,Cx)/e(D′i,C′x);
数据解密过程采用的是递归算法DecryptNode(CT1,SK,x)。其中,
Figure BDA0003780164640000064
在对数据密文解密过程中,只有数据消费者私钥对应的属性集合S满足密文CT中嵌入的访问策略A时,才能解密成功。
本发明中,在密文访问访问控制ACCS的基础上,基于属性加密技术和智能合约技术,提供一种适合数据交易平台的ACDT访问控制方法,在数据存储中心不可信的情况下,仍然能保证数据的机密性。在该方法中通过属性加密技术支持数据的细粒度的访问控制,使用智能合约技术实现数据消费者的属性分发和关键信息的存储。
其中,ACDT访问控制方法的具体流程如图3所示。该方法的参与方主要包含IPFS星际文件系统、数据属主(data owner)、数据消费者(data consumer)和区块链系统(blockchain system)四个部分。
IPFS星际文件系统:IPFS用于存储数据属主上传的数据密文,同时会给数据属主返回存储的文件的哈希值(即内容寻址地址)。
区块链系统:区块链系统在该架构中作为一种可信介质,为智能合约的运行提供可信的运行环境,也提供可信的存储凭证,避免中心化服务器带来的问题。在该架构中,区块链系统充当着关键信息存储和属性授权中心的重要角色。在数据属主将数据密文上传至IPFS存储系统中时,会触发相应的智能合约的执行,将对称秘钥等关键信息的密文通过智能合约记录到区块链系统中。同时通过智能合约来实现对数据的属性授予逻辑,根据实际情况给每个数据消费者赋予相应的属性。
数据属主:即数据生产者,数据属主使用对称加密技术对数据进行加密并上传到第三方存储系统。同时为了保证数据的完整性,防止存储的数据被恶意更改,因此使用SHA256算法提取出密文的数据摘要SignCT,然后使用私钥对摘要进行加密生成数据签名SignCT。然后数据属主再使用属性加密,将自定义的访问策略嵌入到密文中,并上传至区块链系统中;
数据消费者:即数据用户,数据消费者从第三方存储系统中下载已经被授权的数据密文,然后在区块链系统中获取自身的属性并生成私钥。如果数据消费者拥有的属性满足嵌入数据密文中的访问策略,则数据消费者可解密成功获取到SignCT,Kverify,Kdata,Address等信息,其中SingCT为数据签名,Kverify为验签秘钥,Kdata为加密数据的对称秘钥,Address为数据在IPFS系统的数据存储地址。数据消费者通过是要SHA256摘要算法生成下载的密文摘要MD1,同时基于RSA算法使用Kverify对SignCT进行解密获取原密文摘要MD,比较两个摘要是否相同。若MD与MD1相同,则继续使用Kdata对数据密文进行解密获取数据明文。若不同,则代表数据属主上传的数据密文被非法篡改。
在ACDT方法,按照参与方的交互可以主要分为数据属主存储数据、数据消费者使用数据和数据访问权限的控制三个过程。
数据属主存储数据,即数据属主在本地对数据进行加密数据生成数据密文,并将数据密文上传至IPFS文件存储系统中的过程,包括以下步骤:
步骤1:数据属主在本地选取随机安全种子α和两个大素数因子p、q,生成用于对称加密的对称秘钥kdata和RSA加密所需的公私钥对(kpriv,kpublic),其中,
(kdata,kpriv,kpublic)=generateKey(α,p,q);
generateKey为生成加密器中使用的秘钥生成算法。
步骤2:数据属主在本地输入对称秘钥kdata,使用对称加密技术加密数据data生成对应的密文CT,其中,
CT=EncryptAES(kdata,data);
Encrypt_AES是常用的AES标准的对称加密算法。
步骤3:数据属主通过SHA256摘要算法对数据密文CT提取数据摘要MD,然后使用秘钥kpriv基于RSA加密技术对数据摘要进行签名生成数据签名SignCT,其中,
SignCT=Signature(keyprivate,CT,SHA256);
Signature为基于SHA256数据摘要和RSA非对称加密实现的签名算法。
步骤4:数据属主将数据密文CT上传至星际文件系统IPFS中,然后IPFS给数据属主返回一个文件哈希值即数据存储地址Address。
数据访问控制即数据属主通过属性加密技术将访问策略嵌入至对称秘钥等关键信息的密文中,通过控制数据消费者的属性,从而实现数据访问权限控制的目的,包括以下步骤:
步骤1:系统选择一个阶为素数p,生成元为g的双线性群G0,并随机选择加密参数α,β后进行初始化,生成系统公钥PK和系统主秘钥MK,其中,
(PK,MK)=SetupCPABE(p,α,β);
SetupCPABE是属性加密初始化算法,用来生成属性加密系统公钥PK和主秘钥MK。
步骤2:数据属主自定义访问策略A,并通过属性加密算法将访问策略嵌入到对称秘钥等关键信息{Kdata,Keypublic,SignCT,Address}中,得到对称秘钥等关键信息密文CTkeyInformations,其中,
CTkeyInformations=EncryptCPABE(PK,{Kdata,Keypublic,SignCT,Addressstore},A);
步骤3:数据属主将数据的相关信息包含数据标识fileID、数据的有效期限制TTL和数据的签名信息上传至区块链系统中进行共识和公示,并使用智能合约技术对消息<fileID:CTkeyInformations>进行管理。
步骤4:在进行数据撮合成功后,数据属主与数据消费者双方成功交易会触发ContractSetAttributesToUser合约的执行,将相应的访问属性写入数据消费者拥有的属性集合中。
数据消费者使用数据的整体流程即数据消费者购买数据后获取数据的访问权限后,下载相关数据,并按照相应的解密规则获取对称秘钥,从而获取数据明文的过程。主要包含以下五个步骤:
步骤1:数据消费者使用自己的属性集合S,并委托持有系统主秘钥MK的秘钥生成中心生成部分秘钥,最终在数据消费者本地生成完整的属性秘钥,其中,
SK=GenerateKey(S,MK);
GenerateKey为生成属性秘钥算法。
步骤2:数据属主在区块链系统调用智能合约ContractGetKeyInformation(fileID,userID),获取fileID对应的密文CTkeyInformations
步骤3:数据消费者使用自己的属性秘钥,在本地通过属性解密算法对密文CTkeyInformations进行解密后,获取文件解密所需的必备信息即对称秘钥等关键信息{SignCT,kdata,keypublic,Address},其中,
{SignCT,kdata,keypublic,Address}=DecryptCPABE(PK,CTkeyInformations,SK);
DecryptCPABE代表CPABE的属性解密算法。
步骤4:数据消费者根据获取的数据存储地址Address从IPFS系统中下载相应的数据密文CT。
步骤5:数据消费者使用RSA非对称解密算法获取签名信息SignCT的明文即数据摘要MD1,同时使用SHA256摘要算法对获取的密文CT的摘要MD2,通过比较两个摘要是否一致,若不一致则证明数据密文被篡改,若一致则继续进行步骤6。
步骤6:数据消费者使用对称秘钥keydata对数据密文进行解密获取可用的数据明文。
在ACDT访问控制方法中,数据属主在上传数据密文后,基于属性加密技术将自定义的访问结构嵌入到对称秘钥密文中。在数据消费者和数据属主撮合的过程中,数据属主动态赋予数据消费者相应属性,从而实现控制数据消费者对目标数据的访问权限。
本发明中,在ACDT方法中,数据消费者的属性赋予和属性秘钥的生成是实现访问控制的关键步骤。本实施例结合门限结构改进了属性秘钥生成过程,能够保护数据消费者属性秘钥安全,避免秘钥生成中心带来秘钥泄露问题的发生,降低对秘钥生成中心的安全性要求。
ACDT方法访问控制的本质是对数据消费者属性P和访问树结构的管理。在该方案中每个数据消费者都拥有一个属性集合P={SP0,P1,P2,...,Pn-1,Pn}。其中SP0属性是经由数据消费者UserID生成的独有属性,除此之外属性集合P中的其他属性都是在数据消费者与数据属主协商成功购买数据后,触发智能合约的执行给数据消费者赋予相应的属性,数据消费者能否成功对密文解密取决于该数据消费者拥有的属性是否满足于数据属主在密文中嵌入的访问结构。
访问树结构是基于(t,n)门限和访问树的访问结构。它也是全集
Figure BDA0003780164640000091
T代表一个数据消费者的属性的判断条件,在T中的属性集合称为授权集合,可以对嵌入T的密文进行解密,不在T中的属性集合称为非授权集。在数据共享过程中,对于数据文件访问树结构A进行规范,其中,
A={{PermissionID:OwnerID}OR{FileID:fileTargetID}}AND
{starttime<timeStamp,endtime>timeStamp};
其中,OR表示或门,AND表示与门;访问结构A中包含对准许标识PermissionID,文件标识FileID和时间戳timeStamp三个属性的判断,starttime和endtime是数据属主自定义的数据的起始访问时间和访问结束时间(即数据销毁时间)。访问结构A表述了只有数据消费者拥有准许标识PermissionID为数据属主标识OwnerID或者文件文件标识为目标文件标识fileTargetID的属性,以及当前时间戳timeStamp在数据属主规定的时间范围[starttime,endtime]内才能够成功解密。其对应的访问树结构如图4所示。
由于本实施例采用的是BSW-CPABE属性加密方案,访问结构是基于门限结构的单调访问树来表述的,只支持“与门”和“或门”。并不支持“<”和“>”的比较操作符。因此为了实现访问树结构中关于对数据的生命周期的限制,基于通配符自定义了一个时间解析器,自动将时间限制转化为访问树结构。
针对于访问结构中targetNumber1<timeStamp<targetNumber2的表述,其核心可归纳为对“>number”和“<number”表述。
针对于小于操作符“<targetNumber”表述可分为三步骤:
步骤1:将targetNumber转化为二进制a1a2a3…an。
步骤2:基于a1a2a3…an生成集合A={A1,A2,…,An}。且集合A中元素Ai的长度为n或者为Ai=null,其中,
Figure BDA0003780164640000101
其中对于bindex,i定义如下:
Figure BDA0003780164640000102
步骤3:将集合A中的元素为null值的Ai剔除,然后使用or操作符将集合A中的各个元素连接。对于任何小于targetNumber的数字,均是属于集合A。targetNumber目标日期。
针对于大于操作符“>targetNumber”表述可分为三步骤:
步骤1:将(targetNumber+1)转化为二进制a1a2a3…an(补全)。
步骤2:基于二进制a1a2a3…an生成表达式B=b1b2b3…bn,其中bi定义如下:
Figure BDA0003780164640000111
因此对于任何大于targetNumber数字均可使用表达式B来代替。
本发明中,秘钥生成中心主要负责存储和管理CPABE系统公钥PK、系统主秘钥MK,同时也根据数据消费者属性生成对应的秘钥,是属性加密系统中最为重要的模块,然而中心化的秘钥生成中心存在着泄露数据消费者属性秘钥的风险。因此本实施例使用门限共享技术和区块链技术对BSW-CPABE中的秘钥生成过程KeyGen(MK,S)→SK进行改进。
基于Lagrange插值多项式思想的(t,n)门限共享技术[32]将数据消费者选取的随机参数r∈Zp分割为n个片段,门限值为t。同时将数据消费者的属性秘钥生成分为5个步骤:
步骤1:数据消费者在本地随机选取秘钥生成过程中的参数r∈Zp作为秘密共享对象,并选取随机系数a1,a2,…,at-1构造一个t-1次多项式f(x),其中,
f(x)=r+a1x+a2x2+…+at-1xt-1
然后随机选择xi,i=1,2..t计算系数mi=f(xi),并将系数mi,i=1,2,..t和数据消费者拥有的相关属性j∈S分享至秘钥生成中心。
步骤2:秘钥生成中心为每个属性j随机生成对应的参数rj∈Zp并基于系统主秘钥MK和系统公钥PK生成部分秘钥SK1,然后返回给数据消费者,其中,
Figure BDA0003780164640000112
步骤3:数据消费在本地构造重构函数h(xi),计算出h(x1)分享至秘钥生成中心。委托秘钥生成中心计算Dj,i,并将计算结果记录在区块链系统中并返回给数据消费者,其中,
Figure BDA0003780164640000113
Figure BDA0003780164640000114
步骤4:数据消费者在本地构造重构函数h(xi),并计算子秘钥SK2=gr/β和SK3={Dj}。其中,
Figure BDA0003780164640000115
Figure BDA0003780164640000116
根据拉格朗日插值法可以得出
Figure BDA0003780164640000117
计算得出:
SK2=gr/β
Figure BDA0003780164640000121
步骤5:数据消费者在本地将子秘钥SK1,SK2,SK3进行组合获取完整的秘钥SK。
Figure BDA0003780164640000122
基于(t,n)门限共享技术,本实施例将数据消费者属性秘钥的计算切割成多个部分,使得在秘钥生成中心只是计算部分秘钥。完整的属性秘钥最终在数据消费者本地上生成,可以避免秘钥生成中心泄露数据消费者秘钥的风险,降低对秘钥生成中心的安全性要求。
本发明中,在基于属性加密和区块链技术实现的密文访问控制方法中,数据使用者首先掌握秘钥信息才能对IPFS存储系统中的数据密文进行相应的操作。下面对本发明ACDT访问控制方法的优点进行分析:
数据存储的安全管理:在该模型中,数据以密文的形式进行存储。即使数据存储中心是不安全的,仍然不存在数据泄露的风险。同时基于数据签名技术与区块链的配合可以有效的保证数据的完整性。
数据访问权限的安全管理:在本发明中,数据的访问授权是通过数据属主自定义访问策略并嵌入到对称秘钥等关键信息的密文中,同时基于智能合约技术对数据消费者赋予相应的属性。在该过程中,利用区块链技术具有可信、不可篡改、操作透明等特点,使其数据访问权限管有迹可循。
数据加密关键信息的安全管理:在该模型中采用了混合加密方式,使用对称秘钥加密数据的方法来保证数据加密的高效性,使用属性加密CPABE对对称秘钥等关键信息进行加密并上传至区块链系统中,通过智能合约来对该密文进行管理,来保证加密秘钥不被非法用户所获得。
数据消费者属性秘钥的安全管理:在本实施例中采用了(t,n)门限共享技术,将属性秘钥生成过程分割成多个部分,使得最终的完整的属性秘钥在数据消费者本地生成,可以有效地保护数据消费者属性秘钥的隐私,防止秘钥生成中心在计算过程中泄露数据消费者秘钥,降低对秘钥生成中心的安全性要求。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于区块链技术和属性加密的数据访问控制方法,其特征在于,包括以下步骤:
数据属主使用对称秘钥对目标数据进行加密,生成与所述目标数据对应的数据密文,并将所述数据密文发送给第三方存储系统进行存储,所述第三方存储系统给所述数据属主返回存储地址;
数据属主利用属性加密技术对所述对称秘钥和存储地址进行加密,生成与所述对称秘钥对应的秘钥密文和与所述存储地址对应的存储地址密文,并将所述秘钥密文和所述存储地址密文上传至区块链系统中;
数据消费者在与数据属主协商成功之后,数据消费者从区块链系统获取访问所述目标数据所需的属性、所述存储地址密文和所述秘钥密文,并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,利用所述属性秘钥对所述秘钥密文和所述存储地址密文进行解密,得到所述对称秘钥和存储地址;利用所述存储地址从第三方存储系统获取所述数据密文,并在验证所述数据密文没被篡改的情况下利用所述对称秘钥对所述数据密文进行解密,得到所述目标数据;
所述并在秘钥生成中心的参与下在本地计算出属性对应的属性秘钥,包括:
数据消费者在本地随机选取参数r∈Zp作为秘密共享对象,Zp为模p的整数环,并选取随机系数a1,a2,…,at-1构造一个t-1次多项式f(x),其中,
f(x)=r+a1x+a2x2+…+at-1xt-1
然后随机选择xi,i=1,2..t,计算系数mi=f(xi),并将系数mi,i=1,2,..t和数据消费者拥有的属性j∈S分享至秘钥生成中心,其中S为数据消费者的属性集合;
秘钥生成中心为每个属性j随机生成对应的参数rj∈Zp,并基于系统主秘钥MK和系统公钥PK生成子秘钥SK1,然后返回给数据消费者,其中:
PK=(G0,g,h=gβ,f=g1/β,e(g,g)α)
MK=(β,gα)
Figure FDA0004133708940000011
其中,G0为系统初始化选择的双线性群,素数p为G0的阶,g为群G0的生成元,α和β为初始化时选择的加密参数;
数据消费者在本地构造重构函数h(xi),计算出h(x1)分享至秘钥生成中心,委托秘钥生成中心计算Dj,i,并将计算结果记录在区块链系统中并返回给数据消费者,其中,
Figure FDA0004133708940000021
Figure FDA0004133708940000022
计算子秘钥SK2=gr/β和子秘钥SK3={Dj},其中:
Figure FDA0004133708940000023
Figure FDA0004133708940000024
根据拉格朗日插值法得出
Figure FDA0004133708940000025
计算得出:
SK2=gr/β
Figure FDA0004133708940000026
数据消费者在本地将子秘钥SK1,SK2,SK3进行组合获取完整的属性秘钥SK:
Figure FDA0004133708940000027
2.根据权利要求1所述的基于区块链技术和属性加密的数据访问控制方法,其特征在于,所述数据属主利用属性加密技术对所述对称秘钥和存储地址进行加密,包括:
数据属主自定义访问树结构,并利用属性加密技术将所述访问树结构嵌入到秘钥密文和存储地址密文中,所述访问树结构支持小于操作符,所述小于操作符的表达方式为:
将目标日期转化为二进制a1a2a3…an;
基于a1a2a3…an生成集合A={A1,A2,…,An},且集合A中元素Ai的长度为n或者为Ai=null,其中:
Figure FDA0004133708940000028
对于bindex,i定义如下:
Figure FDA0004133708940000029
将集合A中的元素为null值的Ai剔除,然后使用或操作符将集合A中的各个元素连接。
3.根据权利要求2所述的基于区块链技术和属性加密的数据访问控制方法,其特征在于,所述访问树结构还支持大于操作符,所述大于操作符的表达方式为:
将目标日期+1转化为二进制a1a2a3…an;
基于二进制a1a2a3…an生成表达式B=b1b2b3…bn,其中bi定义如下:
Figure FDA0004133708940000031
4.根据权利要求1所述的基于区块链技术和属性加密的数据访问控制方法,其特征在于,所述第三方存储系统为IPFS星际文件系统。
CN202210927429.XA 2022-08-03 2022-08-03 基于区块链技术和属性加密的数据访问控制方法 Active CN115296817B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210927429.XA CN115296817B (zh) 2022-08-03 2022-08-03 基于区块链技术和属性加密的数据访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210927429.XA CN115296817B (zh) 2022-08-03 2022-08-03 基于区块链技术和属性加密的数据访问控制方法

Publications (2)

Publication Number Publication Date
CN115296817A CN115296817A (zh) 2022-11-04
CN115296817B true CN115296817B (zh) 2023-04-21

Family

ID=83826646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210927429.XA Active CN115296817B (zh) 2022-08-03 2022-08-03 基于区块链技术和属性加密的数据访问控制方法

Country Status (1)

Country Link
CN (1) CN115296817B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779634B (zh) * 2021-09-17 2024-09-10 江苏通付盾科技有限公司 一种数据存储方法及系统
CN115982746B (zh) * 2023-03-17 2023-06-27 南京信息工程大学 一种基于区块链的数据共享方法
CN116248279B (zh) * 2023-05-05 2023-07-25 北京航空航天大学云南创新研究院 一种基于区块链的数据计算容器化可信执行方法
CN117251884A (zh) * 2023-09-21 2023-12-19 北京海泰方圆科技股份有限公司 一种数据验证方法及装置
CN117499010A (zh) * 2023-10-31 2024-02-02 北京海泰方圆科技股份有限公司 一种数据处理方法及装置
CN118153115A (zh) * 2024-02-06 2024-06-07 区块链新科技(广州)有限公司 一种基于联盟链的档案管理方法、存储介质及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022150386A1 (en) * 2021-01-06 2022-07-14 Ntt Research, Inc. Decentralized multi-authority attribute-based encryption from bilinear diffie-hellman assumptions

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112836229B (zh) * 2021-02-10 2023-01-31 北京深安信息科技有限公司 属性基加密和区块链结合的可信数据访问控制方案
CN113642024A (zh) * 2021-08-30 2021-11-12 西安邮电大学 基于区块链的医疗数据细粒度管理方法及系统
CN113779612B (zh) * 2021-09-30 2023-06-13 国网湖南省电力有限公司 一种基于区块链与隐藏策略属性加密的数据共享方法与系统
CN114065265B (zh) * 2021-11-29 2024-04-16 重庆邮电大学 基于区块链技术的细粒度云存储访问控制方法、系统及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022150386A1 (en) * 2021-01-06 2022-07-14 Ntt Research, Inc. Decentralized multi-authority attribute-based encryption from bilinear diffie-hellman assumptions

Also Published As

Publication number Publication date
CN115296817A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
CN115296817B (zh) 基于区块链技术和属性加密的数据访问控制方法
CN109559124B (zh) 一种基于区块链的云数据安全共享方法
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
CN114039790B (zh) 一种基于区块链的细粒度云存储安全访问控制方法
CN111130757A (zh) 一种基于区块链的多云cp-abe访问控制方法
US6907127B1 (en) Hierarchical key management encoding and decoding
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
US6718468B1 (en) Method for associating a password with a secured public/private key pair
CN110599163B (zh) 一种面向区块链交易监管的交易记录外包方法
CN107040374B (zh) 一种云存储环境下支持用户动态撤销的属性基数据加密方法
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
CN113434875A (zh) 一种基于区块链的轻量化访问方法及系统
CN113360944A (zh) 一种电力物联网的动态访问控制系统与方法
US6704868B1 (en) Method for associating a pass phase with a secured public/private key pair
CN118213031A (zh) 一种医疗数据共享隐私保护系统、方法、设备及介质
CN110011963A (zh) 基于obdd的带有有效撤销的多授权cp-abe的信息处理方法
CN117097469A (zh) 一种基于属性加密的数据分层访问控制方法
CN116668149A (zh) 一种基于策略隐藏和属性更新的电子医疗数据共享方法
US20220407690A1 (en) Key ladder generating a device public key
Naik et al. Original Research Article Key management and access control based on combination of cipher text-policy attribute-based encryption with Proxy Re-Encryption for cloud data
US20070220585A1 (en) Digital rights management system with diversified content protection process
CN114117475B (zh) 一种改进的属性基加密方案系统及其加密算法
CN115604036B (zh) 一种基于改进cp-abe的电子病历隐私保护系统及方法
Prakash et al. A Theoretical Framework on Enhancing Cloud Storage Security through Customized ECC Key Management Technique
CN116049853A (zh) 一种基于lsss和区块链的访问控制方法

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