旁路道攻击对信息安全的影响外文翻译资料

 2023-03-14 06:03

旁路道攻击对信息安全的影响

摘要:旁路攻击是在密码系统的应用程序设备上进行的此类攻击。一个密码系统由三种算法组成,一种用于密钥生成,第二种用于加密,第三种用于解密。通常,攻击者试图从应用程序部分访问敏感数据,而不是使用暴力破解攻击。关键信息可能通过从软件、硬件或协议层泄露的数据被访问。通过对功率流或功耗、时序信息和电磁辐射的监测,从信息技术设备中提取敏感数据来攻破系统,称为旁路攻击。所提出的对策将使应用设备以相同的数据速率和相同的系统功耗生成密文。本文将重点讨论旁路攻击的类型、旁路攻击中的漏洞及其破坏性影响,并尝试评估所提出的对策。

关键词:旁路攻击,时间攻击,声波攻击,功耗攻击,差分攻击,简单攻击

  1. 介绍

现代密码分析[3]通常将重点放在破解设备的密码应用程序上,而不是使用传统的安全攻击,后者主要是通过做一些数学计算来破解密码算法来实现的。因为这些系统都是由人类设计的,并没有一个完美的解决方案来应对所有这类攻击。然而,如果我们采用适当的防范措施,就会使攻击者的攻击变得困难。

正如我们所知道的,通过分析一个给定密钥可能组合的确切数目,之前分解算法是相当容易的任务[8,9]。维护数据的完整性、保密性和身份验证一直是每个密码算法的首要职责。旁路攻击(SCA)[6]的案例日益增多,如果我们不了解加密设备的内部功能,就很难应对所有攻击。

图1

时间攻击处理的是数据从内存移动到中央处理单元(CPU)或从内存移动到中央处理单元的时间。当数据从高速缓存存储器和主存储器被取到RAM时,会有一个时间延迟。当我们谈到功耗时,我们需要了解输入功率,实际功耗和功率增益,然后我们才能根据功耗进行分析。

图二

当在操作的不同阶段对处理设备的内部状态进行测量时,就可以进行密码分析。这里,物理计算被用作提取加密应用程序的密钥的工具,该加密应用程序是围绕DES、RSA和AES等算法实现的。例如,据报道,英国情报机构在1965年成功破解了埃及大使馆使用的密码,只是在旋翼密码机旁边放了一个麦克风。如今,由于现代计算非常复杂,旧的转子密码被认为是不切实际的。

二、现有的旁路攻击

由于应用在功耗、电磁辐射等过程中可能会泄露信息给环境,因此系统无法保证应用系统的安全。

  1. 功率分析攻击

密码设备可以根据其功耗提供有关所涉及的操作和所使用的参数的必要信息。这是功耗分析攻击背后的主要动机。两种基本的功率分析攻击是简单功率分析(SPA)和差分功率分析(DPA)攻击,由Kocher etal[3]编写。在SPA中,主要的目的是根据系统用于计算工作的功率跟踪来猜测输入输出指令(如ADD、XOR)。

图三

例如,如果攻击者能够确定在消耗一定的功率时正在执行哪条指令,那么就可以很容易地预测当时使用的密钥。这是基于执行特定操作所消耗的功率大小,这就是为什么在SPA中需要设备的实现知识。对于DPA,攻击者会利用功耗与密钥位之间的统计相关性。

  1. 简单功率分析

通过测量和记录加解密(密码学)操作过程中的功耗,可以提供设备运行的合理信息。在密码操作过程中,由于功率轨迹为[5],需要进行功耗测量。为了打破密码实现,可以使用SPA,因为它揭示了正在执行的指令序列。

  1. 差分功率分析

由于DPA[4]使用统计分析来预测信息,这就是它被认为比SPA更强大的原因。在对0和1的操作之间总是存在显著的幂变化,这是统计分析背后的主要逻辑或原则。输出(即密文)是分组获取的,然后通过建立密文组之间的相关性来进行预测,以提取密钥。

  1. 时间攻击

