首页> 中国专利> 以隐私为前提的联盟链交易信息监管方法、系统、终端

以隐私为前提的联盟链交易信息监管方法、系统、终端

摘要

本发明属于区块链隐私保护技术领域,公开了一种以隐私为前提的联盟链交易信息监管方法、系统、终端,通过paillier同态加密方法加密交易过程,并生成交易信息密文以及验证数据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证,若验证通过则将交易结果写入区块链,否则,则拒绝交易入链。本发明在以账户模型为基础的fisco联盟链的交易过程中,通过加密交易余额与双方交易金额,实现对个人、机构隐私数据的保护。本发明实现了对交易流程的动态监管,使得区块链交易发生时,交易敏感信息对记账节点不可见,而记账节点可以正确地验证交易信息的合法性。

著录项

  • 公开/公告号CN113222758A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN202110497477.5

  • 申请日2021-05-08

  • 分类号G06Q40/04(20120101);G06Q20/38(20120101);G06F21/64(20130101);G06F21/60(20130101);G06F16/27(20190101);

  • 代理机构11401 北京金智普华知识产权代理有限公司;

  • 代理人蓝晓玉

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-06-19 12:07:15

说明书

技术领域

本发明属于区块链隐私保护技术领域,尤其涉及一种以隐私为前提的联盟链交易信息监管方法、系统、终端。

背景技术

目前,以账户模型为基础和以UTXO(unspent transaction outputs未使用的交易输出)模型为基础的区块链交易过程中,账户的交易信息包括交易金额及交易余额对链上节点是可见的,整个交易流程交易信息都是以明文形式展现。监管者可以查看到每笔交易的明文信息,在复杂的商业环境中,尤其是在金融领域,机构往往希望自己的数据尤其是交易金额等数据只对自己可见,在越来越重实个人数据隐私保护的环境和日益完善的隐私保护法规形势下,个人、机构对隐私保护的诉求日益增强。如何既能满足区块链上节点的监管,又能不泄露数据隐私成为现阶段各区块链领域需要解决的问题。

现有的区块链为了便于链上验证交易信息,区块链各节点要掌握能够验证交易合法性的信息,因此交易信息是以明文形式展现,这就与监管过程隐私数据保护形成了冲突,因为个人、机构希望自己的数据除了自己可见,链上其他节点不应知道自己的数据。

为了在链码端保护用户隐私,目前解决区块链隐私问题的主要技术有环签名、同态加密等方式。

环签名是群签名算法中的一种,环签名适用于在特定情况下由群管理员识别签名者具体身份信息,但环签名的技术缺陷在于若签名组用的公钥大多源于一个作恶团队或用户,该团队就会获得其他人的信息,进而泄露用户的隐私

同态加密允许在数据加密情况下对数据进行操作并且不泄露明文数据,关于同态加密的算法研究,基本都停留在加密阶段,并不具备零知识证明功能。以本发明相近的现有联盟链开源项目fisco为例,fisco联盟链提供了合约隐私保护模块,如果涉及简单密文计算,可以借助改模块实现相关功能,业务层通过调用paillier库加密交易明文或解密交易密文,智能合约链码端对密文进行简单加法运算。该技术缺陷在于提前假设了业务层交易合法,因此在特定场景种会产生一些问题。现假设业务层A端转账到B端,A端转账后余额为负数后加密余额明文,将交易发送至链码端进行校验,链码端简单计算后将结果广播至区块链网络进行共识,很明显,该场景不满足正常交易的合法性。

为了解决上述分析现有技术存在的问题及缺陷本发明提出满足交易合法性的所有条件,先对联盟链业务层加密数据的合法性验证,保证业务层交易的合法性,再进行同态加密的密文操作,研究结合同态加密和零知识证明的一种以隐私为前提的联盟链交易信息监管方法、系统、终端。

解决以上问题及缺陷的难度为:

设计基于paillier和零知识证明技术的同态加密体制,利用零知识证明功能的特点,验证业务层对交易数据加密后交易的合法性。

解决以上问题及缺陷的意义为:

基于paillier和零知识证明技术的同态加密体制不仅能够解决区块链种明文存储问题,还能够在区块链链码端验证交易隐藏金额的合法性,保护用户隐私,防止作恶节点产生不合规的交易。

发明内容

针对现有技术存在的问题,本发明提供了一种以隐私为前提的联盟链交易信息监管方法、系统、终端。

本发明是这样实现的,一种以隐私为前提的联盟链交易信息监管方法,所述以隐私为前提的联盟链交易信息监管方法包括:

通过paillier同态加密方法加密交易过程,并生成交易信息密文以及验证数据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证,若验证通过则将交易结果写入区块链,否则,则拒绝交易入链。

进一步,所述交易合法性验证包括:用于验证交易金额在交易双方不同公钥加密的密文下生成的承诺中包含同一个隐藏值的交易双方交易金额相等性验证即交易等额验证、用于验证交易金额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零的交易金额大于零范围性验证即交易非负验证以及用于验证交易余额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零交易余额大于零范围性验证即交易足额验证。

进一步,所述以隐私为前提的联盟链交易信息监管方法包括以下步骤:

步骤一,应用端获取转账方A的公钥、私钥,获取账本中的系统参数以及交易收款方B的公钥;

步骤二,从账本中获取转账方A的上一次余额密文作为交易输入,使用A的私钥和公钥对密文余额进行解密,获取对应的明文余额和加密过程中使用的随机数,并验证输入金额即上一次交易余额是否能够足以完成这笔交易;以余额密文、A的公钥、A的私钥作为参数,在Paillier的零知识证明算法基础上得到明文和随机数;如果输入金额大于交易金额,则为A计算本次交易余额,转向步骤三;否则,终止此次交易过程;

步骤三,分别使用A的公钥和B的公钥对交易金额进行加密,为A和B分别生成对应的交易金额密文;

步骤四,为步骤三生成交易金额密文的承诺产生相等性证据,为A交易金额密文的承诺产生范围证据;将A的输入金额密文和交易金额密文经同态运算后产生本次交易余额密文,并为密文中交易余额的承诺产生范围证据;

步骤五,将A和B的交易金额密文、A的交易余额密文、相等性证据、范围性证据发送到链上,利用链上共识节点对交易数据进行合法性验证;

步骤六,对账本中A和B的余额状态进行更新;并向应用端返回交易成功信息。

进一步,步骤五中,所述利用链上共识节点对交易数据进行合法性验证包括:

(1)链码共识端从账本中获取系统参数,转账方A的公钥,A的上一次交易余额密文,接收方B的公钥,B的上一次交易余额密文,从应用端发过来的数据中获取对交易金额的加密密文,相等性证据,范围证据;

(2)利用相等性证据,验证A和B的交易金额密文的承诺是否隐藏同一个秘密值;

(3)利用范围证据,验证A的密文交易金额中的承诺隐藏的值是否大于0;

(4)利用A的输入交易余额密文和交易金额密文同态运算得到交易余额密文,并根据范围证据验证交易余额密文中的承诺隐藏的秘密值是否大于0;

(5)当且仅当步骤(2)、步骤(3)、步骤(4)的验证均通过时,交易验证通过;否则交易验证失败,向应用端返回错误信息。

本发明的另一目的在于提供一种实施所述以隐私为前提的联盟链交易信息监管方法的以隐私为前提的联盟链交易信息监管系统,所述以隐私为前提的联盟链交易信息监管系统包括:

应用端以及链码端;

应用端,用于获取转账方的公私钥、收款方的公钥、系统参数和交易输入密文;用于根据转账方的私钥和系统参数解密交易输入,并计算交易余额;用于利用转账方和收款方的公钥以及系统参数加密交易金额生成交易金额密文,并为两个交易金额密文中的承诺产生交易金额相等性证据;用于利用转账方交易金额和系统参数为密文中交易金额承诺生成交易金额范围大于零范围性证据;用于用转账方上一次交易余额密文和交易金额密文同态运算后,为转账方产生交易余额密文,并为交易余额密文中承诺产生交易余额大于零范围性证据;同时用于将密文和相关证据发送至链码端,供链码端完成验证过程;

