我在StartSSL上获得了我拥有的域名证书。所以这给了我:
为了接收这些,我发送了StartSSL:
mydomain.com
(通过电子邮件验证码)似乎我需要做的是将此密钥和此证书链放到我的服务器上,以便服务器上的OpenSSL能够使用它们来确保Web浏览器的安全。
但是哪个私钥是哪个?我有我生成CSR的私钥和我从CA获得的私钥。
我还不是100%明确的是什么在这里得到保证。浏览器查看证书,该证书告诉浏览器它应该已连接到mydomain.com
。
所有StartCom都知道我已经向他们展示了我拥有mydomain.com
并且我是唯一拥有此私钥的人。这就是传递的内容,所以现在从南斯拉夫连接的浏览器现在也有这个信息。
所以我的网络服务器与动态IP的廉价家庭连接。我在我的域名注册商处设置DNS,使用mydomain.com
将myname.dynDNSProvider.com
定向到CNAME
,我的动态DNS服务已将myname.dynDNSProvider.com
重定向到我家路由器上的动态WAN IP。
当IP发生变化时,请求会被定向到其他人或根本没有人。一切都没问题,因为攻击者无法使用报告mydomain.com
的有效证书来设置服务器。我还必须相信我的DNS服务。一旦我更新了IP,一切都会再次运行。
它是如何工作的?从我的域到我的实际IP的重定向路径是否与SSL身份验证的目的无关?如果他们这样选择,我的DNS服务提供商可以比局外人更有效地执行攻击吗?
我基本上只是试图以便宜的方式建立与我的家庭服务器的安全连接,并且为了以便宜的方式完成它,我完全可以使用动态DNS导致的短暂停机时间。我试图在这里解决的特殊问题是让浏览器不要说“无效证书!!!”当他们看到我的自签名SSL证书来自我的服务器时。 我很难找到好的资源来了解这些东西是如何工作的。
答案 0 :(得分:3)
但是哪个私钥是哪个?我有我生成的私钥 CSR和来自CA的私钥。
您从CA获得了 public 键。公钥是什么,是您的CSR的一部分,加上CACert的证明,这基本上意味着“我们验证了这一点”。我正在简化,但这是它的要点。您可以使用自己拥有的私钥以及从中获得的公钥证书。
至于DNS位,证书所说的是“我可以example.com
”。如果Web浏览器尝试连接到example.com
,并且服务器具有一些对example.com
有效且由浏览器信任存储区中的证书签名的证书(CACert在Mozilla和Microsoft中都有)你设置好了。除非证书中有IP地址,否则连接导致的IP地址无关紧要(这不是标准做法; CACert发布的证书只包含设置为DNS名称的subjectAltNames)。
我的DNS服务提供商是否可以选择,
由于你的问题落后了,所以有点难以回答。但是你的“DNS提供商”(我认为你的意思是dyndns服务)可以做三件事:将流量发送到他们自己的服务器,将其发送到任何地方,或者在拦截它之后发送给你。让我们单独解决攻击。
首先,将流量发送到自己的服务器。如果他们无法为您的域获取有效证书,并且要求 SSL用于所有连接(没有用户发出非SSL请求),那么这对他们没有好处。他们的伪造证书将显示为无效,游戏即将开始。
其次,将流量发送到无处。拒绝服务。在这种背景下并不感兴趣。
第三,尝试中间人攻击。这里的问题是客户端发送的流量只能由拥有您私钥的人阅读 - 他们没有。因此,除非他们能够为您的域获取有效证书而不是您拥有的证书,否则他们可能处于中间位置且仍然无法读取流量 - 因此这种攻击真的归结为第一个。你很安全。