账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
高安全性嵌入式应用的设计考虑
 

【作者: Kris Ardis】2008年01月13日 星期日

浏览人次:【2085】

新闻媒体通常喜欢报导有关信息安全方面的消息,例如操作系统的漏洞、政府网络受到入侵,或者是有关信用卡帐户遭到窃取等讯息几乎每个礼拜都会出现,事实上,安全性的问题不只存在于笔记本电脑或服务器中,对于嵌入式应用领域也越来越加重要,例如交通号志、汽车、家庭保全系统、烟雾侦测器、自动提款机(ATM)、收款机以及其他许多应用事实上也经常暴露在这些危险威胁之下。


对于嵌入式应用为何需要安全性基本上有几个理由,在部分应用中,政府需要对各种机密数据,例如医疗纪录或信用卡信息提供保护,有时也必须对预算来源进行保密,而对采用赔本销售打印机,但在填充墨水上取得高获利的公司,安全性技术就可以用来验证补充墨水的来源,避免副厂产品侵蚀市场,在某些情况下,安全性技术也可以用来保护智能财产,例如嵌入式设备可能包含了烤面包的特殊算法,而设计者当场希望可以保护辛苦工作的成果不受窃取。


安全性应用基本上是个权衡取舍的动作,完美的安全性成本相当高,同时得付出一定的代价,因此每个应用都必须决定需要达到何种程度的安全性才算足够,但是到底安全系统的保护程度要到哪里,而哪些功能可以带来实际的帮助呢?


编密就代表安全性,真的是这样吗?

选择正确的编密工具是确保通讯机制安全性不可或缺的一环,所选用的通常是公开并且广泛受到采用的算法,例如triple DES、RSA或DSA等,许多人会认为,选择比较艰涩的专用算法会更加安全,但公开的算法通常已经通过学术单位、政府与产业等领域专家的测试与检验,而专用的算法虽然看起来好像比较安全,同时也经过付费聘请专家们的检查,但是设计者会希望忽略全球专家群的检验成果而只相信少数专家的评估吗?此外,专用的算法可能也会将设计者限制在授权费用、每次使用费用,甚至是特定公司的微控制器产品上,大幅限制了日后供货的来源。


虽然编密技术对嵌入式系统的安全性扮演了相当关键的角色,但它们也只是整体机制的一部分,想象一下,在实际的应用情况下,当两个人透过传送经过编码的记事进行通讯时,攻击者可以窃取或拍下记事内容,但如果用来进行记事编码的编密技术足够稳固,那么这样的攻击并没有用,因此比较积极的攻击者就可能直接攻击人员,因为迫使其中一个参与者供出保密内容,要比费力解出记事的通讯机制秘密要简单得多。


在嵌入式应用领域中,这样的例子非常相似,例如以自动提款机与银行间的编密通讯频道为例,要将传输线路上的编密PIN数据加以破解几乎不可能,因此更有效的方法就是直接破坏提款机。


利用深夜时刻,攻击者走到提款机然后将它打开,在进行一连串的攻击后,他得到了ATM与银行间通讯的秘密密钥,接着他将提款机回复原状然后回家,开始监听通讯线路,他就可以拥有能够进行所有数字与PIN解密的密钥。


不过不必担心,目前的自动提款机都受到最坚强的实体以及逻辑安全技术的保护,但以上的例子描述了几个思考点:


  • (1)编密只提供了某一层次的保护,却无法阻挡意志坚定的攻击者;


  • (2)自动提款机内最有价值的信息为主体安全密钥,不是帐户号码、PIN码或者是现金;


  • (3)高安全性嵌入式设备必须在受到攻击时快速抹除最具价值的内容,也就是主体密钥。



嵌入式系统的攻击

那么攻击者要如何将密钥由自动提款机中取出呢?


首先他从简单的攻击开始,如果密钥数据储存在外部内存中,那么攻击者只需简单地透过地址与数据总线上的数据就能够取出密钥,就算密钥以非连续的方式储存,攻击者还是能够通过外部数据程序代码的破解来决定哪些内存位置内含有密钥,开机加载程序、除错以及测试模式都是简单攻击的可能弱点,这些功能通常可以让外人读取或写入微控制器内的内存与缓存器,就算这些模式的相关文件并未公开,但只要进行「社会工程」来找出微控制器制造商的一个员工,就可能取得这方面的信息。


