我们开始实施OneM2M的安全性部分,并着手首先实施访问控制策略(ACP)。当我们研究访问控制策略的oneM2M示例时,我们看到特权(PV)和自我特权(PVS)可以是任何发起者,可以是任何应用程序实体(AE)或公共服务实体(CSE)。
在特权中,每个访问控制规则都定义了哪个AE / CSE 允许进行哪个操作。因此,对于一组访问控制规则 如果一个或多个访问允许,则允许操作 集中的控制规则。
TS-0001 v3.12.0 | Ln 3432-3433
此后,我们还研究了OneM2M实现的Eclipse版本,并为每个CSE(IN-CSE和MN-CSE)运行该应用程序。 Web界面带有登录屏幕欢迎您,并等待用户名和密码。然后奇怪的部分出现了。成功登录后,输入的用户名和密码似乎被用作我们要访问的资源的发起者。除此之外,还向默认ACP添加了测试用户。
示例ACP是从日食论坛的主题中获取的。
<m2m:acp xmlns:m2m="http://www.onem2m.org/xml/protocols">
<pv>
<acr>
<acor>admin:admin</acor>
<acop>63</acop>
</acr>
<acr>
<acor>test</acor>
<acop>34</acop>
</acr>
</pv>
<pvs>
<acr>
<acor>admin:admin</acor>
<acop>63</acop>
</acr>
</pvs>
</m2m:acp>
问题是,是否适合将某种用户名和密码逻辑添加到ACP本身?无论是什么,我都知道这种用法的必要性。但是我不确定在OneM2M中这样做是否正确。
假设我们有一个具有Web界面并被许多用户使用的AE。因此,每个用户具有访问OneM2M中其他资源的不同特权,但是访问控制策略仅具有可以是任何AE / CSE的始发者,而不能是用户。如何实现这种情况?
相关问题来自OneM2M网站
Cgateway_ae(似乎是MN-AE)向MN-CSE发送ACP创建请求。但是,MN-AE向MN-CSE创建ACP的权限来自何处。在想创建另一个ACP之前应该以某种方式创建它?
谁负责创建该ACP?该负责方在创建之前如何知道相关的AE-ID / CSE-ID。
POST /home_gateway?rcn=0 HTTP/1.1
Host: mn.provider.com:8080
X-M2M-Origin: Cgateway_ae
Content-Type: application/vnd.onem2m-res+xml; ty=1
X-M2M-RI: mncse-62948
<m2m:acp xmlns:m2m="http://www.onem2m.org/xml/protocols" rn="MN-CSEAcp">
<pv>
<acr>
<acor>Cgateway_ae Clight_ae1 Clight_ae2 /in-cse/Csmartphone_ae</acor>
<acop>63</acop>
</acr>
</pv>
<pvs>
<acr>
<acor>Cgateway_ae</acor>
<acop>51</acop>
</acr>
</pvs>
</m2m:acp>
------------------编辑--------------------------- < / p>
这是一个非常好的文档。
http://www.onem2m.org/tr-0038/procedures/authorization/configuration-of-accesscontrolpolicy
答案 0 :(得分:1)
Eclipse om2m实现带来了自己的集成Web UI,该UI对访问控制原始程序( acor )进行了特殊处理。如果 acor 包含“:”字符,则发起者将被拆分为UI的用户名/密码组合。据我所知,它仍然会考虑在
请参见TS-0001的“ 10.2.2.2创建
CSE应该始终具有一种“根”始发者以及一个特权
它足够安全吗?与往常一样,这取决于。许多物联网系统将“秘密”令牌分配给设备以认证连接请求。但是请记住,始发者标识符始终来自必须首先在CSE成功注册并因此受到信任的AE。
对于问题的第二部分:在oneM2M网站的示例中,必须有一个
(根据讨论更新)