为什么需要SSL证书?

麦克斯先生

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

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

我的情况:

查尔斯·席勒

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

Especially if you have BYODs attached to the network (and even if not, you don't want to be a hard shell with a juicy interior), someone can bring a compromised laptop or phone, attach it to the network, and a virus can intercept everything going on the network (see firesheep).

So you have to assume that the network is malicious - treat your LAN as if it were the internet.

So now the question goes back - why can't I rely on a self-signed certificate (both on a local network as well as the internet)?

Well, what are you protecting against? TLS (SSL) protects against two things:

  1. Interception - even if I MITM you (I become your router), I can't read what you're sending and receiving (so I can't read your Credit Card numbers or password)

  2. Spoofing - I can't inject code between you and the server.

So how does it work?

I connect to the server and get a certificate signed by a CA. This CA is considered trusted by the browser (they have to go through all kinds of audits to get that trust, and they get evicted if they break it). They verify that you control the server and then sign your public key.

So when the client gets the signed public key from the server, he knows he's going to encrypt a message that only the destination server can decrypt, as the MITM wouldn't be able to substitute his own public key for the server's (his public key wouldn't be signed by a CA).

Now you can communicate securely with the server.

What would happen if the browser would accept any SSL cert (self signed)?

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么需要SSL证书固定?

引入APNS通用客户端SSL证书后,为什么Pushkit需要单独的Voip证书?

在openssl中是否需要针对SSL证书对CN /主机名进行验证,为什么?

为什么禁用DNSSEC以获取SSL证书?

为什么签署证书需要`-CAcreateserial`参数?

为什么未签名的SSL证书比没有SSL证书更糟糕?

为什么要购买通配符SSL证书?

为什么OS X不信任GitHub的SSL证书?

为什么letencrypt SSL证书显示警告消息?

PWA需要哪种SSL证书?

http需要ssl证书吗?

我需要使用Chef配置ssl nginx。推出SSL证书的最佳方法是什么?

为什么需要证书来创建自己的其他自签名证书

为什么自定义SSL需要公共IP?

我构建的CRM应用程序需要什么SSL证书?

PayPal IPN是否需要SSL证书?

Nagios:SSL / TLS是否需要证书?

是什么使某些SSL证书比其他SSL证书“更好”?

续订SSL证书是否需要重新颁发证书?

如果没有DNS插件,为什么certbot无法自动撤消通配符SSL证书?

为什么在SSL连接期间未发送客户端证书?CXF 2.7.9

为什么Python的`requests'拒绝我的SSL证书,浏览器会接受

想要sha256 ssl证书,但是我得到sha1,为什么?

为什么Java在SSL握手期间不发送客户端证书?

为什么我们不能将SSL证书视为Pgp密钥,而不是信任CA?

SMTP-SSL证书问题-C#-为什么此代码有效?

Windows XP为什么不能处理较新的SSL证书版本?

为什么应用SSL证书后,安全锁从我的wordpress网站上消失了?

为什么使用错误的证书时https://gmail.com/不会产生SSL错误?