是否可以通过 SSH 使用 REST API?

Bab*_*Dan 5 security ssh networking iot

我正在设计一个 API,用于IoT 设备和客户端之间的机密通信。必须确保客户端与设备的连接是安全的,并且没有中间人可以调节通信或攻击设备,包括路由服务器。

网络图如下:

在此处输入图片说明

  • 物联网设备始终位于同一网络后面的家中。
  • 客户端设备是移动的并且改变网络
  • 客户端不断地连接和断开与物联网设备的连接

客户端必须能够通过在每个 IoT 设备上运行的 API 服务器在 IoT 设备上执行命令。路由服务器仅对请求进行隧道传输,但不得信任

我的问题是:

我应该使用什么协议来实现这个方案?

我对SSH有点困惑。 它似乎非常适合通过隧道进行安全客户端 <--> 物联网设备通信。

但是是否可以使用 SSH 创建一个 RESTful API?

我不需要直接访问设备的外壳,我需要一个抽象层,由运行在 IoT 设备上的 API 提供。

如果 SSH 不是一个选项,我能否以任何其他方式安全地从客户端路由请求并在 IoT 设备上执行命令?

Bab*_*Dan 0

实现方法就是使用 HTTPS 和证书固定(这与 SSH 在幕后所做的非常相似)。

在向 IoT 设备发出第一个请求时,用户在确认设备证书正确后固定该设备的证书。

获得证书后,我们只需通过不安全的代理公开 REST API。从那时起,一切都由 TLS 协议自动处理。

安全保证与 SSH 协议相同。