網絡安全相關筆記

對稱加密

在安全要求不高的情況下,數據通訊以明文傳輸,即被截取就可查看。爲提高數據的保密性,就需要通訊雙方協商一個密鑰來對數據進行加解密,爲此引入了對稱加密算法,其傳輸過程如下圖所示。


要點:

1、對稱加密算法在加密和解密時使用的是同一個密鑰

2、密鑰作爲算法的輸入,算法進行加密操作取決於這個密鑰。

3、對稱加密的安全取決於密鑰的保密而非算法的保密。

對稱加密算法包含對稱分組密碼DES、AES和對稱流密碼RC4


非對稱加密

上面存在的問題是雙方如何安全的協商對稱密鑰,使其不被第三方得知;另如何驗證消息的來源是可靠的,這就引入了非對稱加密算法(如RSA)。

要點:

1、非對稱加密算法需要兩個密鑰來進行加密和解密,分爲公鑰和私鑰。

2、每個用戶都可以生成私鑰和公鑰,公鑰是對外公開的,私鑰由生成者自己持有。

3、公鑰加密的數據只能私鑰解密;私鑰加密的數據只能公鑰加密。

認證過程:持有公鑰的一方A,發送挑戰字符串給對方B,B使用私鑰對經過HASH計算的數據進行加密返回給A,A收到後用公鑰解密(這裏能解開就說明是所要通訊的對端了,因爲只有私鑰加密的數據,才能用公鑰解開),比較數據一致(自己再對發送的字符串做摘要),則說明對端就是所要通訊的一方。

經過認證後,就是安全的協商對稱密鑰。A將對稱密鑰用公鑰加密傳輸給B(第三方截獲了數據也無法解開,因爲只有B的私鑰能夠解開,保證了對稱密鑰傳輸的安全性),B用私鑰解密得到該對稱密鑰,之後的通信就通過對稱密鑰加密傳輸。

這裏說明下爲什麼不直接使用非對稱加密算法進行數據加密傳輸,因爲非對稱加密算法開銷大,速度慢。所以一般通過非對稱加密算法來進行認證和協商對稱密鑰,之後通過對稱密鑰來進行數據的加密傳輸。


數字簽名

上面成功的協商了對稱密鑰,但用對稱密鑰對數據加密傳輸過程中,仍舊存在問題,即用對稱算法加密的密文,被第三方篡改後,接收方解密後不能確定是否被篡改過,這就需要通過數字簽名來實現了。其即能驗證數據的完整性,又能驗證傳輸的對端就是所要通訊的。

數字簽名就是對加密文本進行HASH計算生成摘要,用私鑰對該摘要加密生成數字簽名,隨加密文本一起發送,如下圖所示。


摘要,或者叫指紋,其主要特質就是對消息經過散列函數(如MD4、MD5、SHA1)得到的固定長度的散列碼是不能逆向得到原文的。

接收端收到數據,取下數字簽名,用公鑰解密得到摘要(說明是對端發送的),然後對加密文本也進行HASH計算與摘要比較驗證數據是否是完整的。


數字證書和CA

接下來說另一個問題,上面的一切基礎是公鑰是可靠的,但任何人都可以生成公鑰,如何來確保所拿到的公鑰是可信任的呢,這就要用到數字證書了。

數字證書由公鑰加上所有者的一些相關信息及可信任的第三方簽名組成。這裏所講的第三方就是CA機構了。

“CA機構就是證書授證中心,作爲電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。CA中心爲每個使用公開密鑰的用戶發放一個數字證書,數字證書的作用是證明證書中列出的用戶合法擁有證書中列出的公開密鑰。CA機構的數字簽名使得攻擊者不能僞造和篡改證書。”

其生成過程和數字簽名差不多,如下圖所示。

推薦閱讀

http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

發佈了47 篇原創文章 · 獲贊 17 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章