HTTPS

密码学(cyptography)
Science of hidding information

cipher 密码

encryption 加密

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

通过Hash 散列将原字符串加密成加密字符串,还能转换回来。

如果所有人和服务器间都用一把一样的钥匙,就太危险了。

所以设计出 加密用一把钥匙,解密用不同钥匙。

这就是非对称加密。

public key, private key

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

 用来解密的key要单独的保留下来,不要和每个人share,所以这个叫private key

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

当键入一个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,然后发给服务器

5.服务器和客户端通信

猜你喜欢

转载自www.cnblogs.com/eret9616/p/8991033.html