安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn).doc_第1頁
安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn).doc_第2頁
安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn).doc_第3頁
安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn).doc_第4頁
安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn).doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余25頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

四川師范大學(xué)本科畢業(yè)設(shè)計(jì)安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名顏國(guó)寶院系名稱計(jì)算機(jī)科學(xué)學(xué)院專業(yè)名稱計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí)2004級(jí)1班學(xué) 號(hào)2004110147指導(dǎo)教師馮朝勝四川師范大學(xué)教務(wù)處二八年五月安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名:顏國(guó)寶 指導(dǎo)教師:馮朝勝內(nèi)容摘要:隨著信息安全技術(shù)的發(fā)展,信息安全越來越受到人們的關(guān)注。FTP服務(wù)器廣泛應(yīng)用于我們的工作和生活之中,為了能更好的使用FTP服務(wù)器,也為了FTP服務(wù)器能適用于更廣的人群,F(xiàn)TP服務(wù)器有必要加入信息安全的輔助功能,同時(shí)為了能讓FTP服務(wù)器能更穩(wěn)定的運(yùn)行,F(xiàn)TP服務(wù)器需要具有對(duì)網(wǎng)絡(luò)攻擊的主動(dòng)防御能力。在此背景下,本文論述了安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)。通過在FTP服務(wù)器中添加應(yīng)用層的信息安全(如使用加密解密以保護(hù)數(shù)據(jù)的保密性,如使用散列以保護(hù)數(shù)據(jù)的完整性,如使用數(shù)字簽名以保證數(shù)據(jù)操作的抗否認(rèn)性)從而保證數(shù)據(jù)從傳輸?shù)浇邮斩际前踩模辉黾訉?duì)網(wǎng)絡(luò)攻擊的防范(如使用消息號(hào)及連接數(shù)限制來抵抗重放攻擊等洪水攻擊),以保證FTP服務(wù)器的穩(wěn)健度;使用多線程機(jī)制實(shí)現(xiàn)對(duì)客戶端信息的及時(shí)接收和快速處理,以充分利用服務(wù)器硬件資源和保證高效的運(yùn)行速度。該系統(tǒng)符合當(dāng)前時(shí)代的需要,適用于幾乎所有場(chǎng)合及人群,可以方便地提供更安全,更穩(wěn)定,更快速的文件傳輸服務(wù)。關(guān)鍵字:FTP服務(wù)器,信息安全,消息號(hào),多線程The design and the realization about Secure FTP ServerAbstract:Along with the development of information security technology, it receives peoples attention more and more. The FTP server widely used in our work and the life, in order that we can better use FTP server, and for that it can be suitable for the FTP server to a broader crowd, the FTP service has the necessity to be joined the auxiliary function of the information security. At the same time to enable the FTP server to run more stabler, it needs to own the guard ability attacktion initiatively in network. Under this background, this article elaborated the design and the realization about Secure FTP Server. Through increasing the information security in the application layer of the FTP server (for example, use encryption and decryption to keep data secrecy, such as uses Hash Algorithm to make data integrity, or use digital signature to guarantees anti-denial nature of the data manipulation) so it can guarantee the data safe from the transmission to the reception,which can increase guard to the network attacktion (for instance, use news number and connection number to limit the resists flood attacks and so on,which including in replay attack) ,to guarantee the steadiness of FTP server; The use of multithreading mechanism can realize to prompt receive of the client side information and fast processing, in order to full use server hardware resources and guarantee highly effective running rate.This system conforms to the need in current time, and can be suitable to all situations and the crowd, may provide file transfer service conveniently ,safely, stably,and more faster.Keywords:FTP server,information security,message id, multithreading目 錄1 概述11.1 研究目的和意義11.2 研究背景21.2.1 FTP與信息安全21.2.2 FTP與RFC41.2.3 FTP服務(wù)器軟件41.3 主要貢獻(xiàn)51.4 論文結(jié)構(gòu)52 系統(tǒng)分析62.1 需求分析62.2 功能說明72.2.1 服務(wù)器配置72.2.2 FTP服務(wù)82.2.3 FTP客戶端103 系統(tǒng)設(shè)計(jì)103.1 系統(tǒng)總體設(shè)計(jì)113.1.1 架構(gòu)設(shè)計(jì)113.1.2 總體設(shè)計(jì)113.2 系統(tǒng)詳細(xì)設(shè)計(jì)133.2.1 數(shù)據(jù)結(jié)構(gòu)之枚舉143.2.2 FTP子模塊類結(jié)構(gòu)143.2.3 信息安全處理模塊類結(jié)構(gòu)154 數(shù)據(jù)庫設(shè)計(jì)174.1 數(shù)據(jù)庫需求分析174.1.1 數(shù)據(jù)庫關(guān)系設(shè)計(jì)174.1.2 數(shù)據(jù)庫表概念設(shè)計(jì)184.2 數(shù)據(jù)庫表物理設(shè)計(jì)195 系統(tǒng)實(shí)現(xiàn)205.1 開發(fā)平臺(tái)205.2 模塊實(shí)現(xiàn)205.2.1 用戶登錄205.2.2 設(shè)置對(duì)稱加密算法226 測(cè)試、運(yùn)行與維護(hù)236.1 測(cè)試236.1.1 單元測(cè)試236.1.2 功能測(cè)試246.1.3 安裝/部署測(cè)試246.1.4 系統(tǒng)綜合測(cè)試246.2 系統(tǒng)運(yùn)行及維護(hù)247 結(jié)束語258 致謝26參考文獻(xiàn)2627安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)1 概述隨著信息安全技術(shù)的發(fā)展,信息安全越來越受到人們的關(guān)注。FTP服務(wù)器廣泛應(yīng)用于我們的工作和生活之中,為了能更好的使用FTP服務(wù)器,也為了FTP服務(wù)器能適用于更廣的人群,F(xiàn)TP服務(wù)器有必要加入信息安全的輔助功能,同時(shí)為了能讓FTP服務(wù)器能更穩(wěn)定的運(yùn)行,F(xiàn)TP服務(wù)器需要具有對(duì)網(wǎng)絡(luò)攻擊的主動(dòng)防御能力。在此背景下,本文論述了安全FTP服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)。通過在FTP服務(wù)器中添加應(yīng)用層的信息安全(如使用加密解密以保護(hù)數(shù)據(jù)的保密性,如使用散列以保護(hù)數(shù)據(jù)的完整性,如使用數(shù)字簽名以保證數(shù)據(jù)操作的抗否認(rèn)性)從而保證數(shù)據(jù)從傳輸?shù)浇邮斩际前踩?;增加?duì)網(wǎng)絡(luò)攻擊的防范(如使用消息號(hào)及連接數(shù)限制來抵抗重放攻擊等洪水攻擊),以保證FTP服務(wù)器的穩(wěn)健度;使用多線程機(jī)制實(shí)現(xiàn)對(duì)客戶端信息的及時(shí)接收和快速處理,以充分利用服務(wù)器硬件資源和保證高效的運(yùn)行速度。該系統(tǒng)符合當(dāng)前時(shí)代的需要,適用于幾乎所有場(chǎng)合及人群,可以方便地提供更安全,更穩(wěn)定,更快速的文件傳輸服務(wù)。FTP用于管理計(jì)算機(jī)之間的文件傳輸,在因特網(wǎng)發(fā)展的早期時(shí)代用FTP傳輸文件約占整個(gè)因特網(wǎng)通信量的三分之一,只是到了1995年,WWW的通信量才首次超過了FTP。在今天,WWW仍然占據(jù)小數(shù)據(jù)傳輸?shù)闹饕袌?chǎng)份額,但對(duì)于相對(duì)較大的數(shù)據(jù)的傳輸FTP的地位不可動(dòng)搖?,F(xiàn)有FTP幾乎都沒有任何安全保障?,F(xiàn)有FTP都是基于RFC959標(biāo)準(zhǔn),有統(tǒng)一的架構(gòu)模式和兼容的體系標(biāo)準(zhǔn),這樣可以在服務(wù)器端和客戶端選用不同的開發(fā)商開發(fā)的產(chǎn)品架構(gòu)FTP系統(tǒng)。但RFC959標(biāo)準(zhǔn)最大的弱點(diǎn)就是沒有任何安全保障。當(dāng)通信的數(shù)據(jù)在傳輸過程中,或通信內(nèi)容被人截獲,或通信內(nèi)容被人篡改,或通信內(nèi)容被人偽造等等,在如此種種的情況下,通信被人攻擊都無法被接收者識(shí)別,數(shù)據(jù)的安全性受到極大的威脅,數(shù)據(jù)的通信將變的毫無意義,甚至適得其反,這將極大的損壞通信雙方甚至多方的利益,因此集成信息安全成分是大勢(shì)所趨。1.1 研究目的和意義FTP服務(wù)器為Internet上的網(wǎng)絡(luò)用戶或企業(yè)用戶提供文件傳輸服務(wù),因此FTP服務(wù)器的穩(wěn)健運(yùn)行非常重要。服務(wù)器的性能與數(shù)據(jù)(即文件)相關(guān)。試想一個(gè)文件的上傳下載遇到破壞或遭受攻擊,最小的損失就是損耗網(wǎng)絡(luò)帶寬,文件傳輸失敗,更甚之可能導(dǎo)致重要數(shù)據(jù)丟失,機(jī)密信息泄露。這對(duì)于服務(wù)方或客戶方都是絕對(duì)不允許的。今天的信息安全技術(shù)業(yè)已成熟,但在FTP上的應(yīng)用卻微乎其微,市場(chǎng)需要安全的FTP是不爭(zhēng)的事實(shí),甚至是刻不容緩,因此應(yīng)該在當(dāng)今成熟的信息安全技術(shù)之上,架構(gòu)符合當(dāng)今時(shí)代要求的FTP服務(wù)器。由于FTP功能眾多,所以FTP一直都是相當(dāng)流行的。正因?yàn)槿绱?,F(xiàn)TP服務(wù)器的缺陷所帶來的問題和所造成的經(jīng)濟(jì)損失是不可估量的。本項(xiàng)目從FTP當(dāng)今所存在的缺陷出發(fā),通過對(duì)數(shù)據(jù)進(jìn)行加密傳輸,極大的保障了數(shù)據(jù)傳輸過程的保密性;對(duì)數(shù)據(jù)進(jìn)行散列碼應(yīng)用,防止數(shù)據(jù)在傳送過程中被修改;通過進(jìn)行身份認(rèn)證和數(shù)字簽名可以避免對(duì)文件操作行為的抵賴;通過使用消息號(hào)來防止重放攻擊總之,通過本項(xiàng)目的研究,提出了一種FTP服務(wù)器安全運(yùn)行的機(jī)制和安全工作體系,在此基礎(chǔ)上開發(fā)出安全FTP服務(wù)器軟件,該軟件將使用目前各種可靠的安全通信算法來保證通信的安全,將集成有效的反攻擊技術(shù)來保證FTP服務(wù)器的安全可靠運(yùn)行。明確上傳和下載的工作機(jī)制,著眼于FTP現(xiàn)存的缺陷開發(fā)出既能方便用戶上傳下載文件,又能保證通信安全,還能方便用戶進(jìn)行安全配置的安全FTP服務(wù)器。安全FTP服務(wù)器開發(fā)成功必將為網(wǎng)絡(luò)資源的共享提供極大的方便。現(xiàn)在市場(chǎng)上使用的FTP服務(wù)器相對(duì)來說還是比較穩(wěn)健的。其主要市場(chǎng)由Rob Beckers開發(fā)的Serv-U FTP Server占領(lǐng)。該軟件在安全方面已經(jīng)支持傳輸層SSL協(xié)議,是個(gè)人FTP服務(wù)器的首選,當(dāng)然也有很多商業(yè)用戶。但在普通傳輸層上構(gòu)建應(yīng)用層數(shù)據(jù)安全將更具有簡(jiǎn)單的應(yīng)用平臺(tái),具有更大的市場(chǎng)范圍。服務(wù)器和客戶端的數(shù)據(jù)在傳輸前后(進(jìn)入傳輸層前和離開傳輸層后)進(jìn)行信息安全處理,保證在通道上傳輸?shù)臄?shù)據(jù)滿足相應(yīng)的安全要求。這樣一方面比使用安全傳輸層具有更好的平臺(tái)適應(yīng)性和適用性,也具有更大的靈活性,能夠滿足各類用戶的實(shí)際需求。多線程機(jī)制,可以極大地提高FTP服務(wù)器運(yùn)算處理能力,提高服務(wù)器效率,縮短客戶端的請(qǐng)求時(shí)間和處理等待延遲。如此可以在相同的硬件環(huán)境下承受更多的客戶端請(qǐng)求,更快的處理客戶端請(qǐng)求,帶給客戶更好的用戶體驗(yàn)。1.2 研究背景FTP已經(jīng)有了一段發(fā)展歷程,建立了一套完善的措施,但在安全性方面沒有多大的發(fā)展,原因在于NWG沒有把安全性作為FTP的必要組成部分加以考慮。該項(xiàng)目的愿景就是在現(xiàn)有的FTP技術(shù)基礎(chǔ)上,為FTP注入信息安全的成分,包括保證通信的安全性,完整性,不可抵抗性等等,同時(shí)為了免于網(wǎng)絡(luò)攻擊,也為FTP增加了一些抵御網(wǎng)絡(luò)攻擊的措施。1.2.1 FTP與信息安全FTP已有三十多年的發(fā)展歷史,在這不長(zhǎng)的發(fā)展時(shí)期里,已經(jīng)具有了一套完整的FTP標(biāo)準(zhǔn),這套標(biāo)準(zhǔn)還在不斷發(fā)展之中。在這期間也出現(xiàn)了不少的FTP軟件產(chǎn)品,客戶端軟件居多,服務(wù)器端軟件相對(duì)來說要少一些。FTP在信息安全方面也有一定的實(shí)踐和發(fā)展,例如對(duì)SSL的支持,但至今還沒有形成任何標(biāo)準(zhǔn)。上傳下載文件是互聯(lián)網(wǎng)提供給用戶的兩個(gè)極其重要的功能,用戶通過上傳文件能夠?qū)崿F(xiàn)文件更新和共享,通過下載功能用戶能夠獲取需要的資源,而文件的上傳和下載都離不開文件傳輸服務(wù)器即FTP服務(wù)器。鑒于FTP的重要性和使用的頻繁性,針對(duì)FTP服務(wù)器的攻擊越來越多,對(duì)FTP服務(wù)器的安全運(yùn)行造成巨大威脅和破壞。FTP服務(wù)器自身具有安全缺陷,基于它進(jìn)行的數(shù)據(jù)傳送通常是采用明文形式,這就使得機(jī)要數(shù)據(jù)的傳送毫無保密可言。FTP傳輸?shù)氖敲魑?,這也意味著只要利用一個(gè)抓包或攔包工具就可以非常輕松地?cái)r截到FTP用戶的登錄名與密碼,具有嚴(yán)重的安全隱患,特別是對(duì)于非常重要的FTP站點(diǎn)來說,登錄用戶名和密碼泄露就意味著整臺(tái)主機(jī)可能會(huì)受影響。隨著Internet的發(fā)展,針對(duì)FTP的入侵事件不斷發(fā)生,現(xiàn)有的防火墻、IDS等設(shè)備都不能有效防止入侵者篡改FTP服務(wù)器上的信息。為了保證數(shù)據(jù)傳輸?shù)陌踩?,許多公司都在自己的FTP服務(wù)器上加載了相關(guān)安全協(xié)議,比如說微軟,就在IIS中提供了SSL協(xié)議。該協(xié)議要求FTP服務(wù)器用戶先申請(qǐng)一個(gè)X.509v3公鑰數(shù)字證書,申請(qǐng)成功后將證書存于服務(wù)器上或其它可信第三方。用戶在上傳或下載之前,用戶首先要獲取服務(wù)器的數(shù)字公鑰證書。得到證書后,客戶端生成會(huì)話密鑰并將會(huì)話密鑰用公鑰加密后傳送給服務(wù)器,服務(wù)器使用私鑰解密加密的會(huì)話密鑰。在此之后,客戶端和服務(wù)器就使用會(huì)話密鑰來加密要傳送的數(shù)據(jù)。盡管可以通過加載SSL協(xié)議來保證數(shù)據(jù)通信的安全,然而,用戶卻沒有辦法按照實(shí)際安全需求來進(jìn)行安全設(shè)置,同時(shí)“第三方”也限制了該機(jī)制的使用場(chǎng)合?,F(xiàn)存的FTP對(duì)上傳下載的管理存在很多問題,如沒有對(duì)相關(guān)操作進(jìn)行日志記錄,從而造成抵賴性的發(fā)生。不可抵賴性包括對(duì)自己行為的不可抵賴及對(duì)行為發(fā)生的時(shí)間的不可抵賴?,F(xiàn)存FTP根本沒有防止不法分子對(duì)FTP的重放攻擊。移動(dòng)節(jié)點(diǎn)使用經(jīng)過認(rèn)證的注冊(cè)請(qǐng)求消息在很大程度上增強(qiáng)了系統(tǒng)的安全性能,但是并不能防止重放攻擊。因?yàn)橐粋€(gè)攻擊者可以將一個(gè)有效的注冊(cè)請(qǐng)求消息保存起來,然后等待一段時(shí)間后再重新發(fā)送這個(gè)消息來注冊(cè)一個(gè)偽造的轉(zhuǎn)交地址,從而達(dá)到重放攻擊的目的。FTP服務(wù)器除可以提供多用戶同時(shí)下載的功能外,還可以讓用戶上傳文件,在上傳和下載的同時(shí),并發(fā)性沖突是FTP服務(wù)器常見的一個(gè)問題,還可以使用FTP遠(yuǎn)程執(zhí)行命令,由于FTP一般需要帳戶和密碼,而且對(duì)于不同的帳戶可提供不同的權(quán)限,由于這么多的功能,所以FTP一直還是相當(dāng)流行的。目前,國(guó)內(nèi)外關(guān)于FTP服務(wù)器集安全策略和防止不可抵賴性、防止重放攻擊的一起的FTP服務(wù)器還沒有。隨著網(wǎng)絡(luò)和信息安全的不斷深入發(fā)展,F(xiàn)TP安全方面的問題顯得非常重要。當(dāng)今社會(huì)在各個(gè)領(lǐng)域安全是必不可少的一項(xiàng)關(guān)鍵技術(shù)。信息安全的目標(biāo)是保護(hù)信息的機(jī)密性,完整性,抗否認(rèn)性,可用性。主要手段是通過加密,簽名來實(shí)現(xiàn)。機(jī)密性是指保證信息不被非授權(quán)訪問;完整性是指維護(hù)信息的一致性,保證信息不被非授權(quán)修改;抗否認(rèn)性是保障用戶無法在事后否認(rèn)曾經(jīng)對(duì)信息進(jìn)行的操作行為;可用性是指保障信息資源時(shí)刻提供服務(wù)的特性。密碼體制分為對(duì)稱密碼體制和非對(duì)稱密碼體制(即公鑰密碼體制),對(duì)稱密碼體制中主要有數(shù)據(jù)加密標(biāo)準(zhǔn)(DES),DES變形,高級(jí)加密標(biāo)準(zhǔn)(AES)等,非對(duì)稱密碼體制有RSA等,總的來說,對(duì)稱加密速度比非對(duì)稱加密要快,密碼體制可以保證數(shù)據(jù)的機(jī)密性;消息認(rèn)證主要是保證數(shù)據(jù)完整性的措施,消息認(rèn)證通過消息散列來實(shí)現(xiàn),散列是單向不可逆的操作,對(duì)于同一數(shù)據(jù)能產(chǎn)生唯一的固定的HASH值,通過原始消息和散列消息的比對(duì)可以確定數(shù)據(jù)是否被修改,從而實(shí)現(xiàn)數(shù)據(jù)的完整性,常用的散列算法有MD5,SHA等;數(shù)據(jù)簽名體制是保證消息抗否認(rèn)性的措施,數(shù)字簽名有基于私鑰和公鑰機(jī)制的兩種機(jī)制,常用的數(shù)字簽名方式有基于RSA的簽名和DSS簽名等。RFC959是1985年發(fā)布的,當(dāng)時(shí)并沒有把FTP安全性方面作為必要組成加以考慮。但在今天成熟的信息安全的技術(shù)基礎(chǔ)上,可以方便地把信息安全成分加入FTP。另一方面,網(wǎng)絡(luò)攻擊也有可能導(dǎo)致數(shù)據(jù)安全受到威脅。因此要做到真正的信息安全,也要對(duì)網(wǎng)絡(luò)攻擊進(jìn)行必要的防范和預(yù)處理。重放攻擊就是網(wǎng)絡(luò)攻擊中的一種。重放攻擊就是攻擊者發(fā)送一個(gè)目的主機(jī)已接收過的包,來達(dá)到欺騙系統(tǒng)的目的,跳過或欺騙身份認(rèn)證過程。無論是使用時(shí)間戳還是其他措施,預(yù)防重放攻擊的思路就是使用消息號(hào)。時(shí)間戳需要消息驗(yàn)證雙方保證時(shí)間同步,因此使用常規(guī)的消息號(hào)是更好的替代方案。接受方只需判斷所接受的消息的消息號(hào)是否是期望值,從而抵抗消息重放。綜上所述:FTP服務(wù)器需要信息安全保障,需要具有抵御網(wǎng)絡(luò)攻擊的能力,需要更高的會(huì)話處理能力。1.2.2 FTP與RFCRFC是Request For Comment的縮寫,是請(qǐng)求注解的簡(jiǎn)稱。所有關(guān)于Internet的正式標(biāo)準(zhǔn)都以文檔出版,但不是所有的RFC都是正式的標(biāo)準(zhǔn),很多RFC的目的只是為了提供信息。RFC每一篇都用一個(gè)數(shù)字來標(biāo)識(shí),數(shù)字越大說明RFC 的內(nèi)容越新。FTP協(xié)議的請(qǐng)求注解有RFC458,RFC542,RFC607,RFC614,RFC624等等,現(xiàn)行標(biāo)準(zhǔn)是RFC959。其描述FTP的目標(biāo)是:1)促進(jìn)程序/數(shù)據(jù)文件的共享;2)鼓勵(lì)(通過程序)使用遠(yuǎn)程計(jì)算機(jī);3)使用戶不必面對(duì)不同主機(jī)上不同文件系統(tǒng)的差異;4)對(duì)數(shù)據(jù)進(jìn)行高效可靠的傳輸。FTP盡管可以直接在終端上應(yīng)用,但它主要被設(shè)計(jì)通過程序來使用。FTP連接通道:FTP具有兩種通道控制連接通道(control connection)和數(shù)據(jù)連接通道(data connection)??刂七B接負(fù)責(zé)協(xié)商各種指定功能的命令,默認(rèn)端口是21,數(shù)據(jù)連接負(fù)責(zé)傳輸數(shù)據(jù),端口由控制連接協(xié)商指定。控制連接在會(huì)話開始時(shí)建立,會(huì)話結(jié)束時(shí)斷開,數(shù)據(jù)連接在需要時(shí)由控制連接建立??刂七B接在一個(gè)會(huì)話中只有一個(gè),數(shù)據(jù)連接在會(huì)話中可以沒有,也可以有多個(gè)。FTP連接模式:FTP連接模式是指FTP數(shù)據(jù)連接通道上數(shù)據(jù)的連接模式。FTP具有兩種數(shù)據(jù)連接模式主動(dòng)模式(PORT or ACTIVE)和被動(dòng)模式(PASV)。主動(dòng)模式有時(shí)稱“客戶端管理”,由客戶端開啟一個(gè)端口,等待服務(wù)器來建立連接。被動(dòng)模式由服務(wù)器開啟一個(gè)端口,等待客戶端向服務(wù)器建立連接。一般來講,主動(dòng)模式比被動(dòng)模式更安全。FTP數(shù)據(jù)類型:FTP的RFC設(shè)計(jì)目標(biāo)之一是通過設(shè)計(jì)簡(jiǎn)單易實(shí)現(xiàn)的協(xié)議來試圖滿足大型機(jī)、小型機(jī)、個(gè)人工作站、TAC等用戶的需要,因此FTP支持多種數(shù)據(jù)類型,如ASCII編碼,EBCDIC編碼等。遠(yuǎn)程登錄:遠(yuǎn)程登錄(Remote Login)指用戶通過Internet登錄到遠(yuǎn)程FTP服務(wù)器上。Internet上遠(yuǎn)程登錄的主要方式是Telnet,F(xiàn)TP在登錄時(shí)使用的就是Telnet協(xié)議。Anonymous(匿名文件傳輸)能夠使用戶與遠(yuǎn)程主機(jī)建立連接并以匿名身份操作遠(yuǎn)程主機(jī)上的文件。1.2.3 FTP服務(wù)器軟件現(xiàn)在市場(chǎng)上具有多種FTP服務(wù)器端或客戶端軟件產(chǎn)品,這些產(chǎn)品都兼容RFC959最小實(shí)現(xiàn),因此幾乎可以實(shí)現(xiàn)RFC959的設(shè)計(jì)目標(biāo)。一個(gè)好的通用的FTP服務(wù)器軟件應(yīng)該完全實(shí)現(xiàn)RFC959的設(shè)計(jì)目標(biāo),同時(shí)應(yīng)該根據(jù)當(dāng)今時(shí)代的需要,融入信息安全等多方面的因素。即要做到兼容已經(jīng)存在的FTP軟件產(chǎn)品,也要在今后的FTP發(fā)展中立于不敗之地。1.3 主要貢獻(xiàn)網(wǎng)絡(luò)上有一些FTP產(chǎn)品下載,但幾乎都沒有涉及到信息安全方面,因此只適合在不具有信息安全要求的場(chǎng)合使用,而基于傳輸層安全協(xié)議(如SSL)的FTP軟件需要復(fù)雜的配置。總而言之,一個(gè)集成應(yīng)用層信息安全、網(wǎng)絡(luò)安全于一體的FTP軟件是市場(chǎng)需求驅(qū)動(dòng)的必然結(jié)果。該安全FTP服務(wù)器是基于RFC959開發(fā)的一個(gè)通用FTP服務(wù)器,同時(shí)它集成了信息安全技術(shù):一方面按實(shí)際要求可以對(duì)數(shù)據(jù)進(jìn)行保密性、完整性、抗否認(rèn)性等方面的處理,另一方面為了抵抗網(wǎng)絡(luò)攻擊,使用了消息號(hào)、連接數(shù)控制、IP控制策略等技術(shù)。主要貢獻(xiàn)如下:1、集成信息安全技術(shù):使用加密解密對(duì)數(shù)據(jù)進(jìn)行保密性保護(hù),使用散列值對(duì)數(shù)據(jù)進(jìn)行完整性保護(hù),使用數(shù)字簽名對(duì)數(shù)據(jù)進(jìn)行身份認(rèn)證即抗否認(rèn)性保證。以上三個(gè)方面可進(jìn)行多方面的組合,對(duì)數(shù)據(jù)進(jìn)行綜合性保護(hù)。2、抵御網(wǎng)絡(luò)攻擊:使用消息號(hào)抵抗重放攻擊,保證在用戶名和密碼安全的前提下服務(wù)器的絕對(duì)安全。使用連接數(shù)控制,IP接入控制來達(dá)到負(fù)載平衡,使不同的用戶可以獲取平均的資源,同時(shí)該措施也可以減少網(wǎng)絡(luò)攻擊。3、集成多線程機(jī)制:多線程可以更好更有效的使用硬件資源,提高數(shù)據(jù)處理能力。FTP服務(wù)器在接受大量用戶接入時(shí),數(shù)據(jù)處理能力直接關(guān)系到其吞吐量。集成多線程即可以提高程序的處理能力,也可以提高用戶體驗(yàn)。1.4 論文結(jié)構(gòu)本文共分為八個(gè)主要部分:第一部分是概述,這部分主要說明了安全FTP服務(wù)器系統(tǒng)研究的必要性和重要性,即主要從市場(chǎng)和技術(shù)兩個(gè)角度說明為什么要開發(fā)這個(gè)系統(tǒng),開發(fā)出這個(gè)系統(tǒng)能解決什么問題以及通過研究和開發(fā)要達(dá)到的目標(biāo)等。第二部分是安全FTP服務(wù)器的系統(tǒng)分析,在分析客戶需求的前提下,通過使用數(shù)據(jù)流程圖和功能模塊圖等說明本系統(tǒng)包括的主要功能。第三部分是系統(tǒng)設(shè)計(jì),在系統(tǒng)分析的基礎(chǔ)上,結(jié)合系統(tǒng)架構(gòu)圖,工作流程圖,體系結(jié)構(gòu)圖,類架構(gòu)圖,類圖,IPO圖等,分別說明系統(tǒng)的總體設(shè)計(jì),系統(tǒng)詳細(xì)設(shè)計(jì)。第四部分是系統(tǒng)數(shù)據(jù)庫設(shè)計(jì),根據(jù)系統(tǒng)分析,采用了數(shù)據(jù)庫關(guān)系圖和E-R圖幫助分析和設(shè)計(jì)本系統(tǒng)所使用的概念數(shù)據(jù)庫和物理數(shù)據(jù)庫。第五部分是系統(tǒng)實(shí)現(xiàn),主要通過程序流程圖對(duì)本系統(tǒng)的幾個(gè)主要的功能模塊的實(shí)現(xiàn)進(jìn)行詳細(xì)的說明。第六部分是系統(tǒng)測(cè)試、運(yùn)行與維護(hù),主要說明該系統(tǒng)的開發(fā)在這些方面所做的工作。第七部分是總結(jié)篇,對(duì)該系統(tǒng)進(jìn)行了綜述性的評(píng)述,并提出了系統(tǒng)可能存在的不足及解決方案。最后是該系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)中所參考的各種有價(jià)值的資料列表。2 系統(tǒng)分析安全FTP服務(wù)器歸根到底是一個(gè)FTP服務(wù)器軟件,因此它首先具有FTP服務(wù)器所具有的基本功能,其次具有保護(hù)信息安全的各種策略,同時(shí)具有預(yù)防網(wǎng)絡(luò)攻擊的能力等。2.1 需求分析FTP服務(wù)器的基本功能是在RFC959中規(guī)定的,這也是和其他FTP軟件兼容的前提。FTP的基本功能概括的講,包括用戶遠(yuǎn)程登錄,文件上傳下載等系列操作。每一個(gè)操作都是一組相關(guān)命令的集合,一個(gè)命令包括一個(gè)完整的請(qǐng)求回復(fù)流程。安全FTP服務(wù)器的設(shè)計(jì)在原有FTP模型上增加了消息號(hào)相關(guān)模塊和信息安全相關(guān)模塊。FTP的信息安全擴(kuò)展功能主要包括加密解密,消息散列,消息簽名。服務(wù)器端客戶端應(yīng)用層消息號(hào)附加模塊信息安全處理模塊客戶請(qǐng)求處理模塊信息安全解析模塊消息號(hào)驗(yàn)證模塊應(yīng)用層消息號(hào)獲取模塊信息安全解析模塊客戶請(qǐng)求構(gòu)建模塊信息安全處理模塊消息號(hào)附加模塊傳 輸 層回復(fù)客戶請(qǐng)求圖2-1數(shù)據(jù)流程圖客戶請(qǐng)求數(shù)據(jù)流程從客戶請(qǐng)求構(gòu)建模塊開始,以遠(yuǎn)程登錄為起點(diǎn),周而復(fù)始,到注銷為止。2.2 功能說明安全FTP服務(wù)器是網(wǎng)絡(luò)應(yīng)用系統(tǒng),系統(tǒng)通過服務(wù)器端與客戶端之間傳遞命令消息,服務(wù)器端從命令消息中獲取操作類型和參數(shù)。在對(duì)相應(yīng)的命令作處理后,把處理結(jié)果封裝成回復(fù)消息并返回給客戶端。以下為該系統(tǒng)中主要的功能模塊。配置用戶策略配置數(shù)據(jù)庫及初始化配置IP接入策略配置FTP服務(wù)信息配置FTP站點(diǎn)標(biāo)識(shí)配置IP資源訪問策略安全FTP服務(wù)器服務(wù)器配置FTP服務(wù)FTP客戶端文件上傳連接服務(wù)器文件下載配置安全算法遠(yuǎn)程登錄連接數(shù)控制遠(yuǎn)程登錄IP接入控制其他命令接入控制IP重接入控制匿名用戶系統(tǒng)用戶FTP用戶配置加密算法配置散列算法配置簽名算法配置安全級(jí)別端口協(xié)商上傳文件下載文件刪除文件服務(wù)器系統(tǒng)退出命令信息安全配置圖2-2功能模塊圖2.2.1 服務(wù)器配置服務(wù)器配置是在服務(wù)器端對(duì)FTP服務(wù)進(jìn)行配置的相關(guān)工作的總稱。配置數(shù)據(jù)庫及初始化數(shù)據(jù)庫采用工廠模式架構(gòu),用戶可以根據(jù)自己的喜好等選擇自己的數(shù)據(jù)庫類型,并配置相關(guān)的數(shù)據(jù)庫訪問連接字符串。同時(shí)初始化數(shù)據(jù)庫,建立數(shù)據(jù)庫及表,建立系統(tǒng)運(yùn)行所需的基礎(chǔ)數(shù)據(jù)。數(shù)據(jù)庫通過配置文件實(shí)現(xiàn)數(shù)據(jù)庫工廠模式架構(gòu)。數(shù)據(jù)庫及表的建立在應(yīng)用程序中完成。該配置寫入配置文件(以下未做注明都視為寫入配置文件),該配置立即生效(以下未做注明都視為立即生效)。配置FTP站點(diǎn)標(biāo)識(shí)配置FTP站點(diǎn)標(biāo)識(shí)包括配置服務(wù)器FTP服務(wù)的服務(wù)描述,IP地址,根目錄等信息。IP地址和根目錄是必須的配置。IP地址為空或“ANY”時(shí)為關(guān)聯(lián)本機(jī)上所有IP地址。該配置寫入數(shù)據(jù)庫,該配置在服務(wù)下一次啟動(dòng)時(shí)生效。配置FTP服務(wù)信息配置FTP服務(wù)信息包括FTP日志啟用配置,F(xiàn)TP資源訪問控制配置(拒絕訪問、允許訪問、使用IP限制訪問、使用用戶策略限制訪問),F(xiàn)TP安全傳輸管理(是否使用加密措施、是否使用消息號(hào)),F(xiàn)TP匿名允許訪問配置,F(xiàn)TP連接控制配置(限制連接數(shù)、限制連接超時(shí)、使用IP接入控制)等。該相關(guān)配置在服務(wù)下一次啟動(dòng)時(shí)生效。配置用戶策略用戶策略就是用戶管理,包括用戶的添加、修改、刪除等功能。通過把用戶分屬到不同的用戶組,使用戶具有不同的操作權(quán)限,從而控制用戶的操作能力,保證資源的可控制訪問。該配置寫入數(shù)據(jù)庫。配置IP接入策略該系統(tǒng)在客戶端請(qǐng)求建立連接時(shí),會(huì)對(duì)客戶端IP地址進(jìn)行檢測(cè),如果該地址被服務(wù)器端阻止,則不予建立FTP會(huì)話。配置接入IP策略就是為了阻止建立FTP會(huì)話的客戶端IP地址。在配置時(shí),可以阻止一個(gè)IP,也可以阻止一個(gè)IP地址段。該配置寫入數(shù)據(jù)庫。配置IP資源訪問策略該系統(tǒng)在客戶端訪問資源時(shí),對(duì)客戶IP進(jìn)行了檢測(cè),對(duì)于阻止訪問資源的IP地址不予資源的訪問能力。配置資源訪問IP策略就是為了滿足該方面的需求。在配置時(shí),可以阻止一個(gè)IP,也可以阻止一個(gè)IP地址段。該配置寫入數(shù)據(jù)庫。2.2.2 FTP服務(wù)FTP服務(wù)是FTP服務(wù)器為客戶端提供資源服務(wù)的功能的集合。 接入控制接入控制是在客戶端建立TCP連接后對(duì)客戶端進(jìn)行的一系列檢測(cè),確定是否為該客戶連接建立FTP會(huì)話。連接數(shù)控制為了阻止一些網(wǎng)絡(luò)攻擊,該系統(tǒng)允許用戶配置是否使用連接數(shù)控制。在使用連接數(shù)控制時(shí),客戶端連接超過連接數(shù)上限時(shí),將暫時(shí)不再建立會(huì)話。此后的客戶端將競(jìng)爭(zhēng)建立FTP會(huì)話。這樣可以從一定程度上保證負(fù)載均衡。IP接入控制IP接入控制是在客戶建立TCP連接后,對(duì)客戶端的IP進(jìn)行檢測(cè),如果該IP已經(jīng)被阻止,則關(guān)閉TCP連接,不建立FTP會(huì)話。該功能是為了阻止已確認(rèn)的惡意IP地址,或?yàn)榱藢?shí)現(xiàn)區(qū)域阻止等。IP重接入控制該功能是指一個(gè)IP只能建立一個(gè)FTP會(huì)話,這樣做是基于負(fù)載平衡考慮的。當(dāng)一個(gè)IP上的客戶試圖建立新的會(huì)話時(shí),F(xiàn)TP服務(wù)器將主動(dòng)斷開TCP連接,不予建立FTP會(huì)話。 遠(yuǎn)程登錄遠(yuǎn)程登錄是客戶端用戶通過Internet對(duì)服務(wù)器資源訪問之前的用戶驗(yàn)證。該功能通過命令消息傳遞客戶端用戶的用戶名和密碼,服務(wù)器接收后提取參數(shù)并在服務(wù)器端進(jìn)行登錄驗(yàn)證。匿名用戶匿名用戶是指以“ANONYMOUS”為用戶名登錄FTP服務(wù)器的用戶。該類用戶能夠訪問FTP服務(wù)器上的公有資源。該類用戶無需密碼驗(yàn)證,只需向服務(wù)器聲明用戶名即可訪問服務(wù)器資源。系統(tǒng)用戶系統(tǒng)用戶是指FTP服務(wù)器所在主機(jī)的操作系統(tǒng)的用戶。這類用戶的驗(yàn)證是由操作系統(tǒng)完成的。該類用戶具有最高級(jí)別的資源訪問權(quán)限,屬于超級(jí)用戶組成員。FTP用戶FTP用戶是指由FTP管理員管理的所有用戶,這類用戶的信息存儲(chǔ)在數(shù)據(jù)庫中。由管理員將其分配到不同的權(quán)限組,賦予不同的操作權(quán)限。 信息安全配置該功能模塊是在RFC959標(biāo)準(zhǔn)上擴(kuò)展的信息安全模塊。主要用于客戶端配置具有自我選擇的安全算法及算法屬性。配置信息保存在數(shù)據(jù)庫中。配置加密算法加密算法是為了保證數(shù)據(jù)的保密性而使用的。配置加密算法包括配置對(duì)稱加密算法(配置命令為CONS)和配置非對(duì)稱加密算法(配置命令為CONA)。在系統(tǒng)中可使用的對(duì)稱加密算法包括DES,RC2,Triple-DES/3DES,AES/Rijndael等,非對(duì)稱算法包括RSA等。配置散列算法散列算法是為了保證數(shù)據(jù)的完整性。發(fā)送方將消息散列值附加到消息之后,接收方對(duì)接收的消息進(jìn)行散列驗(yàn)證以確定消息是否為原始未修改的消息。可配置的散列算法包括MD5,SHA128,SHA256,SHA384,SHA512等。配置簽名算法配置簽名算法是為了使用數(shù)字簽名機(jī)制,可配置的簽名算法有DSA算法和基于RSA的公鑰簽名。配置安全級(jí)別安全級(jí)別包括明文傳輸(SN),加密解密級(jí)(SE),完整性級(jí)(SH),簽名級(jí)(SD),及相關(guān)的組合級(jí)別:SHE、SED、SHD、SEHD等。 其他命令該類命令主要是RFC959標(biāo)準(zhǔn)命令集中的命令。RFC959標(biāo)準(zhǔn)命令集包括USER、PASS、ACCT、CWD、CDUP、SMNT、REIN、QUIT、PORT、PASV、TYPE、STRU、MODE、RETR、STOR、STOU、APPE、ALLO、REST、RNFR、RNTO、ABOR、DELE、RMD、MKD、PWD、LIST、NLST、SITE、SYST、STAT、HELP、NOOP等三十三個(gè)命令。端口協(xié)商端口協(xié)商是指在服務(wù)器與客戶端傳輸數(shù)據(jù)之前,雙方為建立數(shù)據(jù)連接所做的準(zhǔn)備工作。在主動(dòng)模式下,客戶端通過PORT命令和服務(wù)器完成端口的協(xié)商,客戶端把自己的偵聽端口告知服務(wù)器。在傳輸數(shù)據(jù)時(shí),服務(wù)器主動(dòng)連接客戶端的偵聽端口,建立數(shù)據(jù)連接,然后傳輸數(shù)據(jù)。上傳文件上傳文件是指客戶端把文件保存到服務(wù)器上。上傳文件先通過控制連接協(xié)商數(shù)據(jù)連接端口,在完成該工作后,客戶端通過使用STOR等命令將本地文件上傳到服務(wù)器。下載文件下載文件是指客戶端從服務(wù)器獲取文件資源。其他除上面涉及到的5個(gè)擴(kuò)展命令及5個(gè)標(biāo)準(zhǔn)命令,還有二十多個(gè)標(biāo)準(zhǔn)命令,同時(shí)在實(shí)際使用中,還有一些常用的擴(kuò)展命令,如SIZE命令用于獲取文件的大小。2.2.3 FTP客戶端FTP客戶端用于從服務(wù)器獲取文件服務(wù),簡(jiǎn)單來講包括文件存儲(chǔ)服務(wù)和獲取文件資源兩大類服務(wù)。FTP客戶端是FTP服務(wù)器對(duì)應(yīng)的一部分??蛻舳酥饕獦?gòu)建服務(wù)器所支持的各命令,將合法的命令發(fā)送到服務(wù)器,然后獲取服務(wù)器提供的命令相關(guān)的服務(wù)。3 系統(tǒng)設(shè)計(jì)安全FTP服務(wù)器系統(tǒng)采用客戶端/服務(wù)器模式進(jìn)行頂層架構(gòu),在服務(wù)器端用Windows服務(wù)提供持續(xù)的服務(wù),客戶端采用窗體應(yīng)用程序與服務(wù)器進(jìn)行交互。3.1 系統(tǒng)總體設(shè)計(jì)FTP服務(wù)器端由一個(gè)FTP服務(wù)器配置的窗體應(yīng)用程序和一個(gè)提供服務(wù)的Windows服務(wù)組成。前者負(fù)責(zé)配置FTP服務(wù)所需要的各種參數(shù),后者負(fù)責(zé)為客戶提供永久的服務(wù)。服務(wù)器配置實(shí)時(shí)寫入配置文件或數(shù)據(jù)庫,服務(wù)在啟動(dòng)時(shí)讀取配置文件并以新的服務(wù)器參數(shù)運(yùn)行FTP服務(wù)。3.1.1 架構(gòu)設(shè)計(jì)圖3-1系統(tǒng)架構(gòu)圖服務(wù)端由于服務(wù)器的特殊性需要長(zhǎng)期的不間斷的運(yùn)行,所以用Windows服務(wù)來承載FTP。但為了達(dá)到FTP服務(wù)器具有通用性的目的,需要把FTP的一些功能參數(shù)化,通過參數(shù)的值決定功能的開啟與關(guān)閉等。同時(shí)由于Windows服務(wù)環(huán)境下運(yùn)行的FTP服務(wù)需要相關(guān)的配置或其他操作及管理等,因此FTP服務(wù)器還需要能夠提供用戶交互的窗體應(yīng)用程序?qū)TP服務(wù)器進(jìn)行管理。安全FTP服務(wù)器采用C/S進(jìn)行頂層架構(gòu),服務(wù)器端由FTP服務(wù)器,配置終端和數(shù)據(jù)庫管理系統(tǒng)組成(如有必要可添加防火墻等以增加安全性)。服務(wù)器和客戶端通過Internet進(jìn)行溝通交流。安全FTP服務(wù)器由用于配置和管理FTP服務(wù)器的一個(gè)窗體應(yīng)用程序和一個(gè)對(duì)外提供FTP服務(wù)的Windows服務(wù)組成。窗體應(yīng)用程序?qū)TP服務(wù)器進(jìn)行服務(wù)器端的相應(yīng)配置,并保存到配置文件和數(shù)據(jù)庫中。Windows Service接收遠(yuǎn)程主機(jī)的連接,為遠(yuǎn)程主機(jī)上的用戶提供文件傳輸?shù)确?wù)。3.1.2 總體設(shè)計(jì)安全FTP服務(wù)器的數(shù)據(jù)處理是圍繞命令來進(jìn)行的,一條命令就是一個(gè)完整的處理流程。不同的命令決定了不同的功能(即請(qǐng)求的服務(wù))。 系統(tǒng)工作流程該系統(tǒng)服務(wù)器端和客戶端的工作流程組成一個(gè)完整的工作流程環(huán)路。如下圖所示:消息接受圖3-2服務(wù)端工作流程客戶消息號(hào)驗(yàn)證安全解析命令處理回復(fù)消息號(hào)附加安全處理回復(fù)構(gòu)建提供服務(wù)服務(wù)器端接收客戶端的請(qǐng)求,并對(duì)客戶段的請(qǐng)求進(jìn)行處理,每一條命令都將進(jìn)行一個(gè)完整的服務(wù)器端工作流程。請(qǐng)求構(gòu)建圖3-3客戶端工作流程服務(wù)端安全處理消息號(hào)附加發(fā)送請(qǐng)求本地化處理安全解析消息號(hào)獲取接受回復(fù)獲取服務(wù)客戶端工作流程分為兩部分。在建立連接時(shí)獲取一個(gè)消息號(hào)或者使用上一次命令請(qǐng)求返回的消息號(hào),每次請(qǐng)求首先構(gòu)建一個(gè)請(qǐng)求消息發(fā)送給服務(wù)器,然后等待服務(wù)器處理完后接收服務(wù)器的處理結(jié)果并獲取服務(wù)進(jìn)行所需的相關(guān)本地處理。 系統(tǒng)體系結(jié)構(gòu)安全FTP服務(wù)器的功能模塊已在需求分析中給出?,F(xiàn)將各功能進(jìn)行細(xì)化,進(jìn)行進(jìn)一步的模塊劃分,得出系統(tǒng)的體系結(jié)構(gòu)圖。安全FTP服務(wù)器體系由外部數(shù)據(jù)和內(nèi)部數(shù)據(jù)組成。系統(tǒng)外部數(shù)據(jù)主要由外部文件和數(shù)據(jù)庫組成。系統(tǒng)內(nèi)部數(shù)據(jù)由FTP服務(wù)器,客戶端程序組成。外部數(shù)據(jù)包括以下三大類:1、應(yīng)用程序配置文件:該類文件保存可執(zhí)行文件的必要配置信息。如數(shù)據(jù)庫類型,數(shù)據(jù)庫連接字符串等。2、服務(wù)配置信息:該類配置文件保存FTP服務(wù)的相關(guān)配置信息,如使用日志,允許匿名登錄等。3、FTP系統(tǒng)運(yùn)行日志:該類文件用于記錄系統(tǒng)的客戶端與服務(wù)器交互日志,數(shù)據(jù)庫訪問異常日志,系統(tǒng)運(yùn)行異常日志等。數(shù)據(jù)庫文件包括常用信息等各種表,諸如服務(wù)信息,用戶信息,服務(wù)配置日志,客戶端訪問日志等。內(nèi)部數(shù)據(jù)包括FTP配置程序,F(xiàn)TP服務(wù)程序,F(xiàn)TP客戶端等。系統(tǒng)的體系結(jié)構(gòu)如下圖所示:FTP客戶端外部文件外 部 數(shù) 據(jù)數(shù)據(jù)庫FTP 服 務(wù) 器FTP配置程序FTP服務(wù)程序程序配置服務(wù)配置程序配置服務(wù)配置運(yùn)行日志運(yùn)行日志配置數(shù)據(jù)庫類型連接服務(wù)器消息號(hào)獲取安全級(jí)別配置安全算法配置消息號(hào)附加遠(yuǎn)程登錄退出FTP會(huì)話文件上傳功能組文件下載功能組初始化數(shù)據(jù)庫配置服務(wù)標(biāo)識(shí)服務(wù)安裝卸載管理服務(wù)起停管理配置服務(wù)信息配置用戶策略配置IP接入策略配置IP訪問策略(見圖 3-5)圖3-4安全FTP服務(wù)器系統(tǒng)體系結(jié)構(gòu)圖內(nèi) 部 數(shù) 據(jù)安 全 FTP 服 務(wù) 器FTP 服 務(wù) 器IP重接入控制FTP用戶登錄配置散列算法端口協(xié)商空操作連接用戶列表控制IP阻止接入控制系統(tǒng)用戶登錄配置非對(duì)稱加密算法配置安全級(jí)別下載文件退出系統(tǒng)連接數(shù)控制匿名用戶登錄配置對(duì)稱加密算法(CONFS)配置簽名算法上傳文件服務(wù)器系統(tǒng)圖3-5 FTP服務(wù)器(FTP服務(wù))體系結(jié)構(gòu)圖3.2 系統(tǒng)詳細(xì)設(shè)計(jì)安全FTP服務(wù)器是一個(gè)基于COMMAND的網(wǎng)絡(luò)應(yīng)用系統(tǒng),幾乎每一條命令就是一個(gè)完整的流程,多個(gè)流程組成一個(gè)完整的服務(wù)。為了便于系統(tǒng)的維護(hù),對(duì)系統(tǒng)中的各種常量進(jìn)行了枚舉封裝,如數(shù)據(jù)類型,對(duì)這些相關(guān)的枚舉進(jìn)行進(jìn)一步封裝,把相關(guān)的操作進(jìn)行模塊化處理。在項(xiàng)目中大量的參數(shù)或信息都進(jìn)行了類封裝,如會(huì)話中的客戶端信息和服務(wù)器端信息,這也充分體現(xiàn)了面向?qū)ο箝_發(fā)的特性。3.2.1 數(shù)據(jù)結(jié)構(gòu)之枚舉圖3-6 枚舉結(jié)構(gòu)為了便于系統(tǒng)開發(fā)中代碼的可讀性,為了提高系統(tǒng)代碼的可維護(hù)性,將常用的可窮舉的數(shù)據(jù)類型封裝成枚舉。以上為該項(xiàng)目中所需的枚舉。使用枚舉可以從枚舉值的名字知道其含義,同時(shí)如果需要改變一個(gè)枚舉值關(guān)聯(lián)的封裝數(shù)據(jù),可以很方便的修改枚舉而不用從源代碼中一處處的修改,提高了開發(fā)效率。1、DTPMode:該枚舉是FTP中數(shù)據(jù)連接建立方式的枚舉,即FTP工作模式的封裝枚舉:ACTIVE主動(dòng)模式、PASSIVE被動(dòng)模式、ALL同時(shí)支持主動(dòng)模式和被動(dòng)模式。2、FTPDataStracture:FTP傳輸中文件結(jié)構(gòu),包括File、Record、Page。3、FTPDataType:數(shù)據(jù)編碼格式。包括ACDII、ENCDIC、IMAGE、LOCAL。4、SecurityLevel:該枚舉用于標(biāo)識(shí)用戶所自定義的安全級(jí)別需求。NONE無信息安全處理的明文傳輸、SE需要保密性處理、SH需要保證完整性處理、SD需要支持抗否認(rèn)性處理、SEH需要保密性和完整性處理、SED需要保密性和抗否認(rèn)性處理、SHD需要完整性和抗否認(rèn)性處理、SEHD需要保密性完整性及抗否認(rèn)性處理。5、Purview:權(quán)限枚舉。NONE、SUPPER、READ、READWRITE、READWRITEDELETE。6、FTPTransmissionMode:FTP傳輸模式枚舉。STREAM、BLOCK、COMPRESSED。3.2.2 FTP子模塊類結(jié)構(gòu)圖3-7 FTP子模塊類結(jié)構(gòu)FTP子模塊是安全FTP服務(wù)器中的主模塊、核心模塊。在該模塊中,實(shí)現(xiàn)了基于RFC959的FTP框架,并擴(kuò)展了該框架增加了信息安全處理,消息號(hào)等等附加功能。1、FTPServer:該類由多個(gè)部分類(partial class)組成,是FTP服務(wù)器的核心類,所有功能的最終體現(xiàn)都在這個(gè)類里。該類為每一個(gè)FTP服務(wù)開啟一個(gè)監(jiān)聽線程、為每一個(gè)成功建立會(huì)話的客戶端建立一個(gè)文件傳輸服務(wù)線程、為每一個(gè)COMMAND建立一個(gè)或多個(gè)命令處理線程。2、FTPUtility:FTP功能實(shí)現(xiàn)的輔助工具類,實(shí)現(xiàn)各種常用的輔助方法。3、FTPDTPMode:對(duì)枚舉DTPMode的進(jìn)一步封裝。4、FTPSessionS:會(huì)話中FTP服務(wù)器端的會(huì)話信息。與服務(wù)關(guān)聯(lián)。5、FTPSessiobC:會(huì)話中FTP客戶端的會(huì)話信息。與服務(wù)和用戶關(guān)聯(lián)。6、FTPDataType:對(duì)枚舉FTPDataType的進(jìn)一步封裝。7、FTPDataStructure:對(duì)枚舉FTPDataStructure業(yè)務(wù)邏輯層的進(jìn)一步封裝。8、FTPTransmissonMode:對(duì)枚舉FTPTransmissonMode的進(jìn)一步封裝。3.2.3 信息安全處理模塊類結(jié)構(gòu) 圖3-8 信息安全處理模塊類結(jié)構(gòu) 圖3-9 FTP主模塊類結(jié)構(gòu)信息安全處理模塊使用了一個(gè)類作為載體。加密解密,散列及其驗(yàn)證,簽名及簽名驗(yàn)證的基本實(shí)現(xiàn)(業(yè)務(wù)邏輯層)都集中在該類中。該類由FTPServer(FTP主模塊)等和FTP主模塊相關(guān)的類調(diào)用。加密解密包括對(duì)稱加密解密和非對(duì)稱加密解密兩種。SymmetricDecrypto和SymmetricEncrypto方法是對(duì)稱加密解密的方法,AsymmetricDecrypto和AsymmetricEncrypto是非對(duì)稱加密解密的方法。散列是通過Hash實(shí)現(xiàn)的,GetHash和VerifyHash是散列和散列驗(yàn)證的實(shí)現(xiàn)方法。數(shù)據(jù)簽名的實(shí)現(xiàn)方法是SighHash和VerifyDS。ByteToString、StringToByte、Key等為輔助方法。以下為對(duì)稱加密解密的詳細(xì)設(shè)計(jì)及其調(diào)用的IPO圖(該類中其他模塊的設(shè)計(jì)思路相同):1、配置對(duì)稱加密解密算法1、對(duì)稱加密解密算法名稱2、塊大小3、初始化向量4、密鑰大小5、密鑰向量6、密碼模式7、填充模式輸入1、用算法名建立一個(gè)算法實(shí)體2、配置塊大小3、配置初始化向量4、配置密鑰5、配置密碼模式6、配置填充模式1、合法的對(duì)稱加密解密算法實(shí)體處理輸出圖3-10配置對(duì)稱加密解密算法IPO圖對(duì)稱算法配置是為了保存客戶加密解密算法的相關(guān)參數(shù),從而使加密解密具有確定性,達(dá)到信息保密性的特性并能獲取明文信息。對(duì)稱算法配置是從必要參數(shù)獲取一個(gè)對(duì)稱算法實(shí)體,從這些參數(shù)可以獲取一個(gè)惟一的對(duì)稱算法,這樣可以保證在不用的時(shí)刻,不同的環(huán)境下,用相同的加密解密算法對(duì)數(shù)據(jù)進(jìn)行加密解密。2、對(duì)稱加密解密1、明文/密文字節(jié)數(shù)組2、對(duì)稱加密解密算法實(shí)體輸入1、加密/解密1、密文/明文字節(jié)數(shù)組處理輸出圖3-11對(duì)稱加密解密IPO圖對(duì)稱加密把明文經(jīng)過加密處理變成密文輸出。對(duì)稱加密需要輸入加密算法,在解密時(shí)需要使用相同的加密算法,即解密算法與加密算法完全相同才能保證獲取正確的明文解析。對(duì)稱解密是對(duì)稱加密的逆過程,是把密文還原成明文的過程。3、信息安全處理模塊的調(diào)用1、回復(fù)客戶端消息的明文字節(jié)數(shù)組2、關(guān)聯(lián)客戶端的對(duì)稱加密解密算法實(shí)體輸入1、信息安全處理模塊中的加密處理1、回復(fù)客戶端的密文字節(jié)數(shù)組處理輸出圖3-12 FTP主模塊中ToSecurity方法對(duì)信息安全處理模塊的調(diào)用IPO圖4 數(shù)據(jù)庫設(shè)計(jì)在安全FTP服務(wù)器中,需要保存大量的信息。采用數(shù)據(jù)庫是較好的解決方案。需要持久化的信息包括用戶權(quán)限組,用戶信息,用戶安全配置,客戶訪問日志,服務(wù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論