所述链码端即共识节点,用于获取转账方的公钥、收款方的公钥和系统参数,以及应用端发过来的交易金额、交易余额密文和相关的零知识证据;用于使用转账方和收款方的公钥、系统参数和交易金额相等性证据,验证交易双方交易金额密文中的承诺是否隐藏着同一个秘密值;用于使用转账方公钥和系统参数以及交易金额大于零的范围证据,验证交易金额承诺中隐藏的秘密值是否大于零;用于使用转账方公钥和系统参数以及交易余额大于零的范围证据,验证交易余额中隐藏的秘密值是否大于零。

本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述以隐私为前提的联盟链交易信息监管方法。

本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述以隐私为前提的联盟链交易信息监管方法。

结合上述的所有技术方案,本发明所具备的优点及积极效果为:

本发明填补了fisco联盟链简易paillier同态加密模块的缺陷,使得链码端交易广播至全网进行共识前,能够验证业务层交易的合法性,链码端能在不了解交易数据明文情况下,验证交易隐含的具体交易金额是否合法。

本发明提供了一种应用于fisco联盟链的基于paillier同态加密方法,在以账户模型为基础的fisco联盟链的交易过程中,通过加密交易余额与双方交易金额,实现对个人、机构隐私数据的保护。

本发明提供了一种基于paillier加密的零知识证明的隐私保护监管方法,利用零知识证明验证双方交易金额密文的承诺中包含同一个秘密值,保证交易转账方交易转出金额等于另一方交易转入金额一致,进一步验证双方交易金额密文的承诺中包含的秘密值大于零,保证交易转账时转账方只能将自己账户的余额转入另一方的账户,秘密值大于零则转账方不能利用交易合法性漏洞将他人账户余额转入自己账户;进一步验证转账方交易余额密文的承诺中包含的秘密值大于零,保证交易转账时转账方输入的交易余额大于交易金额,秘密值大于零则转账方不能利用交易合法性漏洞转出比自己账户输入交易余额更大金额的交易金额。综上实现链上共识节点在不掌握交易过程明文信息的条件下,依然能够正确进行交易合法性验证,正常出块,实现在保护用户隐私前提下,正确监管交易动态信息。如在交易过程中用户A对用户B转账,A转出负数金额,导致A账户余额增加,B账户余额减少,这样虽然在应用端可以生成交易数据密文信息和零知识证据,但在链码端使用这些证据无法完成交易验证过程,所以链码端可以拒绝该类恶意交易,保证每笔交易的合法性。

本发明实现了对交易流程的动态监管,使得区块链交易发生时,交易敏感信息对记账节点不可见,而记账节点可以正确地验证交易信息的合法性。

附图说明

图1是本发明实施例提供的应用端加密交易信息并生成密文承诺和链上所需验证的证据示意图。

图2是本发明实施例提供的交易合法性验证流程图。

图3是本发明实施例提供的以隐私为前提的联盟链交易信息监管方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对现有技术存在的问题,本发明提供了一种以隐私为前提的联盟链交易信息监管方法,下面结合附图对本发明作详细的描述。

如图1-图2所示,本发明实施例提供的以隐私为前提的联盟链交易信息监管方法包括:

通过paillier同态加密方法加密交易过程,并生成交易信息密文以及验证数据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证,若验证通过则将交易结果写入区块链,否则,则拒绝交易入链。

本发明实施例提供的交易合法性验证包括:用于验证交易金额在交易双方不同公钥加密的密文下生成的承诺中包含同一个隐藏值的交易双方交易金额相等性验证即交易等额验证、用于验证交易金额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零的交易金额大于零范围性验证即交易非负验证以及用于验证交易余额在转账方公钥加密的密文下的承诺中包含的隐藏值大于零交易余额大于零范围性验证即交易足额验证。

如图3所示,本发明实施例提供的以隐私为前提的联盟链交易信息监管方法包括以下步骤:

S101,应用端获取转账方A的公钥、私钥,获取账本中的系统参数以及交易收款方B的公钥;

S102,从账本中获取转账方A的上一次余额密文作为交易输入,使用A的私钥和公钥对密文余额进行解密,获取对应的明文余额和加密过程中使用的随机数,并验证输入金额即上一次交易余额是否能够足以完成这笔交易;以余额密文、A的公钥、A的私钥作为参数,在Paillier的零知识证明算法基础上得到明文和随机数;如果输入金额大于交易金额,则为A计算本次交易余额,转向步骤S103;否则,终止此次交易过程;

