原创 (多图) 构筑嵌入式系统的安全屏障

2015-5-3 17:52 389 3 3 分类: MCU/ 嵌入式
随着黑客的攻击目标从台式机转向嵌入式系统,硬件安全决策和软件安全决策在设计过程中占了主导地位。
  要点
  ●与出现故障后提供补丁的台式电脑软件安全策略不同,嵌入式产品即使在遭遇安全威胁时也必须继续工作。
  ●嵌入式设备面临的安全威胁迫使设计师除了采取传统的软件保护措施之外,还必须采取物理封装保护措施。
  ●嵌入式系统体系结构多种多样,这为黑客提供了很多攻击机会,而且还妨碍全行业安全保护方案的开发。
  ●专门的嵌入式安全存储芯片和协处理器把安全认证和加密两项任务推给专用硬件去完成。

  5年前,数十亿嵌入式系统成为了注意的焦点,当时权威人士预测Y2K故障将会扰乱制造、配电、运输、通信、水净化、现金提取、武器系统的正常运作,还将带来其他许多灾难。全球的政府和私营公司花费数千工时和数十亿美元来分析和更新嵌入式固件,以便能避免可能发生的灾难。这些嵌入式设备目前面临新的敌人,来自越来越多的黑客和恐怖分子,他们试图造成类似的危害,强制进行计划外的运作,或提取保密信息。对于任何新的嵌入式系统设计来说,这个新的现实使安全问题成为最优先考虑的事项。
  嵌入式设备的应用情况,使我们对它们的可靠性期望值
比对我们日常使用的大多数其它计算系统高得多。数以千计的用户每天都要关闭或重新启动台式电脑,来处理出错的程序或病毒。然而,如果您关闭或重新启动许多嵌入式设备,比如关键系统中的嵌入设备,您就一定会有造成生命、财产或信息等损失的风险。在台式电脑软件领域,您可以等待故障发生,然后设计补丁来绕过它,但这在嵌入领域是无法让人接受的。由于黑客会对各种基于电脑的系统发起攻击,设备开发商必须相应地采取硬件安全措施和软件安全措施,防止或遏制任何破坏性入侵。
  尽管您能采用多层次保护,但任何系统或产品都不是100% 安全的。大多数专家认为,当黑客危害产品所需的时间和资金超过了他们所提取信息的价值时,系统就是安全的。我们必须假设,只要有足够的资源,黑客就能够闯入任何系统。由于几乎无法对现有产品添加安全措施,因此安全性必须是基本的设计目标,从概念一直到生产、部署和寿命到期后的处理都应如此。美国国家标准与技术研究院(NIST)特别出版物800-27提供了若干在产品寿命周期的各个阶段要考虑的与安全有关的设计原则(参考文献1)。这些原则包括:确定安全策略,设计产品,处理升级,对付变化中的威胁,采用新技术,建立多个安全层,培训程序员以便提交安全的软件。
  首先应考虑的安全问题之一是确定您需要保护的是哪些信息,这样您就可以选择合适的安全措施。重要的是要区分嵌入式设备存储或显示的公共数据和保密数据,因为您也许能减少甚至去除敏感数据,从而使安全工作量减至最少程度。除了明显的公司保密数据和个人保密数据以外,您的设备也许还需要利用某种数字权利管理方案来保护拥有版权的材料,如书籍、音乐和视频。您的专有产品设计的细节也可能会给外人或竞争对手提供有价值的信息。
  谁在门口?
  接下来,您应该确定可能的攻击者是谁,以及他们的技巧水平。您也许能够借助简单的口令来保护音乐数据免遭好奇的爱好者的窥探;然而,如果您的设备敞开了金库大门,那您就等着拥有经验、资金和决心的黑客来考验您的安全功能吧。恐怖组织企图绕过安全防备来威胁生命,制造混乱。外国政府也许会资助攻击者搜索对国家安全敏感的数据。如果您保护的数据涉及金融,就可能会有犯罪分子试图突破您的安全措施。最后,您应该提防工业间谍活动,不道德的竞争对手可以借此降低或免除产品设计费用,进而获利。
  如果某设备存储有敏感数据或保密数据,那么您的设计必须在正常工作期间、在通过网络连接遭受攻击期间、在攻击者在实验室中采用电子手段探测期间提供保护。嵌入式设备(尤其是便携产品)面临的安全威胁要比典型的台式系统多得多。黑客也许会利用灵敏的测试设备来窃取、拆卸和探测小型设备,以便提取数据。他们能从产品中取出存储元件,以提取存储部件内的数据。同样,他们也许会利用调试端口和软件来读取敏感数据或强制进行计划外的操作。攻击者也许会测量电磁辐射或功耗来获得被隐藏信息的有关线索。另一种技巧是引入极端温度、电压偏移和时钟变化,从而强迫系统在设计参数范围之外工作,表现出异常性能。
  由于便携设备面临额外威胁,设计师应该采取物理威慑手段来保护敏感信息。需要专门设备才能打开的加固型外壳也许能阻止一些攻击。当攻击正在进行时,传感器会给软件发信号。外壳设计至少应该用密封条或胶带来提供产品被人动过的明显证据,因为黑客在打开产品时会毁坏这些密封条或胶带。关于内部设计,开发商在设计印刷电路板时应该把安全放在心上。例如,BGA 封装使关键信号隐藏在电路板内层,从而使得黑客对其探测和逆向工程变得更困难。虽然黑客可以用酸清除某些制剂,但设计师可以用环氧树脂和保形涂料来保护产品的所有或部分内部敏感电路。
  存储数据损失
  存储设备是黑客最喜欢的内部攻击目标,这是因为它们保存了产品的固件和敏感数据。很多设备可以在线读出数据,而且可以在工作期间提供临时的文本数据。如果您的设备具有防篡改传感器,您就可以利用硬件或软件资源来迅速抹掉敏感数据。有几家厂商提供安全存储设备来保护内部数据。例如,Dallas Semiconductor公司的 DS2432 既有 1024 位 EEPROM,又有一个 64 位保密引擎和 512 位安全散列算法引擎,以提供低成本的基于认证的安全性(图 1)。DS2432 售价是 2.03 美元(1000 件批量)。
Dallas Semiconductor公司的 DS2432 具有 1128 位5V EEPROM(它分区成 4 页,每页 256 位)、一个 64 位只写保密寄存器和5 个通用读/写寄存器
图 1,Dallas Semiconductor公司的 DS2432 具有 1128 位5V EEPROM(它分区成 4 页,每页 256 位)、一个 64 位只写保密寄存器和5 个通用读/写寄存器。


  在软件方面,嵌入式产品为黑客提供了很多入侵机会。与台式产品不同的是,嵌入式产品采用数十种软件体系结构和操作系统,而这些软件体系结构和操作系统的安全等级各不相同,视其制造商的专业技能而定。为了建立系统安全标准,美国、加拿大和几个欧洲国家制定了《信息技术安全评估共同准则
》 ,或简称《共同准则》。《共同准则》结构允许消费者、开发商和评估人员按标准的保护措施和 EAL(评估保证等级)规定产品的安全功能。虽然还没有操作系统得到最高的 EAL-7 认证,但有几项开发计划正在进行。例如,LynuxWorks公司 正在对其 LynxOS-178 操作系统进行一次小规模运行状态下内核的改进,并期望对它进行最高等级的正式验证和测试。EAL-7 等级认证需要详尽的数学分析,这就把此类软件的长度限制在最多 6000~7000 行代码以内。
  另一项嵌入式软件安全标准是《多个独立安全等级》(Multiple Independent Levels of Security, MILS),它需要一个分区的实时操作系统,用户可以利用严格的测试把它认证为安全的系统。存储器保护和有保证的资源可用性使您能够管理在一个处理器上的安全数据和非安全数据。MILS 体系结构允许创建经过数学方法验证的、始终被调用的、防篡改的应用代码,它们具有黑客无法绕过的安全功能。Green Hills Software公司、LynuxWorks公司 和 Wind River Software 公司均属于正在为军用系统和防御系统研制符合 MILS 的RTOS的公司之列。
  用户在与某个安全的嵌入式系统交互之前,必须经过一个认证过程来核实他们的身份。认证方案可能包括秘密口令、生理特征(如指纹)或安全设置(如智能卡或密钥)三者的各种组合。黑客通过目视或电子手段获取击键情况,或只是简单地通过各种花招进行询问,便可成功地得到口令。通常,黑客可以广泛使用很容易得到的数据包捕获程序,在有线或无线局域网上不加密传输时透明地读取文本口令。由于口令很容易泄露,因此注重安全的厂商们都需要两级或三级认证。RSA Security公司 的 SecurID 是最受欢迎的两级认证系统之一,许多组织都用它来识别远程用户的身份。令牌安装在密钥链上,并每分钟生成一个新的 6 位安全代码(图 2)。为了获得访问权,用户必须输入自己的私人 PIN 和在令牌上显示代码。
RSA Security 公司的 SecurID 两级验证系统每分钟生成一个新的同步 6 位安全代码,以阻止口令被窃取
图 2,RSA Security 公司的 SecurID 两级验证系统每分钟生成一个新的同步 6 位安全代码,以阻止口令被窃取。


  网络加密
  当设计师必须把嵌入式系统连接到一个网络或因特网时,他们采用加密来保护自己的数据。各种有效加密方案在有线、无线或电力线通信系统中的效果同样都很好。目前使用的两类基本加密算法都依赖一个秘密的密钥以及一个编码序列,来把普通文本转换成加密文本,反之亦然。使用对称加密算法时,发送者和接收者都使用同一个密钥来加密和解密信息。非对称加密使用两个密钥,一个用于加密,一个用于解密。公共密钥加密技术是一种流行的非对称加密形式,其一个密钥是公开的,而另一个是秘密的。密钥分配和保密是密码安全系统中的基本问题。只要有足够时间和计算能力,黑客不用密钥就可以解开任何加密的数据。然而,如果一种算法的解密成本或解密时间超过了数据的价值或有效寿命,则设计师就可以认为这种算法是安全的。包括嵌入式产品在内的任何电脑系统都可以生成一对对密钥,并把其中公共密钥提交给 VeriSign 公司等某个认证机构加以确认。各个安全的系统都保存一份本地的证书清单,用作认证进入的信息并加密送出的数据。认证机构核实了申请者的身份后,就会颁发一份证书,证书内有公共密钥、有效期和数字签名数据。
  Compaq公司、Hewlett-Packard公司、IBM公司、Intel公司 和 Microsoft 公司在 1999 年成立了“受托计算平台联盟”; ( TCPA),为的是为互相操作的硬件和软件制定开放的行业标准。该联盟把受托计算概念定义并发展为一项安全标准。最近批准的TCG(受托计算小组)  标准 1.2 限定了对受保护数据的访问,验证电脑身份,并管理用户密码。一个嵌入式TCP(受托平台模块) 只要监视引导过程来为 BIOS、设备驱动程序和操作系统装入程序等重要元件生成数列值或校验和,便可实现这些功能。受托平台模块(TPM) 保存这些值,并把它们与定义平台可信状态的参考值进行比较。TPM 还提供公共/秘密密钥 RSA 加密和解密,以及一个用于保存密钥和口令的防篡改片上存储器。Atmel 公司最近推出的 AT97SC3202 TPM 支持 TCG 1.2 标准,采用 28 引脚 TSSOP 封装,售价 4 美元(10,000 件批量)。
IBM 嵌入式安全子系统存储用于验证和用户身份识别的安全数据和数字签名的加密密钥
图 3,IBM 嵌入式安全子系统存储用于验证和用户身份识别的安全数据和数字签名的加密密钥。


  IBM 嵌入式安全子系统是另一种符合 TCG 标准的基于芯片的数据保护设备(图 3)。硬件部分与 IBM 客户机软件配套,构成一个综合的安全设备,用以保护各种关键信息,其中包括用于验证和用户身
份识别的、作为隐私和数字签名的加密密钥。客户机软件还可以作为有安全意识的设备和安全芯片本身之间的一个界面,为外围的安全访问控制设备提供支持。Targus PC 卡指纹阅读器就是生物统计访问控制设备与嵌入式安全子系统配套的一个实例(图 4)。
Targus Authenticator PC 卡指纹阅读器为安全的嵌入式设备提供生物统计访问控制
图 4,Targus Authenticator PC 卡指纹阅读器为安全的嵌入式设备提供生物统计访问控制。



  浏览器安全
  最常用的 TCP/IP(传输控制协议/互联网协议)网络通信安全协议就是SSL(安全套接层) ,它提供数据加密、服务器验证、信息完整性以及可选用的客户机验证等功能。SSL 有 40 位和 128 位两种版本,而40位和128位是指由被加密的事务生成的会话密钥长度。密钥越长,被加密的数据越安全。当前大多数桌面浏览器版本均以 128 位会话密钥对事务进行加密。IPSec  (互联网协议安全) 是另一项加密标准,它在网络层实现安全性,并使您能够透明地对网络信息进行加密。您可以在网关电脑中安装 IPSec,从而确保所有传输到互联网上的通信数据的安全,而又不会增加各个网络节点的系统开销。真如大多数其它安全协议一样,IPSec 包括密钥和信息交换的各项规定。VPN(虚拟专用网 )使用 IPSec可在互联网上建立一个安全网络。
  随着数据速率的逐步提高,嵌入式处理器正在竭力运行加密算法等安全软件以及基本的应用例程。虽然存在多项基准来测试任何处理器的安全功能,但有几种特殊的处理器却把一些加密工作从主处理器转移到一个集成的辅助单元(参见附文《检验处理器性能的安全基准》)。例如,AMD公司 最近推出的 Au1550 安全网络处理器包括一个集成的安全引擎,用以实现 IPSec VPN 数据包协议(图 5)。只要在硬件中加速 IPSec 数据包处理任务,Au1550 就能提供多种安全功能,而不会增加主应用软件的负担。Au1550 有时钟频率为 333MHz 和500MHz两种规格,前者的售价是 21.26 美元(大批量),后者的售价是 33.75 美元。同样,Motorola 公司也在其深受欢迎的 PowerQuicc 处理器上增加了集成的安全引擎。MPC885、MPC8272 和 MPC8349E三个 系列均在支持 IPSec、SSL 和其它安全协议的系统中消除了加密瓶颈。
