【问题标题】:SOAP message encryption in silverlightSilverlight 中的 SOAP 消息加密
【发布时间】:2010-11-03 13:44:11
【问题描述】:

如何在silverlight 中加密soap 消息.. 我目前正在寻找想法... 因为silverlight 不支持WCF 消息安全.. 我已经浏览了Peter Bromberg 的帖子,但它也没有讨论何时如何交换公钥/私钥或类似的想法......

【问题讨论】:

  • 请说明为什么 SSL 不是一个选项。

标签: c# soap silverlight-2.0 wcf-security


【解决方案1】:

帖子中讨论的方法似乎没有进行任何非对称密钥交换(如 TLS 那样)。相反,它依赖于基于某些程序集元数据生成的对称密钥。见文章最后一段:

最后,让我解决几个问题:首先,我在这里没有说这比 SSL“更好”。我只提供它作为替代方案。其次,生成的密码密钥的密码或其他组件可能以明文形式显示在代码中这一事实对黑客来说没有用,因为密码和哈希(两者都只能在运行时生成)都是必需的一个有效的密钥。下载反映了使用程序集的 FullName 属性生成 salt 值以及使用 ManifestModule.Name.GetHashCode() 生成密码的更改,如前所述。

这不是一个非常强大的密钥生成机制,因为攻击者可以简单地下载相同的 Silverlight 应用程序并启动调试器并获取密钥。但是,它将保护攻击者只能访问您的 HTTP 流量的任何中间人攻击。

如果目标是获得免费解决方案,我个人会坚持使用 SSL,并使用自签名证书。

【讨论】:

  • 我同意,但由于约束,SSL 是没有选择的。这就是为什么我必须想出替代选择..
  • 唯一“正确”的方法是使用非对称算法并在 Silverlight 应用程序每次运行时为其生成一个新的公钥/私钥对。您的服务器的公钥可以硬编码到 silverlight 应用程序中,这将允许 SL 端生成新的对称密钥。困难的部分是非对称算法。我不确定 SL 框架是否有一个,但我不这么认为。不过可能有一个开源的。
  • 你是对的! SL 不提供任何不对称功能,版本 3 中也没有任何计划。
【解决方案2】:

如何使用传输层安全性? ssl?

【讨论】:

  • “不安全”是什么意思?它不实现 SSL 吗?那台机器今天从不建立 SSL 连接吗?
  • 只是由于一些业务限制。
  • 废话。让我们对业务约束有所了解。我从未听说过不使用 SSL 的理由。自从我 10 年前第一次听到这个抱怨以来,我听说的最后一个好理由(内存不足,这是一个嵌入式设备)问题越来越少。
  • 在 silverlight 中开发并部署在客户端的简单小部件...无法强制它们使用 ssl...这是我的业务限制...并且基于要求...变得冒犯。
  • @Usman:谢谢。这就是你要说的。我现在说,如果他们不想要加密,那么他们就不会得到它。要么支持 SSL,要么不支持,如果他们不想要 SSL,他们将一无所获。我仍然无法想象不支持 SSL 的客户端机器。这些机器从不使用网络浏览器访问安全站点吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多