安全协议
安全协议(英語: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.