關於 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 作為一種加密手段不僅加密了資料,還給了網站一張身份證。
如果讓我回到十年前,那麼我一定會這樣跟我的女朋友傳紙條:
先準備一張獨一無二的紙條,並在上面簽上我的大名,然後用只有我女朋友可以解密的方式進行資料加密,最後寫完後,用膠水封起來,防止隔壁桌的小王偷看修改小紙條內容。
推薦閱讀: