当前位置: 首页 > 专利查询>广州大学专利>正文

一种基于SM9的属性基加密的区块链访问控制方法技术

技术编号:37805399 阅读:17 留言:0更新日期:2023-06-09 09:35
本发明专利技术涉及公钥加密体制领域,且公开了一种基于SM9的属性基加密的区块链访问控制方法,区块链组网,IPFS启动,将其接入公链节点,系统初始化,系统主密钥生成,用户属性私钥以及对称密钥生成,文件加密,对称密钥加密,对称密钥解密,文件解密,该基于SM9的属性基加密的区块链访问控制方法,在属性基加密方案的基础上结合区块链和IPFS技术,使得用户数据不被纂改且可审计,实现数据的高效安全存储与访问控制,保证了系统数据的机密性、完整性以及系统运行的高响应。运行的高响应。运行的高响应。

【技术实现步骤摘要】
一种基于SM9的属性基加密的区块链访问控制方法


[0001]本专利技术涉及公钥加密体制领域,具体为一种基于SM9的属性基加密的区块链访问控制方法。

技术介绍

[0002]SM9是我国自主研发的标识密码算法标准(参见“GM/T0044

2016SM9标识密码算法”标准,国家密码管理局,2016年3月),定义了一套基于身份的密码方案,包括签名、加密和密钥等算法和协议。SM9是一种基于标识的公钥密码算法,但他与常见的RSA公钥密码算法不同,标识密码算法的公钥是一个用户的身份标识,比如手机号码、身份证号码等,用户的私钥是通过用户的身份标识符和系统主密钥产生。因为标识密码算法的公钥是用户的身份标识,所以在解密密文或签名验证的时候就不需要获取对方的公钥证书来确保公钥是有效的,这样在一定程度上就简化了传统公钥密码算法繁琐的PKI交互流程。但是,标识密码算法也存在一定的问题,就是在加密过程中有可能导致用户信息的泄露,无法满足隐私保护的需求。
[0003]属性基加密最早是由基于模糊身份的加密方式发展而来的,是一种将用户身份与一系列属性绑定的加密技术,通过对用户私钥或密文设置属性集与访问结构,只有属性集与访问结构相匹配时才能解密,从而实现一对多的加密数据共享以及细粒度的访问控制。当前的属性加密可分为密钥策略属性加密(key

policy ABE,KP

ABE)和密文策略属性加密(ciphertext

policy ABE,CP

ABE),在KP

ABE,将策略嵌入到密钥中,属性嵌入到密文中;而在CP

ABE,是将策略嵌入到密文中,属性嵌入到密钥中。基于CP

ABE的属性基加密,其允许数据拥有者自定义密文的访问策略,相较于KP

ABE更适用于分布式的存储以及解密方不确定的访问控制环境,能满足细粒度访问控制和一对多数据共享的需求。
[0004]区块链作为一种新兴的集成技术,具有去中心化、确权和不可纂改等特点,可以使个体或组织之间在弱信任网络环境中建立可信的数据访问控制。而联盟链平台Hyperledger Fabric是一个开源的、企业级的、带权限的分布式账本平台,其设计初衷就是针对企业级的应用,它具有完备的权限控制,成员需要通过身份验证才能加入网络,兼顾数据共享和隐私保护。同时Fabric使用通道隔离账本,不在相关通道的成员则无法访问该通道上的任何交易或信息,其中每个节点的账本通过区块链条和世界状态来维护,区块链条保存特定通道上每个智能合约的所有交易历史,世界状态为每个特定的智能合约维护变量的当前状态,这样任何成员对区块信息的任何访问以及操作都将被记录。
[0005]IPFS(InterPlanetary File System)是一种点对点的分布式文件系统,它的原理就是利用基于内容的地址来替代基于域名的地址,简单来说,用户寻找的是存储在某地方的内容,而不是某地址,就只需确认验证内容的哈希,通过哈希即可找到对应的内容。相较于传统的第三方服务器,例如云服务器,存储方式容易出现单点故障,存储成本高,数据上传与下载速度慢,安全性能低,而IPFS作为一种分布式存储提高了存储空间利用率,提高上传下载速度。其次IPFS还使用了区块链技术、哈希函数和零知识证明等一系列加密技术,避
免了单点故障,防止数据被篡改,可以确保数据的安全性。
[0006]2)现有技术问题:
[0007]传统的访问控制方案和公钥加密体制都存在着不适用于多用户场景的问题,比如访问控制策略的数量容易随着用户规模的增大而不断增多,公钥加密体制依赖公钥基础设施PKI在访问控制中需要获取每个用户的公钥信息,并需要一对一地将密文信息发送给相应的用户,这都会造成计算开销大、通信成本高、工作效率低等问题。
[0008]在现有技术方案中,基于SM9提出的属性基加密方案甚少,其中基于SM9的属性基加密方案虽然提出了一种数据共享的方案,但并没有对数据的安全存储作说明,其次,该方案属性基部分使用的访问结构为树形结构,其通用性在一定程度上没有线性秘密共享方案(LSSS)矩阵好,为此我们提出了一种基于SM9的属性基加密的区块链访问控制方法。

