大规模的恶意网络攻击正变得越来越常见,这无论是对政府机构还是私营企业都造成巨大影响。随着时间的推移,这些网络攻击变得越来越复杂,因此也更难以缓解。其中最引人注目的一个例子是WannaCry,一个勒索软件设法攻击了超过20万台计算机,造成巨大的破坏以及数亿美元的损失,也许更多!
未来生产系统中将有数百亿个物联网节点通过公共互联网连接到云,为了保护敏感数据免受未经授权第三方的访问和窃取,确保物联网强大的安全性将至关重要。然而,由于物联网节点通常位于网络边缘,现有的加密机制需要依赖太多资源以致于在这种环境下无法实施。因此,这意味着需要采用更合适的轻工作量或零工作量(zero-touch)配置方案。
在制造阶段将安全密钥直接嵌入到器件中被证明是一种非常有效的保护手段,同时仍然能够尊重这些运行规范。本文中贸泽电子介绍了Microchip的ATECC608A专用安全IC如何通过Google Cloud IoT核心服务用于硬件身份验证,同时还可以降低整体物料清单成本和功耗水平,而只需要很少的软件开销。
随着越来越多的物联网节点部署在生产系统,这些节点仍然使用公共互联网与云通信,因而为通信和身份验证提供强大而有弹性的安全性至关重要,这对于保护系统免受攻击和保护数据安全非常必要。
由于部署的网络边缘节点数量可能会达到数万个,因此轻工作量或零工作量配置是一个起码的要求。在制造阶段将安全密钥构建到器件中是满足安全性和易配置性的极其有效方式。
本文中,我们将介绍Microchip ATECC608A以及如何通过Google Cloud IoT核心服务来实现基于硬件的身份验证。
IIoT中极其重要的安全性
近年来,对工业和商业系统的恶意攻击数量和频率均有所增加,这些可能是出于犯罪目的,也可能是政府网络战策略的一部分。恶意网络攻击变得越来越复杂,并且会损害大量设备。最近的一些网络攻击例子包括:
·2010年:Stuxnet蠕虫据称对伊朗的核加工厂造成了重大损害。
·2014年:广泛使用的OpenSSL安全软件中发现有Heartbleed病毒,并被用于窃取来自多个系统的信息。尽管该漏洞在2014年已得到修复,但仍有许多未修补且易受攻击的系统。
·2016年:Mirai恶意软件将大量监控摄像头和路由器等在线设备转变为“僵尸网络(botnets)”,用于发动分布式拒绝服务(DDoS)攻击。
·2017年:据估计,WannaCry勒索软件影响了150个国家/地区的20多万台计算机,造成的总损失据信达到数亿或者数十亿美元。
·2018年:万豪连锁酒店发现攻击者入侵他们4年的客户预订数据库,这使得大约5亿人的个人信息面临被盗取风险。
在工业环境中,对单个IoT节点的恶意访问也具有足够大的破坏性。更大的风险是,这使攻击者能够盗取通信身份,从而致使无限数量的设备受到攻击。此类安全漏洞可能会损害您的客户、您自己的收入和声誉。
私钥和公钥
互联网上几乎所有安全通信都依赖于公钥加密。这种加密方式使用一对加密密钥:一个密钥是公开的,任何人都可以使用;而另一个密钥则被所有者秘密保持。用任一密钥加密的消息只能用此一对加密密钥中的另一个解密。
以这种方式加密数据需要复杂的计算,因此通常仅应用于短消息。
有几种数学技术用于执行公钥加密。最早的方法是基于这样一个事实,即大整数因子分解比从主要因子产生大整数要困难得多,这是由Ron Rivest、Adi Shamir和Leonard Adleman发明的RSA算法的基础。其他加密系统使用了离散对数(discrete logarithms),最近的一些技术则使用了椭圆曲线(elliptic curves)。
椭圆曲线加密(ECC)比其他替代方案具有更高的安全性。自RSA加密发明以来,已经开发了各种对其攻击的方法,这些攻击方法与日益增大的可用计算能力相结合,意味着必须使用比过去更长的密钥来提供相同级别的安全性。然而,在ECC的情况下,即使经过三十年的研究,仍然没有发现可以很容易破解ECC的捷径。
因此,使用ECC可以采用较小的密钥来获得相同级别的安全性,这意味着可以使用IoT节点中功能较弱的处理器来完成安全加密。使用ECC可节省时间、功耗和计算资源,其他的挑战是如何确保公钥实际上为正确的人或实体所拥有,而通常的方法是使用受信任的证书机构(CA),这些是生成密钥对的组织机构。通过使用自己的私钥对其进行签名,能够向所有者提供私钥,并证明公钥的所有权。有相对较少数量的根证书机构能够提供可由其他人用来生成和签署中间证书的密钥,从而创建了一个“信任链”。
信任链不仅必须包括通信链路两端的系统,还必须包括硬件和软件供应商。
您可以通过多种方式来使用公钥加密:
·任何人都可以使用公钥对信息进行加密,但只有收件人才能使用相应的私钥读取信息。
·发件人可以使用其私钥对信息进行签名(例如,通过附加信息的加密副本),然后,任何人都可以使用发件人的公钥来解密签名,从而对签名进行身份验证(实际上,哈希函数(hash function)用于生成表示信息文本的数字,然后将此哈希加密为签名)。
·还可以使用数字签名验证信息的完整性。如果解密的签名与明文不匹配,则表明该信息已被篡改。
·两个人可以使用私钥和另一个人的公钥独立生成共享密钥,该技术被称为Diffie-Hellman密钥交换,以纪念发明人。然后,共享密钥可用于加密和解密两人之间的信息。这需要较少的计算,因此可用于较长的信息。
您可以使用这些技术来保护通信,并在安装之前验证软件更新是否来源可靠。
在所有这些用例中,我们可以看到保护私钥对于系统的安全性至关重要。
管理物联网系统中的安全性
强大的身份验证和数据加密是物联网安全通信的核心,要求IoT节点具有安全、唯一且可信的身份,这可以通过使用公钥加密来提供。
但是,管理IoT节点私钥却存在一些挑战。例如,私钥通常存储在微控制器存储器中某处,这意味着获得系统访问权限的人将能够读取密钥。操作系统或应用软件中的漏洞经常被用来获取访问权限。虽然可以安装软件更新来修复安全漏洞,但是一旦更新公布,就会让全世界都知道这些漏洞。
由于需要进行全面测试并避免停机,因此可能需要数月才能更新工业系统中的嵌入式软件,这可能使系统仍然在比较脆弱时为恶意攻击者留下重要的窗口机会。
另一个潜在的弱点是人的因素。 人们可能会不小心,选择捷径,或者被试图提取有关系统关键信息的人操纵或说服。
因此,为了保护私钥安全,需要满足以下目标:
·切勿将私钥存储在微控制器存储器中
·将私钥隔离,使其不能通过软件直接访问
·保护私钥,使其不受他人访问
实现这些目标的理想解决方案是采用专用安全器件,以便授权和加密都是在安全硬件中进行,并且永远不会暴露私钥。这种器件的一个范例是Microchip的ATECC608A。
Microchip ATECC608A
Microchip ATECC608A(见图1)是一种支持多种加密算法的加密协处理器,它可以在安全硬件中存储多达16个私钥或证书,密钥永远不会在外部暴露。
图1:ATECC608A加密协处理器。(来源:Microchip)
该器件支持椭圆曲线Diffie-Hellman(ECDH)密钥交换和椭圆曲线数字签名算法(ECDSA),也可为AES-128和SHA-256等其他算法提供硬件支持。
ATECC608A专为物联网市场而设计,具有功耗低、成本低、软件占用空间小等优势,即使是小型微控制器也可以使用。CryptoAuthLib库使其能够独立于任何特定的微控制器,并且通过使用标准JSON WebToken(JWT)进行身份验证使其与软件安全堆栈无关。
制造生产时会生成证书和密钥,并将其存储在芯片上的安全硬件中,从而能够提供零工作量配置。密钥永远不会被制造设备或人员所看到,这些密钥还有防篡改保护,即使可以物理访问硬件,也能够防止读取密钥。
Microchip已与Google合作,使用ATECC608A能够提供集成的云身份验证流程。
Google Cloud IoTCore
Google在可扩展的全球通信、数据存储和分析方面拥有丰富的经验,使其成为物联网云服务的理想提供商。
Cloud IoT Core是一种用于安全连接和管理物联网设备的服务,无论是几个还是几百万个节点都可以适用。它可以使连接的设备传输数据,并由Google Cloud Platform进行处理,参见图2。这种服务以完全透明的方式在世界任何地方提供,因而能够实时分析和可视化物联网数据,生成的建议可减少停机时间和提高生产率。
可以使用ATECC608A进行身份验证并与Cloud IoT Core进行安全通信,该过程总结如下:
1.从所选证书机构获取根证书。
2.然后,创建由根证书签名的OEM证书
3.与Microchip的秘密交换能够在安全的制造环境中在器件上创建器件证书,进行证书签名。
4.然后,可以将器件的公钥上传到您的Google IoTCore帐户,从而实现安全的身份验证和通信。
为了执行认证,微控制器使用ATECC608A通过ECDSA对令牌进行签名。在微控制器和协处理器之间不传输机密信息。
图2:使用ATECC608A进行Cloud IoT Core认证。(来源:Microchip)
签名的令牌然后传递给Cloud IoT Core的设备管理功能,该功能使用先前存储的公钥来验证签名,同时验证节点,从而实现安全通信。
有关这些内容的更多信息,请参阅Microchip网站上的文章:Why harden your IoT Security with the ATECC608A for Google Cloud IoT Core?(为何要使用支持Google Cloud IoT Core 的ATECC608A来加强您的IoT安全性?)
结论
我们时常被提醒维护连接系统安全的重要性,公钥加密在实施必要的安全协议时可以发挥重大作用。
ATECC608A加密协处理器解决了IoT节点中管理私钥的许多问题,它与任何类型的微控制器兼容,并能够与Google IoT Cloud Core无缝集成。
ATECC608A只增加了系统几美分的成本,但却能够显著提高系统的安全性,能够以非常小的代价避免成为下一个恶意攻击目标和新闻话题。
-
IIoT
+关注
关注
3文章
231浏览量
26079
发布评论请先 登录
相关推荐
评论