新闻总是乐于报道安全系统遭到攻击的事件:操作系统漏洞、非法入侵政府网络、笔记本电脑的信用卡帐户信息被窃等等。安全性不仅仅涉及到笔记本电脑和服务器,嵌入式领域也越来越关注安全性问题,例如交通灯、家庭安全系统、烟雾探测器、ATM、收银机等,由此看来,风险无处不在。嵌入式系统需要安全保护的原因有多种,某些应用中,政府部门需要对敏感数据进行保护,例如:病历、信用卡信息等。有时还会对销售流程进行安全保护,例如
新闻总是乐于报道安全系统遭到攻击的事件:操作系统漏洞、非法入侵政府网络、笔记本电脑的信用卡帐户信息被窃等等。安全性不仅仅涉及到笔记本电脑和服务器,嵌入式领域也越来越关注安全性问题,例如交通灯、家庭安全系统、烟雾探测器、ATM、收银机等,由此看来,风险无处不在。
嵌入式系统需要安全保护的原因有多种,某些应用中,政府部门需要对敏感数据进行保护,例如:病历、信用卡信息等。有时还会对销售流程进行安全保护,例如,公司可能以低于成本价出售打印机,通过打印机耗材的高利润进行补偿。利用安全技术可以鉴别耗材的真伪,避免使用第三方的假冒产品。某些情况下,安全技术被用来保护知识产权,嵌入式设备中可能包含极具创新的算法,制成成品后,为了保护来之不易的产品设计,需要增加安全性,以防止盗版。
安全性设计是一个折中的过程一理想的安全产品设计将耗资无限,而不具备安全保护的设计则不需要任何安全功能的花费。每种特定应用都必须确定所要求的安全等级,具体了解安全系统需要保护什么? 加密安全吗?
选择合适的加密工具对于通讯架构来说至关重要,应选择公共算法,应用较为普遍的算法包括:DES、RSA或DSA。许多人认为选择一个模糊的私有算法会更安全,实际情况并非如此,公开算法已经经过学术界、政府机构和业内专家的评估。私有算法看起来安全,而且也经过一位收取一定费用的专家的评审,但是,如何保证事物背后的安全性,如何保证评审人员的可信度?另外,私有算法还可能需要支付许可权费用、版权费用等,限制今后的选 择权。
尽管加密技术对于嵌入式系统的安全性来说至关重要,但这只是一个方面。假设现实世界场景中,两个人通过相互传递编码信息进行交流。攻击者可能窃取此信息,如果信息编码所采用的加密技术可靠,这种攻击将是无效的。有胆量的攻击者可能会直接对人进行攻击。与破解加密信息相比,强迫参与者泄漏通讯密码会更加容易。
这个例子对于嵌入式应用非常形象,例如ATM与银行之间的加密通信。试图破译传输线上的加密PIN数据几乎是不可能的,有些攻击者可能认为攻击ATM机更有效。攻击者可能会在夜深人静时打开ATM。在一系列攻击后获取ATM与银行通信的密钥。然后,攻击者将ATM恢复原位后离开。这种情况下,对传输线的监测使攻击人员获取了密钥,可以解密所有帐号和PIN数据。
值得庆幸的是,目前的ATM具备强大的物理层和逻辑安全技术的保护。当然,上述例 子也提出了以下几个安全性问题:
·加密技术只提供一层保护,不能完全阻止攻击者的行为。
·贮存在ATM机中最有价值的东西是密钥,而非账号、PIN数据或现金。
·一个安全的嵌入式设备必须在遭受攻击时有所反应,擦除有价值的密钥。 对嵌入式系统的攻击
攻击者通过什么途径得到ATM的密钥呢?
攻击着可能从最简单的操作开始,假如密钥存储在外部存储器,攻击者只需简单地访问地址和数据总线窃取密钥。即使密钥没有连续存放在存储器内,攻击者仍然可以破解外部代码,确定哪个存储器包含有密码。引导装入、调试和测量状态下都是遭受简单攻击的薄弱环节。这些工作状态通常允许对微处理器内存和寄存器读/写操作。即使这些状态的文件不公开,对于有着广泛社交经验的工程师来说,通过微处理器厂商的雇员来获取这些信息也是轻而易举的事情。
尝试了简单的攻击手段后,如果没有达到目的的话,攻击者还会采取更为诡异的手段。从简单的时序和功率分析中观察加密操作的时序和功率消耗。对于设计不理想的加密过程可能会在处理密钥1时比处理0时消耗更多的时间和功率,这为攻击者提供了足够的信息,使其推算出密钥。如果这种简单的分析手段不起作用,攻击者便会使用差分能量分析(DPA)技术。差分能量分析是一种统计攻击方法,通过采集上千次运行时的能量损耗数据,最终,从功率脉冲信号中获取密码。虽然这种方法耗时,但可以自动操作。此外,攻击者还可能采用故障注入攻击,使微处理器运行在工作范围以外的条件下,从而产生故障信息,导致密码泄漏。攻击者也可能试图拆除微处理器的塑料封装,用微探针分析密码数据。内存具有规则的结构,很容易在硅片中识别出来,利用微探针设备可以很容易地对此操作。
面对上述种种攻击,工程师必须采取适当的措施为嵌入式系统提供有效防护。 防攻击措施
在高安全性应用中需要具有唯一的质询,单一品牌的处理器。安全微处理器,例如DallasSemiconductor的DS5250(图1),能够满足最高安全级别的设计需求。
|