WAMP.ws:如何管理安全和隐私?

Posted

技术标签:

【中文标题】WAMP.ws:如何管理安全和隐私?【英文标题】:WAMP.ws : How to manage security and privacy? 【发布时间】:2013-11-19 16:08:14 【问题描述】:

我正在使用 WAMP.ws 规范在我的网站上设计公共/私人用户聊天室。

当我尝试保留所有已连接用户的列表时,我的问题就出现了。 我能做什么:

    所有用户都订阅了“/contacts/connections”主题。 当用户连接时,他会发布一条带有“user_id”参数的“hello”消息,告诉其他用户他已连接。

--> 但是我怎样才能信任用户呢?任何用户都可以发送带有随机“user_id”参数的“Hello”消息。

对我来说,服务器必须在广播消息之前进行一些检查。但它是否符合 WAMP.js 规范?我读过发布的消息总是由服务器广播。

另一种解决方案是使用 RPC 调用来连接用户。实际上,我这样做是为了验证用户。但是服务器可以自己广播一个事件到主题“/contacts/connections”吗? (在 RPC 调用之后,而不是在“发布”消息之后) 我读过事件只是客户端“发布”的直接结果。 此外,这不会阻止普通用户发送事件跟踪“/contacts/connections”主题,该主题将由服务器广播。

我觉得我的两个解决方案(在广播之前检查发布的消息,或者在 RPC 调用之后由服务器广播事件)都违反了 WAMP.js 规范。 我错了吗?

谢谢

【问题讨论】:

【参考方案1】:

WAMP 区分

    身份验证 授权 验证

身份验证在 WAMP 路由器上建立 WAMP 客户端的身份。

当使用Autobahn|Python 构建您自己的 WAMP 路由器时,here 是多个示例,展示了如何实现不同的身份验证机制。

当使用 Crossbar.io(一个集成的、可用于生产的 WAMP 路由器)时,会内置身份验证机制 (here)。


授权确定是否允许给定 WAMP 客户端对给定 URI 执行 WAMP 操作(如发布或调用)。

当使用Autobahn|Python 滚动您自己的 WAMP 路由器时,here 是一个展示如何实现自定义授权的示例。

Crossbar.io 具有内置的静态授权方案,并允许注册自定义 WAMP 程序以进行授权 (here)。


最后是Validation,它检查事件或调用的应用程序级负载。

Here 是 Autobahn|Python 的示例。 Crossbar.io 很快将允许注册自定义 WAMP 程序进行验证。


【讨论】:

第一个链接Custom Publish & Subscribe Handler 已损坏。你能把它指向正确的位置吗? @hazzey 我已经修改了 WAMP2 的整个答案。旧的答案是针对 WAMP1,无论如何都已弃用。 你真的必须开始将你的 Github 链接链接到一个提交而不是 master,我遇到了很多你链接到 404 的谷歌结果。

以上是关于WAMP.ws:如何管理安全和隐私?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止手机隐私不被泄露,这3个功能早就该关了,放心安全

在API中如何做数据隐私保护

互联网数据泛滥下,你的隐私数据要如何保护?

ISO IEC 27001-2022 《信息安全网络安全和隐私保护 信息安全管理系统 要求》

机器学习的安全问题及隐私保护

Android 隐私沙盒开发者预览版 3: 隐私安全和个性化体验全都要