S103,分别使用A的公钥和B的公钥对交易金额进行加密,为A和B分别生成对应的交易金额密文;

S104,为步骤S103生成交易金额密文的承诺产生相等性证据,为A交易金额密文的承诺产生范围证据;将A的输入金额密文和交易金额密文经同态运算后产生本次交易余额密文,并为密文中交易余额的承诺产生范围证据;

S105,将A和B的交易金额密文、A的交易余额密文、相等性证据、范围性证据发送到链上,利用链上共识节点对交易数据进行合法性验证;

S106,对账本中A和B的余额状态进行更新;并向应用端返回交易成功信息。

本发明实施例提供的利用链上共识节点对交易数据进行合法性验证包括:

(1)链码共识端从账本中获取系统参数,转账方A的公钥,A的上一次交易余额密文,接收方B的公钥,B的上一次交易余额密文,从应用端发过来的数据中获取对交易金额的加密密文,相等性证据,范围证据;

(2)利用相等性证据,验证A和B的交易金额密文的承诺是否隐藏同一个秘密值;

(3)利用范围证据,验证A的密文交易金额中的承诺隐藏的值是否大于0;

(4)利用A的输入交易余额密文和交易金额密文同态运算得到交易余额密文,并根据范围证据验证交易余额密文中的承诺隐藏的秘密值是否大于0;

(5)当且仅当步骤(2)、步骤(3)、步骤(4)的验证均通过时,交易验证通过;否则交易验证失败,向应用端返回错误信息。

本发明实施例提供的以隐私为前提的联盟链交易信息监管系统包括:

应用端以及链码端;

应用端,用于获取转账方的公私钥、收款方的公钥、系统参数和交易输入密文;用于根据转账方的私钥和系统参数解密交易输入,并计算交易余额;用于利用转账方和收款方的公钥以及系统参数加密交易金额生成交易金额密文,并为两个交易金额密文中的承诺产生交易金额相等性证据;用于利用转账方交易金额和系统参数为密文中交易金额承诺生成交易金额范围大于零范围性证据;用于用转账方上一次交易余额密文和交易金额密文同态运算后,为转账方产生交易余额密文,并为交易余额密文中承诺产生交易余额大于零范围性证据;同时用于将密文和相关证据发送至链码端,供链码端完成验证过程;

所述链码端即共识节点,用于获取转账方的公钥、收款方的公钥和系统参数,以及应用端发过来的交易金额、交易余额密文和相关的零知识证据;用于使用转账方和收款方的公钥、系统参数和交易金额相等性证据,验证交易双方交易金额密文中的承诺是否隐藏着同一个秘密值;用于使用转账方公钥和系统参数以及交易金额大于零的范围证据,验证交易金额承诺中隐藏的秘密值是否大于零;用于使用转账方公钥和系统参数以及交易余额大于零的范围证据,验证交易余额中隐藏的秘密值是否大于零。

下面结合具体实施例对本发明的技术方案作进一步说明。

实施例1:

fisco联盟链交易发生模型为账户模型,本发明以fisco联盟链为例,应用paillier同态加密及零知识证明承诺实现隐私保护的交易监管。同态加密是一种特殊的加密方法,它允许数据在密文状态下进行运算,其结果与数据在明文状态下的一种运算后再进行加密的结果相同,对区块链交易信息采用同态加密后,链上节点可以在交易结果为密文状态下,对交易结果进行运算,保证基于账户的交易过程能够正确地进行余额增删,但是链上节点由于没有交易节点的私钥,因此链上访问的数据对链上节点是不可见的,这就实现了交易数据的隐私保护。零知识证明是一种基于承诺的证明技术,无需知道承诺中隐藏值可以确定隐藏值在一定范围或两个承诺中是否包含同一隐藏值,使用零知识证明可以使记账节点在不了解具体交易信息的情况下,验证交易的有效性,正确记账并实现对交易的正确监管。

因此,基于同态加密和零知识证明的加密算法能够以个人隐私安全为前提,实现对交易的正确动态监管。

