摘要
本应用笔记阐述了如何使用Maxim的DS5250高速安全微处理器作为安全协处理器来保护口令、PIN码、加密密钥以及其它重要数据。DS5250采用3DES总线加密算法、精巧的入侵传感器和电池备份SRAM构建了一个保护宝贵知识产权的加密边界。一个可由用户配置的外部入侵传感器允许系统设计者将DS5250的安全范围延伸至包括应用外壳,若需要可以保护所有系统组件。
介绍
许多嵌入式系统都是由通用计算机构建的。这些计算机基于标准架构,具有经过验证的设计和代码继承性。虽然这些特性可能对设计者很有吸引力,但是这样的系统构建时并没有考虑到数据安全性。这使其并不适合很大一部分嵌入式系统市场份额,即处理敏感或保密信息的应用。一些嵌入式系统如金融终端、身份授权以及任何存储口令和加密密钥的系统都需要有力措施来保护它们的数据。另外,像自动取款机(ATM)这种物理上暴露的应用都是有风险的。显然存在这样一种需求,即把数据安全和通用计算机的便利性结合起来。
为通用计算机加入安全机制的最常见办法是使用昂贵的物理外壳保护系统。然而对于大多数应用来说构建难以攻破的物理屏障是不切实际的,必须假定给定时间内任何级别的物理安全机制都会被击溃。数据安全领域的专家们断言:对私有数据的唯一有效保护措施是用加密屏障将其包围。此外,系统必须能够探测出物理入侵和密码入侵,并且作为一种入侵响应能够迅速地擦除其存储器内容。能对入侵作出反应的加密边界为密钥、程序和数据提供了一个安全保护层。
本应用笔记阐述了如何通过加入一个安全协处理器,如Maxim的DS5250高速安全微处理器,来保护通用的体系结构。安全协处理器的使用将系统的处理功能分为安全功能和非安全功能。安全功能包括那些使用和保护加密密钥、口令、个人身份识别码(PIN)和其它知识产权的功能。不需要安全机制的系统功能由非安全处理器完成。为非安全系统加入安全协处理器提高了系统的安全级别,而不用对系统结构重新设计。
什么是安全协处理器?
简单地配置一个安全协处理器会提高包含其它主要部件的系统的安全性。安全协处理器负责系统中与安全性相关的任务,允许非安全处理器去完成主要的系统功能。这种功能上的分离简化了设计流程并且提高了系统性能。应用可以大致分成如下所示的安全性和非安全性功能。
Non-secure functions | Secure functions |
Operating System | Secure communications with network |
Displays | Monitor enclosure for tampering |
Keyboard scanning | Storage of passwords, encryption keys |
General purpose I/O | General purpose data encryption |
Magnetic Stripe reader | Public Key authorization |
Printer | Secure program/data upload/download |
非安全处理器可能会是ARM®、SHARC®、PowerPC®等,并可以使用非易失性存储器如闪存或EPROM。在非安全处理器和安全处理器之间一般会有专用的串行通信信道来传送状态信息和数据。必须仔细地设计系统,以保证安全处理器不会被攻破的非安全处理器欺骗而泄露受保护的信息。
安全协处理器的主要功能是为存储口令、PIN码和私有密钥提供空间。这样的器件必须是专用的,并整合强有力的加密功能,而且还要足够灵活以支持各种系统级的安全功能。安全协处理器的最重要特性总结如下:
- 为保密数据包括口令、PIN码和加密密钥提供安全保护。保存这些数据的存储器和外部存储器总线必须使用强大的加密技术加密,如DES或其它类似算法。这种存储器保护允许安全协处理器和应用作为一个整体来保证安全交易可信无误。
- 必须采用主动入侵检测功能来检测物理的(探测)以及环境的(电压或温度变化)入侵。它应该也能够发现外围级别的入侵企图,例如毁坏外壳。
- 一旦发现入侵必须使用主动入侵响应。一旦检测到入侵事件,安全协处理器必须能够将重要数据迅速清零/擦除,从而消除被敌手恢复的机会。在如此短的时间内能实现擦除的存储器技术只有SRAM。
- 必须能够检测到代码替换并阻止多种侧面攻击。一旦检测到,器件必须执行入侵响应。
- 包括入侵检测和存储器清零的安全功能,即使在主系统电源切断的情况下也必须能起作用。
- 应为应用软件提供加密硬件以支持系统级的加密需求。
图1. 安全嵌入式系统的方框图
DS5250的安全特性
DS5250高速安全微控制器正是一种满足这些需求的安全协处理器。作为安全微控制器系列的一员,它是一种高度安全、每机器周期包含4个时钟周期并且与8051指令集兼容的微处理器。它设计用作以下应用的加密引擎,包括PIN键盘、金融终端及其它数据安全性要求极高的应用。该器件的一个主要特点是,它采用基于硬件的单或三重(3) DES (数据加密标准)算法对程序存储器进行加密,使攻击者几乎无法从中提取任何信息或密钥。为数据存储器提供随意按字节编码。这使得该器件成为存储与传输口令、个人身份识别码、加密密钥以及其它高度机密信息的理想选择。
一个真正可靠的系统应该不仅仅是被动加密,而是必须足够智能,从而能够检测到正在进行的攻击并且做出正确的反应,以保护其中的重要数据。DS5250包含一组传感器,用来探测物理上攻击管芯的企图和操控环境条件高/低变化的行为。可选择通过一个块校验来检测强制执行随机指令的企图,从而保护程序存储器。当检测到这些攻击时,器件执行一个破坏性的存储器复位,使其擦除内部加密密钥、所有的内部MOVX SRAM以及在某些情况下甚至包括外部加密SRAM。一旦擦除掉内部加密密钥,外部加密存储器就无法破解。
除了为其自身的存储器提供强有力的加密保护之外,DS5250还为应用软件提供资源以提高系统级的安全。一个模运算加速器支持模幂操作,该操作是RSA (公开/私有密钥)计算的整数部分。一个专门的用户访问DES引擎允许应用软件进行定制的单或三重DES操作。因此应用软件可以与多种安全网络灵活地接口。
扩展保护屏障
除了直接的加密保护之外,DS5250能将其安全保护延伸到整个系统。DS5250具有一个自毁输入引脚,可以连到用户定义的外部入侵传感器上。激活后,这个引脚会导致擦除微控制器的内部加密密钥和存储器。这样一来,加入安全协处理器可以使DS5250的入侵检测能力扩展至包括通用处理器在内。现在,企图对通用处理器进行访问会导致系统不起作用。简单的自毁输入设计使得在应用防护中增加入侵灵敏性变得非常容易。下面列出了一些传感器类型及其用途。为了增加保护功能可以使用多种传感器。
接触传感器
接触传感器可以从简单的限位开关,到当外壳打开时会切断导电墨水引线的复杂设计。
光传感器
当外壳打开时,壳体内的简单光学传感器能检测到光,并触发入侵响应。
压力传感器
破坏加压外壳的封口会激发压力传感器。
运动/倾斜传感器
根据具体应用,外壳的运动可能意味着入侵企图并可以激活运动传感器。
构建一个安全嵌入式系统
下面是在金融终端中使用DS5250安全高速微控制器作为安全协处理器的一个示范应用。在一个中央操作系统的控制下,此应用驱动许多外围设备。应用必须在一个加密通信信道上使用公开密钥基础设施(PKI)进行机密信息通信。此应用要求保护终端的私有密钥、网络上其它设备的公开密钥、以及PIN码和口令。
图2. 使用DS5250的安全嵌入式系统
通用微控制器的主要功能是执行高级别的操作系统。这个处理器实现系统功能例如复杂的图形显示,并与外围设备如扫描仪、打印机和键盘进行通讯。处理器和安全微控制器间使用通用的串行协议如简单(RX/TX)异步UART、SPI™或SCI进行通讯,这就大大减少了微控制器结构间的兼容性问题。
在此应用中DS5250为安全协处理器。安全协处理器负责完成安全通讯和保护重要信息如加密密钥、PIN码和口令不被窃取。这是通过将重要信息存储在3DES加密并由电池备份的SRAM中实现的。内部SRAM提供最强的数据安全性,因其受到最强有力的保护。加密和其它安全特性在微控制器和它的存储器周围构建了一个加密边界,使其在遭到破坏时会立即破坏数据。
DS5250存储器的加密密钥由DS5250自身存储,并通过一个复杂的电压/探针/温度传感器阵列对探测和其它物理攻击提供保护。由于外部程序和数据存储器是加密的,所以它和DS5250的内部SRAM都包含在加密边界内。
应用与网络通过3DES加密通讯进行接口,并由DS5250的用户访问DES引擎实现。这就为金融交易信息提供了一个安全通信信道。应用软件决定了通信格式,因此它可以和几乎任何网络灵活地接口。
总结
存在这样的需求,即能够向基于非安全体系结构的设计中加入安全机制。由于其高费用和低效能,物理上的安全机制是次优方案。通过将嵌入式系统分割成非安全和安全功能模块,可以发现,向已有设计中增加安全协处理器能够在不需重新设计基本结构的情况下提高系统的安全性。安全协处理器为重要数据如加密密钥、PIN码和口令充当了一个几乎无法渗透的屏障。DS5250安全高速微控制器就是这样一种安全协处理器。通过采用DES算法对其外部程序存储器加密,使得窃贼无法破解处理器的操作和敏感数据。多种入侵传感器能够检测到入侵企图并擦除微控制器的内部存储器和加密密钥,使所有数据无效。DS5250支持多种外部入侵传感器,以检测所有穿透外壳并获取信息的企图。在此方式下,安全协处理器的抗入侵性可以扩展到整个应用,从而既保护通用处理器也保护安全协处理器。