AMD公司的 Au1550 安全网络处理器集成有一个 IPSec VPN 数据包协议引擎,以减轻主应用软件的负担
图 5,AMD公司的 Au1550 安全网络处理器集成有一个 IPSec VPN 数据包协议引擎,以减轻主应用软件的负担。


  对安全的顾虑和预防措施业已改变了嵌入式产品的基本设计原则。最小的电路、最严密的代码、甚至最长的平均无故障时间 (MTBF) 都不再是衡量设计是否优劣的准则。现代嵌入式产品必须具有可预测而又安全的性能,不仅在正常工作期间是如此,在受攻击期间也是如此。将来,您会看到嵌入式产品开发预算逐渐增加,以提供对付越来越多的安全威胁所必需的包封、处理性能和安全固件。

  附件:检验处理器性能的安全基准
  嵌入式微处理器基准协会 (Embedded Microprocessor Benchmark Consortium, EEMBC) 最近发布了一系列基准,来测试处理器解决安全问题的能力,这些处理器或作为独立的处理器,或作为集成了硬件加速器的处理器。这些新的数字娱乐基准包括 MP3、MPEG-2/4 编解码,以及先进加密标准 (Advanced Encryption Standard, AES)、数据加密标准 (Data Encryption Standard, DES) 和 RSA (Rivest、Shamir 和 Adleman) 密码算法。AES 基准的开发者们把“AES 加密/解密专用 Rijndael ANSI C 参考代码第 2 版” (Rijndael ANSI C Reference Code for AES Encryption/Decryption Version 2) 作为它的基础,并做了一些增强,以便通过美国政府强制的“联邦信息处理标准” (Federal Information Processing Standard, FIPS) 测试。RSA 基准和 DES 基准使用 Eric Young 的嵌入式执行专用 SSLeay 库 (Secure Socket Layer) 的某个版本。DES 基准处理 3DES(三重 DES)和 NCBC(嵌套密码阻塞链) DES 密钥生成、加密和解密。RSA 基准处理“公共密钥加密标准” (Public Key Cryptography Standards, PKCS) 1.5 版和“最优非对称加密填充” (Optimal Asymmetric Encr
yption Padding, OAEP) 填充密钥的公共加密和私人密钥解密。加入该协会和获得本套基准使用权的费用是 12000 美元。
  参考文献
  1.National Institute of Standards and Technology, "Engineering Principles for Information Technology Security," http://csrc.nist.gov/publications/nistpubs/800-27/sp800-27.pdf.

  若要了解更多信息
  如要了解更多有关本文讨论的产品等的信息,请直接与以下制造商联系,并请告诉他们你是通过阅读 EDN China 文章了解他们的产品的。
  AMD
  www.amd.com
  Atmel
  www.atmel.com
  Compaq
  www.compaq.com
  Embedded Microprocessor
  Benchmark Consortium
  (EEMBC)
  www.eembc.com
  Green Hills Software
  www.ghs.com
  Hewlett-Packard
  www.hp.com
  IBM
  www.ibm.com
  Intel
  www.intel.com
  LynuxWorks
  www.lynuxworks.com
  Maxim/Dallas Semiconductor
  www.maxim-ic.com
  Microsoft
  www.microsoft.com
  National Institute of Standards and Technology (NIST)
  www.nist.gov
  RSA Security
  www.rsasecurity.com
  Targus
  www.targus.com
  The Common Criteria Project
  www.commoncriteriaportal.org
  The Trusted Computing Group
  www.trustedcomputinggroup.org
  Verisign
  www.verisign.com
  Wind River Systems
  www.windriver.com

文章评论0条评论)

登录后参与讨论
相关推荐阅读
buyuntiande_113425898 2015-05-03 17:28
构建基于RTLinux的嵌入式系统研究与开发
  引 言   Linux或经过简单改进的Linux都是不能运行实时任务,这是因为Linux的“公平”时间分配的调度算法要保证分配给每一个用户程序占用CPU时间,然而实时任务对执行时间要求很严格,如每...
buyuntiande_113425898 2015-05-03 06:05
(多图) NIOS开发结构基础构思
  我们使用VHDL语言,根据FPGA管脚与数码管和按键管脚的连接,通过一系列的语句控制管脚电平的高低,从而让FPGA实现数码管显示功能。可见,对于比较简单的功能实现,可以像这个例子中那样,直接控制最...
广告
EE直播间
更多
我要评论
0
3
广告
关闭 热点推荐上一条 /7 下一条