保护我的HTTP连接

我目前正在做一个家庭自动化项目。 以下是我的设置。

ESP8266 WiFi模块将连接到各种传感器。 轻型networking服务器将在模块上运行。 将部署一个Linode Cloud,运行某些NodeJS脚本和MongoDB数据库。 移动应用程序(客户端)将向云发送请求以控制和监视各种传感器。 我将使用JSON Web Tokens保护应用程序和云之间的连接。 另外我会尝试使用HTTPS来确保这个连接。

我很困惑如何保护云服务器和ESP8266模块之间的通信。 我做了很多研究。 知道某些概念,但不能得到一个清晰完整的画面。 有人请指导我。 谢谢。

在所有应用程序之间的标头中使用标记。 而当你发送请求时,这将看起来像这样:

request.post({ url: 'https://mycoolserver.com/', headers: { Authorization: 'lalalablablabla' } }) 

更新:只要你发送请求,那边的服务器检查你的令牌是否与他有的一致。 有很多安全技巧可以让你的标记安全,我build议这个标记是非常基本的安全性,但是你可以在飞行中轻松地完成。 稍后,您可以提高您的安全级别。

假设您在系统(客户端和服务器)中都有实时时钟,

生成一个类似于(((unixTime)/1000) + SomeNumbers) * ASmallNumber其中(unixTime)/1000 is unixTime in second SomeNumbers is a static number like 897645ASmallNumber is a small number like 7 SomeNumbers is a static number like 897645ASmallNumber is a small number like 7

这个公式会产生一个取决于时间的数字。 把这个号码发送给接收者。 在接收器(具有相同的SomeNumbersASmallNumber值),解码数量和检查unixTime使用接收器unixTime

例如:if(unixTime – decodedUnixTime <5 && unixTime – decodedUnixTime> 0),那么消息是可信的