<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      網絡傳輸與加密 (2)

      網絡傳輸與加密

      讓我們先回顧一下上次的驗證過程,如下圖

       

       

      有了“原信息”和它對應的“md5簽名字符串”,我們就可以做最基本的信息驗證:通過md5簽名字符串的一致性,來保障我們收到的信息沒有受到更改。

      P.S.:由于簽名signature在后續文章中會另有所指,為區分md5簽名字符串,我們將md5簽名字符串的叫法,更改為md5指紋字符串。意思同簽名是一樣的,就是A之所以是A的證據、特征,可以用簽名來表示,也可以用指紋來表示。這里,我們開始將md5字符串對應的這個特征,稱作md5指紋。

      但一個容易發現的漏洞是,如果“原信息”和“md5指紋字符串”同時被修改了該怎么辦?原信息被代提成了偽信息,而md5指紋字符串也被替換成了偽信息所生成的md5碼,這時候,原有的驗證過程都可以走通,根本無法發現信息被修改了或者替換了。

       

       

      為了解決這個問題,在工業實踐中便會將驗證和加密進行組合使用。除了單純的組合,還會引入一些基本的小技巧。

      例如,因為md5的驗證算法是公開的,所以很容易生成一份信息的md5指紋字符串,從而對原信息進行偽造。那么,可以不可以讓人無法或者說難于偽造這份信息的md5指紋字符串呢?

      一個小技巧是:并不提供原信息的md5驗證碼,而是提供“原信息+a key”的md5指紋字符串:

       

       

      這個key,就是一串如“2d2316235b41924ac7c4b194661d2984”這樣的隨機字符串,它由“發信人”和“收信人”分別單獨保存。

      這時候,我們的驗證流程就變成了:

      • 發件人將“原信息”和“key”一起打包,生成一個md5指紋字符串。再將原信息和md5指紋字符串發送出去。

      • 收件人收到信息后,將“接受信息”和“key”一起打包,生成一個md5字符串,再與接收到的md5字符串比較,看它們是否一致。

      在這樣的情況下,即便是原信息和md5字符串同時被修改了,但因為偽造者并不知道這個md5字符串是在原有信息的基礎上,增加了什么樣的一個key字符串來生成的,他就幾乎不可能提供一個“原信息+key”的md5字符串。因為他無法逆向推導出那個key長成什么樣。而這個“幾乎不可能”,是由md5加密算法所保證的。

      另一種保障“原信息”和“md5指紋字符串”的方式,是直接考慮把md5驗證碼做加密。這種方式并不同上面的小技巧相沖突,事實上它完全可以和上面的技巧結合,構造出更安全的方式。但為了降低理解的困難程度,讓我們先暫時拋開上面的小技巧,只是單純地考慮“原信息”“md5指紋字符串”和“md5字符串加密”這三樣東西。

      還是回到剛開頭提到的核心想法,為什么僅有“原信息”和“md5指紋字符串”是不安全的?因為這兩者的對應關系是由一個已知的算法連通的。之前的小技巧,是把這個用于連通的“已知”算法,通過一個私密的key,巧妙地把這個公開的“已知”算法變成了一個“未知”的算法,從而無法制造出對應的md5指紋字符串。

      所以,這里的重點其實是,你沒辦法去偽造md5指紋字符串。

      基于這樣的考慮,我們還可以用別的方式,讓其他人依舊無法偽造出md5指紋字符串,例如,你根本就不知道這個md5指紋字符串長什么樣!

      怎么做呢?那就是,我不再提供“原信息和md5指紋”的組合,而是提供“原信息”和“用私鑰加密后的md5指紋”,也即是把md5指紋又做了一次亂碼。

      你或許會問,加密了md5有什么用?不是照樣可以直接把信息和md5指紋同時換掉嗎?

      沒錯,你是可以這樣做,但是,這時候作為接收方來講,他的接受驗證過程,已經變成了:

      1. 用公鑰解密,得到一串字符串,當作原信息的md5指紋。

      2. 將md5函數作用在接收到的信息,得到一個本地生成的md5指紋。

      3. 將本地生成的md5指紋和原md5指紋做比較。

      所以,即便是你替換了原信息和md5指紋,但如果這個md5指紋沒有被私鑰加密過,那么按照上述步驟,通過公鑰解密出來的字符串,便不會是相應的md5指紋,而是一串不知所云的亂碼。從而,你必須通過私鑰加密,才可以偽造md5指紋來欺騙接收方。

      這個被加密了的md5指紋,也被稱作數字簽名(digital signature)。

      此時,所有的安全問題,便落在了這個“私鑰”上。只要它不被竊取,你發送的信息便是安全的、可以得到驗證的。

      那么,如何保證你的“私鑰”不被竊取呢?使用網絡傳輸嗎?萬一在半路上被劫走篡改怎么辦?基于此,更為安全妥當的辦法,便是使用物理傳輸,直接在現實中,手把手的將秘鑰給發送方。

      我們在生活中遇到過這樣的情況嗎?當然!還記得銀行的網銀盾么?為什么銀行要煞費苦心地給你一個U盤?因為里面存放著你用來加密的私鑰啊!(以及之后我們會談到的證書)相比于通過網絡連接將私鑰發放給客戶,直接通過現實中的實物來傳遞私鑰,是更加可靠的。

       

       

       

       

       

      近期回顧

      不是不屑,而是自保
      網絡傳輸與加密
      為什么需要提前撰寫Spec文檔

       

       

      如果你喜歡我的文章或分享,請長按下面的二維碼關注我的微信公眾號,謝謝!

       

       

       

         

      更多信息交流和觀點分享,可加入知識星球:

       

      posted @ 2018-08-06 22:50  kid551  閱讀(904)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲国产大胸一区二区三区| 特级毛片a片久久久久久| 国产成人精品性色av麻豆| 国产av剧情无码精品色午夜| 西西人体大胆444WWW| 你拍自拍亚洲一区二区三区| 国产极品美女高潮无套| 精品久久久久久国产| 久久月本道色综合久久| 成人年无码av片在线观看| 日本精品极品视频在线| 加勒比亚洲视频在线播放| 成人性生交片无码免费看| 色吊丝二区三区中文写幕| 亚洲国产精品无码观看久久| 日韩在线视频一区二区三区| 男人进女人下部全黄大色视频 | 久久亚洲精品人成综合网| 国产va免费精品观看精品 | 久久人人97超碰精品| 日韩伦理片| 亚洲无线码中文字幕在线| 久久这里有精品国产电影网| 国精偷拍一区二区三区| 性男女做视频观看网站| 亚洲欧洲日产国码久在线| 无码日韩精品一区二区免费| 日本成熟少妇激情视频免费看 | 国产国语对白露脸正在播放| 欧美精品国产综合久久| 国产在线自拍一区二区三区| 老妇肥熟凸凹丰满刺激| 午夜福利国产精品视频| 日本欧美一区二区三区在线播放| 精品人妻系列无码天堂| 久久se精品一区二区三区| 最新亚洲av日韩av二区| 国产乱妇无码大片在线观看| 国产精品乱码久久久久久小说| 97精品人妻系列无码人妻| 三人成全免费观看电视剧高清|