其实 , SSL/TLS就是这样来加密信息的 。 一把锁的方法相当于对称密码 , 它速度快效率高 , 可以处理大量的数据 , 但对方需要密钥才能解密 , 而礼物箱子的钥匙就是对称密码的密钥;两把锁的方法相当于公钥密码 , 它速度慢 , 不适合处理大量的数据 , 但可以用它来安全地传送对称密码的密钥 。
真的锁和假的锁
你以为有了加密就万事大吉了?假设小兰想骗到礼物箱子的钥匙 , 她有什么办法呢?我们再回忆一下两把锁加密的那个过程 , 一开始小明把加上自己的锁的盒子寄给小红 , 如果小兰能够在途中把这个盒子拦下来 , 她可以加上自己的锁然后再寄回给小明 , 小明其实没办法判断新加的那把锁到底是不是小红的 , 他把自己的锁打开并去掉 , 然后重新寄出去 , 这时小兰再次把盒子拦下来 , 现在盒子上面只有小兰的锁 , 于是小兰毫无难度地拿到了礼物箱子的钥匙 。
【浏览器提示“证书错误”到底是什么意思?】上面这个故事的关键问题在于 , 小明怎么知道新加的那把锁是不是小红的?我们假设小红的锁上面有个防伪标签 , 比如是个二维码 , 小明用手机扫描这个二维码 , 可以跳出一个公安局的网页来验证小红的身份 , 这样就可以防止小兰用假的锁来招摇撞骗了 。
其实 , 小红锁上的这个防伪标签也就是我们在SSL/TLS里所说的“证书” , 它可以让我们验证网站的身份 , 确保我们的信息不被小兰这样的坏人骗走 。 小红的防伪标签是由公安局颁发并且提供验证的 , 网站的证书也差不多 , 它是由一些叫做“认证机构”(certificate authority)的组织颁发并提供验证的 。
尽职尽责的浏览器
那么 , 浏览器为什么有时候会弹出证书错误的提示呢?那是因为浏览器在对网站提供的证书进行验证的时候发现了一些问题 。 在访问https网址时 , 浏览器会对网站提供的证书进行验证 , 通常包括这样几条:
1. 证书是否由可信的认证机构颁发并经过该认证机构的验证
2. 证书是否在有效期内 , 是否已经被声明作废
3. 证书中记录的域名是否与正在访问的网站域名一致
你看 , 你的浏览器还是相当专业和负责的 , 那么反过来说 , 如果上面这些验证中的任何一条出了问题 , 浏览器就会弹出警告说这个证书是有问题的 , 也就是我们开头看到的那个画面 。
证书错误到底代表什么?
那么 , 证书有问题又意味着什么呢?我们一条一条地看 。
首先 , 如果第1条遇到了问题 , 说明这个证书不是由可信的认证机构颁发的 。 证书也只不过是按照特定算法所生成的数字签名 , 因此实际上任何人都可以自己给自己颁发证书 , 只是可信或不可信的区别而已 , 就好像你可以自己给自己发一张身份证 , 但别人可不相信这个证 , 而公安局给你发一张身份证就非常可信 。 有些网站会使用自己颁发的证书 , 其中最有名的莫过于买火车票的12306了 , 但对于浏览器来说 , 网站自己颁发的证书是不可信的(下图) , 于是会弹出警告 , 因为不可信的证书很容易被伪造 , 就好像你可以给自己发身份证 , 也可以给你爸发一张身份证 , 反正这些身份证都不可信 , 别人也就无法辨认真伪 。
推荐阅读
- 强迫症到底有多痛苦?
- 关灯后玩手机伤害眼睛吗?
- “眼见为实”就一定靠谱吗?
- 北京今冬“30年来最冷”是真的吗?
- 过年吃太好,小心得痛风这种“帝王病”!
- 所谓的“灵魂出窍”,是真的吗?
- 为什么有些车开起来发“飘”?
- 跑步时,突然“岔气”怎么办?
- “酸性体质、碱性体质”其实是伪科学?
- ”地球一小时“,更浪费能源?