广告

物联网的安全性需要可升级

时间:2018-11-26 作者:Lars Lydersen,Silicon Labs高级产品安全总监 阅读:
物联网(IoT)使我们得以用空前的规模来优化和改善现代生活的大多数层面。随着数以亿计的物联网设备带动数亿美元的经济价值,物联网的巨大潜力也引来了恶意的敌对者与攻击者。如

物联网(IoT)使我们得以用空前的规模来优化和改善现代生活的大多数层面。随着数以亿计的物联网设备带动数亿美元的经济价值,物联网的巨大潜力也引来了恶意的敌对者与攻击者。如果要让物联网设备达到安全并阻碍攻击,就必须确保物联网所有的终端节点都可升级。物联网设备的寿命长,加上敌对者所使用的知识和工具进步迅速,使得设备无法设计成在任何安全等级上永远保持充分安全。因此,设备如果要保持安全,就必须确保安全性可通过软件更新来升级。我们就从对安全性是如何随着时间而改变的历史的洞察开始讲起,然后思索安全更新对物联网设备的设计有何影响。

安全性通常以对立的方式来看待:设备、服务或系统要么是安全的,要么就是不安全的。但我们该问的问题是,安全针对的对象是什么?在现实中,安全性有不同的等级,而且就攻击者而言,只有当安全等级比攻击者的能力要高时,设备才能算是安全。

此外,攻击者的能力一般都是非静态的,因此安全等级会随着时间而改变。攻击者的能力提升可能会以多种不同的方式呈现,从发现和/或发布问题与弱点,到广泛的可用攻击设备和工具等等。

关于安全等级是如何随着时间而演进,我们来回顾几个例子,并从对称式加密算法开始。1977年,数据加密标准(DES)算法被确立为标准对称式密码。DES用的是56位的密钥尺寸,所以只要既有的运算能力提高,标准就容易遭到强力破解式攻击。1997年时,算法经证明花了56小时就遭到强力破解攻破。DES明确遭到攻破后,三重DES便被确立为标准安全对称式密码,基本上就是以不同的密钥把DES执行三次。关于DES的安全等级,有人推测假如政府在1977年时就已经能攻破密码,那DES绝对抵抗不了国家级的攻击。不过从2000年代初期以来,由于运算能力唾手可得,DES连业余玩家的个人计算机都挡不住。

从2001年起,高级加密标准(AES)便取代了DES。但连AES都无法保证绝对安全。即使算法无法轻易遭到攻破,在实行时也经常可能遭黑。例如试想一下差分能量分析(DPA)攻击,它是用电路在执行加密时的能耗或电磁幅射来获知密码密钥的。具体来说就是DPA会去掌握为数众多的能耗踪迹,再靠分析来揭露密钥。DPA在1998年引入,自此以后,Cryptographic Research Inc.此类的公司(现在的Rambus)就贩卖工具来执行DPA攻击,只不过工具的售价是业余玩家和大部分的研究人员所负担不起的。如今执行进阶DPA攻击的硬件工具花不到300美元就能入手,进阶的后处理算法则在网络上就有免费的可用。如此一来,从事DPA攻击的能力便从国家级和有钱的敌对者转移到了几乎任何黑客身上。

接下来我们在物联网设备的长使用寿命背景下来讨论这些历史经验教训。物联网设备一般的生命期依赖应用而定,20年在产业应用上算是很普遍,也是我们在这段讨论中所采用的时间长度。例如在1998年推出的设备曾经只可能被国家级的攻击攻破;如今它则必须要能承受那些拥有仅需300美元的工具的业余玩家,利用一些闲暇的喝咖啡时间发起的DPA攻击。要预测一群敌对者的未来潜能就算不是不可能,也是难上加难,尤其是时间跨度为20年时。

要应对未来的攻击情景,唯一合理的方式就是让设备的安全性随着敌对者的能力增长而演进。这必须使物联网的安全性可在软件上升级。有的功能当然有赖于硬件支持,而无法通过软件更新来修正。不过,当另一个选择是上门服务时,在软件上所能解决的事就不容小觑。

