问题标签 [onem2m-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
onem2m - 在 oneM2M 中创建和检查访问控制策略
我们开始实施 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 取自 eclipse 论坛的主题。
问题是,是否适合将某种用户名和密码逻辑放入 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 甚至在创建之前。
------------------ 已编辑 ---------------
这是一个非常好的文档。
http://www.onem2m.org/tr-0038/procedures/authorization/configuration-of-accesscontrolpolicy
onem2m - M2MServiceSubscriptionProfile Development in oneM2M
在对服务订阅进行了详细研究之后,我决定开发配置应用程序来创建 CSE 和 M2MServiceSubscriptionProfile。在此应用程序中,客户可以创建自己的 CSE,其中包括支持的资源类型和 M2MServiceSubscriptionProfile,其中包括允许的 AE。
根据付款标准,将根据资源类型检查传入请求以允许或拒绝。我认为,只有一种方法可以做到这一点,M2MServiceSubscriptionProfile 将使用存储在 CSEBase 类的 SupportedResourceType 属性中的特定资源类型。这是默认方案。
但是 ServiceSubscribedNode 不必像 xsd 文档中所述包含 CSE-ID。
这意味着无需与客户 CSE 集成,AE 也可以与系统连接。例如,Web 应用程序 (AE) 可以与系统集成以使用服务提供者上的特定 API。在这种情况下,该客户没有 CSEBase,客户的 AE 可以直接与 Service Provider 连接,因此没有 SupportedResourceType 属性。
对于这种情况,我如何决定允许/拒绝特定的资源类型?
node.js - OneM2M 认证服务器
我正在开发 IoTKETI Mobius 平台。我尝试在 oneM2M、Mobius 平台中实现基于组的身份验证方法。我能够注册、更新、删除应用程序实体。我还没有使用访问控制策略,因为我的主要目标是基于组的身份验证,我认为我应该使用外部身份验证服务器。我在 onem2m 文档中进行了研究,但找不到任何直接答案。有没有办法在 IoTKETI Mobius 中实现基于组的身份验证?我需要外部身份验证服务器还是可以使用 acp 来完成?如果需要身份验证服务器,我应该研究哪一个?