HTTPS
密码学(cyptography)
Science of hidding information
cipher 密钥
encryption 加密
对称加密
key string 密钥(symmetric key 对称密钥)
非对称加密:
public key, private key
服务器可以freely的把这个钥匙的分发给所有的人,用来加密, 这把钥匙叫 public key
每个人单独生成一个key,这个叫private key
这时如果中间人收到了这段用public key加密的数据,他是不能解密的,因为他不知道server中的private key,这个数据只能用private key来解密
(这种过程的常见算法是RSA算法)
当键入一个HTTPS网址的时候:
首先
1.make a TCP connection on the HTTP port 443
(因为443是https的默认监听端口,除非是在URL地址中给指定了,才会尝试连接那个端口)
2.SSL handshake(过程涉及到证书等等,很复杂)
3.browser generate a symmetric secret key just for this SSL session
4.用服务器给的公钥加密这个key,生成private key 然后发给服务器
5.服务器和客户端通信
其他版本:
对称加密和非对称加密