安全引擎

[English]

概述

BK7236采用了 TE200(TrustEngine-200)作为硬件加速引擎,提供下述安全特性:

  • 高度安全保障。TE200 支持密钥阶梯、生命周期管理和真随机数发生器(TRNG),以提升系统的安全性。

  • 高性能和低功耗的加密/解密操作。这是通过 TE200 内部的加密引擎实现的。

  • 减少安全方面的软件复杂性。TE200 实现了一些安全功能,如生命周期管理,对 OTP1 的访问控制, 可以减少敏感信息泄漏给非安全主机的风险。

TE200 在系统中位置

TE200 在系统中位置如下图所示,

8

在 BK7236 中,TE200 配置成安全主机与普通主机,其中:

  • 安全主机 - 主要用于 BL1,BL2 中的安全启动,TFM-S 中安全据加/解密,签名/验签等。

  • 普通主机 - 主要用于非安全世界,如 Wi-Fi,TCPIP 通信等应用中的加/解密,签名/验签等。

对于 OTP1 中与安全启动相关的配置信息也是经由 TE200 访问。对于 OTP1 的访问,TE200 实现 了基于生命周期权限管理。

TE200 功能

TE200 支持下述特性:

  • 对称加密算法:AES-ECB/CBC/CTR/CBC-MAC/CMAC/CCM/GCM(密钥长度为128位、192位和256位)。

  • 对称加密算法:SM4-ECB/CBC/CTR/CBC-MAC/CMAC/CCM/GCM。

  • 散列算法:SHA1/224/256。

  • 散列算法:SM3。

  • 非对称加密算法:RSA 1024/2048/3072/4096 和 ECCP 192/224/256/384/512/521。

  • 非对称加密算法:SM2。

  • 密钥阶梯用于密钥管理。

  • 生命周期管理。

  • 真随机数发生器。

  • 一次性编程(OTP)。

它符合以下标准:

  • FIPS PUB 180-4:安全散列标准(SHS)

  • FIPS PUB 197:高级加密标准(AES)

  • NIST SP 800-38A:块密码工作模式的推荐方法和技术

  • NIST SP 800-38B:块密码工作模式协议——用于认证的CMAC模式

  • NIST SP 800-38C:块密码工作模式协议——用于认证和保密的CCM模式

  • NIST SP 800-38D:块密码工作模式协议——Galois/Counter Mode(GCM)和GMAC

  • NIST SP 800-90B:用于随机比特生成的熵源协议

  • GB/T 32918-2016:SM2椭圆曲线公钥密码算法

  • GB/T 32905-2016:SM3密码散列算法

  • GB/T 32907-2016:SM4块密码算法

其中:SM2公钥密码、SM3密码散列算法和SM4块密码算法是中国国家标准。