目录
1 概述
SSL(Secure Sockets Layer) 是一种网络安全协议,用于在互联网中保护数据的传输。SSL 协议最初由网景公司(Netscape)开发,旨在为通过互联网传输的数据提供加密保护。由于 SSL 协议存在一些安全问题,它在 1999 年被其继任者 TLS(Transport Layer Security) 取代。尽管 TLS 是 SSL 的继任者,但 SSL 和 TLS 常常被统称为 SSL/TLS,尤其在日常用语中。
直白点说,就是在明文的上层和TCP层之间加上一层加密,这样就保证上层信息传输的安全。如HTTP协议是明文传输,加上SSL层之后,就有了雅称HTTPS
。它存在的唯一目的就是保证上层通讯安全的一套机制。
2 主要功能
-
加密:SSL/TLS 使用加密算法确保数据在传输过程中不会被窃取或篡改。加密使得数据只能由授权的接收者解密和读取。
-
认证:SSL/TLS 通过证书验证通信双方的身份,确保数据的接收者和发送者都是合法的。
-
数据完整性:SSL/TLS 使用消息认证码(MAC)来检测数据在传输过程中是否被篡改,确保数据的完整性。
3 技术演化
熟悉一套技术的演化过程,比直接看最新版本,更容易理解。
3.1 明文时代
Bob向Alice发送信息,直接以明文形式发送。
缺点显而易见,第三方黑客很容易就窃取到信息,也可以进行篡改后发给Alice,而且Alice收到后并不知情,以为是Bob发来的。
3.2 对称加密时代
Bob和Alice保存一份相同的秘钥,Bob发出的信息先经过加密,Alice收到后使用同样的密码进行解密。这种加密和解密使用同一个密钥的算法称为对称加密算法。
短期内黑客对加密数据无能为力,但是每次变更秘钥需要事先协商,如果协商出问题,Bob告知Alice新秘钥时,秘钥被黑客截取,那后续的密文对黑客来说,他也可以解密成明文。也可以篡改明文信息后,再使用同样的密钥加密后发给Alice。
3.3 非对称加密时代
既然进行密钥交换存在风险,Bob和Alice采用非对称加密算法。双方各自保存私钥、公钥,两者配对,私钥自己保存,公钥由私钥运算生成发给对方,不能由公钥反推算出私钥;但是使用公钥加密的密文,却可以使用私钥解密;使用私钥签名,使用公钥验证;这种加密和解密使用不同的密钥的算法成为非对称加密算法。