广告

泛在系统的侧通道评估平台和工具

开放获取
  • 2.7 k下载

摘要

侧信道攻击现在被认为是许多安全产品和无处不在的设备的一个严重的风险。强大的安全解决方案提供商在将它们发布到市场之前需要评估它们的实现是否受到此类攻击,从而执行彻底的评估。然而,这个过程并不简单,即使使用适当的设备,由于收集测量(痕迹)的缓慢过程和控制被测试实施的不灵活方式,它可能需要相当长的时间来提供结果。在本章中,我们探索并概述了被测试的通用设备(包括普遍存在的系统)的跟踪收集情况,重点介绍并概述了最新的跟踪收集工具集及其缺点,同时也提出了一种可以应用于最新的开源工具集的跟踪收集方法。我们展示了我们在FlexLeco项目架构上提出的方法,这是我们在实验室中开发的,并设法实际描述了评估者如何使用提出的方法轻松快速地收集踪迹,而不需要为测试中的实现完全重新设计控制机制。

9.1简介

计算设备过渡到无处不在的时代,在这个时代,网络世界与物理世界融合,为日常生活对象带来了永远存在的计算机智能层,其中包括将网络安全和隐私作为一个需要不断考虑的问题带入物理世界。由于IP互联的网络物理系统,攻击者通过控制城市和工业系统、关键基础设施和个别家庭的“智能”设备,不仅可以访问受害者的数据,还可以访问受害者的生活本身[540].这强调了必须在嵌入式系统上安装强大的安全特性的必要性。然而,普遍存在的设备有一些非功能性的限制,比如处理能力小、功耗低或内存占用小,这些限制禁止使用几种传统的安全和加密方案(例如,非对称加密)。这导致了对现有安全解决方案(如TLS方案及其密码模式)的重新设计和简化,或开发专门为低性能设备设计的密码算法(轻量级密码方案[197])。

安全方案和密码算法的设计和评估必须考虑几个参数,这些参数与方案的密码强度(通过密码分析、形式化安全验证方法等解决)、算法性能(通过收集和比较性能和资源测量解决)以及对实现攻击(如侧通道和故障注入攻击)的抵抗能力有关[337].侧信道攻击(sca)在现代密码系统的设计中扮演着重要的角色,因为它们是最薄弱的环节,许多众所周知的攻击都利用它们来破坏原本无法破解的安全/密码算法。sca可以很容易地应用于无处不在的网络物理系统,在这些系统中,设备在潜在的安全“敌对”环境中无人看管(在偏远、隐蔽的地区、恶意用户场所等)。

与各种sca相关的研究领域很广泛,其目的是利用器件的各种物理特性,包括定时、功耗、电磁发射等。旗舰SCA分析方法具有统计性质,可以分为水平攻击(使用一个或几个收集的输入)或垂直攻击(使用多个收集的输入)。最有效和最成功的此类攻击包括差分功率分析(DPA)或相关DPA [390]以及模板、在线模板[58]及互信息攻击[229].对上述高级sca的简单回顾表明,它们都需要收集大量泄漏的物理特性输入才能有效。

评估无处不在的设备上的安全/加密方案是否具有SCA抗性并不是一个简单的过程。它通常有两个方向。在第一个方向上,针对特定的sca评估安全方案,而在第二个方向上基于一些统计检验执行通用的信息泄漏评估。学生t检验或Welch t检验是两种这样的检验,它们使用统计假设检验来检测安全过程中一系列敏感中间过程中的一个是否显著影响测量数据,或者(更多的是在非特异性检验中)检测收集到的痕迹与随机噪声(表明对可利用信息泄漏的偏差)有多大的不同。

