專利名稱:一種基于OpenSSL的Linux安全文件傳輸系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及一種基于OpenSSL的Linux安全文件傳輸系統(tǒng)及方法。
背景技術(shù):
隨著Internet的蓬勃發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)正在日益廣泛的應(yīng)用到商業(yè),金融,國(guó)防等各個(gè)領(lǐng)域;萬(wàn)維網(wǎng)系統(tǒng)已經(jīng)從最初的提供信息瀏覽一類的靜態(tài)服務(wù)發(fā)展成可提供動(dòng)態(tài)交互的綜合系統(tǒng),Internet提供的互利性和開(kāi)放性使信息的交換與共享成為現(xiàn)實(shí),為社會(huì)帶來(lái)巨大的利益。然而,Internet是一個(gè)基于TCP/IP協(xié)議的開(kāi)發(fā)系統(tǒng),幾乎所有的數(shù)據(jù)在都是以明文的形式在網(wǎng)絡(luò)上進(jìn)行傳輸?shù)?,互?lián)網(wǎng)建立的初衷是為了使用者提供一種快捷的通信和資源共享方式,并沒(méi)有考慮數(shù)據(jù)傳輸?shù)陌踩?,機(jī)密性和通信實(shí)體的身份鑒別等安全因素,因此在Internet的應(yīng)用日益廣泛的同時(shí),安全問(wèn)題也日益突出。尤其是近年來(lái)隨著電子商務(wù),在線交易的廣泛開(kāi)展,人們需要通過(guò)Internet傳達(dá)一些諸如信用卡號(hào)等敏感數(shù)據(jù),如何保證敏感數(shù)據(jù)的安全傳輸已經(jīng)成為一個(gè)重要問(wèn)題,這一問(wèn)題也是當(dāng)今網(wǎng)絡(luò)通信技術(shù)研究的一個(gè)熱點(diǎn)。國(guó)際標(biāo)準(zhǔn)化組織已于1989年對(duì)OSI互聯(lián)網(wǎng)絡(luò)環(huán)境的安全性進(jìn)行了深入了的研究,在此基礎(chǔ)上提出了 OSI安全體系,定義了安全服務(wù),安全機(jī)制,安全管理以及安全方面的其它問(wèn)題。此外,通過(guò)對(duì)現(xiàn)實(shí)中網(wǎng)絡(luò)方面所面臨的各種安全問(wèn)題的分析總結(jié),還定義了 11種安全威脅,為了避免網(wǎng)絡(luò)受這些威脅,在該標(biāo)準(zhǔn)中明確規(guī)定了五大安全服務(wù)的功能:身份認(rèn)證服務(wù),訪問(wèn)控制服務(wù),數(shù)據(jù)保密服務(wù),數(shù)據(jù)完整性服務(wù)和不可否認(rèn)服務(wù)。概括地講,這五大服務(wù)的主要功能如下:(I)保密性。為了防止被動(dòng)攻擊而對(duì)所傳輸?shù)臄?shù)據(jù)進(jìn)行加密,一般是指采用密碼學(xué)技術(shù),將需要保密的信息轉(zhuǎn)·化為另一種隱藏的形式,使未授權(quán)者無(wú)法提取有用的信息。(2)完整性。數(shù)據(jù)完整性用于確認(rèn)數(shù)據(jù)在存儲(chǔ)和傳輸?shù)倪^(guò)程中未被修改。(3)身份認(rèn)證。認(rèn)證就是確認(rèn)實(shí)體的身份或數(shù)據(jù)的來(lái)源,即實(shí)體與它自己聲明的身份是否一致,包括實(shí)體身份認(rèn)證和數(shù)據(jù)來(lái)源認(rèn)證。(4)訪問(wèn)控制。訪問(wèn)控制是指控制或限制通信鏈路對(duì)某些網(wǎng)絡(luò)資源的訪問(wèn),防止非法用戶侵入或合法用戶不慎操作所造成的破壞。(5)不可否認(rèn)性。可用來(lái)防止兩個(gè)對(duì)話實(shí)體對(duì)曾經(jīng)執(zhí)行過(guò)的操作提出異議,從而確認(rèn)某個(gè)實(shí)體確實(shí)發(fā)送或接收過(guò)消息。在實(shí)際的應(yīng)用中,只有具備這五大安全服務(wù)才能構(gòu)成一個(gè)完整的安全系統(tǒng),它們互相依托,缺一不可,其中,身份認(rèn)證服務(wù),數(shù)據(jù)保密服務(wù),數(shù)據(jù)完整性服務(wù)是保證數(shù)據(jù)安全傳輸和對(duì)通信實(shí)體進(jìn)行認(rèn)證的基礎(chǔ)。就目前的網(wǎng)路應(yīng)用情況看,如何保證網(wǎng)絡(luò)上敏感數(shù)據(jù)的安全傳輸,防止數(shù)據(jù)在傳輸?shù)倪^(guò)程中被竊取,篡改,偽造,以及對(duì)通信雙方實(shí)體進(jìn)行認(rèn)證是迫切需要解決的問(wèn)題。隨著Linux操作系統(tǒng)不斷完善和發(fā)展,Linux技術(shù)正日益廣泛地應(yīng)用到商業(yè)、教育、金融、國(guó)防等各個(gè)領(lǐng)域。Linux平臺(tái)的網(wǎng)絡(luò)通信功能在數(shù)據(jù)傳輸、信息獲取方面發(fā)揮著越來(lái)越重要的作用。另一方面,在Linux廣泛應(yīng)用的同時(shí),在該平臺(tái)上進(jìn)行數(shù)據(jù)傳輸?shù)陌踩珕?wèn)題也日益突出。目前Linux的網(wǎng)絡(luò)傳輸是基于TCP/IP協(xié)議框架上進(jìn)行的,而TCP/IP協(xié)議的網(wǎng)絡(luò)是一種開(kāi)放性網(wǎng)絡(luò),本身并不提供安全措施。在網(wǎng)絡(luò)中文件傳輸?shù)陌踩谴_保信息安全的基本要求,在Linux系統(tǒng)上建立安全的文件傳輸機(jī)制,確保數(shù)據(jù)準(zhǔn)確性、有效性、完整性是推動(dòng)Linux系統(tǒng)廣泛應(yīng)用的重要方式。當(dāng)前大多數(shù)基于Linux文件傳輸系統(tǒng)關(guān)注文件傳輸?shù)男?而對(duì)文件傳輸?shù)陌踩栽O(shè)計(jì)考慮較少,雖然部分系統(tǒng)在傳輸前進(jìn)行身份驗(yàn)證,但對(duì)整個(gè)傳輸過(guò)程并沒(méi)啟用安全傳輸通道來(lái)確保數(shù)據(jù)的傳輸?shù)陌踩SL是Secure Socket Layer (安全套接層協(xié)議)的縮寫,由Netscape公司在推出第一個(gè)Web瀏覽器時(shí)提出,該協(xié)議提供了在Internet上進(jìn)行安全傳輸?shù)臋C(jī)制。SSL采用公開(kāi)密鑰技術(shù)。其目標(biāo)是保證兩個(gè)應(yīng)用程序間通信的保密性和可靠性,可在服務(wù)器端和用戶端同時(shí)實(shí)現(xiàn)支持。SSL協(xié)議的優(yōu)勢(shì)在于它是與應(yīng)用層協(xié)議獨(dú)立無(wú)關(guān)的,高層的應(yīng)用層協(xié)議能透明地建立于SSL協(xié)議之上。SSL協(xié)議在應(yīng)用層協(xié)議通信之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商及服務(wù)器認(rèn)證工作。在此之后應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都會(huì)被加密,從而保證通信的私密性,因此SSL協(xié)議提供數(shù)據(jù)的保密性、數(shù)據(jù)的一致性以及安全驗(yàn)證功能。由于SSL協(xié)議體制包含了眾多的密碼算 法、公鑰基設(shè)施和相關(guān)協(xié)議,個(gè)人要想實(shí)現(xiàn)滿足SSL的安全機(jī)制是比較困難的事情。Eric A.Young和Tim J.Hudson率先構(gòu)建了 OpenSSL軟件包,其包含三個(gè)主要的功能部分:密碼算法庫(kù)、SSL協(xié)議庫(kù)以及應(yīng)用程序。這使得建立符合SSL要求的通信機(jī)制變得簡(jiǎn)單,通過(guò)對(duì)OpenSSL軟件包提供的接口調(diào)用,就能實(shí)現(xiàn)復(fù)雜的私密通信要求。同時(shí)OpenSSL采用C語(yǔ)言作為開(kāi)發(fā)語(yǔ)言,這使得OpenSSL具有優(yōu)秀的跨平臺(tái)性能,能有效支持Linux系統(tǒng)的通信需求。
發(fā)明內(nèi)容
針對(duì)上述問(wèn)題,本發(fā)明實(shí)施例的目的在于提供一種基于OpenSSL的Linux安全文件傳輸系統(tǒng)。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種基于OpenSSL的Linux安全文件傳輸系統(tǒng),所述基于OpenSSL的Linux安全文件傳輸系統(tǒng)包括:客戶端,用于進(jìn)行文件傳輸和文件管理;服務(wù)器端,用于進(jìn)行用戶管理和系統(tǒng)管理;文件傳輸模塊,用于對(duì)文件進(jìn)行上傳和下載;文件管理模塊,在登陸服務(wù)器后可以對(duì)文件進(jìn)行管理,包括瀏覽目錄、查看文件、查找文件、刪除文件功能;用戶管理模塊,能夠?qū)τ脩暨M(jìn)行管理包括登陸驗(yàn)證、用戶注冊(cè)管理、查看和刪除用戶、用戶權(quán)限修改;系統(tǒng)管理模塊,在服務(wù)器端為了更好對(duì)系統(tǒng)進(jìn)行全局管理還加入了系統(tǒng)日志記錄、系統(tǒng)設(shè)置、遠(yuǎn)程管理。進(jìn)一步,該基于OpenSSL的Linux安全文件傳輸系統(tǒng)內(nèi)核結(jié)構(gòu)為:安全文件傳輸和管理模塊,用于實(shí)現(xiàn)對(duì)整個(gè)文件傳送過(guò)程統(tǒng)一調(diào)度和系統(tǒng)資源分配,對(duì)身份驗(yàn)證和密鑰分批的過(guò)程進(jìn)行管理和調(diào)度;OpenSSL安全通信模塊,利用OpenSSL包含的一套SSL協(xié)議的完整接口,在文件傳送時(shí)建立安全套接層,進(jìn)而能夠通過(guò)網(wǎng)絡(luò)進(jìn)行安全的數(shù)據(jù)傳輸;線程池模塊,用于實(shí)現(xiàn)多文件并行傳輸?shù)哪芰?;每個(gè)客戶端處于平等地位,為了響應(yīng)并發(fā)性的要求同時(shí)又可以限制客戶端的最大連接;安全性控制模塊,引入SSL協(xié)議,用于將所有的命令信息和控制信息經(jīng)過(guò)加密處理后進(jìn)行安全傳輸,實(shí)現(xiàn)信息安全的三個(gè)目標(biāo):信息安全性,信息完整性和身份認(rèn)證。本發(fā)明實(shí)施例的另一目的在于提供的一種基于OpenSSL的Linux安全文件傳輸方法,所述基于OpenSSL的Linux安全文件傳輸方法為:客戶端進(jìn)程向服務(wù)器端進(jìn)程發(fā)起連接請(qǐng)求,服務(wù)器端要求進(jìn)行身份驗(yàn)證,下發(fā)一個(gè)隨機(jī)產(chǎn)生的HASH值和驗(yàn)證請(qǐng)求報(bào)文,客戶端收到驗(yàn)證請(qǐng)求后,提交自己用戶名和密碼作為身份信息到服務(wù)器端;當(dāng)客戶端通過(guò)文件傳輸模塊執(zhí)行上傳或下載指令時(shí),調(diào)用OpenSSL控件,建立安全的傳輸通道,OpenSSL的安全傳輸主要通過(guò)加密套件建立客戶端和服務(wù)器端的安全傳輸通道,加密套件包含了 SSL握手階段和通信階段所應(yīng)該采用的各種算法。進(jìn)一步,為了確保驗(yàn)證信息的安全,采用MD5算法對(duì)用戶名和密碼進(jìn)行加密,密鑰是服務(wù)器端下發(fā)的HASH值,服務(wù)器收到客戶端的驗(yàn)證信息,解密驗(yàn)證成功后,為本次連接預(yù)留資源,并回應(yīng)客戶端驗(yàn)證成功;
進(jìn)一步,加密套件包含了 SSL握手階段和通信階段所應(yīng)該采用的各種算法,這些算法包括:認(rèn)證算法、密鑰交換算法、對(duì)稱算法和摘要算法。進(jìn)一步,為了確保傳輸?shù)恼_性,在驗(yàn)證通過(guò)后,需要進(jìn)行傳送初始化,這時(shí)雙方都會(huì)導(dǎo)入各自所認(rèn)可的多種加密套件,在握手階段,由服務(wù)器端選擇其中的一種加密套件,并告知客戶端選擇同樣的加密套件,服務(wù)器端和客戶端則通過(guò)雙方協(xié)商好的加密套件進(jìn)行傳輸。進(jìn)一步,為了提高數(shù)據(jù)傳輸?shù)男剩到y(tǒng)采用了斷點(diǎn)續(xù)傳的技術(shù),實(shí)時(shí)記錄文件寫入狀態(tài)即每一次接收后成功寫入文件的數(shù)據(jù)長(zhǎng)度,對(duì)接受方而言傳輸開(kāi)始時(shí)先進(jìn)行本地?cái)帱c(diǎn)記錄文件檢測(cè),如果存在則讀取記錄數(shù)據(jù)根據(jù)記錄設(shè)置文件讀寫指針偏移指定字節(jié)數(shù),對(duì)發(fā)送方而言提取文件名字段,偏移字段,從指定位置處讀取待發(fā)文件內(nèi)容到緩存中然后發(fā)送給接收方。本發(fā)明提供的基于OpenSSL的Linux安全文件傳輸系統(tǒng),本系統(tǒng)在Linux基礎(chǔ)之上,利用OpenSSL實(shí)現(xiàn)文件的安全傳輸。整個(gè)系統(tǒng)包含客戶端和服務(wù)器端,客戶端由文件傳輸模塊和文件管理模塊組成,服務(wù)器端由用戶管理和系統(tǒng)管理組成。系統(tǒng)采用多線程技術(shù)并結(jié)合身份驗(yàn)證進(jìn)行連接管理,實(shí)現(xiàn)文件傳輸、文件管理、用戶管理、系統(tǒng)管理等功能。特別是采用了客戶端和服務(wù)器端的連接認(rèn)證,以及調(diào)用OpenSSL進(jìn)行加密傳送確保了文件傳輸?shù)拿孛苄浴?br>
圖1是現(xiàn)有技術(shù)提供的基于OpenSSL的Linux安全文件傳輸系統(tǒng)內(nèi)核結(jié)構(gòu)2是本發(fā)明實(shí)施例提供的基于OpenSSL的Linux安全文件傳輸系統(tǒng)功能模塊圖
圖中:1、安全文件傳輸和管理模塊;2、OpenSSL安全通信模塊;3、線程池(多線程管理)模塊;4、安全性控制模塊;5、客戶端;6、服務(wù)器端;7、文件傳輸模塊;8、文件管理模塊;9、用戶管理模塊;10、系統(tǒng)管理模塊。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖1不出了本發(fā)明實(shí)施案例提供的基于OpenSSL的Linux安全文件傳輸系統(tǒng)內(nèi)核結(jié)構(gòu),該結(jié)構(gòu)包括:安全文件傳輸和管理模塊1,用于實(shí)現(xiàn)對(duì)整個(gè)文件傳送過(guò)程統(tǒng)一調(diào)度和系統(tǒng)資源分配,對(duì)身份驗(yàn)證和密鑰分批的過(guò)程進(jìn)行管理和調(diào)度。;OpenSSL安全通信模塊2,利用OpenSSL包含的一套SSL協(xié)議的完整接口,在文件傳送時(shí)建立安全套接層,進(jìn)而能夠通過(guò)網(wǎng)絡(luò)進(jìn)行安全的數(shù)據(jù)傳輸;0penSSL是一個(gè)支持SSL協(xié)議的,開(kāi)放源代碼的,免費(fèi)的軟件包,采用C語(yǔ)言作為開(kāi)發(fā)語(yǔ)言,支持多種操作系統(tǒng),包括Linux, Windows, Unix等,具有廣泛的適用性。線程池(多線程管理)模塊3,考慮到多個(gè)客戶端同時(shí)連接到服務(wù)器的情況以及過(guò)多客戶端連接可能造成的對(duì)服務(wù)器性能的影響,用于實(shí)現(xiàn)多文件并行傳輸?shù)哪芰?。每個(gè)客戶端處于平等地位,為了響應(yīng)并發(fā)性的要求同時(shí)又可以限制客戶端的最大連接;安全性控制模塊4,引入了 SSL協(xié)議,所有的命令信息和控制信息經(jīng)過(guò)加密處理后進(jìn)行安全傳輸,可以有效地實(shí)現(xiàn)信息安全的三個(gè)目標(biāo):信息安·全性,信息完整性和身份認(rèn)證;服務(wù)器和客戶端之間可以利用socket通信,客戶端向服務(wù)器發(fā)送請(qǐng)求信息,服務(wù)器響應(yīng)請(qǐng)求,因此,它們之間需要傳輸一些命令信息,如果這些信息是通過(guò)internet直接在TCP協(xié)議上進(jìn)行傳輸?shù)?,沒(méi)有經(jīng)過(guò)任何的加密處理,很容易被非法的黑客竊取。從信息安全的角度考慮,直接通過(guò)TCP協(xié)議傳輸命令信息是很不安全的。圖2示出了本發(fā)明實(shí)施案例提供的基于OpenSSL的Linux安全文件傳輸系統(tǒng)的功能模塊,該結(jié)構(gòu)包括:客戶端5,用于進(jìn)行文件傳輸和文件管理;服務(wù)器端6,用于進(jìn)行用戶管理和系統(tǒng)管理;文件傳輸模塊7,用于對(duì)文件進(jìn)行上傳和下載;文件管理模塊8,在登陸服務(wù)器后可以對(duì)文件進(jìn)行管理,包括瀏覽目錄、查看文件、查找文件、刪除文件功能。用戶管理模塊9,能夠?qū)τ脩暨M(jìn)行管理包括登陸驗(yàn)證、用戶注冊(cè)管理、查看和刪除用戶、用戶權(quán)限修改。系統(tǒng)管理模塊10,在服務(wù)器端為了更好對(duì)系統(tǒng)進(jìn)行全局管理還加入了系統(tǒng)日志記錄、系統(tǒng)設(shè)置、遠(yuǎn)程管理等功能??蛻舳?進(jìn)程向服務(wù)器端6進(jìn)程發(fā)起連接請(qǐng)求,服務(wù)器端6要求進(jìn)行身份驗(yàn)證,下發(fā)一個(gè)隨機(jī)產(chǎn)生的HASH值和驗(yàn)證請(qǐng)求報(bào)文,客戶端5收到驗(yàn)證請(qǐng)求后,提交自己用戶名和密碼作為身份信息到服務(wù)器端6 ;為了確保驗(yàn)證信息的安全,采用MD5算法對(duì)用戶名和密碼進(jìn)行加密,密鑰是服務(wù)器端6下發(fā)的HASH值,服務(wù)器6收到客戶端5的驗(yàn)證信息,解密驗(yàn)證成功后,為本次連接預(yù)留資源,并回應(yīng)客戶端5驗(yàn)證成功;當(dāng)客戶端通過(guò)文件傳輸模塊7執(zhí)行上傳或下載指令時(shí),調(diào)用OpenSSL控件,建立安全的傳輸通道,OpenSSL的安全傳輸主要通過(guò)加密套件建立客戶端5和服務(wù)器端6的安全傳輸通道,加密套件包含了 SSL握手階段和通信階段所應(yīng)該采用的各種算法,這些算法包括:認(rèn)證算法、密鑰交換算法、對(duì)稱算法和摘要算法等,為了確保傳輸?shù)恼_性,在驗(yàn)證通過(guò)后,需要進(jìn)行傳送初始化,這時(shí)雙方都會(huì)導(dǎo)入各自所認(rèn)可的多種加密套件,在握手階段,由服務(wù)器端6選擇其中的一種加密套件,并告知客戶端選擇同樣的加密套件,服務(wù)器端6和客戶端5則通過(guò)雙方協(xié)商好的加密套件進(jìn)行傳輸;為了提高數(shù)據(jù)傳輸?shù)男剩到y(tǒng)采用了斷點(diǎn)續(xù)傳的技術(shù),實(shí)時(shí)記錄文件寫入狀態(tài)即每一次接收后成功寫入文件的數(shù)據(jù)長(zhǎng)度,對(duì)接受方而言傳輸開(kāi)始時(shí)先進(jìn)行本地?cái)帱c(diǎn)記錄文件檢測(cè),如果存在則讀取記錄數(shù)據(jù)根據(jù)記錄設(shè)置文件讀寫指針偏移指定字節(jié)數(shù),對(duì)發(fā)送方而言提取文件名字段,偏移字段,從指定位置處讀取待發(fā)文件內(nèi)容到緩存中然后發(fā)送給接收方。本方案發(fā)明的基于OpenSSL的Linux安全文件傳輸系統(tǒng),客戶端5進(jìn)程向服務(wù)器端6進(jìn)程發(fā)起連接請(qǐng)求,服務(wù)器端6要求進(jìn)行身份驗(yàn)證,下發(fā)一個(gè)隨機(jī)產(chǎn)生的HASH值和驗(yàn)證請(qǐng)求報(bào)文,客戶端5收到驗(yàn)證請(qǐng)求后,提交自己用戶名和密碼作為身份信息到服務(wù)器端
6。為了確保驗(yàn)證信息的安全,采用MD5算法對(duì)用戶名和密碼進(jìn)行加密,密鑰是服務(wù)器端6下發(fā)的HASH值,服務(wù)器6收到客戶端5的驗(yàn)證信息,解密驗(yàn)證成功后,為本次連接預(yù)留資源,并回應(yīng)客戶端5驗(yàn)證成功。當(dāng)客戶端通過(guò)文件傳輸模塊7執(zhí)行上傳或下載指令時(shí),調(diào)用OpenSSL控件,建立安全的傳輸通道,OpenSSL的安全傳輸主要通過(guò)加密套件建立客戶端5和服務(wù)器端6的安全傳輸通道。加密套件包含了 SSL握手階段和通信階段所應(yīng)該采用的各種算法,這些算法包括:認(rèn)證算法、密鑰交換算法、對(duì)稱算法和摘要算法等。為了確保傳輸?shù)恼_性,在驗(yàn)證通過(guò)后,需要進(jìn)行傳送初始化,這時(shí)雙方都會(huì)導(dǎo)入各自所認(rèn)可的多種加密套件,在握手階段,由服務(wù)器端6選擇其中的一種加密套件,并告知客戶端選擇同樣的加密套件,服務(wù)器端6和客戶端5則 通過(guò)雙方協(xié)商好的加密套件進(jìn)行傳輸。為了提高數(shù)據(jù)傳輸?shù)男剩到y(tǒng)采用了斷點(diǎn)續(xù)傳的技術(shù),實(shí)時(shí)記錄文件寫入狀態(tài)即每一次接收后成功寫入文件的數(shù)據(jù)長(zhǎng)度。對(duì)接受方而言傳輸開(kāi)始時(shí)先進(jìn)行本地?cái)帱c(diǎn)記錄文件檢測(cè),如果存在則讀取記錄數(shù)據(jù)根據(jù)記錄設(shè)置文件讀寫指針偏移指定字節(jié)數(shù),對(duì)發(fā)送方而言提取文件名字段,偏移字段,從指定位置處讀取待發(fā)文件內(nèi)容到緩存中然后發(fā)送給接收方。本系統(tǒng)在Linux基礎(chǔ)之上,利用OpenSSL實(shí)現(xiàn)文件的安全傳輸。系統(tǒng)采用多線程技術(shù)并結(jié)合身份驗(yàn)證進(jìn)行連接管理。實(shí)現(xiàn)文件傳輸、文件管理、用戶管理、系統(tǒng)管理等功能。特別是采用了客戶端和服務(wù)器端的連接認(rèn)證,以及調(diào)用OpenSSL進(jìn)行加密傳送確保了文件傳輸?shù)拿孛苄?。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于OpenSSL的Linux安全文件傳輸系統(tǒng),其特征在于,所述基于OpenSSL的Linux安全文件傳輸系統(tǒng)包括: 客戶端,用于進(jìn)行文件傳輸和文件管理; 服務(wù)器端,用于進(jìn)行用戶管理和系統(tǒng)管理; 文件傳輸模塊,用于對(duì)文件進(jìn)行上傳和下載; 文件管理模塊,在登陸服務(wù)器后可以對(duì)文件進(jìn)行管理,包括瀏覽目錄、查看文件、查找文件、刪除文件功能; 用戶管理模塊,能夠?qū)τ脩暨M(jìn)行管理包括登陸驗(yàn)證、用戶注冊(cè)管理、查看和刪除用戶、用戶權(quán)限修改; 系統(tǒng)管理模塊,在服務(wù)器端為了更好對(duì)系統(tǒng)進(jìn)行全局管理還加入了系統(tǒng)日志記錄、系統(tǒng)設(shè)置、遠(yuǎn)程管理。
2.如權(quán)利要求1所述的基于OpenSSL的Linux安全文件傳輸系統(tǒng),其特征在于,該基于OpenSSL的Linux安全文件傳輸系統(tǒng)內(nèi)核結(jié)構(gòu)為: 安全文件傳輸和管理模塊,用于實(shí)現(xiàn)對(duì)整個(gè)文件傳送過(guò)程統(tǒng)一調(diào)度和系統(tǒng)資源分配,對(duì)身份驗(yàn)證和密鑰分批的過(guò)程進(jìn)行管理和調(diào)度; OpenSSL安全通信模塊,利用OpenSSL包含的一套SSL協(xié)議的完整接口,在文件傳送時(shí)建立安全套接層,進(jìn)而能夠通過(guò)網(wǎng)絡(luò)進(jìn)行安全的數(shù)據(jù)傳輸; 線程池模塊,用于實(shí)現(xiàn)多文件并行傳輸?shù)哪芰Γ幻總€(gè)客戶端處于平等地位,為了響應(yīng)并發(fā)性的要求同時(shí)又可以限 制客戶端的最大連接; 安全性控制模塊,引入SSL協(xié)議,用于將所有的命令信息和控制信息經(jīng)過(guò)加密處理后進(jìn)行安全傳輸,實(shí)現(xiàn)信息安全的三個(gè)目標(biāo):信息安全性,信息完整性和身份認(rèn)證。
3.一種基于OpenSSL的Linux安全文件傳輸方法,其特征在于,所述基于OpenSSL的Linux安全文件傳輸方法的步驟為: 客戶端進(jìn)程向服務(wù)器端進(jìn)程發(fā)起連接請(qǐng)求,服務(wù)器端要求進(jìn)行身份驗(yàn)證,下發(fā)一個(gè)隨機(jī)產(chǎn)生的HASH值和驗(yàn)證請(qǐng)求報(bào)文,客戶端收到驗(yàn)證請(qǐng)求后,提交自己用戶名和密碼作為身份信息到服務(wù)器端; 當(dāng)客戶端通過(guò)文件傳輸模塊執(zhí)行上傳或下載指令時(shí),調(diào)用OpenSSL控件,建立安全的傳輸通道,OpenSSL的安全傳輸主要通過(guò)加密套件建立客戶端和服務(wù)器端的安全傳輸通道,加密套件包含了 SSL握手階段和通信階段所應(yīng)該采用的各種算法。
4.如權(quán)利要求3所述的基于OpenSSL的Linux安全文件傳輸方法,其特征在于,為了確保驗(yàn)證信息的安全,采用MD5算法對(duì)用戶名和密碼進(jìn)行加密,密鑰是服務(wù)器端下發(fā)的HASH值,服務(wù)器收到客戶端的驗(yàn)證信息,解密驗(yàn)證成功后,為本次連接預(yù)留資源,并回應(yīng)客戶端驗(yàn)證成功。
5.如權(quán)利要求3所述的基于OpenSSL的Linux安全文件傳輸方法,其特征在于,加密套件包含了 SSL握手階段和通信階段所應(yīng)該采用的各種算法,這些算法包括:認(rèn)證算法、密鑰交換算法、對(duì)稱算法和摘要算法。
6.如權(quán)利要求3所述的基于OpenSSL的Linux安全文件傳輸方法,其特征在于,為了確保傳輸?shù)恼_性,在驗(yàn)證通過(guò)后,需要進(jìn)行傳送初始化,這時(shí)雙方都會(huì)導(dǎo)入各自所認(rèn)可的多種加密套件,在握手階段,由服務(wù)器端選擇其中的一種加密套件,并告知客戶端選擇同樣的加密套件,服務(wù)器端和客戶端則通過(guò)雙方協(xié)商好的加密套件進(jìn)行傳輸。
7.如權(quán)利要求3所述的基于OpenSSL的Linux安全文件傳輸方法,其特征在于,為了提高數(shù)據(jù)傳輸?shù)男?,系統(tǒng)采用了斷點(diǎn)續(xù)傳的技術(shù),實(shí)時(shí)記錄文件寫入狀態(tài)即每一次接收后成功寫入文件的數(shù)據(jù)長(zhǎng)度,對(duì)接受方而言傳輸開(kāi)始時(shí)先進(jìn)行本地?cái)帱c(diǎn)記錄文件檢測(cè),如果存在則讀取記錄數(shù)據(jù)根據(jù)記錄設(shè)置文件讀寫指針偏移指定字節(jié)數(shù),對(duì)發(fā)送方而言提取文件名字段,偏移字段,從 指定位置處讀取待發(fā)文件內(nèi)容到緩存中然后發(fā)送給接收方。
全文摘要
本發(fā)明公開(kāi)了一種基于OpenSSL的Linux安全文件傳輸系統(tǒng)及方法,包括客戶端、服務(wù)器端、文件傳輸模塊、文件管理模塊、用戶管理模塊、系統(tǒng)管理模塊。本發(fā)明提供的基于OpenSSL的Linux安全文件傳輸系統(tǒng),在Linux基礎(chǔ)之上,利用OpenSSL實(shí)現(xiàn)文件的安全傳輸。整個(gè)系統(tǒng)包含客戶端和服務(wù)器端,客戶端由文件輸模塊和文件管理模塊組成,服務(wù)器端由用戶管理和系統(tǒng)管理組成。系統(tǒng)采用多線程技術(shù)并結(jié)合身份驗(yàn)證進(jìn)行連接管理,實(shí)現(xiàn)文件傳輸、文件管理、用戶管理、系統(tǒng)管理等功能。特別是采用了客戶端和服務(wù)器端的連接認(rèn)證,以及調(diào)用OpenSSL進(jìn)行加密傳送確保了文件傳輸?shù)拿孛苄浴?br>
文檔編號(hào)H04L29/06GK103248618SQ20131007393
公開(kāi)日2013年8月14日 申請(qǐng)日期2013年3月8日 優(yōu)先權(quán)日2013年3月8日
發(fā)明者彭茂玲, 張光春, 蔣麗華 申請(qǐng)人:重慶城市管理職業(yè)學(xué)院