99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HTTPS是如何工作的

Linux愛(ài)好者 ? 來(lái)源:編程技術(shù)宇宙 ? 作者:軒轅之風(fēng)O ? 2021-10-12 16:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我是一個(gè)瀏覽器,每到夜深人靜的時(shí)候,主人就打開(kāi)我開(kāi)始學(xué)習(xí)。

為了不讓別人看到瀏覽記錄,主人選擇了“無(wú)痕模式”。

但網(wǎng)絡(luò)中總是有很多壞人,他們通過(guò)抓包截獲我和服務(wù)器的通信,主人干了什么,請(qǐng)求了什么數(shù)據(jù)全被他們知道了!

光竊聽(tīng)也就罷了,他們還經(jīng)常篡改內(nèi)容,在網(wǎng)頁(yè)里面插入誘人的小廣告,真是太壞了!

為了保護(hù)主人的隱私還他一個(gè)干凈的上網(wǎng)環(huán)境,我決定對(duì)通信加密!

第一版:直接簡(jiǎn)單加密加密嘛,很簡(jiǎn)單,把原來(lái)要發(fā)送的數(shù)據(jù)加密處理后再發(fā)給服務(wù)器就行了。

為了安全,密鑰當(dāng)然不能固定,每一次通信都要隨機(jī)生成。

不過(guò)接下來(lái)我犯難了,我該怎么把這個(gè)秘鑰告訴服務(wù)器呢,服務(wù)器沒(méi)有秘鑰就解不了密,也就不知道我在請(qǐng)求什么資源了。

也不能直接弄個(gè)字段告訴服務(wù)器密鑰,那樣別人也能拿到,就跟沒(méi)加密一樣了。

我左思右想,靈機(jī)一動(dòng),決定把密鑰放在數(shù)據(jù)的開(kāi)頭幾個(gè)字節(jié)藏起來(lái),只要私下跟服務(wù)器約定好,他用這前幾個(gè)字節(jié)作為密鑰解密,就能解開(kāi)我發(fā)送的數(shù)據(jù)了。

你還別說(shuō),這辦法還真好使,我跟服務(wù)器開(kāi)始秘密通信起來(lái)。

后來(lái),找我使用這種辦法通信的服務(wù)器變得越來(lái)越多。

再后來(lái)這事就在圈子里傳開(kāi)了,大家都知道數(shù)據(jù)的前幾個(gè)字節(jié)是密鑰了,誰(shuí)都能解密了。

看來(lái)這個(gè)辦法不行,我得重新思考加密方法了。

第二版:非對(duì)稱加密服務(wù)器告訴我,我們之前用的那種加密算法叫對(duì)稱加密算法,也就是加密和解密使用的同一個(gè)秘鑰。

還有一種叫非對(duì)稱加密算法,這種算法有兩個(gè)秘鑰,一個(gè)公開(kāi)的叫公鑰,一個(gè)私藏的叫私鑰。

最關(guān)鍵的是,公鑰加密后只能用私鑰解開(kāi),反過(guò)來(lái)也一樣。

只要在正式的數(shù)據(jù)傳輸前,服務(wù)器把他的公鑰告訴我,我后面用它加密數(shù)據(jù)就行了,就算被別人抓包,他也解不開(kāi),因?yàn)橹挥袚碛兴借€的服務(wù)器才能解開(kāi)。

不得不說(shuō),這非對(duì)稱加密真是個(gè)好東西??!

不過(guò)這樣一來(lái)只能單程加密,服務(wù)器能解密我發(fā)的,但他發(fā)給我的,我卻解不了,也不能讓他用私鑰加密,我用公鑰解密,因?yàn)楣€是公開(kāi)的,誰(shuí)收到都能解,不安全。

沒(méi)辦法,我也弄了一對(duì)兒秘鑰,通信之前我們雙方都交換一下彼此的公鑰,這樣就可以雙向加解密了!

雖然是有點(diǎn)麻煩,但為了數(shù)據(jù)安全,忍了吧!

