可信计算标准导论
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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公钥加密算法用于加密对称密钥和随机数等敏感信息,公钥加密的明文信息的字节长度是可变的。密钥交换协议是在两个用户AB之间建立一个共享秘密密钥的协商过程,通过这种方式能够确定一个共享秘密密钥的值。

2)SM3密码杂凑算法将任意长度的消息数据经过填充、迭代压缩和选择,生成长度为256位的杂凑值。

3)对称密码算法SM4为分组算法,加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是与密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

4)HMAC消息验证码算法:利用密码杂凑算法SM3,对于给定的消息和验证双方共享的秘密信息产生长度为t个字节的消息验证码,消息验证码产生过程须遵照国家密码算法标准。

5)随机数发生器不规定随机数生成的具体算法,随机数生成算法由可信密码模块制造商设计实现。所生成的随机数必须符合国家商用密码随机数检测标准。

3.3.2 密码算法与平台功能关系

平台功能与密码算法的支撑关系如图3-7所示。

图3-7 平台功能与密码算法支撑关系

1. 平台完整性

利用密码机制,通过对系统平台组件的完整性度量,确保系统平台完整性,并向外部实体可信地报告平台完整性。

2. 平台身份可信

利用密码机制,标识系统平台身份,实现系统平台身份管理功能,并向外部实体提供系统平台身份证明。

3. 平台数据安全保护

利用密码机制,保护系统平台敏感数据。其中,数据安全保护包括平台自身敏感数据的保护和用户敏感数据的保护。

另外,也可为用户数据保护提供服务接口。