❶ 北大青鳥設計培訓:互聯網信息安全傳輸加密模式原理分解
網路安全主要是通過信息加密來實現的。
今天,我們就一起來了解一下,這些信息加密的方法是如何運行的。
它背後的原理都有哪些。
希望通過對本文的閱讀。
能夠提高大家對互聯網信息安全的信任度。
有了「原信息」和它對應的「md5簽名字元串」,我們就可以做基本的信息驗證:通過md5簽名字元串的一致性,來保障我們收到的信息沒有受到更改。
P.S.:由於簽名signature在後續文章中會另有所指,為區分md5簽名字元串,我們將md5簽名字元串的叫法,更改為md5指紋字元串。
意思同簽名是一樣的,就是A之所以是A的證據、特徵,可以用簽名來表示,也可以用指紋來表示。
這里,我們開始將md5字元串對應的這個特徵,稱作md5指紋。
但一個容易發現的漏洞是,如果「原信息」和「md5指紋字元串」同時被修改了該怎麼辦?原信息被代提成了偽信息,而md5指紋字元串也被替換成了偽信息所生成的md5碼,這時候,原有的驗證過程都可以走通,根本無法發現信息被修改了或者替換了。
為了解決這個問題,在工業實踐中便會將驗證和加密進行組合使用。
除了單純的組合,還會引入一些基本的小技巧。
例如,因為md5的驗證演算法是公開的,所以很容易生成一份信息的md5指紋字元串,從而對原信息進行偽造。
那麼,可以不可以讓人無法或者說難於偽造這份信息的md5指紋字元串呢?一個小技巧是:並不提供原信息的md5驗證碼,而是提供「原信息+akey」的md5指紋字元串:這個key,就是一串如「」這樣的隨機字元串,它由「發信人」和「收信人」分別單獨保存。
這時候,我們的驗證流程就變成了:發件人將「原信息」和「key」一起打包,生成一個md5指紋字元串。
再將原信息和md5指紋字元串發送出去。
收件人收到信息後,將「接受信息」和「key」一起打包,生成一個md5字元串,再與接收到的md5字元串比較,看它們是否一致。
在這樣的情況下,即便是原信息和md5字元串同時被修改了,但因為偽造者並不知道這個md5字元串是在原有信息的基礎上,增加了什麼樣的一個key字元串來生成的,他就幾乎不可能提供一個「原信息+key」的md5字元串。
因為他無法逆向推導出那個key長成什麼樣。
而這個「幾乎不可能」,是由md5加密演算法所保證的。
另一種保障「原信息」和「md5指紋字元串」的方式,是直接考慮把md5驗證碼做加密。
洛陽電腦培訓http://www.kmbdqn.cn/認為這種方式並不同上面的小技巧相沖突,事實上它完全可以和上面的技巧結合,構造出更安全的方式。
但為了降低理解的困難程度,讓我們先暫時拋開上面的小技巧,只是單純地考慮「原信息」「md5指紋字元串」和「md5字元串加密」這三樣東西。