为什么需要SSL证书?

Max*_*ter 4 ssl certificate ssl-certificate

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

在我的情况下,谷歌浏览器检测到该连接已加密且安全,但是由于我自己创建了证书,所以一切都是红色。 如果连接安全,为什么需要SSL证书?

我的情况:

Cha*_*ler 5

仅仅因为到192.168.xxx.xxx的流量不会超出网络边界并不意味着它是安全的。

尤其是如果您将BYOD连接到网络上(即使没有,也不想成为多汁的硬壳),则有人可以携带受感染的笔记本电脑或手机,将其连接到网络上,并且病毒可以拦截网络上的所有内容(请参阅firesheep)。

因此,您必须假设网络是恶意的-将您的LAN视为互联网。

所以现在问题又回来了-为什么我不能依靠自签名证书(既在本地网络又在Internet上)?

好吧,您要保护什么?TLS(SSL)可以防止两件事:

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

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

那么它是怎样工作的?

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

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

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

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

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

因此,自签名证书非常重要。

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