窃听): 旁边路过的人(黑客)能清清楚楚听到你要买什么书,甚至你的银行卡号和密码(如果你喊出来了)!这就是信息泄露。篡改): 有个坏蛋(中间人)在你和书店之间,他听到你说“给书店转账100元”,他可能偷偷改成“给坏蛋转账100元”!而你和书店可能都没发现话被改了。这就是数据篡改。
冒充): 集市上可能有个假书店,招牌做得和真书店一模一样(假网站)。你冲着假书店喊“我要买书”,把钱给了假书店,结果书没拿到,钱也没了!这就是网络钓鱼/身份伪造。👉 一句话:HTTP 无法验证通信对方的真实身份,也无法保证传输数据的机密性和完整性
为了解决 HTTP 的这些大麻烦,聪明的人们发明了 HTTPS。你可以把它理解为 HTTP + Security (安全)。给沟通加上了“保险箱”和“身份证”。
HTTPS 的核心思想是:
现在,想象你和书店决定在一个带隔音、带锁、需要验明正身的高级包间里谈生意(这就是 HTTPS 连接)。建立这个包间需要几个关键步骤:
你(浏览器)要做的事:
如果检查都通过: 恭喜!你确认了对方就是真正的书店,并且你拿到了书店的公钥(那把锁头)。这个公钥是公开的,谁都可以知道。
如果检查不通过: 浏览器会弹出大大的红色警告!告诉你这个网站身份可疑,千万别输入密码等信息!赶紧离开!
Pre-Master Secret (预主密钥)。这将是最终用来加密对话的真正钥匙的核心材料。书店(服务器)收到盒子: 用自己私钥打开盒子,拿到了你发来的预主密钥。
你和书店各自计算: 现在,你们俩手里都有:
Client Random)Server Random)Pre-Master Secret)你们俩按照之前约定好的规则(选定的加密算法),用这三个数,各自独立地计算出一把一模一样的钥匙,这把钥匙叫 Session Key (会话密钥)。这把钥匙是对称密钥,意思是加密和解密都用同一把钥匙,速度很快。
Session Key (会话密钥) 进行加密和解密Session Key 通常就会被丢弃。下次你再访问时,会重新走一遍流程,生成一把新的会话密钥,安全性更高。下面是简化版的 https 建立连接的时序图,可以结合上面的讲解一起看:
数字证书: 网站的“身份证”。由 证书颁发机构 (CA) 签发,证明“这个公钥确实属于这个域名对应的网站”。浏览器信任这些权威的 CA。
公钥和私钥: 这是 非对称加密 的一对钥匙。
对称加密 (Session Key): 加密和解密用同一把钥匙。优点是速度快,适合加密大量数据。HTTPS 在建立连接后主要用它。
非对称加密: 加密和解密用不同的钥匙(公钥和私钥)。优点是安全,但速度慢。HTTPS 主要用它来安全地传递那个用于对称加密的 Session Key。这就是 混合加密 的智慧!
CA (证书颁发机构): 网络世界的“公安局”或“公证处”。它们负责核实网站的真实身份,然后签发数字证书。浏览器内置了信任的根 CA 列表。
简单说,HTTPS 就是给原本“在街上大声喊话”的网络通信,加上了“验明正身”和“进隔音包间用密语交谈”的安全措施。它让互联网上的信息传输变得私密、可信、防篡改。现在几乎所有的网站,尤其是涉及登录、支付等敏感操作的,都必须使用 HTTPS。你在浏览器地址栏看到的小锁头图标,就是 HTTPS 在保护你的标志!