CN111526009A - 一种适用于联盟链的前向安全可编辑区块链构造方法 - Google Patents

一种适用于联盟链的前向安全可编辑区块链构造方法 Download PDF

Info

Publication number
CN111526009A
CN111526009A CN202010276184.XA CN202010276184A CN111526009A CN 111526009 A CN111526009 A CN 111526009A CN 202010276184 A CN202010276184 A CN 202010276184A CN 111526009 A CN111526009 A CN 111526009A
Authority
CN
China
Prior art keywords
user
block
secret
value
users
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.)
Granted
Application number
CN202010276184.XA
Other languages
English (en)
Other versions
CN111526009B (zh
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.)
Southwest Jiaotong University
Original Assignee
Southwest Jiaotong University
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 Southwest Jiaotong University filed Critical Southwest Jiaotong University
Priority to CN202010276184.XA priority Critical patent/CN111526009B/zh
Publication of CN111526009A publication Critical patent/CN111526009A/zh
Application granted granted Critical
Publication of CN111526009B publication Critical patent/CN111526009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种适用于联盟链的前向安全可编辑区块链构造方法,其包括以下步骤:S1、系统初始化;S2、判断是否需要增加区块,若是则进入步骤S3,否则进入步骤S4;S3、通过获取哈希值进而增加区块;S4、判断是否需要修改现有区块上的历史内容,若是则进入步骤S5,否则进入步骤S6;S5、通过待修改区块的变色龙哈希函数的碰撞值修改区块链上历史区块的内容;S6、更新联盟链参与用户的秘密份额,完成一个更新周期的向前编辑。本发明采用秘密共享技术分布式地存储陷门密钥,相比于安全多方计算协议,本发明中计算碰撞的构造不仅保护了陷门密钥和秘密份额不被泄露,而且具有更少的交互次数和更低的计算开销。

Description