第三版:非對(duì)稱與對(duì)稱加密結(jié)合但我忍了沒(méi)幾天就忍不住了。

這個(gè)非對(duì)稱加密算法好是好,就是加解密太費(fèi)時(shí)間了,導(dǎo)致我渲染一個(gè)網(wǎng)頁(yè)要花很久時(shí)間,卡的不行。

我打算去跟服務(wù)器商量一下辦法,沒(méi)想到服務(wù)器比我更頭疼,他要服務(wù)很多瀏覽器,每一個(gè)都這么加解密,把他累的夠嗆。

于是我們決定,還是用原來(lái)的對(duì)稱加密算法,這樣快得多。但是一開(kāi)始的時(shí)候可以用非對(duì)稱加密算法來(lái)傳輸后面要用的秘鑰,把兩種算法的優(yōu)勢(shì)結(jié)合起來(lái)。

這一來(lái),我只需要把后面要用到的秘鑰,通過(guò)服務(wù)器公鑰加密后發(fā)給他就行了,我省去了不少事兒。

第四版:秘鑰計(jì)算有一天,服務(wù)器告訴我,我們現(xiàn)在的秘鑰就是一個(gè)隨機(jī)數(shù),而隨機(jī)數(shù)并不是真正隨機(jī)的,可能被預(yù)測(cè)出來(lái),所以我們得提升這個(gè)秘鑰的安全性。

一個(gè)隨機(jī)數(shù)不夠,那就多弄幾個(gè)!

一端容易被猜出來(lái),那就兩端一起生成!

我們決定各自生成一個(gè)隨機(jī)數(shù)發(fā)給對(duì)方,我再額外加密傳輸一個(gè)隨機(jī)數(shù)給服務(wù)器,這一來(lái),咱們雙方都有3個(gè)隨機(jī)數(shù)了,然后雙方都用這三個(gè)隨機(jī)數(shù)計(jì)算出真正的秘鑰,這可比一個(gè)單純的隨機(jī)數(shù)要安全得多了。

不過(guò)為了驗(yàn)證雙方計(jì)算出來(lái)的秘鑰是一樣的,我們?cè)谡綌?shù)據(jù)傳輸前,需要先來(lái)測(cè)試一下,現(xiàn)在的流程變成了這個(gè)樣子:

我們的這一方案很快得到了大家的認(rèn)可,圈子里的瀏覽器和服務(wù)器們紛紛用上了這套方案。

第五版:數(shù)字證書(shū)原以為這個(gè)方案已經(jīng)萬(wàn)無(wú)一失了,沒(méi)想到我和服務(wù)器的通信還是泄露了···

原來(lái)有個(gè)家伙冒充服務(wù)器跟我通信,然后又冒充我跟服務(wù)器通信,把我的請(qǐng)求進(jìn)行了轉(zhuǎn)發(fā),我們倆都被蒙在鼓里,這就是中間人攻擊。

看來(lái)還缺乏一個(gè)認(rèn)證機(jī)制!我得知道和我通信的是不是真的服務(wù)器。

經(jīng)過(guò)大家的商量,圈子里的服務(wù)器們推選了一個(gè)德高望重的前輩做公證人,讓這公證人準(zhǔn)備一對(duì)非對(duì)稱加密的密鑰,并在圈子里公開(kāi)了公鑰,所有人都得把他的公鑰記下來(lái)。

服務(wù)器得去公證人這里先登記,把自己的公鑰、名字等等信息報(bào)上去,公證人拿到這些信息后,計(jì)算一個(gè)Hash值,然后再用公證人的私鑰把Hash值進(jìn)行加密,加密后的結(jié)果就是數(shù)字簽名。

最后,公證人把登記的信息和這個(gè)數(shù)字簽名合在一起,封裝了一個(gè)新的文件發(fā)給服務(wù)器,登記就完成了,而這個(gè)新的文件就是數(shù)字證書(shū)。

