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

    文章

    20152

    浏览量

    247345
  • FPGA
    +关注

    关注

    1656

    文章

    22293

    浏览量

    630436
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA和GPU加速的视觉SLAM系统中特征检测器研究

    (Nvidia Jetson Orin与AMD Versal)上最佳GPU加速方案(FAST、Harris、SuperPoint)与对应FPGA加速方案的性能,得出全新结论。
    的头像 发表于 10-31 09:30 309次阅读
    <b class='flag-5'>FPGA</b>和GPU<b class='flag-5'>加速</b>的视觉SLAM系统中特征检测器研究

    RSA加速实现思路

    1 关于RSA算法 RSA为非对称加密算法(也称为公开密钥算法),是当前比较普遍使用的非对称加密算法之一,常用于密钥交换和数字签名。RSA是一种较为高级、可基于硬件和软件实现的加密算法,安全性能高
    发表于 10-28 07:28

    加密算法的应用

    加密是一种保护信息安全的重要手段,近年来随着信息技术的发展,加密技术的应用越来越广泛。本文将介绍加密算法的发展、含义、分类及应用场景。 1. 加密算法的发展
    发表于 10-24 08:03

    标准集群和虚拟集群的区别是什么?

    在日常工作中,经常有朋友会产生这样的疑问:标准集群和虚拟集群有什么区别?实际上,标准集群具有统一的行业标准,例如PDT、DMR,具有专用的控制信道,呼叫建立时间短、业务功能完善,不同厂家的终端只要
    的头像 发表于 09-19 16:52 557次阅读
    标准<b class='flag-5'>集群</b>和虚拟<b class='flag-5'>集群</b>的区别是什么?

    基于FPGA利用sm4进行实时图像加密

    求一份在fpga上利用sm4进行实时图像加密的文件
    发表于 09-15 19:05

    高效管理Kubernetes集群的实用技巧

    作为一名经验丰富的运维工程师,我深知在日常的Kubernetes集群管理中,熟练掌握kubectl命令是提升工作效率的关键。今天,我将分享15个经过实战检验的kubectl实用技巧,帮助你像艺术家一样优雅地管理K8s集群
    的头像 发表于 08-13 15:57 611次阅读

    Redis集群部署配置详解

    Redis集群是一种分布式Redis解决方案,通过数据分片和主从复制实现高可用性和横向扩展。集群将整个数据集分割成16384个哈希槽(hash slots),每个节点负责一部分槽位。
    的头像 发表于 07-17 11:04 599次阅读

    基于FPGA的压缩算法加速实现

    本设计中,计划实现对文件的压缩及解压,同时优化压缩中所涉及的信号处理和计算密集型功能,实现对其的加速处理。本设计的最终目标是证明在充分并行化的硬件体系结构 FPGA 上实现该算法时,可以大大提高该算
    的头像 发表于 07-10 11:09 2094次阅读
    基于<b class='flag-5'>FPGA</b>的压缩算法<b class='flag-5'>加速</b>实现

    FPGA开发任务

    我想请人帮我开发一款基于FPGA的产品,把我写好MATLAB代码固化在FPGA中,实现算法加速加密功能。有兴趣的联系我
    发表于 03-15 10:19

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    加速特定任务,如数据预处理、加密和解密等,从而提高整体计算效率。 3.芯片设计与生态的变革• 定制化与灵活性:FPGA的可编程性使其能够根据特定应用需求进行定制化设计,这与AI芯片的定制化趋势相契
    发表于 03-03 11:21

    当我问DeepSeek AI爆发时代的FPGA是否重要?答案是......

    在AI时代,FPGA(现场可编程门阵列)具有极其重要的地位,主要体现在以下几个方面: 1.硬件加速与高效能 • 并行处理能力:FPGA内部由大量可编程逻辑单元组成,能够实现高度并行的数据处理。这种
    发表于 02-19 13:55

    hyper-v 集群,Hyper-V 集群:搭建Hyper-V集群的步骤

    ”。今天就为大家介绍Hyper-V集群:搭建Hyper-V集群的步骤。    在当今的IT环境中,虚拟化技术已经成为提高资源利用率和实现高可用性的关键手段之一。Hyper-V作为微软提供的虚拟化解决方案,广泛应用于企业环境中,用于创建和管理虚拟机。
    的头像 发表于 02-07 09:47 2028次阅读
    hyper-v <b class='flag-5'>集群</b>,Hyper-V <b class='flag-5'>集群</b>:搭建Hyper-V<b class='flag-5'>集群</b>的步骤

    数据中心中的FPGA硬件加速

      再来看一篇FPGA的综述,我们都知道微软包括国内的云厂商其实都在数据中心的服务器中部署了FPGA,所以这篇论文就以数据中心的视角,来看下FPGA这个硬件加速器。 还是一样,想要论文
    的头像 发表于 01-14 10:29 1217次阅读
    数据中心中的<b class='flag-5'>FPGA</b>硬件<b class='flag-5'>加速</b>器

    国产智算集群黑马!曦源一号SADA算力集群综合评测表现优异

    近日,加佳科技曦源一号SADA算力集群项目一期顺利通过工信部中国软件评测中心权威评测认证。本次测试涵盖了项目一期已上线的1024张沐曦高性能GPU加速集群。评测结果显示,该集群在生态
    的头像 发表于 12-25 11:16 1189次阅读
    国产智算<b class='flag-5'>集群</b>黑马!曦源一号SADA算力<b class='flag-5'>集群</b>综合评测表现优异

    加密算法的选择对于加密安全有多重要?

    加密算法的选择对于加密安全至关重要,因为它直接影响到数据保护的有效性和可靠性。以下是几个关键点来说明加密算法选择的重要性: 加密强度: 加密
    的头像 发表于 12-17 15:59 753次阅读