技术实现思路

[0009](一)解决的技术问题
[0010]针对现有技术的不足,本专利技术提供了一种基于SM9的属性基加密的区块链访问控制方法,解决了上述的问题。
[0011](二)技术方案
[0012]为实现上述所述目的,本专利技术提供如下技术方案:一种基于SM9的属性基加密的区块链访问控制方法,包括以下步骤:
[0013]第一步:区块链组网,选取多个区块链节点搭建Fabric联盟区块链网络;
[0014]第二步:在主机或服务器上部署IPFS接入IPFS公链节点;
[0015]第三步:可信中心对系统初始化并获取基于SM9的属性加密方法所需的系统参数;
[0016]第四步:可信中心生成由可信中心公开的系统主公钥MPK和由可信中心秘密保存的系统主私钥MSK;
[0017]第五步:可信中心基于用户B的请求,结合系统主私钥MSK、用户B的属性集Attr
B
、用户B的组身份标识GID和系统参数,生成用户属性私钥SK
U
并发给用户B;
[0018]第六步:可信中心基于用户A的请求,生成对称密钥SK并发送给用户A;
[0019]第七步:用户A结合对称密钥SK对文件M
f
进行SM4的ECB模式加密并将产生的密文CT
f
上传至IPFS保存,IPFS返回哈希值M
h
给用户A;
[0020]第八步:用户A结合系统主公钥MPK、用户B所在的组身份标识GID和系统参数对对称密钥SK进行加密并将产生的密文CT上传至Fabric联盟区块链中进行保存;
[0021]第九步:Fabric联盟区块链基于用户B的请求,发送密文CT给用户B,用户B通过属性私钥SK
U
结合系统参数对密文CT解密得到解密结果SK


[0022]第十步:IPFS基于用户B的请求,发送CT
f
给用户B;
[0023]第十一步:用户B通过SK

对CT
f
解密得到解密结果M

f

[0024]优选的,所述第一步包括以下内容:
[0025]S1:利用主机或服务器作为区块链节点,搭建Hyperledger Fabric区块链网络,启动运行BYFN示例网络;
[0026]S2:根据联盟需要添加新的组织到BYFN示例网络,生成MSP文件与组织定义文件;
[0027]S3:认证中心CA节点根据管理员通过区块链节点注册用户A和用户B的身份。
[0028]优选的,所述第四步包括以下内容本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SM9的属性基加密的区块链访问控制方法,其特征在于,包括以下步骤:第一步:区块链组网,选取多个区块链节点搭建Fabric联盟区块链网络;第二步:在主机或服务器上部署IPFS接入IPFS公链节点;第三步:可信中心对系统初始化并获取基于SM9的属性加密方法所需的系统参数;第四步:可信中心生成由可信中心公开的系统主公钥MPK和由可信中心秘密保存的系统主私钥MSK;第五步:可信中心基于用户B的请求,结合系统主私钥MSK、用户B的属性集Attr
B
、用户B的组身份标识GID和系统参数,生成用户属性私钥SK
U
并发给用户B;第六步:可信中心基于用户A的请求,生成对称密钥SK并发送给用户A;第七步:用户A结合对称密钥SK对文件M
f
进行SM4的ECB模式加密并将产生的密文CT
f
上传至IPFS保存,IPFS返回哈希值M
h
给用户A;第八步:用户A结合系统主公钥MPK、用户B所在的组身份标识GID和系统参数对对称密钥SK进行加密并将产生的密文CT上传至Fabric联盟区块链中进行保存;第九步:Fabric联盟区块链基于用户B的请求,发送密文CT给用户B,用户B通过属性私钥SK
U
结合系统参数对密文CT解密得到解密结果SK

