嵌入在FPGA中的AES静态与动态数据

描述

考虑 AES 加密数据沿以太网链路以 1G、10G 或更高的速率流式传输的位置。攻击者可以拦截并存储传递的消息,以便在尝试破解加密之前进行后续分析。他将快速生成大量数据包,并且只有源地址和目标地址可用于过滤掉感兴趣的消息。这些可能都使用相同的加密密钥,但在组织良好的加密系统中,加密密钥将经常更改,从而限制了任何安全故障的规模。

那么攻击者可以使用哪些方法来破解加密呢?说实话,攻击者通常更容易通过破坏物理或人类安全性来访问密钥或明文来访问机密数据而不会破解加密。数据仅以明文形式有用(例如,您无法观看加密视频或阅读加密文档)。同样,密钥需要以未加密的形式存储才能使用,并且保护它的物理安全性可能比加密算法更容易破坏。

或者,攻击者可能让内部人员提供密钥。假设必须破解加密算法,那么用于破解早期DES系统的方法称为蛮力。在这里,攻击者使用巨大的计算能力来尝试密钥的每个组合。随着计算能力的提高,这种技术对于资金充足的组织(如敌对政府)变得可行。然而,AES最少使用的128位密钥组合的绝对数量是惊人的(5.79E + 76)。

另一种常见的攻击方法依赖于攻击者对包含密钥的设备有足够的访问权限,以允许使用实验室设备。请记住,我已经说过,嵌入式加密核心永远不应该靠近设备的引脚。在这种类型的攻击中,称为差分功率分析(DPA),电源电流的测量是在器件的引脚上进行的,因此具有不同密钥的加密将具有略微不同的能量使用。这导致功耗模式,可以使用信号处理进行分析以推断出密钥。

在微处理器上实现的公钥算法比AES更容易受到这种攻击。这就是理论,一些学者已经从完全控制的AES实现中梳理出关键点,使用带有慢速时钟的DPA和定制电路板,旨在促进功率测量。

DPA基本上是关于从噪声中提取信号。通过使测量结果难以获得,可以使其更具挑战性。这包括物理安全性,例如在检测到篡改时将密钥清零。诸如使用表面贴装封装(引脚不可访问)的电路板布局和具有封装内去耦电容器的器件等因素将阻碍功率毛刺的测量。

使用低电源电压、较高频率以及芯片上相关电路产生额外噪声的设计将不那么容易受到攻击。此外,加密器中的设计技术可能会影响对 DPA 攻击的敏感性,并且通过频繁更改密钥,使得攻击者无法在更改密钥之前捕获足够的数据来确定密钥,从而无法做到这一点。我并不是说这是不可能的,但与使用FPGA实现AES的典型应用相比,DPA对智能卡,公钥算法和微处理器实现的威胁更大。也就是说,与没有加密相比,向系统添加加密的安全性是向前迈出的一大步。

静态数据存在不同的问题。机密数据显然可以在磁盘上被攻击者访问和更改。加密存储的两个重要标准是数据的大小不变,并且相同的明文加密并存储在多个位置应始终具有不同的密文。还希望对扇区进行随机访问,而不是坚持加密和解密完整文件。

不扩大数据的要求是,磁盘可以存储相同数量的数据,无论是否加密。如果没有数据扩展选项以包含额外的完整性检查值(ICV),则很难提供身份验证,即保证加密数据未被篡改。

磁盘上相同的数据应该总是不同的原因是它可能会揭示数据的结构(类似于上一篇博客中提到的ECB模式问题)。它为攻击打开了漏洞,其中系统被指示加密已知的所需数据(例如,指示某人在其银行帐户中有1,000,000美元的记录),然后将其复制到磁盘上的另一个位置(在这种情况下,通过攻击者自己的银行帐户记录)。避免这种情况的方案是一种称为AES-XTS(IEEE标准1619)的变体。XTS IP 核比基本的 AES 设计更复杂,它使用两个不同的密钥来加密数据。它考虑了数据的扇区地址,以确保相同的数据不会重复。

另一个考虑因素是,虽然加密可确保数据的机密性,但它不会提供有关邮件是否损坏或恶意更改的任何信息。这对于金融交易等应用程序至关重要,其中消息中更改的数字可能会将付款从$ 1,000更改为$ 9,000。AES有一个解决方案 - 它在加密数据时对数据执行“哈希”,然后在消息末尾包含完整性检查值(ICV)。这会扩展数据包长度,但会增加用户的值,因为可以检测到并拒绝被篡改的消息。

用于身份验证和加密的最流行的 IP 核称为 AES-GCM。AES-GCM的好处是整个操作可以流水线化,FPGA可以支持100G数据速率。这是用FPGA不动产换取性能的又一个例子。AES-GCM内核比基本的AES实现更复杂,但构成了更广泛的加密子系统的基础,正如我们将在第3部分中看到的那样。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分