AWS IOT-确定设备所有权和防止未经授权访问的最佳方式是什么 [英] AWS IOT - What is the best way to establish device ownership and prevent unauthorized access

查看:13
本文介绍了AWS IOT-确定设备所有权和防止未经授权访问的最佳方式是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在AWS IOT中,我在网上看不到任何说明如何确保发布包含敏感数据的主题的设备只能由设备所有者访问的最佳方法。

例如,Bob登录到他的智能手机应用程序并使用Cognito进行身份验证。已存在允许访问AWS IOT的身份池身份验证角色策略,并且管理lambda已在注册过程中调用AttachEpalPolicy并授予Bob访问AWS IOT的权限。

Bob拥有一台名为恒温器的设备,该设备上安装了用于向AWS IOT进行身份验证的x509证书。它正在发布主题,如/温控器/123/温度/75(序列号:123,温度:75),Bob在他的智能手机上订阅了相同的主题(/温控器/123/温度/*)

我们如何防止另一位用户Jill通过与其恒温器相同的设置来访问AWS IOT,从而无法订阅/Temperstat/123/Temperature/*并读取Bob的私人数据?

我猜这与序列号有关,但在这种情况下,如何将Bob的身份ID与设备的序列号相关联?当用户和设备使用完全不同的身份验证机制(Cognito和X509)时,关联用户和设备的最佳方式是什么?

推荐答案

但在这种情况下,如何将Bob的身份ID与设备的序列号相关联?

ThingAttributes可以存储简单的设备所有者关系。向您的设备对象添加ownerID属性。或者在更复杂的情况下使用外部存储区。

AWS建议在其MQTT Topic Design docTO&Quot;中包括MQTT主题&中的任何相关路由信息。如果您有一个稳定的所有者,那么像jill/thermostat/123/temperature/*这样的主题模式可能会很有用。IoT Core Policy中的thing policy variable{iot:Connection.Thing.Attributes[ownerID]}可以使它们动态化。

Cognito auth:我们如何阻止另一个用户,Jill...正在读取Bob的私人数据?

当Jill使用Amazon Cognito身份向IoT Core进行身份验证时,您的客户端代码或lambda可以生成特定于用户的IoT核心策略以附加到Jill的用户身份as part of the auth flow。该策略将被编写为仅允许Jill访问她的设备。

这篇关于AWS IOT-确定设备所有权和防止未经授权访问的最佳方式是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