工业IOT系统生产使用过程会产生大量的数据,某些数据与企业生产和经营的安全息息相关,如果不对系统中的数据传输进行合理的有效的保护,很可能会对企业造成不必要的损失。因此防止企业中的敏感信息泄露成为了平台系统解决的一个重要的问题。
1. SSL和TLS介绍
SSL和TLS简介
SSL(Secure Sockets Layer 安全套接字协议)以及TLS(Transport Layer Security,传输层安全协议),均为网络通信提供安全及数据完整性的一种安全协议
SSL协议由两层组成:SSL记录协议和SSL握手协议。SSL记录协议层针对HTTP协议进行特别的设计,使超文本的传输协议HTTP能够在SSL运行,可为高层协议提供基本的安全服务。其主要功能包括:记录封装各种高层协议,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。SSL握手协议包括:SSL握手协议、SSL密码参数修改协议、应用数据协议和SSL告警协议。这些协议主要用于SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。
TLS协议是一种传输层安全协议,用于在两个通信应用程序之间提供保密性和数据完整性。在TLS协议内部基于分层架构,分为两层:下层为记录层协议,为TLS上层子协议为传送提供分片、消息加密及加密后报传输,同时对接收到的数据进行验证、解密、重新组装,然后提交给高层的应用层;上层包含4种子协议:握手协议(Handshake Protocal)、警报协议(Alert Protocol)、应用数据协议(Application Protocol)及Change_cipher_spec。其中change_cipher_spec只是为兼容性存在,其余每个子协议都具有特定的作用,组合起来实现完整的协议功能。
HiperMATRIX系统之间通讯是采用的https通讯,而https实现是基于TLS或者SSL协议
SSL与TLS 协议主要区别
TLS协议是基于SSL基础之上的版本升级。TLS前身是网景(Netscape)公司开发的SSL规范,SSL V3版本后被更名为TLS。
TLS协议与SSL协议加密计算方式,密文和客户端证书,版本号都存在差别,从安全性能来看TLS性能较SSL安全性能较高,但是两者具体差别不大。
HiperMATRIX各服务SSL/TLS版本
服务 | 采用协议版本 |
---|---|
RabbitMQ | TLS (1.3) |
MySql | SSL v1 |
InfluxDB | SSL v1 |
2 Http 与 Https通讯之间的区别
Http通讯是Internet中常用的传输协议,该协议默认使用80端口作为通讯端口,然而Http存在很大安全隐患。在数据传输的过程中,Http默认采用明文传输,即客户端与服务端的数据是不加密。Http基于TCP协议通讯,双方通讯过程中很可能监听,采用分组嗅探器监听到客户端发送给服务端的消息,导致数据泄露。另外通讯数据也可能被拦截,并且伪造数据欺骗服务器达到目的。
Https是一种基于SSL/TLS协议的通讯协议,该协议默认使用443端口,使用了端到端的加密方式,采用了非对称加密,即公钥加密私钥解密,私钥加密公钥解密,CA认证(即服务端和客户端的证书文件(含公钥信息,证书密钥,颁发机构信息))。作为通讯一方一端将数据使用密钥进行加密,而另一端使用CA认证过的公钥进行解密。在数据的传输过程中,所有在网络上传输的数据都是经过了密钥加密的,如果需要解密必须得到对应的公钥即可解密。在一定程度上保证了企业信息通讯数据的安全性。
HiperMATRIX采用了Https通讯的方式,实现了端到端的加密通讯,保证了系统中主要的数据通讯安全。目前系统中主要使用加密通讯的服务有:RabbitMQ, InfluxDB, Mysql,所有客户端的连接到该服务传输的信息都会被加密传输。