嵌入式设备一直受到攻击。什么在最近几年发生了变化是黑客访问这些设备的能力。在该用于保护工业控制器和类似设备的网络气隙已经填充,由于生长在使用无线网络的互连它们。无线网络中引入了更多的便利性和灵活性,而且还提供了黑客发动攻击的简单方法。我们需要的是硬化抵御攻击的设备,采用的技术的组合,以支持高安全性。 关键安全加固是一组基本的构建模块一起使用时,拒绝黑客攻击,并保持完整性。具有无线功能的设备需要确保其能够保持它自己的代码和数据控制,以及与能够提供必要的认证被信任的远程端点支持专用通信。 为什么设备的认证是必不可少的一个例子是中间人攻击。这是一种攻击,其中两个合法的设备之间的黑客截取通讯和窃听对话,以及以争取到一个或两个设备的访问秘密或进入改变他们收到的数据包。针对支持Wi-Fi功能的设备中,一种常用的攻击是创建一个伪装成受操纵数据转发到真正的接入点和设备自身合法路由器的访问点。使用这样的技术,攻击者可以学习执行成功登录所需的访问代码,或者它们可以注入一种使设备成为故障虚假数据或恶意软件。 受保护的对话是很重要的,这点要使用加密,使窃听变得更加困难了潜在的攻击者。然而,支持加密技术极大地简化了创建安全设备的工作。 在每一个安全的物联网设备的中心,需要有信任的根。这是一套在嵌入式设备功能,可以通过计算机的操作系统和软件可以完全信任的。这使得它可以检查任何设备的真实性和其运营的有效性的机制 - 在今天的设备,信任的根是通过使用公共密钥基础设施(PKI)加密的保证。 今天,PKI是密码学在高度分布式环境中成功利用的关键。PKI是围绕创建对加密密钥正在使用不对称的建造。其中之一是,可以自由地分发和用于加密发送到私钥的持有者信息的公共密钥。在没有风险在公共网络上传输的公共密钥的能力,大大提高了使用对称密钥系统相比,基于加密的安全的可扩展性。 由于对称系统使用相同的密钥进行加密和解密,密钥必须从未经授权的用户任何时候都保密。这使得它很难提供可信密钥的用户,因为他们必须使用替代,高度信任渠道,以获取密钥进行通信。 在PKI,只有私钥的持有者才能解密公开密钥的人发出的消息。所以,关键必须保密。然而,通过PKI支持的协议意味着,从未有一个需要发送的私有密钥给其他用户。所有的通信都通过使用私钥使用公共密钥和证书的数字签名支持。 PKI数据可以计算密集型,这可以使它很难在嵌入式系统中实现。但是,使用专用协处理器将减轻从主处理器处理所述密钥和加密的数据的负担。这样的协处理器上找到德州仪器 SimpleLink CC3220无线微控制器。该CC3220解决方案结合了Wi-Fi收发器,TCP / IP网络和加密引擎基于ARM®的Cortex®-M4 MCU微处理器。 图1:CC3220的框图。 传输层安全(TLS)协议几乎普遍使用的互联网是基于PKI,防范窃听和帮助防止人在这方面的中间人攻击。然而,与PKI的核心,它是可能超越只是信息的加密和保护。芯可以组合使用精心设计的硬件特性来构建用于确保该设备只能运行授权代码的嵌入式系统的信任根,并从以下,只跟授权的设备的其他地方的网络。 信任根背后的想法是,只有已被信任方签名的代码允许在系统启动时运行,该代码无法除非同一信任方改变。为引导代码的关键因素是,它是利用PKI技术,创造出一种依赖于代码本身的内容的散列值进行数字签名。这个过程签订通常是通过谁首先获得或产生由制造商的私有密钥保护的基于PKI的数字证书与设备制造商进行。用于该方法的数字证书通常从已经通过高信任机构产生根证书的。根证书支持指向一个核心可信实体导出证书的树代 - 信任链,其是攻击者难以妥协。 当加载到设备,并使用匹配的公钥进行分析,代码签名需要精确匹配的二进制文件的内容。该软件的任何更改将迎来哈希为无效,而且该设备会拒绝从该映像引导。这有助于防止集中在存储的图像的操纵插入恶意代码的攻击。 公共代码验证密钥需要存储在安全存储器,与设备的自己的私有密钥,它会用它来生成用于与其他设备通信信任密钥对一起。这种设备可在CC3220。以及用于代码验证密钥的安全存储和本地系统的私有密钥,该装置提供了可用于验证由设备制造商或服务运营商提供的其他数字签名的真实性的信任的根证书目录。 需要被从服务器发送的代码更新和其它安全数据可以使用类似的过程,在图2中首先概述进行验证,服务器生成一个公共/私有密钥对,并提供公版到设备。这用于生成临时密钥对。导出的公钥发送给应用服务器。加密文件可以通过诸如Wi-Fi无线不安全信道发送和设备,其中,它的签名可以经历最后的真实性检验上解密一次。 图2:用于递送安全内容到设备的方法。 任何未经授权的代码或数据更新可以,如果签名不匹配被拒绝。此外,该设备进行保护,防止了涉及中断的更新过程中的复位造成的攻击。潜在的,有部分安装固件的设备可能成为容易受到取软件处于不确定状态时,它会重新启动的优势攻击。在CC3220,自动回滚被触发之后复位,以确保只有完全安装和认可的固件可以运行。 该CC3220提供了进一步的篡改检测和保护功能。理想情况下,信任根使用PKI操作,从本身延伸出来受信任区域,以覆盖该签名并执行前检查系统的其他元件,例如应用程序代码。然而,有恶意代码在出厂时,或需要运行多种服务引入的可能性涉及的不受信任的代码加载。另一种情况可能是黑客获得对设备的物理访问,并通过内存总线的直接操纵引入自己的代码。在CC3220的安全警报计数器跟踪访问冲突,比如试图读取或写入使用无效或不恰当的安全令牌文件。当系统达到安全警报的预定义的限制,手机被锁定。为了从锁定状态恢复时,必须将设备恢复到出厂设置和代码库。 图3:CC3220的安全功能。 具有设备上的硬件加密引擎,如CC3220的优点是,处理器不需要加载可能不受信任代码来运行PKI算法之前,可以测试用于出处引导软件的其余部分。所述加密和安全的功能的代码不仅由运行沿着主的Cortex-M4核心的专用网络处理器执行时,它被存储在ROM中,以便它不能被攻击者修改 - 即使一个与该系统的物理访问。 结论其结果是一个高度安全的无线微控制器,可为智能控制安全的,安全的,但灵活的环境对物联网的兑现承诺的基础。有额外措施软件开发商需要采取以避免开放的安全漏洞,而是通过使用加密和只与信任的各方保持沟通,攻击者获得对设备的可能性大大降低。
|