通常,您使用给定的用户凭据登录到ISP。然后,您将获得一个IP地址并可以访问其内部名称服务器,以便您可以请求某个域名并获得一个IP地址作为响应。
但是,如何确定我要检索的实际网站呢?如何确定我的ISP没有伪造IP或它们没有将我重定向到“伪造的内部服务器”(有或没有相同的IP地址)?例如:如果我询问example.com,请获取其IP,然后他们向我显示该站点的简单克隆。
如何确保一个IP仅存在一次?可以将localhost的IP更改为其他名称,那么如何确保Web地址不会发生这种情况?
当然:如果ISP伪造目的地,则其他用户如果请求相同的结果,也会受到影响。但是即使在这种情况下:能否通过其ISP凭据过滤用户并劫持用户呢?
我的理解方式可能存在某种误解。但是我没有得到我所缺少的东西。
是的,DNS不安全。如果您真的想知道自己正在与所需的服务器通信,则必须对服务器进行身份验证。这就是我们要做的。我们不相信DNS是安全的,我们在其他地方实现了我们需要的安全性,例如TLS(传输层安全性)。
TLS(HTTPS的现代安全层)通过强制服务器向客户端发送说明服务器名称和公共密钥的证书来实现此目的。该证书由称为证书颁发机构(CA)的受信任第三方加密签名。CA签名证明证书为指定的服务器显示正确的公钥。
为了证明服务器是证书的合法拥有者(而不是窃取有效证书的冒名顶替者),TLS握手证明它知道秘密私有密钥,该私有私钥与证书中的公钥形成了一个匹配集。当然,这是在不公开私钥本身的情况下完成的。
有一个保护DNS的提案叫做DNSsec,但是它已经进行了很多年,而且似乎从未到过任何地方。它可能永远不会被广泛部署。现在有一个关于“ HTTP上的DNS”(DoH,发音为“ D'oh!”)的提案,可以通过在HTTPS上进行DNS来保护DNS。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句