https爲什麼是安全的協議?相對於http提升了什麼?

https簡述

https是一個老生常談的話題了,也是面試過程種幾乎必然會問到的一個問題,我們都知道 HTTPS 比 HTTP 安全,也聽說過與 HTTPS 協議相關的概念有 SSL 、非對稱加密、 CA證書等,但一般面試官都喜歡深入挖掘的問:
https的原理、爲什麼?
此兩大法寶基本可以放在任何技術問題上,然後希望以此擊潰所有的面試者。
在這裏插入圖片描述
那麼套用在這個問題上,我們應該怎麼去面對他呢?

那麼首先,我們討論一下https的原理

我們知道,https與http的最本質上的區別,是在於ssl/tsl證書,在瀏覽器中打開一個Https鏈接,瀏覽器會校驗https的合法性。以下兩個是訪問https與http鏈接,在chrome中的不同表現,https會有個鎖頭的標誌代表安全
訪問一個http地址
訪問一個https地址
在這裏的關鍵部位,就是瀏覽器認爲存放於服務器端的https證書,是一個機構頒發的的合法的https安全證書。所以瀏覽器與服務器地方交互過程如下圖所示,分爲兩個階段:
https驗證過程
所以,其實使用了https共經歷了兩個階段,一個是證書驗證階段,在本階段通過非對稱加密會驗證ca證書的合法性,當證書合法之後,第二步是數據傳輸的階段,本階段的加密是使用對稱加密,以用於高頻傳輸數據,因爲非對稱加密相對於對稱加密的效率是非常低的,高頻傳輸根本無法接受這種情況

爲什麼要使用https證書

我們知道,使用https證書,一般情況下是需要付費使用的
在這裏插入圖片描述
那麼我們爲什麼還是要使用他呢?很簡單,兩個字:安全
那麼https爲什麼安全呢?
前面已經介紹過了,https在數據傳輸之前,進行了證書非對稱式的驗證,保證了傳輸安全,防止傳輸過程被監聽、防止數據被竊取,可以確認網站的真實性。以此可以防止中間人攻擊
那麼這個時候,可能有好學(gangjing)的同學講了:你亂說,就算使用了https,依然阻止不了抓包
沒有錯,即使是使用了了https,仍然會被抓包,但可以防止用戶在不知情的情況下通信鏈路被監聽,對於主動授信的抓包操作是不提供防護的,因爲這個場景用戶是已經對風險知情。要防止被抓包,需要採用應用級的安全防護,例如採用私有的對稱加密。而抓包工具的使用方法,本身就是會生成證書,用戶需要手動把證書安裝在設備中,設備終端發出的所有請求都會通過這個證書代理到抓包工具中,抓包工具再將請求轉發至服務器,完成這一次請求

結語

當然,https本身的加密流程比上面說的還要複雜一些,但主流程大致相同
下次面試再被問到https爲什麼安全時,不要再簡單的說 ”因爲加密了“,再往下問的時候就直接GG了,那這次面試黃的機率也有五成了。如果基本能夠回答出以上的這些知識點,基本上https這裏的也差不多了,最多也再挖掘一下相關的中間人攻擊這一項了,這個我會在之後單獨寫一篇博文出來,那麼,我們下篇再見咯~點個收藏唄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章