0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用FPGA集群加速加密

星星科技指导员 来源:嵌入式计算设计 作者:DAVID HULTON,DAVID 2022-11-10 15:23 次阅读

作者:DAVID HULTON,DAVID PELLERIN

六十多年来,密码学(包括代码创建、分析和破解)一直是计算技术最重要的驱动力之一。事实上,现代计算机的发展在很大程度上归功于第二次世界大战期间和之后的计算机先驱艾伦·图灵和克劳德·香农等密码学研究。

在无处不在的有线和无线通信的现代时代,密码学研究再次导致计算的巨大进步。随着越来越多的个人、商业、军事和国家安全数据在网上传输和管理,恶作剧的机会越来越多,因此更强大的加密方法至关重要。对改进加密的研究需要分析和审计当今广泛使用的系统以及未来的系统。

以下讨论的重点是如何使用广泛使用的现场可编程门阵列(FPGA)集群来加速加密算法,特别是代码破解。我们首先解释了加密计算背后的挑战,然后介绍了一个案例研究,说明FPGA加速方法如何加速广泛使用的数据安全方法(包括DES、WPA、WEP和GSM)的解密,并将基于FPGA的方法与更传统的面向软件的方法进行比较。最后,我们证明了包含在单个 4U 机箱中且功耗低于 1,400 W 的商用 FPGA 集群提供的计算相当于 1,000 多个双核处理器

白帽子与黑帽子

代码破解是一项有争议的活动,对于那些追求它来访问其他禁区信息的人来说,会带来重大的法律风险。同样,对于那些成为此类入侵目标的人来说,存在财务损失或敏感数据泄露的重大风险。所有数字数据用户都有理由担心他们所依赖的系统是否容易受到未经授权的访问。出于这个原因,许多组织和政府利用密码学专家进行安全审计。这些专业黑客在其所有者的许可下,合法地试图闯入系统,测试商业和公共数据网络安全。

在审计一个可能安全的系统时,“白帽”黑客将部署与“黑帽”黑客大致相同的软件算法和硬件。此活动称为渗透测试,旨在查找和报告数据安全策略中的漏洞。是否使用了不充分或过时的加密方法?系统用户通常选择弱密码吗?是否存在操作系统或应用程序层漏洞?

这种破解的另一个合法原因是恢复丢失和忘记的密码。由于密码错误而导致数据锁定和不可用,每年会导致大量的生产力损失。机密文件和整个数据库可能变得毫无用处,甚至对其合法所有者也是如此。因此,政府、行业和学术界每天都使用基于黑帽破解方法的密码恢复软件工具,以重新获得对关键数据的访问权限。

加密计算的挑战

构成这些安全破解和密码恢复工具基础的算法需要大量的计算能力,并且可能需要很长的运行时间才能完成。事实上,虽然在一台计算机上运行的广泛可用的软件工具可以在几分钟内破解基于字典的密码,但恢复相对强大的密码可能需要多年的迭代计算。

近年来,计算机集群通过添加GPU和FPGA加速器而得到增强。这些设备凭借其并行结构,可以为许多计算机密集型算法(包括密码恢复)提供实质性的加速。

由于 GPU 起源于标准现成计算机系统的图形处理,因此大多数程序员都广为人知。然而,尽管它们可以为代码破解算法提供显著的性能提升[1],但 GPU 并未针对此应用进行很好的优化。特别是,数字加密标准 (DES) 和 SAFER(用于蓝牙)等按位加密算法不适合在 CPU 或 GPU 上实现高效实现。相对于正在执行的计算,GPU 还需要大量功率。GPU 提供高水平的加速,但功耗成本很高。相反,FPGA提供了一个可行的替代方案。

案例研究:用于高性能密码破解的 FPGA

为了 演示 FPGA 如何 满足 更快 密码 恢复 的 需求, 我们 选择 了 一组 具有 代表性 的 密码 破解 问题, 并在 FPGA 集群 上 部署 了 高度 并行 的 恢复 算法。