服務(wù)器拿到證書(shū)后,可要好生保管,因?yàn)橥ㄐ诺臅r(shí)候,服務(wù)器須要將他們的證書(shū)發(fā)給我們?yōu)g覽器驗(yàn)證。

我們?yōu)g覽器拿到證書(shū)后,把證書(shū)里面的信息也計(jì)算一遍Hash,再用提前記錄好的公證人的公鑰把證書(shū)里的數(shù)字簽名進(jìn)行解密,得到公證人計(jì)算的Hash,兩個(gè)一對(duì)比,就知道這證書(shū)是不是公證人簽發(fā)的,以及有沒(méi)有被篡改過(guò)了!

只有驗(yàn)證成功才能繼續(xù)后面的流程,要不然就是冒充的!

這一下總算解決了中間人冒充的問(wèn)題,除非中間人偷到了公證人的私鑰,否則他是沒(méi)辦法偽造出一個(gè)證書(shū)來(lái)的。

非對(duì)稱加密除了加密數(shù)據(jù),還能用來(lái)驗(yàn)證身份,真是YYDS!

第六版:信任鏈我們這加密方案一傳十,十傳百,很快就傳遍了整個(gè)互聯(lián)網(wǎng),想要使用這套方案的服務(wù)器越來(lái)越多,畢竟,誰(shuí)都不希望自己的網(wǎng)站被人插入小廣告。

可原來(lái)的那個(gè)公證人有些忙不過(guò)來(lái)了,于是,大家開(kāi)始推選更多的公證人,公證人開(kāi)始多了起來(lái),不僅多了起來(lái),而且還形成了產(chǎn)業(yè)鏈。

原來(lái)的公證人變成了一代目,一代目可以給新的公證人簽發(fā)證書(shū),新的公證人就變成了二代目,還有三代目,搞得跟傳銷似的。

原來(lái)只有一個(gè)公證人的時(shí)候,大家直接保存他的公鑰就行了?,F(xiàn)在公證人越來(lái)越多,我們沒(méi)辦法保存所有的公證人的公鑰了,就算能保存得下,但有新的公證人出現(xiàn)的時(shí)候我們也做不到實(shí)時(shí)更新。

于是,大家約定,讓所有的一代目公證人自己給自己簽發(fā)一個(gè)證書(shū),叫做根證書(shū),并安裝在我們的操作系統(tǒng)中。

以后在驗(yàn)證網(wǎng)站服務(wù)器的證書(shū)時(shí),就得先去驗(yàn)證證書(shū)的簽發(fā)者,然后再繼續(xù)驗(yàn)證上一級(jí)簽發(fā)者,直到驗(yàn)證最終的簽發(fā)者是不是在根證書(shū)列表中。

只要最終的簽發(fā)者在系統(tǒng)的根證書(shū)列表中,那這條鏈上簽署的證書(shū)就都是受信任的,否則我們就會(huì)彈窗提醒用戶:

如今,這套方案已經(jīng)推廣到了全世界,現(xiàn)在遇到使用這套方案的網(wǎng)站服務(wù)器時(shí),我們?yōu)g覽器就會(huì)在地址欄加上一把小鎖,表示網(wǎng)站很安全,還把URL地址,從HTTP,改成了HTTPS···

PS:本文用故事形式講述了HTTPS是如何工作的,只是起一個(gè)引領(lǐng)入門(mén)的作用,略去了很多細(xì)節(jié),實(shí)際情況遠(yuǎn)比這復(fù)雜,比如對(duì)稱加密秘鑰的計(jì)算方式、秘鑰的交換算法(RSA、DH、ECDH還有區(qū)別),雙方測(cè)試秘鑰正確性的方式都沒(méi)有體現(xiàn)出來(lái),有機(jī)會(huì)再寫(xiě)一篇正經(jīng)的技術(shù)文來(lái)詳細(xì)抓包剖析HTTPS詳細(xì)流程。

