中文 英语
18lickc新利
的意见

在防伪IC中使用硬件信任根

超越基于软件的芯片认证方法。

受欢迎程度

防伪安全IC的概念相当简单:在制造过程中,它被安全地编程了一些秘密数据。然后在运行过程中,它可以向验证主机证明它知道该秘密数据。这种“知识证明”通常是低成本安全IC所能期望的。

安全IC和验证主机之间的这个“证明你知道秘密”身份验证过程可以通过多种方式实现,从非常简单到非常安全。例如,安全IC可能只包含非易失性存储,验证主机可以简单地读取机密数据以确认安全IC是可信的。显然,这一点也不安全——希望冒充真实芯片的对手(例如,运送克隆或假冒的消耗品,如手机替换电池)只需要监视验证主机和安全IC之间的数据交换,就可以了解机密数据。

更安全的知识证明协议当然涉及到加密函数,并且有多少加密函数就有多少可能的协议。但是所有安全协议都有一个共同的方面,那就是“挑战响应”的概念。也就是说,验证主机创建一个随机挑战,并将该消息传递给安全IC。安全IC然后使用其秘密数据以某种加密方式对挑战进行操作,然后返回响应。监视验证主机和安全IC之间通信的对手只会看到随机的质询值和加密安全输出,根据定义,这些输出也是随机的(即,与质询和秘密数据输入值不相关)。

尽管用于保护挑战-响应协议的加密原语很强大,但坚定的对手只会被延迟,而不会被击败。一些电子耗材市场(例如打印机墨水和墨盒)每年价值超过500亿美元,这为技术熟练的对手突破安全壁垒提供了很高的激励。对手的武库中有十几种技术,其中大多数都依赖于一个简单的事实:为了证明它知道秘密数据,安全IC必须执行涉及秘密密钥数据的计算。虽然加密功能在数学层面上可以证明是安全的,但当数学在电路中执行时,这种完美性就会受到损害——半导体处理器利用的结构通常不会在数学中反映出来,包括电源传输、数据总线、时钟、设置和保持裕度等。所有这些数学和电路之间的不完美转换都创建了“侧通道”,可以被对手利用来确定挑战-响应计算期间使用的密钥数据。例如,Rambus安全部门的密码学组首创了差分功率分析(DPA)技术,以及最有效的对策,以防止由于该侧通道造成的信息泄漏。

一旦侧通道攻击有效,并且对手已经获得了真实安全IC的秘密数据,仿冒者是否紧随其后?答案通常是肯定的:虽然市场上有很多不同的挑战-响应协议,但它们几乎都依赖于标准的加密算法(例如AES、SHA、椭圆曲线等)。因此,一旦对手获得了秘密数据,对他们来说,编写一个低成本的现成MCU来模仿真实芯片的挑战-响应行为是相对简单的。

这些类型的防伪解决方案可以大致归类为软件信任根系统。也就是说,它们的安全性取决于算法和数据,尽管算法在硬件中执行,而数据存储在基于晶体管的非易失性存储器中,但这些算法和数据可以在软件中有效地执行和表示。软件的本质就是容易被复制。换句话说:如果一个安全IC可以被通用MCU模仿,只需将嵌入式软件和数据从一个复制到另一个,它就是一个软件信任根。

更难以复制的解决方案被称为硬件信任根。在这种方法中,部分密码处理在电路中执行,而在低成本MCU上运行的软件中无法有效地执行。例如,假设防伪安全IC包含一个定制的处理器,每几毫秒就可以完成相当于10亿次128位转换。进一步假设该处理引擎将其算法应用于每个输入挑战。在这种情况下,即使对手知道了芯片的秘密数据,他们也不能编写一个低成本的现成MCU来模拟模拟协议所需的转换电路。好吧,他们可以,但是低成本的MCU需要几个小时来完成一个挑战-响应计算。通过这种方式,硬件信任根可以在知识证明安全之外添加一个“工作量证明”层。

最重要的是,攻击者不能再简单地通过复制软件和数据来复制硬件信任根安全IC——他们必须花费精力复制定制的硬件本身。当然,半导体硬件的复制比半导体内部的软件和数据更加昂贵和耗时。这就是反mcu或反仿真转换电路如何将典型的软件信任根解决方案提升为更健壮的硬件信任根防伪解决方案,以及此类解决方案如何阻止和延迟对手将假冒产品引入市场。



1评论

弥尔顿苔藓 说:

给我钱$$$$$$

留下回复


(注:此名称将公开显示)

Baidu