;第十步:IPFS基于用户B的请求,发送CT
f
给用户B;第十一步:用户B通过SK

对CT
f
解密得到解密结果M

f
。2.根据权利要求1所述的一种基于SM9的属性基加密的区块链访问控制方法,其特征在于:所述第一步包括以下内容:S1:利用主机或服务器作为区块链节点,搭建Hyperledger Fabric区块链网络,启动运行BYFN示例网络;S2:根据联盟需要添加新的组织到BYFN示例网络,生成MSP文件与组织定义文件;S3:认证中心CA节点根据管理员通过区块链节点注册用户A和用户B的身份。3.根据权利要求1所述的一种基于SM9的属性基加密的区块链访问控制方法,其特征在于:所述第四步包括以下内容:S1:可信中心随机产生α,a∈Z
p
,并令MSK=α||a,作为系统主私钥,其中α和a均作为系统主私钥的组成部分,p表示群G1、G2、G
T
的阶,Z
p
表示模素数p构成的有限域,G1和G2均表示加法循环群,G
T
表示乘法循环群,群G1,G2和G
T
有相同的阶;S2:可信中心根据所选主私钥的组成部分α,a,计算系统主公钥MPK,MPK={α
·
P1,a
·
P2},令PK1=α
·
P1表示系统主公钥组成部分之一,令PK2=a
·
P2表示系统主公钥组成部分之二,P1表示群G1的生成元,P2表示群G2的生成元。4.根据权利要求1所述的一种基于SM9的属性基加密的区块链访问控制方法,其特征在于:所述第五步包括以下内容:S1:用户B设定一个组身份标识GID并发送给可信中心,请求属性私钥;S2:验证GID的有效性以及用户B是否在组GID中,如果验证通过,可信中心为用户B选择随机数t∈Z
p
,结合系统主私钥MSK=α||a、用户B的属性集Attr
B
、用户B的组身份标识GID计算用户B属性私钥的一部分:
sk2=(t
·
a
‑1)
·
P1;sk1表示用户B属性私钥的组成成分之一,sk2表示用户B属性私钥的组成成分之二,H1表示由安全的密码杂凑函数派生的密码函数,hid表示加密私钥生成函数识别符,hid=3;S3:对于属性集Attr
B
中的每个属性x,下述公式作为用户B属性私钥的另一部分:sk
x
=(t
·
a
‑1)
·
h(x);a
‑1表示a在模p下的逆,sk
x
表示用户B属性私钥的组成成分之三,h()表示安全的SM3哈希算法;S4:可信中心生成用户B属性私钥并通过安全信道发送给用户B;S5:用户B接受并秘密保存属性私钥SK
U
。5.根据权利要求1所述的一种基于SM9的属性基加密的区块链访问控制方法,其特征在于:所述第七步包括以下内容:S1:用户A结合对称密钥SK通过下述公式计算文件M
f
的密文CT
f
:CT
f
=Enc(SK,M
f
);Enc()表示SM4的ECB模式加密算法;S2:用户A将CT
f
上传至IPFS保存;S3:IPFS返回哈希值M
h
给用户A。6.根据权利要求1所述的一种基于SM9的属性基加密的区块链访问控制方法,其特征在于:所述第八的具体内容为:S1:用户A对应设置一个加密用的组身份标识GID,假设在匹配用户B的情况下,以下述作为加密中间值:Q
B
=H1(GID||hid,p)
·
P1+PK1;S2:用户A随机选择s∈Z
p
,计算公式如下:C1=s
·...

【专利技术属性】
技术研发人员:周权曾志廉陈民辉曾志康郑玉龙卫凯俊
申请(专利权)人:广州大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1