对各位的物联网产品来说,这意味着什么?首先,产品需要能以安全的方式来接收软件更新。我们来讨论安全的软件更新的两个方面:从技术角度看,也就是对设备和软件的要求;从实施过程的角度,具体来说就是软件更新发布的授权和控制。

从技术角度,安全的更新牵涉到验证、完整性检查,以及可能要为设备软件加密。处理这类安全性更新的软件是引导程序,而且基于这些特性,它一般都被称为安全引导程序。连同相应的加密密钥,安全引导程序本身构成了系统的信任根本,而且一般都不可升级。因此,引导程序和密钥必须摆在不可修改的内存中,像是一次性可编程(OTP)内存或只读存储器(ROM)。这种程序代码的任何弱点都等同于硬件问题,并且无法在现场补救。

靠着设备仅有的公开密钥,验证和检查完整性应该是用非对称加密来进行。设备的签名检查密钥并不是非保护不可。由于保护部署在外设备的密钥比保护拥有者管控的设备的密钥要来得难(或者至少应该是如此), 所以让许多设备使用相同的引导程序密钥也无妨。最后,由于设备可包含及使用公钥,所以系统在DPA攻击方面很安全。

在物联网设备上运行的软件加密有两个好处。第一,它保护供应商视为知识产权的软件,免遭竞争对手及仿冒厂商窃取。第二,加密可防止敌对者去分析软件的弱点。不过,把安全引导的新软件加密的确会牵涉到设备的密钥,而保护现场设备的密钥正变得日益困难。与此同时,较新的设备则已提高对DPA攻击的抵抗力。再者,对DPA攻击的常见反抗措施是对密码的运行次数加以限制,使它无从取得充分的资料来泄漏密钥。即使密钥保护起来很难,而且具备动机的敌对者还是有可能破解到,但它的确可提高门槛,使攻击者在施展身手时难度大增。因此,安全引导应该总是会涉及软件加密。

安全更新的另一个结果是,物联网设备未来可能会需要更多的内存。基于诸多原因,这会是复杂的取舍。首先,软件往往会充分利用设备的可用内存。所以设备如果有较大的内存,软件团队就必须有规划性地为未来的更新预留空间。另一个复杂之处则是为未来预留的内存的价值对比设备的初始成本。内存较多往往会使设备的成本提高。从设备制造商和消费者的角度来看,这笔成本肯定是合情合理的。遗憾的是,市场占有率的激烈竞争使许多设备制造商都趋于短视,他们有时候会把成本看得比未来的安全性更重要。

最后,很重要的是,安全性更新要有配送计划。就大部分的设备而言,这些更新都是利用设备既有的网络连接。但在某些情况下,必须增添或利用到实体接口,例如U盘(也就是sneakernet)。也很重要的是,要考虑到设备可能会有防火墙,或是在某些情况下连不上互联网。

安全更新一旦在技术观点上有可能性,问题就会变成谁有权签署及发布软件更新。对物联网设备而言,日益常见的是软件完全由设备制造商拥有和管理。这代表设备制造商应该要有经过证明的既定流程,以便从内部来保护签署密钥,尤其是保护可发布更新者。这不见得要得到顾客或终端使用者的授权。以某些设备来说,终端使用者必须主动下载更新和应用,或者起码要启动更新程序。在某些例子中,更新则是全自动的。

所部署的物联网设备的寿命长,加上敌对者的工具和知识增加,使得设备无法打造成在任何安全等级上都永远保持充分安全。因此,如果要让物联网设备在整个实际生命期都保持安全,就一定要确保这些设备的安全性可通过软件更新来升级。但由于更新机制也是攻击点,所以一定要在物联网产品的可编程设备里布建安全引导程序,并把引导程序密钥保管好。物联网厂商应该期望从IC供应商手上获得安全引导程序的功能。再者,物联网厂商必须把发出更新的传送机制和程序给预先规划好。所幸安全引导程序随手可得,而且相关设备已连上了互联网。实现安全更新花不了多大工夫,所以没有不实施的理由。

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
相关新闻
广告
广告
广告
广告