掌桥专利:专业的专利平台
掌桥专利
首页

一种基于格和零知识证明的区块链数据隐私保护方法

文献发布时间:2024-01-17 01:23:17


一种基于格和零知识证明的区块链数据隐私保护方法

技术领域

本发明属于区块链信息安全技术领域,具体涉及一种基于格和零知识证明的区块链数据隐私保护方法。

背景技术

随着区块链的日益兴起和蓬勃发展,区块链的去中心化和透明化为社会日新月异的发展带了更多的创造性和可能性,为人们打造了在如今密码体制下更加安全的分布式数据库。

区块链的去中心化和透明化等特点并不完全适用于所有计算机应用场景,在联盟链和私有链中,用户的一些数据隐私需要受到一定的保护和监管,完全的去中心化和透明化并不能满足用户真正的需求。零知识证明和同态加密因其具有在不透露真实数据的情况下也能满足区块链上的各种性能需求的特点,使得区块链完全透明化的所带来的一些潜在缺陷得到了一定的解决,实现了在保护用户隐私数据的前提下也能更好地实现区块链上的透明化,为用户打造了一个更安全可靠的区块链系统平台。

区块链虽在当下的主流密码体制下有较高的安全性,但随着量子计算的出现,各种大整数问题和离散对数问题极易被求解出来,使得依赖于这些困难性问题的密码体制容易被量子计算攻破,给互联网安全带来较大的威胁。目前,人们为了解决区块链上用户的数据隐私问题,结合零知识证明和同态加密的密码协议的区块链技术研究正在不断前进发展,如零知识的可伸缩性透明知识论证(zk-STARK)和全同态加密(FHE)等加密技术已得到较好的发展和应用。为了克服量子计算给区块链带来的潜在危害,预防未来量子计算对区块链发展带来的危险,后量子密码技术的发展如今也在不断被人们重视和研究,如基于Hash的密码体制、基于编码的密码体制、基于格的密码体制和基于多变量的密码体制已陆续被提出和发展,其中基于格的密码体制受到了研究领域的广泛关注。由于格密码具有在最坏情况下也可以规约到平均情况下的困难程度的特性,许多研究者不断提出了对容错学习问题(LWE)和小整数解问题(SIS)算法的改进和应用。

综上所述,需要一种基于格和零知识证明的区块链数据隐私保护方法以提高区块链上用户的数据隐私安全性。

发明内容

针对现有技术存在的不足,本发明提出了一种基于格和零知识证明的区块链数据隐私保护方法,该方法包括:

S1:监管者根据格上多项式环小整数问题生成公钥和私钥,将公钥广播给证明者和验证者;

S2:证明者根据公钥对交易明文数据进行全同加密计算,得到交易证明;将交易证明广播给验证者和监管者;

S3:证明者根据交易证明和验证者进行交互式零知识证明,验证通过后,证明者和验证者完成交易;

S4:监管者监测交易过程,当出现非法交易时,监管者根据私钥对交易证明进行解密,得到交易明文数据;监管者广播非法交易信息以阻止非法交易。

优选的,监管者生成公钥和私钥的过程包括:

采用原像离散高斯采样算法从原像集合中随机选取第一矩阵,根据第一矩阵采用陷门函数Gen Trap()计算第二矩阵,将第二矩阵作为公钥;

监管者根据第二矩阵,基于格上多项式环小整数问题计算第一向量,将第一向量作为私钥。

进一步的,计算第一向量w的公式为:

Aw=0mod q

其中,A表示第二矩阵,w表示第一向量,q表示模数。

优选的,证明者根据公钥对交易明文数据进行全同加密计算的过程包括:

证明者使用公钥和Encrypt加密函数对交易明文数据进行加密计算得到密文;

采用Evaluate函数对密文进行全同态计算处理,得到交易证明。

优选的,证明者根据交易证明和验证者进行交互式零知识证明的过程包括:

S31:证明者在格上随机选择第二向量,根据第二向量计算验证参数并将验证参数发送给验证者;

S32:验证者随机选取一个向量矩阵e并将向量矩阵e发送给证明者;其中,e∈{0,1}

S33:证明者根据交易明文数据、第二向量和向量矩阵计算新密文,将新密文发送给验证者;

S34:验证者根据验证参数、向量矩阵e和新密文对交易证明进行验证;

S35:设置重复次数k,重复执行步骤S31-S34k次,若每次验证均通过,则验证者接受该交易,交易成功,否则,验证者不接受该交易,交易失败。

进一步的,计算验证参数的公式为:

n=A*p

其中,n表示验证参数,A表示第二矩阵,p表示第二向量。

进一步的,验证者根据验证参数n、向量矩阵e和新密文y对交易证明W进行验证的公式为:

||y||

A*y=n+e*W

其中,A表示第二矩阵,β表示矩阵范数上界值,y表示新密文,n表示验证参数,e表示向量矩阵,W表示交易证明。

优选的,监管者根据私钥对交易证明进行解密的过程为:使用私钥和全同态Decrypt函数对交易证明进行解密计算,得到交易明文数据。

本发明的有益效果为:本发明主要涉及监管者、证明者、验证者三种节点角色,对明文数据进行加密解密的公私钥是由监管者在格上生成,私钥由监管者保管,可以监测证明者和验证者之间的交易,防范非法交易和恶意节点,提高系统的安全性;将格密码和零知识证明以及全同态加密结合,为区块链用户的隐私数据提供了更好的隐私性和安全性;本发明在保证了区块链用户的数据证明的完备性、合理性和零知识性的前提下,使得恶意节点无法通过用户提供的证明来获取到用户真正的隐私数据,有效解决区块链完全透明化特点所带来的安全隐患;在当下的大数据时代下,也可有效解决互联网用户个人隐私泄漏问题。

