当前位置:
文档之家› 安全协议设计与分析 -第2章-下
安全协议设计与分析 -第2章-下
5
Woo和Lam的观点
Woo-Lam这种一致性目标的要求较强,使得某些认 证目标较弱的协议(如STS协议)无法被正确描述。
STS协议只有弱身份认证目标,A执行完协议后,可 以确认对方是否为B,但A并不关心B是否知道自己 是和A通信;B也有对应的弱身份认证目标。
Lowe对修改后STS协议的攻击,不满足断言(A, EndInit(B) )=> (B, BeginRespond(A)),也即A在结 束对B的协议运行时,B并没有开始对A的响应。但 这个运行并不被设计者认为是攻击。
前向安全可以通过使用临时密钥加密消息的方法实 现,如使用一对只在协议运行期使用的公钥对,会 话密钥一旦建立,临时公钥对应的私钥立即被销毁。 长期密钥被泄露后,由于临时私钥已经销毁,那么 在以往协议中使用此长期密钥建立的会话密一个提供前向安全的密钥传送协议,长 期密钥是Ka−1和Kb−1,KT是A选择的临时公钥,A将 其发送给B后,B使用这个KT来传送新建立的会话密 钥Kab。A和B的长期密钥都只用来进行签名,所以, 即使他们的长期密钥作废,KT及其对应的私钥已经 在Kab建立后销毁,Kab仍是安全的。
16
17
非单射一致性(Non-injective Agreement):协议 向发起者A提供非单射一致性目标是指,如果A(作 为发起者)认为自己和响应者B完成了一次协议运行, 并且协议中的数据变量集合为ds,则B一定在之前运 行了该协议,B认为自己是和A运行的,B认为自己 是响应者,B认为协议中的数据变量集合为ds。
符号“=>”表示“之前有”; (i, EndInit(r))表示发起者i完成了对响应者r的协议运行; ( r, BeginRespond( i ) )表示响应者r开始了对发起者i的协议运行; ( r, EndRespond( i ) )表示响应者r完成了对发起者i的协议运行; (i, BeginInit( r ) )表示发起者i开始了对响应者r的协议运行。
8
Lowe的分类法
单射一致性(Injective Agreement):协议向发起 者A提供单射一致性目标是指,如果A(作为发起者) 认为自己和响应者B完成了一次协议运行,并且协议 中的数据变量集合为ds,则B一定在之前运行了该协 议,B认为自己是和A运行的,B认为自己是响应者, B认为协议中的数据变量集合为ds,并且对于A的每 一次运行,都对应着一次且仅为一次B的运行。
弱身份认证:弱身份认证是这样的一个过程,通过该过程, 一个主体可以确信(通过一些可证实的证据)协议中另一个 主体的身份,并且那个主体确实参加了协议运行(即在证据 获得时或获得前的瞬间是活动(active)的)。
强身份认证(或称身份认证):协议向A提供对B的强身份认 证是指,A能够建立这样一个新鲜(fresh)的确认:B知道A 是B的协议对端(参与协议运行的另一端)。
Lowe这种分类相比以往的方法更为清晰和精确,并 较好地应用到了CSP模型检测中。但这种分类法也 有局限性,比如该方法不能表达STS协议的目标。
9
Menezes等人的观点
Menezes等人在“Hanbook of Applied Cryptography”中给出 的认证目标的定义,在协议分析中使用得较多。
3
Gollman的观点
Gollman认为身份认证是指“A收到了一个消息,该 消息是A发出的挑战的响应,在这条消息中,一个与 B相关联的密钥被使用”[Goll96]。
4
Woo和Lam的观点
Woo和Lam[WL93]认为身份认证的目标是满足一致性 (correspondence),即要求协议主体双方按照一定的锁定 步骤(locked-step)运行协议,协议的身份认证目标被表述 为下列断言的成立: ( i, EndInit( r ) ) => ( r, BeginRespond( i ) ) ( r, EndRespond( i ) ) => ( i, BeginInit( r ) )
15
其他目标
无时间戳:在协议中,发送者通常在发送的消息中 加入时间戳,作为对消息新鲜性的保证。但在实际 使用时,时间戳会涉及时钟同步问题,而时钟同步 本身也容易遭到攻击,因此,大多数协议设计都倾 向于使用随机数来代替时间戳。
通用性:这个目标指的是协议应该尽量被设计为少 受其他情况限制的,如协议既可以用于网络的低层 协议,也可以作为一个应用层协议使用;既可用于 工作站,又可用于低处理能力的计算单元(如smart card)。通用性还表现在协议并不局限于使用某一 密码算法,而是可以使用常见的各种密码算法。
① 该密钥是新鲜的; ② 该密钥只为A和B以及可信第三方(如果存在可信第三方)
所知。
密钥确认(Key Confirmation):A对B提供密钥确 认是指B能够确认A拥有该密钥。
12
前向安全
前向安全(Forward Secrecy):即使协议主体的 长期密钥被损坏作废,使用这些长期密钥在以前的 协议交互中建立的会话密钥仍然是安全的。如果对 于协议中的任何主体,都能保证他们长期密钥的前 向安全,那么这个协议提供了前向安全(Forward Secrecy)。
安全协议分析与设计 第二章 安全协议及攻击(下)
卫剑钒
安全协议的目标
认证目标 密钥建立目标 其他目标
2
认证目标
ISO安全体系[ISO89]定义身份认证为“证实一个主 体是它所声称的那个主体”,这个定义相当粗略, 语义也很不明确。
SVO逻辑[SVO96]认为,身份认证是确认对方响应 了一个挑战(challenge,可理解为时间戳或 Nonce)。
14
其他目标
协议效率:协议效率主要考虑计算效率和通信效率 这两个因素。
计算效率,指的是协议的密码算法所需要的计算量, 包括加密运算、解密运算和数字签名的生成、验证 等。通常,公开密钥算法的运算量要远远高于对称 密码算法的运算量。
通信效率与协议中需要发送和接收的消息数量以及 消息长度相关。在设计安全协议时,最好能最大程 度地减少协议主体需要发送和接收的消息数量和长 度,使得协议中的主体之间来回的交互数更少,达 到更高的通信效率。
双向身份认证:在同一个协议中,如果两个主体都能认证对 方,则称协议提供相互身份认证;如果只有一方能够认证另 一方,则称协议提供单向身份认证。
10
密钥建立目标
良好密钥 密钥确认 前向安全
11
良好密钥(Good Key):通过运行密钥建立协议, 如果能够使A有如下的确认,则称A和B之间使用的 某个会话密钥对A是良好密钥:
6
Lowe的分类法
Lowe在文献[Lowe97b]中将认证协议的目标分类, 给出了存活性、弱一致性、非单射一致性、单射一 致性等目标。
存活性(Aliveness):协议向发起者A提供存活性 认证目标是指,如果A(作为发起者)认为自己和响 应者B完成了一次协议运行,那么B一定在之前 (previously)运行了该协议。
在这个目标定义中,B可能不认为它刚和A运行了协 议,甚至B都不是刚刚(recently)运行了该协议 (之前运行并不代表是刚刚运行了)。
7
Lowe的分类法
弱一致性(Weak Agreement):协议向发起者A提 供弱一致性目标是指,如果A(作为发起者)认为自 己和响应者B完成了一次协议运行,则B一定在之前 运行了该协议,并且B认为自己是和A运行的。