论文部分内容阅读
近年来,区块链技术受到学术界和工业界的广泛关注和研究,其中以联盟链为代表的许可链在业界得到了广泛应用。在联盟链中,身份管理组件用于实现用户的身份认证和许可准入机制,密码组件用于实现支撑平台运行的基础密码算法,二者均为联盟链平台中安全组件的重要组成部分。目前的开源联盟链平台多使用基于国际通用密码算法和软件实现的身份管理与密码组件,这在基础算法和实现方案上存在着一定的安全风险,也不符合区块链应用中关键安全组件的自主可控原则,不利于联盟链技术在我国的发展与推广。本论文基于开源联盟链平台Hyperledger Fabric,对基于硬件安全模块(HSM)的身份管理和密码组件进行了研究与实现,构建了基于硬件安全模块和国密算法的高安全可用区块链平台。本文的主要工作如下:第一,设计了基于证书的身份管理策略,在支持原有国际通用证书的基础上,扩展了算法选项和证书格式,加入对国密算法的支持,为节点生成符合X.509标准格式的国密证书;改进了客户端和CA的证书生成和验证算法,支持国密证书的生成、提取、解析和验证;第二,设计了基于硬件安全模块的密码组件的改进方案,完善了密码服务模块的结构。首先,对联盟链平台密码服务模块的算法进行拓展,使其支持国密算法服务;其次,完成了硬件安全模块的调用接口、通信层和报文层的设计,通过与密码服务模块的集成使其支持基于硬件安全模块的国密算法服务。其中,在报文层对硬件安全模块和不同算法之间的适配是一大难点;第三,基于上述设计方案,在Hyperledger Fabric中实现了基于HSM的身份管理和密码组件并进行了测试、评估。系统测试表明,改进方案提高了区块链平台的密钥存储和密码运算的安全性,实现了基于国密算法和数字证书的身份认证功能,有利于联盟链技术在我国的发展与推广。