安全協定
安全協定(英語:security protocol),又稱作密碼協定(cryptographic protocol)、加密協定(encryption protocol),是以密碼學為基礎的訊息交換協定,其目的是在網路環境中提供各種安全服務。密碼學是網路安全的基礎,但網路安全不能單純依靠安全的密碼演算法。安全協定是網路安全的一個重要組成部分,我們需要通過安全協定進行實體之間的認證、在實體之間安全地分配金鑰或其它各種秘密、確認傳送和接收的訊息的非否認。
安全協定的目標
安全目標是多種多樣的。例如,認證協定的目標是認證參加協定的實體的身分。此外,許多認證協定還有一個附加的目標,即在主體之間安全地分配金鑰或其他各種秘密。
安全協定的分類
按安全協定定義
金鑰交換協定、認證協定、認證和金鑰交換協定。
按安全協定實現的功能
認證協定、最小洩密協定、不可否認協定、公平性協定、身分辨識協定、金鑰管理協定。
針對安全協定的攻擊
對於攻擊者能力的假設
Dolev-Yao模型 [1] 認為,攻擊者可以控制整個通訊網路,並應當假定攻擊者具有相應的知識與能力。例如,我們應當假定,攻擊者除了可以竊聽、阻止、截獲所有經過網路的訊息等之外,還應具備以下知識和能力:
- 熟悉加解、解密、雜湊(hash)等密碼運算,擁有自己的加密金鑰和解密金鑰;
- 熟悉參與協定的主體識別碼及其公鑰;
- 具有密分碼析的知識和能力;
- 具有進行各種攻擊,例如重放攻擊的知識和能力。
攻擊類型
安全協定的設計
設計原則
形式化描述語言
基本假設
安全協定的形式化驗證
安全協定的例子
- Secure Shell,簡稱SSH
- IPsec
- TLS
- Kerberos
- 不留記錄即時通訊
參考文獻
- ^ D. Dolev and A. Yao, "On the security of public key protocols" (頁面存檔備份,存於網際網路檔案館), IEEE transactions on information theory, vol. 29 num. 2, pp. 198-208, IEEE, 1983.