你覺得Web中的HTTPS 到底加密了什麼?

牛旦教育it課堂 發佈 2020-01-08T02:38:26+00:00

多了SSL 層的 HTTP 協議簡而言之,HTTPS 就是在 HTTP 下加入了 SSL 層,從而保護了交換數據隱私和完整性,提供對網站伺服器身份認證的功能,簡單來說它就是安全版的 HTTP。

來源 | https://segmentfault.com/a/1190000015342043


關於 HTTP 和 HTTPS 這個老生常談的話題,我們之前已經寫過很多文章了,比如這篇《從HTTP到HTTPS再到HSTS》,詳細講解了 HTTP 和 HTTPS 的進化之路,對的沒錯,就是 HTTP 獸進化 HTTPS 獸。

那麼今天我們主要聊一聊 HTTPS 到底加密了些什麼內容。

先跟大家講個故事,我初戀是在初中時談的,我的後桌。那個時候沒有手機這類的溝通工具,上課交流有三寶,腳踢屁股、筆戳後背以及傳紙條,當然我只能是那個屁股和後背。

說實話傳紙條真的很危險,尤其是這種早戀的紙條,被抓到就是一首《涼涼》。

於是我和我的小女朋友就商量一下加密這個小紙條上面的數據,這樣就算被班主任抓到她也奈何不了我們!

我們用將英文字母和數字一一對應,組成一個密碼本,然後在小紙條上寫上數字,要將他翻譯成對應的字母,在拼成拼音才能知道這串數字意思。

上面就是最初我坎坷的感情史。

後來等我長大了,才知道這是回不去的美好。如果給我一個機會,我願意……啊呸,跑偏了,等長大了才知道,這個就是現在網站數據傳輸中的 HTTPS。

多了 SSL 層的 HTTP 協議

簡而言之,HTTPS 就是在 HTTP 下加入了 SSL 層,從而保護了交換數據隱私和完整性,提供對網站伺服器身份認證的功能,簡單來說它就是安全版的 HTTP。

現在隨著技術的發展,TLS 得到了廣泛的應用,關於 SSL 與 TLS 的差別,我們不用在意,只要知道 TLS 是 SSL 的升級版本就好。

一般來說,HTTPS 主要用途有三個:一是通過證書等信息確認網站的真實性;二是建立加密的信息通道;三是數據內容的完整性。

上文為又拍雲官網,我們可以通過點擊瀏覽器地址欄鎖標誌來查看網站認證之後的真實信息,SSL證書保證了網站的唯一性與真實性。

那麼加密的信息通道又加密了哪些信息呢?

簽發證書的 CA 中心會發布一種權威性的電子文檔——數字證書,它可以通過加密技術(對稱加密與非對稱加密)對我們在網上傳輸的信息進行加密,比如我在 Pornhub 上輸入:

帳號:cbssfaw

密碼:123djaosid

可是這個數據被黑客攔截盜竊了,那麼加密後,黑客得到的數據可能就是這樣的:

帳號:çµø…≤¥ƒ∂ø†®∂˙∆¬

密碼:∆ø¥§®†ƒ©®†©˚¬

最後一個就是驗證數據的完整性,當數據包經過無數次路由器轉發後會發生數據劫持,黑客將數據劫持後進行篡改,比如植入羞羞的小廣告。開啟HTTPS後黑客就無法對數據進行篡改,就算真的被篡改了,我們也可以檢測出問題。

對稱加密與非對稱加密

對稱加密

對稱加密是指加密與解密的使用同一個密鑰的加密算法。小編初中的時候傳紙條使用了同一套加密密碼,所以我用的加密算法就是對稱加密算法。

目前常見的加密算法有:DES、AES、IDEA 等。

非對稱加密

非對稱加密使用的是兩個密鑰,公鑰與私鑰,我們會使用公鑰對網站帳號密碼等數據進行加密,再用私鑰對數據進行解密。這個公鑰會發給查看網站的所有人,而私鑰是只有網站伺服器自己擁有的。

目前常見非對稱加密算法:RSA,DSA,DH等。

HTTPS = 數據加密 + 網站認證 + 完整性驗證 + HTTP

通過上文,我們已經知道,HTTPS 就是在 HTTP 傳輸協議的基礎上對網站進行認證,給予它獨一無二的身份證明,再對網站數據進行加密,並對傳輸的數據進行完整性驗證。

HTTPS 作為一種加密手段不僅加密了數據,還給了網站一張身份證。

如果讓我回到十年前,那麼我一定會這樣跟我的女朋友傳紙條:

先準備一張獨一無二的紙條,並在上面簽上我的大名,然後用只有我女朋友可以解密的方式進行數據加密,最後寫完後,用膠水封起來,防止隔壁桌的小王偷看修改小紙條內容。


關鍵字: