对称密钥 vs 非对称密钥
1. 对称密钥加密
- 定义: 对称密钥加密是一种加密算法,其中加密和解密使用的是同一个密钥。
- 特点:
- 速度快: 因为只使用一个密钥,所以加密和解密速度较快。
- 密钥分发问题: 双方必须共享同一个密钥,并且需要确保密钥的安全分发。
- 常见算法: AES、DES、3DES 等。
示例:
- 如果 Alice 想加密一条消息发送给 Bob,他们都使用同一个密钥进行加密和解密。密钥泄露则可能导致通信被破解。
2. 非对称密钥加密
- 定义: 非对称密钥加密是一种加密算法,其中使用一对密钥——公钥和私钥。公钥用于加密,私钥用于解密,反之亦然。
- 特点:
- 安全性高: 私钥不需要与他人共享,因此更安全。
- 速度较慢: 由于算法复杂,非对称加密通常比对称加密慢。
- 常见算法: RSA、DSA、ECC 等。
示例:
- Alice 想加密一条消息发送给 Bob,Bob 会将他的公钥发送给 Alice,Alice 使用 Bob 的公钥加密消息,Bob 用他的私钥解密消息。
HTTP 变成 HTTPS 的过程
HTTP(HyperText Transfer Protocol)是一种传输超文本的协议,但它是不加密的,通信内容可能被窃听或篡改。
HTTPS(HyperText Transfer Protocol Secure)是在 HTTP 基础上加入了 SSL/TLS 加密层,确保数据在传输过程中是加密的,提供了通信的安全性和数据完整性。
转换过程:
- SSL/TLS 协议: HTTPS 是通过 SSL/TLS(安全套接字层/传输层安全)协议来实现的,它为 HTTP 提供了加密和身份验证。
- 证书:
- 服务器需要一个数字证书,由受信任的证书颁发机构(CA)签发。证书包含服务器的公钥,用于加密数据和验证服务器身份。
- 握手过程:
- 客户端请求: 客户端(如浏览器)请求 HTTPS 连接。
- 服务器响应: 服务器返回 SSL/TLS 证书,包括公钥。
- 密钥交换: 客户端验证证书的有效性后,生成一个会话密钥(对称密钥),并使用服务器的公钥加密发送给服务器。
- 安全连接: 服务器使用自己的私钥解密出会话密钥,双方之后通过这个会话密钥进行加密通信。
- 加密通信: 之后的所有数据传输都是通过对称加密进行的,确保数据的安全性和完整性。