日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

HTTPS是如何工作的

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

掃碼添加小助手

加入工程師交流群

我是一個瀏覽器,每到夜深人靜的時候,主人就打開我開始學習。

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

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

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

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

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

為了安全,密鑰當然不能固定,每一次通信都要隨機生成。

不過接下來我犯難了,我該怎么把這個秘鑰告訴服務器呢,服務器沒有秘鑰就解不了密,也就不知道我在請求什么資源了。

也不能直接弄個字段告訴服務器密鑰,那樣別人也能拿到,就跟沒加密一樣了。

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

你還別說,這辦法還真好使,我跟服務器開始秘密通信起來。

后來,找我使用這種辦法通信的服務器變得越來越多。

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

看來這個辦法不行,我得重新思考加密方法了。

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

還有一種叫非對稱加密算法,這種算法有兩個秘鑰,一個公開的叫公鑰,一個私藏的叫私鑰。

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

只要在正式的數(shù)據(jù)傳輸前,服務器把他的公鑰告訴我,我后面用它加密數(shù)據(jù)就行了,就算被別人抓包,他也解不開,因為只有擁有私鑰的服務器才能解開。

不得不說,這非對稱加密真是個好東西??!

不過這樣一來只能單程加密,服務器能解密我發(fā)的,但他發(fā)給我的,我卻解不了,也不能讓他用私鑰加密,我用公鑰解密,因為公鑰是公開的,誰收到都能解,不安全。

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

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

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

這個非對稱加密算法好是好,就是加解密太費時間了,導致我渲染一個網(wǎng)頁要花很久時間,卡的不行。

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

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

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

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

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

一端容易被猜出來,那就兩端一起生成!

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

不過為了驗證雙方計算出來的秘鑰是一樣的,我們在正式數(shù)據(jù)傳輸前,需要先來測試一下,現(xiàn)在的流程變成了這個樣子:

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

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

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

看來還缺乏一個認證機制!我得知道和我通信的是不是真的服務器。

經(jīng)過大家的商量,圈子里的服務器們推選了一個德高望重的前輩做公證人,讓這公證人準備一對非對稱加密的密鑰,并在圈子里公開了公鑰,所有人都得把他的公鑰記下來。

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

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

服務器拿到證書后,可要好生保管,因為通信的時候,服務器須要將他們的證書發(fā)給我們?yōu)g覽器驗證。

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

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

這一下總算解決了中間人冒充的問題,除非中間人偷到了公證人的私鑰,否則他是沒辦法偽造出一個證書來的。

非對稱加密除了加密數(shù)據(jù),還能用來驗證身份,真是YYDS!

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

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

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

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

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

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

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

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

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

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

責任編輯:haq

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

    關(guān)注

    14

    文章

    8340

    瀏覽量

    95615
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    538

    瀏覽量

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

    關(guān)注

    1

    文章

    1043

    瀏覽量

    37186

原文標題:為了一個 HTTPS,瀏覽器操碎了心···

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    扣子AI智能體工作流(完結(jié))

    https://www.bilibili.com/opus/1178756596191199237 扣子工作流:重新定義業(yè)務自動化,讓技術(shù)普惠照進現(xiàn)實 在數(shù)字化轉(zhuǎn)型的浪潮中,業(yè)務自動化始終是企業(yè)
    的頭像 發(fā)表于 04-25 11:21 ?356次閱讀

    工作流節(jié)點說明---工作流節(jié)點

    平臺提供工作流節(jié)點,實現(xiàn)工作流嵌套工作流的效果。 節(jié)點說明 在一個工作流中,開發(fā)者可以將另一個工作流作為其中的一個步驟或節(jié)點,實現(xiàn)復雜任務
    發(fā)表于 03-24 21:05

    蓋樓有禮 | 瑞薩電子21ic官方論壇上線,打造專屬技術(shù)陣地

    RA生態(tài)工作室關(guān)注我們?nèi)鹚_電子(Renesas)官方打造的MCU/MPU論壇(https://bbs.21ic.com/renesas)正式上線啦!本中文論壇旨在打造一個與瑞薩零距離交流的官方平臺
    的頭像 發(fā)表于 03-11 16:33 ?427次閱讀
    蓋樓有禮 | 瑞薩電子21ic官方論壇上線,打造專屬技術(shù)陣地

    開發(fā)工作流創(chuàng)建工作

    新建工作流 在小藝智能體平臺頁面,通過【工作空間】-【工作流】-【新建工作流】,進入新建工作流配置頁面。設置
    發(fā)表于 03-10 10:05

    瑞芯微(EASY EAI)RV1126B http/https

    1.HTTP/HTTPS簡介HTTP(全稱:HyperTextTransferProtocol,超文本傳輸協(xié)議)是互聯(lián)網(wǎng)上應用最為廣泛的一種網(wǎng)絡協(xié)議,是一個客戶端和服務器請求和應答標準,用于從WWW
    的頭像 發(fā)表于 01-26 16:53 ?2703次閱讀
    瑞芯微(EASY EAI)RV1126B http/<b class='flag-5'>https</b>

    一文讀懂 HTTPS:守護網(wǎng)絡數(shù)據(jù)傳輸?shù)陌踩琳?/a>

    前言在數(shù)字化浪潮下,網(wǎng)絡已成為我們工作、生活不可或缺的一部分。從網(wǎng)上銀行轉(zhuǎn)賬、電子商務購物,到社交媒體互動、電子郵件溝通,海量敏感信息在客戶端與服務器之間頻繁傳輸。而這些數(shù)據(jù)的安全,正依賴于
    的頭像 發(fā)表于 01-19 11:27 ?4599次閱讀
    一文讀懂 <b class='flag-5'>HTTPS</b>:守護網(wǎng)絡數(shù)據(jù)傳輸?shù)陌踩琳? />    </a>
</div>                              <div   id=

    工業(yè)鏡頭測量中的“工作距離”是什么?

    工業(yè)鏡頭作為機器視覺系統(tǒng)中的核心組件,在自動化生產(chǎn)、質(zhì)量檢測和精密測量等領域發(fā)揮著關(guān)鍵作用。其中,“工作距離”(WorkingDistance,簡稱WD)是一個至關(guān)重要的參數(shù),它直接影響系統(tǒng)
    的頭像 發(fā)表于 12-06 16:46 ?1180次閱讀
    工業(yè)鏡頭測量中的“<b class='flag-5'>工作</b>距離”是什么?

    無線充電器的工作原理核心

    無線充電器的工作原理核心
    的頭像 發(fā)表于 12-06 10:19 ?2015次閱讀
    無線充電器的<b class='flag-5'>工作</b>原理核心

    CW32 MCU的工作電壓、工作溫度是多少?

    CW32通用型MCU工作電壓是1.65V~5.5V,射頻MCU工作電壓則是1.8V/2.2V~3.6V;通用型CW32F系列MCU,比如:CW32F030、CW32F020、CW32F003
    發(fā)表于 11-12 06:49

    生成的mcs不工作怎么解決?

    下載的github上的源文件 https://github.com/SI-RISCV/e200_opensource win10下,用vivoda建立工程, 添加了所有的Design Sources
    發(fā)表于 11-06 07:35

    https下載文件失敗,mbedtls_net_connect報錯-0x7100怎么解決?

    使用tls_test例程訪問https服務器報錯-0x7100,我然后我設置 mbedtls_ssl_conf_authmode(&amp;session-&gt
    發(fā)表于 09-11 06:31

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

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

    當FPGA上電工作,CYUSB3014工作異常,為什么?

    路電源。當FPGA不工作,CYUSB3014會工作正常;當FPGA上電工作,CYUSB3014工作異常(驅(qū)動會找不到)。 測試如下: 把CYUSB3014斷開電源,把3.3V_USB接
    發(fā)表于 05-20 06:48

    電動調(diào)壓器的工作原理

    電壓調(diào)壓器是一種用于控制電路中電壓的裝置,其工作原理因類型而異,以下是幾種常見電壓調(diào)壓器的工作原理:
    的頭像 發(fā)表于 05-12 13:46 ?1667次閱讀
    電動調(diào)壓器的<b class='flag-5'>工作</b>原理

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

    HTTP(超文本傳輸協(xié)議)和HTTPS(安全超文本傳輸協(xié)議)是互聯(lián)網(wǎng)中廣泛應用的協(xié)議,用于客戶端與服務器之間的通信。HTTPS通過SSL/TLS協(xié)議對傳輸數(shù)據(jù)進行加密和身份認證,確保通信安全。兩者
    的頭像 發(fā)表于 05-10 11:24 ?2032次閱讀
    基于RK3576開發(fā)板的http/<b class='flag-5'>https</b>通訊
    大埔区| 德化县| 扶余县| 兴海县| 泾源县| 岱山县| 长岭县| 山西省| 六枝特区| 阜平县| 如皋市| 德钦县| 剑川县| 宜丰县| 镇原县| 灌阳县| 喜德县| 长治市| 汽车| 阳高县| 遵化市| 碌曲县| 文昌市| 新津县| 观塘区| 平南县| 敦化市| 德安县| 泸州市| 沈阳市| 昆明市| 乐东| 大同县| 正蓝旗| 台前县| 庄河市| 波密县| 韶山市| 兴国县| 石泉县| 永康市|