知识卡片
BCCSP用统一接口屏蔽软件与硬件密钥的差异
内容
BCCSP把[[哈希与非对称加密在区块链中的分工]]中的生成密钥、签名、验签、加解密、哈希这些密码学操作抽象成一套统一接口,上层MSP组件只面向这套接口编程,完全不知道背后到底是SW类型(直接用Go标准库crypto包在软件里做运算,密钥存在本地文件)还是PKCS11类型(把运算委托给HSM硬件安全模块,密钥永远不出硬件、软件侧只拿到密钥句柄)。这意味着一个生产环境要从”密钥存本地文件”升级到”密钥托管在专用硬件里”这种安全等级质变,只需要换一个BCCSP工厂实现,MSP、签名验证等上层代码完全不用改——把”密钥到底存在哪里、怎么运算”这个易变的安全实现细节,彻底封装在了接口背后。
参考来源
《Hyperledger Fabric技术内幕:架构设计与实现原理》第7章《公共功能模块》