HTTPS

密码学(cyptography)
Science of hidding information

 

cipher 密钥

encryption 加密

 

对称加密

key string 密钥(symmetric key 对称密钥)

 

 非对称加密:

 

HTTPS_第1张图片

 

public key, private key

服务器可以freely的把这个钥匙的分发给所有的人,用来加密, 这把钥匙叫 public key

HTTPS_第2张图片

 

 

每个人单独生成一个key,这个叫private key

HTTPS_第3张图片

 

HTTPS_第4张图片

 

这时如果中间人收到了这段用public key加密的数据,他是不能解密的,因为他不知道server中的private key,这个数据只能用private key来解密

(这种过程的常见算法是RSA算法)

 

 

当键入一个HTTPS网址的时候:

首先

1.make a TCP connection on the HTTP port 443

HTTPS_第5张图片

(因为443是https的默认监听端口,除非是在URL地址中给指定了,才会尝试连接那个端口)

2.SSL handshake(过程涉及到证书等等,很复杂)

3.browser generate a symmetric secret key just for this SSL session

4.用服务器给的公钥加密这个key,生成private key 然后发给服务器

5.服务器和客户端通信

 

 

 

 

其他版本:

对称加密和非对称加密

HTTPS_第6张图片

 

HTTPS_第7张图片

 

HTTPS_第8张图片

HTTPS_第9张图片

 

转载于:https://www.cnblogs.com/eret9616/p/8991033.html

你可能感兴趣的:(HTTPS)