一種基于異構(gòu)集群的在線密碼破解系統(tǒng)_第1頁(yè)
一種基于異構(gòu)集群的在線密碼破解系統(tǒng)_第2頁(yè)
一種基于異構(gòu)集群的在線密碼破解系統(tǒng)_第3頁(yè)
一種基于異構(gòu)集群的在線密碼破解系統(tǒng)_第4頁(yè)
一種基于異構(gòu)集群的在線密碼破解系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

00引

言隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來(lái)越多的設(shè)備和應(yīng)用接入互聯(lián)網(wǎng),特別是5G技術(shù)的日漸成熟,使萬(wàn)物互聯(lián)[1]時(shí)代近在咫尺?;ヂ?lián)網(wǎng)使信息傳遞更為便捷,為了解決隨之而來(lái)的信息安全風(fēng)險(xiǎn),密碼學(xué)技術(shù)也得到了空前的發(fā)展和運(yùn)用。密碼學(xué)技術(shù)與我們的生活息息相關(guān),比如設(shè)置個(gè)人電腦登錄密碼能夠保護(hù)我們的電腦數(shù)據(jù)安全;設(shè)置網(wǎng)站登錄口令能夠保護(hù)我們的網(wǎng)站數(shù)據(jù)安全;設(shè)置數(shù)據(jù)庫(kù)訪問(wèn)密碼能夠保護(hù)數(shù)據(jù)庫(kù)的數(shù)據(jù)安全等。同時(shí),在現(xiàn)實(shí)生活中許多不法分子也利用密碼學(xué)技術(shù),傳遞犯罪信息并隱藏犯罪證據(jù),從事違法犯罪勾當(dāng),給國(guó)家安全和社會(huì)穩(wěn)定帶來(lái)很大的威脅。二戰(zhàn)時(shí)期德軍的Enigma密碼機(jī)與其破解過(guò)程,已成為密碼學(xué)中密碼技術(shù)與密碼破解技術(shù)相互較量的經(jīng)典案例。密碼學(xué)技術(shù)與密碼破譯技術(shù)就像一對(duì)攣生兄弟一樣,在相互較量中伴隨成長(zhǎng)?,F(xiàn)代密碼技術(shù)建立在求解數(shù)學(xué)難題基礎(chǔ)上,密碼算法公開(kāi),經(jīng)過(guò)了充分的驗(yàn)證,已很難從算法自身的漏洞出發(fā)進(jìn)行破解。利用高性能計(jì)算對(duì)密文進(jìn)行暴力破解⑵已成為密碼破解的常規(guī)手段。暴力破解需要強(qiáng)大的計(jì)算能力。通用計(jì)算機(jī)大致經(jīng)歷了以下發(fā)展過(guò)程:(1)

從單核到多核,再到眾核從1971年第一塊微處理器4004在Intel公司誕生CPU的集成晶體管數(shù)和時(shí)鐘頻率逐年上升。隨著時(shí)鐘頻率超過(guò)3GHz,單核處理器開(kāi)始消耗過(guò)多的功率,單核處理器的發(fā)展遇到瓶頸。2005年AMD、Intel相繼推出雙核CPU,CPU的發(fā)展步入多核心時(shí)代。2018年10月,Intel發(fā)布的最新消費(fèi)級(jí)處理器——第九代酷睿i9-9900K——已有8個(gè)核心,時(shí)鐘頻率最高可達(dá)5GHzo不同于CPU作為通用處理器存在,GPU(GraphicsProcessingUnit,圖形處理器)從一誕生起就專注于解決圖形渲染問(wèn)題,而圖形處理所特有的并行化處理特性,使得GPU具備并行計(jì)算的潛質(zhì)。本世紀(jì)初,可編程特性被引入GPU,GPGPU(GPU通用計(jì)算)時(shí)代到來(lái),其中以NVIDIA公司推出的CUDA(ComputeUnifiedDeviceArchitecture,統(tǒng)一計(jì)算設(shè)備架構(gòu))為代表。由于一張GPGPU±往往集成了成百上千個(gè)計(jì)算核心,因此被稱為眾核處理器。比如NVIDIA公司最新發(fā)布的消費(fèi)級(jí)顯卡GeforceRTX2080集成了2944個(gè)CUDACores。(2)從同構(gòu)到異構(gòu)CPU和GPU各有所長(zhǎng):CPU適合做通用計(jì)算,如邏輯性強(qiáng)的算法、業(yè)務(wù)管理、任務(wù)調(diào)度、人機(jī)交互等任務(wù);GPU適合做并行計(jì)算,如圖像處理、科學(xué)計(jì)算等大并發(fā)任務(wù)。大型的復(fù)雜計(jì)算往往需要同時(shí)使用CPU和GPU,在這種情況下CPU+GPU的異構(gòu)計(jì)算機(jī)得到廣泛應(yīng)用。(3)