本演示中使用的系统包括包含 77 个 Xilinx Virtex-5 FPGA 器件的 Pico SC3 集群、包含多达 176 个 Spartan-3 FPGA 的 SC4 集群,以及包含 72 个更大容量 Spartan-6 FPGA 的 SC5 集群。在所有情况下,这些集群都安装在一个低于 1,400 W 的 4U 机箱图纸中。 使用 FPGA 硬件设计方法和工具,我们成功部署了以下加密方法的恢复算法:

文件保险箱

FileVault 基于高级加密标准 (AES),为 Apple Macintosh 操作系统提供加密文件系统。恢复文件保险箱密码需要使用 SHA-1 哈希函数对可能的密码进行数千次哈希处理。此派生方法称为基于密码的密钥派生函数 (PBKDF2),用于尝试解密 FileVault 映像。使用 72-FPGA SC5 集群,与在 2.93 GHz 的英特尔酷睿 i7 处理器上运行的原始软件实施相比,我们能够将 FileVault 密钥恢复应用程序的速度提高 498 倍。结果是运行时间从 21 小时减少到仅 2.5 分钟(参见图 2)。

图2:使用 FPGA 集群,FileVault 破解速度在 CPU 上加速了 498 倍

poYBAGNspw6AMUILAABRUuB2JYo139.jpg

Wi-Fi 保护访问 (WPA)

WPA 用于保护无线网络,并通过临时密钥完整性协议实现。WPA 和 WPA2 旨在取代上一代有线等效保密 (WEP) 协议。WPA 恢复的特点是对网络的候选密码执行 PBKDF2 SHA-1 算法,然后比较身份验证哈希以确定密码是否正确。在基于 FPGA 的集群上运行时,与英特尔酷睿 i7 处理器软件运行时相比,该算法的加速度提高了 498 倍。

韦普

WEP(或有线等效保密,如前所述)于1997年首次推出,至今仍常用于家庭和企业,以保护无线接入点免受入侵。WEP 的安全性明显低于 WPA;因此,对于需要高级别安全性的组织,包括政府和军队,WEP现在正在被WPA和其他更安全的系统所取代。破坏 WEP 涉及尝试由伪随机位流形成的每个可能的密钥,这些位流已组合(使用独占 OR 操作)与每个 WEP 数据包中存在的已知明文和校验和。统计方法可以通过减小密钥空间的大小和要测试的相应密钥数量来加速这种攻击。在破解 WEP 时,我们将暴力破解整个 40 位密钥空间所需的时间从英特尔酷睿 i7 处理器上估计的 42 天缩短到 FPGA 集群上的 4.7 分钟。这种性能来自于在 FPGA 集群中每秒生成 38 亿个密钥,如图 3 所示,性能提高了 12,933 倍。

图3:使用 FPGA 集群,WEP 破解速度在 CPU 上加速 12,933 倍

pYYBAGNspxeAY2j6AABWytCh9HA618.jpg

数字墙的脆弱性

基于FPGA的方法可用于破解许多曾经看起来很强大的数据加密方案。使用配备 176 个 FPGA 器件的单个 FPGA 集群,我们最近使用单个 FPGA 加速的 4U 服务器实现了已知的最高 56 位 DES 解密基准速度,吞吐量超过每秒 2800 亿个密钥。

本演示中的并行 DES 破解算法使用蛮力方法来分析整个 DES 56 位密钥空间,迭代解密固定大小的数据块,以查找将部分数据解密为 ASCII 数字序列的密钥。此技术通常用于恢复包含已知类型数据的加密文件的密钥,例如包含财务或军事信息的加密文档。在当前一代CPU内核上运行的DES破解软件每秒可以处理大约1600万个DES密钥操作。像 NVIDIA Tesla 这样的现代 GPU 卡可以处理超过 10 倍的数字,即每秒大约 2.5 亿次 DES 操作。

