文档介绍:安全协预****密码协议)
安全服务的项目包含:
对代理和结点的认证
建立结点之间的会话密钥
确保安全性、完整性、不可否认性
使用的密码机制:对称、非对称、哈希函数、数字签名、时戳、随机数和序列号等。
1
设计和分析安全协议的困难
1. 安全协议所确保的各种性质非常细微。
,要考虑代理蓄意破坏协议的可能性。
。入侵者除了通常操纵经过的网络信息外,还假定他们掌握密码分析技术。
例:很多协议的漏洞都经过若干年才发现。
2
Needham-Schroeder安全协议(NSSK)
Jeeves
共享密钥(Anne) 共享密钥(Bob)
Anne Kab Bob
安全通道的建立
3
一些假设
ServerKey(a)【kas】长期密钥
ServerKey(b) 【kbs】长期密钥
每个用户与服务器有一个长期密钥
用户之间没有长期密钥
为什么不是每两个用户之间都拥有一个长期密钥? N个用户,N2个密钥。
4
NSSK协议步骤
消息1 aJ: . na
消息2 Ja: {na. . {kab. a}ServerKey(b)} ServerKey(a)
消息3 ab:{kab. a} ServerKey(b)
消息4 ba: {nb}kab
消息5 ab: {nb-1}kab
5
协议中的符号含义
一般格式消息 m ab: data
{data }k:该符号表示用密钥k对data加密后得到的值。
: 该符号表示正文m后紧跟着(连接符)文本n。
na: 随机数(nonce)
6
本协议目标
若协议正常运行,则用户Anne和Bob最终可以使用临时密钥kab共享信息。
消息4和5: 认证信息。
a收到消息4可以确认b知道密钥Kab。
b收到消息5可以确认a知道密钥Kab。
7
安全协议的脆弱性例1
{X}pkAnne。
,只有用户Anne可以解密。因此Bob{{X}pkAnne }pkBob并将它发送回给用户Anne。
,可以得出:
{ {X}pkAnne}pkBob = { {X}pkBob}pkAnne
,然后也只有Bob能解密。
8
中间人攻击
{X}pkAnne,用自己的公钥对它加密。
{{X}pkAnne }pkYves
,而用户Anne无法识别这个应答消息是不是它所期望的从用户Bob发出的。{X}pkYves
,解密就得到了秘密信息X。
9
安全协议的脆弱性例2—穿插
攻击者试图使协议在两个或者多个连接中间时执行以多个步骤之间的重叠。
考察 Needham-Schroeder公钥协议
消息1 ab: {}pkb
消息2 ba: {}pka
消息3 ab: {nb}pkb
10