歡迎到我的博客 一杯劉 觀看哦~愛你比心(*  ̄3)(ε ̄ *)
本文只是把網上關于 https 工作原理的文章總結并歸納整理的產物,希望能從一個不同的視角用通俗的話介紹 https 工作流程,5分鐘足夠了。
來看一張圖,我們看圖說話
https連接流程圖
注意,為了更好的區分明文和密文,用【AA】代表AA被加密,AA 代表正常未加密
- client 發出請求
- server 收到請求,并自己生成一對密鑰,即 公鑰S 和 私鑰S
- server 把生成的 公鑰S 傳遞給 client (除了 公鑰S ,還有很多額外信息)
- client 收到 公鑰S 后進行判斷,若無效,彈出警告,否則生成一串隨機數,我們稱之為 私鑰C ,然后 client 用 server 傳過來的 公鑰S 對該隨機數加密,形成【私鑰C】
- client 把【私鑰C】傳遞給 server
- server 收到【私鑰C】,用 私鑰S 把【私鑰C】解密成 私鑰C,然后把需要傳遞的數據用 私鑰C 進行加密
- server 把【數據】傳遞給 client
- client 收到【數據】,用 私鑰C 解密,完成一波收割
整體流程就是這樣,那么就想問,為什么有這么多 key?一會公鑰一會私鑰?很煩?
那我們先假設 server 有私鑰和公鑰,那么傳遞給 client 公鑰,client 用公鑰加密數據,傳遞給 server,server 用私鑰再解密,聽上去很美好,但是很煩,因為涉及到對稱加密和非對稱加密
對稱加密是指加密和解密用一致的密鑰,特點是快
非對稱加密是指密鑰區分公鑰和私鑰,公鑰加密,私鑰解密(私鑰好比唯一一把鑰匙,公鑰好比鎖,鑰匙只有一把,但鎖可以有很多,被鎖頭鎖上的數據全天下只有一把私鑰才能打開),特點是安全,但是慢
這回理解了吧,上述方式缺點是 慢,所以 https 的流程綜合了對稱加密和非對稱加密的優點,利用非對稱加密的安全性來加密那一串隨機數--私鑰C,利用對稱加密的快捷性來加密報文,總體來說就是把真正加密解密的密鑰(私鑰C)用公鑰S和私鑰S來加密,這就是 https 工作的流程,哎,能想出這種操作,很靈性啊。
文章短么?很短,但沒辦法,短是男人的天性...