然而,当使用基于单个现成主板的 FPGA 集群时,每个 FPGA 每秒能够执行 16 亿次 DES 操作。这意味着,在 PC 上执行的密钥恢复需要数年时间,即使使用 GPU 加速,也可以在不到三天的时间内在 4U FPGA 集群上完成。随着越来越多的FPGA部署在越来越大的集群中,解密数据所需的时间以近乎线性的方式减少。

尽管DES现在被认为是过时的,因为它表现出易受攻击的脆弱性,但目前常用的其他加密方法也存在风险。以全球移动通信系统(GSM)为例,该标准承载着全球绝大多数蜂窝电话呼叫。在 2009 年 12 月于柏林举行的混沌通信大会上,密码学研究员 Karsten Nohl 宣布,他的团队(一群黑客协同工作以创建一个分布式计算集群)通过创建一个巨大的 2 TB 哈希值“彩虹表”来破解 GSM 加密[3]。简单来说,彩虹表提供了一个具有反向查找方案的破解程序,可以快速解密无线语音数据。

Nohl在演讲中表示,想要窃听GSM呼叫的个人或团体目前需要在硬件上花费约10万美元才能在一秒钟或更短的时间内破解A5 / 1加密呼叫。这项研究说明了安全审计对于揭露和纠正广泛使用的数据安全标准中的漏洞的重要性。FPGA加速器可以在这种审计中发挥重要作用。

借助 FPGA,更快地破解代码

“黑帽”和“白帽”黑客都发现了FPGA计算在密码学方面的强大功能。与计算的最初几年一样,其他应用领域(包括基因组学、物理学和金融等不同领域的研究人员)也意识到了基于 FPGA 的并行平台的优势。

代码破解和密钥恢复算法中计算量最大的部分是相对简单的操作,必须迭代执行,并且可以并行化以实现高性能。当部署在FPGA上时,由于所执行任务的简单性,这些算法可以非常高效地使用可用的FPGA资源。并非所有软件算法都能很好地融入FPGA集群,但许多复杂的计算问题都可以以相同的方式解决。

审核编辑:郭婷

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

    关注

    68

    文章

    18954

    浏览量

    227662
  • FPGA
    +关注

    关注

    1621

    文章

    21522

    浏览量

    599590