希望本文對(duì)大家理解HTTPS機(jī)制有一些幫助,再看其他專業(yè)介紹時(shí)不再吃力。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7815

    瀏覽量

    90963
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    33519
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1040

    瀏覽量

    36306

原文標(biāo)題:為了一個(gè) HTTPS,瀏覽器操碎了心···

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何利用京東商品詳情id拿到商品的詳細(xì)信息 示例展示

    /100032608854.html 中,100032608854 即為 SKU ID。 二、方式一:京東開(kāi)放平臺(tái)官方 API(推薦,合規(guī)穩(wěn)定) 1. 準(zhǔn)備工作 注冊(cè)京東開(kāi)放平臺(tái)開(kāi)發(fā)者賬號(hào):https://open.jd.com/ 創(chuàng)建應(yīng)用,獲
    的頭像 發(fā)表于 07-10 09:37 ?95次閱讀

    基于RK3576開(kāi)發(fā)板的http/https通訊

    HTTP(超文本傳輸協(xié)議)和HTTPS(安全超文本傳輸協(xié)議)是互聯(lián)網(wǎng)中廣泛應(yīng)用的協(xié)議,用于客戶端與服務(wù)器之間的通信。HTTPS通過(guò)SSL/TLS協(xié)議對(duì)傳輸數(shù)據(jù)進(jìn)行加密和身份認(rèn)證,確保通信安全。兩者
    的頭像 發(fā)表于 05-10 11:24 ?1315次閱讀
    基于RK3576開(kāi)發(fā)板的http/<b class='flag-5'>https</b>通訊

    微動(dòng)開(kāi)關(guān)的工作原理

    微動(dòng)開(kāi)關(guān)的工作原理
    的頭像 發(fā)表于 04-17 09:00 ?1168次閱讀

    HTTP和HTTPS的關(guān)鍵區(qū)別

    HTTP(HyperText Transfer Protocol) 是一種無(wú)狀態(tài)的通信協(xié)議,通常用于在客戶端(例如瀏覽器)和服務(wù)器之間傳輸超文本(如 HTML 頁(yè)面)。但這僅僅是一個(gè)單向通信協(xié)議,數(shù)據(jù)傳輸過(guò)程中并未加密,所以它比較容易被中間人攻擊。無(wú)狀態(tài),即不能保存每次提交的信息,如果用戶發(fā)來(lái)一個(gè)新的請(qǐng)求,服務(wù)器無(wú)法知道它是否與上次請(qǐng)求有關(guān)聯(lián)。
    的頭像 發(fā)表于 03-25 15:34 ?756次閱讀
    HTTP和<b class='flag-5'>HTTPS</b>的關(guān)鍵區(qū)別

    鑒源實(shí)驗(yàn)室·HTTPS對(duì)于網(wǎng)絡(luò)安全的重要性

    本文旨在深入解析HTTPS工作原理、安全性以及其在網(wǎng)絡(luò)安全中的重要性
    的頭像 發(fā)表于 02-19 14:31 ?423次閱讀
    鑒源實(shí)驗(yàn)室·<b class='flag-5'>HTTPS</b>對(duì)于網(wǎng)絡(luò)安全的重要性

    快速升級(jí)DELL與HP工作站儲(chǔ)存效能,實(shí)現(xiàn)高效工作流!

    充分利用HP&Dell工作站的ODD插槽位與PCIe擴(kuò)展插槽位,提升系統(tǒng)存儲(chǔ)空間新選擇!現(xiàn)代的專業(yè)工作站旨在處理高強(qiáng)度的工作負(fù)載,但隨著儲(chǔ)存需求的增長(zhǎng),將儲(chǔ)存空間進(jìn)行升級(jí)已成為必然的任務(wù)之一
    的頭像 發(fā)表于 02-14 15:38 ?528次閱讀
    快速升級(jí)DELL與HP<b class='flag-5'>工作</b>站儲(chǔ)存效能,實(shí)現(xiàn)高效<b class='flag-5'>工作</b>流!

    NX CAD軟件:數(shù)字化工作流程解決方案(CAD工作流程)

    NXCAD——數(shù)字化工作流程解決方案(CAD工作流程)使用西門(mén)子領(lǐng)先的產(chǎn)品設(shè)計(jì)軟件NXCAD加速執(zhí)行基于工作流程的解決方案。我們?cè)诹私庑袠I(yè)需求方面累積了多年的經(jīng)驗(yàn),并據(jù)此針對(duì)各個(gè)行業(yè)的具體需求提供
    的頭像 發(fā)表于 02-06 18:15 ?439次閱讀
    NX CAD軟件:數(shù)字化<b class='flag-5'>工作</b>流程解決方案(CAD<b class='flag-5'>工作</b>流程)

    HTTP 和 HTTPS 的區(qū)別

    在互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)傳輸安全變得越來(lái)越重要。HTTP 和 HTTPS 是兩種廣泛使用的網(wǎng)絡(luò)協(xié)議,它們?cè)跀?shù)據(jù)傳輸方面扮演著關(guān)鍵角色。盡管它們的名字相似,但它們?cè)诎踩院陀猛旧嫌兄@著的區(qū)別。 HTTP
    的頭像 發(fā)表于 12-30 09:19 ?1199次閱讀

    KiCad常用資源

    KiCad官網(wǎng)https://www.kicad.org/ KiCad社區(qū) KiCad 英文論壇:? https://forum.kicad.info/ KiCad 中文論壇:? https
    的頭像 發(fā)表于 11-12 12:24 ?1932次閱讀
    KiCad常用資源

    https 的本質(zhì)、證書(shū)驗(yàn)證過(guò)程以及數(shù)據(jù)加密

    1. 什么是 HTTPS HTTP 加上加密處理和認(rèn)證以及完整性保護(hù)后即是 HTTPS。 它是為了解決 HTTP 存在的安全性問(wèn)題,而衍生的協(xié)議,那使用 HTTP 的缺點(diǎn)有: 1.通信使用明文可能會(huì)
    的頭像 發(fā)表于 10-30 10:53 ?1466次閱讀
    <b class='flag-5'>https</b> 的本質(zhì)、證書(shū)驗(yàn)證過(guò)程以及數(shù)據(jù)加密

    輔助電源的工作原理

     輔助電源的工作原理主要涉及在主電源發(fā)生故障或不穩(wěn)定時(shí),自動(dòng)切換到備用電源,以保證設(shè)備的持續(xù)供電。以下是關(guān)于輔助電源工作原理的詳細(xì)解釋:
    的頭像 發(fā)表于 10-21 14:56 ?1273次閱讀

    mosfet的三種工作狀態(tài)及工作條件是什么

    工作狀態(tài)及工作條件對(duì)于理解和設(shè)計(jì)相關(guān)電路至關(guān)重要。以下是MOSFET的三種主要工作狀態(tài)及其工作條件的介紹。 一、MOSFET的三種工作狀態(tài)
    的頭像 發(fā)表于 10-06 16:51 ?6214次閱讀

    鋅銀電池的工作原理

    鋅銀電池的工作原理主要基于鋅和銀兩種金屬之間的氧化還原反應(yīng)。以下是鋅銀電池工作原理的詳細(xì)解釋:
    的頭像 發(fā)表于 10-03 14:59 ?3642次閱讀

    這是幾種HTTPS代理保障用戶數(shù)據(jù)安全的方式#HTTPS代理

    HTTP
    jf_62215197
    發(fā)布于 :2024年08月23日 08:14:11

    VCO的工作原理是什么

    VCO(Voltage-Controlled Oscillator,電壓控制振蕩器)的工作原理是基于電子器件的非線性特性,通過(guò)改變輸入電壓來(lái)調(diào)整輸出信號(hào)的頻率。以下是對(duì)VCO工作原理的詳細(xì)闡述,包括其電路結(jié)構(gòu)、工作機(jī)制、性能參數(shù)
    的頭像 發(fā)表于 08-20 17:16 ?4442次閱讀