本文就MQTT到底单向加密还是双向加密做一个简单的讨论。具体mqtt加密的搭建过程,请参考:
基于Ubuntu 14.04系统下MQTT协议-mosquttio服务器的SSL/TLS加密传输(一 单向加密)_嫌疑人X的解忧杂货店的博客-优快云博客
到底是单项加密还是双向加密?我们要从不同的角度去分析这件事情。但是在分析之前,我们还是有必要回顾一下基础知识。
SSL/TLS单向认证:客户端会认证服务器端身份,服务器端不对客户端进行认证
SSL/TLS双向认证:客户端和服务端都会互相认证,即双发之间要证书交换
不难看出,从复杂性角度上讲,单向认证只需要认证服务器,对于客户端并不要求,相当于双向加密,较为省时省事。
但是,从安全性角度上看,双向加密相对安全。但是为什么说实习相对的呢?虽然ssl在认证结束后传输数据还会对数据进行对
称加密,提高了破解难度,但仍旧存在破解隐患。所以对称加密的密钥长度足够长,例如使用128位加密,就会大大增加破解
难度。然而,也仅仅是增加了破解难度,并不是有效的防止。如果传输的是一些相对机密数据