目录
文章目录
对称加密和非对称加密
加密的过程就是把 “明文” 变成 “密文” 的过程;反之,解密的过程,就是把 “密文” 变为“明文”。在这两个过程中,都需要一个关键的 “密钥” 来参与数学运算。
所谓 “对称加密”,即:“加密” 和 “解密” 使用相同的密钥。这个比较好理解。就好比使用 7zip 或 WinRAR 创建一个带密码的加密压缩包。当你下次要把这个压缩文件解开的时候,你需要输入同样的密码。在这个例子中,密码就如同刚才说的 “密钥”。
所谓 “非对称加密”,即:“加密” 和 “解密”使用不同的密钥,“非对称加密” 的发明被誉为密码学历史上的一次革命。显然的,“非对称加密” 能干的事情比 “对称加密” 要更多,这是 “非对称加密” 的优点。相对的,“非对称加密” 的性能通常也要差很多。
SSL/TLS
SSL(Secure Sockets Layer,安全套接层),它是在上世纪 90 年代中期,由网景公司设计的。因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点,例如:传输内容会被嗅探和篡改。发明 SSL 协议,就是为了解决这些问题。
到了 1999 年,SSL 因为应用广泛,已经成为互联网上的事实标准。IETF 就在那年把 SSL 标准化。标准化之后的名称改为 TLS(Transport Layer Security,传输层安全协议)。
HTTPS
HTTPS 就是 HTTP 与 SSL/TLS 的组合,本质为 HTTP over SSL/TLS。因为是先有 HTTP 再有 HTTPS。所以,HTTPS 的设计要考虑到对原有 HTTP 的兼容性。兼容性包括很多方面。比如:已有的 Web 应用可以无缝地迁移到 HTTPS。所以,很容易得出如下几个结论:
- HTTPS 还是要基于 TCP 来传输的。
- 单独使用一个新的协议,把 HTTP 协议包裹起来,即 HTTP over SSL/TLS,在原有的 HTTP 数据外面加了一层 SSL 的封装。
相关阅读: