如何理解HTTPS?不如用信鴿來解釋下

翻譯自 HTTPS explained with carrier pigeons

轉載自 開源中國

詳細可參考SSL/TLS協(xié)議運行機制的概述

密碼學是一門難以理解的學科,因為它充滿了數(shù)學定理。但是除非你要實際開發(fā)出一套加密算法系統(tǒng)屎慢,否則你是沒必要強制理解那些深奧的數(shù)學定理的。

如果你閱讀本文的目的是想設計下一套 HTTPS 協(xié)議踩衩,那我只能抱歉的說本文的知識還遠遠不夠;如果不是的話,那么就煮杯咖啡,輕松愉悅的閱讀本文吧仪搔。

愛麗絲、鮑伯和 ... 信鴿蜻牢?

你在互聯(lián)網(wǎng)上從事的任何活動(閱讀這篇文章、在亞馬遜上購物偏陪、上傳圖片等)歸結到底都是從某臺服務器上發(fā)送和接收信息抢呆。

這個說起來可能有點抽象,不如讓我們假設這些消息都是由信鴿來傳遞的笛谦。我知道這個假設有些太過隨意抱虐,但相信我 HTTPS 就是這樣工作的,盡管它的速度快的多饥脑。

我們先不談服務器恳邀、客戶端或者黑客攻擊,先來聊一下愛麗絲灶轰、鮑伯和馬洛里谣沸。如果這已不是你第一次接觸密碼學理論,你應該會認識這些名字笋颤,因為他們經(jīng)常在各種密碼學文獻中被提及乳附。

初級交流

如果愛麗絲想要給鮑勃發(fā)送一段信息,她會把信息綁在信鴿的腿上然后送往鮑勃那里伴澄。鮑勃收到了信息赋除,并閱讀了信息,非常完美非凌。

但如果馬洛里攔截了愛麗絲的鴿子并且篡改了信息呢举农?鮑勃就沒有辦法去知道愛麗絲發(fā)出的信息在傳遞過程中遭到了修改。

這就是 HTTP 如何運作的敞嗡“湓悖看起來很可怕對吧祭犯?我是不會通過 HTTP 來發(fā)送我的銀行資信證明的,并且你也不應如此滚停。

隱蔽的密碼

那么如果愛麗絲和鮑勃都非常的機智沃粗。他們一致認同使用一種隱蔽的密碼來書寫他們的信息。他們會將信息中的每個字母按照字母表中的順序前移三位键畴。比如最盅,D→A,E→B起惕,F(xiàn)→C涡贱。如此一來,原文為 “secret message” 的信息就變成了 “pbzobq jbppxdb” 惹想。

那現(xiàn)在如果馬洛里再截獲了信鴿问词,她既不能做出有意義的修改同時也不會知道信息的內(nèi)容,因為她不知道隱蔽的密碼到底是什么嘀粱。然而鮑勃卻可以很容易反轉密碼激挪,依靠 A → D, B → E, C → F 之類的規(guī)則破譯信息的內(nèi)容。加密后的信息 “pbzobq jbppxdb” 會被破解還原為 “secret message” 锋叨。

搞定垄分!

這就是對稱密匙加密,因為如果你知道如何加密一段信息那么你同樣可以解密這段信息娃磺。

上述的密碼通常被稱為凱撒碼薄湿。在現(xiàn)實生活中,我們會使用更為奇特和復雜的密碼偷卧,但原理相同豺瘤。

我們?nèi)绾螞Q定密匙?

如果除了發(fā)信者和收信者之外沒有人知道使用的是什么密匙听诸,對稱密匙加密是非常安全的坐求。在凱撒加密中,密匙就是每個字母變到加密字母需要移動多少位的偏移量蛇更。我之前的距離中瞻赶,使用的偏移量是 3 ,但是也可以用 4 或者 12 派任。

問題是如果愛麗絲和鮑勃在開始用信鴿傳信之前沒有碰過頭砸逊,他們沒有一個安全的方式來確立密匙。如果他們自己來在信中傳遞密匙掌逛,馬洛里就會截獲信息并發(fā)現(xiàn)密匙师逸。這就使得馬洛里可以在愛麗絲和鮑勃開始加密他們的信息之前或之后,閱讀到他們信息的內(nèi)容并按照她的意愿來篡改信息豆混。

這是一個中間人攻擊的典型例子篓像,避免這個問題的唯一方法就是收發(fā)信的兩方一起修改他們的編碼系統(tǒng)动知。

通過信鴿傳遞盒子

所以愛麗絲和鮑勃就想出了一個更好的系統(tǒng)。當鮑勃想要給愛麗絲發(fā)送信息時员辩,他會按照如下的步驟來進行:

  • 鮑勃向愛麗絲送一只沒有攜帶任何信息的鴿子盒粮。

  • 愛麗絲給鮑勃送回鴿子,并且這只鴿子帶有一個有開著的鎖的盒子奠滑,愛麗絲保管著鎖的鑰匙丹皱。

  • 鮑勃把信放進盒子中,把鎖鎖上然后把盒子送給愛麗絲宋税。

  • 愛麗絲收到盒子摊崭,用鑰匙打開然后閱讀信息。

這樣馬洛里就不能通過截獲鴿子來篡改信息了杰赛,因為她沒有打開盒子的鑰匙呢簸。當愛麗絲要給鮑勃發(fā)送消息的時候同樣按照上述的流程。

