图1 物联网设备生命周期
设备在制造商初始化状态下的安全策略
物联网设备是非标准计算设备,具有连接网络、传输数据、计算处理等功能。物联网设备的生命周期与普通的计算设备类似,比如台式电脑或者笔记本电脑,在厂家刚出场还未配置操作系统的时候就是一些硬件的简单组合,不能执行任何一个电脑应该具有的功能,只有当电脑经其售卖制造商完成操作系统配置后,才是一台真正意义上日常生活中使用的电脑。而其中制造商为电脑配置初始纯净的操作系统的过程,就对应于物联网设备在正式投入市场之前的制造商初始化阶段。
在商家初始化阶段,不同的物联网设备会根据其投入市场后的用途,被制造商进行各式各样的初始化工作,本文就制造商初始化中各种设备都会涉及的安全策略进行简要阐述,如图2所示。
图2 物联网设备在制造商初始化的安全策略
1.物联网设备的安装和维护要容易
消费者物联网设备的安装和维护应涉及用户的最低决策,并应遵循在实践应用中的最佳可用性。如用户使用向导设置设备,其中显示配置选项的子集,并已指定常用默认值,且默认情况下已打开相应的安全选项。
制造商应向用户提供关于如何检查其设备是否安全安装的指导。通过适当解决用户界面中的复杂性和糟糕设计,可以减少或有时消除由用户混淆或错误配置引起的安全问题。为用户提供关于如何安全配置设备的明确指导也可以减少他们面临的威胁。在一般情况下,安全设置设备的平均开销高于检查设备是否安全设置的平均开销。从过程的角度来看,安全设置的检查在很大程度上可以由制造商通过与设备远程通信的自动化过程进行。这种自动化过程的一部分可能包括验证设备建立安全通信通道的能力。
2.及时开发和部署安全更新
及时开发和部署安全更新是制造商为保护其客户和更广泛的技术生态系统所能采取的最重要行动之一。保持所有软件的更新和良好的维护是一个在实践中得到证实的保障安全的最佳方法之一。
物联网设备中的所有软件组件都应可以安全地更新,具有一个良好的设备和厂商之间软件组件的版本信息通信,这是一个成功的设备组件管理所必备的。但并不是设备上所有软件都有必要不断更新。如设备磁盘的首块引导加载程序只被写入一次,从那时起是不可变的;在带有多个微控制器的设备上,有些微控制器可能无法更新。
当设备不是受限设备时,它应具有用于安全地安装更新的更新机制。“可安全更新”是指有足够的措施防止攻击者滥用更新机制。措施包括使用正版软件更新服务器;受完整性保护的通信通道;验证软件更新的真实性和完整性。人们认识到,软件更新机制和“安装”的构成有很大的差异。为了防止降级攻击(downgrade attacks),可以使用基于版本检查的防回滚策略。更新机制可以从设备直接从远程服务器下载更新,从移动应用程序传输或通过USB或其他物理接口传输。如果攻击者破坏了这种机制,就会允许在设备上安装恶意版本的软件。
软件更新应该使用自动机制。如果自动更新失败,那么在某些情况下,用户可能不再能够使用设备。检测机制,如监视、双库闪存(dual-bankflash)和恢复分区的使用,可以确保设备返回到已知的良好版本或工厂状态。管理这一点可能很复杂,特别是当有并行的相关服务更新、设备更新和其他服务更新需要处理时。因此,清晰的管理和部署计划对制造商是有好处的,对于消费者来说,关于更新支持的当前状态是透明的。
在许多情况下,发布软件更新涉及到对其他组织的多种依赖,比如生产子组件的制造商。然而,这不是拒绝更新的理由。对于制造商来说,在开发和部署安全更新时考虑整个软件供应链是很有用的。通常建议不要将安全更新与更复杂的软件更新捆绑在一起,例如特性更新。引入新功能的特性更新可能触发额外的需求,并延迟对设备的更新。
如果设备支持自动更新,那么要求更新可以自选是否启用,以便用户可以启用、禁用或推迟安装安全更新和更新通知。从消费者权利和所有权的角度来看,用户能够控制是否接收更新是很重要的。用户选择不更新有很好的理由,包括安全性。此外,如果部署了一个更新,随后发现导致问题,制造商可以要求用户不要升级他们的软件,以使这些设备不受影响。
设备在用户使用状态下的安全策略
用户即消费者,是消费者物联网设备的最终使用者,保障用户在使用过程的舒适感和信息的安全性至关重要,也是消费者物联网的最终目的。当设备处于用户使用阶段时,物联网设备已经过了出厂和制造商初始化两个步骤,这一阶段的设备会在具有制造商初始化数据的基础上进一步加入用户数据和设备使用过程中产生的数据,因此存在安全隐患的方面有设备通信问题、设备组件更新问题、系统中断问题和个人数据安全问题,如图3所示。
图3 物联网设备在使用中的安全策略
1.设备通信
消费者物联网设备应使用具有最佳实践的密码技术进行安全通信。安全控制的适当性和具有最佳实践的密码技术的实行取决于许多因素,包括使用环境。随着安全性的不断发展,由于任何此类建议都有迅速过时的风险,很难给出关于加密或其他安全措施的规定性建议。消费者物联网设备应使用经审查或评估的实施方案来提供网络和安全功能,特别是在密码领域。如开发和测试社区中的分布式软件库、经认证的软件模块和硬件设备加密服务提供商(如安全元素和信任执行环境)都经过审查或评估。
密码算法和原语应可更新。对于无法更新的设备,设备的预期寿命不得超过设备使用的密码算法的建议使用寿命(包括密钥大小),这一点很重要。
只有在网络接口上进行身份验证后,才能在初始化状态下通过网络接口访问设备功能。有一些设备可以提供公共的、开放的数据,无需身份验证即可访问,以提供对所有设备的开放访问。该设备可能通过网络服务中的漏洞受到危害。合适的身份验证机制可以防止未经授权的访问,并有助于设备的纵深防御。
2.设备组件更新
消费者物联网设备应使用安全引导机制验证其软件是否完整且更新正确。设备应在初始化后定期检查安全更新是否可用。一个设备每天在随机时间检查可用的更新,用户可以通过初始化设备的接口看到更新的存在。对于某些产品,由相关的服务而不是设备执行此类检查可能更合适。
如果检测到软件发生未经授权的更改,设备应向用户和/或管理员发出警报,并且不应连接到比执行预警功能所需的网络更宽的网络。从未经授权的更改中远程恢复的能力可能依赖于已知的良好状态,例如本地存储已知的良好版本以实现设备的安全恢复和更新。这将避免拒绝服务和昂贵的召回或维护访问,同时管理攻击者破坏更新或其他网络通信机制接管设备的风险。如果消费者物联网设备检测到其软件发生未经授权的更改,它将能够通知正确的利益相关者。在某些情况下,设备可以处于管理模式。
设备需要对软件更新的真实性和完整性进行验证。确认更新是否有效的常见方法是验证其完整性和真实性。这可以在设备上完成;然而,受限的设备可能有功耗限制,这使得执行加密操作的成本很高。在这种情况下,可以由另一个受信任的设备执行验证。经过验证的更新将通过安全通道发送到设备。先在中心执行更新验证,然后再在设备上执行更新验证,可以降低泄露的风险。
对于设备来说,在检测到无效和潜在的恶意更新时采取行动是一种良好的实践。除了拒绝更新之外,它还可以向适当的服务机构报告事件或通知用户。此外,还可以采用缓和控制来防止攻击者绕过或误用更新机制。作为更新机制的一部分,尽可能少地向攻击者提供信息,会降低攻击者利用信息的能力。比如当设备检测到一个更新不能成功交付或应用(通过完整性或身份验证检查失败),设备可以通过不向更新进程的发起者提供任何关于失败的信息来减少信息泄漏。同时,设备可以生成一个日志条目,并通过安全通道将日志条目的通知传递给受信任的对等体(例如设备管理员),这样设备的所有者或管理员就可以知道事件的发生,并做出适当的响应。
软件更新的应用程序将扰乱设备的基本功能时,设备应通知用户。如一个通知包括关于紧急情况和大约预期停机时间的信息。对于用户来说,设备在更新期间继续运行是至关重要的。这就是为什么上面的条款建议在更新可能破坏功能时通知用户。特别是,实现安全相关功能的设备在更新的情况下不会完全关闭;期望有最低限度的系统功能能力。对于某些类型的设备和系统来说,如果没有得到正确的考虑或管理,对功能的破坏可能成为一个严重的安全问题。
3.系统中断
物联网服务在消费者生活的各个方面(包括与人身安全相关的功能)采用物联网设备的增加时保持和运行。重要的是要注意,安全相关法规可以适用,但关键是要避免使停机成为对用户造成影响的原因,并设计能够提供一定程度的弹性以应对这些挑战的产品和服务。
消费者物联网设备和服务应内置弹性,考虑到数据网络和电源中断的可能性。在网络接入中断的情况下,消费者物联网设备应保持运行和本地功能,并应在断电恢复的情况下干净地恢复。如智能家居在断电后与互联网失去连接。恢复网络连接时,家庭中的设备会在随机延迟后重新连接,以最小化网络占用率。
4.个人数据安全
设备和服务之间传输的个人数据,尤其是相关服务的机密性,应采用实践中最佳的加密技术加以保护。同时设备和相关服务之间交流的敏感个人数据的机密性应受到保护,并采用适合技术和用途的加密技术。
“敏感个人数据”是指其披露极有可能对个人造成伤害的数据。被视为“敏感个人数据”的内容因产品和用例的差异而不同,例如:家庭安全摄像头的视频流、支付信息、通信数据的内容和时间戳位置数据。执行安全和数据保护影响评估可以帮助制造商做出适当的选择。
设备在停用状态下的安全策略
物联网设备在使用过程中损坏或因硬件升级而替换时,意味着该设备在本次使用的生命周期走向了终结,即物联网设备将处于停用状态。处于停用状态下物联网设备将不再被使用,不再为消费者提供服务,设备需要返厂或返回售卖制造商,这时就需要物联网设备可以方便删除用户数据,以防止用户个人信息泄露,保证用户个人数据安全。
物联网设备应为消费者提供设备上的功能,以便以简单的方式从相关服务中删除个人数据。旨在用于所有权转移、消费者希望删除个人数据、消费者希望从设备中删除服务或消费者希望处置设备的情况。
物联网设备应向用户提供明确的确认,即个人数据已从服务、设备和应用程序中删除。消费者物联网设备通常会改变所有权,并最终被回收或处置。可以提供允许消费者保持控制并从服务、设备和应用程序中删除个人数据的机制。当消费者希望完全删除其个人数据时,他们还希望备份副本被追溯删除。从设备或服务中删除个人数据通常不是简单地通过将设备重置回其出厂默认状态来实现的。在许多用例中,消费者不是设备的所有者,但希望从设备和所有相关服务(如云服务或移动应用程序)中删除他们自己的个人数据。
例子:用户可以在租用的公寓内临时使用消费物联网产品。对产品进行出厂重置可能会删除配置设置或禁用设备,从而损害公寓所有者和未来用户的利益。出厂重置(从物联网设备中删除所有数据)不是以诸如删除共享使用上下文中单个用户的个人数据的简单方式来执行。
小结
在本篇文章中,主要以消费者物联网设备生命周期为主线,从制造商初始化、用户使用和设备停用这三个阶段,对其应采用的安全策略给出了一些个人见解,作简要阐述和简单分析,涉及到用户易用性、设备组件更新和个人数据保护等方面。希望可以给物联网设备的开发和制造者提供一些参考和帮助。
参考文献
[1]DIN EN 303645-2021,CYBER - Cyber Security for Consumer Internet of Things: Baseline Requirements (Endorsement of the English version EN 303 645 V2.1.1 (2020-06) as a German standard)[S].