從單機(jī)到集群?jiǎn)螜C(jī)受限于整機(jī)設(shè)計(jì),計(jì)算能力到達(dá)一定水平后就很難提升,且后期難以升級(jí)。計(jì)算機(jī)集群區(qū)能夠通過(guò)局域網(wǎng)或互聯(lián)網(wǎng)將單機(jī)能力較差的計(jì)算節(jié)點(diǎn)組成一個(gè)系統(tǒng),具有很強(qiáng)的可擴(kuò)展性,能夠較方便地獲得較低成本的綜合算力。密碼破解系統(tǒng)需要強(qiáng)大的算力,而異構(gòu)集群系統(tǒng)能夠提供性價(jià)比高、易擴(kuò)展的算力。因此,基于異構(gòu)集群系統(tǒng)構(gòu)建密碼破解系統(tǒng)便成了很自然的選擇。當(dāng)前密碼破解系統(tǒng)多為單機(jī)版,硬件系統(tǒng)、軟件系統(tǒng)的安裝和使用都較為復(fù)雜,通過(guò)B/S架構(gòu)向用戶提供在線密碼破解服務(wù),可讓用戶省去機(jī)房建設(shè)和維護(hù)的成本以及軟件的部署和安裝成本?;谝陨弦蛩氐目紤],研究并實(shí)現(xiàn)了一種基于異構(gòu)集群的在線密碼破解系統(tǒng)。01系統(tǒng)需求分析與一般的高性能計(jì)算集群相比,在線密碼破解系統(tǒng)有其自身的特點(diǎn),例如:(1)破解算法屬于計(jì)算密集型任務(wù)。(2)每個(gè)破解算法具備多種破解模式。(3)以Web方式提供在線破解能力。為了滿足以上需求,該系茹頰以下組成部分:(1)GPGPU異構(gòu)集群。(2)并行計(jì)算編程框架。(3)集群作業(yè)管理系統(tǒng)。(4)Web管理服務(wù)。(5)

計(jì)算節(jié)點(diǎn)的任務(wù)執(zhí)行程序。線密碼破解系統(tǒng)的系統(tǒng)組成見(jiàn)圖lo圖1

在線密碼破解系統(tǒng)組成圖1.1

GPGPU異構(gòu)集群GPGPU異構(gòu)集群為滿足密碼破解系統(tǒng)的需求,應(yīng)具有以下特點(diǎn):(1)1個(gè)管理節(jié)點(diǎn)+N個(gè)計(jì)算節(jié)點(diǎn)管理節(jié)點(diǎn)負(fù)責(zé)集群狀態(tài)監(jiān)控和作業(yè)管理。計(jì)算節(jié)點(diǎn)負(fù)責(zé)執(zhí)行來(lái)自管理節(jié)點(diǎn)的任務(wù)分片。管理節(jié)點(diǎn)將任務(wù)分解為任務(wù)分片隊(duì)列,以實(shí)現(xiàn)多個(gè)計(jì)算節(jié)點(diǎn)的并行計(jì)算。(2)計(jì)算資源可擴(kuò)展、可替換通過(guò)增加計(jì)算節(jié)點(diǎn)上的GPU卡,或在集群系統(tǒng)中增加計(jì)算節(jié)點(diǎn),快速增加計(jì)算資源。當(dāng)發(fā)現(xiàn)計(jì)算節(jié)點(diǎn)異常后,也可通過(guò)快速更換計(jì)算節(jié)點(diǎn)保障破解任務(wù)的正常運(yùn)行。圖2是計(jì)算機(jī)集群系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D。圖2計(jì)算機(jī)集群系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D1.2

并行計(jì)算編程框架為使用GPGPU進(jìn)行高性能計(jì)算,應(yīng)使用相應(yīng)的并行計(jì)算編程框架囹。包括NVIDIA提出的CUDA編程框架,AMD提出的Brook++編程環(huán)境,OpenCL聯(lián)盟提出的OpenCL并行編程模型。其中CUDA和OpenCL使用更為廣泛。CUDA是NVIDIA公司推出的一種并行計(jì)算架構(gòu),它是一種高級(jí)編程語(yǔ)言,開(kāi)發(fā)者能夠很快上手,所編寫(xiě)出的程序可以在NVIDIAGPU上高速運(yùn)行。CUDA架構(gòu)只支持NVIDIA公司的產(chǎn)品,而OpenCL并行編程框架則支持多核CPU、GPU、FPGA、多核DSP系統(tǒng)等多種并行計(jì)算架構(gòu)。由于本系統(tǒng)GPU全部為NVIDIA系列,考慮到CUDA編程語(yǔ)言更容易,且在NVIDIA顯卡上運(yùn)行效率更高,本系統(tǒng)采用CUDA并行編程框架。1.3

集群作業(yè)管理系統(tǒng)為了使計(jì)算機(jī)集群的計(jì)算資源得到充分利用,需根據(jù)計(jì)算機(jī)節(jié)點(diǎn)情況和任務(wù)的資源需求情況對(duì)任務(wù)進(jìn)行合理調(diào)度。目前有十幾種不同的作業(yè)管理系統(tǒng)叫其中LSF、LOADLEVELER,PBS、CONDOR是當(dāng)今最具代表性和影響力的幾種集群作業(yè)管理系統(tǒng)。其中PBS、CONDOR是研究性質(zhì)的軟件,LSF、LOADLEVELER是商用軟件,它們的主要功能為集群系統(tǒng)監(jiān)控和作業(yè)調(diào)度等。表1是幾種作業(yè)管理系統(tǒng)的比較。

表1作業(yè)系統(tǒng)比較

其中PBS和LSF綜合比分最高。LSF被公認(rèn)為是市場(chǎng)上最成功的集群作業(yè)管理系統(tǒng),在功能和可用性上有較強(qiáng)的優(yōu)勢(shì);PBS為開(kāi)源項(xiàng)目,可根據(jù)項(xiàng)目自身特點(diǎn)對(duì)其進(jìn)行定制化開(kāi)發(fā),其成本和可定制化更有優(yōu)勢(shì)。綜合考慮,本系統(tǒng)使用PBS進(jìn)行密碼破解集群作業(yè)管理。1.4

WEB管理服務(wù)WEB管理服務(wù)是集群作業(yè)管理系統(tǒng)與用戶間的人機(jī)交互接口,主要提供集群任務(wù)管理、資源管理、日志報(bào)表、集群監(jiān)控、系統(tǒng)設(shè)置等功能。(1)任務(wù)管理任務(wù)管理提供任務(wù)管理、任務(wù)查詢功能。其中,任務(wù)管理功能包含新建任務(wù)、任務(wù)狀態(tài)管理等;任務(wù)查詢可對(duì)歷史任務(wù)進(jìn)行多條件聯(lián)合檢索。(2)資源管理資源管理是為任務(wù)提交提供基礎(chǔ)數(shù)據(jù)的功能模塊。包括彩虹表管理,字典管理,算法管理等功能。(3)日志報(bào)表日志報(bào)表功能包括報(bào)表管理,操作日志,訪問(wèn)日志等功能。(4)

集群監(jiān)控功能集群監(jiān)控功能包括硬件資源監(jiān)控、警報(bào)系統(tǒng)等功能。硬件資源監(jiān)控可查看系統(tǒng)中CPU、GPU、內(nèi)存、存儲(chǔ)以及網(wǎng)絡(luò)的使用情況;警報(bào)系統(tǒng)提供了當(dāng)系統(tǒng)資源使用過(guò)高時(shí)告警功能。(5)系統(tǒng)設(shè)置功能系統(tǒng)設(shè)置功能包括系統(tǒng)設(shè)置以及用戶設(shè)置功能。系統(tǒng)設(shè)置提供了為集群配置、在線升級(jí)等功能;用戶設(shè)置提供了用戶管理和權(quán)限管理的功能。1.5

任務(wù)執(zhí)行程序密碼破解任務(wù)最終會(huì)下發(fā)到各個(gè)計(jì)算節(jié)點(diǎn),由計(jì)算節(jié)點(diǎn)的任務(wù)執(zhí)行程序執(zhí)行。任務(wù)執(zhí)行程序包含代理程序和密碼破解程序兩個(gè)部分。以下是任務(wù)執(zhí)行程序具有的功能:(1)因?yàn)镻BS未能提供對(duì)GPU的狀態(tài)監(jiān)控能力,可通過(guò)代理程序?qū)PU狀態(tài)信息實(shí)時(shí)傳送給WEB管理服務(wù)。(2)因?yàn)镻BS可將任務(wù)分片調(diào)度到計(jì)算節(jié)點(diǎn),而不能直接調(diào)度到計(jì)算節(jié)點(diǎn)上的GPU計(jì)算單元(_般有多個(gè)GPU計(jì)算單元),可通過(guò)代理程序?qū)⑷蝿?wù)分片進(jìn)一步獅,交給多個(gè)GPU計(jì)算單元并行處理。(3)為了實(shí)現(xiàn)破解算法的可擴(kuò)展性,可將破解算法設(shè)計(jì)成單個(gè)可執(zhí)行程序的形式,交由代理程序調(diào)用。02系統(tǒng)設(shè)計(jì)2.1

搭建基礎(chǔ)設(shè)施基于第1節(jié)的需求分析,搭建了一套GPU集群,其配置如表2所示。表2集群系統(tǒng)配置計(jì)算節(jié)點(diǎn)和管理節(jié)點(diǎn)通過(guò)交換機(jī)連接,形成一個(gè)高速局域網(wǎng)。利用NFS(NetworkFileSystem,網(wǎng)絡(luò)文件系統(tǒng))將管理節(jié)點(diǎn)上的字典文件、彩虹表文件、計(jì)算節(jié)點(diǎn)可執(zhí)行程序(計(jì)算節(jié)點(diǎn)代理程序、密碼破解程序)共享給8個(gè)計(jì)算節(jié)點(diǎn)使用。2.2

PBS系統(tǒng)的使用PBS系統(tǒng)由Server(服務(wù)進(jìn)程)、Scheduler(調(diào)度進(jìn)程)和Mom(執(zhí)行進(jìn)程)組成,Server和Scheduler位于管理節(jié)點(diǎn)用于任務(wù)調(diào)度控制,Mom位于計(jì)算節(jié)點(diǎn)用于任務(wù)執(zhí)行。PBS系統(tǒng)的工作流程如下:(1)由用戶發(fā)起破解任務(wù)分片執(zhí)行事件,Server開(kāi)始一個(gè)調(diào)度周期。(2)Server向Scheduler發(fā)送一個(gè)調(diào)度命令。(3)Scheduler向Mom請(qǐng)求可用資源信息。(4)Mom返回給Scheduler一個(gè)資源信息。(5)Scheduler得到資源信息后,向Server請(qǐng)求作業(yè)信息。(6)Server收到請(qǐng)求后,將作業(yè)信息發(fā)給Scheduler,Scheduler根據(jù)作業(yè)信息和調(diào)度策略產(chǎn)生執(zhí)行作業(yè)的策略。(7)Scheduler發(fā)送執(zhí)行作業(yè)請(qǐng)求至Servero(8)Server接收請(qǐng)求后,發(fā)送作業(yè)至Mom執(zhí)行作業(yè)。(9)Mom收到執(zhí)行命令后將任務(wù)交給計(jì)算節(jié)點(diǎn)執(zhí)行程序執(zhí)行。(10)計(jì)算節(jié)點(diǎn)執(zhí)行程序?qū)⒔Y(jié)果反饋給Mom。(11)Mom將執(zhí)行結(jié)果反饋給Server,完成一個(gè)調(diào)度周期。2.3