收藏 人收藏

    评论

    相关推荐

    K8S集群中使用JDOS KMS服务对敏感数据安全加密

    基本概念 KMS,Key Management Service,即密钥管理服务,在K8S集群中,以驱动和插件的形式启用对Secret,Configmap进行加密。以保护敏感数据, 驱动和插件需要
    的头像 发表于 08-09 16:00 128次阅读
    K8S<b class='flag-5'>集群</b>中使用JDOS KMS服务对敏感数据安全<b class='flag-5'>加密</b>

    在多FPGA集群上实现高级并行编程

    今天我们看的这篇论文介绍了在多FPGA集群上实现高级并行编程的研究,其主要目标是为非FPGA专家提供一个成熟且易于使用的环境,以便在多个并行运行的设备上扩展高性能计算(HPC)应用。
    的头像 发表于 07-24 14:54 812次阅读

    基于FPGA的类脑计算平台 —PYNQ 集群的无监督图像识别类脑计算系统

    模拟器,可为 SNN 算法开发者和神经学家提供理想满意的类脑仿真实验平台。 (2)本设计提供的基于 NEST 仿真器的 FPGA 集群的硬件加速服务可以为实验环境不理 想,应用计算复杂周期长的用户带来
    发表于 06-25 18:35

    基于FPGA的AES256光纤加密设计

    AES算法的硬件实现,国内外研究学者大部分是基于FPGA的硬件实现。解放军理工大学的吕游等人研究高级加密标准俄歇算法的设计原理,并通过加密部分和密钥拓展共用 S 盒以减少资源占用,然后在FPG
    发表于 06-19 19:50

    忆阻器诱导的超混沌、多涡旋和极端多稳态小数阶HNN:镜像加密FPGA实现

    电子发烧友网站提供《忆阻器诱导的超混沌、多涡旋和极端多稳态小数阶HNN:镜像加密FPGA实现.pdf》资料免费下载
    发表于 06-03 14:46 0次下载

    万卡集群解决大模型训算力需求,建设面临哪些挑战

      电子发烧友网报道(文/李弯弯)万卡集群是指由一万张及以上的加速卡(包括GPU、TPU及其他专用AI加速芯片)组成的高性能计算系统,主要用于加速人工智能模型的训练和推理过程。这种
    的头像 发表于 06-02 06:18 4276次阅读
    万卡<b class='flag-5'>集群</b>解决大模型训算力需求,建设面临哪些挑战

    PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速

    。 使用 MCUBoot 验证两个应用程序时,运行时间大约需要五秒钟。 在 README.md 的 \"安全 \"一栏中写道 与软件实现相比,硬件加速加密技术将启动时间缩短了四倍多
    发表于 05-29 08:17

    BittWare提供基于英特尔Agilex™ 7 FPGA最新加速

    BittWare 当前的加速板产品组合包括最新的英特尔 Agilex 7 FPGA F、I 和 M 系列,包括 Compute Express Link (CXL) 和 PCIe* 5.0
    的头像 发表于 04-30 15:22 692次阅读
    BittWare提供基于英特尔Agilex™ 7 <b class='flag-5'>FPGA</b>最新<b class='flag-5'>加速</b>板

    基于 FPGA 的光纤混沌加密系统

    算法具有高复杂度,可防止 SPA\\DPA 攻击。让指挥信息能足够保密,防止被敌人窃取。 1.3 主要技术特点 FPGA 设计加密算法具有安全性高,加密速度快,开发周期短,开发成本较低, 可重配
    发表于 04-26 17:18

    基于FPGA的光纤通信加密系统

    FPGA 设计加密算法具有安全性高,加密速度快,开发周期短,开发成本较低, 可重配,可靠性高以及移植性好等优点。 系统链路部分采用 Aurora 协议,该协议是一款轻量级的光纤链路协议,具有冗余少,可定制度高,链路速率快等特点。
    发表于 04-26 11:33 814次阅读
    基于<b class='flag-5'>FPGA</b>的光纤通信<b class='flag-5'>加密</b>系统

    什么是FPGA?带你初步揭开它的面纱

    网络数据处理、存储访问等任务,提高整体性能。 在云计算中,FPGA的应用场景主要有三种:专用集群场景、网络集群场景和独立节点场景。在专用集群场景中,
    发表于 02-21 16:10

    【国产FPGA+OMAPL138开发板体验】(原创)5.FPGA的AI加速源代码

    OMAP-L138(定点/浮点DSP C674x+ARM9)+ FPGA处理器的开发板。 编写一个用于AI加速FPGA程序是一个相当复杂的过程,涉及硬件描述语言(如VHDL或Verilog)以及针对特定
    发表于 02-12 16:18

    fpga布局布线算法加速

    任务是将逻辑元件与连接线路进行合理的布局和布线,以实现性能优化和电路连接的可靠性。然而,FPGA布局布线的过程通常是一项繁琐且耗时的任务,因此加速布局布线算法的研究具有重要意义。本文将详尽探讨FPGA布局布线算法
    的头像 发表于 12-20 09:55 617次阅读

    redis集群状态查看命令

    Redis集群是一种高可用性的分布式架构,可以通过多个节点实现数据的复制和负载均衡。为了维护集群的稳定性和可靠性,管理员需要监控和查看集群的状态。下面是详细介绍Redis集群状态查看命
    的头像 发表于 12-04 10:44 1064次阅读

    基于单片机和FPGA的网络数据加密实现

    电子发烧友网站提供《基于单片机和FPGA的网络数据加密实现.pdf》资料免费下载
    发表于 10-18 09:48 0次下载
    基于单片机和<b class='flag-5'>FPGA</b>的网络数据<b class='flag-5'>加密</b>实现