3.3 密码算法采用
密码算法是建立可信计算密码支撑平台功能体系的核心基础,该平台的安全服务(机密性、数据完整性、鉴别和非否认等)都要基于密码算法来构建。
可信计算密码支撑平台所采用的密码算法,其算法组成及参数要求已在GB/T 29829—2013《信息安全技术 可信计算密码支撑平台功能与接口规范》中详细定义。
3.3.1 密码算法
TCM支持的密码算法集:SM2椭圆曲线密码算法(256位素数域)、杂凑算法SM3(256位)、对称密码算法SM4(128位)、HMAC消息认证码算法、随机数发生器。它们都是国家密码算法标准,并且必须依照国家密码管理局管理要求在可信密码模块内安全实现。
1)SM2椭圆曲线密码算法包含系统参数、密钥对生成、数字签名算法(SM2-1)、密钥交换协议(SM2-2)和加密算法(SM2-3)共5个部分。在SM2公钥加密算法中,公钥用于加密,私钥用于解密。可信计算平台中的SM2公钥加密算法用于加密对称密钥和随机数等敏感信息,公钥加密的明文信息的字节长度是可变的。密钥交换协议是在两个用户A和B之间建立一个共享秘密密钥的协商过程,通过这种方式能够确定一个共享秘密密钥的值。
2)SM3密码杂凑算法将任意长度的消息数据经过填充、迭代压缩和选择,生成长度为256位的杂凑值。
3)对称密码算法SM4为分组算法,加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是与密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
4)HMAC消息验证码算法:利用密码杂凑算法SM3,对于给定的消息和验证双方共享的秘密信息产生长度为t个字节的消息验证码,消息验证码产生过程须遵照国家密码算法标准。
5)随机数发生器不规定随机数生成的具体算法,随机数生成算法由可信密码模块制造商设计实现。所生成的随机数必须符合国家商用密码随机数检测标准。
3.3.2 密码算法与平台功能关系
平台功能与密码算法的支撑关系如图3-7所示。
图3-7 平台功能与密码算法支撑关系
1. 平台完整性
利用密码机制,通过对系统平台组件的完整性度量,确保系统平台完整性,并向外部实体可信地报告平台完整性。
2. 平台身份可信
利用密码机制,标识系统平台身份,实现系统平台身份管理功能,并向外部实体提供系统平台身份证明。
3. 平台数据安全保护
利用密码机制,保护系统平台敏感数据。其中,数据安全保护包括平台自身敏感数据的保护和用户敏感数据的保护。
另外,也可为用户数据保护提供服务接口。