用信鴿解釋https

密碼學(xué)是一個很難理解的高深學(xué)科硫豆。里面充斥著各種數(shù)學(xué)證明龙巨。但除非你確實(shí)需要開發(fā)加密系統(tǒng),否則很多復(fù)雜的問題你實(shí)際上并不需要了解他們背后是如何運(yùn)作的熊响。

如果你希望通過閱讀這篇文章來構(gòu)建下一代的 HTTPS 協(xié)議,我要抱歉地說這只鴿子還不足夠诗赌。如非如此汗茄,你便可以愜意的沖一杯咖啡并且享受這篇文章了。


愛麗絲铭若,鮑勃和……鴿子洪碳?

你在網(wǎng)上所以進(jìn)行的任何活動實(shí)際上都可以歸結(jié)為上傳信息到服務(wù)器和從服務(wù)器接受信息。

這可能有一點(diǎn)抽象叼屠,那么讓我們來假想這些信息都是通過信鴿來傳遞的瞳腌。我知道這可能看起來有些隨意了,但相信我 HTTPS 就是如此運(yùn)作的镜雨,只是更快一些而已嫂侍。

同時,當(dāng)我們要說到服務(wù)器荚坞、客戶端和黑客時挑宠,我們會用愛麗絲、鮑勃和馬洛里來代替颓影。如果這不是你第一次試著去理解加密的概念的話各淀,你應(yīng)該認(rèn)得這些名字,因?yàn)樗麄兂1挥迷诩夹g(shù)文章中诡挂。


初級交流

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

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

這就是 HTTP 如何運(yùn)作的。看起來很可怕對吧鞭缭?我是不會通過 HTTP 來發(fā)送我的銀行資信證明的剖膳,并且你也不應(yīng)如此。


隱蔽的密碼

那么如果愛麗絲和鮑勃都非常的機(jī)智岭辣。他們一致認(rèn)同使用一種隱蔽的密碼來書寫他們的信息吱晒。他們會將信息中的每個字母按照字母表中的順序前移三位。比如沦童,D→A仑濒,E→B,F(xiàn)→C偷遗。如此一來墩瞳,原文為 “secret message” 的信息就變成了 “pbzobq jbppxdb” 。

那現(xiàn)在如果馬洛里再截獲了信鴿氏豌,她既不能做出有意義的修改同時也不會知道信息的內(nèi)容喉酌,因?yàn)樗恢离[蔽的密碼到底是什么。然而鮑勃卻可以很容易反轉(zhuǎn)密碼泵喘,依靠 A → D, B → E, C → F 之類的規(guī)則破譯信息的內(nèi)容泪电。加密后的信息 “pbzobq jbppxdb” 會被破解還原為 “secret message” 。

搞定纪铺!

這就是對稱密匙加密相速,因?yàn)槿绻阒廊绾渭用芤欢涡畔⒛敲茨阃瑯涌梢越饷苓@段信息。

上述的密碼通常被稱為凱撒碼鲜锚。在現(xiàn)實(shí)生活中突诬,我們會使用更為奇特和復(fù)雜的密碼,但原理相同烹棉。


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

如果除了發(fā)信者和收信者之外沒有人知道使用的是什么密匙,對稱密匙加密是非常安全的浆洗。在凱撒加密中催束,密匙就是每個字母變到加密字母需要移動多少位的偏移量。我之前的距離中伏社,使用的偏移量是 3 抠刺,但是也可以用 4 或者 12 。

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

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


通過信鴿傳遞盒子

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

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

  • 愛麗絲給鮑勃送回鴿子惭笑,并且這只鴿子帶有一個有開著的鎖的盒子,愛麗絲保管著鎖的鑰匙生真。

  • 鮑勃把信放進(jìn)盒子中沉噩,把鎖鎖上然后把盒子送給愛麗絲。

  • 愛麗絲收到盒子柱蟀,用鑰匙打開然后閱讀信息川蒙。

這樣馬洛里就不能通過截獲鴿子來篡改信息了,因?yàn)樗龥]有打開盒子的鑰匙长已。當(dāng)愛麗絲要給鮑勃發(fā)送消息的時候同樣按照上述的流程派歌。

愛麗絲和鮑勃所使用的流程通常被稱為非對稱密鑰加密。之所以稱之為非對稱痰哨,是因?yàn)榧词故悄惆研畔⒕幋a(鎖上盒子)也不能破譯信息(打開鎖住的盒子)。

在術(shù)語中匾嘱,盒子被稱為公匙而用來打開盒子的鑰匙被稱為私匙斤斧。


如何信任盒子

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

愛麗絲決定簽名標(biāo)記一下盒子撬讽,這樣鮑勃收到盒子的時候就可以檢查簽名來確定是愛麗絲送出的盒子了。

那么你們之中的一些人可能就會想了悬垃,鮑勃如何打一開始就能識別出愛麗絲的簽名呢游昼?這是個好問題。愛麗絲和鮑勃也確實(shí)有這個問題尝蠕,所以他們決定讓泰德代替愛麗絲來標(biāo)記這個盒子烘豌。

那么誰是泰德呢?泰德很有名的看彼,是一個值得信任的家伙廊佩。他會給任何人簽名并且所有人都信任他只會給合法的人簽名標(biāo)記盒子。

如果泰德可以確認(rèn)索要簽名的人是愛麗絲靖榕,他就會在愛麗絲的盒子上簽名标锄。因此馬洛里就不可能搞到一個有著泰德代表愛麗絲簽了名的盒子,因?yàn)轷U勃知道泰德只會給他確認(rèn)過的人簽名茁计,從而識破馬洛里的詭計(jì)料皇。

泰德的角色在術(shù)語中被稱為認(rèn)證機(jī)構(gòu)。而你閱讀此文時所用的瀏覽器打包存有許多認(rèn)證機(jī)構(gòu)的簽名。

所以當(dāng)你首次接入一個網(wǎng)站的時候你可以信任來自這個站點(diǎn)的盒子因?yàn)槟阈湃翁┑露┑聲嬖V你盒子是合法的践剂。


沉重的盒子

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

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

這樣就可以二者的優(yōu)點(diǎn)兼具了男窟,非對稱加密的可靠性和對稱加密的高效性盆赤。

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

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

來自:https://www.oschina.net/translate/https-explained-with-carrier-pigeons

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淑际,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子扇住,更是在濱河造成了極大的恐慌春缕,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艘蹋,死亡現(xiàn)場離奇詭異锄贼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)女阀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門宅荤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浸策,你說我怎么就攤上這事冯键。” “怎么了庸汗?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵惫确,是天一觀的道長。 經(jīng)常有香客問我夫晌,道長雕薪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任晓淀,我火速辦了婚禮所袁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凶掰。我一直安慰自己燥爷,他們只是感情好蜈亩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著前翎,像睡著了一般稚配。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上港华,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天道川,我揣著相機(jī)與錄音,去河邊找鬼立宜。 笑死冒萄,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的橙数。 我是一名探鬼主播尊流,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灯帮!你這毒婦竟也來了崖技?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤钟哥,失蹤者是張志新(化名)和其女友劉穎迎献,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腻贰,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忿晕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了银受。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡鸦采,死狀恐怖宾巍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情渔伯,我是刑警寧澤顶霞,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站锣吼,受9級特大地震影響选浑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜玄叠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一古徒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧读恃,春花似錦隧膘、人聲如沸代态。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹦疑。三九已至,卻和暖如春萨驶,著一層夾襖步出監(jiān)牢的瞬間歉摧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工腔呜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叁温,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓育谬,卻偏偏與公主長得像券盅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子膛檀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

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