对于许多开发团队而言,将网络安全纳入其物联网设计的想法似乎很难。在没有系统解决方法的情况下,在添加功能和最小化实现成本之间取得平衡会很快导致混乱。为了支持开发人员,美国政府已经确定了开发团队可以进行的一些重要活动,以为其设备的安全功能提供合理的基础。
美国商务部国家标准与技术研究院(NIST)在其文件NISTIR 8259“针对物联网设备制造商的基础网络安全活动”中定义了六项基础活动,对于开发团队在考虑其物联网设备设计中的网络安全性时应遵循的基础活动。这些基础活动可以分为两个时间点:首先是售前活动,这些活动在详细开发甚至尚未开始之前就进行了。这些活动将帮助开发团队确定其设计应提供的安全功能,并且通常可以揭示有关如何实现该功能的指南。
第二类活动是将成品交付市场后开始发挥作用,尽管应该在开始开发之前就计划好这些活动。这些售后活动涉及如何为购买了产品并将其整合到其系统中的客户提供支持的问题。由于网络攻击流程不断发展,因此物联网设备也将需要不断发展。大多数客户都希望他们的设备供应商能够支持这种发展。
图1这六项活动可以帮助开发团队确保其IoT设计实现适当的网络安全功能。 (来源:NIST)
在产品上市前阶段,有四个主要活动旨在补充或与开发团队的其他传统的活动同时进行,以帮助定义设计寻求实现的市场机会。
1.确定预期客户并定义预期用例
此活动对于确定客户将需要哪些网络安全功能至关重要,并且通常可以指示需要如何实现这些功能。要问的问题可能包括该设备的使用方式和位置,该设备将继续使用多长时间,该设备将与其他哪些客户系统进行交互以及攻击者如何危害或滥用该设备。
2.研究客户网络安全需求和目标
开发人员将需要至少部分地了解客户如何减轻其网络安全风险。了解客户的风险以及客户控制风险的方式将对定义设备的网络安全功能大有帮助。有两种威胁在起作用——设备本身可能需要保护,以防止其功能受到损害或劫持,设备处理的信息可能需要保护,以防盗窃或操纵。
对于某些客户和用例,可能还需要解决法规或特定于应用程序的网络安全问题。在这种情况下,设计将受益于实现简化并支持客户的需求功能。因此,此活动可能需要探索相关的法规标准,以指导功能要求以及采访潜在客户以了解其需求和期望。
3.如何满足客户需求和目标
对于活动2中确定的每个网络安全目标,开发团队都需要提出以下问题:实现该目标的合适方法是什么?该装置可以包括内置于设备本身中的功能,可以由诸如集线器或网关之类的另一个客户设备提供,也可以由诸如基于云的服务的第三方提供。非技术手段也需要考虑,例如客户是否愿意接受未达到目标的风险。团队还应该考虑这些策略的鲁棒性。
4.计划充分支持客户的需求和目标
通过确保存在适当的机制并根据长期设备支持的思想做出设计选择,开发人员可以使他们的设计更适合满足客户目标。例如,如果设备的安装寿命为数十年,则在安装后包括更新加密算法或更改密钥的功能可能是合适的。要关心的其他问题可能包括客户如何验证硬件和软件的完整性,如何确保第三方软件的安全性以及如何保护代码免遭未经授权的访问和篡改。
除了这些活动之外,还可以帮助指导在设备的网络安全功能上的选择和实施,开发团队应计划进行两个售后活动。
5.定义与客户沟通的方法
评估购买设备的客户可能需要知道该设备可以提供哪些安全功能。安装后,他们可能需要知道如何激活,修改或更新此类功能。因此,开发团队需要计划如何将此信息传达给客户。需要考虑的问题包括客户将了解哪种术语(基于他们的技术成熟度),他们将需要多少信息,如何使这些信息可用以及客户如何验证信息的完整性。
6.确定与客户沟通的内容
确定要传达哪些信息以及如何进行信息的确定可能涉及许多因素。要考虑的一件事是,一旦售出,将支持该设备多长时间,以及使用寿命终止后会发生什么。另一个考虑因素是确定客户需要了解哪些有关设备及其设计的知识,以便将其集成到他们的系统中并进行维护。要问的问题还包括:客户将如何获得软件更新,如何禁用设备以及如何将所有权转让给另一方?
网络安全似乎令人生畏,但是这些指南将为开发团队提供一个坚实的框架,以开始应对挑战。