华为海思芯片的防抄板技术主要有以下三种方案:
初级方案
- 原理:华为海思芯片在内部 OTP 区域预留空间供客户存储自定义私有数据,如通过 HI_UNF_OTP_SetCustomerKey () 或 HI_UNF_OTP_SetStbPrivData () 接口存储数据。客户可在 OTP 区域写入私有数据 data1,并在 app 代码中内嵌另一固定数据 data2,且 data1 和 data2 满足特定函数转换关系,如 data2=f (data1)。系统运行时,读取 OTP 中 data1,判断其与代码中 data2 是否存在给定函数转换关系,若 flash 中 data2 被非法篡改,则 data1 和 data2 匹配失败,达到防抄板目的。
- 应用步骤:第一步调用海思 UNF 接口在 OTP 中存储唯一数据 data1;第二步客户在 app 代码中写入与 data1 存在给定函数关系的数据 data2;第三步 App 运行时从 OTP 中读取数据 data1 并使用给定函数关系和代码中数据 data2 对比,若匹配则正常启动,否则认为 flash 中数据可能被非法篡改,应用程序应立即重启 。
中级方案
- 加密算法:采用更高级的加密算法对存储在芯片中的客户私有信息进行加密处理。即使数据被非法获取,攻击者也难以解读其中内容,有效保护信息机密性。
- 认证机制:在数据访问和传输过程中引入严格认证机制,只有通过合法认证的设备或用户,才能够对加密后的私有信息进行解密和访问,增强信息安全性,防止未经授权的访问和篡改。
高级方案
- 安全启动:基于海思公用高安系列芯片,在启动过程中对芯片各个组件以及存储的信息进行完整性校验。只有所有校验都通过时,芯片才会正常启动并加载系统,确保启动过程中客户私有信息的安全性,防止启动过程中的恶意篡改和攻击。
- 运行时监控:在系统运行时持续对内存中的客户私有信息以及相关运行状态进行监控,一旦发现异常访问或篡改行为,及时触发相应保护机制,如暂停相关操作、发出警报等,保障客户私有信息在运行过程中的安全性和完整性 。