根据缓存命中的概念,例如不同的指令执行时间不同;分支和无条件语句。密码系统[2]处理不同的输入需要不同的执行时间。这种类型的分析可以帮助攻击者预测实现设备或密码系统内部正在进行的操作,并以这种方式对系统进行攻击。在这里,我们尝试使用已知的明文来测量时间,然后使用统计方法提取密钥。例如,在RSA算法中,私钥操作是这样计算的:R=yx mod n,其中n是公开的,y是明文。在这里,攻击者的主要目标是找到密钥x。

算法1:模幂算法

  1. 声波攻击

当我们谈论使用密码分析的声音,首先我们称这个机会当埃及大使馆传播密码被打破了由英国政府通过收集声音是通过转子机使用密码分析的概念提取数据传输赖特[8]。

图四

所以我们可以说,拦截传输的声音一直是收集秘密数据的最关键的一点。风扇发出的声音不会干扰计算的声音,但当CPU处于睡眠状态时,这种声音最好。我们都必须注意到,我们的笔记本电脑会发出很高的声音,要么是因为风扇,要么是因为我们在进行某种类型的计算[12]。

三、旁路攻击的对策

使用旁路攻击(SCA)[1]提取未经授权的信息是加密算法[7]实现的主要关注点。不过,对于SCA来说,加密系统的所有部分可能都不会被标记为易受攻击的,因此很难判断哪个部分是安全的,哪个部分不是。因此,应在对系统进行安全评估的基础上设计相应的对策。

我们可以把这些对策归纳为以下几类。

·我们必须将关键汇编器替换为一个预先汇编器,它产生的标记难以分析或重新设计关键电路,负责执行各种算术计算和存储传输。

·密码原语必须以这样一种方式更改算法,使对系统的攻击变得无效或低效。

·如果我们可以在密码算法上创建镜像或复制,它将会变得安全,攻击者将会感到困惑,无法进行攻击,但它可能会增加执行时间和计算成本。通过计算功耗和执行时间,攻击者将无法识别实际的密码算法。

提出一个新的模型是非常简单的任务,但一个具有挑战性的任务是提出一个安全的应用程序,用最小的额外成本,且不改变系统的性能。在本文中,我们将讨论常见的和先进的方法来保护我们的系统免受旁路攻击。在设计任何系统之前,我们应该了解到市场上有很多设备可以帮助攻击者收集信息并对系统进行攻击。在这种情况下,我们必须在软件和硬件两个级别上确保安全。基于缓存的数据传输只有在从内存获取信息之间的时间相对于功耗保持恒定的情况下才能被处理。

如果硬件部分的设计者和开发人员没有考虑到SCA,那么EMI和缓存传输就会泄露重要信息,攻击者就可以根据这些信息对系统进行攻击。

  1. 重复的方法

在这个方法中,我们将把第一个输入指令放入内存,之后关于指令的最新信息将保存在缓存中。我们应该始终牢记,第一个输入指令将是虚拟数据,以保护缓存中的一些重要信息。如果这些指令被保存和维护在缓存中,那么所有的操作都将在内存中查找,并且从内存中获取信息的时间将在整个加密过程中保持不变。Goubin[7]等人提出了一种基于非连续变换的DPA新解决方案。这个想法很好,因为我们要替换每个公共变量x,在计算过程中,出现k个变量x1hellip;xk,这样x1, x2hellip;xk有助于检索x,现在选择一个函数y来满足x = y(x1, x2,hellip;xk)的条件。

图五

条件1:如果x的值已知,且对于任意固定值u,其中1lt;= u lt;= k;假设关于值集xu的信息存在满足y(x1.... xk) = x的(k-1)方程是不可行的。

  1. 随机码注入对抗功率分析攻击

Ambrose等人首次引入了随机码注入(RCI)方法。这种方法有助于打乱能量波,使攻击者无法识别能量波中的加密轮。如果考虑采用Triple DES或RSA加密算法[6,10],则会有多轮,攻击者在加密时可以侦听这些轮,从而推断出使用的算法类型。

