2月,索尼公司市场营销部代表Kevin Butler转发了"@TheKevinButler Lemme guess… you sank my Battleship? RT @exiva: 46 DC … C2 Come at me, @TheKevinButler"消息,索尼无意中公布了其PlayStation3的主签名密钥,现在世界各地都能看到并使用。两个月后,我们又获悉开发人员James Laird通过大量转存只读存储器(ROM)内容破解揭秘了Apple AirPort Express的个人密钥。这只是长期以来重大安全泄密的两个具体实例,给许多人带来了尴尬与损失。安全信息遭受威胁,我们自然要发问:"如果像苹果和索尼这样的巨头都无法保护其嵌入式系统的安全性,我该怎么办?"
确保嵌入式系统的安全性可能是一项非常艰巨的任务,首先要做的第一件事就是明确了解以下基本安全问题:
●您想保护什么?
●保护工作所针对的侵害对象是谁?
●你所保护的信息一旦泄密,都有哪些成本?
只有深入回答上述问题,开发人员才能更好地针对其系统特定需求定制安全解决方案。确定保护对象后,还要明确以下问题:
●哪些软件或数据必须保密?
●哪些通信信道必须确保安全?
●您是否允许第三方应用?
黑客并不是万能的,他们是具有充足时间和资源以及明确目标的高智商个人和团体。开发人员通过了解黑客的意图和目标,不但可集中资源保护设备免受损害,而且还可转移非授权(比如在家自学成才的开发人员)侵入风险。这样不仅可降低解决方案成本,同时还可提升系统稳健性。
图1为如何确保嵌入式系统安全性的示意图。
该系统既需要为操作人员保护电源测量及其测量通信功能,同时又要避免有人企图偷电。如果仪表被破坏,就可能导致公司成本大幅增加。与众多嵌入式系统一样,最终用户家里或工作单位位置有助于破坏者无拘无束地对未受保护的软硬件做手脚。
开发人员可采用以下安全工具为该嵌入式系统提供全面保护:
●确保仪表上运行的软件高度可信:确认安全启动功能从基于硬件的可信根目录启动,并采用RSA 2048/4096或椭圆曲线加密等认证算法;
●保护调试端口,仅允许认证服务技术人员访问仪表:采用器件确保操作人员只能打开某个系统,而不能使用统一的全局密码;
●集成防篡改保护功能,可向操作人员返回报告:防篡改功能可主动监控系统并根据不同事件做出适当的响应决定。
随着安全威胁越来越多,而技术不断向诸如医疗设备等关键市场扩展,安全性已成为众多嵌入式系统的要求。庆幸的是,开发人员现已能够保护软硬件,这种能力将随着有关公司产品技术的推广而进一步提升。开发人员了解如何应对基本安全问题,不但可创建高度稳健的安全嵌入式系统,而且还可充分满足未来安全需求。