附图说明

图1为本发明中基于格和零知识证明的区块链数据隐私保护方法的系统架构图;

图2为本发明中基于格和零知识证明的区块链数据隐私保护方法流程图;

图3为本发明中基于格和零知识证明的区块链数据隐私保护方法的过程示意图;

图4为本发明中交互式零知识证明过程流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提出了一种基于格和零知识证明的区块链数据隐私保护方法,如图1所示,本发明的系统架构按照功能划分为用户层、网络层、数据加密层、区块链层和应用层5层。证明者在客户端遵行区块链的P2P网络协议在系统中对自己的隐私数据进行加密后发起交易请求,验证者验证通过该用户的交易请求后,就可以将交易明文数据上链进而完成整个交易或业务操作,若监管者监测到该交易为非法交易,则组止该交易的上链并向其他节点广播该非法交易。

如图2、图3所示,本发明设计的一种基于格和零知识证明的区块链数据隐私保护方法具体包括以下内容:

S1:监管者根据格上多项式环小整数问题生成公钥pk和私钥sk,将公钥pk广播给证明者和验证者。

监管者选取一些线性独立的向量a

采用原像离散高斯采样算法从原像集合中随机选取第一矩阵R,根据第一矩阵R采用陷门函数Gen Trap()计算第二矩阵A,将第二矩阵A作为公钥pk;

监管者根据第二矩阵,基于格上多项式环小整数问题计算第一向量,将第一向量作为私钥。

计算第一向量w的公式为:

Aw=0mod q

其中,A表示第二矩阵,w表示第一向量;q表示模数,为正整数,例如q取7。

监管者保存私钥sk,将公钥pk广播给证明者和验证者。

S2:证明者根据公钥pk对交易明文数据x进行全同加密计算,得到交易证明W;将交易证明W广播给验证者和监管者。

证明者接收公钥pk,使用公钥pk和Encrypt加密函数对交易明文数据x进行加密计算即Encrypt(A,x)=m,得到密文m;

采用同态加密中的Evaluate算法中的函数f对密文m进行特定的数据处理,得到交易明文数据的交易证明W,并将交易证明W广播给验证者和监管者。优选的,进行特定的数据处理为采用Evaluate函数对密文进行全同态计算处理,得到交易明文数据。

S3:证明者根据交易证明和验证者进行交互式零知识证明,验证通过后,证明者和验证者完成交易。

交互式零知识证明过程如图4所示,具体过程如下:

S31:证明者在格上随机选择第二向量,根据第二向量计算验证参数并将验证参数发送给验证者;计算验证参数的公式为:

n=A*p

其中,n表示验证参数,A表示第二矩阵,p表示第二向量。

S32:验证者随机选取一个向量矩阵e并将向量矩阵e发送给证明者;其中,e∈{0,1}

S33:证明者根据交易明文数据、第二向量和向量矩阵计算新密文,将新密文发送给验证者;

S34:验证者根据验证参数、向量矩阵e和新密文对交易证明进行验证;对交易证明W进行验证的公式为:

||y||

A*y=n+e*W

其中,β表示预选随机选取的一个矩阵范数上界值,例如取3;y表示新密文,e表示向量矩阵,W表示交易证明。

S35:设置重复次数k,重复执行步骤S31-S34k次,若每次验证均通过,则验证者接受该交易,交易成功,否则,验证者不接受该交易,交易失败。

验证者通过计算步骤S34中的算式是否成立来对交易证明W进行验证,若每次验证均满足步骤S34中的算式,则表示证明者向验证者提供的交易证明具有正确性和真实性,进而表示用户的隐私数据即交易明文数据是真实正确的,验证者接受该交易,交易成功,完成交易后,将这些交易上链,完成在区块链上各种业务操作,保证证明者在办理区块链业务的流程中不受量子计算攻击,防止数据泄露、数据被篡改,交易转账中的双花攻击等。

例如:证明者向验证者借钱,验证者通过验证后,接收该交易,验证者的账户余额扣除相应的钱款,并告诉其他节点这个交易是合法的。

S4:监管者监测交易过程,当出现非法交易时,监管者根据私钥对交易证明进行解密,得到交易明文数据;监管者广播非法交易信息以阻止非法交易。

监管者使用全同态Decrypt解密算法和私钥sk对交易证明W进行解密,获取证明者的交易明文数据;具体的,监管者通过解密函数Decrypt计算交易明文数据x即Decrypt(w,W)=x,并向其他节点广播该证明者的交易请求为非法交易,阻止交易的进行和上链。

本发明引入了格密码来抵抗量子计算对区块链的攻击,通过利用格密码来对区块链用户的隐私数据进行第一道加密保护;格密码有别于传统的密码体制,在能抵御传统密码攻击的同时也具有抗量子安全性。

较为成熟的格密码算法如LWE、SIS和GWS等方案具有天然的同态性,在格密码加密的基础上引入全同态加密算法,对用户的隐私数据证明提供第二道加密保障,以保证区块链用户通过交互式零知识证明来在不泄漏隐私数据的前提下,可以完成在区块链系统中各种业务流程和交易。

格密码和零知识证明以及全同态加密的结合,为区块链用户的隐私数据提供了更好的隐私性和安全性。本发明在保证了区块链用户的数据证明的完备性、合理性和零知识性的前提下,使得恶意节点无法通过用户提供的证明来获取到用户真正的隐私数据,有效解决区块链完全透明化特点所带来的安全隐患;在当下的大数据时代下,也可有效解决互联网用户个人隐私泄漏问题。

以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120116171715