【问题标题】:Multiple SSL certs for one domain - how?一个域的多个 SSL 证书 - 如何?
【发布时间】:2017-01-19 09:22:11
【问题描述】:

我想构建一个 LAMP 堆栈解决方案来交付安全内容,但我不想知道该内容是什么。我已经解决了文件加密问题,但我现在遇到了将安全内容传输到远程浏览器进行查看的问题。我想避免像 Mega 那样发送加密文件,我想使用带有强 SSL 的 HTTPS。

对整个域使用单个 SSL 证书可以让我(证书所有者)解密流。

我想通过为每个用户提供一个 SSL 证书来解决这个问题,该证书在服务器端由用户密码加密。

我必须解决的唯一问题是如何让一个域以某种方式使用多个 SSL 证书。如何做到这一点?

我愿意使用 Ngnix,但更愿意使用 Apache。

【问题讨论】:

  • 这看起来非常不可行。 SSL 证书必须由权威机构验证,并且仍然非常永久,不能真正“即时”生成。也许有人知道得更好,但这听起来不对。
  • 如果您通过 HTTPS 从您的 Web 服务器发送未加密的文件,您作为该服务器的操作员也将能够看到数据。不用截流,看服务器即可。如果您想让自己无法读取文件,则需要进行端到端加密(这意味着文件是加密发送的,而解密发生在客户端应用程序中)。
  • 我不打算使用来自根授权的 SSL 证书,我打算设置自己的 CA、中间 CA 和自签名。这个想法是为了保证安全,我不能真正保证 NSA 现在没有损害几个根/中介。我正在将文件解密到 RAM 中,然后发送它们。我让自己很难获得未加密的内容,这就是我的想法。我们可以不用管其他东西的技术细节吗?如何在一个域上使用多个 SSL 证书?
  • 这对您来说有什么困难?如果您有能力解密文件,那么您就有能力。这意味着您可以访问解密密钥,您需要存储它们,您可能会被黑客入侵并且可能被盗。只在 RAM 中存储纯文本是无关紧要的。
  • 我投票决定将此问题作为离题结束,因为您可能会在 crypto.stackexchange.com 上获得更好的答案(并且您应该真正将整个解决方案纳入讨论,而不仅仅是关注 HTTPS 细节)。

标签: ssl https


【解决方案1】:

您无法使用 LAMP 堆栈做您想做的事,但您必须编写自己的 Web 服务器,该服务器首先以某种方式(通过 IP 地址?)识别用户,然后再进行 TLS 握手,因为您要求用户特定的证书。像 Apache 或 nginx 这样的现有服务器为服务器假定一个静态证书,而不是一个以某种方式与用户相关联的动态证书。

但是,即使您设法创建了这样一个服务器,它也可能无助于提供您似乎拥有的主要目标,即向网络服务器本身的所有者隐藏所提供的内容。 SSL/TLS 是端到端加密,这意味着必须首先在服务器上以纯文本形式提供内容,然后才能对其进行加密以进行传输。这也意味着服务器的所有者可以访问内容。

确保服务器所有者无权访问的唯一方法是使用只有发件人和收件人知道但服务器所有者不知道的密钥加密文件。这就是 Mega 使用的概念。

【讨论】:

  • 谢谢你的回答,这就是我要找的。​​span>
猜你喜欢
  • 1970-01-01
  • 2015-06-21
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 2017-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多