一种适用于联盟链的前向安全可编辑区块链构造方法
技术领域
本发明涉及区块链领域,具体涉及一种适用于联盟链的前向安全可编辑区块链构造方法。
背景技术
区块链是一种采用共识算法来生成数据,采用链式结构来存储数据,采用密码算法保证数据安全的分布式共享账本技术,实现了在无可信节点的分布式网络中进行点对点交易的功能。由于区块链具有去信任化、去中心化、时序数据、安全可信等优势,解决了传统中心化模式中存在的可靠性差、安全性低等问题,因而受到了广泛关注。区块链凭借其具有的诸多优势,得以迅速发展,从以比特币为代表的区块链1.0,到以以太坊为代表,引入智能合约的区块链2.0,再到致力于为各行各业提供去中心化解决方案的区块链3.0,区块链早已不仅仅局限于数字加密货币,其应用领域扩展到了包括金融、能源、物流、医疗等人类生活的方方面面。
不可更改性是区块链的重要特征之一,不可更改性是指区块链上的历史数据无法被修改或从区块链上删除,也就是说,数据一旦被节点确认写入区块,那么数据将会被永久保存,这一特点保证了区块链上历史数据的可靠性和完整性。但是,随着区块链的快速发展和区块链应用领域的不断拓展,越来越多人认为在一些特定情况下区块链应支持可编辑功能。就目前而言,可编辑区块链技术能够提供有效的监管手段,挽回因漏洞造成的损失,促进区块链产业健康发展。
区块链的编辑技术仍处于研究阶段,现有的方式还不成熟,不完善,目前主要通过以下三种方式实现对区块链的修改操作:
1)通过更新版本修改智能合约,该方法不是直接在原有的合约上修改再重新发布,而是在区块链上增加了新的数据,因而这种修改并非真正意义上对区块链修改,旧的数据仍然被保存在区块链上。
2)通过分叉技术对区块链网络进行升级和对代码进行更新,硬分叉代价高昂且会分裂原有的区块链系统,软分叉只能在已有结构下做修改,升级空间有限。
3)利用变色龙哈希函数设计可编辑区块链,其主要思想是不改变区块链的数据结构,将链接不同区块的哈希函数替换为变色龙哈希函数,该构想真正意义上实现了对区块链的编辑。
但是,使用变色龙哈希函数构造可应用于实际应用的可编辑区块链需要考虑以下问题:
1)密钥管理问题:陷门密钥可以中心化的存储在一个实体中,可靠性依赖于掌握陷门密钥用户的可信度和安全防护水平;为了避免权限集中,陷门密钥分布式地存储,但是由于每个用户的安全防护水平参差不齐,一些秘密份额容易被攻击者获取。
2)安全计算碰撞问题:掌握密钥份额的用户在协同计算碰撞时,其密钥份额不能暴露,在计算碰撞的过程中,还必须保持陷门密钥的机密性。
综上,现有的利用变色龙哈希函数构造可编辑区块链的研究工作不多,均无法完美的解决上述问题,甚至具有一些严重的缺陷,例如采用的变色龙哈希函数有密钥泄露问题。
发明内容
针对现有技术中的上述不足,本发明提供的一种适用于联盟链的前向安全可编辑区块链构造方法解决了可编辑区块链的陷门密钥管理和安全计算碰撞问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种适用于联盟链的前向安全可编辑区块链构造方法,其包括以下步骤:
S1、系统初始化:生成系统参数、变色龙哈希函数的陷门密钥和公钥,并进行秘密份额的计算与分发;
S2、判断是否需要增加区块,若是则进入步骤S3,否则进入步骤S4;
S3、通过变色龙哈希函数的公钥、区块内容和随机数获取哈希值,进而增加区块,进入步骤S4;
S4、判断是否需要修改现有区块上的历史内容,若是则进入步骤S5,否则进入步骤S6;
S5、通过碰撞算法计算待修改区块的变色龙哈希函数的碰撞值,并根据该碰撞值修改区块链上历史区块的内容,进入步骤S6;
S6、更新联盟链参与用户的秘密份额,完成一个更新周期的向前编辑。
进一步地,步骤S1中生成系统参数、变色龙哈希函数的陷门密钥和公钥的具体方法为:
生成系统参数SP={G1,G2,GT,ψ(),g2,e,p};其中G1、G2和GT为p阶的循环群;g2为群G2的随机生成元;ψ(·)是群G2到群G1的同构映射,ψ(g2)=g1;e是双线性映射:G1×G2→GT,→表示映射;g1为群G1的随机生成元;
根据公式:
β∈R Zp
从模p的剩余类集合Zp中随机选择β作为变色龙哈希函数的陷门密钥,并生成变色龙哈希函数的公钥z=g2 β;∈R表示随机选择;
在联盟链网络上公开系统参数SP和变色龙哈希函数的公钥z。
进一步地,步骤S1中进行秘密份额的计算与分发的具体方法包括以下子步骤:
S1-1、设定秘密分享门限值t和更新周期T={0,1,2,...},并将T=0作为初始化阶段;其中秘密分享门限值t小于等于用户数量;
S1-2、根据公式:
f(T)(x)=β+a1 (T)x+a2 (T)x2+...+at-1 (T)xt-1(mod p)
在有限域Fp上随机生成一个t-1阶的多项式f(T)(x);其中mod p表示模p运算,p为常数;x表示参与用户的数字身份;a1、a2、…、at-1均为有限域Fp中的常数项;
S1-3、根据公式:
βi (0)=f(0)(xi)(mod p)
获取用户i在更新周期T=0时的秘密份额βi (0),进而得到并分发所有用户在更新周期T=0时的秘密份额;其中f(0)(xi)为用户i在更新周期T=0时对应的t-1阶多项式。
进一步地,步骤S3的具体方法包括以下子步骤:
S3-1、获取要增加的区块内容M,对M进行哈希运算得到与之对应的数值m;
S3-2、根据公式:
Figure BDA0002444868220000041
获取哈希值h;其中Hash(·)为变色龙哈希运算;δ1为随机数,δ1R G1
S3-3、将随机数δ1、哈希值h和要增加的区块内容M打包作为新的区块加入区块链中,完成区块增加,进入步骤S4。
进一步地,步骤S5的具体方法包括以下子步骤:
S5-1、获取待修改区块的区块内容M*和修改后的区块内容M',分别对M*和M'进行哈希运算得到与之对应的数值m*和m';
S5-2、通过发起更改请求的用户将更改信息(M*,M')和自己的签名广播至联盟链上;
S5-3、通过联盟链上的其他用户对发起更改请求用户的签名进行验证,若验证通过则对更改信息(M*,M')进行签名并反馈至发起更改请求的用户;否则不作处理;
S5-4、判断发起更改请求的用户收到的其他用户的签名数量是否超过阈值,若是则进入步骤S5-5,否则进入步骤S6;
S5-5、发起更改请求的用户根据公式:
D(x)=-m'+d1x+d2x2+...+dt-1xt-1(mod p)
在有限域Fp上生成一个t-1阶的多项式D(x);其中mod p表示模p运算,p为常数;x表示联盟链上所有用户的数字身份;d1、d2、…、dt-1均为有限域Fp中的常数项;
S5-6、发起更改请求的用户获取同意修改的用户i根据多项式D(x)得到的值Di,并采用用户i的公钥对Di进行加密后发送给用户i;
S5-7、用户i通过自身私钥解密得到值Di,并根据公式:
Ti=βi (T)+Di
得到用户i针对区块内容M'的临时秘密份额Ti;其中βi (T)为该用户在更新周期T时的秘密份额βi (T),进而得到每个用户在更新周期T时的秘密份额;
S5-8、通过无分发者的随机秘密分享方法使用户i获取与之对应的随机秘密的秘密份额Ri,分别根据公式Hi=TiRi
Figure BDA0002444868220000051
获取用户i对应的数值Hi和数值δ1 *,i,将数值Hi和数值δ1 *,i在联盟链网络中公开;其中δ1 *为待修改区块中保留的随机数;
S5-9、根据公式:
Figure BDA0002444868220000061
使每个用户获取中间参数H;其中λi为拉格朗日插值系数;b为大于等于秘密分享门限值t且小于等于用户总数的常数;
S5-10、根据公式:
Figure BDA0002444868220000062
获取中间参数(δ1 *)R
S5-11、根据公式:
Figure BDA0002444868220000063
得到参数
Figure BDA0002444868220000064
的值;
S5-12、根据公式:
Figure BDA0002444868220000065
获取变色龙哈希函数的碰撞值δ1';其中F(·)为碰撞算法;β为变色龙哈希函数的陷门密钥;h*为待修改区块的哈希值;δ1 *为待修改区块中用于计算哈希值所采用的随机数;
S5-13、通过联盟链中的用户判断Hash(m',δ1',z)是否等于Hash(m*1 *,z),若是则将待修改区块的区块内容M*和随机数δ1 *替换为修改后的区块内容M'和碰撞值δ1',完成历史区块的内容修改,进入步骤S6;否则拒绝修改,进入步骤S6;其中z为变色龙哈希函数的公钥;Hash(·)为变色龙哈希运算。
进一步地,步骤S6的具体方法包括以下子步骤:
S6-1、用户i根据公式:
ui(x)=vi1x+vi2x2+...+vi(t-1)xt-1(mod p)
随机选择一个t-1次的多项式ui(x),进而得到每个用户随机选择的多项式u(x);其中mod p表示模p运算,p为常数;x表示参与用户的数字身份;vi1、vi2、…、vi(t-1)均为有限域Fp中的常数项;
S6-2、联盟链上的用户i分别将其他用户的数字身份带入其选择的多项式ui(x)进行计算,并将计算结果对应发送至其他用户,使每个用户都能收到由其他用户发来的与其相关的计算结果;
S6-3、对于联盟链上的每个用户,将其现有的秘密份额与由其他用户发来的与其相关的计算结果之和作为新的时间周期开始时的秘密份额,完成秘密份额的更新。
进一步地,步骤S5-8的具体方法为:
对于任一用户i,随机选择一个包含一个常数项的t-1次多项式,并将其余所有用户的数字身份分别带入该多项式,将该多项式得到的若干个计算结果之和作为用户i随机秘密的秘密份额Ri,进而使所有用户获取与之对应的随机秘密的秘密份额。
本发明的有益效果为:
1、本发明采用秘密共享技术分布式地存储陷门密钥,相比于安全多方计算协议,本发明中计算碰撞的构造不仅保护了陷门密钥和秘密份额不被泄露,而且具有更少的交互次数和更低的计算开销。
2、本方法还提供了密钥的前向安全性,避免了因陷门密钥长期有效,攻击者用长时间来攻破多个成员,从而得到密钥的安全问题。
3、本方法采用Herzberg动态秘密共享来解决这一问题,陷门密钥存在的有效期被分为多个时间段,在每个时间段开始时密钥的碎片都将被更新,这种更新不会改变陷门密钥,更新后的碎片仍是原始陷门密钥的份额,攻击者在某一时间周期内获得的密钥份额在下一时间周期毫无作用,因而提高了系统的安全性。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,该适用于联盟链的前向安全可编辑区块链构造方法包括以下步骤:
S1、系统初始化:生成系统参数、变色龙哈希函数的陷门密钥和公钥,并进行秘密份额的计算与分发;
S2、判断是否需要增加区块,若是则进入步骤S3,否则进入步骤S4;
S3、通过变色龙哈希函数的公钥、区块内容和随机数获取哈希值,进而增加区块,进入步骤S4;
S4、判断是否需要修改现有区块上的历史内容,若是则进入步骤S5,否则进入步骤S6;
S5、通过碰撞算法计算待修改区块的变色龙哈希函数的碰撞值,并根据该碰撞值修改区块链上历史区块的内容,进入步骤S6;
S6、更新联盟链参与用户的秘密份额,完成一个更新周期的向前编辑。
步骤S1中生成系统参数、变色龙哈希函数的陷门密钥和公钥的具体方法为:
生成系统参数SP={G1,G2,GT,ψ(),g2,e,p};其中G1、G2和GT为p阶的循环群;g2为群G2的随机生成元;ψ(·)是群G2到群G1的同构映射,ψ(g2)=g1;e是双线性映射:G1×G2→GT,→表示映射;g1为群G1的随机生成元;
根据公式:
β∈R Zp
从模p的剩余类集合Zp中随机选择β作为变色龙哈希函数的陷门密钥,并生成变色龙哈希函数的公钥z=g2 β;∈R表示随机选择;
在联盟链网络上公开系统参数SP和变色龙哈希函数的公钥z。
步骤S1中进行秘密份额的计算与分发的具体方法包括以下子步骤:
S1-1、设定秘密分享门限值t和更新周期T={0,1,2,...},并将T=0作为初始化阶段;其中秘密分享门限值t小于等于用户数量;
S1-2、根据公式:
f(T)(x)=β+a1 (T)x+a2 (T)x2+...+at-1 (T)xt-1(mod p)
在有限域Fp上随机生成一个t-1阶的多项式f(T)(x);其中mod p表示模p运算,p为常数;x表示参与用户的数字身份;a1、a2、…、at-1均为有限域Fp中的常数项;
S1-3、根据公式:
βi (0)=f(0)(xi)(mod p)
获取用户i在更新周期T=0时的秘密份额βi (0),进而得到并分发所有用户在更新周期T=0时的秘密份额;其中f(0)(xi)为用户i在更新周期T=0时对应的t-1阶多项式。
步骤S3的具体方法包括以下子步骤:
S3-1、获取要增加的区块内容M,对M进行哈希运算得到与之对应的数值m;
S3-2、根据公式:
Figure BDA0002444868220000101
获取哈希值h;其中Hash(·)为变色龙哈希运算;δ1为随机数,δ1R G1
S3-3、将随机数δ1、哈希值h和要增加的区块内容M打包作为新的区块加入区块链中,完成区块增加,进入步骤S4。
步骤S5的具体方法包括以下子步骤:
S5-1、获取待修改区块的区块内容M*和修改后的区块内容M',分别对M*和M'进行哈希运算得到与之对应的数值m*和m';
S5-2、通过发起更改请求的用户将更改信息(M*,M')和自己的签名广播至联盟链上;
S5-3、通过联盟链上的其他用户对发起更改请求用户的签名进行验证,若验证通过则对更改信息(M*,M')进行签名并反馈至发起更改请求的用户;否则不作处理;
S5-4、判断发起更改请求的用户收到的其他用户的签名数量是否超过阈值,若是则进入步骤S5-5,否则进入步骤S6;
S5-5、发起更改请求的用户根据公式:
D(x)=-m'+d1x+d2x2+...+dt-1xt-1(mod p)
在有限域Fp上生成一个t-1阶的多项式D(x);其中mod p表示模p运算,p为常数;x表示联盟链上所有用户的数字身份;d1、d2、…、dt-1均为有限域Fp中的常数项;
S5-6、发起更改请求的用户获取同意修改的用户i根据多项式D(x)得到的值Di,并采用用户i的公钥对Di进行加密后发送给用户i;
S5-7、用户i通过自身私钥解密得到值Di,并根据公式:
Ti=βi (T)+Di
得到用户i针对区块内容M'的临时秘密份额Ti;其中βi (T)为该用户在更新周期T时的秘密份额βi (T),进而得到每个用户在更新周期T时的秘密份额;
S5-8、通过无分发者的随机秘密分享方法使用户i获取与之对应的随机秘密的秘密份额Ri,分别根据公式Hi=TiRi
Figure BDA0002444868220000111
获取用户i对应的数值Hi和数值δ1 *,i,将数值Hi和数值δ1 *,i在联盟链网络中公开;其中δ1 *为待修改区块中保留的随机数;
S5-9、根据公式:
Figure BDA0002444868220000112
使每个用户获取中间参数H;其中λi为拉格朗日插值系数;b为大于等于秘密分享门限值t且小于等于用户总数的常数;
S5-10、根据公式:
Figure BDA0002444868220000113
获取中间参数(δ1 *)R
S5-11、根据公式:
Figure BDA0002444868220000114
得到参数
Figure BDA0002444868220000115
的值;
S5-12、根据公式:
Figure BDA0002444868220000116
获取变色龙哈希函数的碰撞值δ1';其中F(·)为碰撞算法;β为变色龙哈希函数的陷门密钥;h*为待修改区块的哈希值;δ1 *为待修改区块中用于计算哈希值所采用的随机数;
S5-13、通过联盟链中的用户判断Hash(m',δ1',z)是否等于Hash(m*1 *,z),若是则将待修改区块的区块内容M*和随机数δ1 *替换为修改后的区块内容M'和碰撞值δ1',完成历史区块的内容修改,进入步骤S6;否则拒绝修改,进入步骤S6;其中z为变色龙哈希函数的公钥;Hash(·)为变色龙哈希运算。
步骤S6的具体方法包括以下子步骤:
S6-1、用户i根据公式:
ui(x)=vi1x+vi2x2+...+vi(t-1)xt-1(mod p)
随机选择一个t-1次的多项式ui(x),进而得到每个用户随机选择的多项式u(x);其中mod p表示模p运算,p为常数;x表示参与用户的数字身份;vi1、vi2、…、vi(t-1)均为有限域Fp中的常数项;
S6-2、联盟链上的用户i分别将其他用户的数字身份带入其选择的多项式ui(x)进行计算,并将计算结果对应发送至其他用户,使每个用户都能收到由其他用户发来的与其相关的计算结果;
S6-3、对于联盟链上的每个用户,将其现有的秘密份额与由其他用户发来的与其相关的计算结果之和作为新的时间周期开始时的秘密份额,完成秘密份额的更新。
步骤S5-8的具体方法为:对于任一用户i,随机选择一个包含一个常数项的t-1次多项式,并将其余所有用户的数字身份分别带入该多项式,将该多项式得到的若干个计算结果之和作为用户i随机秘密的秘密份额Ri,进而使所有用户获取与之对应的随机秘密的秘密份额。
在具体实施过程中,当进行了至少一轮本方法的流程,使得所有用户都更新了自己的秘密份额时,再次进行联盟链区块链前向编辑时,无需再进行系统初始化,即系统初始化只需在最初进行一次即可。
综上所述,本发明采用秘密共享技术分布式地存储陷门密钥,相比于安全多方计算协议,本发明中计算碰撞的构造不仅保护了陷门密钥和秘密份额不被泄露,而且具有更少的交互次数和更低的计算开销。本方法还提供了密钥的前向安全性,避免了因陷门密钥长期有效,攻击者用长时间来攻破多个成员,从而得到密钥的安全问题。本方法采用Herzberg动态秘密共享来解决这一问题,陷门密钥存在的有效期被分为多个时间段,在每个时间段开始时密钥的碎片都将被更新,这种更新不会改变陷门密钥,更新后的碎片仍是原始陷门密钥的份额,攻击者在某一时间周期内获得的密钥份额在下一时间周期毫无作用,因而提高了系统的安全性。

Claims (7)

1.一种适用于联盟链的前向安全可编辑区块链构造方法,其特征在于,包括以下步骤:
S1、系统初始化:生成系统参数、变色龙哈希函数的陷门密钥和公钥,并进行秘密份额的计算与分发;
S2、判断是否需要增加区块,若是则进入步骤S3,否则进入步骤S4;
S3、通过变色龙哈希函数的公钥、区块内容和随机数获取哈希值,进而增加区块,进入步骤S4;
S4、判断是否需要修改现有区块上的历史内容,若是则进入步骤S5,否则进入步骤S6;
S5、通过碰撞算法计算待修改区块的变色龙哈希函数的碰撞值,并根据该碰撞值修改区块链上历史区块的内容,进入步骤S6;
S6、更新联盟链参与用户的秘密份额,完成一个更新周期的向前编辑。
2.根据权利要求1所述的适用于联盟链的前向安全可编辑区块链构造方法,其特征在于,所述步骤S1中生成系统参数、变色龙哈希函数的陷门密钥和公钥的具体方法为:
生成系统参数SP={G1,G2,GT,ψ(),g2,e,p};其中G1、G2和GT为p阶的循环群;g2为群G2的随机生成元;ψ(·)是群G2到群G1的同构映射,ψ(g2)=g1;e是双线性映射:G1×G2→GT,→表示映射;g1为群G1的随机生成元;
根据公式:
β∈RZp
从模p的剩余类集合Zp中随机选择β作为变色龙哈希函数的陷门密钥,并生成变色龙哈希函数的公钥z=g2 β;∈R表示随机选择;
在联盟链网络上公开系统参数SP和变色龙哈希函数的公钥z。
3.根据权利要求1所述的适用于联盟链的前向安全可编辑区块链构造方法,其特征在于,所述步骤S1中进行秘密份额的计算与分发的具体方法包括以下子步骤:
S1-1、设定秘密分享门限值t和更新周期T={0,1,2,...},并将T=0作为初始化阶段;其中秘密分享门限值t小于等于用户数量;
S1-2、根据公式:
f(T)(x)=β+a1 (T)x+a2 (T)x2+...+at-1 (T)xt-1 (mod p)
在有限域Fp上随机生成一个t-1阶的多项式f(T)(x);其中mod p表示模p运算,p为常数;x表示参与用户的数字身份;a1、a2、…、at-1均为有限域Fp中的常数项;
S1-3、根据公式:
βi (0)=f(0)(xi) (mod p)
获取用户i在更新周期T=0时的秘密份额βi (0),进而得到并分发所有用户在更新周期T=0时的秘密份额;其中f(0)(xi)为用户i在更新周期T=0时对应的t-1阶多项式。
4.根据权利要求2所述的适用于联盟链的前向安全可编辑区块链构造方法,其特征在于,所述步骤S3的具体方法包括以下子步骤:
S3-1、获取要增加的区块内容M,对M进行哈希运算得到与之对应的数值m;
S3-2、根据公式:
Figure FDA0002444868210000021
获取哈希值h;其中Hash(·)为变色龙哈希运算;δ1为随机数,δ1RG1
S3-3、将随机数δ1、哈希值h和要增加的区块内容M打包作为新的区块加入区块链中,完成区块增加,进入步骤S4。
5.根据权利要求1所述的适用于联盟链的前向安全可编辑区块链构造方法,其特征在于,所述步骤S5的具体方法包括以下子步骤:
S5-1、获取待修改区块的区块内容M*和修改后的区块内容M',分别对M*和M'进行哈希运算得到与之对应的数值m*和m';
S5-2、通过发起更改请求的用户将更改信息(M*,M')和自己的签名广播至联盟链上;
S5-3、通过联盟链上的其他用户对发起更改请求用户的签名进行验证,若验证通过则对更改信息(M*,M')进行签名并反馈至发起更改请求的用户;否则不作处理;
S5-4、判断发起更改请求的用户收到的其他用户的签名数量是否超过阈值,若是则进入步骤S5-5,否则进入步骤S6;
S5-5、发起更改请求的用户根据公式:
D(x)=-m'+d1x+d2x2+...+dt-1xt-1 (mod p)
在有限域Fp上生成一个t-1阶的多项式D(x);其中mod p表示模p运算,p为常数;x表示联盟链上所有用户的数字身份;d1、d2、…、dt-1均为有限域Fp中的常数项;
S5-6、发起更改请求的用户获取同意修改的用户i根据多项式D(x)得到的值Di,并采用用户i的公钥对Di进行加密后发送给用户i;
S5-7、用户i通过自身私钥解密得到值Di,并根据公式:
Ti=βi (T)+Di
得到用户i针对区块内容M'的临时秘密份额Ti;其中βi (T)为该用户在更新周期T时的秘密份额βi (T),进而得到每个用户在更新周期T时的秘密份额;
S5-8、通过无分发者的随机秘密分享方法使用户i获取与之对应的随机秘密的秘密份额Ri,分别根据公式Hi=TiRi
Figure FDA0002444868210000041
获取用户i对应的数值Hi和数值
Figure FDA0002444868210000042
将数值Hi和数值
Figure FDA0002444868210000043
在联盟链网络中公开;其中δ1 *为待修改区块中保留的随机数;
S5-9、根据公式:
Figure FDA0002444868210000044
使每个用户获取中间参数H;其中λi为拉格朗日插值系数;b为大于等于秘密分享门限值t且小于等于用户总数的常数;
S5-10、根据公式:
Figure FDA0002444868210000045
获取中间参数(δ1 *)R
S5-11、根据公式:
Figure FDA0002444868210000046
得到参数
Figure FDA0002444868210000047
的值;
S5-12、根据公式:
Figure FDA0002444868210000048
获取变色龙哈希函数的碰撞值δ1';其中F(·)为碰撞算法;β为变色龙哈希函数的陷门密钥;h*为待修改区块的哈希值;δ1 *为待修改区块中用于计算哈希值所采用的随机数;
S5-13、通过联盟链中的用户判断Hash(m',δ1',z)是否等于Hash(m*1 *,z),若是则将待修改区块的区块内容M*和随机数δ1 *替换为修改后的区块内容M'和碰撞值δ1',完成历史区块的内容修改,进入步骤S6;否则拒绝修改,进入步骤S6;其中z为变色龙哈希函数的公钥;Hash(·)为变色龙哈希运算。
6.根据权利要求1所述的适用于联盟链的前向安全可编辑区块链构造方法,其特征在于,所述步骤S6的具体方法包括以下子步骤:
S6-1、用户i根据公式:
ui(x)=vi1x+vi2x2+...+vi(t-1)xt-1 (mod p)
随机选择一个t-1次的多项式ui(x),进而得到每个用户随机选择的多项式u(x);其中mod p表示模p运算,p为常数;x表示参与用户的数字身份;vi1、vi2、…、vi(t-1)均为有限域Fp中的常数项;
S6-2、联盟链上的用户i分别将其他用户的数字身份带入其选择的多项式ui(x)进行计算,并将计算结果对应发送至其他用户,使每个用户都能收到由其他用户发来的与其相关的计算结果;
S6-3、对于联盟链上的每个用户,将其现有的秘密份额与由其他用户发来的与其相关的计算结果之和作为新的时间周期开始时的秘密份额,完成秘密份额的更新。
7.根据权利要求5所述的适用于联盟链的前向安全可编辑区块链构造方法,其特征在于,所述步骤S5-8的具体方法为:
对于任一用户i,随机选择一个包含一个常数项的t-1次多项式,并将其余所有用户的数字身份分别带入该多项式,将该多项式得到的若干个计算结果之和作为用户i随机秘密的秘密份额Ri,进而使所有用户获取与之对应的随机秘密的秘密份额。
CN202010276184.XA 2020-04-09 2020-04-09 一种适用于联盟链的前向安全可编辑区块链构造方法 Active CN111526009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010276184.XA CN111526009B (zh) 2020-04-09 2020-04-09 一种适用于联盟链的前向安全可编辑区块链构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010276184.XA CN111526009B (zh) 2020-04-09 2020-04-09 一种适用于联盟链的前向安全可编辑区块链构造方法

Publications (2)

Publication Number Publication Date
CN111526009A true CN111526009A (zh) 2020-08-11
CN111526009B CN111526009B (zh) 2021-06-15

Family

ID=71902089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010276184.XA Active CN111526009B (zh) 2020-04-09 2020-04-09 一种适用于联盟链的前向安全可编辑区块链构造方法

Country Status (1)

Country Link
CN (1) CN111526009B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753335A (zh) * 2020-08-28 2020-10-09 支付宝(杭州)信息技术有限公司 区块内容的编辑方法及装置
CN111913978A (zh) * 2020-09-02 2020-11-10 上海优扬新媒信息技术有限公司 一种区块删除方法、装置及系统
CN112437069A (zh) * 2020-10-23 2021-03-02 湖南天河国云科技有限公司 基于分布式密钥管理的区块链编辑方法
CN112468302A (zh) * 2020-10-23 2021-03-09 湖南天河国云科技有限公司 基于可验证多方秘密分享的可编辑区块链
CN112653550A (zh) * 2020-10-11 2021-04-13 黑龙江头雁科技有限公司 一种基于BlockChain的多项密钥管理方法
CN112887078A (zh) * 2021-02-02 2021-06-01 中国银联股份有限公司 一种编辑区块链中区块的方法及装置
CN113065141A (zh) * 2020-12-28 2021-07-02 上海能链众合科技有限公司 一种区块链的持续的门限群更新方法
CN113268542A (zh) * 2021-05-10 2021-08-17 西安交通大学 一种基于多方授权的区块链重写方法及系统
CN114978524A (zh) * 2022-04-21 2022-08-30 浪潮云信息技术股份公司 一种基于离散对数的多重变色龙哈希方法及系统
WO2022206482A1 (zh) * 2021-03-29 2022-10-06 华为技术有限公司 区块链编辑的方法和区块链节点

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180254887A1 (en) * 2016-05-23 2018-09-06 Accenture Global Solutions Limited Rewritable blockchain
CN110061850A (zh) * 2019-04-24 2019-07-26 电子科技大学 变色龙哈希函数的碰撞计算方法及可编辑区块链构造方法
CN110071812A (zh) * 2019-04-29 2019-07-30 电子科技大学 一种可编辑、可链接、不可抵赖的环签名方法
CN110086631A (zh) * 2019-04-29 2019-08-02 电子科技大学 一种可更新变色龙哈希函数的方法
CN110377609A (zh) * 2019-06-17 2019-10-25 北京航空航天大学 基于区块链的智能合约动态部署与演化方法及装置
CN110457297A (zh) * 2019-07-10 2019-11-15 北京航空航天大学 基于多授权中心属性加密的可编辑区块链系统及方法
CN110489422A (zh) * 2019-08-23 2019-11-22 电子科技大学 区块链自动修复的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180254887A1 (en) * 2016-05-23 2018-09-06 Accenture Global Solutions Limited Rewritable blockchain
CN110061850A (zh) * 2019-04-24 2019-07-26 电子科技大学 变色龙哈希函数的碰撞计算方法及可编辑区块链构造方法
CN110071812A (zh) * 2019-04-29 2019-07-30 电子科技大学 一种可编辑、可链接、不可抵赖的环签名方法
CN110086631A (zh) * 2019-04-29 2019-08-02 电子科技大学 一种可更新变色龙哈希函数的方法
CN110377609A (zh) * 2019-06-17 2019-10-25 北京航空航天大学 基于区块链的智能合约动态部署与演化方法及装置
CN110457297A (zh) * 2019-07-10 2019-11-15 北京航空航天大学 基于多授权中心属性加密的可编辑区块链系统及方法
CN110489422A (zh) * 2019-08-23 2019-11-22 电子科技大学 区块链自动修复的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨慧慧: "《基于LWE问题的变色龙哈希及其在联盟链中的应用研究》", 《中国优秀硕士学位论文全文数据库基础科学辑》 *
王岩: "《基于CRT的动态门限签名及其应用研究》", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753335A (zh) * 2020-08-28 2020-10-09 支付宝(杭州)信息技术有限公司 区块内容的编辑方法及装置
CN111753335B (zh) * 2020-08-28 2023-09-01 支付宝(杭州)信息技术有限公司 区块内容的编辑方法及装置
CN111913978A (zh) * 2020-09-02 2020-11-10 上海优扬新媒信息技术有限公司 一种区块删除方法、装置及系统
CN111913978B (zh) * 2020-09-02 2023-07-25 度小满科技(北京)有限公司 一种区块删除方法、装置及系统
CN112653550A (zh) * 2020-10-11 2021-04-13 黑龙江头雁科技有限公司 一种基于BlockChain的多项密钥管理方法
CN112468302A (zh) * 2020-10-23 2021-03-09 湖南天河国云科技有限公司 基于可验证多方秘密分享的可编辑区块链
CN112437069A (zh) * 2020-10-23 2021-03-02 湖南天河国云科技有限公司 基于分布式密钥管理的区块链编辑方法
CN112468302B (zh) * 2020-10-23 2024-05-24 湖南天河国云科技有限公司 基于可验证多方秘密分享的可编辑区块链
CN113065141A (zh) * 2020-12-28 2021-07-02 上海能链众合科技有限公司 一种区块链的持续的门限群更新方法
CN113065141B (zh) * 2020-12-28 2023-09-01 上海零数众合信息科技有限公司 一种区块链的持续的门限群更新方法
CN112887078A (zh) * 2021-02-02 2021-06-01 中国银联股份有限公司 一种编辑区块链中区块的方法及装置
CN112887078B (zh) * 2021-02-02 2022-10-14 中国银联股份有限公司 一种编辑区块链中区块的方法及装置
WO2022206482A1 (zh) * 2021-03-29 2022-10-06 华为技术有限公司 区块链编辑的方法和区块链节点
CN113268542A (zh) * 2021-05-10 2021-08-17 西安交通大学 一种基于多方授权的区块链重写方法及系统
CN114978524A (zh) * 2022-04-21 2022-08-30 浪潮云信息技术股份公司 一种基于离散对数的多重变色龙哈希方法及系统
CN114978524B (zh) * 2022-04-21 2024-04-12 浪潮云信息技术股份公司 一种基于离散对数的多重变色龙哈希方法及系统

Also Published As

Publication number Publication date
CN111526009B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN111526009B (zh) 一种适用于联盟链的前向安全可编辑区块链构造方法
CN111130757B (zh) 一种基于区块链的多云cp-abe访问控制方法
EP3361408B1 (en) Verifiable version control on authenticated and/or encrypted electronic documents
CN102111274B (zh) 用于建立可核查身份而又保密的平台和方法
US8000472B2 (en) Information encryption apparatus and controlling method of the same, computer program and computer readable storage medium
CN111861473B (zh) 电子招投标系统及方法
JP2022501971A (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
CN103297428A (zh) 一种云存储系统数据保护方法
CN111614680A (zh) 一种基于cp-abe的可追溯云存储访问控制方法和系统
CN115296817A (zh) 基于区块链技术和属性加密的数据访问控制方法
CN104901968A (zh) 一种安全云存储系统中的密钥管理分发方法
CN112651049A (zh) 一种基于区块链的隐私数据分享方法及系统
CN112287366A (zh) 数据加密方法、装置、计算机设备和存储介质
CN110569669B (zh) 一种面向云存储的数据可信销毁方法及其系统
CN112436942A (zh) 一种属性基/身份基异构的可撤销签密方法
CN115865330B (zh) 一种基于区块链的链上信息修改的监管方法及介质
CN114697019B (zh) 一种用户账号隐私保护方法及系统
CN115865461A (zh) 一种高性能计算集群中分发数据的方法和系统
CN115037479A (zh) 一种客户侧综合能源公共信息数据存储防护方法
CN114219479A (zh) 面向分布式环境的区块链可编校系统及方法
CN114553557A (zh) 密钥调用方法、装置、计算机设备和存储介质
CN113642041A (zh) 一种实现合约隐私的数据处理与存储方法
CN116127538B (zh) 一种基于区块链的数据安全销毁方法、系统及电子设备
CN115858687B (zh) 一种可审计、可强制撤销的区块链修改方法及系统
US11757642B1 (en) Systems and methods for decentralized synchronization and braided conflict resolution

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
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Chao Rui

Inventor after: Ma Zheng

Inventor after: Zhang Wenfang

Inventor after: Wang Xiaomin

Inventor before: Zhang Wenfang

Inventor before: Chao Rui

Inventor before: Wang Xiaomin

Inventor before: Ma Zheng

CB03 Change of inventor or designer information