随着嵌入设备渗透进社会,并承担起更加重要的角色,安全失效会带来潜在的灾难性的后果。嵌入设备以无人干预方式运行在很多领域的数千种关键任务或安全相关系统中,如制造、健康保健、运输、金融和军事等。虽然我们不假思索地依赖于这些嵌入系统,但任何一种嵌入系统都可能成为临时黑客、犯罪团伙、恐怖分子,甚至敌对政府分子的潜在目标。阻止这些攻击的重任就落在了系统设计者的肩上,他不仅要保证通过或保存在嵌入设备中的数据的安全,而且还要保护产品本身的知识产权。
过去,设计者会采用物理保护和隔离嵌入设备的方法,实现适当的数据安全性。今天,由于普遍的网络互连,从全球任何地点都可能接触到关键嵌入系统的数据析取或过程操纵。
与台式系统不同,嵌入式产品在部署前就必须具备所有安全措施。嵌入系统设计者不能采用亡羊补牢的方法。用户要求嵌入式产品能不经改动而持续运作数年的功能,很多设备不能够停止或重新起动,否则就会对生命、财产或重要信息造成损害。
从概念到制造、部署,直到寿命结束被废弃,安全必须是一个重要的设计考虑因素,因为几乎不可能在现场为产品增加安全功能。NIST(美国国家标准技术学会)在 CSRC(计算机安全资源中心)为设计者提供了很多与安全有关的出版物。这些文档概述了需要考虑的生命周期设计原则,如安全策略定义、产品设计、威胁识别、技术选项以及程序员培训等。例如,首先一个挑战是要在选择防护措施前,辨别哪些数据或专有信息需要保护。也许能够减少甚至消除敏感数据,从而尽量减少安全工作量。接下来,应确定可能的攻击者以及他们的技术水准。简单的密码也许就能阻止一个好奇的业余黑客,但对付坚定的闯入者则需要多层次安全措施。
分隔与安全
一种显而易见的安全措施是物理隔离连网的系统,使之免受外界影响。如果将嵌入系统和服务器布置在不接入互联网的相同网段上,则消除了大多数的安全问题。隔离对于极关键应用非常有效,如控制一个工厂,因为这种系统一旦崩溃损失巨大。尽量减少与互联网的连接时间也可以使很多攻击尝试受挫。随机时间的短期数据交换可以防止搜索机器人辨认出你的系统。但是,如果你的嵌入系统是黑客的一个目标,则短时连接只能延缓未授权的进入。
攻击者可以窃取嵌入设备,尤其是便携式产品,将其拆卸后用灵敏的测试设备进行探查,提取数据。他们可以从产品中拆下存储元件,有可能提取出其中的内容。同样,他们可以通过动态调试端口和软件,读出敏感数据或强行无意操作。攻击者甚至可能监控电磁辐射,或采用极端温度、电压偏离和时钟变化等方法,迫使系统运行在设计参数以外来获得信息。
设备设计者还应考虑结合物理防护措施,保护敏感信息或专有信息。需要专用设备才能打开的坚固外壳可能会吓住某些攻击企图。对于产品内部,设计者应在制造印制电路板时牢记安全问题。例如,将有关键信号的 BGA 封装隐藏在电路板内层,使探测和逆向工程复杂化。虽然你可以用酸除去某些成份,但环氧树脂和保护涂层都可以保护产品内部的敏感电路。
为了确立系统安全标准,美国、加拿大和一些欧洲国家建立了“信息技术安全评估公共准则”,一般简称“公共准则”。公共准则网站上有一个开发人员区,其中包括了各种指南和完整的文档。公共准则的结构允许消费者、开发人员和评估者用标准保护数据文件和 EAL(安全评估等级)具体说明某个产品的安全功能。另一种嵌入式软件安全标准 MILS(多重独立安全等级)需要一个分割的实时操作系统,它可以用严格的测试作验证(图 1)。内存保护及确保的资源可用性可以用单只处理器管理保密和不保密的数据。MILS 结构使设计者能够创建出有防破解安全特性的应用代码,该特性无法绕过,可以作数学校验,并且系统总能调用。
在能与一个保密嵌入系统互动之前,用户必须接受一种鉴别过程,以验证身份。鉴别过程可能包括下列组合:安全密码、生理特征(如指纹),或一个安全装置(如一个智能卡或密钥)。例如,AuthenTec 的 Entr嶱ad 1510 滑动传感器可以完成手机等便携设备的指纹鉴别。该传感器采用 12mm×5mm、40脚 BGA 封装,带有一个密集的 128×8 点检测阵列,以及模式匹配固件(图 2)。黑客已经能通过很多方法成功获得密码,如用
-
-
zm20081 发表于 2006/11/6 14:40:37
目视或电子方法捕捉键盘按键,或者简单地用各种借口进行询问。通常情况下,通过本地有线或无线网络的密码都是不加密的,攻击者可以用简单的数据包捕捉程序轻易获得这种密码,而这类程序在互联网上到处都是。2楼 回复本楼编码与解码
当一个嵌入系统必须连接到网络或互联网时,设计者就要转用加密来保护自己的数据。有效的加密方法能在有线、无线或电力线通信系统中发挥相同的作用。今天,有两类常用的基本加密算法,两者都依赖于一个加密密钥以及编码程序,完成明文和密文之间的相互转换。对称加密,发送者和接收者使用相同的密钥来对信息加密和解密。而非对称加密,使用两个密钥,一个用于加密,另一个用于解密。公钥加密法是一种常用的非对称加密形式,它公开一个密钥,而另一个密钥则保密。密钥的分发与保密状态是加密安全系统中的基本问题(见附文“密钥的安全保护”)。
TCP/IP 网络业务最广泛使用的安全协议是 SSL(安全套接字层),它提供数据加密、服务器鉴别、消息完整性和可选的客户端鉴别。SSL 有 128位和256位版本,表示用于加密交易所生成的会话密钥长度。密钥越长,被加密的数据就越安全。IPSec(互联网协议加密)是另一种加密标准,它实现了网络层的安全性,使系统能够透明地加密网络业务量。在一台网关计算机上安装 IPSec,就可以对传输到互联网上的所有业务量作加密,而无需为各个网络节点增加开销。与大多数其它安全协议一样,IPSec 包含了密钥和信息交换的规定。虚拟私有网络使用 IPSec 就可以在互联网上建立安全网络。
General Micro Systems 公司最近推出了一款安全便携式 PC,面向军队的单兵携带应用,在这种应用中,安全是首要的。它的主板尺寸为 6.5英寸×3英寸×0.5英寸(图 3)。Spartan P630 是一台加固的 PC,其特点是在袖珍外壳中带有 1.4 GHz Pentium-M 处理器,2MB L2缓存,一个嵌入 GPS(全球定位系统)接收机,以及具备802/11b/g无线通信功能。该公司可以将这种有密封加固外壳的设备配置为含有高达2GB ECC内存、16GB可引导闪存、最高60GB硬驱,以及一块 LCD/触摸屏。为确保安全运行,Spartan 含有用于预引导访问控制的软件,以及数据加密和如果系统遭到损害,文件自动删除的功能。Spartan 的特点还包括具有6小时的电池使用时间,传导降温版可工作在-40℃ ~ +85℃,标准的对流降温版可以工作在0℃ ~ 55℃ 温度范围。可选封装包括一种用于严酷场合的钛铝合金外壳。P630的软件可支持Windows XP、Linux、QNX 和 VxWorks。传导降温式版的起价为 3400 美元(批量100 台)。安全业务
设备制造商们正在用增强的安全性尝试各种业务模型,以吸引更多的客户。以即付即用的情况为例,客户收到一台全功能的设备,并保证在使用期间或整个订购计划期间支付货款。如果客户未能付款,则供应商可以用拒绝提供网络激活码的方式使设备失效。一种强大的安全模型可以阻止客户绕过激活过程或拆卸部件。
例如,微软(Microsoft)最近宣布了 FlexGo,这是一个即付即用的平台,它将 PC 的所有权扩展到了新兴市场上。FlexGo 要求系统部件分别根据有效使用时间或特定结束日期来跟踪使用情况。当消费者耗尽所有可用计算时间时,微软会限制对 PC 的访问,直到消费者增加了更多时间。公司还会在有系统破解迹象时施加使用限制。微软亦增加了安全操作系统部件,以实现对软件使用状况的计量。FlexGo 软件开发工具包允许企业用自己的计费系统管理微软提供的系统,为客户提供即付即用式的计算机使用时间。
面对独立的嵌入安全挑战,Pure Digital 制造了一款一次性使用的袖珍摄像机,它可以记录长达 20 分钟的音、视频(图 4)。该设备可在很多摄像机店与便利店买到,价格只有 20 美元,另加 12 美元费用可将电影复制到 DVD 上。该设备带有一个固定焦距镜头、一个 1.4 英寸彩色 LCD,以及扬声器和操作控制部分,用于录制、回放和删除不需要的画面。虽然黑客们对这种设备很感兴趣,一些网站正在尝试不将摄像机返回处理而自己提取视频影像,但它具有的安全保障措施足以阻止大多数用户这么做。
安全预防措施以及潜在的信息泄露后果已经改变了嵌入式产品的基本设计目标。设计者不再为每个项目提供最简单、最廉价的设备。安全需求迫使设计者用更快、功能更强的处理器、安全的数据存储和防窜改的硬件来加强资源,保护应用程序执行中的系统安全和数据安全。
引用 zm20081 2006/11/6 14:40:37 发表于2楼的内容
-
-
zm20081 发表于 2006/11/6 14:42:02
一提到安全性,多数人首先想到的是加密。如果一个嵌入系统只发送和接收三重 DES(数据加密标准)加密命令,则它很难被破解。但是,设想一个装有最先进门锁和电子安全系统的房屋,它也会很难被攻破。一个聪明的窃贼不会去试图绕开房屋的保护系统,而是要尝试偷取钥匙,或迫使房屋主人说出安全码。嵌入系统也有相同的弱点:如果某种加密密钥被窃,则全世界所有的某种加密方法都会枉费心机。3楼 回复本楼
正确的密钥保护方法始于密钥的保存。最安全的地方是使用密钥的相同地方。因此,嵌入系统需要将密钥保存在微控制器内,而永远不要使之外泄。如果将密钥保存在外部存储器中(如串行 E2PROM 或外部 RAM),则微控制器在使用前还需要先取得密钥。外部存储器向微控制器传送密钥时采用的是明文发送,这样任何人都可以用示波器或逻辑分析仪找出密钥数据。
片上 E2PROM 或闪存的保护也是不完备的。坚定的攻击者会拆开微控制器的塑料封装,用微型探头检查各个存储单元。对于需要高度安全的应用,密钥的丢失将带来灾难性后果
。攻击者将能够畅通无阻地进入财务网络,或者创建使人无法察觉的虚假身份(ID)卡。高度安全应用对 IC 设计者提出了特殊的挑战。加密微控制器具有应对这一设计挑战的能力,采用为片上密钥存储提供电池后备的非易失性 SRAM,如 Dallas Semiconductor 的 DS5250。这种定制设计的存储器可以连接到片内、外多个窜改检测电路上,当几个窜改标准中的一个得到满足时,就会立即擦去密钥。有些片上传感器可以对故障注入攻击作出反应,如温度传感器和电压探测器。这类攻击发生在安全微控制器工作在最大运行范围以外时,它试图使加密失效,从而使设备泄漏重要数据。另一种片上传感器可以检测出微型探测的攻击。在芯片顶层有一个硅网格,如果这些亚微米走线发生短路或断路,即激活一个“窜改自毁”。加密微控制器还包括自毁输入脚,可以通过外部机制(如微动开关、光传感器和压力传感器)触发。尽管密钥的物理保护很关键,逻辑保护也同样重要。加密微控制器提供的加密加速器可以快速、安全地完成标准算法。像 RSA (Rivest、Shamir 和 Adleman)这类公钥的运行只需数毫秒,而像三重 DES 这种对称算法运行时间在微秒级。硬件加速器可以比软件算法更好地抗御时序攻击,因为它们能在相同数量的机器周期中完成,而与密钥或数据的实际值无关。加密微控制器亦组合有硬件随机数发生器,其性能随不同电压、温度和工艺变量而变化,这样攻击者就不可能猜出生成的密钥值或盲值。加密的程序存储器为运行在加密微控制器上的应用程序提供了进一步的逻辑保护。当系统第一次初始化时,加密微控制器使用片上的随机数发生器创建一个独特的密钥,系统用它加密程序空间。当设备工作时,系统对加密的指令作解密,将它们实时放到片上的缓存中。这种方法不仅能保护知识产权,阻止逆向工程,而且还能防止攻击者执行预谋代码。关注安全问题的应用会遇到很多独特的挑战。在设计加密微控制器时牢记物理与逻辑安全问题,就能为需要保护加密密钥的应用创造出最安全的基础。
引用 zm20081 2006/11/6 14:42:02 发表于3楼的内容
-
引用 mcumao 2006/11/13 9:58:05 发表于4楼的内容