Security+ 学习笔记18 密码分析攻击

本文介绍了两种主要的密码破解技术——暴力破解与基于知识的破解,包括频率分析、已知明文与选择明文攻击等手段。同时,讨论了加密算法的局限性,如性能特征、弱密钥等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、暴力破解(Brute force attacks)

暴力破解是针对加密系统的最简单的攻击形式。在暴力破解中,攻击者只是反复猜测加密密钥,直到他们偶然发现该密钥的正确值,然后获得加密信息的权限。当然,猜测并不容易,如果暴力破解成功的话,也需要很长的时间才能完成。暴力破解的攻击者只需要有一个加密文本,并使用其中的文本进行尝试,所以也被称为已知密码文本攻击(Known ciphertext attack)。
在这里插入图片描述
以旋转密码的例子,它只是将字母表中的每个字母移动一定的位置。例如,一个移位为一的密码将As改为Bs,Bs改为Cs,以此类推。如果移位三,As变成Ds,Bs变成Es,以此类推。这是一个非常简单的密码,因为只有25个可能的钥匙。如果把字母移到26位,As变成As,Bs变成Bs,密码文本就和明文一样了。如果移动27个位置,就等于把它们移动了一个位置。在这种情况下,其实只有25种可能性,我也就是们说的密钥空间(Key space),或所有可能的密钥列表,在这个例子中也就是只有25个不同的加密密钥,进行暴力破解的人最多只需要猜测25次就能破解密钥。

现在,现代算法通常不容易受到暴力破解的影响。如果是一个非常短的密钥,只使用56位的加密,如过时的数据加密标准。这就是56个数字,每个数字可能被1或0占据。现在,这听起来可能不多,但它留下了72万亿个可能性,使人很难猜出解密密钥。攻击者需要猜测72万亿次。如果你使用更现代的高级加密标准,例如128位或者256位的密钥,其需要猜测的密钥数量以指数的形式增长。因此,对于具有强大密钥长度的现代加密算法,暴力攻击根本不可能。然而,这有一个例外。如果加密算法的工作方式存在缺陷,限制了密钥空间的大小,那么针对加密系统的薄弱实现,暴力攻击可能是可能的。

二、以知识为基础的破解(Knowledge-based attacks)

基于知识的破解超越了暴力的简单性,将攻击者可获得的其他信息与密码分析技术相结合,以打破加密数据的安全性。如下是几种Knowledge-based attack:

  1. 第一个基于知识的攻击是频率分析攻击(frequency analysis attack)。在这种攻击中,试图破解密码的人对密码文本进行一些统计分析,试图检测模式。分析师可能会使用许多英语语言的共同特征来帮助进行这种分析。例如,我们知道英语中最常见的字母是E、T、O、A、I和N。如果我们怀疑使用的是简单的替换密码,并且看到字母X在密码文本中反复出现,那么很有可能X被替换成了E。例如,研究人员还可以使用经常一起出现的一对字母,即所谓的双字母。如果他们看到密码文本中出现相同的两个字母,他们就可以猜测这两个字母对应于一个常见的英语数字,如TH、HE、IN或ER。像这样的规则还有很多,可以帮助我们进行频率分析。
  2. 在某些情况下,分析员可能会接触到一个信息的加密和未加密版本。在这些情况下,这些额外的信息允许称为Known Plaintext Attack,攻击者使用这些知识来尝试破解其他信息的解密密钥。
  3. 当密码分析员有能力使用选定的算法和密钥对信息进行加密时,他们还可以获得进一步的优势。在这种类型的攻击中,称为Chosen Plaintext Attack,攻击者可以更详细地研究算法的工作原理,并试图了解正在使用的密钥。
  4. 生日攻击(Birthday attacks) 在哈希函数中搜索可能的碰撞,这可能使攻击者利用该函数。生日攻击一词来自于生日问题,这是一个数学问题,描述了一个房间里的两个人共享相同月份和出生日期的概率。正如你在这张图上看到的,对于非常小的群体,两个人共享一个共同的生日的可能性很低,但它迅速攀升。当一个房间里有23个人的时候,有50%的机会其中两个人有相同的生日。当人数达到70人时,几乎可以肯定房间里有两个人同一天生日。
    在这里插入图片描述

三、加密算法的局限性(Limitations of encryption algorithms)

每个安全控制都有局限性和弱点,加密算法也不例外。作为一名安全专家,我们应该意识到不同的加密方法所存在的不同限制:

  1. 首先,不同的加密算法有不同的性能特征。一种算法的速度可能比另一种算法的速度快很多,这取决于所涉及的计算开销。例如,非对称加密算法通常比对称加密算法慢得多。当我们增加与算法一起使用的加密密钥的大小时,算法会变得更强大。密钥越长,它对暴力攻击的抵抗力就越强。然而,这导致了一个安全约束的资源。较长的密钥可能更安全,但它们也需要更多的计算能力,因此与较短的密钥相比,执行加密和解密操作的时间更长。
  2. 我们还应该意识到我们的算法中可能存在的任何可能的弱密钥。安全研究人员有时会发现一些缺陷,使特定密钥的使用不安全。开发人员通常对加密模块进行编码,以避免使用这些密钥。长期重复使用同一个密钥也会使密钥暴露在更大的风险之下。当我们重复使用一个密钥时,这为密码分析师提供了更多的密码文本材料,以便在未知的密码文本攻击中加以利用。这是一个简单的事实,加密算法不会随着时间的推移而老化。加密算法的寿命受限于数学和计算的进步。安全研究人员很可能最终会发现一个加密算法的缺陷,使其变得不安全,或者仅仅是计算能力变得足够先进,可以使用暴力破解算法使用的密钥。

熵(Entropy) 是加密算法的一个重要质量。高熵意味着算法的可预测性较低。在选择伪随机数作为加密算法的种子(seed)时,这一点尤其重要。如果攻击者能够确定使用的是什么伪随机值,他们可能就能击败加密。最后,一些协议容易受到降级攻击(downgrade attacks),即外部攻击者欺骗两个通信方,使其不对通信进行加密,或使用一种弱的加密形式,而实际上他们都有能力进行更强的加密。针对某些SSL实现的POODLE攻击就是降级攻击的一个例子。
在这里插入图片描述

参考资料来源:
https://www.linkedin.com/learning/paths/become-a-comptia-security-plus-certified-security-professional-sy0-601

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

格洛米爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值