>
首页 » 市场趋势 » 基于硬件的安全性设计

基于硬件的安全性设计

作者:Valicore Technologies  总裁兼CEO   Greg Powell  时间:2006-12-07 16:28  来源:本站原创

在今天的数字世界里面,远程访问正越来越普遍,语音、视频和宝贵的数据不断通过有线和无线连接进行传播。消费者下载视频和音乐,员工登陆公司网络,手机提供上网服务,家庭观看收费的电视节目。随着新的在线应用的出现,一系列的安全隐患摆在了人们面前。
本文的目的在于揭示一些在设计安全架构中常常被人们忽略的问题,同时讨论一下如何用硬件增强的安全环境来提供完整的安全解决方案。对于需要被保护的数据来说,不同价值的数据对系统安全性能的要求也不尽相同,因此工程师必须理解各种不同的安全技术。
  
只有软件的解决方案并不足够
仅使用软件来实现安全性解决方案是不够的。这种解决方案通常需要耗费大量的时间和成本来开发,但由于代码、加密算法和密匙缺乏陷蔽性,因此很容易受到攻击。
即使对于嵌入式器件,将对安全性要求较高的进程和其他应用进行隔离也是非常重要的。嵌入式设备中的数据和命令会在物理层进行交换,黑客们经常利用这一点来寻找系统漏洞。当系统的薄弱点被发现后,那些没有被隔离开的安全组件就很容易遭受攻击。然而,制造商也必须考虑产品的成本问题。从以安全为中心的角度来考虑,具有完全独立的内存和存储器的多处理器就能够将安全进程和通用的应用程序代码及处理器完全隔离。一个好的接口设计能够在系统与外界进行通讯的过程中为安全进程提供足够的保护,使其免受攻击。但是,市场中激烈的成本竞争通常导致这些冗余设备不可能在产品中实现。在很多情况下,嵌入式设备内不允许集成这些额外的ASIC和存储器。
越来越多的公司正在寻求基于SoC的安全隔离解决方案,这就需要对不同的安全系统采用针对性的保护措施。通过了解可以集成入硬件中的关键安全特性,那些开发SoC处理器和使用现有处理器解决方案的公司就能够通过这些方法加强系统的安全性。
  
安全技术
本文关注的是SoC解决方案或者说PCB板上的单处理器解决方案。涉及到的安全域(见图1)是ASIC或PCB的一部分,包括硬件和软件部分。系统中集成了ARM处理器,因为它被很多重要的半导体生产厂商所使用。ARM系列处理器能够为无线、消费类和影像应用提供可运行复杂操作系统的开放平台,能够为大容量存储、汽车电子、工业和网络应用提供嵌入式实时系统,并能够实现智能卡和SIMM等安全应用。


图1基于ARM核的安全域

了解处理器以及它如何运用安全技术是决定能实现哪些特性的关键所在。最值得注意的就是安全中断处理,运行安全代码的能力,对安全数据和密匙库的访问,以及对那些和处理器直接相连的安全设备的控制访问。
* 安全中断 - 安全中断处理特性能够防止非安全设备挂起安全进程。黑客们通常会企图通过非安全的中断来访问总线或者系统高速缓存中的安全内容。通过将中断分离,处理器核能够阻止对安全数据的直接访问或是对重要安全进程的破坏。
* 安全高速缓存 - 通过在处理器中采用两个分离的高速缓存区域(安全区域和非安全区域),非安全代码就无法访问正在运行安全代码的存储器区域。这消除了非安全代码访问安全数据的可能性,否则,如果安全数据因为没有删除而留在数据高速缓存中时,安全性就会受到影响。
* 控制总线 - 绝大多数的设计在本地总线上会有其他的FPGA或者安全设备用于实现安全特性,如用于存储密码算法或密匙的存储器。 正如高速缓存一样,共享总线也会使得非安全的代码和设备访问安全设备。因此,越来越多的处理器开始为安全数据和非安全数据分别建立独立的总线,或开发一种当处理器处于安全工作模式时能够锁定总线的功能。
安全代码
由于很多黑客都是从固件着手来搜寻是否有可利用的漏洞,因此必须对程序代码进行加密,来保护程序代码的安全性。加密能够隐藏代码,防止其被逆向工程破解。更重要的是需要一种能够对代码进行标记的功能,这样就使得在执行代码前必须进行验证。目的就是保证没有人能够更改代码,并保证它是最初的代码。这一特性赋予了安全域在启动前验证系统的能力。同时,在系统启动前也能够进行安全标准FIPS 140-2所需的自检测功能,包括可编程硬件设备的验证和初始化。
密码引擎
密码引擎可以用软件、硬件或两者的结合来实现。但是,当算法用软件实现的时候,密匙也相应地包含在软件中。如果黑客能够对算法进行逆向工程,那么他能访问密匙的几率也就非常高。
保护密匙也许是系统设计中最重要的方面之一。为了相信某个设备,必须相信密匙没有被破坏。硬件加密是最好的解决方案,因为它能够提供更佳的性能,而且更难于被攻破。更为重要的是,硬件加密能够提供保护关键信息的功能。通过将加密的密匙保存在只能由硬件访问到的地方,那么,在通用处理器上运行的软件就无法访问密匙了。为了得到关键的资料,黑客就必须在处理器核运行时对其进行逆向工程。这就是为什么从安全的角度考虑,密码系统必须要用硬件实现的主要原因。
另一个很有用的设计考虑就是只提供所需的加密或解密算法。例如,如果系统只需要在运行前进行解密,就不要将加密算法也包括进去。这样可以防止黑客修改代码,利用引擎来加密数据或代码,企图混入系统。
同时,应该坚持使用那些有经验的解码者开发的算法和那些使用多年已经过验证的算法,未经验证的算法会导致安全漏洞的产生。
安全数据的高速缓存
加密算法和密匙不是唯一需要保护的信息,系统控制信息,用户ID、错误日志和个人信息都必须被加密。对优先权的修改会使得用户能够访问到敏感信息;访问事件日志同样能够让黑客发现系统漏洞。在很多行业,如银行和医护中,法律明确规定了必须对这些敏感信息进行加密。
可信任的总线
安全设备的输入和输出,如指纹扫描仪、密码输入器、报警信号和警示灯等,通常都是必须的。一个值得信赖的输入输出路径能够在传输数据时建立信任。输入输出设备与用于通信的总线之间越能实现有效隔离,系统就越能有效地与黑客和病毒等隔离,防止它们利用隐藏警告或通过获取用户输入来得到对总线的控制权。
  
