FISCO BCOS国密改造手册

设计目标

为了充分支持国产密码学算法,金链盟基于国产密码学标准,实现了国密加解密、签名、验签、哈希算法、国密SSL通信协议,并将其集成到FISCO BCOS平台中,实现了对国家密码局认定的商用密码的完全支持。

系统框架

系统整体框架如下图所示: ../../../_images/guomishakehand.png

下表以签名、验签、哈希算法等为出发点,对比了国密版FISCO-BCOS非国密版FISCO-BCOS:

(注:国密算法SM2, SM3, SM4均基于国产密码学标准开发)

算法类型 国密版FISCO BCOS 非国密版FISCO BCOS
签名算法 SM2 (公私钥长度:512 bits, 256 bits) ECDSA (公私钥长度: 512 bits, 256 bits)
哈希算法 SM3 (哈希串长度: 256 bits) SHA3 (哈希串长度: 256 bits)
对称加解密算法 SM4 (对称密钥长度: 128 bits) AES (加密秘钥长度: 256 bits)

国密SSL 1.1 握手建立流程。

国密版FISCO-BCOS节点之间的认证选用国密SSL 1.1的ECDHE_SM4_SM3密码套件进行SSL链接的建立,整体流程如下图所示: ../../../_images/ssl1.png

特性说明

为了彻底支持国密,国密版FISCO BCOS将交易签名验签、p2p网络连接、节点连接、数据落盘加密等底层模块的密码学算法均替换为国密算法,国密版FISCO-BCOS主要特性如下:

特性 特性说明
P2P连接使用国密SSL
国密版FISCO-BCOS节点之间连接使用了国密TASSL库
节点验证采用国密CA证书链验证
节点共识使用国密密钥 对进行签名验签操作 国密版FISCO-BCOS共识签名和验签使用了国密签名算法SM2
web3sdk, 节点端验证交易 国密版FISCO-BCOS交易签名和验签使用了国密签名算法SM2
消息摘要算法 国密版FISCO-BCOS采用国密消息摘要算法SM3
数据落盘加密使用国密算法进行加密 为了保证数据机密性,FISCO BCOS开发了落盘加密功能 国密版落盘加密使用了国密SM4对称加密算法