【问题标题】:SignalR: how to implement signing or encryption of requests/responsesSignalR:如何实现请求/响应的签名或加密
【发布时间】:2015-07-06 09:52:33
【问题描述】:

我正在寻找有关实现 SignalR 传输的数据的签名/加密选项的输入。由于我们无法控制的部署环境,SSL 可能不是我们的选择。

在 SignalR 框架内推荐的方法是什么?

我们知道可以构建一个 HubPipelineModule 可以注入到进程中,但是这个模块似乎无法访问传入的请求流。

我们可以在传递给 SignalR 之前对数据进行加密或签名,并将加密的数据(或纯文本加 HMAC)作为字符串参数传递给服务器,但如果我们可以利用管道模型来处理它,感觉会更干净在框架本身内。

有什么建议吗?我们是否正在为此寻找自定义 JSON 反序列化器?

此外,我们的客户端最初是 .NET,因此我们也将寻找一个干净的客户端实现。

非常感谢

西蒙

【问题讨论】:

    标签: .net security encryption signalr


    【解决方案1】:

    鉴于SignalR works with SSL,您应该真正考虑推出自己的解决方案是否值得您花时间。如果数据值得保护,您应该能够证明 SSL 证书的费用是合理的。还要考虑让您的用户创建自己的证书并将其推送到用户计算机的可能性。

    如果您尝试实现自己的加密和身份验证,您会发现您必须解决许多 SSL 为您解决的问题,而且这些问题并不容易。最重要的是:客户端和服务器如何就加密和身份验证密钥达成一致,以便 1) 窃听者无法读取它们以及 2) 客户端可以确信它实际上是在与服务器通信,而不是恶意冒充者。

    如果您还想在浏览器中执行此操作:通过非 SSL 连接传递的任何 javascript 都可以被活跃的对手修改,这几乎注定了任何理论上可行的解决方案的实施。

    【讨论】:

      猜你喜欢
      • 2015-08-07
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 2013-01-25
      • 2011-03-04
      • 1970-01-01
      相关资源
      最近更新 更多