使用专门的设备以一种相当便宜和简单的方式收集SCA分析的输入。然而,当需要获取大量的输入时,对输入的处理(或跟踪,正如文献中通常表示的那样)将成为一个非常缓慢和繁琐的过程。帮助获取高级SCA攻击所需跟踪信息的工具数量有限。它们中的大多数仍然需要相当长的时间进行跟踪收集,并使用自定义(对现有的密码系统)控制机制。研究社区广泛使用开源SCA跟踪收集设置[451但要么是非常原始的支持,要么是建立在低成本设备上的,如果没有攻击者开发的软件,这些设备就无法承受非常复杂的攻击[427].此外,总是需要对测试中的不同密码设备进行调整,有时需要很大程度的调整。在这一研究领域有几家商业公司(Riscure [501),中国国际广播电台(495)向未来的加密分析师提供自己的专有设备,价格高得离谱,只有高预算的实验室才能负担得起。

在这一章中,我们将回顾最新的商业、开源和实验性跟踪获取工具,并关注它们的优点和缺点。我们还强调了在被测设备(DUT)和控制器之间发送和接收数据的廉价、快速和自动化过程的必要性。本文讨论了有效控制回路对加速跟踪采集过程的重要性。最后,我们提出并描述了一个三步方法,用于控制、功能验证和SCA评估DUT,它超越了其他解决方案遵循的传统控制模型。最后,我们描述了我们的解决方案的使用,使用我们在实验室开发的开源硬件/软件跟踪采集平台(FlexLeco项目[427),它巩固了跟踪收集工具和平台的最新趋势。

本章的其余部分组织如下。在教派。9.2,主要SCA类别和泄漏评估方法将根据所需跟踪的数量进行描述和评估。在教派。9.3我们概述了现有的开源和商业跟踪收集平台和工具集,并描述了拟议的跟踪收集方法。在教派。9.4,我们描述了所提出的方法在FlexLeco项目架构上的使用,并讨论了该解决方案的好处。在教派。9.4结论。

9.2侧信道攻击,泄漏评估方法与问题

典型的侧信道攻击(SCA)测量和分析设置包括几个组件,包括测量设备(例如,数字信号示波器)、处理攻击者到DUT通信的DUT控制器组件以及个人计算机(PC)。攻击者/评估者利用PC机向控制器提供输入,并利用编程工具对收集到的泄漏轨迹测量数据应用信号处理技术进行分析[390].这个经典的SCA测量收集和分析装置可能会增加一些前置放大器,以增强测量设备(例如示波器)获得的信号,差分电缆,以帮助减少获得的测量噪声,用于获取电磁辐射信号的电磁探针,以及一些将加快泄漏轨迹捕获的工具。

可以使用上述设置评估各种dut的SCA阻力。在无处不在的计算框架下,具有轻量级加密算法版本的小型嵌入式系统设备(例如RFID标签、无线传感器网络节点、智能卡设备)是最容易存在SCA漏洞的。评估此类设备的SCA阻力可以通过在设备部署并完全可操作时(在这种情况下,DUT就是整个设备)进行评估来实现,也可以通过在受控环境中单独评估将部署在普遍存在的设备上的特定密码或安全实现来实现。在第一种情况下,SCA评估非常难以执行,因为除了安全功能之外,在DUT上有许多与安全无关的操作正在并行执行[219].这样的操作可以被认为是采集痕迹内部难以去除的噪声[219].在第二种情况下,DUT不是完全无处不在的设备,而是部署在该设备上的特定安全硬件或软件实现。在第二个案例控制环境中不执行其他操作,因此噪声被最小化,使评估者能够深入测试许多SCA阻力场景。

当需要跟踪收集来进行SCA分析或评估时,攻击者/评估者需要每次从他的控制点(通常是个人计算机)向控制组件传递加密/安全算法的预期输入数据,控制组件负责将数据发送到DUT,以便开始一个安全/加密进程。在示波器中设置了正确的设置后(例如,采样率,时间窗口捕获,分辨率捕获),攻击者武装它。然后,攻击者向DUT发送一个命令,让它开始执行评估后的安全进程。在进程开始之前,DUT向示波器发送一个触发信号,警告它进程即将开始,必须执行跟踪捕获。一旦触发信号到达示波器,它就会捕获DUT的泄漏轨迹测量(例如,功耗或电磁辐射,取决于使用的探头)。然后,攻击者/评估者从示波器请求捕获的踪迹,以便在他的PC上进行分析。当捕获的跟踪信号到达PC机后,采用各种信号处理技术对其进行处理,并用于DUT的侧通道分析。对于我们希望DUT执行的每个新的安全性/加密过程,都要重复上述过程(称为循环)。

9.2.1侧通道攻击分类

采用载于[6061220]我们就可以为每个安全/密码学计算建模C作为一系列的n不同的O操作(∈{0,1,……n−1}),每个都需要输入X(因此OX))。我们还可以假定每个操作输出都可以看作是在C计算。每个操作O链接到信息泄漏变量l.如果有一些秘密信息,侧信道攻击是可能的年代这是共享的O和它的泄漏l.侧渠道分析的最终目标是,通过使用一些策略来推断年代从一系列的信息泄露l值(220].为了实现这一点,我们收集泄漏痕迹l它们是序列(在时间上)l= {l0l1,……ln−1}并尝试将它们与计算联系起来C作为一系列操作C= {O0O1,……On−1}。

sca遵循垂直或水平的泄漏收集和分析策略,如最初在[60].在垂直方法中,使用实现N每次使用相同或不同的输入以收集泄漏痕迹的次数。每个跟踪都与j计算的第一次执行。在水平方法中,泄漏轨迹和相关分析是从一次计算执行中收集/执行的,每个轨迹对应于这次执行的时间框架中的不同时间段。正如预期的那样,在水平攻击中,实现输入总是相同的。

通过联想和区分特定的模式O泄漏跟踪中的操作(由单个或多个操作组成)l,攻击者就可以恢复这个秘密年代.在简单的sca (ssca)中通常采用这种攻击方法,这些sca大多是水平攻击,这意味着它们使用一个及时处理的单个泄漏跟踪来安装。需要多个泄漏轨迹的垂直ssca依赖于比较分析来匹配不同输入的计算之间的模式。考虑到在相同计算量的泄漏道之间采用平均降噪技术,垂直ssca需要采集几百个泄漏道。

有几种对抗措施可以阻止ssca,因此,设计了更高级的攻击(即高级sca (asca))。asca不只关注单个操作或一系列操作(例如:O),也可以用于计算操作数(即操作输入)X)[61220].asca专注于计算的一个特定子集C(例如,一些O与强关联的操作年代),并检查这个子集在一个大集合上的行为(例如,N)泄漏痕迹lj与计算Cj不同的输入(其中j∈{1,…,N})。asca在这个操作子集和相关的泄漏痕迹上利用计算之间的统计相关性C对所有Xj年代.asca遵循假设检验原则[60335其中有一系列的假设急性{年代}\ (\ \)年代(通常是一些j年代也就是说,急性{s_j} \ (\ \)=0或1),利用适当的预测模型,根据每一个假设找到一系列的泄漏预测值。每个假设的值都使用适当的区分器对所有实际泄漏痕迹进行评估δ对所有输入X以便决定哪个假设是正确的。

大多数asca是垂直的,它们的成功与加工的泄漏痕迹的数量高度相关。目前应用最广泛的ASCA垂直攻击是差分攻击(DSCA),最初由Kocher在[336],后来扩展为更复杂的关联SCA(需要比DSCA更少的跟踪来揭示秘密)[21和碰撞关联攻击[]99210425],即使攻击者没有完全控制实现输入,也可以挂载它。然而,也有水平的asca对单个泄漏跟踪应用微分或相关统计信息,假设与秘密相关的操作子集年代在此跟踪中出现多次。最后,ASCAs可以通过结合水平和垂直方法绕过强SCA对策(例如,随机/盲化)[59210220].

按照上述分类(垂直vs水平,SSCA vs ASCA),我们可以包括分析sca,如模板攻击或机器学习攻击[367]在垂直asca中。分析攻击的操作分为两个阶段:最初,它们需要从攻击者完全控制下的设备(具有已知的输入和秘密)收集一系列泄漏痕迹,从而创建泄漏模型。在第二阶段,泄漏模型被用作模板或作为机器学习算法的训练集,以便从从不受攻击者控制的设备(类似于用于分析的设备)收集的一系列痕迹中恢复一个秘密。

9.2.2使用t检验进行泄漏评估

除了基于各种SCA的成功进行SCA阻力评估之外,一种用于从DUT中查找信息泄漏的通用方法也在逐渐普及。主要的、通用的泄漏评估方法基于学生的t分布,遵循特定的和非特定的t检验[67516].目标是检测在计算DUT中的安全/加密函数时发生的任何类型的信息泄漏nth SCA秩序。SCA对秩序的攻击n当存在时出现n在算法计算过程中出现的一组中间变量,这样,知道几个关键位(实际上小于32位)可以让我们决定两个输入(分别是两个输出)是否为这些已知函数给出相同的值n变量。]Any sensitive computational intermediate operationO使用上述泄漏评估方法,在不进行任何特定SCA的情况下,可以检测出现在侧通道上与随机噪声显著不同的系列。这一显著差异足以将DUT实现标记为泄漏的和SCA不安全的。

测试向量泄漏评估(TVLA)是最有前途的、通用的、非特异性的泄漏检测技术之一,最初由密码学研究(CRI)提出[67].该方法实际上用作评估系统SCA泄漏的第一个操作。它由一个单变量检验组成,该检验是在从一个DUT获得的一系列轨迹上执行的。如果在DUT跟踪的整个过程中测试保持在某个阈值以下,与可能使用的泄漏模型无关,那么DUT实现将被评估为无泄漏。更准确地说,我们测试没有泄漏(零假设)的情况与在某个中间点有泄漏的情况lt)时间t.让ntr是求值器收集的轨迹的数量n年代每条轨迹中的样本数量。以[的符号表示597,并且假设我们有N的痕迹n年代每一个样品,让\(mathbf {L}=\{L_1,\dots, L_{n_s}\}\)是安全/加密实现的泄漏痕迹,具有平均值酒吧\ (\ {L} _i \).对于痕迹零假设为真,期望泄漏值\(\酒吧{L} _ {exp} \)应与实测值相同,如无泄漏,即:\(\酒吧{L} _ {exp} ={1} \酒吧_i给所有我\ \四\ \{1 \点n_s \} \).在实践中,为了实现tvb,我们进行了两个实验。在两个实验中,我们都收集数据N要评估的泄漏变量有一个已知的、固定的值和N该变量具有随机值的痕迹。跟踪收集以交错的方式完成,每次随机选择获取固定跟踪或随机跟踪。在收集必要的痕迹之后,我们执行Welch’s t检验,如[516]并根据阈值检查结果。

tla和所有类似的泄漏评估测试可以提供有关SCA泄漏的初始指示,但需要收集大量的痕迹,以提供准确的评估结果。在对称密钥加密算法的情况下(例如,在AES实现中),这个数字是数百万的顺序(在[516N= 100M踪迹的AES评估)。这个数字在公钥算法中减少了(以数千个跟踪的顺序),但仍然很难收集,因为每个公钥算法实现跟踪都包含非常多的样本n年代.从跟踪收集的角度来看,由于这个高度,tla是一种非常缓慢的评估方法N,这可能会让SCA评估者非常沮丧。

9.2.3SCA跟踪收集中的实际注意事项

在实践中,当使用真实的硬件或软件实现将上述SCA攻击应用于实际的原始收集的跟踪时,其成功率非常低。这是因为在跟踪中,泄漏信息与大量sca无用信号混杂在一起,我们可以在这里将其视为“噪声”。噪音,在[中有非常准确的描述。411],可以是外部的、内在的、量化的或算法的。由于DUT的物理特性(电容、导通、晶体管、非线性行为等),从外部采集到DUT源的外部噪声以及固有噪声不受攻击者和DUT SCA电阻设计者的控制,必须通过适当的跟踪预处理技术去除或减少。另一方面,量化噪声可以通过使用更好的跟踪采集设备(例如小的A/D量化)大大降低。算法噪声通常是设计者在DUT上注入的,以增加数据处理的随机性,但也注入了与安全无关的计算功能,如中断、流水线、OS系统调用等,这些经常出现在无处不在的设备中。

为了实际地制作一个成功的SCA,必须在痕迹收集期间或之后应用噪声消除技术,以获得清晰和有用的泄漏痕迹。传统的降噪技术可以通过快速傅里叶变换分析(Fast Fourier Transform analysis)或轨迹重采样(指定采样窗口,用其平均值替换)等方法,在找到主导频率后,对采集后的轨迹进行低、带或高通滤波处理[501].然而,许多研究人员采用平均技术来提高信噪比,并建立一个成功的攻击。使用平均,我们收集T使用相同的输入和秘密的泄漏轨迹,然后对它们进行平均,得出一个单独的、平均的泄漏轨迹,它所包含的噪声比每个单独的轨迹本身要小得多。该技术在嵌入式系统sca中非常流行(几乎是强制性的),以消除噪声,但它增加了所需收集的痕迹数量的因数T因为我们需要T跟踪每个SCA有用的、平均的泄漏跟踪集合。

在跟踪收集过程中要考虑的另一个实际因素是跟踪不对中,这也会影响收集到的跟踪数量。当触发安全/加密计算后,各种O在此计算的所有泄漏痕迹中,操作并不总是出现在同一时间点,即使使用了相同的输入和秘密。在基于软件的安全计算(普遍存在的设备中的常见情况)中,不对齐可能经常出现,因为这种计算与其他与安全无关的进程并行运行,或者可能会发生影响计算执行顺序的随机事件。当在计算流中引入相关SCA对策时,不对齐也可能出现在硬件实现的安全计算中。为了解决这个问题,SCA理论指出跟踪应该使用收集后跟踪处理技术进行重新排列[390].然而,在实践中,对于无处不在的设备的一些情况,跟踪是如此的不对齐,以至于它们成为SCA无用的,并且不能有效地重新排列。因此,有一个百分比的收集痕迹,由于不对齐应该被丢弃。这使得收集比需要的更多的轨迹变得非常必要,因为要记住,其中一些轨迹会因为不对齐而变得无用。在这种情况下,一个经验法则是收集比需要多20%的痕迹。在高度不对齐的轨迹中,这个百分比可以增加到50%(通常在无处不在的软件实现中)。

9.3侧通道攻击跟踪收集平台

有几个安全测试实验室和个人研究人员已经提出并制造了他们自己的专用硬件板[399532565],以进行跟踪收集。在发现sca之后的几年里,安全社区中出现了几个侧通道分析测量板和评估设置。这些板的目的是为有抱负的攻击者提供一个通用的平台来发动攻击,并帮助他们以一种简单的方式获得低噪声测量。通常,它们容纳一个通用设备(微处理器、专用集成电路或FPGA)作为DUT,与同一板(主要是某种微控制器)上的控制设备(控制组件)连接。在同一块板上还容纳了信号增强机制,以简化示波器的工作[117].渐渐地,电路板的质量得到了很大的提高,其中一些电路板进入了商业市场,取得了巨大的成功。

商业SCA董事会的种类有限,每种董事会都有其优缺点。密码工程研究小组(CERG)提出了FOBOS董事会[565566,它由两个FPGA组成,一个用于处理控制任务,另一个用于实现加密算法。FOBOS板包含一个数字时钟管理器,产生频率范围为31.25 kHz至50 MHz的受害者板。与控制FPGA的通信通过负责向受害FPGA发送适当命令和必要数据的软件控制环执行。软件回路还负责与示波器的通信(目前只支持Agilent示波器)。不幸的是,FOBOS方法依赖于旧的FPGA板,不能通过提供的控制环路进行自动多道收集,只适用于特定类型的示波器,并涉及到PC在每个跟踪收集(控制环路的一部分),这大大负担了收集速度。

防篡改标准化研究委员会(TSRC)公布两款追踪收集硬件板[399].第一种是采用8位微控制器的INSTAC-8,第二种是采用32位微控制器的INSTAC-32,采用FPGA芯片作为DUT。不幸的是,关于时钟频率和这两个板子所采用的通信方法的信息非常有限。与FOBOS类似,它们也有一些定制的软件循环,用于用户和受害者芯片之间的通信。上述方法的一个发展就是樱佐世保计划[354],它提供了关于测量板的几种选择。最初,低端的芯片板被实施,导致了Sasebo-G、Sasebo-GII和Sasebo-W解决方案,这几年来构成了最广泛使用的跟踪收集平台。后来,更复杂的版本推出了樱- g、樱- x和樱- w。Sakura-G和Sakura-X都包含两个FPGA(一个Control FPGA作为控制组件,一个加密FPGA作为DUT),这使得它们非常适合用于评估硬件实现的加密算法,而Sakura-W适合用于智能卡安全性评估。不幸的是,控制FPGA上的原始接口仍然支持这些电路板,该接口允许使用有限的密钥长度来接口特定的加密算法。此外,提供的软件循环负责数据和命令传输到加密FPGA是缓慢的,面向固定密钥长度的特定算法,并通过PC程序提供非常基本的功能,仅为每个循环回合的单个跟踪捕获。

IAMeter项目试图解决这个问题,该项目专注于为商业和自定义FPGA板平台(包括Sasebo-G和GII板)开发有效的控制回路[307].然而,即使这种尝试也只能在每个循环循环中提供单个跟踪收集,它不能调节/控制DUT时钟,而且它严重依赖于基于pc的配置(包括Python脚本和MySQL数据库查询),这将减缓整个跟踪收集的速度。

最近,为了提供一个便宜的SCA设置,ChipWhisperer项目[450]成功地为嵌入式硬件安全研究提供了多样化的工具链。采用CW1173-Lite板的ChipWhisperer适用于捕捉踪迹和攻击在其Atmel XMEGA微控制器中实现的软件密码算法,最近升级到CW1200-Pro版本,在这个过程中提供额外的易用性。ChipWhisperer还提供了CW305-Artix FPGA板,专门针对针对其ARTIX 7 FPGA中实现的硬件加密算法的攻击,以及OpenADC适配器,可以直接从硬件设备(不需要示波器)捕获跟踪。CW1173和CW305都允许修改受害者芯片的频率(例如,CW305- artix板的频率范围从5mhz开始,由于板载锁相环(Phase Locked Loop)而上升到160mhz)。在两块板子上,用户和受害者芯片之间的通信依赖于一个名为芯片whipserer- capture的软件控制回路。这是一个基于pc的循环,负责向受害者板发送适当的数据和命令。在CW305-Artix FPGA板的情况下,PC软件环路由板载AVR微处理器(部分作为控制组件)辅助。

完整的测量和评估装置由经验丰富的安全测试实验室提供,长期存在于硬件安全社区。BrightSight提供了Sideways采集中心。CRI-Rambus提供DPA工作站[495],这是一个完整的平台,能够测试和分析加密芯片和系统漏洞,以应对电力和电磁(EM)侧信道攻击。最后,Riscure推出了Inspector [501],这是一个集成的测试工具,用于侧通道分析和故障注入攻击的安全设备。上述商业设置提供SCA阻力评估/评估个人安全/加密硬件和软件实现,以及完全工作的DUT无处不在设备(例如,嵌入式系统)。

当涉及到成本时,测量板和完整的评估设置之间的差距是巨大的。跟踪收集和SCA评估设置提供了一个完整的包,其中包括度量收集、侧通道攻击和DUT安全分析,成本相当高。另一方面,测量板的成本要便宜得多,尽管如此,充分利用它们的能力并不总是得到它们的制造商在软件或硬件工具方面的支持。

设备上装提出了一种超越传统模型的快速跟踪收集方法

由于SCA评估和泄漏评估对大量跟踪的需求变得相当大(在使用SCA对策的DUT的情况下),传统的SCA跟踪收集控制环模型对于高效、实用的跟踪获取不够快。这种控制循环的主要瓶颈是存在一个PC设备,用于提供输入、收集输出和控制DUT安全/加密实现的每次执行[427].在上一小节中提出的解决方案,虽然没有设法消除控制回路中对PC的需要,但明确表明了一种趋势,即将传统PC相关的功能迁移到与DUT密切相关的其他硬件或软件实体上。在一些解决方案中,控制环操作在硬件中实现,并下载到物理连接到DUT的专用控制FPGA上。这是在Sasebo/Sakura项目和一些芯片耳语(NewAE)技术中实现的,只是举一些例子。然而,硬件不灵活,因此不容易适应不同的算法或评估技术。类似地,控制回路功能部分迁移到专用控制回路ASIC微控制器或微处理器上,这些微处理器与PC一起工作,以便在软件中实现DUT控制。这种解决方案在将DUT测试向量传输到DUT本身时缺乏速度,因为仍然需要PC的使用。

因此,显然需要一种不同的、更新的方法来实现用于SCA评估和泄漏评估的DUT控制回路。在这项工作中,考虑到前一段描述的硬件和软件控制回路的限制,我们提出了一种依赖于硬件/软件协同设计解决方案来控制跟踪采集过程的方法。将[中的工作推广和推广]427],我们提出了一个三步骤的SCA跟踪收集流程。为了使这个过程成为可能,控制回路不是在PC上执行,而是专门在直接连接到DUT的微控制器上执行。根据手边的SCA跟踪收集板,微控制器可以是基于ASIC(硬核)或基于FPGA(软核)的。利用可在微控制器上执行的软件,我们获得了软件控制回路解决方案的灵活性。使用直接(通过总线接口)连接到DUT的微处理器,我们获得了非常高的控制环速度,这是使用基于pc的控制环无法实现的。关于这种体系结构的更多信息可以在下面展示的用例示例中找到。

在建议的控制跟踪收集过程的第一步(称为设计阶段)中,评估者可以使用某些开发的应用程序接口(Application Program Interface, API),用编程或脚本语言(如C、Python、JavaScript)描述需要执行的SCA跟踪获取实验。实验包括需要提供给DUT的输入、需要执行的安全/加密操作规范、执行序列、实验执行之间的延迟(如果需要多次执行实验)和DUT输出存储。设计阶段的目标是充分指定实验的输入、参数和执行顺序。这个阶段的结果是一个可执行文件,可以传输到微控制器引导加载程序执行。

所提出的控制跟踪收集过程的第二步,即执行阶段,重点是设计实验的执行。这个阶段不包括控制回路实体(即微控制器)和DUT之间任何重要的传输延迟,因为连接它们的总线非常快,与基于pc的控制回路相比,在控制回路中这样的传输是串行完成的。在执行过程中,微控制器控制回路负责向DUT传输适当的信号,以便执行一次或多次安全/密码操作,并产生适当的触发信号供DSO进行跟踪采集。

在本文提出的控制轨迹采集过程的最后一步,即轨迹处理阶段,结束了实验的执行,并通过DSO采集了实验轨迹。在这个阶段,对收集到的痕迹进行收集后操作,比如平均和对齐,但也会进行与特定实验的特异性相关的操作。这个阶段是在DSO或PC上使用适当的数字信号处理工具箱执行的,它可能会很慢(取决于执行的收集后操作)。然而,在实验过程中,性能延迟要比在控制回路中包含PC机时小得多。

9.4一种灵活快速的DUT SCA评估平台的用例

为了展示上述建议的三步追踪收集架构和机制的适用性和有效性,我们将重点放在柔性泄漏收集(FlexLeco)项目上,该项目最近发表在[427].FlexLeco项目旨在应对最新的跟踪收集挑战,并为应用各种跟踪收集场景引入统一机制。它提供了一种架构,试图将软件控制循环的可重构性与硬件控制循环的速度相结合。利用最新的跟踪收集板,利用了两个FPGA(一个作为控制单元,另一个作为被测设备)的方案,该项目创建了两个通用硬件接口,使两个FPGA之间的快速通信,并设法在控制FPGA中包括一个嵌入式软核处理器,在跟踪收集场景执行期间负责控制环。该项目目前在Sakura/Sasebo项目(Sakura- x和Sakura- g)的板子上实例化,但它可以被修改以适应任何采用两个不同的、硬件隔离的FPGA芯片的方法的板子。

图的FlexLeco架构。9.1,由两个通用接口和一个嵌入式软核处理器组成。在加密FPGA内部,实现了一个通用的加密接口,用于控制单元与DUT的通信。这个接口包含两个可变的内存空间(称为“Hyperegisters”),用于处理DUT的输入和输出。
图9.1

总体架构

在控制FPGA内部存在一个通用的控制接口,与嵌入的微处理器(樱x板的Spartan-6控制FPGA的Xilinx Microblaze)直接连接,位于同一个FPGA中。采用这种方法,软核微处理器通过在两个FPGA之间使用自定义硬件协议的控制接口内实现硬件有限状态机,承担与加密FPGA的控制和通信任务。给DUT的数据输入可以由软核处理器提供,也可以由硬件伪随机生成器(PRNG)模块提供(以支持TVLA泄漏评估场景)。两个FPGA之间的通信使用16位地址总线、16位数据总线(用于向加密端发送数据)和16位数据总线(用于从加密FPGA端接收数据)来执行。

在控制FPGA内部使用嵌入式系统设计,为提出的三步跟踪收集方法提供支持,从而允许在微处理器上执行软件API来实现跟踪收集控制回路。这个API由可重用的代码函数组成,这些函数适合多个跟踪收集场景和dut。通过这些功能,控制FPGA保持不变(不需要重新设计或重新编程),而不考虑加密FPGA内部的DUT,因为它可以通过将某些值传递给控制接口内的软件寄存器快速重新配置。通过为这些寄存器设置代码值,控制接口的有限状态机就可以为加密FPGA内任何更新的加密组件提供服务。通过这种方式,可以将控制组件永久下载到控制FPGA的闪存中,从而消除了其他硬件控制回路在适应不同dut和场景时存在的不灵活问题。

上述软件API在控制回路初始化的同时,还提供了设置泄漏跟踪采集参数(输入/输出数、位长、随机性)、触发加解密、向fifo发送/接收明文/密文值、对输入值进行注册和随机化等功能。1通过这样做,攻击者/评估者可以使用API函数创建在软核微处理器内部执行的任何SCA或泄漏评估场景,从而省略了缓慢的、基于pc的软件控制循环。从这个意义上说,FlexLeco解决方案完全支持并倾向于本章提出的跟踪收集方法的设计阶段,并为SCA评估者提供了设计多样化和复杂的SCA评估实验所需的所有工具。

加密FPGA端的加密接口主要用于测试特定的安全/加密硬件实现。它是一种开源的HDL(硬件设计语言)设计,可以在设计期间适应DUT的加密算法规范。通过简单地为5个HDL泛型参数分配适当的值,输入、输出的数量和它们的位长度就可以根据DUT的算法调整。每当测试新的硬件实现的加密算法时,都会合成和下载通用接口。

在加密接口内部,包含了一个数字时钟管理器,它为DUT和接口提供不同的时钟频率。该接口的频率与控制FPGA内的另一个接口的频率相同,而DUT的频率可以被记录到组件的关键路径和FPGA芯片的功能规格允许的最高(或低到攻击者/评估者希望的水平)。通过提高DUT的频率,评估器现在能够使用具有低内存大小缓冲区的DSO,从而在DSO提供的时间间隔上拟合更多轨迹(只要DSO的采样频率允许)。DCM的输出频率更新是一个简单的过程,只需在加密FPGA的合成阶段改变一个参数。

FlexLeCo机制提供了这样的灵活性和可扩展性,允许评估者执行各种跟踪收集场景,如单加密、单加密快速块模式(如果示波器具有这样的功能)和多加密模式[427],用于不同的dut,并且模式更新之间的开销最小。

在任何轨迹收集场景中(图。9.1),在设计阶段,设置软核微处理器,以启动与加密FPGA的通信事务,在该通信事务中,它要么读取并发送相应的测试矢量记录的内容(即明文),要么发出一个随机值生成的信号(使用API函数或硬件PRNG),并将其发送给DUT。我们可以设计一个实验,这个过程一直持续到微处理器内存上的所有测试向量都被发送到密码设备(DUT),或者直到达到所需的随机输入的数量。设计阶段结束后,在软核微处理器上进行实际实验,并可进行后期采集操作。作为此类后收集操作的一个示例,我们展示了多重加密场景,详细信息在[427],在评估者无法使用RBM(快速块模式)数字信号示波器的情况下,FlexLeco项目中启用了该功能。在这种情况下,DSO开始捕捉连续波形。9.2)的泄漏痕迹,从第一次解/加密开始,并继续所有解/加密,直到DSO选择的时间窗口结束。通过设置适当的时间窗口,在执行阶段之后,我们捕获一个连续波形,该波形应该包含我们指示DUT执行的所有加密进程的泄漏痕迹。在跟踪处理阶段,将这个连续的多加密波形分割成单个的de/加密痕迹。图中可以看到收集后操作的结果单次加密跟踪。9.3.整个过程比我们尝试在执行阶段自动捕获每个de/加密跟踪要快得多[427].
图9.2

多重加密跟踪与1000 AES加密

图9.3

收集后提取结果为单个AES泄漏痕迹

对教派提出的三步追踪收集方法进行定性比较。设备上装正如使用FlexLeco项目实现的那样,我们展示了Table9.1在灵活性、可用性和各种收集后特性支持方面,我们的方法与最近的开源跟踪收集项目进行了比较。本文的结果来源于作者与比较项目的实际实验或与项目开发人员的个人交流。该表表明,三步走的方法足够灵活,可以与Sakura和ChipWhisperer为SCA社区提供的现有和完善的解决方案相媲美。
表9.1

泄漏迹收集架构定性特征比较

收集设置

灵活性

单一encr。

Multi-encr。

平均

易于使用

时钟控制

FlexLeco三步法

是的

是的

是的

5 - 230 MHz

樱花/佐世保(353

没有

是的

没有

没有

没有一个

没有

ChipWhisperer [451

温和的b

是的

部分c

是的

温和的b

5 - 160 MHz

FOBOS [565

没有

是的

没有

没有

最低一个

马克思50 MHz。

一个每个加密DUT的硬件接口都是唯一的

b软件控制回路实现困难,不同密码dut之间的接口繁琐耗时

c多重加密只与恒定或随机明文

9.5结论

在本书的这一章中,我们关注了SCA分析、评估和泄漏评估的一个重要方面,即高效而容易地收集所需的SCA跟踪。我们介绍了从DUT无处不在的设备中收集痕迹的传统机制,并评论了这种方法的缺点。在简单描述了主要的SCA攻击类别和泄漏评估方法(考虑到它们所需的跟踪数量)之后,还考虑到无处不在的设备中曾经存在的高水平跟踪噪声和可能的失调,我们得出结论,传统模型对于无处不在的系统SCA评估实际上没有用处。为了进一步探索最近的SCA跟踪收集和分析领域,我们描述了最著名的开源和商业工具集,包括研究和商业工具集。在以灵活和容易的方式控制要进行SCA评估的DUT方面,大多数都有缺点,因此我们有动机提出一种使用设计、执行和跟踪处理阶段的三步跟踪收集方法。为了验证该方法的适用性、有效性和易用性,我们将其应用于FlexLeco项目开源解决方案,该方案与我们的建议高度兼容。使用此用例,我们能够轻松地设计实验并收集结果,即使在应用复杂的设计场景时也是如此,比如在多重加密模式中,在DUT上提供多个输入,将多个痕迹收集为一个,并在后处理后提取实际的单个痕迹(可用于SCA评估或泄漏评估)。总之,对我们的建议的评估和对最近工具集的探索表明,需要一种不同的跟踪收集模型。在这个模型中,跟踪收集DUT控制功能迁移到DUT附近(物理连接到DUT的设备上),而不是迁移到远程控制实体(如PC)上。

脚注

  1. 1

    PRNG模块支持基于软件和硬件的随机化。

参考文献

  1. 21.
    弗雷德里克·阿米尔,伯努瓦·费克斯和卡琳·维勒加斯。公钥算法秘密恢复与逆向工程的幂分析。卡莱尔·亚当斯,阿里·米里,迈克尔·维纳,编辑们,密码学中的选定区域,第4876卷计算机科学课堂讲稿, 110 - 125页。beplay登入施普林格,2007年。谷歌学者
  2. 58.
    Lejla Batina, Łukasz Chmielewski, Louiza Papachristodoulou, Peter Schwabe和Michael Tunstall。在线模板攻击。编辑Willi Meier和Debdeep Mukhopadhyay,密码学进展- INDOCRYPT 2014,页21-36,Cham, 2014。beplay登入施普林格国际出版。谷歌学者
  3. 59.
    Aurélie Bauer和Éliane Jaulmes。rsa的受保护sfm实现的相关性分析。在Goutam Paul和Serge Vaudenay中,编辑们,密码学进展- INDOCRYPT 2013的第8250卷计算机科学课堂讲稿, 98 - 115页。beplay登入施普林格国际出版,2013。谷歌学者
  4. 60.
    Aurélie Bauer, Éliane Jaulmes, Emmanuel Prouff和Justine Wild。针对安全RSA实现的水平和垂直侧通道攻击。编辑艾德·道森说,密码学主题- CT-RSA 2013的第7779卷计算机科学课堂讲稿,第1 - 17页,旧金山,加州,美国,2013年2月25日- 3月1日。beplay登入施普林格。谷歌学者
  5. 61.
    Aurélie Bauer, Éliane Jaulmes, Emmanuel Prouff和Justine Wild。椭圆曲线上的水平碰撞相关攻击。在Tanja Lange, Kristin Lauter和Petr Lisonek的编辑中,第20届密码学选定领域国际研讨会,第8282卷计算机科学课堂讲稿, 553-570页,本纳比,BC,加拿大,2014年8月14-16日。beplay登入施普林格。谷歌学者
  6. 67.
    G C Becker、Jennifer Cooper、E. DeMulder、Gilbert Goodwill、Jules Jaffe、G. Kenworthy、T. Kouzminov、Andrew Leiserson、Mark E. Marson、Pankaj Rohatgi和Sami Saab。试验载体泄漏评估方法的实践。在国际密码模块会议,第1001卷,2013年第13页。谷歌学者
  7. 99.
    安德烈·波格丹诺夫,伊利亚·基日瓦托夫和安德烈·皮什金。侧信道碰撞攻击中的代数方法和实用的碰撞检测。在DipanwitaRoy Chowdhury, Vincent Rijmen和Abhijit Das中,编辑,密码学进展- INDOCRYPT 2008,第5365卷计算机科学课堂讲稿, 251 - 265页。beplay登入施普林格,2008年。谷歌学者
  8. 117.
    马尔科·布齐、卢卡·吉安坎、雷蒙多·卢齐、M.马里诺、朱塞佩·斯科蒂和亚历山德罗·特里弗莱蒂。增强对加密设备的功率分析攻击。IET电路,设备和系统2(3): 298 - 305年,2008年。谷歌学者
  9. 197.
    Thomas Eisenbarth, Sandeep S. Kumar, Christof Paar, Axel Poschmann和Leif Uhsadel。轻量级密码学实现的概述。IEEE计算机设计与测试24(6): 522 - 533年,2007年。CrossRef谷歌学者
  10. 210.
    Benoit Feix, Mylène Roussellet和Alexandre Venelli。盲法正则标量乘法的侧信道分析。编辑Willi Meier和Debdeep Mukhopadhyay,密码学进展- INDOCRYPT 2014:第15届印度密码学国际会议的第8885卷计算机科学课堂讲稿, 2014年12月14-17日,印度新德里,第3-20页。beplay登入施普林格。谷歌学者
  11. 219.
    A. P. Fournaris L. Papachristodoulou和N. Sklavos。安全高效的椭圆曲线密码学rns软件实现。在2017 IEEE欧洲安全与隐私研讨会(euro PW), 86-93页,2017年4月。谷歌学者
  12. 220.
    Apostolos Fournaris页。标准公钥密码系统的故障和功率分析攻击保护技术, 93 - 105页。beplay登入施普林格国际出版,Cham, 2017。谷歌学者
  13. 229.
    Benedikt Gierlichs, Lejla Batina, Pim Tuyls和Bart Preneel。互信息分析。在Elisabeth Oswald和Pankaj Rohatgi中,编辑们,密码硬件和嵌入式系统, 426 - 442页。beplay登入施普林格,2008年。谷歌学者
  14. 307.
    林登·贾奇,迈克尔·坎特雷尔,卡吉尔·肯迪尔,帕特里克·绍蒙特。用于实现攻击的模块化测试环境。在2012年ASE/IEEE生物医学计算国际会议(BioMedCom), 86-95页,2012年12月。谷歌学者
  15. 335.
    Cetin岩石Koc。加密工程.beplay登入施普林格出版有限公司,2008年第1版。谷歌学者
  16. 336.
    保罗·科赫,约书亚·贾菲,本杰明·琼,差异功率分析。在密码学进展, 388 - 397页。beplay登入斯普林格出版社,1999年版。谷歌学者
  17. 337.
    保罗·科赫,鲁比·李,加里·麦格劳,还有阿南德·洛格纳坦。安全性是嵌入式系统设计的一个新维度。在第41届设计自动化年会论文集, DAC ' 04,第753-760页,纽约,纽约,美国,2004。ACM。Moderator-Ravi Srivaths。谷歌学者
  18. 353.
    佐藤实验室和森田科技。佐世保/樱花项目。http://satoh.cs.uec.ac.jp/SAKURA/index.html
  19. 354.
    佐藤实验室和森田科技。佐世保/樱花快速启动源代码。http://satoh.cs.uec.ac.jp/SAKURA/hardware.html
  20. 367.
    Liran Lerman, roman Poussier, Gianluca Bontempi, Olivier Markowitch和François-Xavier Standaert。模板攻击vs.机器学习(以及侧通道分析中的维度诅咒)。在斯特凡·曼加德和阿克塞尔·y·波希曼两位编辑中,建设性侧通道分析与安全设计-第六届国际研讨会,2015年4月13-14日,德国柏林。修改选中的文件的第9064卷计算机科学课堂讲稿特尔,页面。beplay登入施普林格,2015年。谷歌学者
  21. 390.
    斯特凡·曼加德,伊丽莎白·奥斯瓦尔德,还有托马斯·波普。能量分析攻击:揭露智能卡的秘密(资讯保安的进展).beplay登入施普林格,2007年2月。谷歌学者
  22. 399.
    松本笃、川村新一、藤崎浩一、鸟居直哉、石田修一、津野幸康、崎实、山岸笃弘。抗篡改标准化研究委员会报告。2006密码学与资讯安全研讨会,2006。谷歌学者
  23. 411.
    Thomas S. messserges, Ezzy A. Dabbish和Robert H. Sloan。智能卡功耗分析攻击的调查。在USENIX智能卡技术研讨会论文集, WOST ' 99, 17-17页,加州伯克利,美国,1999年。USENIX协会。谷歌学者
  24. 425.
    阿米尔Moradi。统计工具有侧道碰撞攻击的特色。编辑大卫·波因奇瓦尔和托马斯·约翰逊密码学进展- EUROCRYPT 2012的第7237卷计算机科学课堂讲稿, 428 - 445页。beplay登入施普林格,2012年。谷歌学者
  25. 427.
    Athanassios Moschos, Apostolos P. Fournaris,和Odysseas Koufopavlou。用于任意加密ip核的灵活泄漏跟踪收集设置。在2018 IEEE面向硬件安全与信任国际研讨会(HOST), 138-142页,2018年4月。谷歌学者
  26. 450.
    Colin O 'Flynn。Chipwhisperer。https://wiki.newae.com/Main_Page
  27. 451.
    科林·奥弗林和陈志章。芯片语者:一个用于硬件嵌入式安全研究的开源平台, 243 - 260页。beplay登入施普林格国际出版,Cham, 2014。谷歌学者
  28. 495.
  29. 501.
    Riscure。检查器:侧通道测试工具。https://www.riscure.com/security-tools/inspector-sca/
  30. 516.
    Tobias Schneider和Amir Moradi。泄漏评估方法。在密码硬件与嵌入式系统国际研讨会, 495 - 513页。beplay登入施普林格,2015年。谷歌学者
  31. 532.
    谢尔盖·斯科洛博加托夫和克里斯托弗·伍兹。转眼间:你的AES密钥,2012。谷歌学者
  32. 540.
    弗兰克stajan。无处不在计算的安全性.约翰·威利父子公司,2002年2月。CrossRef谷歌学者
  33. 565.
    Rajesh Velegalati和Jens-Peter Kaps。FOBOS:用于侧通道分析的灵活开源板。在制品(WiP),第三届建设性侧通道分析与安全设计国际研讨会,COSADE 2012, 2012年5月。谷歌学者
  34. 566.
    Rajesh Velegalati和Jens-Peter Kaps。面向灵活的、用于侧通道分析的开源板(FOBOS)。可重构设备中嵌入的密码架构,CRYPTARCHI 2013, 2013年6月。谷歌学者
  35. 597.
    张利伟、丁亚达、弗朗索瓦·杜尔沃、弗朗索瓦·泽维尔·斯坦德尔、费云思。致力于完善和优化泄漏检测程序。密码学电子印刷档案,报告2017/287,2017。http://eprint.iacr.org/2017/287

版权信息

©作者(s) 2021

开放获取本章根据知识共享署名4.0国际许可协议(http://creativecommons.org/licenses/by/4.0/),它允许以任何媒介或格式使用、共享、改编、分发和复制,只要您适当地注明原作者和来源,提供创作共用许可的链接,并说明是否进行了更改。

本章中的图像或其他第三方材料均包括在本章的创作共用许可中,除非材料的信用额度另有说明。如果材料不包括在本章的创作共用许可中,并且您的预期使用不被法定法规允许或超过允许的使用,您将需要直接获得版权持有人的许可。

作者和联系

  1. 1.工业系统研究所/司令部雅典娜佩特雷希腊
  2. 2.佐治亚理工学院亚特兰大美国
  3. 3.佩特雷大学佩特雷希腊

个性化推荐