【技术实现步骤摘要】
一种基于代理重加密的区块链数据访问权限控制方法
本申请属于区块链
,具体涉及一种基于代理重加密的区块链数据访问权限控制方法。
技术介绍
区块链是一种去中心化的分布式账本,具有不可更改、不可伪造和完全可追溯等安全特性。同一区块链内,数据对于每个节点是完全公开的,所以任意节点可以查看所有区块上的数据。如何防止区块链上数据被滥用,保护节点隐私数据,提高权限控制,变得日益紧迫和重要。目前,区块链主要分为联盟链(Fabric)和公有链。Fabric通过将组织加入到不同的通道(channel),实现组织级别的粗粒度数据隔离。同一通道中的组织均可访问该通道上的任意信息。对于更细粒度的数据级别隐私保护机制,Fabric引进了私有数据集,允许基于策略创建私有数据集,来定义通道中的哪些成员可以访问数据,但无法动态调整私有数据集的访问成员,因此仍然无法做到对数据级别的权限控制。这极大程度上妨碍了在区块链上进行数据访问权限控制的灵活性和安全性。
技术实现思路
本申请的目的在于提供一种基于代理重加密的区块链数据访问权限控制方法,通过对不同安全级别的数据进行分类处理,在区块链上实现对数据级别的细粒度权限访问控制。为实现上述目的,本申请所采取的技术方案为:一种基于代理重加密的区块链数据访问权限控制方法,用于根据不同安全级别的区块链数据设置不同的访问类型,所述访问类型包括完全私有、授权共享和完全共享,针对于授权共享的访问类型,所述基于代理重加密的区块链数据访问权限控制方法实施在授权节点,包括: >生成对称密钥,利用所述对称密钥加密明文信息生成内容密文,同时采用己方公钥加密对称密钥生成密钥密文;将所述内容密文和密钥密文上传至区块链;接收被授权节点发起的访问授权申请,根据所述访问授权申请在区块链上获取被授权节点的公钥,根据己方的私钥和被授权节点的公钥生成授权密钥;将所述授权密钥上传至区块链,所述授权密钥用于供区块链结合所述密钥密文进行代理重加密计算生成代理重加密密钥;所述代理重加密密钥用于供被授权节点利用己方私钥解析获得所述对称密钥,所述对称密钥用于供被授权节点解密内容密文得到所述明文信息。作为优选,所述基于代理重加密的区块链数据访问权限控制方法,还包括初始化:所述区块链通过密钥生成中心使用安全参数生成基于椭圆双线性映射的系统参数params,params={type,q,h,r,exp2,exp1,sign1,sign0},其中type表示椭圆曲线配对类型,q为素数且满足q=-1mod12且q+1=rh,r为Solina素数且满足r=2exp2+sign1×2exp1+sign0×1;随机选取乘法循环群G1及其生成元g,计算双线性映射paring(g,g)=z,以及乘法循环群上的双线性映射G1×G1→GT;并且为每个节点颁发基于椭圆双线性映射的公私钥对,各节点将私钥独立保存,并将公钥保存至区块链公开。作为优选,所述生成对称密钥,利用所述对称密钥加密明文信息生成内容密文,同时采用己方公钥加密对称密钥生成密钥密文,包括:在GT空间随机获取一个元素e,通过hash函数f映射e,得到对称密钥f(e)=cm;用对称密钥cm对明文信息m进行对称加密,得到内容密文M;在zr空间随机选择一个元素k,通过基于椭圆双线性映射的代理授权加密方法计算对称密钥的密钥密文其中为授权节点的公钥。作为优选,所述根据己方的私钥和被授权节点的公钥生成授权密钥,包括:获取的被授权节点的公钥为授权节点己方私钥为ska=(a1,a2),计算授权密钥为区块链利用授权密钥结合所述密钥密文进行代理重加密计算生成代理重加密密钥,包括:获取密钥密文利用授权密钥rkA→B通过基于椭圆双线性映射的代理重加密算法计算得到代理重加密密钥作为优选,所述被授权节点利用己方私钥解析代理重加密密钥获得所述对称密钥,利用对称密钥解密内容密文得到所述明文信息,包括:被授权节点从区块链获取代理重加密密钥和内容密文M;根据己方私钥skb=(b1,b2),解析代理重加密密钥得到元素通过hash函数f映射e,得到对称密钥f(e)=cm;利用对称密钥cm对内容密文M进行对称解密,得到明文信息m。作为优选,所述区块链利用授权密钥结合所述密钥密文进行代理重加密计算生成代理重加密密钥的过程在区块链的智能合约中实施。作为优选,所述内容密文和密钥密文保存在区块链的同一个区块中。作为优选,针对于完全私有的访问类型,所述基于代理重加密的区块链数据访问权限控制方法,包括:数据上传节点在GT空间随机获取一个元素e,通过hash函数f映射e,得到对称密钥f(e)=cm;用对称密钥cm对明文信息m进行对称加密,得到内容密文M;在zr空间随机选择一个元素k,通过数据上传节点己方公钥计算对称密钥的密钥密文将所述内容密文M和密钥密文Cm,k上传至区块链。作为优选,所述数据上传节点访问完全私有的数据,包括:数据上传节点从区块链获取自己的完全私有的数据,包括内容密文M和密钥密文根据己方私钥ska=(a1,a2),解析代理重加密密钥得到元素通过hash函数f映射e,得到对称密钥f(e)=cm;利用对称密钥cm对内容密文M进行对称解密,得到明文信息m。作为优选,针对于完全共享的访问类型,所述基于代理重加密的区块链数据访问权限控制方法,包括:数据上传节点直接将明文信息上传至区块链供其他节点无障碍访问。本申请提供的基于代理重加密的区块链数据访问权限控制方法,通过将公钥存储在区块链上,减少证书认证过程和实现公钥数据防篡改。通过区块链智能合约进行代理重加密计算,实现对数据的授权访问,计算过程中仅仅暴露了无意义的中间数据,保证了授权过程的安全可靠及可追溯。本专利技术通过对不同级别的数据进行分类处理,在区块链上实现对数据级别的细粒度权限访问控制。附图说明图1为本申请的基于代理重加密的区块链数据访问权限控制方法涉及的对象示意图;图2为本申请基于代理重加密的区块链数据访问权限控制方法的流程图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。其中一个实施例中,公开了一种基于代理重加密的区块链数据访问权限控制方法,用于根据不同安全级别的区块链数据设置不同的访问类型,并且访问类型包括完全私有、授权共享和完全共享。在区本文档来自技高网...
【技术保护点】
1.一种基于代理重加密的区块链数据访问权限控制方法,用于根据不同安全级别的区块链数据设置不同的访问类型,其特征在于,所述访问类型包括完全私有、授权共享和完全共享,针对于授权共享的访问类型,所述基于代理重加密的区块链数据访问权限控制方法实施在授权节点,包括:/n生成对称密钥,利用所述对称密钥加密明文信息生成内容密文,同时采用己方公钥加密对称密钥生成密钥密文;/n将所述内容密文和密钥密文上传至区块链;/n接收被授权节点发起的访问授权申请,根据所述访问授权申请在区块链上获取被授权节点的公钥,根据己方的私钥和被授权节点的公钥生成授权密钥;/n将所述授权密钥上传至区块链,所述授权密钥用于供区块链结合所述密钥密文进行代理重加密计算生成代理重加密密钥;所述代理重加密密钥用于供被授权节点利用己方私钥解析获得所述对称密钥,所述对称密钥用于供被授权节点解密内容密文得到所述明文信息。/n
【技术特征摘要】
1.一种基于代理重加密的区块链数据访问权限控制方法,用于根据不同安全级别的区块链数据设置不同的访问类型,其特征在于,所述访问类型包括完全私有、授权共享和完全共享,针对于授权共享的访问类型,所述基于代理重加密的区块链数据访问权限控制方法实施在授权节点,包括:
生成对称密钥,利用所述对称密钥加密明文信息生成内容密文,同时采用己方公钥加密对称密钥生成密钥密文;
将所述内容密文和密钥密文上传至区块链;
接收被授权节点发起的访问授权申请,根据所述访问授权申请在区块链上获取被授权节点的公钥,根据己方的私钥和被授权节点的公钥生成授权密钥;
将所述授权密钥上传至区块链,所述授权密钥用于供区块链结合所述密钥密文进行代理重加密计算生成代理重加密密钥;所述代理重加密密钥用于供被授权节点利用己方私钥解析获得所述对称密钥,所述对称密钥用于供被授权节点解密内容密文得到所述明文信息。
2.如权利要求1所述的基于代理重加密的区块链数据访问权限控制方法,其特征在于,所述基于代理重加密的区块链数据访问权限控制方法,还包括初始化:
所述区块链通过密钥生成中心使用安全参数生成基于椭圆双线性映射的系统参数params,params={type,q,h,r,exp2,exp1,sign1,sign0},其中type表示椭圆曲线配对类型,q为素数且满足q=-1mod12且q+1=rh,r为Solina素数且满足r=2exp2+sign1×2exp1+sign0×1;
随机选取乘法循环群G1及其生成元g,计算双线性映射paring(g,g)=z,以及乘法循环群上的双线性映射G1×G1→GT;
并且为每个节点颁发基于椭圆双线性映射的公私钥对,各节点将私钥独立保存,并将公钥保存至区块链公开。
3.如权利要求2所述的基于代理重加密的区块链数据访问权限控制方法,其特征在于,所述生成对称密钥,利用所述对称密钥加密明文信息生成内容密文,同时采用己方公钥加密对称密钥生成密钥密文,包括:
在GT空间随机获取一个元素e,通过hash函数f映射e,得到对称密钥f(e)=cm;
用对称密钥cm对明文信息m进行对称加密,得到内容密文M;
在zr空间随机选择一个元素k,通过基于椭圆双线性映射的代理授权加密方法计算对称密钥的密钥密文其中为授权节点的公钥。
4.如权利要求3所述的基于代理重加密的区块链数据访问权限控制方法,其特征在于,所述根据己方的私钥和被授权节点的公钥生成授权密钥,包括:
获取的被授权节点的公钥为授权节点己方私...
【专利技术属性】
技术研发人员:娄琪,何成东,俞兴华,郑嘉波,
申请(专利权)人:中电海康集团有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。