有人物联网官方网站
有人物联网官方网站
联网找有人!
联网找有人!

加密技术可确保固件更安全

2021-05-25

分享到:
{}

  物联网安全性已经被各行各业的人们关注,尤其是诸多传统行业正在准备向物联网智能化转型的人们,由于对物联网的未知造成望而却步的境地,甚至只能眼睁睁看着竞争对手捷足先登,智能化产业链提高产能。物联网数据传输过程中,固件升级的加密技术已经是存在已久,而考虑设备的固件设计时,密码学原理通常在保护设备免受攻击者的侵害中起着重要的作用。本文将讨论四个示例,说明如何使用加密技术使嵌入式处理更安全:安全地进行空中(OTA)更新、主机网络上的加密通信、安全的密钥共享、身份验证。

  1、安全的OTA更新

  在开发和批量生产之后,OEM要求能够更新已部署设备中的固件以纠正错误并添加新的浙江11选五开奖走势图功能。进行此类更新的最实用方法,尤其是当必须更新大量设备时,是使每个设备通过无线方式下载新固件,通常是从Internet上的服务器上进行下载。

  随着互联网上的通信,数据完整性和真实性成为人们普遍关注的问题。中间人(MITM)攻击等潜在危害使得必须验证设备是否实际下载了其认为的内容。如果它下载并安装了攻击者作为合法固件冒用的东西,则表明攻击者已成功劫持了该设备。

  因此,设备必须能够确定下载的固件映像来自受信任的源,并且它恰好是由该源提供的,并且不以任何方式进行更改。一种常见的方法是使用数字签名。数字签名和签名验证是用于验证数据(在此情况下为固件映像文件)的真实性的加密算法。

  该过程基于非对称加密,采用一对加密密钥-一个指定为公共密钥,另一个指定为私有密钥。受信任的源使用私钥对合法的固件映像文件进行签名,并使签名可与映像文件一起下载。设备会下载图像文件和签名,然后使用公共密钥来验证签名。如果图像文件恰好是使用私钥签名的文件,则签名将成功验证。但是,如果图像文件与使用私钥签名的文件相差1个字节,则签名验证将失败。

  为了使技术细节简短,通过计算整个图像文件的哈希值(或摘要)并使用私钥对该哈希值进行加密来生成数字签名。通过使用公共密钥解密下载的签名并将结果与??在整个下载的图像文件上计算出的哈希值进行比较,可以对下载的签名进行验证。如果这两个比较项相等,则签名验证成功。

  公共密钥位于设备中,以便在需要时执行这种签名验证。显然,由于任何由私钥进行数字签名的文件都将被认证为合法文件,因此必须将私钥安全地保存在安全的地方,以免被他人误用。

  因此,我们为设备提供了一种手段,以证明其下载的固件映像与可信任来源的固件映像相同,因此可以安全地安装,或者它是伪造的并且一定不能安装。没有这种机制,OTA更新可能会受到试图将自己的代码引入嵌入式设备的黑客的攻击。

 

  2、主机网络上的加密通信

  正如需要安全地执行OTA更新一样,一般而言,网络通信也是如此。在像Internet这样的公共网络上尤其如此,因为通过直接连接到设备或窃听往返于设备的流量,潜在黑客的可访问性变得更大。

  设备和所有连接的对等方应相互加密其通信。黑客可以轻松地分析纯文本流量,以窃取敏感信息或了解如何模仿通信。通过执行后者,黑客可以发送恶意命令来控制设备,并且设备会响应它们,认为它们来自合法对等方。

  在两个通信节点之间实现加密和解密的最简单方法是使用诸如AES之类的算法,该算法使用两个节点中的相同加密密钥来加密出站流量并解密入站流量。AES是对称密码的一个示例。

  这样的基本方案具有简单和快速的优点。它很容易在固件中实现。另外,AES速度快,并且需要相对较低的计算能力,这使其成为嵌入式设备的诱人选择。但是,它的主要缺点是容易受到损害。由于相同的密钥已预安装到设备和所有合法对等设备上,并且不会更改,因此,黑客可以获得更多的机会来破解它。他们拥有更多的目标密钥承载者,并且没有时间限制来发现密钥。

  一种改进是定期更改密钥。然后,即使黑客成功获取了密钥,如果密钥已过期并且新密钥已激活,它也将不允许与设备进行交互或解密未来的流量。

  但是,当发生密钥更改时,如何在所有对等方之间安全地传达新密钥?请记住,他们是在公共网络上,窃听是一个主要问题。答案再次在于引入与非对称密码学相关的技术。值得一提的是,非对称算法相对更复杂,因此比对称算法需要更多的计算能力。

  同时使用对称算法和非对称算法的好处是,它使实现能够利用每个人的优势,而同时又不受其局限性的不利影响。保护数据流量需要持续进行。因此,有意义的是对称加密和解密以提高功率效率。

  加密密钥应该定期更改,因为静态密钥可能容易受到攻击,但是没有对称方法可以安全地进行操作?梢允褂梅嵌猿品椒ā5牵皇欠浅J〉绲摹P以说氖牵饨桥挤⑹录涔β市什⒉恢匾R虼耍嵌猿频馗拿茉渴鞘实钡摹

  本文的其余部分详细说明了仅使用对称密码保护数据流量的系统的局限性,以及密钥共享机制在使用非对称方法的改进设计中如何工作。另外,将证明,非对称算法可以用于认证,以防止黑客试图模仿嵌入式设备或通信对等体的攻击类型。

  但是首先,关于使用标准化网络协议的说明...

  我们正在描述一种方法,借助该方法,可以借助基于非对称密码学的原理使在任意介质上的网络通信更加安全。但是,请理解,如果您的通信介质已经带有定义良好且标准化的安全基础结构,则不建议您按照此处所述设计自己的安全通信方案。

  例如,如果您的设备将通过Wi-Fi与TCP / IP网络上的对等方通信,则很可能应该使用传输层安全性(TLS)来保护它。如果您的设备将通过低功耗蓝牙通信,那么至少在撰写本文时,LE安全连接可能是最好的方法。

  此外,用于诸如此类的流行媒体的可商购?橥ǔ4形榷ㄇ揖馐缘耐缍颜弧K鞘股杓迫嗽蹦芄辉谑凳┫喽越仙俚淖远ㄒ宕氲耐敝С直曜蓟椋佣跎僖氪砦蟮幕帷0踩约雀丛佑种匾虼四幌M跋帐褂梦薹ㄍ耆肥迪值淖远ㄒ迨迪掷幢┞渡璞钢械穆┒础

  但是,如果您的通信媒体尚未提供这种标准化的网络和安全性,则可以使用一种方法(如此处讨论的方法)来设计协议。例如,如果您在设备中使用其中之一,则市场上任何数量的Sub-GHz无线电?槎夹枰远ㄒ逍椤5牵还苣陌咐欠裥枰远ㄒ迳杓疲M疚亩岳斫夥嵌猿泼苈胂低持械牡湫突坪苡邪镏

  现在,回到对称密码的局限...

  早先,我们提到过像AES这样的对称加密算法是保护嵌入式设备通信的理想之选,因为它计算速度快并且需要相对较低的计算能力。对于电池供电的设备(必须能够长时间运行,然后再充电或更换电池)而言,这一点尤其重要。

  但是,我们也发现了一个缺点,即仅采用一种仅使用诸如AES之类的算法的简单方法,两个通信节点都使用相同的不变密钥,这可能表明可能存在黑客漏洞。如果黑客能够发现此秘密密钥,则他/她将可以解密用它加密的所有捕获的通信(过去,现在和将来),并与受感染的节点进行恶意交互。显然,这将是一个严重的问题,并且可能会造成灾难性的后果,具体取决于在设备和合法对等设备之间传输的数据的敏感性,或者黑客能够与之交互的后果。

  因此,周期性地改变秘密密钥的能力将是非常有利的。如果某个密钥确实遭到破坏,则黑客将只能在使用下一密钥激活之前仅解密使用该密钥加密的网络流量,并且仅与该设备进行交互,直到该下一密钥变为活动状态为止。

  但是,如何通过通信网络安全地更改密钥呢?这正是我们怀疑黑客正在窃听的网络,我们旨在通过加密来保护它。通过网络以明文形式发送新密钥将是有问题的,因为窃听的黑客会很明显地看到它。传输使用前一个密钥加密的新密钥同样会遇到问题,因为它引发了一个问题:“当两个节点首次开始通信时,如何传输第一个密钥?” 此外,激活新密钥的全部原因是因为我们怀疑先前的密钥可能已被破坏。

  3、安全密钥共享

  这就是不对称密码学原理可以提供帮助的地方。非对称密码学的有效性取决于所谓的陷门单向函数。这样的函数很容易在正向方向上进行计算,但是在没有一些秘密信息的情况下却很难在反方向上进行计算。

  例如,广泛用于保护Internet通信的RSA加密,其明文消息是该活板门功能的输入,而密文是它的输出,其工作原理是。也就是说,(正向)加密很容易,而如果没有私有密钥(那条秘密信息),则(反向)解密将非常困难。

  通过利用另一个活板单向功能中的此属性来执行称为Diffie-Hellman密钥交换的操作,可以实现安全密钥共享。执行这种密钥交换的两个节点中的每个节点都将其自己的私有号码以及公共的公用共享号码输入到陷门功能中,并公开地将其输出结果传输到另一个节点。

  这个特殊的陷门功能具有一个附加的特殊属性:当每个节点第二次计算该函数时,将从另一个节点接收的输出结果作为输入来代替公共公用编号,则这两个节点的第二次计算的结果为相同。这个共同的结果就是新的秘密密钥。

  该机制相当于安全密钥共享,因为新的秘密密钥本身实际上并没有通过网络共享,以供窃听者看到(图2)。需要两个节点的私有号码来导出新密钥。由于陷阱门功能的单向性质(即,在反向方向上极度困难的计算),因此在网络上共享的陷阱门功能输出对于窃听者来说没有用来计算这些私有号码。

  在任何时候,以我们选择的任何频率,我们都可以为嵌入式设备及其需要与之通信的任何对等方提供一种方法,以安全的方式商定新的密钥。此新密钥随后可以用于对称加密和解密,直到密钥再次更改为止。如果发现任何秘密密钥,那么黑客可以希望解密的传输数据量将取决于调用此新密钥协商机制的频率。

  但是,应注意,该频率应谨慎选择。正如我们已经提到的,与非对称操作相比,对称密码操作在计算上更省钱,更省力。这就是为什么我们选择像AES这样的对称密码来执行所有加密和解密的原因。我们应注意,添加以我们选择的速率更改密钥的机制是否会明显影响嵌入式设备的电池寿命。

  4、身份验证

  尽管我们现在有一种安全地共享秘密密钥的方法,但这仅有助于保护我们的嵌入式设备免于因某种原因而发现用于与合法对等方通信的密钥的破坏。我们还必须解决黑客可能将嵌入式设备冒充给合法对等设备,反之亦然,并寻求获得其自己的密钥的可能性!

  为此,模仿者将按照上一节中的说明执行成功的密钥协议,然后与设备或对等方进行完全加密的对话,而无需知道其实际上正在与攻击者进行对话。请注意,如果黑客同时冒充他人,则称为MITM攻击。

  如果黑客知道如何参与密钥交换,那么密钥交换本身就不会阻止黑客成功。为此,我们需要来自非对称密码学的另一种机制的帮助,即身份验证。

  身份验证实际上与我们在本文前面介绍的数字签名验证相同。回想一下,应该验证无线固件更新文件是否来自受信任的源,并且文件提供者通常的方法是在下载时将数字签名应用于文件和嵌入式设备以验证此签名。文件。在当前情况下,此相同的验证过程非常有用,除了现在需要验证的不是合法性,不是固件映像文件的合法性,而是Diffie-Hellman密钥交换中的消息。

  应该为每个嵌入式设备及其合法对等方生成一个单独的RSA密钥对。设备的私钥已安装在设备中,其公钥已安装在对等方中。为了安全起见,这应该在受信任的通信渠道上完成,而不是在黑客可以访问的网络上完成。通常,它会在生产时或在现场首次部署设备时发生?尚磐ㄐ磐ǖ揽梢允抢绲奖镜亓拥谋阈郊扑慊腢SB。同样,对等方的私钥也通过受信任的通道安装在对等方中,其公钥安装在设备中。

  当设备在密钥协商过程中将其消息发送给对等方时,它将使用其私钥对这些消息进行签名。当对等方收到消息时,它将使用设备的公钥验证随附的签名,从而验证消息实际上是由设备发送的。类似地,对等方使用其私钥签署其密钥协议消息,并且设备使用对等方的公钥对对等方进行身份验证。更具体地,数字签名采用陷门单向功能,类似于先前提到的RSA加密功能。

发表评论

姓  名*
邮  箱*
公  司  名 
评论内容*
验证码