安全矩阵

 找回密码
 立即注册
搜索
查看: 4761|回复: 0

网络安全攻防:密码技术之数学分析/密码协议攻击

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2021-2-17 22:14:05 | 显示全部楼层 |阅读模式
原文链接;网络安全攻防:密码技术之数学分析/密码协议攻击

1. 数学分析攻击

在不知其钥匙的情况下,利用数学方法破译密文或找到钥匙的方法,称为密码分析(Cryptanalysis)。密码分析有两个基本的目标:利用密文发现明文;利用密文发现钥匙。根据密码分析者破译(或攻击)时已具备的前提条件,通常将密码分析攻击法分为 4 种类型。

1)唯密文破解(Ciphertext-Only Attack)。在这种方法中,密码分析员已知加密算法,掌握了一段或几段要解密的密文,通过对这些截获的密文进行分析得出明文或密钥。唯密文破解是最容易防范的,因为攻击者拥有的信息量最少。但是在很多情况下,分析者可以得到更多的信息。如捕获到一段或更多的明文信息及相应的密文,也是可能知道某段明文信息的格式。

2)已知明文的破译(Known-Plaintext Attack)。在这种方法中,密码分析员已知加密算法,掌握了一段明文和对应的密文。目的是发现加密的钥匙。在实际使用中,获得与某些密文所对应的明文是可能的。

3)选定明文的破译(Chosen-Plaintext Attack)。在这种方法中,密码分析员已知加密算法,设法让对手加密一段分析员选定的明文,并获得加密后的密文。目的是确定加密的钥匙。差别比较分析法也是选定明文破译法的一种,密码分析员设法让对手加密一组相似却差别细微的明文,然后比较他们加密后的结果,从而获得加密的钥匙。

4)选择密文攻击(Chosen-Ciphertext Attack)。密码分析者可得到所需要的任何密文所对应的明文(这些明文可能是不明了的),解密这些密文所使用的密钥与解密待解的密文的密钥是一样的。它在密码分析技术中很少用到。

上述4种攻击类型的强度按序递增,如果一个密码系统能抵抗选择明文攻击,那么它当然能够抵抗唯密文攻击和已知明文攻击。

2. 密码协议攻击

目前已经有的关于安全协议的分析方法主要可以归纳为4种。

(1)基于逻辑推理的分析方法

1989年,BAN逻辑成为逻辑分析的典型代表。作为一个开创性工作,BAN逻辑首次对基于逻辑推理所设计的密码协议进行了形式化分析。在 BAN 逻辑中,各个参与者在最初始时刻的知识有了形式化定义,参与者的职责也同样得到了形式化。BAN逻辑通过信息的发送和接收等协议步骤可以得到新知识,再利用推理规则获取最终的知识。当协议执行完成后,如果最终得到的知识和信任语句集中没有目标知识和信任的相应语句时,就表明所设计的协议是不安全的,存在缺陷。具体的逻辑分析步骤如下。

1)协议理想化:通过BAN逻辑语言对实际协议的所有步骤进行描述。

2)确定初始假设:协议运行开始时的信念知识和状态假设。

3)确定断言:所谓确定断言就是将相关逻辑公式附加给协议的语句。

4)逻辑化推理:所谓逻辑化推理就是利用推理规则,基于假设和断言来得到参与者最终的信仰。最后,对最终得到的逻辑结果判断,检查所设计的协议是否达到设计之初的目标。

(2)基于模型检验的分析方法

模型检验技术是一种适用于有限状态系统的自动化分析技术,实际上也是密码协议的一种自动验证工具。从协议的初始状态开始,模型检验(Model Checking)技术就对协议主体和潜在攻击者的所有可能的执行路径进行状态搜索,以确定是否存在错误状态。这种技术方法进行密码协议分析建模是以进程代数、Dolev-Yao模型等为理论基础的。1996年,基于通信顺序进程(CSP,Communication Sequential Processes)方法和模型检验技术,Lowe实现了密码协议的形式化分析。基于 CSP 模型以及 CSP 模型的失败差异细化(FDR,Failures-Diver-Gences Refinement)检验工具,Lowe对Needham-Schroeder认证协议进行了分析,并发现了针对该协议的一个可行的攻击。其他类似的方法包括 Interrogator 系统、FDR模型检验工具和NRL(Naval Research Laboratory)协议分析器等。模型检验技术需要面临的难题是如何恰当地把安全协议用对应的分析语言描述。由于该方法是一种状态搜索的过程,当协议稍微复杂时,会面临状态爆炸的问题。此外,这种方法的分析过程与攻击者能力的刻画和密码协议的形式化都紧密相关,而攻击者的行为方式却在不断地发展变化。

(3)基于定理证明的分析方法

就基于定理证明的分析方法来说,串空间(Strand Space)方法非常重要。串空间方法是Thayer、Herzog和Guttman于1998年提出并用于密码协议分析的。多个Strand的集合构成串空间,Strand 是一个线性结构,由发送和接收的消息组成,是协议主体或攻击者的行为事件的一个序列。对于协议的一个诚实主体而言,已在协议一次运行中的行为可以基于一个Strand来表示,不同Strand表示不同主体的行为。特别地,一个主体在某个时间段里参加了多次协议运行也用不同的Strand来表示。对于攻击者而言,它所获知的消息的发送和接收行为共同组成其Strand中的行为。

(4)密码学可证明安全性分析方法

该方法使用现代密码学中可证明安全性的理论,在复杂性理论的框架下提供协议安全证明,是一种规约式证明,把协议的安全性规约到某特定的已知难题。在一些特定框架下能够给出密码协议的安全性证明。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-20 21:33 , Processed in 0.015778 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表