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