在尝试过简单的攻击后,攻击者可以进行更复杂的动作,透过简单的时序与耗电分析,攻击者可以观察编密时所耗用的时间与功率,设计不良的编密机制在处理安全密钥中的1信号时,可能会耗用比处理0信号更多的功率或时间,这就提供了攻击者取得密钥的足够信息,如果简单的分析式攻击无法成功,那么攻击者还可以进行功率消耗差异化分析(Differential Power Analysis;DPA),DPA是一个进行数千次动作来收集功率消耗数据的统计分析方式,最终可以利用电源上的短暂变化来取得重要的密钥数据讯息,虽然相当耗时,但这样的攻击方式可以被自动化,攻击者也可能使用错误注入攻击,让微控制器在规格外的运作条件下动作,以造成可能泄露出密钥数据的错误,或者也可以试着移除微控制器的塑料封装并使用微型探针来决定密钥数据的内容,事实上在芯片设计中内存的架构相当具有规律,同时也很容易在硅芯片中被辨认出来,而且微型探针设备也非常容易取得。


听起来情况相当令人失望,那么,到底设计工程师还有哪些选择可以用来保护嵌入式应用的安全性?


抵抗攻击

高安全性应用面临着独特的挑战,当然也需要独特的微控制器产品来加以解决,美商达拉斯半导体(Dallas Semiconductors)公司的高安全性微控制器DS5250就是针对能够满足大部分严格安全性要求的应用需求所设计。


这些拥有最佳安全性的微控制器着重在密钥保护的安全性,使用以电池备份的非挥发性SRAM来储存较敏感的信息,这个SRAM必须进行客制化设计来达到所谓的「zeroize」,也就是组件在侦测到尝试攻击时会立即抹除所储存的数据,受攻击状态,例如温度攻击、电压攻击或微型探针攻击,可以透过芯片上持续运作或使用电池供电内部频率的传感器侦测,这个安全机制可以确保攻击者就算是控制了外部频率,还是无法停止数据抹除的动作,透过芯片上的储存功能,攻击者将永远无法看到组件间密钥的传输,此外如果有人进行组件的实体攻击,那么密钥就会被立即抹除。


为了确保攻击者无法取得内存总线的控制并注入可能取得密钥数据的指令,高安全性微控制器会将它的外部记忆总线加以编密,并在程序内存中提供数据完整性的检查,整个编密过程会确保攻击者无法拷贝或窃取设计者应用的智能财产,因为编密密钥以随机方式产生,同时每颗组件也不相同,如果攻击者尝试插入随机指令,那么完整性检查就会失败并进入受攻击状态。


高安全性微控制器同时还配备有硬件编密加速器,以奈秒(ns)而不是毫秒(ms)级的速度来执行triple DES等算法,此外,硬件加速器在设计上也以固定数量的频率周期运行,而且不管密钥数据的内容如何都耗费相同的功率,随机数生成器同时也可以用来决定加到编密算法开头与结尾的无效执行周期数,进一步防止耗电与时序分析攻击。


结论

高安全性微控制器同时还配备有硬件编密加速器,以奈秒(ns)而不是毫秒(ms)级的速度来执行triple DES等算法,此外,硬件加速器在设计上也以固定数量的频率周期运行,而且不管密钥数据的内容如何都耗费相同的功率,随机数生成器同时也可以用来决定加到编密算法开头与结尾的无效执行周期数,进一步防止耗电与时序分析攻击。


在进行安全性设计之前,设计工程师必须先决定应用所需的安全等级以及被成功破解后所要付出的代价,需要高度安全性的嵌入式应用在面临攻击时应该要停止运作而不是揭露秘密,同时也必须能够抵抗各种多样化的攻击动作,各种特殊的攻击型态更带来了以各种可能方式保护数据安全性,如DS5250这类高安全性微控制器的市场需求。


相关文章
以Chai为实例解读新世纪资讯家电平台
comments powered by Disqus
相关讨论
  相关新闻
» 德州仪器与台达电子合作 推动电动车车载充电技术再进化
» AMD写下STAC基准测试最快电子交易执行速度纪录
» 优必达支援繁中大型语言模型推论Project TAME 加速提升AI效率
» 中华精测揭露ESG永续报告最新成果
» 车用半导体产业价值链改变 大联大以新策略重构供应链服务


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK873D6K7HWSTACUK9
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw