首页 > 解决方案 > 为什么我需要 SSL 证书?

问题描述

我有一个简短的问题:为什么我需要SSL 证书(我的意思是只有证书而不是 SSL 连接)?

就我而言,谷歌浏览器检测到连接是加密且安全的,但一切都是红色的,因为我自己创建了证书。 如果连接是安全的,为什么我需要 SSL 证书?

我的情况:

标签: sslcertificatessl-certificate

解决方案


仅仅因为 192.168.xxx.xxx 的流量没有离开您的网络边界并不意味着它是安全的。

尤其是如果您将 BYOD 连接到网络(即使没有,您也不想成为内部多汁的硬壳),有人可能会携带受损的笔记本电脑或手机,将其连接到网络,病毒可以拦截网络上发生的一切(参见firesheep)。

所以你必须假设网络是恶意的——把你的局域网当作互联网来对待。

所以现在问题又回来了——为什么我不能依赖自签名证书(在本地网络和互联网上)?

那么,你在保护什么?TLS (SSL) 可以防止两件事:

  1. 拦截 - 即使我 MITM 您(我成为您的路由器),我也无法读取您发送和接收的内容(因此我无法读取您的信用卡号或密码)

  2. 欺骗 - 我无法在您和服务器之间注入代码。

那么它是怎样工作的?

我连接到服务器并获得由 CA 签名的证书。这个 CA 被浏览器认为是信任的(他们必须经过各种审计才能获得这种信任,如果他们破坏它,他们就会被驱逐)。他们验证您控制服务器,然后签署您的公钥。

因此,当客户端从服务器获取签名的公钥时,他知道他将加密只有目标服务器才能解密的消息,因为 MITM 无法用自己的公钥替换服务器的(他的公钥不会由 CA 签署)。

现在您可以安全地与服务器通信。

如果浏览器接受任何SSL 证书(自签名)会发生什么?

还记得浏览器如何区分官方证书和伪造的 MITM 证书吗?由 CA 签署。如果没有 CA,则浏览器实际上无法知道它是在与官方服务器还是 MITM 对话。

所以自签名证书是一个很大的禁忌。

但是,您可以做的是生成一个证书并使其成为“根”证书(实际上,为您的内部计算机启动您自己的 CA)。然后,您可以将其加载到您的浏览器 CA 存储中,并且您将能够通过 SSL 进行通信,而无需通过 letencrypt 之类的东西(顺便说一下,这是企业网络监控工具的工作方式)。


推荐阅读