华为海思芯片保障数据存储安全性主要通过以下几种方式:
硬件层面:
- 安全启动机制:芯片具有安全启动功能,在芯片上电后,首先会执行芯片内部固化的代码,这些固化代码会读取特定的标志位等信息来判断是否进入安全启动流程。在安全启动过程中,会对关键的启动程序如 DDR 初始化程序和 U-Boot 程序等进行验签,验证其完整性和真实性,确保这些程序没有被篡改,从而为后续的数据存储和处理建立一个安全的基础环境。例如,海思的部分芯片会将相关的验签密钥等信息保存在芯片内部的 OTP(One Time Programmable)存储器中,OTP 存储器具有不可逆性,只能将数据从 1 写为 0,里面的数据不易被篡改和读取,保证了安全启动的关键信息的安全性。
- 物理防护措施:芯片在物理设计上采取了一些防护措施来防止物理攻击。例如,通过封装技术和特殊的电路设计,增加芯片被物理拆解和探测的难度,防止攻击者通过物理手段获取芯片内部存储的数据或密钥等敏感信息。
加密技术:
- 数据加密算法:采用先进的加密算法对数据进行加密处理,无论是在数据存储到外部存储器之前,还是在芯片内部的数据传输和处理过程中,都能确保数据的保密性。例如,使用 AES(Advanced Encryption Standard)、SM3、SM4 等加密算法,对数据进行加密和解密操作,只有拥有正确密钥的设备或程序才能访问和解密数据,防止数据被未经授权的访问和窃取。
- 密钥管理系统:拥有完善的密钥管理机制,包括密钥的生成、存储、分发和销毁等环节。密钥生成过程采用安全的随机数生成算法,确保密钥的随机性和安全性;密钥存储在芯片内部的安全区域或外部的安全存储设备中,并且进行严格的访问控制和加密保护,防止密钥被泄露;在密钥分发过程中,采用安全的通信通道和认证机制,确保密钥能够安全地传输到合法的设备或程序中;当密钥不再使用时,会进行安全的销毁操作,防止密钥被恢复和滥用。
访问控制:
- 身份验证和授权:在芯片与外部设备或系统进行通信和数据交互时,会进行严格的身份验证和授权。只有通过身份验证的设备或程序才能与芯片进行通信,并且根据不同的身份和权限级别,对数据的访问和操作进行限制。例如,通过密码认证、生物识别认证(如指纹识别、面部识别等)、令牌认证等多种认证方式,确保用户或设备的身份真实可靠,防止非法用户或设备访问芯片中的数据。
- 访问控制列表和权限管理:芯片内部设置了访问控制列表和权限管理机制,对不同的应用程序、进程或用户对数据的访问权限进行精细的管理。例如,某些敏感数据只能被特定的应用程序或用户访问,其他未经授权的程序或用户无法访问这些数据,从而保证数据的安全性。