📜  攻击加密系统

📅  最后修改于: 2021-01-12 04:40:55             🧑  作者: Mango


在当今时代,不仅业务,而且人类生活的几乎所有方面都受信息驱动。因此,保护有用信息免受诸如攻击之类的恶意活动已成为当务之急。让我们考虑一下信息通常遭受的攻击类型。

通常根据攻击者执行的操作对攻击进行分类。因此,攻击可以是被动的也可以是主动的

被动攻击

被动攻击的主要目标是获得未经授权的信息访问。例如,在通信信道上的诸如拦截和窃听之类的动作可以被视为被动攻击。

这些动作本质上是被动的,因为它们既不影响信息也不中断通信渠道。被动攻击通常被视为窃取信息。窃取实物和窃取信息的唯一区别在于,数据被盗仍然使所有者拥有该数据。因此,被动信息攻击比偷窃商品更危险,因为所有者可能不注意信息盗窃。

被动攻击

主动攻击

主动攻击包括通过对信息进行某种处理来以某种方式更改信息。例如,

  • 以未经授权的方式修改信息。

  • 启动意外或未经授权的信息传输。

  • 身份验证数据的更改,例如与信息相关的发起者名称或时间戳

  • 未经授权删除数据。

  • 拒绝合法用户访问信息(拒绝服务)。

主动攻击

密码术提供了许多工具和技术来实现能够防止上述大多数攻击的密码系统。

攻击者的假设

让我们看看密码系统周围的主要环境,以及破坏这些系统所采用的攻击类型-

加密系统周围的环境

在考虑对密码系统的可能攻击时,有必要了解密码系统环境。攻击者对环境的假设和知识决定了他的能力。

在密码学中,以下三个假设是关于安全环境和攻击者的能力的。

加密方案的详细信息

密码系统的设计基于以下两种密码算法-

  • 公共算法-使用此选项,算法的所有详细信息都在公共领域,众所周知。

  • 专有算法算法的详细信息仅由系统设计者和用户知道。

在使用专有算法的情况下,可通过模糊性确保安全性。私有算法可能不是最强大的算法,因为它们是内部开发的,因此可能没有针对弱点进行广泛的研究。

其次,它们仅允许封闭组之间的通信。因此,它们不适用于人们与大量已知或未知实体进行通信的现代通信。而且,根据Kerckhoff的原理,该算法最好公开,因为密钥中具有加密强度。

因此,关于安全环境的第一个假设是攻击者知道加密算法

密文的可用性

我们知道,一旦将明文加密成密文,便会将其放在不安全的公共通道(例如电子邮件)上进行传输。因此,攻击者显然可以假定其有权访问由密码系统生成的密文

纯文本和密文的可用性

这个假设不像其他假设那么明显。但是,在某些情况下,攻击者可以访问纯文本和相应的密文。一些这样的可能情况是-

  • 攻击者影响发送者转换其选择的明文并获得密文。

  • 接收者可能会不经意间将纯文本泄露给攻击者。攻击者可以访问从公开渠道收集的相应密文。

  • 在公共密钥密码系统中,加密密钥在开放域中,任何潜在的攻击者都知道。使用此密钥,他可以生成相应的明文和密文对。

加密攻击

攻击者的基本意图是破坏密码系统并从密文中找到明文。为了获得纯文本,攻击者只需找出秘密解密密钥,因为该算法已经在公共领域中。

因此,他尽最大努力找出密码系统中使用的秘密密钥。一旦攻击者能够确定密钥,被攻击的系统就会被视为已损坏受到破坏

基于所使用的方法,对密码系统的攻击分类如下:

  • 仅密文攻击(COA) -在这种方法中,攻击者可以访问一组密文。他无权访问相应的纯文本。当可以从一组给定的密文中确定相应的明文时,COA被认为是成功的。有时,可以从这种攻击中确定加密密钥。现代密码系统可以防止仅密文攻击。

  • 已知明文攻击(KPA) -在这种方法中,攻击者知道密文某些部分的明文。任务是使用此信息解密其余密文。这可以通过确定密钥或通过其他方法来完成。这种攻击的最好例子是针对分组密码的线性密码分析

  • 选择的纯文本攻击(CPA) -使用这种方法,攻击者会将自己选择的文本加密。因此,他有自己选择的密文-明文对。这简化了他确定加密密钥的任务。这种攻击的一个例子是对块密码和哈希函数应用的差分密码分析。 RSA是一种流行的公共密钥密码系统,也容易受到明文攻击。

  • 字典攻击-这种攻击有多种变体,所有变体都涉及编译“字典”。使用此攻击的最简单方法是,攻击者构建一段时间后学会的密文和相应的明文字典。将来,当攻击者获得密文时,他将参考字典以查找相应的明文。

  • 蛮力攻击(BFA) -在这种方法中,攻击者尝试通过尝试所有可能的密钥来确定密钥。如果密钥的长度为8位,则可能的密钥数目为2 8 =256。攻击者知道密文和算法,现在,他逐个尝试所有256个密钥进行解密。如果密钥很长,完成攻击的时间将非常长。

  • 生日攻击-这种攻击是蛮力技术的一种变体。它用于加密哈希函数。当询问班上的学生的生日时,答案可能是365个约会中的一个。让我们假设第一个学生的生日是3八月然后寻找下一个学生,其出生日期为3八月,我们需要查询1.25 *√365≈25名学生。

    同样,如果哈希函数产生64位哈希值,则可能的哈希值为1.8×10 19 。通过反复评估不同输入的函数,可以在大约5.1×10 9个随机输入之后获得相同的输出。

    如果攻击者能够找到两个提供相同哈希值的不同输入,则说明这是一次冲突,并且哈希函数被称为损坏。

  • 中间人攻击(MIM) -这种攻击的目标主要是公共密钥密码系统,在进行通信之前会涉及密钥交换。

    • 主机A要与主机B通信,因此请求B的公钥。

    • 攻击者拦截此请求并发送其公共密钥。

    • 因此,无论主机A向主机B发送什么内容,攻击者都可以读取。

    • 为了保持通信,攻击者在使用公共密钥读取后重新加密数据,并将其发送给B。

    • 攻击者将其公钥作为A的公钥发送,这样B便会像从A那里获取它一样。

  • 边信道攻击(SCA) -这种攻击类型不针对任何特定类型的密码系统或算法。相反,它被启动以利用密码系统的物理实现方面的弱点。

  • 定时攻击-他们利用这样的事实,即不同的计算需要不同的时间才能在处理器上进行计算。通过测量这样的时序,有可能知道处理器正在执行的特定计算。例如,如果加密花费较长时间,则表明密钥很长。

  • 功耗分析攻击-这些攻击与定时攻击相似,除了功耗量用于获取有关基础计算性质的信息。

  • 故障分析攻击-在这些攻击中,密码系统会引发错误,攻击者会研究结果输出以获取有用的信息。

攻击的实用性

这里描述的对密码系统的攻击是高度学术性的,因为其中大多数来自学术界。实际上,许多学术攻击都涉及对环境以及攻击者能力的不切实际的假设。例如,在选择密文攻击中,攻击者需要数量不切实际的故意选择的明文-密文对。这可能完全不可行。

但是,存在任何攻击的事实都应该引起关注,特别是如果攻击技术具有改进的潜力。