我正在构建一个 IoT 平台,该平台应该通过 REST API 从 Raspberry Pi 接收数据。假设该平台将来可以用于管理多个用户的多个设备,我的问题是,应该如何将设备正确(且安全地)分配给拥有该设备的用户的帐户。最简单的解决方案是发布链接到用户和设备的访问令牌,然后手动(例如使用蓝牙应用程序)部署到设备上。每当设备向服务器发送数据时,访问令牌都会确保数据与正确的用户帐户相关联。
但是,这种方法不会阻止用户手动登录到服务器,例如使用 python 脚本。我正在考虑一种私钥/公钥机制,它可以确保只有具有正确私钥的设备才能将数据发布到服务器。我也有关于如何实现这一点的想法,但我的问题是,这真的需要吗?如果用户可以手动(没有设备)登录到服务器,是否有问题?如果 API 帖子包含有效的访问令牌,那么将哪些数据发送到服务器是否重要?