我正在尝试在 iPhone 应用程序和 Arduino 服务器之间建立一个安全协议(protocol)。目标是 iPhone 应用程序向 Arduino 服务器发出请求,并且服务器仅在它具有一种或另一种形式的正确凭据时才处理它。我不确定如何解决这个问题。任何建议都非常感谢!
Best Answer-推荐答案 strong>
不幸的是,Arduino 上没有真正安全的通信选项。基本问题是 SSL 库尚未移植到该平台,部分原因是该平台构建的 8 位处理器不是很强大。话虽如此,有些事情你可以做,但你必须自己做:
Basic access authentication是一种非常不安全的控制对 HTTP 页面访问的方法,因此不推荐使用。 Digest access authentication另一方面,采用单向加密编码(散列)。它只需要 MD5 库,即 actually available对于阿杜诺。您需要做的是修改 Web Server 的源代码。支持摘要访问身份验证的类:AFAIK 它不支持开箱即用。
如果这看起来很困难,您可以自己实现一些相当基本的东西(虽然不是很安全,但总比没有好)。它可能看起来像这样:
- 第一个 GET 请求来自客户端
- 服务器以“未授权”响应进行响应,在响应中嵌入与请求 IP 地址相关(可能是哈希)的 token 。您也可以将原始时间框架作为哈希的一部分,并为此类 token 提供有限的生命周期。
- 如果来自同一 IP 地址的下一个请求包含基于某个密码的哈希 + 发送的 token ,则接受下一个请求。
现在这不会保护您免受 IP 地址欺骗以及我可能没有想到的许多其他事情。然而,它会给你一点安全感(如果你相信这种事情,它会给你一点点安全感(如果你相信这种事情的话)。您可以在 superuser 上要求(稍微)更详细的方案
关于ios - 在 iPhone 应用程序和 Arduino 服务器之间安全传输数据的方法,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/15855325/
|