天天看點

HTTPS

密碼學(cyptography)

science of hidding information

cipher 密鑰

encryption 加密

對稱加密

key string 密鑰(symmetric key 對稱密鑰)

 非對稱加密:

HTTPS

public key, private key

伺服器可以freely的把這個鑰匙的分發給所有的人,用來加密, 這把鑰匙叫 public key

HTTPS

每個人單獨生成一個key,這個叫private key

HTTPS
HTTPS

這時如果中間人收到了這段用public key加密的資料,他是不能解密的,因為他不知道server中的private key,這個資料隻能用private key來解密

(這種過程的常見算法是rsa算法)

當鍵入一個https網址的時候:

首先

1.make a tcp connection on the http port 443

HTTPS

(因為443是https的預設監聽端口,除非是在url位址中給指定了,才會嘗試連接配接那個端口)

2.ssl handshake(過程涉及到證書等等,很複雜)

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

4.用伺服器給的公鑰加密這個key,生成private key 然後發給伺服器

5.伺服器和用戶端通信

其他版本:

對稱加密和非對稱加密

HTTPS
HTTPS
HTTPS
HTTPS

繼續閱讀