TrustWallet钱包官网地址
你的位置:TrustWallet钱包官网地址 > Trust钱包官网下载 > TrustWallet钱包官网地址 基于SM9算法可证明安全的区块链隐私保护方案
发布日期:2025-04-30 01:40 点击次数:83
区块链技术因其“去中心化”与“去信任化”等特点, 可在可信第三方不参与的情况下与陌生节点之间进行安全的信息传递, 有效提高了信息交互效率, 降低交互成本, 在比特币、供应链等领域具有较为广阔的前景[1].哈希算法以及数字签名算法在区块链中应用广泛, 用以验证区块以及交易的正确性.区块链在实际场景中应用时, 不仅需要核验节点的公钥地址, 还应验证各个节点的真实身份.传统的PKI体制因为可信中心的权重过大, 不符合区块链“去中心化”与“去信任化”的特点.因此, 无证书的加密与签名方案[2]可以在区块链技术中得到应用.2012年, Yu等人[3]提出一种在标准模型下可证明安全的无证书签名方案, 但该方案需要使用5次以上的双线性对运算, 计算效率较低.同年, Gong等人[4]提出基于椭圆曲线的无证书密码体制, 但其并不能有效抵抗第一类超级攻击者的攻击.2017年, Tseng等人[5]提出一种抗连续泄漏攻击的安全无证书签名方案.
隐私泄露是区块链技术中不容忽视的问题[6].与传统中心化结构不同, 区块链机制不依赖特定中心节点处理与存储数据, 因此可以避免恶意中心或因其他原因导致的中心信息泄露[7].但为了验证交易信息, 区块链中的所有交易记录必须公开, 因此将显著增加信息泄露风险.Kosba等人[8]认为, 交易地址暴露于区块链环境中容易被跟踪查找.因为区块链技术与当前IT架构存在区别, 以往的隐私保护方案并不适用.所以, 区块链的隐私保护需要更具针对性的机制[9].2013年, Miers等人[10]基于比特币提出了拥有匿名性的区块链数字货币方案——零币.该方案通过运用零知识证明等密码学技术, 以隐藏用户地址、切断交易双方联系的方式保证了交易的非关联性, 从而达到匿名与不可追踪的效果.但该方案基于公有链进行设计, 区块生成速度与比特币近似, 无法进行高效率的交易流通, 并且节点需要额外维护货币作废列表以保证交易的惟一性, 在一定程度上影响了交易验证的效率.2016年, Shen等人[11]提出了基于环签名的区块链秘密交易方案.该方案随机选取无关地址后连同交易发起方进行环签名, 达到混淆交易用户身份的目的.但该方案与零币方案均存在因切断交易关联性而导致溯源性较差的问题, 难以在实际场景中得到应用, 并且单次交易信息量过大, 而该方案的匿名性取决于参与环签名的地址数量, 为缩小交易信息量而减少地址个数, 也将面临去匿名化的风险.
群签名的概念由Chaum和Heyst[12]在1991年提出后, 它以独特的性质引起人们的关注并被广泛研究.群签名允许群体中任何一名成员代表整个群体对消息进行匿名签名.与普通数字签名一样, 群签名可以公开验证,TrustWallet钱包最新版本下载 并且发生纠纷时, TrustWallet官网下载 群管理员可以打开群签名以揭露签名者的真实身份.基于身份的群签名方案具有在身份标识验证的基础上, 采用群签名的方式保护用户的隐私, 兼具二者特点, 在区块链环境中具有应用价值.目前, 许多基于身份的群签名方案被提出.2008年, Zhang等人[13]提出一种针对恶意PKG的无证书群签名方案.2010年, 陈虎等人[14]提出一种高效的无证书签名与群签名方案, 具有前向安全性等特点, 但其并不能使用户的不同交易隐蔽关联性, 无法直接应用于区块链中.2012年, Zhan等人[15]提出基于身份的门限群签名方案.同年, Cheng等人[16]提出了实用的基于身份的群签名方案.2015年, Lin等人[17]提出一种基于群签名和基于身份签名的安全隐私保护协议.2017年, Bande等人[18]提出具有验证者本地撤销的安全隐私保护群签名方案, 其安全性基于强RSA假设.但该方案并非基于身份, 所以难以抵抗公钥替换攻击.以上方案虽然可以实现无证书签名以及利用群签名保护签名者隐私, 但均没有针对区块链特殊架构进行设计, 无法应用于区块链高开放度的环境中, 对节点身份进行隐藏与保护.
本文的贡献在于, 提出一种基于SM9算法可证明安全的区块链隐私保护方案, 对现有SM9算法进行适当优化, 提出了一种基于SM9算法的群签名方案, 以区块链中的联盟链为应用环境, 实现对交易过程的隐私保护.方案效率较现有方案相比, 所需指数运算与双线性对运算均有减少, 运算效率得到提升, 可以为联盟链的应用提供有效安全和隐私保护支撑.
1 预备知识 1.1 区块链与联盟链区块链是一种按照时间顺序将数据区块以链条的方式组合成特定的数据结构[19], 并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账, 能够安全存储简单的、有先后关系的、能在系统内验证的数据[20].区块链可以看做存储数字记录的数据库, 数据库由网络节点共享, 节点可以提交新的记录, 区块链网络通过共识机制保证节点之间数据的一致性, 记录一旦被输入, 就永远不会被更改或删除.
总体上区块链可以分为3种类型:公有链、联盟链和私有链, 本文设计的隐私保护方案主要在联盟链中实现.在联盟链中, 区块链的区块和交易的有效性由预先设定的一个验证者群体决定, 这个验证群体形成一个联盟.例如, 要使得联盟链中的一个区块有效, 需要联盟中50%以上的成员认可通过, 新区块才有效.区块链上的信息可以是公开的, 也可以只对联盟成员可见.
1.2 SM9标识密码算法SM9密码算法涉及有限域、椭圆曲线、椭圆曲线上双线性对的运算等基本知识和技术[21], 其中, SM9数字签名算法包括数字签名生成算法和验证算法.签名者持有一个标识和一个相应的私钥, 该私钥由密钥生成中心(key generation center, 简称KGC)通过主私钥和签名者的标识结合产生.签名者用自身私钥对数据产生数字签名, 验证者用签名者的标识生成其公钥, 验证签名的有效性, 即验证发送数据的真实性、完整性和数据发送者的身份.
1.3 群签名群签名是由包含下面过程的数字签名方案[22]组成.
(1) 创建:一个用以产生群公钥和私钥的多项式时间概率算法;
(2) 加入:一个用户和群管理员之间使用户成为群管理员的交互式协议.执行该协议可以产生群员的私钥和成员证书, 并使群管理员得到群成员的私有密钥;
(3) 签名:一个概率算法, 当输入一个消息和一个群成员的私钥后, 输出对消息的签名;
(4) 验证:一个在输入消息原文、对消息的群签名以及群公钥后验证签名是否有效的算法;
https://www.bitpieaz.com.cn(5) 打开:一个在给定一个签名及群私钥的条件下, 确认签名人的合法身份的算法.
2 区块链隐私保护方案设计本文提出一种适用于区块链技术的隐私保护方案, 通过对广播交易信息中用户身份信息进行多KGC群签名运算, 实现隐藏用户身份以及同一用户不同交易之间的关联性.具体描述如下.
2.1 节点构成本方案基于联盟链进行设计, 节点由主要节点与次要节点构成, 具体结构如图 1所示.
其中, 主要节点负责维护区块链参数与历史数据, 进行区块链中所使用的SM9多KGC签名算法以及群签名算法的参数初始化, 参与区块生成以及管理次要节点的加入与相关密钥的分发.设现有k个KGC, 则所有KGC首先商定随机数ks∈[1, N-1], 并各自持有另一个随机数kej∈[1, N-1], 其中, j表示第j个KGC.每个KGC计算G2中的元素Ppub-s=[ks]P2与Ppub-j=[kej]P2, 之后, 依次计算${P_{pub{\rm{ - }}e}} = \sum\limits_{i = 1}^j {{P_{pub{\rm{ - }}j}}} $, 直到j=k为止, 使得${P_{pub{\rm{ - }}e}} = \left[{\sum\limits_{i = 1}^k {k{e_j}} } \right]{P_2}$, 则签名主密钥对为(ke, Ppub-s, Ppub-e).每个KGC秘密保存ks与自己持有的ke, 公开Ppub-s与Ppub-e.次要节点A的标识为IDA, 为了产生次要节点A的签名私钥dsA, KGC首先在有限域上计算t1=H1(IDA
Powered by TrustWallet钱包官网地址 @2013-2022 RSS地图 HTML地图
Copyright Powered by365站群 © 2013-2024