详解|基于群签名的联盟链跨链身份隐私保护技术
摘 要:为了解决联盟链在参与数据互通、信息交换、跨链交互中身份隐私泄露的问题,提出了一种满足跨链监管要求,基于联盟链跨链交易的可控匿名身份隐私保护模型。考虑到各联盟链身份异构,数字证书的实名特性,提出一种基于群签名的联盟链跨链交易背书策略。群签名基于 SDH 假设和双线性群中的决策性假设,满足群的安全性特征和正确性要求。能够实现对跨链信息的正确签名上链,达到匿名共享信息的目的。
2 跨链监管下的身份标识架构
2.1 跨链模型的分层架构
2.2 应用链数字身份注册与身份标识
3 可监管的身份隐私保护跨链交易模型
3.1 跨链交易身份可控匿名认证方案
3.2 基于群签名的跨链交易背书策略
4 安全性分析
4.1 签名验证和打开的正确性
4.2 签名的完全匿名性
4.3 模型安全性分析
5 实验结论
6 结 语
随着区块链技术的不断发展,区块链能够提供的服务也越来越丰富。区块链具有去中心化、防篡改等特点,这使其成为一种信任体系构造技术,有利于破除传统互联网架构下的数据孤岛问题,也有利于优化金融供应生产关系。然而,随着区块链技术的不断成熟,以及与医疗、金融、数字版权等领域的融合,领域交叉应用对区块链跨链和跨链身份隐私保护的需求日益增长。
白杰等人 指出,由于区块链之间缺少统一的通信,大多数公司间无法互相协同。同时,跨链合约的执行较为困难。现实世界的资产流动尤其是数字版权,需要多方参与,执行担保监督等工作,而局限于一个链的合约无法完全完成这些工作。许永鑫、郭子彦等人 指出,区块链在优化供应链金融中扮演了非常重要的角色。区块链可以很好地解决供应链金融中的凭证信任问题,但同时也存在信息共享困难的问题,不同链之间无法直接实现信息共享。
传统联盟链的身份管理系统大多基于公钥基础设施(Public Key Infrastructure,PKI)进行证书颁发和身份认证。但每条链独立存在,没有一个统一的身份管理系统,无法进行跨链的身份认证,形成了身份管理的信息孤岛 。身份缺失的同时也导致在进行跨链信息交换时无法确认信息是否可信。如何在跨链网络中为不同的链提供统一的身份标识以解决跨链交易中的认证问题,以及如何保护应用链在跨链交易网络中的身份信息,是区块链跨链应用进一步扩大需要解决的问题。因此,本文提出了一种基于群签名的可监管的身份隐私保护跨链交易模型,其与中继链跨链网络相结合,在不改变应用链架构与中继链架构的基础上实现对跨链交易信息的身份匿名化,为避免匿名的滥用,该模型支持管理员对匿名消息的去匿名化,实现了跨链交易的监管。
1
背景知识和相关介绍
1.1 区块链技术
区块链作为一种新型互联网技术,具有高度去中心化、高信赖的特征,是一种数据网络存储技术。其是分布式网络技术与加密技术相结合的技术产物。区块链的概念源于中本聪在 2008 年发表的论文,其提出了一种加密数字货币——比特币,可以满足无监管的不可信双方的交易需求。之后开发者引入了智能合约的概念,实现了区块链的可编程特性。区块链技术是一系列计算机和加密技术的结合,结合了密码学、对等网络通信、共识机制、智能合约编程等技术手段。从数据结构来看,区块链是一条按时间顺序将包含可信交易的数据区块连接起来的链,由密码学算法保证其不可篡改伪造,通过对等网络和共识机制来生成和更新数据。
随着应用的增加,区块链网络根据是否具有控制访问权限机制以及是否集中化拥有控制权主体,将区块链系统分为公有链(如以太坊)、联盟链(如 Hyperledger、趣链)和私有链 3 种类型。其中,公有链完全公开透明,无任何身份认证授权;联盟链需要身份授权准入机制,记录维护由事先预备的节点负责;私有链由单一的节点参与网络维护。
1.2 跨链技术架构
跨链(Cross-Chain)是容许加密货币资产跨越不同的区块链使用和保存。跨链技术的关键在于执行智能合约,设计共同的通信协议,完成共同的跨链接入接口,从而实现多个独立运行的区块链之间的信息及资产的原子性转移或互换。目前,跨链的架构方案如下:公证人机制、侧链 / 中继、哈希锁定和分布式私钥控制。其中,公证人架构中存在中心化的风险,哈希时间锁和分布式私钥控制方式存在应用的局限性,而侧链增加了网络的复杂度,也存在新的安全风险。相较之下,中继链架构下的操作应用场景广,且可拓展性强,能适用于大部分跨链要求。
1.3 群签名
群签名是数字签名的一种,其目的在于允许成员代表群签名消息,同时不泄露身份。换而言之,看到签名的人可以用公钥验证该消息是否是合法群成员签署的,但无法得知实名身份。同时,群成员无法滥用这种匿名机制,因为群签名支持群管理员使用秘密信息来打开签名,证实身份。
一个完善的群签名方案需要满足以下几个要求:
(1)群特性。只有群中成员能够代表群体签名。
(2)验证简洁。接收者可以用公钥完成签名验证。
(3)匿名保护。接收者不能得知签名者在群体中的实名身份。
(4)可追踪。群体中的成员或可信赖机构可以根据秘密信息打开签名。
知名的群签名方案包括由 Camenisch 等人于 1997 年提出的 CS97 群签名方案。CS97 以离散对数作为理论基础。而本文采用的是 Boneh等人于 2004 年提出的 BBS 短群签名方案。BBS 短群签名基于强 DH 假设,即 SDH(Strong Diffie-Hellman,SDH)和线性决策假设。
1.4 研究现状
当前基于联盟链的身份信息管理研究主要集中在链内的去中心化身份认证和跨链的身份认证管理方面。在提供匿名化身份认证方面还有所欠缺。
1.4.1 身份管理研究现状
Cachin针 对 以 fabric 为 代 表 的 联 盟 链 架构,提出了一种新的联盟链身份认证机制以改进联盟链的交易背书。主要创新在于对注册和交易分开授权,实现了一定的匿名性,但同时大量的交易证书带来了存储和维护的瓶颈。Liang 等人 提出一种组签名与证书授权中心(Certificate Authority,CA)机构相结合的满足匿名的跨链身份认证协议。主 CA 提供身份认证证书,授权应用链加入中继链。在应用链系统中,所有节点具有唯一身份标识 ECERT。应用链中指定的组管理节点根据 ECERT 给要进行跨链的节点颁发组成员证书 GCERT。需要进行跨链事务的节点根据自己的 ECERT 向组管理节点申请 TCERT,并用 GCERT 进行签名保证身份信息。该跨链交易协议虽然可以保证交易过程中的身份匿名,但多个证书的交互与管理使得系统面临证书管理上的瓶颈。王洒洒等人也针对异构应用链的跨链问题提出了一种跨链系统的身份标识认证模型。不过该模型解决的是同一个应用链需加入多个跨链系统中的重复认证问题,与本文关注的跨链中的身份隐私有所不同。
Axon 等人 针对区块链 PKI 架构不关注隐私的问题,设计了一种满足隐私感知的 PKI 架构,使得公钥与身份不关联。Conti 等人 针对信息中心网络(Information Centric Networking,ICN)中身份认证负担较大的问题,提出了一种轻量级的实现方式。利用区块链构造了一种高效轻量级分布移动生产者认证协议,用于 ICN中的安全移动管理,解决了移动网络和 BC 中易受网络攻击的问题。Zhang 等人 主要利用区块链的安全特性,提出了一种完全分布式的用户认证框架,利用智能合约进行访问权限控制,智能合约保证了权限的授予。王姝爽等人 对应用链接入跨链时的安全过程和跨链中的身份标识做了相关研究,给出了一种轻量级的身份标识方案,但同样是基于证书与公私密钥对,没有关注跨链中的身份隐私问题。
1.4.2 跨链身份授权研究现状
Wang 等 人 提出了一种去中心化身份(Decentralized Identifier,DID) 与 可 信 证 书(Verifiable Credentials,VC)相结合的跨链可信资产转移流程。其中,链内用户身份通过唯一DID 进行身份标识,完整的身份信息存储在中继链上,包含多个公钥,可以简化同一个用户参与多链的流程。但同时中继链需要维护所有应用链及其用户的身份元信息和完整信息。随着业务的增长,中继链的存储负担过重。Shao 等人 针对物联网身份认证和跨链通信,基于身份加密(Identity-Based Encryption,IBE)协议,设计了物联网区块链中的跨链通信机制。其通过在每个区块链上设置代理节点,代理节点需与链公证员通信获得私钥。区块链上的每个节点可通过代理节点进行跨链,代理节点之间可以直接跨链通信。该机制虽保证了跨链的身份认证,但是公证员机制的跨链方案存在第三方是否可信以及性能瓶颈的问题。Jiang 等人利用联盟链与公证人相结合的方式,把若干物联网区块链集合到一个财团区块链控制站中,所有跨车联网子集的访问必须经由控制站成员审查。Wang 等人利用区块链优化应用的跨域认证。所有认证通过根 CA 执行,设计了一个跨域证书认证协议。虽然实现了证书的分布式,但认证过程依旧依赖于 CA 的可靠性和性能。
综上,目前跨链的身份管理存在以下不足。首先,跨链的身份管理大多需要中继链进行统一身份的存储,如果涉及多链交互,还需要存储多个密钥对。其一定程度上统一了异构链的身份标识问题,但也存在中继链负荷过大的瓶颈。其次,大多数跨链身份认证策略未考虑在匿名跨链事务中如何完成身份信任。并且能够满足匿名需求的认证方案存在多个需要管理的证书,需要通过频繁交互来完成证书颁发和身份认证,其存储开销较大且流程不够简洁。
因此,本文提出一种基于群签名的中继链跨链身份信息保护方案。能够实现应用链间的信息共享,同时保护身份信息,允许管理员进行监管,以解决区块链间信息孤岛的问题。
2
跨链监管下的身份标识架构
2.1 跨链模型的分层架构
针对多应用链用户在跨链互操作间存在的信任传递、跨链访问、身份隐私保护等问题,提出了一种面向跨链系统中的身份认证方案,既能满足跨链中的身份信任要求,又能满足用户对身份隐私保护的要求,实现可控的匿名认证。首先介绍跨链系统的分层架构模型,跨链采用不需要可信第三方的中继模式进行。跨链模型分层架构中的角色符号与表示如表 1所示。
表 1 分层架构角色表示
由中继链 R 系统负责身份注册、身份认证、身份维护管理以及跨链交易的验证和转发等。在中继架构模型中,中继模块提供身份注册合约、身份认证合约,以及交易所需的认证合约。根 据 跨 链 传 输 协 议(Inter Blockchain Transfer Protocol,IBTP)包解析出链类型和交易证明等信息,交易的验证,存证交易。确保交易的合法性,保障交易安全。
应用链 A,B 间的跨链交易通过与跨链网关交互,执行对应的跨链合约,完成跨链交易。应用链是需要通过跨链架构连接的区块链主体,通过完成中继链上的身份注册和认证,可以加入跨链网络中,拥有在跨链网络中的唯一身份标识,与跨链网络中其他应用链进行跨链交互。
跨链合约是部署在应用链上的智能合约,负责跨链事件的执行。为了方便管理,跨链合约分为 broker 和其他业务合约。业务合约在 broker上注册后方可生效。
Pier 跨链网关负责完成跨链中的监听、路由、代理转发等工作,同时把跨链事务转换成 IBTP通信协议的格式,并提交到中继链上。Pier 中的分层与功能对应关系如表 2 所示。
表 2 Pier 分层架构
2.2 应用链数字身份注册与身份标识
为了保证跨链事务的安全性和隐私性,每一个进行交互的应用链需要拥有在跨链联盟链中的唯一身份标识,身份标识可以通过执行身份注册合约获得。DID 身份标识架构如图 1 所示。
图 1 DID 身份标识架构
注册接口由应用链插件开发实现。数字身份满足 Web3 的 DID 标准。DID 作为一种新型的可验证、分布式的数字身份标识,相比于证书具有更强的身份隐私保护,可以由用户控制其身份属性的披露。据 Web3 标准指出,DID标准由 DID 和 DID 文档组成。DID 是一个简单的文本字符串,包含方案标识符、DID 方法标识符和 DID 方法的特定标识符结构。DID 实例可以解释为一个 DID 文档,DID 文档包含与 DID相关的信息,例如以加密的方式对 DID 控制器进行身份验证的方法。
跨链的身份标识通常采用 DID 身份标识,应用链的身份标识结构如下:id:{did identification: relay chain identifier:application chain name:},例 如 did:relaychain:chain_test: 为 一 个 链 的 DID标识。用户 DID 的身份标识结构如下:id:{did ID:relaychain ID:userchain ID:ueserchain address:},例如 {did:relaychain:chain_test:0x111111111:} 为一个用户的 DID 标识。应用链的身份注册流程如图 2 所示。
图 2 应用链的身份注册流程
应用链的公私钥对和交易地址等信息由注册合约执行结果返回。注册提案经中继链管理节点投票通过后生效。应用链及其应用节点获得唯一身份标识,可以参与跨链事务。
3
可监管的身份隐私保护跨链交易模型
3.1 跨链交易身份可控匿名认证方案
目前主流的联盟链在跨链事务的身份认证中依旧采用基于数字证书的实名认证方案,通过向交易方提供实名的数字证书来证实合法身份。这满足了交易的安全性,但是没法为需要匿名交易的用户提供服务。为了符合跨链身份隐私保护的要求,需要提供一种可控匿名身份隐私保护模型,能够做到验证证书与实名身份的剥离,同时允许管理员监管,保证匿名不被滥用。
在现有的中继链跨链架构上对该方案进行改进。由中继链管理节点作为群管理员,联盟链以唯一身份标识作为加入群的凭证,以群签名代替数字证书认证身份的合法性,最终实现匿名的身份认证。此方案包括群的创建、群成员加入、签名消息、验证消息和打开身份。方案各个部分的关系如图 3 所示。
图 3 方案内容
由中继链管理员完成群的创建,生成群公钥、群管理员私钥和一系列的群成员私钥,并向所有群成员公开群公钥,保密群管理员私钥以及成员私钥。应用链凭借在中继链中的唯一身份标识,可以向中继链管理员请求一组群成员证书,并获得群成员私钥。应用链在进行匿名的跨链事务时可以用群签名代替数字证书签名。同在群中的其他跨链成员可根据群公钥完成对签名的验证,从而实现身份认证。
该方案的主要步骤如下文所述。
(4)打开。中继链管理节点可使用其拥有的私钥打开对消息的签名,查看实名身份,监督匿名的使用。
Step1 首先判断σ 是否为合法签名。
Step2 恢复用户的 A:
3.2 基于群签名的跨链交易背书策略
跨链交易的执行一般由跨链合约进行维护。由跨链协议规范跨链请求需要包含的字段,为保证认证的灵活性,跨链协议包含一段 proof 证明字段,该字段提供中继链验证所需的信息。中继链会根据事先部署的验证策略对交易合法性进行验证。传统的验证策略如 fabric 联盟链采用背书策略,签名基于实名数字证书。当验证方进行验证时必须知道签名者的数字证书和公钥,否则无法满足匿名认证要求。
本节结合 3.1 节提出的可控匿名认证方案,对联盟链交易的背书策略进行改进,实现中继链对跨链交易的认证。首先,应用链凭借注册获得的唯一身份标识申请加入群,中继链核验应用链身份后为其分配群成员私钥,应用链中所有可以充当背书节点的用户都知晓群成员私钥信息。其次,在收到交易提案后,用群私钥对交易执行结果进行签名,完成背书。背书策略的模型与跨链交易流程如图 4 所示。
图 4 可控匿名跨链交易背书模型
(1)应用链加入群。已在中继链中注册过的应用链需要从中继链群管理员生成的成员私钥组中选择一组私钥,作为签名密钥。
Step1 应用链 A 请求加入群。
Step2 中继链验证是否是已注册的应用链。
Step3 通过验证,中继链从中随机选择一个数i 。
Step4 私钥组为此应用链的群成员私钥。
Step5 以 A 的公钥加密结果。
(2)基于群签名的背书。获得签名私钥的应用链成员,可以对交易进行群签名并完成背书。此背书具有匿名性,保护用户身份隐私。
Step1 应用节点进行交易提案,触发执行交易对应的链码,提交给背书节点。
Step2 检查签名提案的消息格式和签名是否正确,包括通道头、签名头等。
Step3 检查交易的 ID 是否唯一,检查是否有权限,查找需要满足的验证策略。
Step4 模 拟 执 行 提 交 的 交 易 链 码, 记 录结果。
Step5 对提案响应执行群签名,构造响应消息返回背书结果。
Step6 应用节点收集到足够的背书后,经由跨链网关打包消息发至中继链。
Step7 中继链执行验证策略,验证背书签名,无误后交易信息上链。
在该背书策略下,所有加入中继链的节点都可以看到交易信息,以及对交易信息的可信背书,无法得知信息提供者的身份。既实现了信息的共享,也实现了对身份的保护。
4
安全性分析
本节主要分析上述跨链交易可控匿名身份隐私保护模型在身份隐私保护方面的有效性。由模型结构可知,身份隐私的保护依赖于群签名方案。在进行跨链信息交换时,上链对交换信息的群签名而非信息本身,既能证明链上信息的真实合法,又能不泄露信息提供者的身份。即只要群签名方案是安全的,此可控匿名身份隐私保护模型就是有效的。由第 3 节可知,群签名方案的主要环节为对私钥和成员证书的知识签名。下面证明知识签名的安全性。
4.1 签名验证和打开的正确性
4.2 签名的完全匿名性
在不知道群管理员私钥的情况下,要恢复出用户成员私钥组是不可能的。
概念 1:SDH 假设
4.3 模型安全性分析
本节主要从群成员私钥安全管理和安全分发两个维度对模型进行安全性分析。证明此模型具有不可伪造性和可监督性。
首先,群成员私钥的管理和产生是安全的。由 3.1 节介绍的方案可知,群成员私钥由管理员在计算群公钥时一并计算给出,形成群成员私钥池。群管理员由跨链分层架构中的中继联盟链管理员担任。管理员不参与一般跨链事务,属于中继链治理模块中的节点。一般的应用链节点无法从管理员处获得不属于自己的信息,即无法伪造群签名。
其次,群私钥的分发也是安全的。群私钥由应用链节点向中继链发起加入群的提案,通过身份审查后由中继管理员分发私钥。由 3.2 节介绍的策略可知,中继链在传输群私钥时使用应用链身份标识对应的公钥进行加密传输,保证了群私钥分发的安全性。
最后,该模型的可监督性由群签名打开算法的正确性进行保证,由 4.1 节可知,拥有秘密信息的管理员可以打开诚实的签名。
5
实验结论
本 文 实 验 均 在 虚 拟 机 环 境 中 执 行, 采 用的 虚 拟 机 是 VMware Workstation Pro 15。虚 拟机 的 环 境 配 置 为 Ubuntu20.04 操 作 系 统。采用 Hyperledger Fabric1.4 作 为 应 用 联 盟 链 的 底层 框 架, 跨 链 使 用 bitxhub v1.6.2 系 统 提 供 的跨 链 网 关 和 中 继 链 进 行, 并 安 装 go1.16.2、Docker20.10.12 等配套环境。签名算法开发采用go 语言并配合 PBC 密码库进行实现。实验的性能测试包括:背书签名在不同消息大小下,签名和验证的时间效率以及采用了本文的背书策略后链上验证的耗时。
由表 3 可以看出,群签名算法的时间开销随文件大小的增长变化稳定。虽然签名需要产生的辅助变量和计算的等式较多,但大部分可以在收到消息前做预计算,从而节省时间效率。
表 3 签名时间开销
由表 4 可以看出,验证签名时的时间开销随文件大小的增长变化稳定。由验证算法可知,验证中进行的计算比较都已由收到的签名给出,不需要从基本参数开始计算,为验证提高了时间效率。
表 4 验证时间开销
在测试链上验证性能时,统一选择 1 024Byte 的消息进行签名,测试跨链节点个数对背书验证时间的影响。
由表 5 可以看出,链上验证的性能主要受发起验证的应用链与存储签名的中继块链之间的传递事务所影响,当网络环境良好时,传输通畅,链上开销可能更小。因此,在单机环境下模拟测试的测试结果同时还受CPU性能影响。综上,链上验证的吞吐量与网络环境、服务器性能都有较大关系。
表 5 链上验证开销
6
结 语
综上,群签名在保护消息的匿名性和不可追踪性方面能够满足对身份隐私敏感的应用链的隐私要求。群签名上链的跨链模型对以信息共享和需要信息认证的跨链服务适应良好。同时利用中继链联盟链的治理模式,由治理节点充当群管理员,保证了群管理员私钥安全性的同时,满足了中继链上应用链的验证需求。
引用格式
引用格式:徐鹤语 , 马兆丰 , 叶可可 , 等 . 基于群签名的联盟链跨链身份隐私保护技术 [J]. 信息安全与通信保密 ,2022(10):12-24.
徐鹤语,女,硕士研究生,主要研究方向为区块链、身份隐私保护等;
马兆丰,通讯作者,男,博士,教授,主要研究方向为区块链理论与技术研究、区块链隐私保护;
叶可可,男,硕士,区块链 AU总监,主要研究方向为区块链与相关融合技术研究及应用;
段鹏飞,男,博士研究生,主要研究方向为区块链及安全技术;
罗守山,男,博士,教授,主要研究方向为区块链、密码学、网络与信息安全。
通讯地址:北京市海淀区海淀南路甲21号中关村知识产权大厦A座2层206、207室 邮政编码:100080
电话:010-62565314 刘莉 京ICP证16064523号-2 版权所有:北京软件和信息服务业协会
技术支持:中科服 内容支持:鑫网安