一种区块链的数据可追踪方法技术

技术编号:23580043 阅读:60 留言:0更新日期:2020-03-27 21:53
本发明专利技术公开了一种区块链的数据可追踪方法。本方法为:1)监管机构生成公共参数pp;各用户生成自己的注册信息并发送给监管机构;2)监管机构验证用户的注册信息并公开;3)当区块链应用中的数据需间接参与用户的公开信息且需提供身份证明时;A

A data traceable method of blockchain

【技术实现步骤摘要】
一种区块链的数据可追踪方法
本专利技术属于信息安全
,涉及区块链的可追踪机制设计方案,具体为利用变色龙哈希(chameleonhash),简洁非交互零知识证明(zero-knowledgeSuccinctNon-interactiveARgumentofKnowledge,zk-SNARK)等技术来实现对区块链用户隐私信息的追踪,能够保证协议执行的安全性和整体高效性。
技术介绍
进入21世纪,随着互联网、云计算、大数据、人工智能等技术的快速发展,整个社会越来越数字化、网络化与智能化。而越来越受产业界与学术界所关注的区块链,其所呈现的数字化、网络化、智能化、数据不可篡改等特性,更能够满足当今社会发展的需求。现如今,区块链技术在军事、金融、物联网、云计算、人工智能、通信、保险、医疗等领域有着非常不错的应用前景。区块链起源于中本聪所提出的比特币,是比特币核心支撑技术,实现了用户之间点对点直接支付,而无需中心机构存在。区块链可以看成是一种分布式数据系统(分布式账本),以区块存储数据,区块结构分为区块头与区块体,每个区块的块头中存有前一个区块的块头哈希值,从而形成区块链。区块链具有分布式,去中心化,匿名性,安全可靠,数据透明等特性。区块链并不是单一的技术,而是密码学技术、点对点网络技术等多种技术的整合。现在,针对区块链的研究主要侧重于增强区块链的隐私保护,提高区块链数据处理速度以及区块链结构的安全性分析等方面。但是,却忽略了对区块链数据提供可监管机制。区块链的强隐私保护为诸如勒索软件,洗钱等违法犯罪行为提供了便利,这阻碍了区块链的广泛应用。为此,针对区块链发展的现实需求,本专利技术提出一种区块链可追踪方案,使得只有监管机构能够对区块链中的数据进行监管,获取用户私密信息,如用户身份,数据内容等,而其他人无法获取用户私密信息。这样,监管机构可以借助于可追踪机制来有效打击利用区块链的违法犯罪行为,为区块链的健康稳定发展提供必要的保证。本专利技术借助了密码学中的变色龙哈希,简洁非交互零知识证明等密码学技术来实现区块链的可追踪机制方案构建:1.变色龙哈希定义1.1一个变色龙哈希有四种算法cham_hash=(Setup,KeyGen,Chash,UForge)组成:·Setup(λ):输入安全参数λ,输出公共参数pp;·KeyGen(pp):输入公共参数pp,输出公私钥对(HK,CK),HK为公钥,CK为私钥,又称为陷门;·Chash(HK,m,r):输入公钥HK,消息m,随机数r,输出变色龙哈希值CH;·UForge(CK,m,r,m,):输入私钥CK,消息m,随机数r,消息m′。输出另一个数r′满足CH=Chash(HK,m,r)=Chash(HK,m′,r′)。定义1.2变色龙哈希满足的安全性要求:·碰撞稳固(collisionresistance):没有一个有效算法在输入公钥HK,可以找到m1≠m2的两对(m1,r1)和(m2,r2),满足Chash(HK,m1,r1)=Chash(HK,m2,r2)。·陷门碰撞(trapdoorcollisions):存在有效算法,在输入陷门CK后,对于任意的m1,r1,给定m2,可以计算出r2,满足Chash(HK,m1,r1)=Chash(HK,m2,r2)。·语义安全(semanticsecurity):对于任意消息m1,m2,Chash(HK,m1,r1)与Chash(HK,m2,r2)的概率分布是不可区分的,特别地,当r为随机选择时,从Chash(HK,m,r)无法得到关于m的任何信息。本专利技术使用HugoKrawczyk与TalRabin所提出的变色龙哈希方案:·Setup(λ):输入安全性参数λ,构造一个满足安全参数λ的大素数p,q,其中p,q满足p=kq+1,选取乘法循环群中阶为q的元素g,输出公共参数pp=(p,q,g);·KeyGen(pp):输入公共参数pp,在乘法循环群中随机选择指数x,计算h=gx。最后得到私钥CK=x,公钥HK=h;·Chash(HK,m,r):输入公钥HK=h,消息m,随机数r,m,r均为中的元素,输出变色龙哈希值CH=gmhrmodp;·UForge(CK,m,r,m′):输入私钥CK=x,消息m,随机数r,消息m′,m,r,m′均为中的元素,根据CH=gmhr=gm′hr′modp,可得m+xr=m′+xr′modq,继而可计算出r′。2.简洁非交互零知识证明定义2.1域F上的算术电路AC:Fn×Fh→Fl的算术电路可满足问题是关系RAC={(statement,witness)∈Fn×Fh|AC(statement,witness)=0l};它的语言为LAC={statement∈Fn|满足AC(statement,witness)=0l}。定义2.2语言LAC(具有关系RAC)的zk-SNARK包含3个有效算法II=(Gen,Prove,Verify):·生成算法Gen:输入安全性参数λ,域F上算术电路AC,输出证明密钥pk,验证密钥vk;·证明算法Prove:输入pk,(statement,witness),输出对使用证据witness的陈述statement的证明π;·验证算法Verify:输入vk,statement,π,若π为statement的有效证明,则输出1,否则输出0。另外,本专利技术方案使用公开可验证的zk-SNARK,也就是(pk,vk)都公开作为公共参数。3.公钥加密方案定义3.1公钥加密方案(Public-KeyEncryptionScheme)包含四种算法Γ=(Setup,KeyGen,ENC,DEC):·初始化算法Setup(λ):输入安全性参数λ,输出公共参数ppenc;·私钥生成算法KeyGen(ppenc):输入安全性参数ppenc,输出公私钥对(pkenc,skenc);·加密算法ENC(pkenc,m):输入公钥pkenc,消息m,输出密文C;·解密算法DEC(skenc,C):输入私钥skenc,密文C,则输出明文m或⊥(表示C为无效密文,无法解密)。
技术实现思路
针对现有区块链中数据无法有效监管问题,本专利技术的目的在于提供一种针对区块链中数据的可追踪方案。本专利技术的技术方案为:一种区块链的数据可追踪方法,其步骤包括:1)监管机构生成公共参数pp;各用户生成自己的注册信息Cloginfo并发送给监管机构;2)监管机构验证用户的注册信息,并将各注册用户身份所对应的h||CHid公开;h为变色龙哈希的公钥,CHid为身份id的变色龙哈希值;3)当区块链应用中的数据需要间接参与用户的公开信息且需要提供身份证明时;Acreate中的各用户获取Bother中自己所需的间接参与数据创建的用户身份证明;Acreate中各用户创建自己的身份证明,然后生成数据d本文档来自技高网
...

