网络安全理论与应用第六章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.2 认证协议
本节就网络通信中一个基本问题的解决 介绍认证协议的基本意义, 介绍认证协议的基本意义,这一基本问题陈 述如下: 是网络的两个用户, 述如下:A和B是网络的两个用户,他们想通 过网络先建立安全的共享密钥再进行保密通 那么A(B)如何确信自己正在和B(A) A(B)如何确信自己正在和B(A)通信 信。那么A(B)如何确信自己正在和B(A)通信 而不是和C通信呢? 而不是和C通信呢? 这种通信方式为双向通信,因此此时的 这种通信方式为双向通信, 认证称为相互认证。 认证称为相互认证。类似地对于单向通信来 认证称为单向认证。 说,认证称为单向认证。 双方认证 (mutual authentication) (one单向认证 (one-way authentication)
注意: 注意: 在这种模式下Y不能直接验证X的签名, 认为A 在这种模式下Y不能直接验证X的签名,Y认为A的消息已认 只因为它来自A 因此,双方都需要高度相信A: 证,只因为它来自A。因此,双方都需要高度相信A: • X必须信任A没有暴露Kxa,并且没有生成错误的签名 必须信任A没有暴露K EKxa[IDx|| H(M)] • Y必须信任A仅当散列值正确并且签名确实是X产生的情 必须信任A仅当散列值正确并且签名确实是X 况下才发送的 EKay[IDx|| M || EKxa[IDx|| H(M)] || T] • 双方都必须信任A处理争议是公正的。 双方都必须信任A处理争议是公正的。 只要A遵循上述要求,则X相信没有人可以伪造其签名; 只要A遵循上述要求, 相信没有人可以伪造其签名; 相信X不能否认其签名。 Y相信X不能否认其签名。
网络安全理论与应用
第六章 数字签字与认证协议
卫文学 信息科学与工程学院
2003.3 山东科技大学
引言
数字签名是由公钥密码发展而来的, 数字签名是由公钥密码发展而来的, 它在网络安全,包括身份认证、 它在网络安全,包括身份认证、数据完 整性、 整性、不可否认性以及匿名性等方面有 着重要应用。 着重要应用。
消息重放:最坏情况下可能导致敌人暴露会话密钥, 消息重放:最坏情况下可能导致敌人暴露会话密钥,或成功 地冒充其他人;至少也可以干扰系统的正常运行, 地冒充其他人;至少也可以干扰系统的正常运行,处理不好将导 致系统瘫痪。 致系统瘫痪。 攻击形式有: 常见的消息重放 攻击形式有: 1、简单重放:攻击者简单复制一条消息,以后在重新发送它; 、简单重放:攻击者简单复制一条消息,以后在重新发送它; 2、可被日志记录的复制品:攻击者可以在一个合法有效的时间 、可被日志记录的复制品: 窗内重放一个带时间戳的消息; 窗内重放一个带时间戳的消息; 3、不能被检测到的复制品:这种情况可能出现,原因是原始信 、不能被检测到的复制品:这种情况可能出现, 息已经被拦截,无法到达目的地, 息已经被拦截,无法到达目的地,而只有重放的信息到达目 的地。 的地。 4、反向重放,不做修改。向消息发送者重放。当采用传统对称 、反向重放,不做修改。向消息发送者重放。 加密方式时,这种攻击是可能的。 加密方式时,这种攻击是可能的。因为消息发送者不能简单 地识别发送的消息和收到的消息在内容上的区别。 地识别发送的消息和收到的消息在内容上的区别。 对付重放攻击的一种方法是在认证交换中使用一个序数来给每一 个消息报文编号。仅当收到的消息序数顺序合法时才接受之。 个消息报文编号。仅当收到的消息序数顺序合法时才接受之。但 这种方法的困难是要求双方必须保持上次消息的序号。 这种方法的困难是要求双方必须保持上次消息的序号。
(2’) A→B: EK[M||ESKa[H(M)]] → 提供保密性、认证和数字签名。 提供保密性、认证和数字签名。
直接数字签名的缺点
◆验证模式依赖于发送方的保密密钥; 验证模式依赖于发送方的保密密钥;
–发送方要抵赖发送某一消息时,可能会声称其私 发送方要抵赖发送某一消息时,
有密钥丢失或被窃,从而他人伪造了他的签名。 有密钥丢失或被窃,从而他人伪造了他的签名。 –通常需要采用与私有密钥安全性相关的行政管理 控制手段来制止或至少是削弱这种情况, 控制手段来制止或至少是削弱这种情况,但威胁 在某种程度上依然存在。 在某种程度上依然存在。 –改进的方式例如可以要求被签名的信息包含一个 时间戳(日期与时间), ),并要求将已暴露的密钥 时间戳(日期与时间),并要求将已暴露的密钥 报告给一个授权中心。 报告给一个授权中心。
(a)和(b)共同存在一个共性问题: (a)和(b)共同存在一个共性问题: 共同存在一个共性问题 A和发送方联手可以否认签名的信息; 和发送方联手可以否认签名的信息; A和接收方联手可以伪造发送方的签名;
双密钥加密方式, (c) 双密钥加密方式,仲裁者不可以看见消息 X→ (1) X→A: IDx || ESKx[IDx || EPKy (ESKx[M])] (2) A→Y: ESKa[IDx|| EPKy[ESKx[M]] || T] X:对消息M双重加密:首先用X的私有密钥SKx,然后用Y的公开 对消息M双重加密:首先用X的私有密钥SKx,然后用Y SKx 密钥PKy 形成一个签名的、保密的消息。 PKy。 密钥PKy。形成一个签名的、保密的消息。然后 将该信息以及 的标识符一起用SKx签名后与IDx 一起发送给A 这种内部、 SKx签名后与 X的标识符一起用SKx签名后与IDx 一起发送给A。这种内部、 双重加密的消息对A以及对除Y以外的其它人都是安全的。 双重加密的消息对A以及对除Y以外的其它人都是安全的。 检查X的公开/私有密钥对是否仍然有效, 则认证消息。 A:检查X的公开/私有密钥对是否仍然有效,是,则认证消息。并 将包含IDx IDx、 消息用SKa SKa签名后 将包含IDx、双重加密的消息和时间戳构成的 消息用SKa签名后 发送给Y 发送给Y。 本模式比上述两个模式具有以下好处: 本模式比上述两个模式具有以下好处: 在通信之前各方之间无须共享任何信息,从而避免了联手作弊; 1、在通信之前各方之间无须共享任何信息,从而避免了联手作弊; 即使SKx 暴露,只要SKa 未暴露, 2、即使SKx 暴露,只要SKa 未暴露,不会有错误标定日期的消息 被发送; 被发送; 发送给Y的消息的内容对A和任何其他人是保密的。 3、从X发送给Y的消息的内容对A和任何其他人是保密的。
两类数字签名函数
1、直接数字签名 、 2、仲裁数字签名 、
直接数字签名(DDS) 直接百度文库字签名(DDS)
(1) A→B: ESKa[M] → 提供了认证与签名: 提供了认证与签名: • 只有 具有 只有A具有 具有SKa进行加密 进行加密; 进行加密 • 传输中无法被篡改; 传输中无法被篡改; • 需要某些格式信息 冗余度; 需要某些格式信息/冗余度 冗余度; • 任何第三方可以用 任何第三方可以用PKa 验证签名 源A 目标B 目标B
–B伪造一个不同的消息,但声称是从A收到的。 伪造一个不同的消息,但声称是从A收到的。 –A可以否认发过该消息,B无法证明A确实发了该 可以否认发过该消息, 无法证明A
消息。 消息。 例如:EFT(电子资金传输)中改大金额; 例如:EFT(电子资金传输)中改大金额;股票 交易指令亏损 后抵赖 。
数字签名应具有的性质
的某些私有密钥确实在时间T被窃取, ◆ X的某些私有密钥确实在时间T被窃取, 敌方可以伪造X 敌方可以伪造X的签名及早于或等于时 的时间戳。 间T的时间戳。
仲裁数字签名
引入仲裁者。 ◆引入仲裁者。
– 通常的做法是所有从发送方X到接收方Y的签名消息 通常的做法是所有从发送方X到接收方Y
首先送到仲裁者A 首先送到仲裁者A,A将消息及其签名进行一系列测 以检查其来源和内容, 试,以检查其来源和内容,然后将消息加上日期并 与已被仲裁者验证通过的指示一起发给Y 与已被仲裁者验证通过的指示一起发给Y。
M
E
D
M
SKA
E SK (M)
A
PKA
(1’) A→B: EPKb [ESKa(M)] → 提供了保密(PKb)、认证与签名(SKa): 提供了保密 、认证与签名 :
M
E E SK (M) SKA
A
E
PKB
E PK (ESKA(M))
B
M
D ESKA(M)
D
PKA
SKB
直接数字签名
(2) A→B: M||ESKa[H(M)] → 提供认证及数字签名 -- H(M) 受到密码算法的保护; 受到密码算法的保护; -- 只有 A 能够生成 ESKa[H(M)]
6.1 数字签名
★消息认证(Message authentication)用以保 消息认证( authentication) 消息认证 护双方之间的数据交换不被第三方侵犯; 护双方之间的数据交换不被第三方侵犯;但 它并不保证双方自身的相互欺骗。假定A 它并不保证双方自身的相互欺骗。假定A发 送一个认证的信息给B 送一个认证的信息给B,双方之间的争议可 能有多种形式: 能有多种形式:
1、双边认证协议
最常用的协议, 最常用的协议,该协议使得通信各方互 相认证鉴别各自的身份, 相认证鉴别各自的身份,然后交换会话 密钥。 密钥。 基于认证的密钥交换核心问题有两个: 基于认证的密钥交换核心问题有两个:
– 保密性 – 时效性
为了防止伪装和防止暴露会话密钥, 为了防止伪装和防止暴露会话密钥,基本认证与会话密 码信息必须以保密形式通信。 码信息必须以保密形式通信。这就要求预先存在保密或公开 密钥供实现加密使用。 密钥供实现加密使用。 第二个问题也很重要,因为涉及防止消息重放攻击。 第二个问题也很重要,因为涉及防止消息重放攻击。
上述情况还隐含着A可以看到 给 的所有信息 的所有信息, 上述情况还隐含着 可以看到X给Y的所有信息,因而所 可以看到 有的窃听者也能看到。 有的窃听者也能看到。
(b) 单密钥加密方式,仲裁者不可以看见消息 单密钥加密方式, (1) X→A: IDx || EKxy[M]||EKxa[IDx|| H(EKxy[M])] → : (2) A→Y:EKay[IDx||EKxy[M] || EKxa[IDx|| H(EKxy[M])] || T] → : 在这种情况下, 与 之间共享密钥 之间共享密钥K 在这种情况下,X与Y之间共享密钥 xy, X:将标识符 x ,密文 EKxy[M],以及对 x和密文消息的散列 :将标识符ID 密文 ,以及对ID 码用K 加密后形成签名发送给 发送给A。 码用 xa加密后形成签名发送给 。 A:解密签名,用散列码验证消息,这时 只能验证消息的密文 :解密签名,用散列码验证消息,这时A只能验证消息的密文 而不能读取其内容。然后A将来自 将来自X的所有信息加上时间戳 而不能读取其内容。然后 将来自 的所有信息加上时间戳 并用K 加密后发送给Y。 并用 ay加密后发送给 。
1、必须能够验证作者及其签名的日期时间; 2、必须能够认证签名时刻的内容; 3、签名必须能够由第三方验证,以解决争议;
因此,数字签名功能包含了认证的功能 因此,数字签名功能包含了认证的功能。
数字签名的设计要求
1、签名必须使用某些对发送者是唯一的信息, 签名必须使用某些对发送者是唯一的信息, 签名必须使用某些对发送者是唯一的信息 以防止双方的伪造与否认; 以防止双方的伪造与否认; 2、必须相对容易生成该数字签名; 、必须相对容易生成该数字签名 必须相对容易生成该数字签名; 必须相对容易生成该数字签名 3、必须相对容易识别和验证该数字签名; 必须相对容易识别和验证该数字签名; 必须相对容易识别和验证该数字签名 4、伪造该数字签名在计算复杂性意义上具有 伪造该数字签名在计算复杂性意义上具有 不可行性, 不可行性,既包括对一个已有的数字签名 构造新的消息, 构造新的消息,也包括对一个给定消息伪 造一个数字签名; 造一个数字签名;
◆仲裁者在这一类签名模式中扮演敏感和 关键的角色。 关键的角色。
– 所有的参与者必须极大地相信这一仲裁机制工作正
常。(trusted system) 。(trusted system)
仲裁数字签名技术 (a) 单密钥加密方式,仲裁者可以看见消息 单密钥加密方式, (1) X→A:M||EKxa[IDx|| H(M)] → : (2) A→Y:EKay[IDx|| M || EKxa[IDx|| H(M)] || T] → : 之间共享密钥K X与A之间共享密钥Kxa,Y与A之间共享密钥Kay; 之间共享密钥K 准备消息M 计算其散列码H(M) H(M), 的标识符ID X:准备消息M,计算其散列码H(M),用X的标识符IDx 和散列 值构成签名,并将消息及签名经K 加密后发送给A 值构成签名,并将消息及签名经Kxa加密后发送给A; 解密签名, H(M)验证消息 验证消息M 然后将ID 签名, A:解密签名,用H(M)验证消息M,然后将IDx,M,签名,和 时间戳一起经K 加密后发送给Y 时间戳一起经Kay加密后发送给Y; 解密A发来的信息,并可将M和签名保存起来。 Y:解密A发来的信息,并可将M和签名保存起来。 解决纠纷: 解决纠纷: Y:向A发送 EKay[IDx|| M || EKxa[IDx|| H(M)]] 恢复ID 和签名( H(M)]),然后用K ),然后用 A:用Kay恢复IDx,M,和签名( EKxa[IDx|| H(M)]),然后用Kxa 解密签名并验证散列码
相关文档
最新文档