基于Blackfin Lockbox的IP保护技术
随着集成电路芯片技术的飞速发展、电子产品设计业也越来越开放,很多硬件解决方案已经成为公开的资料,产品设计者的核心技术往往集中在嵌入式软件内。然而,在行业竞争日益激烈的今天,很多公司发现自己的产品投放市场后不久就被盗版,对公司造成巨大的损失,因此如何保护自己的产品已经成为嵌入式产品领域一个迫切需要解决的问题。
本文主要介绍了目前一些嵌入式系统中IP保护的方法,从安全性的角度进行了分析,并为产品开发者介绍基于ADI公司Blackfin处理器Lockbox的IP保护安全技术。
一、目前IP保护的方法
嵌入式系统的IP保护方法有很多,这些方法通常是从系统级别,硬件设计级别,芯片级别来防止反向工程或者是盗取IP。
1. 系统级别的IP保护
系统级别IP保护的一个典型案例是在产品设计上嵌入硬件安全芯片,应用软件和该芯片通过密钥认证的方式来控制程序的流程,从而实现软件保护,防止软件被抄袭、篡改。并且利用安全芯片片内的自带的EEPROM,实现用户关键数据的安全存放。
这种通过增加额外芯片的方法具有较高的安全性和实用性,但是增加了一块芯片,产品的成本增加了,并且系统不能关闭JTAG, Hacker可以通过JTAG进行有效地跟踪,通过花费一定的时间和精力,可以了解并篡改系统的运行流程,因此在安全性上也存在一定的缺陷。
2. 硬件设计级别的IP保护
硬件设计级别的IP保护主要是采取一些措施,比如设计硬件平台的布线,选取芯片的封装格式,来防止外部通过仪器测量存储设备的数据线或者处理器的管脚来获取信息。
首先当关键信息在外部的存储器设备和处理器之间以明文的形式通过数据线进行传输,这些数据线可以被仪器探测并中途截取,而通过采取一些布线技巧则可以避免,比如,采用多层制板,把电源层和接地层作为外层来屏蔽掉中间的铜层,并把关键的信号线,比如flash的数据线,JTAG的信号线放在中间层,以避免关键的信息被仪器探测并读取。
其次选取小管脚间距的BGA封装的芯片,把关键的信号管脚设计在最里侧,这样的芯片能进一步防止企图通过探测处理器和FLASH,DRAM这样的存储芯片之间的信号线来获取数据信息。并且通过在处理器以及存储芯片之间硬件布线时,尽可能的放得互相接近的位置,可以进一步增加探测攻击关键信号的难度。
通过设计硬件平台的布线,选取芯片的封装形式这些措施能够有效地防止探测攻击,但是BGA芯片封装的选取,多层制板以及布线技巧都会增加硬件平台的成本。
3. 芯片级别的IP保护
大多数的处理器都包含有片内的存储器,比如SRAM, ROM或者是FLASH,这些存储器很难从芯片外面被读取,因此可以在这些片内的存储器存放一些关键代码和数据,这些片内数据和代码,通过一定的技术,可以限制被外部主机设备,仿真器或者其他测试设备通过JTAG测试端口来读取。
更进一步的,可以通过片内熔丝,断掉芯片JTAG管脚的外接来彻底的关掉JTAG功能,但是这样将无法进行系统出错分析以及调试。
同样,通过片内熔丝的方法,可以让芯片从片内的FLASH或者ROM启动。这些可以把一些带解密功能的Bootload放在片内FLASH中,而在片外SDRAM中放置以密文形式存放的代码。
我们从安全性,可行性,以及成本三个方面对上述的三种级别的IP保护技术进行了比较,如表1-1所示。我们可以看到芯片级别的IP技术保护具有较高的安全性、可行性,以及较低的成本,是一种好的IP保护方式,我们接着要介绍的Analog Device公司的Blackfin处理器提供的Lockbox就是基于芯片级别的安全技术。
表1-1
二、Lockbox安全技术介绍
ADI公司Blackfin处理器采用的Lockbox安全技术是从芯片级别出发,基于标准算法的数字签名认证概念,为执行代码与需要保护的数据提供安全处理环境,从而实现嵌入式系统的知识产权、电子商务和社会联网系统中设备和用户身份的验证、数字版权管理(DRM)等保护。
首先,Lockbox安全技术提供单次可编程(OTP)片上存储器, OTP存储器分为公有区域和私有区域,其公有区域是公共、非安全、用户可以无条件访问的区域,适合于存储用于对系统进行鉴定的公共密钥,这样开发人员可以用可控制与可配置的方式鉴别系统。OTP存储器的私有区域是安全、用户可编程区域,并只有系统在进入安全模式下才能被访问的,使开发人员可以保存私人密钥等私有设备资源,并保证这些资源的机密性和完整性。
同时,每一片Blackfin芯片都有一个唯一的CHIP ID,存放在OTP公有区域的特定某个页面,系统开发人员可以充分利用这个芯片编号,实现软件和硬件平台的绑定。
其次,Lockbox?安全技术提供片上的指令ROM存储器,并把密码学的一些标准算法放在指令ROM存储器里面。在指令ROM存储器中,提供了经过优化处理的椭圆曲线数字签名(ECDSA)认证算法, 该认证算法主要是由以下2个密码学算法组成,
* 椭圆曲线加密法(ECC)的非对称密码算法 * SHA-1安全单向Hash算法
这些算法都是公开的,并且经过实践验证过的,具有非常高的安全性。ECDSA数字签名认证主要用来验证代码和数据来源的可靠性,以及代码和数据的完整性。整个数字签名的认证流程已经固化在Blackfin片内的ROM中,系统开发人员只需要出发一个相应的中断触发即可。Lockbox技术确保只有成功通过ECDSA数字签名的应用程序才可以运行在安全模式下,这样运行在安全模式下面的代码其来源一定是可靠的,并且没有被篡改过。
同时,Lockbox的片上ROM里面也提供一些标准的密码学算法,AES,RC4算法,这些算法都是经过与处理器相关的性能优化,具有较高的处理性能,并以API的形式提供给系统开发人员使用。
最后,Lockbox安全技术通过采用软硬件结合提供一种安全处理模式(Blackfin安全模式)。正常开机流程下,系统运行在公开模式下,在这种模式下面,系统不能访问OTP私有区域,不能控制JTAG的关闭,只有成功通过ECDSA数字签名认证的代码和数据才能进入安全模式下,在安全模式下,系统才可以动态控制JTAG的关闭或打开,访问OTP私有的存储区域,动态配置片上SRAM的外部DMA访问控制等各种操作。
这样在Blackfin处理器进入安全模式后,处理器只能在安全处理环境内执行授权的可靠代码,配置JTAG打开或者关闭,并与片内安全存储器比如片上SRAM,OTP私有存储区域配合使用,进一步实现系统机密性。比如通过进入安全模式,读取存在OTP私有区域的密钥,来进行放在片外的部分关键代码的解密,并放在片内运行,而密码加密/解密过程只能被身份认证成功的用户看到并使用。当用户不需要运行在安全模式下,可以动态的退出安全模式,进入公开模式。
三、基于Lockbox的IP保护认证技术
Lockbox提供了一系列的芯片级别的安全技术,基于这些安全技术,开发人员可以设计灵活的产品IP保护方案。我们将介绍基于Lockbox上的ECDSA数字签名认证流程的IP保护技术。
Lockbox上的ECDSA数字签名产生以及认证流程具体分为片外数字签名准备阶段和片上数字签名认证阶段。在片外数字签名准备阶段,首先通过椭圆曲线加密法(ECC)产生一对非对称密钥,公有密钥和私有密钥,公有密钥写入基于Blackfin处理器终端的OTP公有区域某个特定的位置,私有密钥则由产品开发公司安全保管。对需要认证的应用程序,通过SHA-1计算产生一个数字摘要,然后用私有密钥对数字摘要进行加密,产生一个数字签名信息。最后把数字签名信息以及对应的应用程序通过DMA或者其他的方式放入片内存储区域,触发一个相应的中断,由对应的已经写入片内ROM的中断处理程序(ECDSA数字签名认证算法)将会自动地进行数字签名认证。
在片上的数字签名认证阶段,中断处理程序通过读出OTP存储器中的公有密钥对数字签名信息进行解密,得到一个解密后的数字摘要,同时,对片上的应用程序进行SHA-1的数字摘要计算,并与解密后的数字摘要进行比较,如果相等,则数字签名认证成功,表明,片上的应用程序来源得到验证,并且确认片上的应用程序的内容不会以任何方式被改变,从而对应用程序的完整性进行检验。
经过ECDSA数字签名成功认证的应用程序将会获得系统运行权,并运行在Blackfin提供的安全模式下,控制整个系统的安全访问,比如可以关闭JTAG和片上SRAM的外部DMA访问,读取预先存放在OTP私有区域的AES 密钥,调用AES解密算法解密放在片外的预先经过加密的部分代码和数据,并把解密后的明文放在片内运行,以实现代码的机密性,从而实现产品的IP保护,当机密性的代码运行完毕以后,可以通过调用系统提供的清除函数,清除当前的关键信息,退回到公开模式下面运行。系统也可以根据需要,多次灵活地进入和退出安全模式。
由此可见,基于Blackfin Lockbox的安全技术可以从以下三个方面来提供安全特性。
* 真实性/来源验证
Lockbox安全技术支持对一段应用程序的数字签名进行验证,来确认应用程序和数据来源的真实性。
* 完整性
开发人员可使用数字签名认证技术来确保存储介质的消息或内容不会以任何方式被改变。利用Lockbox数字签名鉴定的真实性可以对完整性进行检验。
* 机密性
在安全模式下面,加密/解密服务能防止未经批准的用户看到并使用特定数据。
产品设计者可以根据自己的系统安全性的需要,灵活的运用这些芯片级别的安全技术,设计出具有良好安全鲁棒性的产品,实现嵌入式产品的IP保护。
结论
嵌入式系统可以通过采用各种安全技术,从不同的级别来增加系统的安全性,实现IP保护。基于处理器级别的安全技术能够从系统设计一开始就引入安全性的考虑,使系统具有更强的鲁棒性。Blackfin处理器提供的Lockbox安全技术的能够从系统的来源性,完整性,机密性提供全方位的安全保护,不仅可以应用于嵌入式系统的IP保护中,而且也可以应用在数据的安全传输,电子商务的身份认证、数字版权管理(DRM)内容保护等各种应用场景中。
|