在电子设计中,安全性至关重要,对于复杂、资源受限、高度连通的物联网(IoT)而言,更是如此。实现物联网安全需要依靠成熟的安全原则并警惕不断变化的威胁,而设计工程师将产品推向市场时面临一些物联网安全挑战。本文分析了为什么用软件方法实现物联网安全性无法达到合格的保障和防护等级,并解释了为什么现在硬件方法成为设计和实现物联网方案的要素。文章还强调了用更全面的方法实现物联网安全性的好处,鼓励大家拥抱全新的思维方式。
物联网目前正逐渐融入大多数工业和商业运营体系中,包括公共设施、重要的基础设施、交通、金融、零售和医疗。物联网设备能够感知和测量物理世界,收集人类的各种活动数据,促进了智能、自动化、自主命令和控制技术的广泛部署。通过无处不在的物联网互连智能设备,企业能够创造出真正革命性的技术,从而改善未来人类社会和经济生活的方方面面。然而,几乎每个星期都有主流媒体报道数字安全性的漏洞问题,通常是消费者信用卡信息被盗或使用不当而造成损失,与每天发生的成千上万个网络遭受攻击的案例相比,这只不过是九牛一毛。安全攻击包括窃取有价值的数据并造成大范围破坏,更有甚者,会控制关键的系统。从消费者的角度来看,分布式阻断服务(DDoS)攻击可能是最常见的威胁。2016年造成整个互联网中断的Mirai僵尸网络第一次敲响了警钟,令各机构意识到这类威胁。继Mirai之后,Aidra、Wifatch和Gafgyt,以及BCMUPnP、Hunter52和Torii53等新加入的僵尸网络,累计侵入了数百万部IoT设备,以扩散其DDoS恶意攻击软件、加密货币挖矿软件以及垃圾邮件中继代理。
随着我们的工作和生活中出现更多的物联网设备,潜在的安全攻击无处不在,而且规模越来越大。我们来看一下它对智慧城市的影响。智慧城市以无所不在的无线通信和机器/深度学习为基础,基本的实现理念包括根据需求进行交通控制、跨电网自动负载平衡管理和智能街灯。以智能交通控制为例,设想一下大城市控制交通流量的传感器、交通信号灯、协调管控车辆的汽车网状网络和控制设备等基础设施暴露给对手的情形。在重要的十字路口通过无线网络控制交通信号灯或车辆之间的通信,已经不再是好莱坞大片中才会出现的场景,而是一项真实存在的严肃议题。
再想一想互联网医疗设备、商店内帮助改善零售购物体验的智能标签,以及我们的家电如何联网。如果你能用自己的智能手机启动炉子、开锁、关闭警报系统,那么其他人呢?
上面的例子跟我们所有人都相关,但是,有很多情形是普通消费者看不到的。设想针对自动化制造环境部署的工业物联网(IIoT),如果出现了安全漏洞将会导致怎样的混乱,生产停机和设备损坏又可能造成怎样的财务损失?
随着潜在的攻击呈指数级增长,物联网的安全防护必须全面而稳健,并具有快速恢复的能力(图1)
图1:物联网设备数量及面临的威胁均呈指数增长。(图片来源:Gartner、Softbank、IBM X-Force威胁情报指数2019,以及Symantec互联网安全威胁报告2018)
试图窃听或非法获取信息并不是什么新鲜事。荷兰计算机研究员Wim van Eck早在1985年就进行了相关的研究。他通过截取显示器的电磁场并进行解码,成功地从显示器中获取了信息。他的开创性工作强调了一个事实:利用一些价格不高的组件,便可以绕开昂贵的安全防护措施而达到目的。
这种非侵入和被动式电磁边信道攻击如今变得更加复杂,并成为众多攻击武器的一种。其他边信道攻击方法包括差分功耗分析(DPA)等,通常与电磁边信道攻击一起使用。通过这种攻击方式,在执行加密处理指令时,物联网设备微控制器中的加密密钥、密码和个人身份等敏感信息将以电磁信号的形式被“泄露”。宽带接收器作为软件定义的无线电应用目前价格已经很低,在运行中可用于检测和存储电磁信号。
DPA是一种更复杂的窃取方式,通过简单的功耗分析可以了解设备运行过程中的处理器功耗。由于处理设备所消耗的功率会因执行的函数而有所不同,因此可以通过了解功耗情况来识别离散函数。基于AES、ECC和RSA的加密算法函数需要大量计算,可以通过功耗测量分析来识别。以微秒时间间隔检查功耗可以发现密码学中经常使用的各种数字运算,例如平方和乘法。DPA在简单的功耗分析中增加了统计和纠错技术,可以实现机密信息的高精度解码。
通过有线或无线通信方式传输的数据泄漏也有可能暴露机密信息。隐蔽信道和“中间人攻击”是通过监听IoT设备与主机系统间的通信来收集数据的一种有效方法。分析这些数据可能会泄露设备控制协议及接管远程连网设备操作所需的私钥。
黑客使用的另一种攻击技术是对未受保护的微控制器和无线系统级芯片(SoC)器件进行植入攻击。在最简单的情况下,该技术可能会降低或干扰微控制器的供电电压,出现奇怪的错误。随后,这些错误可能触发其他受保护的设备打开保存机密信息的寄存器,进而遭受入侵。通过更改频率、植入错误的触发信号或更改信号电平来篡改系统的时钟信号,也可能导致IoT设备出现异常,从而暴露机密信息,或导致控制功能被操控。这两种情况都需要对设备内的印制电路板进行物理访问,但不是侵入性的。
由于许多用于保护IoT设备的安全技术都是基于软件的,因此安全信息很可能被非法读取。AES、ECC和RSA等标准密码加密算法以软件栈的形式在微控制器和嵌入式处理器上运行。使用价格低于100美元的设备和软件不但可以查看功耗,还可以借助DPA技术获得密钥和其他敏感信息。现在很容易得到现成的DPA软件工具自动完成整个过程,甚至不需要熟练掌握这些分析方法。
这类攻击已不再局限于理论领域,它们已被全球的黑客广泛使用。
随着攻击力度的不断增加,物联网设备和系统开发人员需要重新考虑其安全防护方法,提高安全防护功能,使其更加稳健并具备更好的复原能力。
在设计一种新的IoT设备之前,最好全面了解该设备可能受到哪些攻击,以及需要对什么样的威胁进行防备。嵌入式系统的设计规格通常是根据产品的功能要求及工作方式来制定的。谨慎的做法是从一开始就审查安全需求并将其纳入产品规格。大多数IoT设备往往可以使用很多年,因此必须通过无线(OTA)方式进行固件更新,单这一点就可能引起更多的攻击,因此需要加以考虑。要想防护所有的攻击,需要一种从芯片到云端的方法,实现基于硬件的安全设计。
这一部分将探讨基于硬件的安全技术,为IoT设备提供可靠的安全机制。从晶圆厂开始即在硬件中实现安全性,同时创建一个无法更改的固定标识,破坏此类IC或设备的代价将远高于攻击软件安全漏洞。嵌入式设计工程师在选择微控制器或无线SoC时应认识到,与时钟速度、功耗、内存和外围设备等设备标准一样,设备的硬件安全特性也非常重要。
对于任何包含处理器的设备,建立信任根(RoT)是硬件验证启动过程的第一步。在晶圆厂制造IC晶圆的过程中,RoT通常作为根密钥或映像嵌入到只读存储器中,RoT是不可变的,并在设备引导过程中形成锚点以建立信任链。RoT还可以包含初始启动映像,确保从执行第一条指令开始,设备运行的是可靠且经过授权的代码。RoT可保护设备免受恶意软件的攻击。
创建信任链的下一步是使用安全启动过程启动设备。使用经过身份验证和授权的RoT映像完成启动的第一阶段后,启动的第二阶段就开始了。随后,安全加载程序验证并执行主应用程序代码。图2显示的方法使用了双核设备,当然这个过程也可以用单核设备来完成。如果需要,安全加载程序可以在代码执行之前启动更新过程。Silicon Labs的无线SoC采用了一种增强的安全启动实现方法,称为具有信任根和安全加载程序(RTSL)的安全启动。
图2:信任根和安全启动过程。(图片来源:Silicon Labs)
另一种可大大提高安全性的硬件技术是物理不可克隆功能(PUF),它是在晶圆制造过程中于硅芯片内创建的物理特性。由于不可预测的原子级结构变化及其对固有的栅极或存储单元电气性能的影响,PUF可以为半导体器件提供唯一的身分标识。不可预测的/无序的变化为每个IC创建了独一无二的“指纹”,实质上就是一个数字出生证明。它们是不可复制的,即使使用相同的工艺和材料重新创建一个相同的IC,所生成的PUF也不同。使用单向转换函数(利用空间可变性)或迭代挑战-响应机制(利用时间可变性)等技术,能够从PUF中提取可重复密钥。PUF非常安全,并且具有防篡改能力。PUF密钥可对安全密钥存储区中的所有密钥进行加密,密钥会在启动时重新生成而不是存储在闪存中,因此必须对单个设备发起全面攻击才能提取密钥。由PUF保护的密钥也可以被应用程序处理,同时保持机密。为了进行逆向工程或完美复制PUF底层实现特有的分子变化,需要实际入侵纳米级硅芯片,这种技术及其复杂性是大多数侵入者是无法做到的。
Silicon Labs将硬件安全嵌入每个安全无线SoC和模块的核心。安全性贯穿产品整个生命周期,从芯片到云端,从最初的设计到整个生命周期结束(图3)。
图3:硬件安全贯穿设备整个生命周期。(图片来源:Silicon Labs)
通过在硬件中提供安全功能,黑客在尝试入侵或截取机密信息时将面临不可克服的挑战,最终无功而返。Silicon Labs的Series 2 Wireless Gecko SoC就是一款具备硬件安全功能的无线SoC。
Series 2 SoC采用一个安全单元将安全功能与主机分离。安全单元的属性通常由单独的芯片提供,Series 2 SoC则将一切整合到一颗芯片上,为客户提供更高的设备安全性和更低的物料清单(BOM)成本。
安全单元有四个关键功能来增强设备安全性:具有RTSL的安全启动、专用安全内核、真随机数发生器(TRNG)和可以锁定/解锁的安全调试(图4)。具有RTSL的安全启动提供可靠的固件执行,免受远程攻击。专用安全内核结合了DPA对策,包括使用随机掩码来保护内部计算过程,并将硅片上执行的计算时序随机化。TRNG通过使用不确定的高熵随机值帮助创建强大的加密密钥,并符合NIST SP800-90和AIS-31标准。安全调试可以锁定调试接口,以防止芯片在运行中被侵入,并允许调试接口验证解锁,以增强故障分析能力。
图4:Series 2 Wireless Gecko SoC的架构——安全单元内核。(图片来源:Silicon Labs)
除了实现强大的安全性并降低成本,基于硬件的IoT安全功能还有另外一个好处:降低功耗。在软件中执行加密算法会给微控制器带来大量计算工作,这将增加功耗并缩短电池寿命。将加密处理转移到专用安全内核可以使设计更节能且性能更高。
任何连网设备都面临安全威胁,这些威胁无处不在,并且不断变化。基于软件的安全技术曾经效果良好,但现在已成为潜在的攻击目标。硬件方法现在被认为是实现全面且稳健的安全机制唯一可行的方法。
本文为《电子技术设计》2020年05月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。