超级账本国家商用密码标准支持
西南财经大学中国区块链研究中心作为具有国际视野的开放性研究平台和产业实践创新基地,研究中心旨在以顶尖水平的学术研究和创新应用实现区块链相关理论与应用的中国实践,为解决国家和社会的重大金融科技与产业创新问题提供研究支持。研究中心和成都九宽科技联合研发一套名为9BaaS 的科技区块链服务平台,9BaaS 基于 Hyperledger Fabric技术框架,针对不同行业用户的应用场景需求来提供场景化区块链网络服务,平台率先在国内基于最新版 Fabric 实现了在交易和传输层面同时兼容国际和国家商用密码标准。
国家商用密码概述
商用密码,是指对不涉及国家秘密内容的信息进行加密保护或者安全认证所使用的密码技术和密码产品。密码技术、核技术和航天技术并称为国家安全的三大支撑技术,其中密码技术又称为信息安全的核心技术,广泛应用于国民经济各领域,在保障重要经济信息系统安全、维护国家网络空间安全中起着不可替代的作用。2014年国务院办公厅印发了《金融领域密码应用的指导意见》,要求在金融领域推广使用我国自主研制的系列密码算法包括相关产品。
SM3 密码杂凑算法
SM3 是我国政府采用的一种密码散列函数标准,在商用密码体系中,SM3 主要用于数字签名及验证、消息认证码生成及验证、随机数生成等。详见国家密码管理局关于发布《SM3 密码杂凑算法》公告。
了解更多
SM2 椭圆曲线公钥密码算法
SM2 是我国政府采用的一种公开密钥加密标准,主要包括三部分:签名算法、密钥交换算法、加密算法。详见国家密码管理局关于发布《SM2 椭圆曲线公钥密码算法》公告。
了解更多
9BaaS 支持国家商用密码标准方案
以下将国家商用密码简称国密。Hyperledger Fabric 国密支持主要体现在加密算法采用 SM2 椭圆曲线公钥密码算法,杂凑算法采用 SM3 密码杂凑算法。中心与九宽科技研究人员在当前 fabric 最新版本 fabric release-1.4、fabric ca 最新版本 fabric ca release-1.4、golang v1.12 的基础上支持国密,并同时在交易和传输层面同时兼容国际和国家商用密码标准。
国家商用密码标准支持实现方案

   Fabric 证书实现依据 golang 标准库 crypto/x509,tls传输层依据 golang 标准库 crypto/tls,研究中心与 9BaaS国密支持方案是将有关算法实现、x509、tls 部分均置于 fabric层面(如果采用定制golang标准库方案可能会出现第三方库兼容问题),这样不用定制 golang标准库,用户环境考虑本地和 docker 环境也不需要定制hyperledger/fabric-baseimage,同时更易于国际和国家商用密码标准的插件化支持。在 fabric 中 bccsp(blockchain cryptographic serviceprovider)模块提供加密算法相关的支持,在 bccsp/bccsp.go里定义了加密相关的接口。bccsp以工厂模式实现不同加密算法的接入,国密在 bccsp中提供了国密工厂实现。

  研究中心与 9baas 平台基于 golang 1.12 的crypto/x509,crypto/tls 定制国密版crypto/x509 ,crypto/tls,基于hyperledger fabric 1.4 在 bccsp 模块下定制国密算法工厂 gmsw,SM2和 SM3算法实现的部分使用同济公开国密算法包,九宽科技研究团队对此算法包进行了全面论证,并向同济国密算法团队提交若干修复意见,为维护算法的权威性贡献智慧。