采用怎样的策略方法提高物联网网络的安全性能
扫描二维码
随时随地手机看文章
物联网(IoT)连接将会应用到范围更加广泛的市场,其规模和程度将远远超出我们之前看到的任何技术。随着数百亿个连接节点的部署,并为各种各样的重要应用提供服务,工程师面临的最大挑战之一就是保护IoT网络中的大量敏感数据。随着物联网变得越来越普遍,所包含的节点数量越来越多,展现给潜在黑客的攻击面也就越大,因此物联网有一定的风险成为自身成功的牺牲品。本文概述了一些高级硬件和重要的策略方法,这些将有助于在日益恶劣的应用环境中保持物联网的安全性,同时物联网还要遵守严格的成本和功耗限制。
物联网的出现为社会带来了许多潜在的好处,这其中包括家庭自动化、环境监测、工业4.0以及更长远的智能城市等各个方面。令人难以置信的物联网网络规模及其导致的普遍性是这项技术的价值所在,物联网中包括数十亿个连接节点,所有这些节点都可以获取数据,然后对其进行编译和分析,并在随后采取相应行动。然而,这也是它的脆弱性所在。
根据定义,物联网节点的数量越多,恶意第三方的攻击面就越大。一旦发现漏洞并发生入侵,就可以侵入到整个网络,恶意软件基本上能够致使网络无法运行,拒绝服务(DoS)攻击能够导致通信中断,工业间谍也能够从网络中提取敏感信息。
尽管在确保物联网网络安全方面有明确要考虑的其他措施,但安全的基础是处于每个节点微控制器单元(MCU)上运行的软件完整性,以及MCU硬件本身。现代MCU已经集成有一系列不同的保护机制,其中包括复杂的加密/认证引擎、内置安全模块、密钥管理功能和篡改检测/预防功能等等。
对于所采用的众多IoT通信协议,无论它们是有线还是无线的,当然都要求适当加密/解密,以便充分保护传入和传出节点的数据。
有一点极其重要,在MCU启动时,以某种方式受到未经授权来源干扰或篡改的软件不允许进入系统。为了防止出现这种情况,需要建立“信任根”,以便可以启动安全启动操作。为了确保软件的有效性,需要具备强大的认证和验证机制。这样,对软件的任何改变都可以被检测到,并且可采取适当的措施来防止其侵入到物联网网络。此外,软件存储器的保护也至关重要,需要将软件存储在非易失性存储器上,这种存储器具有强大的安全功能,能够防止黑客进行修改或发生某种形式的篡改。
验证和加密保护
将某种程度的安全性应用到物联网基础设施的一种方式是采用哈希码(hash codes)。通过将数学算法应用于特定数字资产可以生成哈希码,从而可以产生与该资产相关联的唯一标识符。通过这种方式,任何此类资产都可以通过简化和省时的方式进行验证,只需重新生成其哈希码即可,这样可以通过应用相同的算法然后将两个哈希码相互比较来完成。
在软件中执行哈希码算法通常需要大量处理功能,并且也消耗相当多的功率。这实际上违背了物联网设计的基本原则,因为资源通常都是有限的,需要尽可能少地使用能源储备。我们在后面会讨论这些问题。
数据加密有两种基本类型。对称加密是一个相对简单的概念,发送者和接收者都依赖相同的密钥来加密和解密数据。正如您所想到的那样,采用这种策略的缺点是,如果密钥落入坏人手中,数据加密不仅将毫无用处,而且数据可以被泄露。相反,非对称密钥方法需要两个不同的密钥:私钥(保密)和公钥(共享)。在本质上,这些密钥在生成时的状态没有区别,其中任何一个密钥都可以作为私钥或公钥使用,这只是后续如何使用密钥的一个问题。
一种算法允许生成两个不同但又互补的密钥,通过一个密钥加密的任何数据可以通过另一个密钥解密。重要的是,无法使用公钥对私钥进行反向工程。因此,共享公钥并不会破坏私人数据财产的安全性。
由于公钥是免费共享提供,私钥持有者对通过公钥加密的数据进行任何信任都是不明智的,但任何设备通过私钥接收加密数据并使用公钥解密都是安全的。非对称加密在保证数据安全方面比对称加密更加有效,但这需要付出很多代价,因为它需要更多的计算工作量。
卸载MCU安全性
在成本和功耗受限的物联网设计中,所采用的MCU不需要是复杂的高性能器件。因此,在大多数情况下,很可能需要弥补实际MCU上的安全功能。指定一个伴随MCU的协处理器IC被证明是一种非常有效的方法。
英飞凌的OPTIGA family可信平台模块(TPM)拥有非对称加密操作所需的硬件加速器,例如支持椭圆曲线加密(ECC)和Rivest Shamir Adleman(RSA)算法的加速器,它们还具有生成SHA-1和SHA-256哈希码所需的算法。通过使用这些TPM,数据的加密和解密不再需要由系统MCU处理,而是可以卸载,从而允许MCU资源集中在其他任务上。这样做的结果是,实现系统高度的安全性不再以牺牲MCU的运行性能为代价。
图1:英飞凌OPTIGA TPM。
Maxim Integrated的DS28C36 安全认证芯片同样可以与任何MCU和外部非易失性存储器一起完成设计,以创建信任根,从而可以进行安全启动或无线更新固件,即使是对于简单、低成本硬件也可以实现这些。它通过使用公钥和私钥以及SHA-256哈希码来工作,软件开始在MCU上运行之前需要验证其真实性,这是通过对称和非对称加密的组合来实现。使用DS28C36时,OEM在安全环境(例如制造站点内)中生成公钥和私钥,私钥永远不会离开此位置,因此没有机会被恶意的未授权方获取。使用该私钥可以对固件进行编码,相应的公钥在出货之前被整合到设备之中。
图2:Maxim DS28C36安全认证IC的典型应用电路。
在上电期间,MCU从外部存储器加载固件,该固件已通过私钥加密。但MCU并没有在开始立即运行固件,而是启动管理器检索代码并传递给DS28C36,然后DS28C36从固件生成SHA-256哈希码。接下来,将其与固件证书内的哈希码进行比较,该证书是在安全环境中通过私钥加密代码时生成的。最后,通过DS28C36内部的公钥,代码签名得到验证,DS28C36可以确认MCU运行固件。
图3:Microchip的ATECC608A。
Microchip的ATECC608A 加密协处理器产品能够安全地存储多达16个不同的密钥,它通过椭圆曲线数字签名算法(ECDSA)、椭圆曲线Diffie-Hellman(ECDH)和NIST标准P256椭圆曲线等来支持非对称签名、验证和密钥协商。ATECC608A还集成有用于对称算法的硬件加速器(例如用于生成SHA-256哈希码的硬件加速器)以及AES-128加密/解密,还具备安全启动功能。ATECC608A旨在解决整个密钥生命周期的问题,包括私钥生成、ECDH密钥协议、ECDSA签名生成和ECDSA公钥签名验证。它能够以比标准微处理器上运行的软件快1000倍的速度执行非对称加密功能,多个私钥和公钥组合可以直接存储在器件内部。此外,它还支持随机私钥生成,而不允许私钥离开设备。公钥自动生成为此过程的一部分,但也可以在事件之后生成。
物联网网络的安全性需要从头开始构建,每个节点都需要相应的布防。很明显,将安全任务直接施加到已经载荷过度的MCU上可能会适得其反。因此,如果将此任务卸载到另一个完全集中在安全方面的IC上,将具有多种运行和逻辑上的优势。