本发明应用了一种基于paillier同态加密的零知识证明隐私保护监管方法,如图1-2所示,包括应用端应用本发明算法生成交易信息的密文并生成验证证据,链码端接受应用端密文和验证证据,并使用验证证据和密文中包含的承诺进行交易合法性验证。

所述的隐私保护交易监管方法具体包括如下步骤:

具体的,以满足加法同态的paillier加密算法为基础,进一步进行零知识证明,如图1所示,包括以下步骤:

S1、应用端获取转账方A的公钥PubA,私钥PrvA,获取账本中的系统参数包括paillier加密过程中的大整数n,随机整数g

S2、从账本获取上一次A的交易余额(交易输入)密文C

S3、分别使用PubA和PubB以及系统参数对交易金额t进行基于paillier的可零知识证明算法的加密,A和B分别得到交易金额密文C

具体的,C

S4、以系统参数、交易金额t等为C

S5、使用密文C

更进一步地,将所述地密文C

具体的,链码端进行交易的合法性验证如图2所示,包括如下步骤:

S41、获取账本中系统参数、A的公钥PubA,A的上一次交易余额密文C

具体的,链码端首先进行双方交易金额相等性验证和交易金额大于0范围性验证。

S42、使用系统参数、相等性证据EqualProof、C

S43、使用系统参数、范围性证据RangeProofT、C

S51、使用C

S6、使用C

整个交易过程共识节点是对交易信息的密文进行验证处理,交易信息的明文对共识节点不透明,并且paillier算法是一种综合性能良好的加密算法,fisco联盟链内部也保留了最基础的paillier加密算法接口,算法对节点共识过程影响较小,用户隐私安全得到极大程度保障;共识节点对于交易能够正确进行合法性验证,监管者依然可以作为节点接入fisco联盟链,当异常节点甚至作恶节点产生异常错误交易或不合法交易时,可以向fisco联盟链发出监管权限指令,对业务、参与人、账户等进行管控,实现“穿透式监管”。

本发明算法中的系统参数只需要在区块链系统中产生一次,后续交易涉及算法可以沿用已经产生的系统参数,因此系统参数不会对系统的运行时间产生影响,本发明以同态加密中秘钥生成和加解密过程以及零知识证明中的产生证据和零知识验证过程进行测试。

本发明的算法安全性基于计算离散对数的困难程度,当系统参数长度n足够大时,可以保证该算法的安全行,这里选取系统参数长度n为1024、2048、3072位进行测试,3072位的验证过程所需时间已经达到秒数量级,继续扩展秘钥长度将不适用于实际使用场景,同时3072位长度已经能够保证算法安全性,这里不在扩展更高位数系统参数的测试。

在实际交易过程中,交易金额一般为8字节即64位的整数或浮点数,并且大多数交易金额不超过32位,这里分别采用32位和64位整数对算法运行效率进行测试,32位不同秘钥长度对应测试结果如表1所示,64位不同秘钥长度对应测试结果如表2所示。

表1不同秘钥长度对应的32位交易金额测试结果(ms)

表2不同秘钥长度对应的64位交易金额测试结果(ms)

为了将该算法和不支持零知识证明的基础paillier算法做对比,这里仍然分别采用32位和64位整数,在相同实验环境下对paillier算法的秘钥生成和加解密过程进行测试,加密32位交易金额数据测试结果如表3所示,加密64位交易金额数据测试结果如表4所示。

表3不同秘钥长度对应的32位交易金额测试结果(ms)

表4不同秘钥长度对应的64位交易金额测试结果(ms)

本发明在实验环境下测试结果表明虽然加解密效率比paillier算法低,但两者相差细微,运行时间仍控制在同一数量级(毫秒)以内,同时本发明对应3072位秘钥长度会导致零知识证明过程运行时间长达2秒,但各个证据的生成和验证是可以并行运行的,所以该算法也可以在秒级数量级以内处理完成32位或64位金额数额的交易;对应2048位秘钥长度的每个交易算法步骤测试结果控制在秒以内,兼备较好的安全性;对应1024位秘钥长度的每个交易步骤运行速度较快,在安全性要求较低,实时性要求较高的场景有良好的应用前景。

在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。

应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号