- Web⽹站的登錄⻚⾯都是使⽤https加密傳輸的,加密數據以保障數據的安全
- HTTPS能夠加密信息,以免敏感信 息被第三⽅獲取,所以很多銀⾏⽹站或電⼦郵箱等等安全級別較⾼的服務都會採⽤HTTPS協議
- HTTPS其實是有兩 部分組成:HTTP + SSL / TLS,也就是在HTTP上⼜加了⼀層處理加密信息的模塊。服務端和客⼾端的信息傳輸都會 通過TLS進⾏加密,所以傳輸的數據都是加密後的數據。
- https 實現過程如下:
- 客⼾端發起HTTPS請求: 客⼾端訪問某個web端的https地址,⼀般都是443端⼝
- 服務端的配置: 採⽤https協議的服務器必須要有⼀套證書,可以通過⼀些組織申請,也可以⾃⼰製作,⽬前國內很多⽹站都⾃⼰做的, 當你訪問⼀個⽹站的時候提⽰證書不可信任就表⽰證書是⾃⼰做的,證書就是⼀個公鑰和私鑰匙,就像⼀把鎖和鑰匙,正 常情況下只有你的鑰匙可以打開你的鎖,你可以把這個送給別⼈讓他鎖住⼀個箱⼦,⾥⾯放滿了錢或祕密,別⼈不知道⾥ ⾯放了什麼⽽且別⼈也打不開,只有你的鑰匙是可以打開的。
- 傳送證書: 服務端給客⼾端傳遞證書,其實就是公鑰,⾥⾯包含了很多信息,例如證書得到頒發機構、過期時間等等
- 客⼾端解析證書: 這部分⼯作是有客⼾端完成的,⾸先回驗證公鑰的有效性,⽐如頒發機構、過期時間等等,如果發現異常則會彈出⼀個警 告框提⽰證書可能存在問題,如果證書沒有問題就⽣成⼀個隨機值,然後⽤證書對該隨機值進⾏加密,就像2步驟所說把隨 機值鎖起來,不讓別⼈看到。
- 傳送4步驟的加密數據: 就是將⽤證書加密後的隨機值傳遞給服務器,⽬的就是爲了讓服務器得到這個隨機值,以後客⼾端和服務端的通信就可以 通過這個隨機值進⾏加密解密了。
- 服務端解密信息: 服務端⽤私鑰解密5步驟加密後的隨機值之後,得到了客⼾端傳過來的隨機值(私鑰),然後把內容通過該值進⾏對稱加 密,對稱加密就是將信息和私鑰通過算法混合在⼀起,這樣除⾮你知道私鑰,不然是⽆法獲取其內部的內容,⽽正好客⼾ 端和服務端都知道這個私鑰,所以只要機密算法夠複雜就可以保證數據的安全性。
- 傳輸加密後的信息: 服務端將⽤私鑰加密後的數據傳遞給客⼾端,在客⼾端可以被還原出原數據內容。
- .客⼾端解密信息: 客⼾端⽤之前⽣成的私鑰獲解密服務端傳遞過來的數據,由於數據⼀直是加密的,因此即使第三⽅獲取到數據也⽆法知道 其詳細內容