【技术保护点】
1.一种区块链的数据可追踪方法,其步骤包括:/n1)监管机构生成公共参数pp;各用户生成自己的注册信息C

【技术特征摘要】
1.一种区块链的数据可追踪方法,其步骤包括:
1)监管机构生成公共参数pp;各用户生成自己的注册信息Cloginfo并发送给监管机构;
2)监管机构验证用户的注册信息,并将各注册用户身份所对应的h||CHid公开;h为变色龙哈希的公钥,CHid为身份id的变色龙哈希值;
3)当区块链应用中的数据需要间接参与用户的公开信息且需要提供身份证明时;Acreate中的各用户获取Bother中自己所需的间接参与数据创建的用户身份证明;Acreate中各用户创建自己的身份证明,然后生成数据datatrace=[{proofid}id∈I,databody]crytool并发送到节点网络中;其中,{proofid}id∈I为用户身份证明集合,身份id的用户身份证明为proofid,I为需提供身份证明的用户身份id集合,Acreate={a1,...,an}是直接参与数据创建且需提供身份证明的用户公开信息集合,Bother={b1,...,bn’}是间接参与数据创建且需提供身份证明的用户公开信息集合;databody包含数据内容以及不需要提供身份证明的用户公开信息,crytool代表密码学工具;
4)每当节点网络中的验证节点收到用户数据,会验证数据中的用户身份和数据内容,如果均通过验证,则将数据记入区块中,之后节点网络根据共识机制对网络中的某个区块达成共识,并记入区块链;
5)监管机构从区块链获取数据,并对数据中相应的密文进行解密,之后查询相关记录得到每个数据所对应的身份集合;
其中,所述公共参数pp=(pkloginfo,vkloginfo,pkidproof,vkidproof,pkau,ppchash);(pkloginfo,vkloginfo)为证明(statement,witness)∈Rloginfo的证明密钥/验证密钥对,(pkidproof,vkidproof)为证明(statement′,witness′)∈Ridproof的证明密钥/验证密钥对,pkau为监管机构的公钥,ppchash为变色龙哈希方案的公共参数,陈述statement=(id,g,h,CHid),证据witness=(x,r),关系Rloginfo为:{(statement,witness)|h=gx∧CHid=gidhr};陈述statement′=(rt,pub,g,pkau,Cid),证据witness′=(pathid,CHid,x,h,priv,r′,rn),关系Ridproof为:{(statement′,witness′)|pub=gen(priv)∧h=gx∧CHid=cham_hash.CHash(h,priv,r′)∧Cid=Γ.ENC(pkau,rn,h)∧TreeBranch(rt,pathid,h||CHid)};其中,g为乘法循环群中阶...

【专利技术属性】
技术研发人员:马添军徐海霞李佩丽穆永恒
申请(专利权)人:中国科学院数据与通信保护研究教育中心
类型:发明
国别省市:北京;11

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

1