一种针对于工业物联网数据传输的安全防护方法
技术领域
本发明属于工业物联网信息安全领域,具体涉及一种针对于工业物联网数据传输的安全防护方法,该方法主要针对工业物联网***数据传输层存在的安全隐患,以保护通信过程安全的视角为出发点,即通信过程中数据的机密性和终端设备之间的身份认证。对于工业物联网***常用的通信协议,对其通信过程进行加密传输;终端设备之间的通信采用身份认证,保证数据传输层提供安全、准确的数据传输服务。
背景技术
物联网迅速发展,开始应用到各个领域,其中普及速度最快、范围最广的垂直领域就在工业界。工业物联网的应用场景也极其丰富,诸如传感器、机器人、自动化设备等越来越多的设备连接在一起。工业物联网看作是工业自动化***与物联网***的高度结合体,在其发展过程中引入了互联网、云计算以及传感等技术,并完成了工业生产***、工业监控***以及工业管理***的融合,根据数据中心对工业数据的分析和处理结果,能够大幅提高产品质量和工业生产效率,并有效降低生产管理成本。
随着工业物联网技术在工业领域的广泛应用,工控***中设备层的控制装置将通过开放网络实现信息和数据的交互,并且能够将管理层与市场层的信息进行无缝融合。然而,越来越开放的网络化连接使得工控***、联网设备以及工业云平台容易遭受入侵,给工业环境带来停机、生产中断、资产损失等威胁。
工业物联网中的数据传输层与一般物联网的网络传输层是一致的,是一个融合了传感网络、移动网络和互联网的开放性网络,通常依据国际标准或行业标准搭建其通信网络,如Wi-Fi、蓝牙、RFID、ZigBee等短距离的无线通信技术,传统的移动网络、互联网、低功耗广域网等,以及MQTT协议为代表的各类物联网通信协议,为工业现场和远端的数据处理中心搭建起了数据传输通道。
工业物联网***所采用的通信协议没有特殊的规定,通常不同的厂家有着各自的标准。不同的物联网通信协议有着不确定的风险,有可能其加密措施比较完备,也可能根本就没有进行任何加密。倘若使用的物联网产品,其采用的通信协议既简单又是明文传输,那么攻击者一旦入侵到物联网***局域网中,就可以很轻松的采用网络嗅探等方法来拦截通信数据。通信协议没有加密,攻击者可以很轻易地检测到数据内容,并可以篡改、伪造数据包的内容,或者通过中间人攻击的方式,发送错误的控制指令,可能造成工业设备无法正常运转。
针对数据传输层主要是保障通信过程中数据传输的安全性,包括通信终端设备的身份认证以及数据机密性。为保证数据传输层提供安全、准确的数据传输服务,防御数据窃取和中间人攻击,对于大部分工业物联网***采用的通信协议,需要对其通信过程进行加密传输,并且对使用相关协议接入的终端设备进行可信身份认证。同时鉴于工业物联网主要传输的数据形态,大量的流式数据,在考虑传输安全的前提下,也需要保证数据传输的实时性。
发明内容
本发明的目的是针对工业物联网的数据传输安全提出一种安全防护方法,用于保证工业物联网中设备与远端的通信过程数据安全,以解决数据传输过程中的数据窃取以及中间人攻击。
为实现前述目的本发明采用以下的技术方案:
一种针对于工业物联网数据传输的安全防护方法,包括以下步骤:
(1)在现有工业物联网的传输协议上封装协议栈,形成身份认证协议规范;
(2)在客户端和服务器之间进行四次数据交互,通过客户端和服务器协议交换过程中的数据和算法生成相同的会话秘钥,进行双方的身份确认,完成客户端和服务器之间的通信握手;
(3)通信握手成功后,通过加密的数字证书及相应的数字证书验证流程判定客户端是否为合法设备。
进一步的,在步骤(1)中所述协议栈包括在TCP协议及IP协议上封装的加密封装握手协议、修改密码规范协议、报警协议、边缘层到云端传输协议以及加密封装记录协议。
进一步的,所述加密封装握手协议包括但不限于传输层安全协议和网络层的安全协议,并结合修改密码规范协议、报警协议对客户端以及服务器进行认证、加密数据的同时维护数据完整性。
进一步的,所述所述边缘层到云端传输协议包括但不限于MQTT协议,用于描述工业通信特殊性。
进一步的,在步骤(2)中所述四次数据交互分别为客户端请求、服务器回应、客户端回应、服务器最后回应,
客户端请求为客户端向服务器发送连接请求,该请求为通信加密请求,包括客户端能够兼容的加密协议版本、加密算法套件以及压缩方法等信息,由服务器来决定具体采用加密协议和算法的组合,同时所述请求还包括一个客户端生成的随机数;
服务器回应为服务器对第一阶段的客户端请求进行回应,服务器会向客户端发送消息,在该消息中确定了使用的加密协议版本、加密算法套件以及服务器数字证书,同时该消息中还包括一个由服务器生成的随机数;
客户端回应为客户端对第二阶段的服务器回应进行回应,客户端对服务器数字证书进行合法性检查,如果该数字证书不是合法的,客户端就会直接断开连接或者向用户发送一个服务器不受信任的警告;如果证书通过了合法验证,客户端会再次生成一个用于后续生成会话秘钥的随机数,并使用服务器数字证书中的服务器公钥对该随机数进行加密,然后向服务器发送消息,该消息中包括了加密的随机数、编码改变通知以及客户端握手结束通知;
服务器最后回应为服务器对第三阶段的客户端回应进行回应,服务器收到客户端回应后使用服务器私钥对所述消息中加密的随机数进行解密,然后使用前述三个阶段产生的三个随机数生成应用数据传输阶段所使用的会话秘钥,然后向客户端发送消息,该消息包括编码改变确认以及服务器握手结束通知。
进一步的,在步骤(3)中所述数字证书包括用户公钥相关信息、信息摘要和数字签名,用户公钥相关信息通过哈希加密算法生成,同时通过证书发行机构私钥加密算法进行加密生成数字签名。
进一步的,在步骤(3)中所述数字证书验证流程包括以下步骤:
(3.1)通信握手成功后,客户端对需要发送给服务器的信息本体使用哈希加密算法生成信息摘要,同时客户端使用客户端私钥对信息摘要进行加密,生成数字签名;
(3.2)客户端将信息本体和数字签名一起发送给服务器;
(3.3)服务器收到消息后,取出数字签名,使用客户端公钥对数字签名进行解密,得到信息摘要;
(3.4)服务器再对收到的信息本体使用哈希加密算法得到信息摘要,将得到的信息摘要与步骤(3.3)得到的信息摘要进行对比,如果两者一致,则判定该客户端是合法设备;如果两者不一致,则判定该客户端是非法设备。
与现有技术相比,本发明具有如下优点和技术效果:
(1)所述针对于工业物联网数据传输的安全防护方法通过身份认证和通信加密一定程度解决了现有工业物联网的数据传输中的安全隐患;
(2)所述身份认证通过在现有物联网传输协议上封装的协议栈和客户端与服务器的通信握手流程实现,充分考虑了现有工业物联网数据传输的特点,可以在不改变现有工业物联网传输协议的基础上,通过封装即可形成身份认证所需的协议规范;
(3)所述通信加密通过数字证书以及相应的数字证书验证流程对传输的数据进行加密,以保证数据的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1是本发明针对于工业物联网数据传输加密的协议栈。
图2是本发明通信过程的客户端与服务器的握手流程。
图3是本发明用于通信加密的数字证书的组成。
图4是本发明的使用数字证书验证流程。
【附图标记】
11为加密封装握手协议,12为修改密码规范协议,13为报警协议,14为边缘层到云端传输协议,15为加密封装记录协议,16为TCP协议,17为IP协议;
21为客户端,22为服务器,23为客户端请求,24为服务器回应,25为客户端回应,26为服务器最后回应;
31为数字证书,32为用户公钥相关信息,33为信息摘要,34为数字签名,35为哈希加密算法,36为证书发行机构私钥加密算法;
41为信息本体,42为客户端私钥,43为客户端公钥,44为合法设备,45为非法设备。
具体实施方式
下面结合附图及实施例进一步详细说明本发明的工作原理。
本发明提出的安全防护方法通过身份认证方式和通信加密方式实现针对于工业物联网数据传输的安全防护。
所述身份认证方式是通过特殊的传输加密的协议栈及通信过程的客户端与服务器的通信握手流程实现,具体是:在现有工业物联网的传输协议上封装图1所示的协议栈,形成身份认证协议规范,而后在客户端与服务器之间采用图2所示的四次数据交互,分别为客户端请求、服务器回应、客户端回应、服务器最后回应,通过客户端和服务器协议交换过程中数据和算法生成相同的会话秘钥,进行双方的身份确认,完成客户端和服务器之间的通信握手。
请参阅图1,为本发明针对于工业物联网数据传输加密的协议栈。现有工业物联网的传输协议是主要依赖于TCP作为主流的传输协议,通过在传输层上封装应用层数据,可以在不修改底层传输协议的基础上,给传输协议带来保障。本发明所述传输加密的协议栈旨在对现有工业物联网的传输协议进行有效加密,主要包括在TCP协议16及IP协议17上封装的加密封装握手协议11、修改密码规范协议12、报警协议13、边缘层到云端传输协议14以及加密封装记录协议15。
所述加密封装握手协议11包括但不限于传输层安全协议(TLS)和网络层的安全协议(IPSec),并结合修改密码规范协议12、报警协议13对用户以及服务器进行认证、加密数据的同时维护数据完整性。所述边缘层到云端传输协议14,包括但不限于MQTT协议,描述工业通信特殊性。所述加密封装记录协议15主要用作加密封装握手协议11、修改密码规范协议12和报警协议13的记录,实现加密协议的完整以及可追溯。所述TCP协议16和IP协议17为现有常规的TCP和IP协议。
请参阅图2,为本发明通信过程的客户端与服务器的握手流程。在握手协商阶段,客户端21首先向服务器22发出连接请求,然后双方会进行一些信息交换,并根据这些数据和算法生成相同的会话秘钥,客户端21和服务器22之间创建安全连接;握手完成后,客户端21和服务器22之间采用会话秘钥进行加密通信,数据发送方使用对话秘钥来对信息进行加密,数据接收方也用同样的会话秘钥来对密文数据进行解密。握手协商阶段包括四次数据交互过程:
第一阶段为客户端请求23,即客户端21向服务器22发送连接请求,该请求为通信加密请求,包含了客户端21能够兼容的加密协议版本、加密算法套件以及压缩方法等信息,由服务器22来决定具体采用加密协议和算法的组合,同时所述请求还包括一个客户端21生成的随机数;
第二阶段为服务器回应24,即服务器22对第一阶段的客户端请求进行回应,服务器22会向客户端21发送消息,在该消息中确定了使用的协议版本(应该与客户端的协议版本一致)、加密算法套件以及服务器数字证书,同时该消息中还包括一个由服务器22生成的随机数;
第三阶段为客户端回应25,即客户端21对第二阶段的服务器回应进行回应,客户端会对服务器22的数字证书进行合法性检查,如果该证书不是合法的,客户端21就会直接断开连接或者向用户发送一个服务器22不受信任的警告;如果证书通过了合法验证,客户端21会再次生成一个用于后续生成会话秘钥的随机数,并使用服务器数字证书中的服务器公钥对该随机数进行加密,然后向服务器22发送消息,该消息中包括了加密的随机数、编码改变通知以及客户端握手结束通知;
第四阶段为服务器最后回应26,即服务器22对第三阶段的客户端回应进行回应,服务器22收到客户端回应25,使用服务器私钥对所述消息中加密的随机数进行解密,然后使用三个随机数(在前三阶段产生)生成应用数据传输阶段所使用的会话秘钥,然后向客户端21发送消息,该消息包括编码改变确认以及服务器握手结束通知。
所述通信加密方式通过加密的数字证书以及相应的数字证书验证流程完成,从而保证工业数据的加密传输。
请参阅图3,为本发明用于通信加密的数字证书的组成,是采用签名算法对部分内容进行数字签名后可以用来当成信任关系中介的数字凭证。所述数字证书31主要包含用户公钥相关信息32、信息摘要33和数字签名34,其关系为:用户公钥相关信息32通过哈希加密算法35生成,同时通过证书发行机构私钥加密算法36进行加密生成数字签名34。
请参阅图4,为本发明的使用数字证书验证流程。客户端和服务器在通信握手成功之后,客户端21对需要发送给服务器22的信息本体41使用哈希加密算法35,生成信息摘要33,同时客户端21使用客户端私钥42,对信息摘要33进行加密,生成数字签名34;而后客户端21将数字签名34和信息本体41一起发送给服务器22;服务器22收到消息后,取出其中的数字签名34,使用客户端公钥43对数字签名34进行解密,得到信息本体的信息摘要33;服务器22再对收到的信息本体41本身使用哈希加密算法35,将得到的信息摘要与上一步得到的信息摘要进行对比,如果两者一致,则判定该客户端21是合法设备44,否则是非法设备45。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的设计和范围,均应涵盖在本发明的权利要求范围当中。