一個故事帶你看透HTTPS【上】


一個故事帶你看透HTTPS【上】


2020年蝙蝠紀元,二毛一如往常的呆在家中,不敢外出去浪。


為排解心中之悶,二毛抽了一口老煙,熟練的打開了全球最大的同性交友網站,準備假裝瞭解下最近流行的項目...


只聽啪的一聲回車鍵,哪知瀏覽器蹦出這麼一個畫面...


一個故事帶你看透HTTPS【上】


這是怎麼回事?二毛有點疑慮,突然門外傳來一陣急促的敲門聲,二毛起身前去開門...

一個故事帶你看透HTTPS【上】


一個故事帶你看透HTTPS【上】


二毛在電腦前敲入京東的域名(https://www.jd.com/),果不其然,也跳出跟Github一樣的安全提示。隨後二毛一頓搜索,終於知道了原因。

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】


HTTP

要搞清楚上面的問題前,我們先要知道 HTTP 協議。


HTTP是什麼呢?引用百科的解釋就是:

超文本傳輸協議(Hypertext transfer protocol),是一個簡單的請求-響應協議,它通常運行在TCP之上。它指定了客戶端可能發送給服務器什麼樣的消息以及得到什麼樣的響應。請求和響應消息的頭以ASCII碼形式給出;而消息內容則具有一個類似MIME的格式。這個簡單模型是早期Web成功的有功之臣,因為它使得開發和部署是那麼的直截了當。

簡單來說,HTTP就是瀏覽器(客戶端)和網站(服務端)之間傳輸信息使用的協議。


打個比方,就像讀書的時候,你跟前排同學傳紙條前,你總是要先戳一下前排同學的後背,然後前排同學就會往後伸出一隻手來,這時候你就可以把紙條放在她手心。她看完後會在紙條寫上文字,然後再次彎手,你再伸手拿紙條。這就完成了一次通信的過程。


一個故事帶你看透HTTPS【上】


你戳她後背,她向後彎手的動作(像極了愛情??),就像是一種準備通信的規則,換句話說就是一個傳紙條的協議。而在網絡世界中,瀏覽器和網站通信,用的就是一種名為HTTP的協議。


HTTP特別簡單,它部署快捷,傳輸效率高,推動了互聯網的巨大發展。


一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

HTTPS


為什麼會有 HTTPS?


HTTP是如此簡單,簡單到連傳輸的內容都沒有處理,直接使用明文傳輸的,但是這無疑會給信息的安全帶來重大的隱患。稍微懂點抓包的且有相關權限的,就可以把你跟網站通信的內容看的一清二楚。


再舉個例子:


教室裡,第五排的小明想給第三排的小紅傳情書,必須得經過第四排的同學接力傳遞。這樣一來就會產生下面幾個問題:


  • 竊聽:紙條內容被第四排同學知道了,並向老師舉報,導致小明因騷擾女同學而被輟學。
  • 篡改:紙條被第四排同學改寫了,把"想跟你一起起床"改成"想跟你一起睡覺",導致小紅看後怒火中燒,直呼渣男。
  • 破壞:紙條被第四排同學破壞,導致小紅無法辨認內容,誤以為小明惡作劇扔了一團廢紙,而怒髮衝冠,拳腳相加。
  • 偽裝:第四排同學直接偽裝成小紅回覆小明,表示願意交往。導致下課時小明牽小紅的手,被一劍封喉。


由於傳紙條通信規則協議的不完善,使得第四排同學也就是中間人有機可乘幹壞事,造成了以上四種不良結果。

一個故事帶你看透HTTPS【上】


映射到網絡世界,網絡通信的鏈條如此曲折冗長,中間極大可能也有諸多牛鬼蛇神、心懷不軌的人,會千方百計的對你傳輸的信息攔截,然後對信息進行竊聽、改造、破壞甚至偽裝


使用 HTTP 協議傳輸信息無異於在網絡世界裸奔,但是現在世界上仍然有許多網站使用的是 HTTP(當然大部分是沒什麼重要信息的網站)。基於此,Google瀏覽器已經把使用 HTTP 協議的網站,標為了不安全,以進一步提示用戶可能存在的風險。


一個故事帶你看透HTTPS【上】


隨著現代社會人們對隱私安全的要求越來越高,HTTPS 便順應時代潮流,應運而生。

什麼是 HTTPS?


HTTPS (全稱:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全為目標的 HTTP 通道,在HTTP的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性 [1] 。HTTPS 在HTTP 的基礎下加入SSL 層,HTTPS 的安全基礎是 SSL,因此加密的詳細內容就需要 SSL。HTTPS 存在不同於 HTTP 的默認端口及一個加密/身份驗證層(在 HTTP與 TCP 之間)。這個系統提供了身份驗證與加密通訊方法。它被廣泛用於萬維網上安全敏感的通訊,例如交易支付等方面 。


總結起來就是:基於HTTP協議,通過 SSL 或 TLS 的封裝,使得 HTTPS 有了以下幾個功能:

  1. 加密數據
  2. 驗證對方身份
  3. 數據完整性保護(即可以得知數據有沒有被破壞或篡改)

有了這幾個功能,我們再來重新審視小明和小紅傳紙條的例子:

  • 竊聽 --- 有了 加密數據 的功能,小明表示媽媽再也不用擔心我被輟學了!
  • 篡改 -- 有了 數據完整性保護 的功能,小明表示媽媽再也不用擔心我被大呼渣男了!
  • 破壞 -- 有了 數據完整性保護 的功能,小明表示媽媽再也不用擔心我身受重傷了!
  • 偽裝 -- 有了 驗證對方身份 的功能,小明表示媽媽再也不用擔心我英年早逝了!


總結:有了 HTTPS 功能的保駕護航,中間人再也不會從中作梗,小明可以放心寫情書了!

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】

一個故事帶你看透HTTPS【上】


正當二毛準備繼續侃侃而談時,二丫的電話響了...


二毛隱約聽到二丫電話那頭的人正操著廣普,語氣有些焦灼的說著幾個關鍵詞:房租、一定...



蝙蝠紀元,疫情之下。


教科書式人物浪裡小白龍小明能否制定出“HTTPS” 規則,繼續馳騁情場,策馬奔騰?


二毛能否憑藉胡說八道的技術繼續忽悠二丫,順利拖住房租,從而支撐家庭?


二丫媽媽的電話又傳達了什麼信息,是敵是友是福是禍?


欲知後事如何,且聽下回分解。



預告:這一篇主要還是鋪墊,涉及的知識點較少,故事下集會把 數字證書、數字簽名、非對稱加密、對稱加密這些講講~~


分享到:


相關文章: