作者: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 倍

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 倍

數字墻的脆弱性
基于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文章
20250瀏覽量
252223 -
FPGA
+關注
關注
1660文章
22408瀏覽量
636250
發布評論請先 登錄
FPGA硬件加速卡設計原理圖:1-基于Xilinx XCKU115的半高PCIe x8 硬件加速卡 PCIe半高 XCKU115-3-FLVF1924-E芯片
KubePi:開源Kubernetes可視化管理面板,讓集群管理如此簡單
如何正確配置AG32 MCU,實現FLASH或者代碼加密?
FPGA和GPU加速的視覺SLAM系統中特征檢測器研究
RSA加速實現思路
加密算法的應用
AES加密流程
標準集群和虛擬集群的區別是什么?
高效管理Kubernetes集群的實用技巧
Redis集群部署配置詳解
基于FPGA的壓縮算法加速實現
使用FPGA集群加速加密
評論