保护我的HTTP连接

时间:2017-05-26 10:51:46

标签: node.js http https arduino jwt

我目前正在从事家庭自动化项目。以下是我的设置。

  

ESP8266 WiFi模块将连接到各种传感器。一盏灯   Web服务器将在模块上运行。将会有一个Linode Cloud   部署运行某些NodeJS脚本和MongoDB数据库。该   移动应用程序(客户端)将向云发送请求   控制和监控各种传感器。我将保证连接   使用JSON Web Tokens在应用程序和云之间进行。我也愿意   尝试使用HTTPS来保护此连接。

我对如何保护云服务器和ESP8266模块之间的通信感到困惑。我做了很多研究。了解某些概念但无法获得清晰完整的图片。有人请指导我。谢谢。

2 个答案:

答案 0 :(得分:1)

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

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

更新:就您发送请求而言,该方的服务器会检查您的令牌是否与他拥有的令牌相匹配。有很多安全技巧可以让你保持令牌安全,我建议这是一个非常基本的安全措施,但你可以在飞行途中轻松完成。稍后您可以提高安全级别。

答案 1 :(得分:1)

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

生成类似(((unixTime)/1000) + SomeNumbers) * ASmallNumber的功能(unixTime)/1000 is unixTime in secondSomeNumbers is a static number like 897645ASmallNumber is a small number like 7

此公式将生成一个取决于时间的数字。将此号码发送给接收方。在接收器中(具有相同的SomeNumbersASmallNumber值),解码数字并使用接收器unixTime检查unixTime

示例:if(unixTime - decodingUnixTime< 5&& unixTime - decodingUnixTime> 0)然后消息被信任