来自没有TLS的ESP8266的MQTT或REST存在风险。传递未加密的凭据和令牌并不会让我觉得非常安全。但ESP8266上的TLS通信需要大量内存,为避免中间人攻击,您必须验证服务器证书,通常使用SHA1指纹。但是SHA1指纹会随着服务器证书的变化而改变,因此硬编码不是一种选择。要求用户使用他们的浏览器开发工具找到他们的SHA1证书指纹,并将其插入到Web配置门户中,这几乎是不可取的。
有没有人为这个难题提出可行的解决方案?能够提供出色的安全性,最大的通用性,柔和的设置和最少的用户参与?在ESP8266上轻松实现外部防火墙通信的高级别安全性的最佳方法是什么?
答案 0 :(得分:2)
ESP8266 Arduino项目引入了使用根CA证书进行验证,这比使用指纹更好。他们在这里为GitHub提供了一个例子:https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi/examples/HTTPSRequestCACert