
密碼系統所處的環境中除了發送者、接收者之外還有攻擊者,他們顺利获得各種方法竊聽和干擾信息。竊聽信息稱為被動攻擊,手段有電磁偵聽或搭線竊聽。
被動攻擊破壞信息的保密性,所以需要使用密碼算法加密來保護信息。於擾信息稱為主動攻擊,顺利获得刪除、更改、插人、重放、偽裝成特定的發送者等手段向系統注入信息。主動攻擊破壞信息的完整性,需要使用識別和認證機制防禦從攻擊的對象來看,它既可以是加密算法,也可以是密碼協議。
對加密方案的攻擊
依據分析者使用數據對於密碼系統攻擊進行分類,主要有僅有密文攻擊和己知明文攻擊。
按照分析者攻擊密碼系統使用的方法對於密碼系統的攻擊進行分類,主要有窮舉法(試遍所有密鑰)統計分析法(分析明文和密文的統計規律)和數學分析法(針對密碼算法的數學依據,求解數學何題)。從以上可以看出,密碼算法必須有堅實的數學基礎和足夠的算法複雜度。
對密碼協議的攻擊
對密碼協議的攻擊有已知密鑰攻擊:對手從用戶以前用過的密鑰確定出新的密鑰;重放攻擊:對手記錄一次通信會話,在以後的某個時候重新發送整個或部分會話;
偽裝攻擊:對手扮演網絡中一個合法的實體;
字典攻擊:主要針對口令的一種攻擊。
在身貸識別一章中還會描述其他的攻擊方法
安全模型
密碼學原語和密碼協議的安全性可以有不同的評估模型:無條件、可證明和計算安全性。
無條件安全性:假設對手有無限計算資源,依信息論的觀點對手觀察密文的前後明文的不確定性相等,即觀察密文不會為對手给予任何有助於破譯密碼的信息。“一次一密”對稱加密方案是無條件安全加密算法。公鑰加密方案不是無條件安全的,因為已知密文,在原則上可以顺利获得加密所有可能的明文,直到產生密文為止。
可證明安全性:如果能證明挫敗一個密碼學方法跟某個著名的困難問題(如整數素因子分解、計算離散對數)的困難程度相同,則稱這個密碼學方法是可證明安全的。
計算安全性:某種方法是計算安全的,是指使用當前最好的方法攻破它所需的計算遠遠超出對手的計算資源水平。這類方法往往與某個困難問題有關但是不知道它們的等價性證明。多數當前使用的公鑰和對稱密鑰方案都屬於這類,所以又稱為實際的安全牲。
