<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          你管這破玩意叫 HTTPS

          共 7130字,需瀏覽 15分鐘

           ·

          2024-04-02 23:29


                     


          我和小宇早戀了,上課的時(shí)候老說(shuō)話(huà)

          老師把我們的座位分得很遠(yuǎn),我在第一排,她在最后一排,我們中間隔了很多人。

          但我們還是想通過(guò)傳紙條的方式交流。

          我們中間的那些同學(xué),雖然壞心思比較多,但好在可以保證將紙條傳遞到位,于是我們用傳紙條的方式,一直秘密交流著感情。

          但好景不長(zhǎng),我們漸漸發(fā)現(xiàn),中間這些同學(xué)特別不靠譜,出現(xiàn)了以下兩種惡劣的行為:

          偷看紙條,把我們的小甜蜜作為他們飯后的談資。

          篡改內(nèi)容,讓我們之間產(chǎn)生了好多誤會(huì)。

          這還了得,我必須得想個(gè)辦法才行!


          單鑰匙鎖





          于是我發(fā)明了一個(gè)盒子,并且給這個(gè)盒子配了一把鎖和一把鑰匙

          這把鎖與普通的鎖不太一樣,解鎖需要鑰匙,同時(shí)上鎖也需要鑰匙

          我把這個(gè)鑰匙復(fù)制了一份,給到小宇,這樣我每次給她寫(xiě)完小紙條之后,都把紙條放在盒子里,用鑰匙把它鎖起來(lái)。

          小宇收到這個(gè)盒子后,用鑰匙解鎖,才能拿出里面的紙條。

          同時(shí)如果小宇想給我回紙條時(shí),也需要把紙條放在盒子里,并且用鑰匙加鎖,再傳給我。

          這樣,由于中間的同學(xué)沒(méi)有鑰匙,就無(wú)法偷窺里面的內(nèi)容了,也無(wú)法篡改里面的內(nèi)容,問(wèn)題完美解決。

          但好景又不長(zhǎng),由于之前我把鑰匙給小宇時(shí),也是通過(guò)同學(xué)傳遞過(guò)去的,有個(gè)同學(xué)當(dāng)時(shí)就偷偷又復(fù)制了一份,因此拿到了一個(gè)鑰匙。

          于是他每次收到我傳給小宇的盒子的時(shí)候,就先用鑰匙解鎖,偷看內(nèi)容,有的時(shí)候甚至還修改內(nèi)容,放回盒子,然后再用鑰匙鎖起來(lái)。

          這還了得,我必須得再想個(gè)辦法才行!


          雙鑰匙鎖 - 防篡改





          我絞盡腦汁,通宵達(dá)旦了好幾天,終于發(fā)明出了一把特別神奇的鎖。

          與這個(gè)鎖相對(duì)應(yīng)的有兩把不同的鑰匙 A 和 B,神奇的地方就在于,用鑰匙 A 加鎖,必須用鑰匙 B 才能解鎖。反過(guò)來(lái)用鑰匙 B 加鎖,必須用鑰匙 A 才能解鎖。

          我對(duì)我的這個(gè)發(fā)明非常滿(mǎn)意!感覺(jué)可以申請(qǐng)專(zhuān)利了!

          我給這個(gè)鎖起了個(gè)名字叫雙鑰匙鎖,那自然之前那個(gè)簡(jiǎn)單的鎖,就叫單鑰匙鎖

          而雙鑰匙鎖這種加解鎖的方式,我給起了個(gè)名字,叫非對(duì)稱(chēng)加解鎖,自然,那個(gè)單鑰匙鎖對(duì)應(yīng)的方式,就叫對(duì)稱(chēng)加解鎖咯。

          有了這個(gè)發(fā)明,我只需要把鑰匙 B 給小宇,我每次寫(xiě)紙條時(shí)先用鑰匙 A 進(jìn)行加密,然后盒子到了小宇那里,她只需要用鑰匙 B 解密,即可看到我的內(nèi)容了。

          這個(gè)鑰匙 B 被人復(fù)制了一份也沒(méi)關(guān)系,壞人只能用鑰匙 B 打開(kāi)盒子偷看我的內(nèi)容,但是他如果想篡改內(nèi)容,必須用鑰匙 A 才能把盒子鎖住,而鑰匙 A 一直在我手里,從來(lái)沒(méi)有傳遞過(guò),沒(méi)人知道。

          當(dāng)然,壞人也可以用鑰匙 B 把盒子鎖住,但用 B 鎖住的盒子,只能用 A 去解鎖,所以如果小宇用自己手里的 B 解鎖時(shí),發(fā)現(xiàn)解不開(kāi),就知道內(nèi)容被人篡改了。

          現(xiàn)在,內(nèi)容篡改的問(wèn)題就完美解決了。

          還有內(nèi)容被偷看的問(wèn)題還沒(méi)解決,也就是內(nèi)容泄漏。


          雙鑰匙鎖 - 防泄漏





          我靈機(jī)一動(dòng),想到了辦法。

          我發(fā)現(xiàn),小宇那邊已經(jīng)有了鑰匙 B,如果小宇用 B 去加鎖,只有鑰匙 A 能解鎖,而鑰匙 A 只有我這里有,這樣小宇用鑰匙 B 加鎖的紙條,就沒(méi)有任何人能看到并且篡改了!

          就著這個(gè)思路,因?yàn)槲覀?/span>完全是對(duì)稱(chēng)的關(guān)系,所以只要小宇那邊再造一個(gè)類(lèi)似的神奇的鎖,然后分配兩把鑰匙 C 和 D。

          然后小宇把鑰匙 D 給我,自己保留鑰匙 C,這樣我只要用鑰匙 D 加鎖我的內(nèi)容,就只有小宇能解開(kāi)了!

          這樣,就保證了雙向的通信安全!中間的壞同學(xué)們既無(wú)法閱讀我們的內(nèi)容,也無(wú)法篡改我們的內(nèi)容,因?yàn)闀?huì)被我們發(fā)現(xiàn)。

          但好景又不長(zhǎng),我們發(fā)現(xiàn),這個(gè)雙鑰匙鎖由于設(shè)計(jì)的太過(guò)復(fù)雜,導(dǎo)致加鎖解鎖的效率實(shí)在是太低了,每次傳一個(gè)紙條都要費(fèi)好大勁加鎖再解鎖,極大降低了我們每天交流的次數(shù),很不爽。

          這還了得,我必須得想個(gè)辦法才行!


          單雙鑰匙鎖相互配合





          我記得當(dāng)初用那個(gè)單鑰匙鎖的時(shí)候,效率就挺高的,只是因?yàn)閭魉丸€匙的過(guò)程中容易被壞人偷看到,復(fù)制一份出來(lái),就可以監(jiān)聽(tīng)和篡改我們后續(xù)的通訊了。

          那我們能不能用雙鑰匙鎖的安全性,把單鑰匙鎖的鑰匙安全地傳送給對(duì)方,然后之后再用單鑰匙鎖,高效率地通信。這樣,安全性和效率就都有了保證!

          我趕緊想出了一個(gè)絕妙的方案!

          1. 由小宇設(shè)計(jì)一個(gè)雙鑰匙鎖,配兩把鑰匙 C 和 D,然后把鑰匙 D 給我。
          2. 我這邊準(zhǔn)備一個(gè)單鑰匙鎖,配一個(gè)鑰匙 M,把它放在盒子里,用小宇給我的鑰匙 D 加鎖,傳給小宇。
          3. 傳送過(guò)程中,由于鑰匙 D 加鎖的盒子只能用鑰匙 C 解鎖,所以中間人無(wú)法查看和篡改內(nèi)容,最終鑰匙 M 被安全傳送到小宇那邊。
          4. 此時(shí),我們雙方都有了鑰匙 M 和與之對(duì)應(yīng)的單鑰匙鎖,而且這個(gè)鑰匙 M 誰(shuí)都不知道。
          5. 在此之后,我們用鑰匙 M 去加密我們的信息,對(duì)方用鑰匙 M 解密我們的信息,達(dá)成了安全通信的條件。

          簡(jiǎn)單說(shuō)就是,小宇給了我把鑰匙 D,我用 D 加鎖我的 M,傳給小宇,之后我們用鑰匙 M 進(jìn)行對(duì)稱(chēng)加解鎖的方式進(jìn)行通信

          當(dāng)然,中間的壞蛋,可以在小宇給我鑰匙 D 的時(shí)候,偷偷換成別的鑰匙 E,但我用 E 加鎖我的鑰匙 M 之后,小宇是無(wú)法用鑰匙 C 解鎖的,也就知道中間有人動(dòng)了手腳,那我們就停止我們的通信。

          也就是說(shuō),中間人可以阻止我們的通信,但是卻再也無(wú)法偷窺和閱讀我們的通信內(nèi)容了

          太絕了!我們居然在中間人完全不可靠的通信鏈路上,實(shí)現(xiàn)了安全的通信,這簡(jiǎn)直不可思議!

          但好景又不長(zhǎng)。

          有個(gè)又壞又聰明的壞蛋,居然也研究出了這種雙鑰匙鎖的技術(shù)!

          這些壞蛋給自己也準(zhǔn)備了一個(gè)雙鑰匙鎖,并且配置了兩把鑰匙 X 和 Y。

          此時(shí)他在我們?cè)瓉?lái)的通信方式上,做了這么個(gè)事。

          1. 由小宇設(shè)計(jì)一個(gè)雙鑰匙鎖,配兩把鑰匙 C 和 D,然后把鑰匙 D 給我。
          2. 這個(gè)人沒(méi)把鑰匙 D 給我,而是把自己造的鑰匙 Y 給了我,但我以為這是小宇給我的呢。
          3. 我這邊準(zhǔn)備一個(gè)單鑰匙鎖,配一個(gè)鑰匙 M,把它放在盒子里,用小宇給我的鑰匙(其實(shí)是壞蛋給我的鑰匙 Y)加鎖,傳給小宇。
          4. 這個(gè)人收到加鎖后的盒子,用自己的鑰匙 X 輕松解了鎖,因?yàn)檫@個(gè)鎖是被 Y 鎖的嘛~解鎖后取出里面的鑰匙 M,復(fù)制了一份,然后再用小宇的鑰匙 D 加鎖。
          5. 小宇用 C 解開(kāi)了鎖,得到里面的鑰匙 M,這個(gè)的確是我給的,但小宇不知道此時(shí)已經(jīng)被壞人知道了,與此同時(shí)我也不知道這個(gè)事。
          6. 于是我們用鑰匙 M 加鎖解鎖通信,壞蛋也同樣用鑰匙 M 來(lái)偷窺或篡改我們的信息。

          簡(jiǎn)單說(shuō),就是,我以為我是用小宇的鑰匙加密,但卻是壞蛋的。小宇以為是我用她的鑰匙加密后傳給她的 M,因?yàn)樗獾瞄_(kāi),但卻是壞蛋偽裝的。我們雙方都不知情。

          壞蛋也真是卷啊,這么精妙的設(shè)計(jì)也能想出來(lái),只是為了偷窺我和小宇的小紙條,果然八卦是人類(lèi)的第一生產(chǎn)力。

          這肯定不行,我必須又得想個(gè)辦法才行。


          找班長(zhǎng)做公證





          我苦思冥想,找到了一個(gè)解決思路。

          首先我們至少有一次,就是第一次傳輸?shù)哪前谚€匙,是無(wú)法進(jìn)行加密的,會(huì)被中間的所有人看到,這個(gè)是無(wú)法避免的,否則就一直套娃了。

          但是我們能不能做到,可以讓對(duì)方看到,但卻無(wú)法篡改呢

          也就是說(shuō),壞蛋傳給我假鑰匙 Y,我可以知道這個(gè)是壞蛋的呢?

          只靠我們兩個(gè),幾乎不可能,于是我求助了班長(zhǎng)

          我讓班長(zhǎng)也準(zhǔn)備了一個(gè)雙鑰匙鎖,然后配置了兩把鑰匙 J 和 K,然后把鑰匙 K 公開(kāi)讓所所有人都知道。

          小宇在第一次準(zhǔn)備給我鑰匙 D 時(shí),不再直接給我了,而是找班長(zhǎng),把鑰匙 D 放在一個(gè)盒子里,讓班長(zhǎng)用自己的鑰匙 J 給加鎖。

          然后小宇把這個(gè)用鑰匙 J 加好鎖的盒子傳給我,我用班長(zhǎng)公開(kāi)的鑰匙 K 解鎖盒子,就可以得到小宇的鑰匙 D 了。

          這樣,中間的壞蛋可以用公開(kāi)的鑰匙 K 把盒子打開(kāi),看到小宇準(zhǔn)備給我的鑰匙 D。

          但是,他們卻無(wú)法把自己偽造的鑰匙 Y 傳給我,因?yàn)橐爰渔i這個(gè)盒子,必須有鑰匙 J 才行,而鑰匙 J 只有班長(zhǎng)知道。

          也就是說(shuō),目前這個(gè)內(nèi)容,中間的壞蛋們只能看,不能修改了!

          如果不能修改,我就能成功用小宇給我的真正的鑰匙 D 加鎖我們之后要通訊用的鑰匙 M,于是這個(gè)鑰匙 M 就被安全地傳給了小宇,我們之后就可以用這個(gè)誰(shuí)也不知道的鑰匙 M,和配套的單鑰匙鎖,愉快地聊天了!

          可是如果班長(zhǎng)同壞蛋勾結(jié),把 J 泄漏或者賣(mài)給了壞蛋怎么辦呢?那沒(méi)轍,說(shuō)明他不配當(dāng)班長(zhǎng)!


          這么多鑰匙傻傻分不清了





          這個(gè)環(huán)節(jié)涉及到很多鑰匙

          我的單鑰匙 M:用來(lái)之后我和小宇對(duì)稱(chēng)加鎖方式通信用的,需要想辦法安全傳給小宇
          小宇的雙鑰匙 CD:用來(lái)讓我安全把 M 傳給她,做法是把公開(kāi)的鑰匙 D 傳給我,我用鑰匙 D 加鎖我的 M,這樣只有她才能用自己的保密鑰匙 C 解開(kāi),中間人無(wú)法得知。
          壞蛋的雙鑰匙 XY:用來(lái)傳給我偽造的鑰匙 Y 讓我誤以為這是小宇傳給我的鑰匙 D。
          班長(zhǎng)的雙鑰匙 JK:用來(lái)加鎖小宇的鑰匙 D,防止中間的壞蛋篡改這個(gè)值。

          這在安全領(lǐng)域,分別對(duì)應(yīng)對(duì)稱(chēng)加密非對(duì)稱(chēng)加密

          單鑰匙就是對(duì)稱(chēng)加密,對(duì)稱(chēng)加密的速度很快,可以用于傳輸過(guò)程中的數(shù)據(jù)加密,防止中間人查看和篡改信息。但是如何將對(duì)稱(chēng)加密的秘鑰安全傳遞過(guò)去,個(gè)問(wèn)題。

          雙鑰匙就是非對(duì)稱(chēng)加密,非對(duì)稱(chēng)加密的速度慢,可以用于加密少量數(shù)據(jù),同時(shí)也可以用于簽名防止篡改,為什么呢?看后面。

          非對(duì)稱(chēng)加密的秘鑰中,公開(kāi)讓別人知道的就是公鑰,比如小宇的鑰匙 D 或班長(zhǎng)的鑰匙 K 等。

          留在自己這里不讓別人知道的就是,比如小宇的鑰匙 C 或班長(zhǎng)的鑰匙 J 等。

          既可以用私鑰加密數(shù)據(jù),公鑰解密數(shù)據(jù)。也可以用公鑰加密數(shù)據(jù),私鑰解密數(shù)據(jù)。

          公鑰加密,私鑰解密,這個(gè)叫加密,是為了保證內(nèi)容安全,因?yàn)樗借€只有自己知道,是為了保證這個(gè)信息不被中間人解開(kāi)。

          私鑰加密,公鑰解密,這個(gè)叫簽名,是為了防止內(nèi)容被篡改,因?yàn)楣€所有人都知道,所有人都能看到這個(gè)信息做驗(yàn)證。

          但是,如果想篡改,就必須得篡改原文信息后,用私鑰加密,才能得到原來(lái)的效果,可惜私鑰是不公開(kāi)的。

          還有一種不可逆的哈希函數(shù),這個(gè)叫摘要,是無(wú)法解密的,這個(gè)之后再說(shuō)。

          在剛剛的環(huán)節(jié)中,首先小宇讓班長(zhǎng)用私鑰 J 加密自己的公鑰 D,傳給我,這是私鑰加密公鑰解密,這個(gè)目的就是簽名,防止公鑰 D 在傳輸過(guò)程中被別人篡改。

          我得到了公鑰 D 之后,加密我的對(duì)稱(chēng)加密的秘鑰 M,傳給小宇,這是公鑰加密私鑰解密,這個(gè)目的是加密,為了讓中間人不知道我的 M 是什么。

          當(dāng)然,我們之后的數(shù)據(jù)傳輸過(guò)程,也可以用這種非對(duì)稱(chēng)加密的方式玩,但可惜,非對(duì)稱(chēng)加密的復(fù)雜度非常高,性能非常低,因此僅僅適合這個(gè)傳遞秘鑰 M 的過(guò)程,數(shù)據(jù)量很小,而且僅僅一次。

          再之后的傳輸,就通過(guò)我們協(xié)商好的對(duì)稱(chēng)秘鑰 M 進(jìn)行傳輸,這個(gè)也是加密,與公鑰加密私鑰解密的目標(biāo)是一致的,只不過(guò)適合的場(chǎng)景不同,對(duì)稱(chēng)加密的效率比非對(duì)稱(chēng)加密高出好幾個(gè)數(shù)量級(jí)。


          HTTPS





          我和小宇傳紙條這個(gè)過(guò)程,就是 HTTPS 的工作原理。

          哦不對(duì),這句話(huà)重說(shuō)一遍,這個(gè)破玩意,就是 HTTPS

          我就是客戶(hù)端,小宇就是服務(wù)端,班長(zhǎng)就是 CA 機(jī)構(gòu),中間那些壞蛋同學(xué)就是傳輸鏈路,用以標(biāo)明傳輸鏈路很不靠譜,有很多中間人想要搞破壞,或者偷窺我們的信息。

          只不過(guò),HTTPS 的細(xì)節(jié)更多些,但大體的思路和我們今天傳紙條是一致的。



          春招已經(jīng)開(kāi)始啦,大家如果不做好充足準(zhǔn)備的話(huà),春招很難找到好工作。


          送大家一份就業(yè)大禮包,大家可以突擊一下春招,找個(gè)好工作!


          瀏覽 29
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  狠狠操欧美| 在线成人看片免费看黄a | 一区二区无码在线播放入口 | 亚洲多毛 | 国产三级91 |