WEB管理服務(wù)WEB管理服務(wù)提供作業(yè)調(diào)度功能,其工作流程如下:(1)用戶通過(guò)Web界面創(chuàng)建密碼破解任務(wù),提交后存入任務(wù)數(shù)據(jù)庫(kù)中。(2)對(duì)任務(wù)進(jìn)行分割,分割后的任務(wù)分片放入任務(wù)分片隊(duì)列中。(3)任務(wù)分片隊(duì)列周期性讀取任務(wù)分片并將任務(wù)分片提交給計(jì)算節(jié)點(diǎn)執(zhí)行,直到任務(wù)分片隊(duì)列執(zhí)行完成。在破解任務(wù)執(zhí)行過(guò)程中,計(jì)算節(jié)點(diǎn)將執(zhí)行進(jìn)度、破解速度、執(zhí)行結(jié)果等數(shù)據(jù)及時(shí)反饋給管理節(jié)點(diǎn),管理節(jié)點(diǎn)及時(shí)更新任務(wù)分片隊(duì)列。在計(jì)算節(jié)點(diǎn)執(zhí)行任務(wù)分片的同時(shí),管理節(jié)點(diǎn)會(huì)實(shí)時(shí)監(jiān)控任務(wù)分片的執(zhí)行情況和計(jì)算節(jié)點(diǎn)的工作狀態(tài),如發(fā)現(xiàn)異常,將修改任務(wù)分片狀態(tài),在下一次任務(wù)分片輪詢過(guò)程中重新執(zhí)行。2.4

任務(wù)執(zhí)行程序設(shè)計(jì)位于計(jì)算節(jié)點(diǎn)上的密碼破解任務(wù)執(zhí)行程序由計(jì)算節(jié)點(diǎn)代理程序和密碼破解程序組成。其中代理程序?qū)芾砉?jié)點(diǎn)的任務(wù)調(diào)度指令進(jìn)行監(jiān)聽(tīng)和解析,調(diào)用相應(yīng)密碼破解算法,在密碼破解過(guò)程中將任務(wù)信息以及GPU硬件的狀態(tài)信息及時(shí)反饋給管理節(jié)點(diǎn)。03系統(tǒng)實(shí)例3.1

任務(wù)提交用戶通過(guò)瀏覽器登錄密碼破解Web管理服務(wù)后,打開(kāi)新建任務(wù)窗口,按照提示設(shè)置密碼破解任務(wù)所需的屬性、計(jì)算資源、破解任務(wù)所需文件、破解模式、任務(wù)空間等,點(diǎn)擊提交后完成密碼破解任務(wù)的創(chuàng)建,如圖3所示。圖4

密碼破解任務(wù)提交界面3.2

任務(wù)隊(duì)列密碼破解任務(wù)創(chuàng)建成功后,將在任務(wù)列表中顯7K任務(wù)信息,包括任務(wù)當(dāng)前狀態(tài)、任務(wù)屬性、速度、進(jìn)度等,如圖4所示。圖4

密碼破解任務(wù)列表界面3.3

密碼破解任務(wù)加速比以2.1節(jié)集群為例,分別使用其中的純CPU作為計(jì)算集群和GPU作為計(jì)算集群,對(duì)幾個(gè)常用密碼破解算法的性能做出比較,見(jiàn)表3。表3密碼破解算法速度比較04

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論