愛麗絲和鮑勃所使用的流程通常被稱為非對稱密鑰加密乏屯。之所以稱之為非對稱根时,是因為即使是你把信息編碼(鎖上盒子)也不能破譯信息(打開鎖住的盒子)。

在術語中瓶珊,盒子被稱為公匙而用來打開盒子的鑰匙被稱為私匙啸箫。

如何信任盒子

如果你稍加注意你就會發(fā)現(xiàn)還是存在問題。當鮑勃收到盒子時他如何能確定這個盒子來自愛麗絲而不是馬洛里截獲了鴿子然后換了一個她有鑰匙能打開的盒子呢伞芹?

愛麗絲決定簽名標記一下盒子,這樣鮑勃收到盒子的時候就可以檢查簽名來確定是愛麗絲送出的盒子了蝉娜。

那么你們之中的一些人可能就會想了唱较,鮑勃如何打一開始就能識別出愛麗絲的簽名呢?這是個好問題召川。愛麗絲和鮑勃也確實有這個問題南缓,所以他們決定讓泰德代替愛麗絲來標記這個盒子。

那么誰是泰德呢荧呐?泰德很有名的汉形,是一個值得信任的家伙。他會給任何人簽名并且所有人都信任他只會給合法的人簽名標記盒子倍阐。

如果泰德可以確認索要簽名的人是愛麗絲概疆,他就會在愛麗絲的盒子上簽名。因此馬洛里就不可能搞到一個有著泰德代表愛麗絲簽了名的盒子峰搪,因為鮑勃知道泰德只會給他確認過的人簽名岔冀,從而識破馬洛里的詭計。

泰德的角色在術語中被稱為認證機構概耻。而你閱讀此文時所用的瀏覽器打包存有許多認證機構的簽名使套。

所以當你首次接入一個網(wǎng)站的時候你可以信任來自這個站點的盒子因為你信任泰德而泰德會告訴你盒子是合法的罐呼。

沉重的盒子

現(xiàn)在愛麗絲和鮑勃有了一個可靠的系統(tǒng)來進行交流,然他們也意識到讓鴿子攜帶盒子比原本只攜帶信件要慢一些侦高。

因此他們決定只有在選擇用對稱加密來給信息編碼(還記得凱撒加密法吧嫉柴?)的密匙時,使用傳遞盒子的方法(非對稱加密)奉呛。

這樣就可以二者的優(yōu)點兼具了计螺,非對稱加密的可靠性和對稱加密的高效性。

現(xiàn)實世界中我們不會用信鴿這樣慢的送信手段侧馅,但用非對稱加密來編碼信息仍要慢于使用對稱加密技術危尿,所以我們只有在交換編碼密匙的時候會使用非對稱加密技術。

現(xiàn)在你已經(jīng)了解了HTTPS是如何工作的了馁痴,你的咖啡也應該準備好了谊娇。好好享用吧你受之無愧。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末罗晕,一起剝皮案震驚了整個濱河市济欢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌小渊,老刑警劉巖法褥,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異酬屉,居然都是意外死亡半等,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門呐萨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杀饵,“玉大人,你說我怎么就攤上這事谬擦∏芯啵” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵惨远,是天一觀的道長谜悟。 經(jīng)常有香客問我,道長北秽,這世上最難降的妖魔是什么葡幸? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮羡儿,結果婚禮上礼患,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好缅叠,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布悄泥。 她就那樣靜靜地躺著,像睡著了一般肤粱。 火紅的嫁衣襯著肌膚如雪弹囚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天领曼,我揣著相機與錄音鸥鹉,去河邊找鬼。 笑死庶骄,一個胖子當著我的面吹牛毁渗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播单刁,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼灸异,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了羔飞?” 一聲冷哼從身側響起肺樟,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逻淌,沒想到半個月后么伯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡卡儒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年田柔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骨望。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡凯楔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锦募,到底是詐尸還是另有隱情,我是刑警寧澤邻遏,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布糠亩,位于F島的核電站,受9級特大地震影響准验,放射性物質發(fā)生泄漏赎线。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一糊饱、第九天 我趴在偏房一處隱蔽的房頂上張望垂寥。 院中可真熱鬧,春花似錦、人聲如沸滞项。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽文判。三九已至过椎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間戏仓,已是汗流浹背疚宇。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赏殃,地道東北人敷待。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像仁热,于是被迫代替她去往敵國和親榜揖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 參考了這篇文章https://www.oschina.net/translate/https-explained-...
    CarolineXi閱讀 1,261評論 1 3
  • 原文: 高性能網(wǎng)絡瀏覽器-第四章傳輸層安全性(Transport Layer Security,TLS) 翻譯: ...
    夢很想家閱讀 4,586評論 2 6
  • 需求 “人們最初設計互聯(lián)網(wǎng)時股耽,很少考慮到安全根盒。這樣的結果是,核心通信協(xié)議本質上是不安全的物蝙,只能依靠所有參與方的誠信...
    thinkq閱讀 1,001評論 0 3
  • 前言 總括: 本文詳細講述了SSL協(xié)議中的數(shù)據(jù)加密的過程炎滞,數(shù)字證書、對稱加密诬乞、非對稱加密和SSL握手過程等概念册赛。 ...
    秦至閱讀 1,982評論 0 3
  • 生于憂患。 簡直被我的智商深深打敗了震嫉。人都把你刪了你還傻呵呵的以為考駕照考證忙沒時間理你森瘪。終于一切都結束了,開始的...
    和太陽肩并肩閱讀 220評論 0 1