双向认证协议 是最常用的协议。该协议使得通信各方互相认 证鉴别各自的身份,然后交换会话密钥。 基于认证的密钥交换核心问题有两个: 保密性 时效性 为了防止伪裝和防止暴露会话密钥,基本认证与会话密码信息 必须以保密形式通信。这就要求预先存在保密或公开密钥供实现加 密使用。第二个问题也很重要,因为涉及防止消息重放攻击
双向认证协议 ❧是最常用的协议 该协议使得通信各方互相认 证鉴别各自的身份 然后交换会话密钥 ❧基于认证的密钥交换核心问题有两个 ●保密性 ●时效性 为了防止伪装和防止暴露会话密钥 基本认证与会话密码信息 必须以保密形式通信 这就要求预先存在保密或公开密钥供实现加 密使用 第二个问题也很重要 因为涉及防止消息重放攻击
消息重放:最坏情况下可能导致敌人暴露会话密钥,或成功地冒充其他人; 至少也可以干扰系统的正常运行,处理不好将导致系统瘫痪。 常见的消息重放攻击形式有: 1、简单重放:攻击者简单复制一条消息,以后在重新发送它; 2、可被日志记录的复制品:攻击者可以在一个合法有效的时间窗内重放 个带时间戳的消息; 3、不能被检测到的复制品:这种情况可能出现,原因是原始信息已经被拦 截,无法到达目的地,而只有重放的信息到达目的地。 4、反向重放,不做修改。向消息发送者重放。当采用传统对称加密方式时 ,这种攻击是可能的。因为消息发送者不能简单地识别发送的消息和收到的 消息在内容上的区别。 对付重放攻击的一种方法是在认证交换中使用一个序数来给每一个消息 报文编号。仅当收到的消息序数顺序合法时才接受之。但这种方法的困难是 要求双方必须保持上次消息的序号
消息重放 最坏情况下可能导致敌人暴露会话密钥 或成功地冒充其他人 至少也可以干扰系统的正常运行 处理不好将导致系统瘫痪 常见的消息重放 攻击形式有 1 简单重放 攻击者简单复制一条消息 以后在重新发送它 2 可被日志记录的复制品 攻击者可以在一个合法有效的时间窗内重放一 个带时间戳的消息 3 不能被检测到的复制品 这种情况可能出现 原因是原始信息已经被拦 截 无法到达目的地 而只有重放的信息到达目的地 4 反向重放 不做修改 向消息发送者重放 当采用传统对称加密方式时 这种攻击是可能的 因为消息发送者不能简单地识别发送的消息和收到的 消息在内容上的区别 对付重放攻击的一种方法是在认证交换中使用一个序数来给每一个消息 报文编号 仅当收到的消息序数顺序合法时才接受之 但这种方法的困难是 要求双方必须保持上次消息的序号
两种更为一般的方法是: 1、时间戳:A接受一个新消息仅当该消息包含一个时间戳,该 时间戳在A看来,是足够接近A所知道的当前时间;这种方法要 求不同参与者之间的时钟需要同步。 2、盘问应答方式。( Challenge/Response)A期望从B获得一个 新消息,首先发给B一个临时值( (challenge),并要求后续从B收 到的消息( response)包含正确的这个临时值。 时间戳方法似乎不能用于面向连接的应用,因为该技术固有 的困难。 (1)某些协议需要在各种处理器时钟中维持同步。该协议必 须既要容错以对付网络出错,又要安全以对付重放攻击。 (2)由于某一方的时钟机制故障可能导致临时失去同步,这 将增大攻击成功的机会
两种更为一般的方法是 1 时间戳 A接受一个新消息仅当该消息包含一个时间戳 该 时间戳在A看来 是足够接近A所知道的当前时间 这种方法要 求不同参与者之间的时钟需要同步 2 盘问/应答方式 Challenge/Response A期望从B获得一个 新消息 首先发给B一个临时值(challenge) 并要求后续从B收 到的消息 response 包含正确的这个临时值 时间戳方法似乎不能用于面向连接的应用 因为该技术固有 的困难 (1)某些协议需要在各种处理器时钟中维持同步 该协议必 须既要容错以对付网络出错 又要安全以对付重放攻击 (2)由于某一方的时钟机制故障可能导致临时失去同步 这 将增大攻击成功的机会
(3)由于变化的和不可预见的网络延迟的本性,不能期望分布式 时钟保持精确的同步。因此,任何基于时间戳的过程必须采用 时间窗的方式来处理:一方面时间窗应足够大以包容网络延迟 另一方面时间窗应足够小以最大限度地减小遭受攻击的机会 盘问/应答方法不适应非连接性的应用,因为它要求在传输开始 之前先有握手的额外开销,这就抵消了无连接通信的主要特点 安全的时间服务器用以实现时钟同步可能是最好的方法。 LAM92b
(3)由于变化的和不可预见的网络延迟的本性 不能期望分布式 时钟保持精确的同步 因此 任何基于时间戳的过程必须采用 时间窗的方式来处理 一方面时间窗应足够大以包容网络延迟 另一方面时间窗应足够小以最大限度地减小遭受攻击的机会 盘问/应答方法不适应非连接性的应用 因为它要求在传输开始 之前先有握手的额外开销 这就抵消了无连接通信的主要特点 安全的时间服务器用以实现时钟同步可能是最好的方法 [LAM92b]
传统加密方法 Needham/ Schroeder protoco[19781 1、A→KDC:IDA|DN 2、KDC→A:EaK‖IDN| EKbLKSDAI 3、A→B:EKKs|D 4、B→A:EKN2 5、A→B:EKf(N2) 保密密钥K和K分别是A和KDC、B和KDC之间共享的密 钥。本协议的目的就是要安全地分发一个会话密钥K给A 和B
传统加密方法 Needham/Schroeder Protocol [1978] 1 A → KDC IDA||IDB||N1 2 KDC → A EKa[Ks||IDB||N1||EKb[Ks||IDA]] 3 A → B EKb[Ks||IDA] 4 B → A EKs[N2] 5 A → B EKs[f(N2)] 保密密钥Ka和Kb分别是A和KDC B和KDC之间共享的密 钥 本协议的目的就是要安全地分发一个会话密钥Ks给A 和B