2018年7月11日 星期三

HTTPS 到底加密了什麼?

關於 HTTP 和 HTTPS 這個老生常談的話題,經典的 Google Developer 官方文件文章系列中也詳細寫了 HTTPS 使用與重要性 < Why HTTPS Matters >,詳細講解了 HTTP 和 HTTPS 的重要性

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



舉個例,國中時候後面坐著心儀的女生,那個時候沒有手機這類的溝通工具,上課交流有三種,腳踢屁股、筆戳後背以及傳紙條,當然我只能是那個屁股和後背

說實話傳紙條真的很危險,尤其是這種早戀的紙條,被抓到就是準備世界末日感覺

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

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

上面就是最初的早戀加密法,兩千年前的羅馬人也早已經採用了此種方式,也奠定現在基本的加密法的雛形,換句話說兩千多年時間過去,某部分來說現在的人還不如兩千年前的羅馬人

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

多了 SSL 層的 HTTP 協議

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

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




一般來說,HTTPS 主要用途有三個

  • 是通過證書等信息確認網站的真實性
  • 是建立加密的信息通道
  • 是數據內容的完整性



圖為 Google 憑證內容,我們可以通過點擊瀏覽器地址欄鎖標誌來查看網站認證之後的真實信息,SSL證書保證了網站的唯一性與真實性,內容會看到,到期日期以及加密的方式等相關的訊息

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

賬號:cbssfaw

密碼:123djaosid

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

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

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



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

對稱加密與非對稱加密

對稱加密

對稱加密是指加密與解密的使用同一個密鑰的加密算法。國中的時候傳紙條使用了同一套加密密碼,所以我用的加密算法就是對稱加密算法。
目前常見的加密算法有:DES、AES、IDEA 等

非對稱加密

非對稱加密使用的是兩個密鑰,公鑰與私鑰,我們會使用公鑰對網站賬號密碼等數據進行加密,再用私鑰對數據進行解密。這個公鑰會發給查看網站的所有人,而私鑰是只有網站服務器自己擁有的
目前常見非對稱加密算法:RSA,DSA,DH 等

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

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

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

如果讓我回到十年前,那麼我一定會這樣跟我心儀女生傳紙條:

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

參考連結

Share:

0 意見: