CN115860741A - 区块链数据加密验证方法、装置及*** - Google Patents

区块链数据加密验证方法、装置及*** Download PDF

Info

Publication number
CN115860741A
CN115860741A CN202211638780.3A CN202211638780A CN115860741A CN 115860741 A CN115860741 A CN 115860741A CN 202211638780 A CN202211638780 A CN 202211638780A CN 115860741 A CN115860741 A CN 115860741A
Authority
CN
China
Prior art keywords
transaction
blockchain
attribute
node
blockchain network
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.)
Pending
Application number
CN202211638780.3A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202211638780.3A priority Critical patent/CN115860741A/zh
Publication of CN115860741A publication Critical patent/CN115860741A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例提供一种区块链数据加密验证方法、装置及***,涉及区块链领域,方法包括:生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包;根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链;接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账;本申请能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。

Description

区块链数据加密验证方法、装置及***
技术领域
本申请涉及区块链领域,具体涉及一种区块链数据加密验证方法、装置及***。
背景技术
区块链技术的特点之一是账本由多方持有,数据公开透明。区块链数据完全公开透明,在某些涉及到商业敏感信息的金融***中完全不可以接受的,传统的区块链***目前通常使用的密钥封装方法,只能解决相关方可见,无法满足让部分需要验证交易的参与方在密文状态下可验证的需求。
发明内容
针对现有技术中的问题,本申请提供一种区块链数据加密验证方法、装置及***,能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种区块链数据加密验证方法,包括:
生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包;
根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回;
接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
进一步地,所述根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,包括:
构造交易发生额解密密钥的访问树,其中,所述访问树的叶子节点是各个属性,每个属性对应一个有限域随机数,上层节点将下层节点的属性值做拉格朗日插值得到的多项式,多项式在x=0的值是上层节点的秘密值,右下至上一直到根节点,根节点的秘密值是用于解密该访问数据所需的密钥;
根据所述秘钥、预设访问权限对应的访问结构、所述交易发生额的属性集合和秘密值集合对交易发生额进行数据加密,得到加密密文。
进一步地,所述将经过盲化计算处理后的交易信息发送至区块链网络进行上链,包括:
对所述交易发生额执行承诺和相关参数的计算;
将计算结果进行盲化计算和钱包秘钥签名,得到盲化计算处理后的交易信息发送至区块链网络进行上链。
进一步地,在所述将所述交易信息发送至所述区块链网络共识入账之后,还包括:
接收区块链网络中的交易验证节点发送的随机挑战,其中,所述随机挑战是所述交易验证节点对所述交易发起方节点进行身份验证后针对所述交易信息猴子那个的交易发生额承诺发起的;
根据所述随机挑战的类型、对应的承诺和随机挑战特定参数计算相关证明并返回所述交易验证节点。
第二方面,本申请提供一种区块链数据加密验证方法,包括:
接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥;
从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,其中,所述交易信息是所述区块链网络中交易发起方节点的区块链钱包根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密得到的,所述交易信息还经由区块链网络根据预设群私钥对应的真实交易签名进行过加密密文补齐;
在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
进一步地,所述通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,包括:
通过所述包含属性合集的秘钥对所述交易信息进行访问结构树解析;
对所述访问结构树叶子节点进行属性基解密,确定所述交易信息中的交易发生额。
第三方面,本申请提供一种区块链数据加密验证装置,包括:
秘钥分发模块,用于生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包;
发生额加密模块,用于根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回;
交易信息上链模块,用于接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
进一步地,所述发生额加密模块包括:
访问树构造单元,用于构造交易发生额解密密钥的访问树,其中,所述访问树的叶子节点是各个属性,每个属性对应一个有限域随机数,上层节点将下层节点的属性值做拉格朗日插值得到的多项式,多项式在x=0的值是上层节点的秘密值,右下至上一直到根节点,根节点的秘密值是用于解密该访问数据所需的密钥;
数据加密单元,用于根据所述秘钥、预设访问权限对应的访问结构、所述交易发生额的属性集合和秘密值集合对交易发生额进行数据加密,得到加密密文。
进一步地,所述交易信息上链模块包括:
发生额计算单元,用于对所述交易发生额执行承诺和相关参数的计算;
盲化计算单元,用于将计算结果进行盲化计算和钱包秘钥签名,得到盲化计算处理后的交易信息发送至区块链网络进行上链。
进一步地,还包括:
挑战接收单元,用于接收区块链网络中的交易验证节点发送的随机挑战,其中,所述随机挑战是所述交易验证节点对所述交易发起方节点进行身份验证后针对所述交易信息猴子那个的交易发生额承诺发起的;
挑战验证单元,用于根据所述随机挑战的类型、对应的承诺和随机挑战特定参数计算相关证明并返回所述交易验证节点。
第四方面,本申请提供一种区块链数据加密验证装置,包括:
秘钥获取模块,用于接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥;
发生额解密模块,用于从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,其中,所述交易信息是所述区块链网络中交易发起方节点的区块链钱包根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密得到的,所述交易信息还经由区块链网络根据预设群私钥对应的真实交易签名进行过加密密文补齐;
反馈同步模块,用于在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
进一步地,所述发生额解密模块包括:
访问树解析单元,用于通过所述包含属性合集的秘钥对所述交易信息进行访问结构树解析;
数据解密单元,用于对所述访问结构树叶子节点进行属性基解密,确定所述交易信息中的交易发生额。
第五方面,本申请提供一种区块链数据加密验证***,包括区块链网络中的交易发起方节点的区块链钱包、交易相关方节点的区块链钱包以及交易验证节点;
所述交易发起方节点的区块链钱包包括:
秘钥分发模块,用于生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包;
发生额加密模块,用于根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回;
交易信息上链模块,用于接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账;
所述交易相关方节点的区块链钱包包括:
秘钥获取模块,用于接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥;
发生额解密模块,用于从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理;
反馈同步模块,用于在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
第六方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的区块链数据加密验证方法的步骤。
第七方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的区块链数据加密验证方法的步骤。
第八方面,本申请提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述的区块链数据加密验证方法的步骤。
由上述技术方案可知,本申请提供一种区块链数据加密验证方法、装置及***,通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的区块链数据加密验证方法的流程示意图之一;
图2为本申请实施例中的区块链数据加密验证方法的流程示意图之二;
图3为本申请实施例中的区块链数据加密验证方法的流程示意图之三;
图4为本申请实施例中的区块链数据加密验证方法的流程示意图之四;
图5为本申请实施例中的区块链数据加密验证方法的流程示意图之五;
图6为本申请实施例中的区块链数据加密验证方法的流程示意图之六;
图7为本申请实施例中的区块链数据加密验证装置的结构图之一;
图8为本申请实施例中的区块链数据加密验证装置的结构图之二;
图9为本申请实施例中的区块链数据加密验证装置的结构图之三;
图10为本申请实施例中的区块链数据加密验证装置的结构图之四;
图11为本申请实施例中的区块链数据加密验证装置的结构图之五;
图12为本申请实施例中的区块链数据加密验证装置的结构图之六;
图13为本申请实施例中的区块链数据加密验证***的结构图;
图14为本申请一具体实施例中的区块链网络拓扑图;
图15为本申请一具体实施例中的交易发起方区块链钱包功能模块图;
图16为本申请一具体实施例中的区块链节点功能模块图;
图17为本申请一具体实施例中的属性对应关系示意图;
图18为本申请一具体实施例中的访问结构示意图;
图19为本申请一具体实施例中的映射关系示意图;
图20为本申请一具体实施例中的交易信息构成示意图;
图21为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
考虑到现有技术中存在的问题,本申请提供一种区块链数据加密验证方法、装置及***,通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
为了能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性,本申请提供一种区块链数据加密验证方法的实施例,应用于区块链网络中交易发起方节点的区块链钱包,参见图1,所述区块链数据加密验证方法具体包含有如下内容:
步骤T101:生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包。
可选的,本申请交易发起方区块链钱包为各个交易相关方生成含属性集合的密钥,并将密钥分发给各个交易相关方区块链钱包。交易相关方须持有特定属性的秘密,才能计算得到对应数据的密钥,才能在后面把经过属性基加密的交易发生额解密出来。
举例来说,选择素数p阶的双线性群G0,生成元是g,随机选择α,β∈Zp,则公共参数是PK={G0,g,h=gβ,f=g1/β,e(g,g)α},主密钥是MSK=(β,gα)。
根据用户属性集合S,生成随机数r∈Zp和每个属性对应的有限域随机数,属性集合表示为{rj∈Zp}j∈S,属性私钥计算方法如下:
Figure BDA0004007661950000071
将属性私钥分发给对应的交易相关方区块链钱包。
步骤T102:根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回。
可选的,本申请交易发起方区块链钱包为一笔具体交易定义合适的访问结构,在访问结构中指定多个交易相关方能够解密。若交易想要对所有交易相关方披露,访问结构是OR(属性1,属性2),若交易仅想要对交易相关方1披露,访问结构是AND(属性1,属性2),当然也可以指定其他访问结构。
可选的,本申请交易发起方区块链钱包使用属性基加密算法对交易发生额执行加密,让密文和密钥与属性集合和访问结构产生关联。
举例来说,构造交易发生额解密密钥的访问树,其叶子节点是各个属性,每个属性对应一个有限域随机数,上层节点将下层节点的属性值做拉格朗日插值得到的多项式,多项式在x=0的值是上层节点的秘密值,右下至上一直到根节点,根节点的秘密值是用于解密该访问数据所需的密钥s。
用秘密s、交易发生额相关的属性集合Y的秘密值集合
Figure BDA0004007661950000081
对交易发生额M进行加密计算,得到密文:
Figure BDA0004007661950000082
可选的,本申请交易发起方区块链钱包对交易发生额执行承诺和相关参数的计算,后续可用于范围证明、加和证明或乘积关系。范围证明可选一般范围证明或者Bulletproofs等业界较成熟方案;加和证明在金额加密中使用具有加法同态的加密算法,可以满足一般转账场景的需求,隐藏金额;乘积关系证明使用具有全同态的加密算法,可以满足特殊消费场景的需求,隐藏金额外其他相关联交易信息。
具体的,交易发起方区块链钱包对交易上述信息执行盲化计算和用钱包密钥签名,将盲化后消息发给区块链节点。盲化计算先选取盲因子r,以RSA盲签名为例,对消息m盲化得到m’的计算如下:
m′=m·re modn
步骤T103:接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
可选的,本申请交易发起方区块链钱包对签名交易执行去盲化计算得到真实交易签名。签名消息去盲化计算如下:
s=m′d·r-1=md modn
可选的,本申请交易发起方区块链钱包将交易信息补齐后发布到区块链网络,交易的数据结构包含唯一交易序号Nonce、接收方地址、通过属性基加密后的交易发生额、交易发生额承诺和相关参数、交易盲签名。
在本申请的一实施例中,交易验证方区块链节点加载网络中区块链各个群公钥相关的证书。交易验证方区块链节点使用群公钥集合验证交易签名,判断交易是否是网络中区块链节点签发的,即区块链上任一群私钥签名的交易都会被认可,群私钥和群公钥的使用确保交易发起方身份合法。交易验证方区块链节点验证范围证明、加和关系证明、乘积关系证明,判断交易中参数满足业务所要求的约束条件。范围证明可选一般范围证明或者Bulletproofs等业界较成熟方案;加和证明在金额加密中使用具有加法同态的加密算法,可以满足一般转账场景的需求,隐藏金额;乘积关系证明使用具有全同态的加密算法,可以满足特殊消费场景的需求,隐藏金额外其他相关联交易信息。
从上述描述可知,本申请实施例提供的区块链数据加密验证方法,能够通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
在本申请的区块链数据加密验证方法的一实施例中,参见图2,还可以具体包含如下内容:
步骤T201:构造交易发生额解密密钥的访问树,其中,所述访问树的叶子节点是各个属性,每个属性对应一个有限域随机数,上层节点将下层节点的属性值做拉格朗日插值得到的多项式,多项式在x=0的值是上层节点的秘密值,右下至上一直到根节点,根节点的秘密值是用于解密该访问数据所需的密钥。
步骤T202:根据所述秘钥、预设访问权限对应的访问结构、所述交易发生额的属性集合和秘密值集合对交易发生额进行数据加密,得到加密密文。
可选的,本申请交易发起方区块链钱包为一笔具体交易定义合适的访问结构,在访问结构中指定多个交易相关方能够解密。若交易想要对所有交易相关方披露,访问结构是OR(属性1,属性2),若交易仅想要对交易相关方1披露,访问结构是AND(属性1,属性2),当然也可以指定其他访问结构。
可选的,本申请交易发起方区块链钱包使用属性基加密算法对交易发生额执行加密,让密文和密钥与属性集合和访问结构产生关联。
举例来说,构造交易发生额解密密钥的访问树,其叶子节点是各个属性,每个属性对应一个有限域随机数,上层节点将下层节点的属性值做拉格朗日插值得到的多项式,多项式在x=0的值是上层节点的秘密值,右下至上一直到根节点,根节点的秘密值是用于解密该访问数据所需的密钥s。
用秘密s、交易发生额相关的属性集合Y的秘密值集合
Figure BDA0004007661950000101
对交易发生额M进行加密计算,得到密文:
Figure BDA0004007661950000102
在本申请的区块链数据加密验证方法的一实施例中,参见图3,还可以具体包含如下内容:
步骤T301:对所述交易发生额执行承诺和相关参数的计算。
步骤T302:将计算结果进行盲化计算和钱包秘钥签名,得到盲化计算处理后的交易信息发送至区块链网络进行上链。
可选的,本申请交易发起方区块链钱包对交易发生额执行承诺和相关参数的计算,后续可用于范围证明、加和证明或乘积关系。范围证明可选一般范围证明或者Bulletproofs等业界较成熟方案;加和证明在金额加密中使用具有加法同态的加密算法,可以满足一般转账场景的需求,隐藏金额;乘积关系证明使用具有全同态的加密算法,可以满足特殊消费场景的需求,隐藏金额外其他相关联交易信息。
具体的,交易发起方区块链钱包对交易上述信息执行盲化计算和用钱包密钥签名,将盲化后消息发给区块链节点。盲化计算先选取盲因子r,以RSA盲签名为例,对消息m盲化得到m’的计算如下:
m′=m·re modn
在本申请的区块链数据加密验证方法的一实施例中,参见图4,还可以具体包含如下内容:
步骤T401:接收区块链网络中的交易验证节点发送的随机挑战,其中,所述随机挑战是所述交易验证节点对所述交易发起方节点进行身份验证后针对所述交易信息猴子那个的交易发生额承诺发起的。
步骤T402:根据所述随机挑战的类型、对应的承诺和随机挑战特定参数计算相关证明并返回所述交易验证节点。
可选的,本申请交易发起方区块链钱包根据挑战类型确定计算的是交易发生额相关的范围证明、加和关系证明、乘积关系证明的一类或多类,结合承诺和随机挑战特定参数计算相关证明并返回给交易验证方区块链节点。
为了能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性,本申请提供一种区块链数据加密验证方法的实施例,应用于区块链网络中交易相关方节点的区块链钱包,参见图5,所述区块链数据加密验证方法具体包含有如下内容:
步骤T501:接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥。
可选的,本申请交易相关方区块链钱包负责定期从区块链上拉取匿名交易,过滤出接收方地址是自己的交易。
步骤T502:从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,其中,所述交易信息是所述区块链网络中交易发起方节点的区块链钱包根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密得到的,所述交易信息还经由区块链网络根据预设群私钥对应的真实交易签名进行过加密密文补齐。
可选的,本申请交易相关方区块链钱包加载从各个交易发起方得到的含属性集合的密钥SK,对加密的交易发生额执行属性基加密的解密计算。
举例来说,交易相关方区块链钱包解析出加密结果CT中的访问结构,执行叶子节点解密。假设z是待解密的叶子节点,i=att(z),如果满足i∈S,本区块链钱包无权解密该笔交易,如果满足i∈S,执行如下叶子节点z中间值的计算
Figure BDA0004007661950000111
i是访问结构中属性节点z在父节点中的序号、Sx’是区块链钱包拥有的与i有关的属性集合、
Figure BDA0004007661950000121
是拉格朗日插值系数,如果访问结构中该属性节点在区块链钱包中也有对应属性,可以执行下述执行拉格朗日插值计算得到节点集合z的父节点x中间值Fx,否则无法解密。
Figure BDA0004007661950000122
由下至上可以得到根节点R中间值FR,最终解密根节点R中间值得到交易发生额明文M
Figure BDA0004007661950000123
步骤T503:在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
从上述描述可知,本申请实施例提供的区块链数据加密验证方法,能够通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
在本申请的区块链数据加密验证方法的一实施例中,参见图6,还可以具体包含如下内容:
步骤T601:通过所述包含属性合集的秘钥对所述交易信息进行访问结构树解析。
步骤T602:对所述访问结构树叶子节点进行属性基解密,确定所述交易信息中的交易发生额。
可选的,本申请交易相关方区块链钱包加载从各个交易发起方得到的含属性集合的密钥SK,对加密的交易发生额执行属性基加密的解密计算。
举例来说,交易相关方区块链钱包解析出加密结果CT中的访问结构,执行叶子节点解密。假设z是待解密的叶子节点,i=att(z),如果满足i∈S,本区块链钱包无权解密该笔交易,如果满足i∈S,执行如下叶子节点z中间值的计算
Figure BDA0004007661950000124
i是访问结构中属性节点z在父节点中的序号、Sx’是区块链钱包拥有的与i有关的属性集合、
Figure BDA0004007661950000131
是拉格朗日插值系数,如果访问结构中该属性节点在区块链钱包中也有对应属性,可以执行下述执行拉格朗日插值计算得到节点集合z的父节点x中间值Fx,否则无法解密。
Figure BDA0004007661950000132
由下至上可以得到根节点R中间值FR,最终解密根节点R中间值得到交易发生额明文M
Figure BDA0004007661950000133
为了能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性,本申请提供一种用于实现所述区块链数据加密验证方法的全部或部分内容的区块链数据加密验证装置的实施例,参见图7,所述区块链数据加密验证装置具体包含有如下内容:
秘钥分发模块T11,用于生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包。
发生额加密模块T12,用于根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回。
交易信息上链模块T13,用于接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
从上述描述可知,本申请实施例提供的区块链数据加密验证装置,能够通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
在本申请的区块链数据加密验证装置的一实施例中,参见图8,所述发生额加密模块T12包括:
访问树构造单元T121,用于构造交易发生额解密密钥的访问树,其中,所述访问树的叶子节点是各个属性,每个属性对应一个有限域随机数,上层节点将下层节点的属性值做拉格朗日插值得到的多项式,多项式在x=0的值是上层节点的秘密值,右下至上一直到根节点,根节点的秘密值是用于解密该访问数据所需的密钥。
数据加密单元T122,用于根据所述秘钥、预设访问权限对应的访问结构、所述交易发生额的属性集合和秘密值集合对交易发生额进行数据加密,得到加密密文。
在本申请的区块链数据加密验证装置的一实施例中,参见图9,所述交易信息上链模块T13包括:
发生额计算单元T131,用于对所述交易发生额执行承诺和相关参数的计算。
盲化计算单元T132,用于将计算结果进行盲化计算和钱包秘钥签名,得到盲化计算处理后的交易信息发送至区块链网络进行上链。
在本申请的区块链数据加密验证装置的一实施例中,参见图10,还具体包含有如下内容:
挑战接收单元T141,用于接收区块链网络中的交易验证节点发送的随机挑战,其中,所述随机挑战是所述交易验证节点对所述交易发起方节点进行身份验证后针对所述交易信息猴子那个的交易发生额承诺发起的。
挑战验证单元T142,用于根据所述随机挑战的类型、对应的承诺和随机挑战特定参数计算相关证明并返回所述交易验证节点。
为了能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性,本申请提供一种用于实现所述区块链数据加密验证方法的全部或部分内容的区块链数据加密验证装置的实施例,参见图11,所述区块链数据加密验证装置具体包含有如下内容:
秘钥获取模块T21,用于接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥。
发生额解密模块T22,用于从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,其中,所述交易信息是所述区块链网络中交易发起方节点的区块链钱包根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密得到的,所述交易信息还经由区块链网络根据预设群私钥对应的真实交易签名进行过加密密文补齐。
反馈同步模块T23,用于在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
从上述描述可知,本申请实施例提供的区块链数据加密验证装置,能够通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
在本申请的区块链数据加密验证装置的一实施例中,参见图12,所述发生额解密模块T22包括:
访问树解析单元T221,用于通过所述包含属性合集的秘钥对所述交易信息进行访问结构树解析。
数据解密单元T222,用于对所述访问结构树叶子节点进行属性基解密,确定所述交易信息中的交易发生额。
为了更进一步说明本方案,本申请还提供一种应用上述区块链数据加密验证装置实现区块链数据加密验证方法的区块链数据加密验证***具体应用实例,参见图13,具体包括区块链网络中的交易发起方节点的区块链钱包T10、交易相关方节点的区块链钱包T20以及交易验证节点T30。
所述交易发起方节点的区块链钱包T10包括:
秘钥分发模块T11,用于生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包。
发生额加密模块T12,用于根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回。
交易信息上链模块T13,用于接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账。
所述交易相关方节点的区块链钱T20包包括:
秘钥获取模块T21,用于接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥。
发生额解密模块T22,用于从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理。
反馈同步模块T23,用于在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
为了更进一步说明本方案,在本申请的一具体实施例中,区块链节点服务器之间互相连接,区块链钱包之间互相连接,区块链节点服务器与区块链钱包之间互相连接,连接是多对多关系。
参见图14,所述区块链钱包11是对交易发生额执行属性基加密、计算交易发生额以及相关参数的承诺、对交易信息执行盲签名等操作的软件,由建设区块链节点各个参与方共同开发并分发给用户安装和使用。区块链钱包直接安装在用户个人终端上,比如个人手机、笔记本电脑等。区块链钱包功能模块设计如图15所示。
所述区块链节点服务器12记录区块链上交易、配合区块链钱包执行盲签名、执行交易承诺的验证等操作,确保被打包交易的合法性。区块链节点服务器由区块链平台建设各个参与方共同建设和管理。区块链节点功能模块设计如图16所示。
区块链核心组件层交易数据加解密与验证协议参与者可以划分为三方:交易发起方、交易验证方、交易相关方,其中交易发起方、交易相关方一般是安装了区块链钱包的普通用户,交易验证方一般是有区块链节点的监管机构用户。区块链钱包向区块链上发布交易时,交易发起方区块链钱包、交易相关方区块链钱包、区块链节点要按本专利区块链核心组件层交易数据加解密与验证协议的要求,完成交互计算的处理步骤。区块链核心组件层数据交易加解密与验证协议中各个参与方的处理步骤如下。
步骤S201~S209是交易发起方区块链钱包发布加密交易到区块链的处理流程:
步骤S201:交易发起方区块链钱包为各个交易相关方生成含属性集合的密钥,并将密钥分发给各个交易相关方区块链钱包。交易相关方须持有特定属性的秘密,才能计算得到对应数据的密钥,才能在后面把经过属性基加密的交易发生额解密出来。如图17所示,各个交易相关方有一个或多个不同属性。
选择素数p阶的双线性群G0,生成元是g,随机选择α,β∈Zp,则公共参数是PK={G0,g,h=gβ,f=g1/β,e(g,g)α},主密钥是MSK=(β,gα)。
根据用户属性集合S,生成随机数r∈Zp和每个属性对应的有限域随机数,属性集合表示为{rj∈Zp}j∈S,属性私钥计算方法如下
Figure BDA0004007661950000171
将属性私钥分发给对应的交易相关方区块链钱包。
步骤S202:交易发起方区块链钱包为一笔具体交易定义合适的访问结构,在访问结构中指定多个交易相关方能够解密。若交易想要对所有交易相关方披露,访问结构是OR(属性1,属性2),若交易仅想要对交易相关方1披露,访问结构是AND(属性1,属性2),当然也可以指定其他访问结构。
步骤S203:交易发起方区块链钱包使用属性基加密算法对交易发生额执行加密,让密文和密钥与属性集合和访问结构产生关联。其中,本申请首次提出对区块链上的交易发生额使用属性基加密,使得仅拥有对应属性的交易相关方才能够解密金额。最终在S209提出区块链交易的数据结构,更新普通交易发生额字段,为含访问结构的属性基加密后的交易发生额。
构造交易发生额解密密钥的访问树,其叶子节点是各个属性,每个属性对应一个有限域随机数,上层节点将下层节点的属性值做拉格朗日插值得到的多项式,多项式在x=0的值是上层节点的秘密值,右下至上一直到根节点,根节点的秘密值是用于解密该访问数据所需的密钥s。以根节点秘密值是5为例,构造2OF3(AND(属性1,属性2),OR(属性3,属性4),属性5)访问结构的示意图如图18所示。
用秘密s、交易发生额相关的属性集合Y的秘密值集合
Figure BDA0004007661950000172
对交易发生额M进行加密计算,得到密文
Figure BDA0004007661950000181
步骤S204:交易发起方区块链钱包对交易发生额执行承诺和相关参数的计算,后续可用于范围证明、加和证明或乘积关系。范围证明可选一般范围证明或者Bulletproofs等业界较成熟方案;加和证明在金额加密中使用具有加法同态的加密算法,可以满足一般转账场景的需求,隐藏金额;乘积关系证明使用具有全同态的加密算法,可以满足特殊消费场景的需求,隐藏金额外其他相关联交易信息。其中,本申请对区块链上的交易发生额使用承诺,使得交易验证方即使不知道具体数值,也能够验证交易发生额和账户余额在更新前后符合业务规则。最终在S209提出交易的数据结构新增字段:交易发生额承诺和相关参数。
步骤S205:交易发起方区块链钱包对交易上述信息执行盲化计算和用钱包密钥签名,将盲化后消息发给区块链节点。盲化计算先选取盲因子r,以RSA盲签名为例,对消息m盲化得到m’的计算如下
m′=m·remodn
步骤S206:区块链节点验证交易中区块链钱包身份是否合法,若发起交易的区块链钱包身份合法,执行S207,否则结束处理。
步骤S207:区块链节点根据区块链钱包身份选择对应已注册群私钥,对交易执行盲签名,并将签名后交易返回给交易发起方区块链钱包。其中,本申请对交易发起方区块链钱包侧使用盲化S205和去盲化S208处理,在区块链节点侧使用群私钥、群公钥S207的设计,确保区块链节点能够验证交易发起方身份是合法的某个群内用户,但是无法追踪交易具体发起方身份是哪一个区块链钱包,确保了交易匿名性、不可链接性。最终在S209提出交易的数据结构,更新普通签名字段,为交易盲签名。区块链节点侧区块链钱包到群公钥、群私钥的映射关系示意图如图19所示。
其中群私钥是在区块链节点侧加密存储的,群公钥可以公开存储。
私钥(n,d)对消息m’盲签名计算如下:
m′d=(m·re)dmodn
步骤S208:交易发起方区块链钱包对签名交易执行去盲化计算得到真实交易签名。签名消息去盲化计算如下:
s=m′d·r-1=mdmodn
步骤S209:交易发起方区块链钱包将交易信息补齐后发布到区块链网络,交易的数据结构包含唯一交易序号Nonce、接收方地址、通过属性基加密后的交易发生额、交易发生额承诺和相关参数、交易盲签名,如图20所示。
步骤S210~S216是交易验证方区块链节点验证加密数据有效的处理流程:
步骤S210:交易验证方区块链节点加载网络中区块链各个群公钥相关的证书。
步骤S211:交易验证方区块链节点使用群公钥集合验证交易签名,判断交易是否是网络中区块链节点签发的,即区块链上任一群私钥签名的交易都会被认可,群私钥和群公钥的使用确保交易发起方身份合法。若签名是网络中区块链节点签发,执行S212,否则结束处理。其中,本申请对交易发起方区块链钱包侧使用盲化S205和去盲化S208处理,在区块链节点侧使用群私钥、群公钥S207的设计,确保区块链节点能够验证交易发起方身份是合法的某个群内用户,但是无法追踪交易具体发起方身份是哪一个区块链钱包,确保了交易匿名性、不可链接性。最终在S209提出交易的数据结构,更新普通签名字段,为交易盲签名。
公钥(n,e)对消息s验签计算如下
Figure BDA0004007661950000191
步骤S212:验证交易中交易发生额承诺,向交易发起方区块链钱包发起特定类型、特定参数的随机挑战。
步骤S213:交易发起方区块链钱包根据挑战类型确定计算的是交易发生额相关的范围证明、加和关系证明、乘积关系证明的一类或多类,结合承诺和随机挑战特定参数计算相关证明并返回给交易验证方区块链节点。其中,本申请对区块链上的交易发生额使用承诺,使得交易验证方即使不知道具体数值,也能够验证交易发生额和账户余额在更新前后符合业务规则。最终在S209提出交易的数据结构新增字段:交易发生额承诺和相关参数。
步骤S214:交易验证方区块链节点验证范围证明、加和关系证明、乘积关系证明,判断交易中参数满足业务所要求的约束条件。范围证明可选一般范围证明或者Bulletproofs等业界较成熟方案;加和证明在金额加密中使用具有加法同态的加密算法,可以满足一般转账场景的需求,隐藏金额;乘积关系证明使用具有全同态的加密算法,可以满足特殊消费场景的需求,隐藏金额外其他相关联交易信息。如果证明通过执行S216,否则执行S215。
步骤S215:交易验证方区块链节点将交易状态更新为无效,结束处理。
步骤S216:交易验证方区块链节点认为交易有效,完成交易共识入账。
步骤S217~S221是交易相关方解密数据的处理流程:
步骤S217:交易相关方区块链钱包负责定期从区块链上拉取匿名交易,过滤出接收方地址是自己的交易。
步骤S218:交易相关方区块链钱包加载从各个交易发起方得到的含属性集合的密钥SK,对加密的交易发生额执行属性基加密的解密计算。其中,本申请首次提出对区块链上的交易发生额使用属性基加密,使得仅拥有对应属性的交易相关方才能够解密金额。最终在S209提出区块链交易的数据结构,更新普通交易发生额字段,为含访问结构的属性基加密后的交易发生额。
交易相关方区块链钱包解析出加密结果CT中的访问结构,执行叶子节点解密。假设z是待解密的叶子节点,i=att(z),如果满足i∈S,本区块链钱包无权解密该笔交易,如果满足i∈S,执行如下叶子节点z中间值的计算:
Figure BDA0004007661950000201
i是访问结构中属性节点z在父节点中的序号、Sx’是区块链钱包拥有的与i有关的属性集合、
Figure BDA0004007661950000202
是拉格朗日插值系数,如果访问结构中该属性节点在区块链钱包中也有对应属性,可以执行下述执行拉格朗日插值计算得到节点集合z的父节点x中间值Fx,否则无法解密。
Figure BDA0004007661950000203
由下至上可以得到根节点R中间值FR,最终解密根节点R中间值得到交易发生额明文M。
Figure BDA0004007661950000204
步骤S219:交易相关方区块链钱包判断本地含属性集合的密钥中,是否有一个密钥额能解密交易金额。若某密钥能解密成功,执行S220,若全部密钥都解密失败,执行S221。
步骤S220:交易相关方区块链钱包确定交易金额与交易发起方身份,更新钱包余额并通知用户。
步骤S221:交易相关方区块链钱包认为交易无效,向区块链节点请求将交易状态更新为无效。
有上述内容可知,本申请至少还可以实现以下技术效果:
1.交易发起方对交易发生额(交易敏感信息)执行属性基加密,由于仅交易相关方持有与交易访问结构匹配的属性密钥,因此仅交易相关方能够解密交易发生额,从而和交易发起方完成账务核对。
2.交易发起方计算交易发生额以及相关参数的承诺,区块链记录了各个交易敏感信息的承诺以及相关参数。交易验证方能够向交易发起方发起挑战,并执行范围承诺、加和关系承诺、乘积关系承诺的验证,从而确保交易参数满足特定计算规则。
3.交易发起方区块链钱包和区块链节点交互,完成对交易信息执行盲签名,盲签名使用的是注册到区块链上的群私钥,签名后交易发布到区块链上。交易验证方能够根据注册到区块链上的群公钥验证盲签名,从而确认交易有效的同时隐藏交易发起方真实身份,交易间在钱包级别上具有不可链接性。
从硬件层面来说,为了能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性,本申请提供一种用于实现所述区块链数据加密验证方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现区块链数据加密验证装置与核心业务***、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的区块链数据加密验证方法的实施例,以及区块链数据加密验证装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,区块链数据加密验证方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图21为本申请实施例的电子设备9600的***构成的示意框图。如图21所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图21是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,区块链数据加密验证方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤T101:生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包。
步骤T102:根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回。
步骤T103:接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
从上述描述可知,本申请实施例提供的电子设备,通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
在另一个实施方式中,区块链数据加密验证装置可以与中央处理器9100分开配置,例如可以将区块链数据加密验证装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现区块链数据加密验证方法功能。
如图21所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图21中所示的所有部件;此外,电子设备9600还可以包括图21中没有示出的部件,可以参考现有技术。
如图21所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的区块链数据加密验证方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的区块链数据加密验证方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤T101:生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包。
步骤T102:根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回。
步骤T103:接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的区块链数据加密验证方法中全部步骤的一种计算机程序产品,该计算机程序/指令被处理器执行时实现所述的区块链数据加密验证方法的步骤,例如,所述计算机程序/指令实现下述步骤:
步骤T101:生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包。
步骤T102:根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回。
步骤T103:接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
从上述描述可知,本申请实施例提供的计算机程序产品,通过交易发起方对交易发生额(交易敏感信息)执行属性基加密,交易发起方计算交易发生额以及相关参数的承诺,由此能够让区块链交易发起方可高效加密敏感数据,交易相关方可高效解密敏感数据,交易验证方可高效验证密文数据合法性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种区块链数据加密验证方法,其特征在于,应用于区块链网络中交易发起方节点的区块链钱包,所述方法包括:
生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包;
根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回;
接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
2.根据权利要求1所述的区块链数据加密验证方法,其特征在于,所述根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,包括:
构造交易发生额解密密钥的访问树,其中,所述访问树的叶子节点是各个属性,每个属性对应一个有限域随机数,上层节点将下层节点的属性值做拉格朗日插值得到的多项式,多项式在x=0的值是上层节点的秘密值,右下至上一直到根节点,根节点的秘密值是用于解密该访问数据所需的密钥;
根据所述秘钥、预设访问权限对应的访问结构、所述交易发生额的属性集合和秘密值集合对交易发生额进行数据加密,得到加密密文。
3.根据权利要求1所述的区块链数据加密验证方法,其特征在于,所述将经过盲化计算处理后的交易信息发送至区块链网络进行上链,包括:
对所述交易发生额执行承诺和相关参数的计算;
将计算结果进行盲化计算和钱包秘钥签名,得到盲化计算处理后的交易信息发送至区块链网络进行上链。
4.根据权利要求1所述的区块链数据加密验证方法,其特征在于,在所述将所述交易信息发送至所述区块链网络共识入账之后,还包括:
接收区块链网络中的交易验证节点发送的随机挑战,其中,所述随机挑战是所述交易验证节点对所述交易发起方节点进行身份验证后针对所述交易信息猴子那个的交易发生额承诺发起的;
根据所述随机挑战的类型、对应的承诺和随机挑战特定参数计算相关证明并返回所述交易验证节点。
5.一种区块链数据加密验证方法,其特征在于,应用于区块链网络中交易相关方节点的区块链钱包,所述方法包括:
接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥;
从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,其中,所述交易信息是所述区块链网络中交易发起方节点的区块链钱包根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密得到的,所述交易信息还经由区块链网络根据预设群私钥对应的真实交易签名进行过加密密文补齐;
在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
6.根据权利要求5所述的区块链数据加密验证方法,其特征在于,所述通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,包括:
通过所述包含属性合集的秘钥对所述交易信息进行访问结构树解析;
对所述访问结构树叶子节点进行属性基解密,确定所述交易信息中的交易发生额。
7.一种区块链数据加密验证装置,其特征在于,应用于区块链网络中交易发起方节点的区块链钱包,包括:
秘钥分发模块,用于生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包;
发生额加密模块,用于根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回;
交易信息上链模块,用于接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账,以使区块链网络中交易相关方节点的区块链钱包从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
8.一种区块链数据加密验证装置,其特征在于,应用于区块链网络中交易相关方节点的区块链钱包,包括:
秘钥获取模块,用于接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥;
发生额解密模块,用于从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理,其中,所述交易信息是所述区块链网络中交易发起方节点的区块链钱包根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密得到的,所述交易信息还经由区块链网络根据预设群私钥对应的真实交易签名进行过加密密文补齐;
反馈同步模块,用于在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
9.一种区块链数据加密验证***,其特征在于,包括:区块链网络中的交易发起方节点的区块链钱包、交易相关方节点的区块链钱包以及交易验证节点;
所述交易发起方节点的区块链钱包包括:
秘钥分发模块,用于生成包含属性合集的秘钥并分发至区块链网络中相应的交易相关方节点的区块链钱包;
发生额加密模块,用于根据预设属性基加密算法、预设访问权限和所述秘钥对交易发生额进行数据加密,得到加密密文,并将经过盲化计算处理后的交易信息发送至区块链网络进行上链,以使所述区块链网络根据预设群私钥对所述交易进行盲签名并返回;
交易信息上链模块,用于接收所述区块链网络返回的签名交易并进行去盲化处理,得到对应的真实交易签名,根据所述真实交易签名和所述加密密文补齐所述交易信息,并将所述交易信息发送至所述区块链网络共识入账;
所述交易相关方节点的区块链钱包包括:
秘钥获取模块,用于接收区块链网络中相应交易发起方节点的区块链钱包发送的包含属性合集的秘钥;
发生额解密模块,用于从所述区块链网络获取交易信息,并通过所述包含属性合集的秘钥对所述交易信息中的交易发生额进行属性基解密处理;
反馈同步模块,用于在所述属性基解密处理成功时,确定对应的交易发生额和交易发起方身份并通知用户端,在所述属性基解密处理失败时,向所述区块链网络同步所述交易的状态为无效。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的区块链数据加密验证方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的区块链数据加密验证方法的步骤。
12.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的区块链数据加密验证方法的步骤。
CN202211638780.3A 2022-12-20 2022-12-20 区块链数据加密验证方法、装置及*** Pending CN115860741A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211638780.3A CN115860741A (zh) 2022-12-20 2022-12-20 区块链数据加密验证方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211638780.3A CN115860741A (zh) 2022-12-20 2022-12-20 区块链数据加密验证方法、装置及***