选择正确的技术
必须明确的一点是,应该根据应用类型及其安全隐患来正确选择安全技术。图2中列出了几类安全技术及其应用。尽管不是一个完全的列表,但这些技术都成功地制止了外界攻击,并防止了对敏感数据的未经授权的访问。不同的系统需要不同的技术,因此应该选择和集成那些有利于系统和安全环境的技术。


图2 安全技术及应用

目前,已经有很多种安全技术被用于定制ASIC及PCB板的设计中。在ARM TrustZone中有一些关键的可授权技术特别适合于对安全性能要求较高的消费类产品,如运行Symbian、Linux 和Windows CE等操作系统的手机和PDA。和其他现有的安全技术一样,TrustZone专注于那些能够可靠实现关键的安全应用、服务(如安全代码的运行),以及关键数据保护(如密匙保存)的技术。本文前面强调了5种技术,其中的一些可以在TrustZone架构中找到,它们都是实现安全架构的重要组成部分(见图3)。


图3 TrustZone中的安全技术

安全中断控制器(SIC) - SIC可将安全中断和非安全中断分离,同时也阻止了信息源向非安全中断控制器的传播。只有安全中断允许系统转变成安全模式,进而将控制权交给事先定义好的安全中断处理器。 这是保证非安全代码不会获得处理器的控制权,并无权访问安全外设或存储器的关键所在。当处理器核处于非安全状态时,安全中断可以起到像不可屏蔽中断同样的作用。
一次性可编程技术(OTP)- OTP片上存储器可以用于存储独特的ID信息,并保护密匙,如不会被改变的公共密匙。这些信息一旦被写入DTP存储器,就不能被修改和替代。
安全高速缓存 - 当只有一个处理器负责安全代码和非安全代码的处理时,高速缓存能够有效隔离安全执行环境和非安全执行环境。ARM处理器和TrustZone能够处理已标记的安全代码,并将它与非安全的代码隔离。由内存管理单元控制,内部高速缓存在非安全模式和安全模式之间切换,同时保证非安全代码不能访问在离开安全运行环境时留在高速缓存内的安全数据。在安全状态下,处理器中内存管理单元页表的附加安全位决定了系统的访问安全。这个比特位对于保证安全和非安全状态下高速缓存的一致性起到了决定性作用。
存储器和设备保护控制器(MDPC) - 当存储器、指纹扫描仪、或外部加密引擎等外设和ARM处理器通过可信任的总线连接时,MDPC能够提供被保护的控制接口。它不仅提高了系统灵活性和可配置能力,而且能够选择可以被安全域和安全代码访问的设备。MDPC的寄存器必须映射到存储器的安全域,而且通常只能在启动或出厂时利用OTP内的配置数据集来进行永久配置。
调试安全 - 很多安全设备共有的一个问题是在设备开发完成之后没有JTAG接口。 当安全环境开始工作时,可以通过硬件PIN来分段禁止ARM的调试寄存器。系统能够在调试非安全代码的同时锁定内部存储器和安全代码。
  
结语
ARM处理器和TrustZone套件并不是唯一可供选择的解决方案。但对于要设计和实现完整的嵌入式安全系统的工程师来说,它们是很好的选择。它们能够根据具体应用的安全等级提供所需的特性和技术,帮助工程师设计出具有真正安全性的产品,有效防止外界对系统的攻击。(周润峰译自ARM《IQ》)

相关推荐

国内硬件创新八大瓶颈:为何总是困难重重

硬件  代工  2013-09-17

硬件复兴把脉 硬件创新最有机会十大方向

硬件  智能手表  2013-07-23

硬件复兴?硬件是搭了软件革命的顺风车

硬件  软件  2013-07-10

鲍尔默:硬件与服务代表微软未来 将借鉴苹果

微软  硬件  2012-10-11

硬件,软件与用户体验

微软  多核处理  软件  硬件  2010-12-21

台医疗电子投资硬件为主 软件外购居多

2009-03-19
在线研讨会
焦点