攻击者根据收集到的旁路信息,试图找出所使用算法的加密密钥。在图6中,第一个显示了原始的功率波,第二个显示了注入虚拟指令时的功率耗散量。通过分析图形本身,任何人都可以很容易地找出注射模式。然后,通过引入简单的时移,消除虚拟指令,恢复原始功率轨迹。

图六

  1. 防止时间攻击

在这种方法中,我们需要用噪声干扰发射信道。通过添加随机延迟,我们可以确定定时攻击,但攻击者可能只需要将多个测量值平均或在分析[5]中使用更多测量值就可以破坏代码。随着信道中噪声的增加,攻击者需要收集更多的信息和测量数据。针对定时攻击的有效对策是将软件设计成异步的,这需要固定或恒定的时间来执行,而不依赖于任何密钥。这会使攻击者难以进行定时攻击[13-16]。

这种类型的对策在实际中很难实现,因为在某些cpu上,单个指令可能会有不同的计时问题。所以最好的方法来防止这种类型的攻击是选择一个随机的值(例如vi,vf)这样vi = vf mod n。在进行任何操作之前的加密部分消息,消息在发送端与vf mod n相乘用于消息加密,在接收端再次与vf mod n相乘用于消息解密[11]。我们应该注意,这样做的本质并不是为了加密/解密过程,而是为了掩盖每次计算所花费的时间。此过程有利于确保系统在加密/解密过程中执行的任何模块化步骤或循环的安全。

  1. 防止故障攻击

著名科学家F. Stundeat[9],提出了许多应对侧信道攻击的对策。其中一种方法是“简单重复比较法”。

图七

该方法的主要重点是生成重复的硬件块,然后使用比较器来测试从两个块接收到的结果的正确性。当两个块的结果不同时,警报信号将被发送到决策块,导致硬件复位或激活中断,从而触发正确的对策。这种方法有助于防止系统出现单焦点误差。

在图7中,因为数据被分成两个独立的镜像块,块1和块2同时对数据执行计算。两个块的结果被送入比较器,比较器将测试两个块的输出是否相同。如果在计算过程中检测到任何故障,那么一个信号将被发送到决策块,通过激活中断信号使硬件复位。如果结果是无误差的,则输出将在比较器的输出处产生。我们可以设计一个如图7所示的模型,唯一的区别是第二块的输出结果在输入比较器之前被输入一个NOR门。类似地,我们可以设计另一个模型,它将对一个输入数据进行两次计算。如图8所示,每个输出结果将馈送到一个比较器,以防止单次和多次误差,唯一的缺点是系统只能检测故障,反应仅限于丢弃结果。

图八

另一种方法是使用动态复制,其想法是,我们需要使用决策模块创建多个冗余,以便在故障检测时调用数据开关。开关总是按照比较器的指示传送正确的结果。损坏的块将被禁用,结果将被丢弃。在这种方法中,所有类型都允许对检测到的错误进行检测和连续反应。

四、提出研究工作的意义

如果我们在处理暴力破解攻击而忘记了密码分析,就像限制未经授权的人通过入口进入,但忽略了他可以通过窗户进入。对于旁路攻击,市场上有很多工具可以帮助攻击者发现所使用密码算法的信息。上述对策对防范已知旁路攻击具有重要作用。由于攻击是基于产生的热量、执行时间和消耗的功率进行的,因此在这些因素中产生变化可以更好地保护用户免受旁路攻击。

随着技术的日新月异,攻击者使用越来越先进的技术进行安全攻击,因此安全措施也应同步更新以应对此类问题。本文的意义和效率在于,它提供了更好的安全措施选项,以防止旁路攻击(SCA)的演变,攻击者无法确定实际的密码算法。例如,在处理过程中注入随机码,导致功耗变化很大,攻击者无法确定正确的算法。加密系统的复杂性将会增加,攻

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[596199],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。