SSL 与 TLS 原理详解
无锡
2017年11月23日
SSL/TLS 是很多通信加密过程中经常使用到的一种措施,无论是在互联网领域还是物联网领域,SSL/TLS 都是保证安全的极其有效的解决方案。
以下三篇文章对 SSL/TLS 的工作原理进行了较为深刻的分析,同时具体实践在 Ubuntu 环境和物联网环境中 SSL/TLS 的环境搭建并展示了结果。以下是三篇文章的链接:
SSL-TLS 双向认证(一) -- SSL-TLS工作原理
SSL-TLS 双向认证(二) -- 基于mosquittto的MQTT双向认证
SSL-TLS 双向认证(三) -- ESP8266与mosquitto的MQTT双向认证
第一篇文章介绍了 SSL/TLS, 以及 CA 和 SSL Server/Client 的概念,详细介绍了 SSL/TLS 的工作流。读者能够了解 SSL/TLS 是如何保证通讯安全的。文章同时介绍了单向认证和双向认证的概念,以及证书的详细工作流,并在最后实际 wireshark 抓包来进行原理验证,提供了一些证书相关操作并附上了源码。
第二篇文章介绍了 MQTT 协议相关的原理知识和工作流,并且详细描述了如何搭建一个基于 SSL/TLS 的 MQTT broker,同时演示了订阅端和发布端的操作,并附上一个实例来展示结果。文章在最后附上了源码,供读者参考使用。
第三篇文章介绍了如何在 ESP8266 芯片上实现嵌入式设备和云端/服务器的安全交互。文章还介绍了开发环境的搭建,详细说明了编译/烧录/证书制作等相关知识。文章还描述了 MQTT broker 环境的搭建,并最终展示成功交互的 demo。一些常见错误和解决办法也一并提供。
读者可以在文章最后给予宝贵的意见。