安全協定
安全協議(security protocol),又稱作密碼協議(cryptographic protocol)、加密協定(encryption protocol),是以密碼學為基礎的消息交換協議,其目的是在網絡環境中提供各種安全服務。密碼學是網絡安全[1] 的基礎,但網絡安全不能單純依靠安全的密碼算法。安全協議是網絡安全的一個重要組成部分,我們需要通過安全協議進行實體之間的認證、在實體之間安全地分配密鑰或其它各種秘密、確認發送和接收的消息的非否認。
目錄
安全協議的分類
按安全協議定義
密鑰交換協議、認證協議、認證和密鑰交換協議。
按安全協議實現的功能
認證協議、最小洩密協議、不可否認協議、公平性協議、身份識別協議、密鑰管理協議。
針對安全協議的攻擊
對於攻擊者能力的假設
Dolev-Yao模型 認為,攻擊者可以控制整個通信網絡,並應當假定攻擊者具有相應的知識與能力。例如,我們應當假定,攻擊者除了可以竊聽、阻止、截獲所有經過網絡的消息等之外,還應具備以下知識和能力:
- 熟悉加解、解密、散列(hash)等密碼運算,擁有自己的加密密鑰和解密密鑰;
- 熟悉參與協議的主體標識符及其公鑰;
- 具有密碼分析的知識和能力;
- 具有進行各種攻擊,例如重放攻擊的知識和能力。
攻擊類型
安全協議的設計
設計原則
形式化描述語言
基本假設
安全協議的形式化驗證
安全協議的例子
- Secure Shell,簡稱SSH
- IPsec
- TLS
安全協議的目標
安全目標是多種多樣的。例如,認證協議的目標是認證參加協議的實體的身份。此外,許多認證協議還有一個附加的目標,即在主體之間安全地分配密鑰或其他各種秘密。