基于加密IC的固件保护与防抄板方案
基于加密IC的固件保护与防抄板方案。
无论是开源硬件还是闭源硬件都会有关键知识产权的保护需求,所谓的开源也是部分开源,所以对于大部分电子设备方案来说,算法安全,固件保护,防抄板等方案都是非常重要的。软件的加密算法防护的安全性往往不可靠,因为密钥在通用存储中,所以必须基于专用的加密芯片(即加密IC)来进行固件保护方案和防抄板设计。
用于固件保护或者物联网认证的加密芯片一般会有两个功能:
1. 保护设备固件不被破解和抄袭,确保设备方案整体不被抄。
2.如设备需接入网络,则接入物联网可执行身份认证核心功能,确保设备身份安全,杜绝产生影子设备。
加密芯片固件保护方案比较
目前来说行固件保护的安全方法是握手应答方案。有两种握手应答方法:一种基于对称加密的安全认证保护,另一种基于非对称加密认证保护。
对称加密固件保护流程如下:HOST向DEVICE发送一个随机数挑战。设备计算一个数字签名,该签名是密钥和质询的函数,并发送回主机。主机执行相同的运算并对结果进行比较。如果两项计算结果一致,则设备通过安全认证。为了确保结果不被克隆,必须使用安全属性高的函数和真随机数;例如必须保证不可能通过计算结果获得密钥。SHA-256等安全杂凑函数满足这些要求。对于握手应答方法,设备在不泄露密钥的情况下证明自己知道密钥。即使攻击者拦截通信,也无法接触到密钥。
1. 基于对称算法加密的加密认证依赖于主机(HOST)和从设备之间的密钥。如下图所示:
图1: 对称密钥体系安全
非对称密钥加密认证依赖于公钥和私钥。
基于非对称加密的安全认证依赖于两个密钥:私钥和公钥。只有被认证的设备知道私钥,而公钥可透露给希望对设备进行安全认证的任何一方。与上文中讨论的方法一样,主机向设备发送质询。设备根据质询和私钥计算数字签名,并将其发送给主机(如下图)。但此时,主机使用公钥对数字签名进行验证。用于计算数字签名的函数拥有特定数学属性至关重要。非对称方法中最常用的函数是RSA和ECDSA。同样,设备也在不泄露密钥情况下提交了自己知道密钥的证明,即私钥。
图2,非对称算法体系认证架构
为什么要用专用加密芯片
握手应答加密认证始终要求被认证的对象持有密钥。对称加密方法中,该密钥为主机和设备之间的共享密钥;对于非对称加密方法,该密钥为私钥。无论哪种情况,一旦密钥泄露,质询-应答式安全认证就会失去保障。加密IC的一项基本特性是为密钥和密码提供强保护,所以专用的加密IC有助于防范这种情况。
在加密芯片能够安全的支持基于对称和非对称的固件保护方案。
认证芯片:芯片是可配置但固定功能的器件,为实施质询-应答安全认证提供最经济的途径,并且具有基本的加密操作。
安全加密芯片:在支持握手应答安全认证的基础上,提供全面的密码学功能,包括加密关键数据存储,身份认证等。
加密芯片中,基于SHA-256的产品支持基于共享密钥的安全认证,具备专用的对称加密算法引擎和密钥存储器,典型产品如MODSEMI的MOD208,这种方式的特点是快速高效,适用于一些模组类固件等对效率和资源要求比较高的应用场景。
基于ECDSA或者RSA的安全芯片使用私钥/公钥对(如下图)。除了具备专用的加密算法引擎外,这些产品拥有板载存储器。该存储器是可配置的,可用于储存经过安全认证的用户数据,比如安全配置,安全密钥,认证证书等等。可以实现具备pki认证体系的一系列功能。典型产品如MODSEMI的MOD8ID。
以MOD8ID加密芯片为例,它会提供密钥安全存储,TLS,Secureboot,证书存储等各类安全接口功能。相关的安全机制与密钥保护确保了整个系统具备一个安全的信任根。基本能把从脱机到联网的设备的安全属性提高到最高等级。适用于资源较为丰富,可联网等应用场景。
固件保护是一个前期产品方案设计时就需要重点考虑的问题,一些产品的核心算法如果要推出市场,是一定要关注自己的算法或者方案固件的安全防护的。