Publications (1)

Publication Number Publication Date
CN115860741A true CN115860741A (zh) 2023-03-28

Family

ID=85674365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211638780.3A Pending CN115860741A (zh) 2022-12-20 2022-12-20 区块链数据加密验证方法、装置及***

Country Status (1)

Country Link
CN (1) CN115860741A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040766A (zh) * 2023-10-08 2023-11-10 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040766A (zh) * 2023-10-08 2023-11-10 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN117040766B (zh) * 2023-10-08 2024-01-30 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN108564353B (zh) 基于区块链的支付***及方法
US20210004454A1 (en) Proof of affinity to a secure event for frictionless credential management
CN114730420A (zh) 用于生成签名的***和方法
US20240187393A1 (en) Network resource access control methods and systems using transactional artifacts
CN109729041B (zh) 一种加密内容的发布以及获取方法及装置
CN109740384A (zh) 基于区块链的数据存证方法和装置
CN106600252A (zh) 一种基于区块链的支付方法及***
CN109067539A (zh) 联盟链交易方法、设备及计算机可读存储介质
CN110417750A (zh) 基于区块链技术的文件读取和存储的方法、终端设备和存储介质
CN110599342B (zh) 基于区块链的身份信息的授权方法及装置
CN109995781A (zh) 数据的传输方法、装置、介质以及设备
CN101969377A (zh) 零知识身份认证方法和***
CN111429138A (zh) 区块链节点数据安全交互方法及第一交互节点
CN111767569A (zh) 区块链的访问授权方法及节点
CN113393225B (zh) 数字货币加密支付方法及***
CN114785556B (zh) 加密通信方法、装置、计算机设备以及存储介质
CN110445840A (zh) 一种基于区块链技术的文件存储和读取的方法
CN109413084A (zh) 一种口令更新方法、装置及***
CN110335040A (zh) 资源转移方法、装置、电子设备及存储介质
CN112199697A (zh) 基于共享根密钥的信息处理方法、装置、设备及介质
US11943210B2 (en) System and method for distributed, keyless electronic transactions with authentication
CN115860741A (zh) 区块链数据加密验证方法、装置及***
CN111709053B (zh) 基于松散耦合交易网络的作业方法及作业装置
CN111010283B (zh) 用于生成信息的方法和装置
CN115361196A (zh) 一种基于区块链网络的业务交互方法

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