【问题标题】:JavaScript to WCF Service encryptionJavaScript 到 WCF 服务加密
【发布时间】:2015-02-02 15:21:52
【问题描述】:

我正在寻找一种在 JavaScript 包和 WCF 服务之间加密数据的好方法。我在底部描述了一种解决方案,但想要更好的解决方案。有没有办法在不购买 SSL 证书的情况下做到这一点,我想要 SSL 数据传输,但不需要 CA?

背景

我有一个 WCF Web 服务,许多 Web 应用工具都将连接到该服务。所有工具都将获得批准并使用服务代码注册,然后才能访问服务。我们正在编写一个基本的 JavaScript 包,用于与服务进行通信以供工具使用。

进入服务的数据需要加密,我们不能相信即使是同一工具的其他用户也不会尝试收听数据。

我不想购买 SSL 证书并保持其有效,我希望因为我只允许某些工具访问并且他们使用我的包,所以我可以绕过它。

我找到了一个解决方案,但觉得还不够好

在开发过程中将服务器上的密钥硬编码给已批准的工具。当每个工具启动时,它会创建一个新密钥并将其发送到该用户和工具会话的服务器。所有来回的数据都将在这个新密钥上完成。 问题 - 如果有人在工具第一次发送其加密的新密钥时正在监听,他们可以从其中一个工具中获取硬编码并找出新密钥。

【问题讨论】:

    标签: javascript wcf security encryption


    【解决方案1】:

    公钥加密背后的基本原理是您拥有一个公钥和一个私钥。您可以将您的公钥提供给世界上的任何人,他们可以使用它来加密只有私钥持有者才能解密的消息。

    因此,您可以在服务中使用提供公钥的方法。您的工具将请求该公钥,以加密数据并使用该公钥以加密方式与您的服务交换数据。

    但请注意,我说的是“加密”而不是“安全”,SSL 超越了 HTTP 正文数据的加密,它几乎加密了整个连接。

    它也证明了身份。服务如何知道你是真的你?

    您将如何确定该消息没有在您和您的客户之间的某处被截获和更改? SSL 还提供完整性保护。

    我建议您不要重新发明轮子,或者如果您这样做,请认真计划一下,因为安全性非常重要。 “不想”不是不购买 SSL 证书的好理由。

    【讨论】:

    • 是的,我不想重新发明轮子,这就是我问的原因。我很想使用 SSL,但我不想使用 CA。由于工具已注册,并且我的 JavaScript 包将知道服务器是有效的,因此我不需要 CA 验证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    相关资源
    最近更新 更多