物联网IOT系列之13:物联网安全

物联网
后台-插件-广告管理-内容页头部广告(手机)

假设,有人安装了可以从移动设备访问的家庭自动化系统。这是一种强大的力量,因为用户可以随时随地访问通过嵌入式电子设备赋予智能的电子设备和各种常见的家庭用品。同一个家庭自动化系统被某人以不道德的方式入侵并最终成为室内盗窃的一种手段会怎么样。在这里,物联网的光荣概念伴随着一个警告——“安全”。

物联网IOT系列之13:物联网安全

物联网安全是任何物联网应用程序开发中都必须事先注意的问题。安全不是事后才想到的。它必须是物联网应用程序开发中不可或缺的一部分。

由于物联网设备的多样性、数据的规模和多样性以及物联网通信的互连特性,在物联网的每个架构层部署适当的安全措施非常重要。安全措施需要应用于系统内部署的信息资源和通信资源。安全功能也必须根据物联网的不同用例进行定制。

物联网系统中的安全意味着物联网系统中的信息资源只能由授权用户或设备访问。授权用户必须能够添加、删除或修改信息资源。他们必须能够随时随地访问他们权限内的资源。他们必须有适当的备份选项,不仅可以保护他们的身份验证,还可以保护他们的数据和应用程序。安全功能必须应用于每个级别——物联网设备、网络和云。这些安全功能必须能够实时提供保护,因为物联网领域中设备到设备的通信以及设备到云的通信甚至云到云的通信都是实时现象。

从物联网平台的角度来看,为数十亿甚至数万亿台设备提供这样的安全性是一个巨大的挑战。即使是单个设备的安全性也不会受到损害。连接到云平台的大量设备也增加了系统的漏洞,让整个系统暴露在通过任何设备或用户的攻击者面前。因此,从设备级别到云平台,安全性必须是重中之重。

根据ITU-T,必须在物联网的不同层启用安全性。在设备层,物联网设备,从上电到访问数据,再到将数据发送到云端,都需要高度安全。在设备层,可以通过实施身份验证、授权、设备完整性验证、访问控制、数据机密性和完整性保护来执行安全性。

对于端到端的数据传输,网络层作为中介起着重要的作用。它从物联网设备接收数据并将数据发送到云端,反之亦然。因此,通过在各种 OSI 层的通信协议中实施安全协议或安全措施,发送数据的传输介质应该得到足够的保护。网络还应在发送和接收数据时执行授权、认证、信令数据机密性、信令数据使用和信令完整性保护等安全操作。

在应用层,当物联网设备通过网络将数据发送到云端时,云端必须存储数据,进行一些处理和分析,并根据这些分析采取某种行动或提供见解。因此,在应用层,实施授权、认证、应用数据机密性和完整性保护、隐私保护、安全审计和防病毒保护等安全措施也很重要。

因此,物联网架构的每一层都有安全措施建议。整个应用程序需要从下到上的每个级别都得到充分保护,只有物联网应用程序才能可靠有效地使用。

端到端加密——必须在整个设备生命周期中定义安全性——从初始设计到操作环境。在物联网设备上启用的安全性,需要在网络上启用相同的安全性。在自下而上的方法中(从设备供电到云端数据存储),安全和加密措施可以用以下框图表示 -

物联网安全块表示

1) 设备安全启动——要安全地运行物联网设备,必须首先完成安全启动过程。通过安全启动访问设备后,仅应发送或共享数据。这是设备层提供安全性的第一步。

设备首次上电时,需要验证作为设备主要进程代码的boot loader(即boot loader是否为正版)。只有完成后,设备的其余过程才能得到保证。

该设备的引导加载程序代码是使用安全开发流程开发的。当制造商开发设备时,它会将私钥和公钥一起存储在设备的安全存储器中。现在,当为该设备开发引导加载程序代码时,它的加密哈希将使用设备的私钥进行数字签名。每当要在设备上安装引导加载程序固件时,都会根据设备的公钥检查哈希签名,以确认它是来自制造商的经过身份验证的哈希值。然后再次对固件代码进行哈希处理。然后将新的散列值与之前的签名散列值进行比较。如果两个签名的哈希相互匹配(这表明固件代码没有被更改),那么只有安装新固件。

此后,每当设备启动时,都应使用加密生成的数字签名来验证已安装的引导加载程序代码的真实性和完整性。现在信任根已经建立,但这并不意味着设备现在已完全安全。它在访问数据和与网络连接方面仍然需要保护。

2) 访问控制——现在,在设备安全启动后,物联网设备中的数据需要得到保护。数据应由有权操作设备的受信任用户访问。例如,操作系统只允许管理员访问文件系统,而不允许其他未经身份验证的用户访问文件系统。只有 root 用户可以访问所有数据。没有其他用户可以访问系统中的所有资源。对于物联网设备,需要访问控制以确保只有受信任的用户才能访问所有信息并控制该设备。应该有某种通行密钥或其他一些安全措施来验证设备上的数据,这些数据应该只提供给受信任的用户,以便他们只能安全和私密地访问数据。

3) 设备认证——数据在设备端得到保护后,当物联网设备尝试连接到网络时需要对其进行保护。当它尝试连接到网络时,设备应该允许在通过网络接收或传输数据之前进行某种身份验证。例如,访问企业网站,用户需要通过提供用户名和密码进行用户认证。很多时候,用户需要提供多因素身份验证,其中可能还包括通过指纹或视网膜扫描进行的生物识别身份验证。同样,设备或机器身份验证应该存在,以允许设备以安全的方式访问网络。

4) 网络安全——物联网设备以安全的方式将数据发送到云端。现在,网络有责任安全且不可更改地接收数据并将其传输到云端以供进一步处理。会有某种攻击,例如中间人攻击。因此,应该有某种身份验证、授权和传输层安全。不同的协议使用不同的传输层安全性来将数据从设备安全地传输到网络。还有许多安全协议可以保护网络上的数据。

5) 基于云的安全性——现在在网络层启用安全性后,数据将被存储、处理和分析,以便在云上采取行动或获得洞察力。因此,需要基于云的安全性。将要存储数据的云应该足够安全,以便用户(有权控制云的所有者除外)永远无法访问云,因为主要数据存储在云上并且需要完全安全。市场上有许多安全云,如IBM Bluemix和AWS IOT 云,它们提供完全控制以安全方式存储和访问数据。

没有安全性,物联网就什么都不是。必须启用上述安全措施作为物联网开发的组成部分。因此,攻击者没有入侵设备、网络或云的途径。

从下一个教程开始,将开始使用 ESP8266 进行实际的物联网开发。ESP8266 是一款具有完整 TCP-IP 堆栈的 Wi-Fi 微芯片。它提供多个模块,可用作物联网的开发板。这些板可以使用各种应用层协议轻松连接到网络,并通过不同的物理层技术进行连接。

下一篇教程将深入探讨应用层协议MQTT。然后,在接下来的教程中,ESP-01 模块将使用 MQTT 协议连接到互联网。

后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。