【问题标题】:Design issue with encryption on my website我的网站上的加密设计问题
【发布时间】:2013-03-11 21:01:36
【问题描述】:

我正在构建我的网站,但在实施加密方面遇到了问题。我正在使用 Java 中的 RESTful Web 服务开发它。

我发现 GibberishAES API 用于从 javascript 进行加密。加密的消息现在进入网络服务,但我不知道如何在(java)网络服务中解密它。我知道 GibberishAES 在 java 中不可用,但是有什么迂回的方法吗?

或者,是否有任何同时支持 Java 和 Javascript 的加密 API?

我也有网站(对称)密钥分配的问题。它将有 100 个客户端(机器,在公共网络中),我不知道如何将特定机器的唯一密钥传达给它。

请在这方面帮助我。

【问题讨论】:

  • 您不只是使用 SSL 有什么特殊原因吗?
  • GibberishAES 只是一个符合 AES 的库,因此您可以使用任何可以处理 AES 的 java 库。为什么你要“搞乱”加密?
  • @Perception 我不太确定,但我认为我们需要证书才能使用 SSL。如果我错了,请纠正我。
  • @Andreas 是吗?我不明白我在搞砸什么。我知道我在某个地方会严重恶化,你能简要介绍一下吗?
  • @techEnthusiast - 是的,您需要证书才能使 SSL 工作。您可以使用自签名证书进行测试,但我建议为您的实时(生产)应用使用受信任的证书。

标签: java javascript rest encryption


【解决方案1】:

GibberishAES 实现 AES 加密。 AES 是一种对称密码,这意味着双方必须知道一个共享密钥。分配密钥的问题并非微不足道,并且存在用于这样做的众所周知的算法。

正如在某些 cmets 中提到的,SSL 已经解决了这个问题,因为它协商了分布式密钥的生成,该密钥随后用于加密。如果出于某种原因您不能使用 SSL,您应该采用某种机制来安全地生成或传输密钥。例如,您可以在客户端生成一个临时 RSA 密钥对,将公钥发送到服务器,然后让服务器以封装形式返回密钥 (AES)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多