【技术实现步骤摘要】
一种基于SM9的属性基加密的区块链访问控制方法
[0001]本专利技术涉及公钥加密体制领域,具体为一种基于SM9的属性基加密的区块链访问控制方法。
技术介绍
[0002]SM9是我国自主研发的标识密码算法标准(参见“GM/T0044
‑
2016SM9标识密码算法”标准,国家密码管理局,2016年3月),定义了一套基于身份的密码方案,包括签名、加密和密钥等算法和协议。SM9是一种基于标识的公钥密码算法,但他与常见的RSA公钥密码算法不同,标识密码算法的公钥是一个用户的身份标识,比如手机号码、身份证号码等,用户的私钥是通过用户的身份标识符和系统主密钥产生。因为标识密码算法的公钥是用户的身份标识,所以在解密密文或签名验证的时候就不需要获取对方的公钥证书来确保公钥是有效的,这样在一定程度上就简化了传统公钥密码算法繁琐的PKI交互流程。但是,标识密码算法也存在一定的问题,就是在加密过程中有可能导致用户信息的泄露,无法满足隐私保护的需求。
[0003]属性基加密最早是由基于模糊身份的加密方式发展而来的,是一种将用户身份与一系列属性绑定的加密技术,通过对用户私钥或密文设置属性集与访问结构,只有属性集与访问结构相匹配时才能解密,从而实现一对多的加密数据共享以及细粒度的访问控制。当前的属性加密可分为密钥策略属性加密(key
‑
policy ABE,KP
‑
ABE)和密文策略属性加密(ciphertext
‑
policy ABE,CP
‑
A ...
【技术保护点】
【技术特征摘要】
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
·...
【专利技术属性】
技术研发人员:周权,曾志廉,陈民辉,曾志康,郑玉龙,卫凯俊,
申请(专利权)人:广州大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。