华为海思芯片的密钥生成与管理机制主要包括以下方面:
密钥生成:
- 基于非对称加密体系的密钥对生成:会生成一对非对称密钥,即私钥和公钥。私钥用于对数据进行签名、加密等操作,确保数据的保密性、完整性和不可否认性;公钥则用于验证签名、对数据进行解密等操作,以确认数据来源的可靠性和数据的完整性。这对密钥是数字签名、加密通信等安全机制的基础。
- 随机数生成器的使用:为了保证密钥的安全性和随机性,在密钥生成过程中会使用高质量的随机数生成器。随机数的质量对于密钥的安全性至关重要,不可预测的随机数可以增加密钥被破解的难度。例如,使用符合安全标准的随机数生成算法来生成密钥的初始值或参数,确保密钥的随机性和唯一性。
密钥存储:
- 特殊存储器存储:部分重要的密钥信息会存储在芯片内部的特殊存储器中,例如一次性可编程(OTP)存储器35。OTP 存储器具有数据写入后不可逆的特性,保证了存储在其中的密钥等信息的安全性和不可篡改性。海思芯片中的 OTP 分为供 CPU 使用的部分和供用户使用的部分3。供 CPU 使用的 OTP 区域用于存储需要保密的密钥等信息,只有 CPU 能够读取,防止密钥被其他外部设备或程序获取;供用户使用的 OTP 区域则可用于存储一些不希望被随意修改的信息,如软件版本号、硬件版本号等。
密钥分发:
- 安全通道传输:在密钥分发过程中,会通过安全的通信通道进行传输,防止密钥在传输过程中被窃取或篡改。例如,使用加密的网络连接、安全的传输协议等,确保密钥能够安全地从密钥生成端传输到密钥使用端。
- 身份认证与授权:在进行密钥分发时,会对接收方的身份进行认证和授权,确保只有合法的接收方能够获取到密钥。通过使用数字证书、身份验证机制等技术,对接收方的身份进行验证,防止密钥被非法获取。
密钥使用:
- 访问控制:对密钥的使用进行严格的访问控制,只有经过授权的程序或用户才能够使用密钥进行加密、解密、签名等操作。通过在芯片内部或系统中设置访问控制机制,对密钥的使用进行权限管理,确保密钥的安全使用。
密钥销毁:
- 应用卸载自动销毁:当应用程序卸载时,与该应用相关的存储在设备安全环境中的密钥会被自动销毁,防止密钥被残留下来造成安全隐患。
- 手动删除:应用中可以调用相关的接口手动删除指定别名的密钥,以满足特定情况下的密钥销毁需求。