简介
鲲鹏安全计算密码模块是基于华为自研可信执行环境操作系统(Trusted Execution Environment OS, TEE OS)提供的一个密码模块套件,该模块分为CA/TA两部分,TA部分内置于TEE OS中,CA部分包括API接口库和密钥管理工具,旨在为安全业务提供便捷、安全的密码算法能力。
应用场景
本密码模块符合GM/T 0018-2012、2023标准,为公钥密码基础设施应用中的通用密码服务层提供基础密码服务,包括密钥生成,单一的密码运算,文件管理等服务。典型应用场景如密码机应用场景:本密码设备可作为密码机(卡)、CPU内生密码模块的替代品,提供标准密码接口的同时,具备高可靠、低成本等优点。
软件架构
TEE OS是基于TrustZone架构的可信安全隔离执行环境,密码模块管理单元随TEE OS启动而加载运行。密码运算运行在安全侧,REE侧提供标准SDF接口支持和调用。
图1 鲲鹏安全计算密码模块架构图
libsdf.so:部署在REE侧,提供标准的SDF接口。将密码应用的密码运算请求转发到TEE OS密码模块管理单元中运行。
原理描述
鲲鹏安全计算密码模块运行在华为自研的安全TEE OS基础之上,REE侧提供符合GM/T 0018-2012和2023标准规范的接口库文件libsdf.so,用户应用调用libsdf.so接口后,请求被转发到TEE侧,由密码模块管理单元进行处理,算法服务单元基于TEE OS底层实现具体的密码运算,安全存储服务单元提供数据加密保存。
图2 SDF架构原理
基本概念
对系统的影响
客户侧程序通过集成libsdf.so来调用SDF接口,libsdf.so通过驱动调用TEE侧的鲲鹏安全计算密码模块,对REE侧系统无影响。