满足《金融分布式账簿技术安全规范》要求的联盟链底层 CITA

近日,《金融分布式账本技术安全规范》(JR/T 0184—2020)金融行业标准由中国人民银行正式发布。标准规定了金融分布式账本技术的安全体系,包括基础硬件、基础软件、密码算法、节点通信、账本数据、共识协议、智能合约、身份管理、隐私保护、监管支撑、运维要求和治理机制等方面。标准适用于在金融领域从事分布式账本系统建设或服务运营的机构。

在文件发布后,溪塔科技技术测试部门就围绕《规范》中的各项指标进行了对照测试,具体结果如下:

采用国密算法标准,完全符合规范要求

在密码学算法上,CITA 采取了国密算法,对国家重要的基础金融设施起到安全可信的保障。在密码学算法支持上 CITA 更全面,除了支持常见的 Keccak/Secp256k1 之外,也支持更安全性能更好的 blake2b/ED25519。

640

对于《规范》的基本要求, CITA 中非对称密码算法使用 sm2 公钥椭圆曲线公钥密码算法,密码杂凑算法使用 sm3,完全符合密码算法的基本要求。

在保密性要求上,CITA 支持节点间数据是否使用 TLS(Transport Layer Security)加密传输,在存储敏感的业务数据、身份鉴别数据和密钥数据之前,用户可以自行加密,然后上传给 CITA。

对于《规范》在真实性要求上,在不同环境中,CITA 可以完全满足要求:

  • 交易过程中,通过验签可以确认是该账户发送的交易。
  • 对于节点通讯双方的身份鉴别,CITA 使用 CA 证书已实现。
  • 对于网络设备接入时的身份鉴别,CITA 支持 ip 白名单。

最后,《规范》对于不可否认性的要求,CITA 的交易和链的配置的变更,都是通过区块链交易完成的,区块链交易信息都会上链,上链的信息具有不可否认性。

满足大多数联盟链场景的节点管理技术

在 CITA 中,节点主要分为两类:共识节点和普通节点。共识节点负责共识出块,普通节点只能同步数据并验证数据而没有共识出块的权力。

对于共识节点 CITA 采用了系统合约的方式进行管理,节点的增删需要共识节点进行共识。我们认为通过白名单/黑名单的方式或者 CA 的方式管理节点身份,均能满足联盟链的大多数场景,CA 在对节点身份的验证方面更加严格。对照《规范》要求,CITA 完全符合节点通信过程中所能达到的数据完整性和保密性要求。

敏感数据自行加密,安全审计有保障

《规范》中对于账本数据的要求上,CITA 在保密性方面,对于传输过程中敏感数据的保密性,CITA 支持 TLS 节点间通讯加密。在存储过程中,对于敏感数据的保密性,完全可以由用户自行加密后,由用户传给 CITA。

在账本数据安全审计上,CITA 组建中的 CITA Monitior PRO 监控服务可以提供包括访问日期、时间、用户标识、数据内容等审计相关信息;在数据变更方面,CITA 数据变更是以区块链交易的方式完成的,可以审计变更成功的记录,变更失败的交易也会在日志中有记录。

采用自主研发的高效共识协议,适配广泛业务场景需求

共识机制作为区块链的灵魂,无论是公链还是联盟链,共识机制都从根本上限制了区块链的交易处理能力和扩展性,同时也是其分布式协作能力的基础。CITA 实现了根据区块链连续共识特点而优化的 CITA-BFT,共识和交易处理有 50% 以上的性能提升。

由于 CITA 采用 BFT 类共识,适合多数的联盟链场景,可以由参与方、监管方和可信第三方组成共识节点。

在安全性上,CITA 使用类 BFT 的共识,所以在安全性方面分析现有的 BFT 协议即可,有用比较高的安全边界。

更通用型、更安全、更易用的智能合约

在智能合约技术实现层面,CITA 支持 EVM 和预编译合约。借助于 Ethereum 智能合约的完善的生态系统,在其基础之上做了定制化,有丰富的合约编写和测试工具。

安全性是智能合约有别于其他程序的主要特征,这里的安全性,包含确定性、可验证、可审计、可追踪等特性。由于 CITA 交易是在链上执行的,所以 CITA 的智能合约更具有确定性、可验证、可审计、不可逆、可追踪的特点。

在易用性方面,CITA 支持以太坊 EVM 并且对其工具链进行深度优化,对开发者更友好,合约的部署、调用、升级都通过交易进行,更轻量和方便。

在对照《规范》要求中,CITA 完全满足其所提出的智能合约基本要求以及相关特性。值得一提的是,在智能合约安全审计方面,CITA 可以通过权限控制使得一般开发者没有合约部署权限,只有管理员具有权限,从而配合智能合约的审查流程完成安全审计。

多元隐私保护方案,身份数据上链无忧

在隐私保护方面,CITA 不采集隐私信息,在涉及隐私信息采集时应遵守隐私保护原则。但是为保护“账本”的相关隐私,CITA 采用了密码学、数据隔离、可信硬件的多元技术方案来对用户身份与上链数据进行隐私保护。

密码学方案上,CITA 采用了零知识证明技术。用此技术实现隐私交易的操作示例可以参考零知识证明。

数据隔离上,对于侧链技术选型,综合了几种多链与跨链方案后,CITA 在底层实现了侧链方案来实现隐私交易。几个相关合作方共同起一条主链,其中的某几个参与方可以向主链注册一条侧链,在侧链上进行交易、验证,从而使侧链数据与主链数据隔离开,从而实现侧链交易数据的隐私保护。此方案无中心化风险,灵活性更高。

对于链外存储上,CITA 可以将需要参与共识和需要共享的核心数据,和其他的数据如合同明文、批量大数据、隐私、个人信息分离,数据脱敏后再上链,或者将数据摘要上链,必要时再授权访问明文等其他数据。链外存储是将要保护的隐私数据,链上是可以公开的数据。

在可信硬件方面,CITA 采用新的隐私保护技术 SGX,通过计算机的核心处理器 CPU 来构建可信执行环境 TEE,SGX 可以将智能合约中的关键操作封装到 Enclave 中,即便操作系统或者 VMM(Hypervisor)也无法影响 Enclave 里面的代码和数据。已有项目搭建了 CITA 联盟链平台,并使用 SGX 可信执行环境技术,实现了交易数据的隐私性和监管的穿透性。

打造更优秀的联盟链底层 CITA

作为国内首个采用 Rust 语言开发的开源区块链项目,自 2017 年发布首个开源版本后,受到了国内外从业者的广泛关注。随着,CITA 的开源协议由 GPL3.0 协议更换为了 Apache2.0 协议,CITA 更适合面向企业级用户的区块链开源项目。

目前,CITA 由溪塔科技协同招商银行 、你好现在、矢链科技、轻信科技、智汇信元、加密矩阵等社区企业共同推进研究与开发。我们诚挚欢迎更多的企业加入 CITAHub 社区,打造更加优秀联盟链底层 CITA。

参考文献:

《金融分布式账本技术安全规范》

http://www.cfstc.org/bzgk/gk/view/yulan.jsp?i_id=1855

《CITAHub 文档概览》

《联盟链将走向何方?》

https://www.ccvalue.cn/article/207596.html

1赞