论文部分内容阅读
网络通信研究领域的突破性发展带来了一种新型网络,即所谓的物联网(IoT)。作为当今的一大技术发展趋势,物联网已经吸引产生了大量的研究工作,从各种物联网架构到各类物联网系统要求。物联网的主要目标是实现设备之间的大数据流和大量节点之间的高效通信。最初,网络通信是一个发展瓶颈,因为大多数设备和技术仍停留在有线通信阶段。然而,后来出现的蓝牙、Wi-Fi等无线技术使节点间通信变得非常快速且易于实现。最新的物联网是由物理实体或嵌入式电子设备、软件、传感器和具备网络连接的事物组成的网络,它使实体能够收集和交换数据。物联网的快速普及正在推动家庭、工作场所和工业生产中日常使用的事物的智能化。物联网生态系统由支持网络的智能设备组成,这些设备使用嵌入式系统(如处理器、传感器和通信硬件)来收集、发送和处理从环境中获取的数据。物联网设备通过连接到物联网网关或其他边缘设备来共享它们收集的传感器数据,其中数据可被发送到云端进行分析或进行本地分析。有时,这些设备会与其他相关设备进行通信,并根据从彼此获取的信息采取决策行动。这些设备无需人工干预即可完成大部分工作,尽管人们可以与设备进行交互,例如进行设置、给与指示或访问数据。物联网被认为是未来最重要的技术领域之一,在随时随地将任何人与任何事物连接起来方面获得了广泛认可,并通过将传统生活方式转变为科技生活方式,逐渐成为了我们生活的重要方面。智能交通、智能城市、智能家居、污染控制、智能废物管理、智能健康等都是物联网技术带来的一些变革。为了实现这些期望的变革,研究人员使用一套规则、标准和协议开发和部署了种类繁多的物联网应用系统,这减少了物联网应用系统实施的复杂度。物联网系统中的设备必须相互通信,来自这些设备的数据需要由服务器收集,然后对数据进行分析或提供给用户。为了实现这一切,需要有效的网络通信协议来确保通信安全并避免数据丢失。物联网设备使用物联网协议进行通信。Internet协议(IP)是一组规则,用于规定数据如何发送到Internet。物联网协议确保来自一台设备或传感器的信息被另一台设备、网关、服务器读取和理解。针对不同的场景和用途,研究者设计和优化了不同的物联网协议。鉴于可用的物联网设备种类繁多,在适当的环境中使用正确的协议很重要。网络协议和标准是包含某些规则的策略,这些规则定义了网络上两个或多个设备之间的通信方式。智能手机和个人电脑等单一设备也使用网络协议进行通信。但是这些个人设备使用的通用协议可能无法满足特定要求,例如带宽、延迟等要求。因此,一些现有协议的改进版本和一些新的物联网协议被演化出来以满足物联网设备的特定要求。网络上的物联网设备必须就数据交换方法的各个方面达成一致,这样才能成功传输数据。目前已有一些重要的物联网协议,尤其是在物联网环境中建立设备到设备通信所需的消息队列遥测传输协议(MQTT)。物联网协议是物联网技术协议栈的组成部分。如果没有物联网协议和标准,硬件将被视为无用。这是因为物联网协议使硬件能够交换数据。并且,从这些传输的数据片段中,终端用户可以提取出有用的信息。根据环境和使用的设备采用正确的协议具有重要意义。尤其是这可以将物联网系统的安全性提高显著的水平。一些广泛使用的物联网协议是:超文本传输协议(HTTP)、约束应用协议(CoAP)、通用即插即用(UPnP)、可扩展消息和存在协议(XMPP)、数据分发服务(DDS)、消息队列遥测传输(MQTT)等。一般来说,各种物联网协议都采用了两种主要的消息传递模式,即:发布/订阅和请求/响应。但是,对于资源受限的设备,发布/订阅消息传递模式比请求/响应模式具有更多优势。请求/响应协议(例如HTTP)通常需要大量资源。此外,CoAP中使用的RESTful模式依赖于定期更新或轮询,这可以证明是资源高消耗的。通用即插即用(UPnP)是物联网设备发现和连接其他兼容设备的发现协议。UPnP组在2014年发布的新版UPnP协议中使用XMPP协议,将UPnP设备连接为XMPP客户端。XMPP协议的所有者对其进行了修改,以支持请求/响应和发布/订阅消息模式,并更好地支持物联网部署。然而,正如多项研究所强调的那样,在物联网部署中使用XMPP协议存在安全挑战。MQTT协议的发布/订阅概念允许以有效的方式向相关方面大规模分发信息。它通过允许数据发布者将其数据仅发送一次到发布/订阅服务器,然后将其重新发送给订阅者,将网络流量减少了一半。发布/订阅模式(也称为发布/订阅)提出了传统客户端-服务器架构的替代方案。在客户端-服务器模型中,客户端直接与端点通信。发布/订阅概念将发送消息的客户端(发布者)与接收消息的客户端(订阅者)分离。发布者和订阅者从不直接相互联系。事实上,它们可能甚至都不知道对方的存在。在各种物联网协议中,MQTT易于实现且极其轻量级,专为低带宽、不可靠网络和低功耗需求而设计,特别适用于物联网设备通信。MQTT在TCP协议栈之上运行,但其设计并未考虑安全性,而是希望实现一个非常简单和轻便的协议,以最大限度地减少带宽和能源使用。因此,MQTT的安全性不足给身份验证、授权、机密性和完整性方面带来了问题。关于MQTT缺乏机密性,我们认为MQTT中的数据包可以被攻击者窥探,这是因为其没有应用加密。因此,该传输协议上需要一种安全机制。在这方面已经出现了一些研究工作,以在MQTT之上使用TLS/SSL或添加额外的安全层来实现安全通信。MQTT协议的安全挑战取决于它的实现方式、配置方式和某些考虑因素,例如没有内置安全性以及具有通配符主题和链接资源等概念的协议可以通过公开它们的资源和收集有关的数据来针对用户MQTT消息中的数据隐私是一个问题,因为默认情况下,MQTT不提供任何数据加密。无论代理系统是否使用身份验证机制,攻击者仍然可以轻松嗅探传输中的数据。此外,MQTT不会检查它们传输的数据或有效负载。为了克服这些挑战,我们需要开发能够分析流量并保护物联网系统传输数据的安全协议。物联网的网络安全性是开发人员最关心的问题之一。由于大多数物联网节点资源有限,因此它们需要适合其局限性的安全机制。本研究基于MQTT协议为物联网资源受限的设备提供了一种轻量级的安全机制。本论文的贡献在于对基于轻量级椭圆曲线密码术(ECC)和机器学习(ML)算法的安全消息队列遥测传输(MQTT)协议的开发和部署,可用于物联网基础设施。为了让系统控制器处理机器学习算法所需的处理能力,我们建议控制节点为具有移动GPU的强大物联网设备,或者使用通用计算机作为系统的控制器,即“broker”。ECC是一种非对称密钥算法,它使用公钥加密技术来创建更快、更小、高效且结构良好的加密密钥。非对称密钥算法使用一对密钥:公钥和私钥来完成消息的加解密过程。如果消息是使用一对中的公钥加密的,则只能使用同一对中的另一个私钥进行解密。ECC并非使用一些传统的方法,而是使用椭圆曲线方程的属性来生成密钥。ECC的逻辑思想是,我们用于加密数据的密钥可以公开,而用于解密数据的密钥需要保密。我们需要在非对称密码系统中工作的一组算法,这些算法在一个方向上易于处理,但在返回时却很难实现。本论文的结果表明ECC是一种有效的方法来保护MQTT协议上的数据免受未经授权的访问。然而,即使使用椭圆曲线密码术提供的加密机制保护了数据不受非授权访问的影响,攻击者也可以停留在网络上,通过连续发送许多连接请求对代理发起拒绝服务攻击或任何其他类型的攻击。由于会有大量连接请求同时到达,因此代理设备将被耗尽资源并且不能很好地处理新传入的请求。此外,代理无法区分合法或正常连接和欺骗连接消息包。通过接收泛洪请求消息,代理开始使用连接确认消息进行确认。在拒绝服务攻击期间,连接和连接确认消息的数量急剧增加。这会导致代理服务阻塞并阻碍预期的物联网网络功能。正是从这个场景中,我们获得了实现一些机器学习模型的想法,以便识别和预测攻击类型,其目的是行为不端、阻塞或降低我们协议的性能。机器学习是计算机技术的一个研究领域,它允许计算设备通过从数据中学习来执行任务(即,随着经验逐渐提高性能),而无需明确编程。它使系统能够从数据中学习、识别模式并以最少的人为干预做出决策。机器学习模型可以通过从以前的经验中学习来预测系统的预期行为。因此,要将物联网系统的安全性从简单的设备间安全通信转变为基于安全的智能系统,应用机器学习模型可以显着推进安全方法。许多研究表明,在几种机器学习算法中,人工神经网络(ANN)具有学习和建模非线性和复杂关系的能力。这一点很重要,因为在现实生活中,输入和输出之间的许多关系都是非线性的。此外,与许多其他预测技术不同,人工神经网络不对输入变量施加任何限制。通过实施和分析不同的机器学习算法,我们发现人工神经网络在识别和预测攻击类型方面优于其他算法,准确率为0.9038。在这篇论文中,我们介绍了物联网及其传输协议的技术背景和与之相关的研究进展。此外,我们描述了本论文的研究方法和系统模型及其实现,以及对实验所得结果的分析。我们最后对本论文工作进行了总结并对未来的后续工作提出了建议。