吳愛清 潘成超 劉江明 趙龍 吳濤
[摘 要] 針對目前各業務、各系統產生的附件,存儲位置分散、傳輸記錄多種多樣,無法統一存儲、統一管理的問題,開發了基于MD5加密機制的文件傳輸系統。在該方案中使用WebService技術來規范管理標準接口,基于MD5加密機制進行用戶權限的驗證,對傳輸的文件進行MD5加密處理,既保證了文件傳輸過程中安全性的要求,又保證了文件傳輸系統的跨平臺性,實現了文件統一存儲、統一管理。
[關鍵詞] MD5;加密;WebService技術;文件傳輸;跨平臺
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 03. 068
[中圖分類號] TP311.1 [文獻標識碼] A [文章編號] 1673 - 0194(2018)03- 0164- 03
1 前 言
目前,某公司開發了眾多功能獨立的IT系統和存儲設備來支撐開展自身的業務,如OA系統、黨建管理系統、質量管理系統、CRM系統等。每個管理系統都會涉及到附件的上傳、下載、存儲操作,于是每個管理系統都需要對上傳的附件進行相關管理,這種傳統的管理方式,導致文件無法統一管理、無法統一存儲,而且降低了資源的利用率。現針對現實中該公司文件管理的現狀,基于MD5加密機制,開發一個跨平臺便于各IT系統統一管理的文件傳輸系統,它是從實用角度使用Eclipse開發的基于Oracle 11g數據庫的文件傳輸系統。這個文件傳輸系統,具有獨立的文件傳輸功能,可以獨立部署,使用WebService技術來規范統一的對外接口,可以滿足不同系統的使用;對文件劃分不同的密級,確保文件在對應密級的用戶間傳遞;對文件進行MD5加密傳輸、MD5加密存儲,有效地避免了明文容易被竊聽和攻擊的弱點,實現統一管控,靈活部署,提高資源利用率。
2 系統架構設計
文件傳輸涉及到三個方面:一是文件上傳,二是文件存儲,三是文件下載。對于文件上傳,要求各個管理系統調用標準的接口上傳文件;對于文件存儲,要求對上傳到服務器上的文件進行加密;對于文件下載,要求進行用戶權限的驗證。難點在于用戶權限的驗證和文件的安全存儲,如何安全、準確的驗證用戶權限,如何安全、統一的管理文件信息是文件傳輸系統需要重點考慮的問題。
采用MD5加密機制在跨平臺調用WebService接口時進行驗證,是解決這個難題的一個很好的辦法,系統的整體架構圖如圖1所示。
用戶在使用各個管理系統上傳文件時,需先對文件按照名稱規范進行命名以區分文件的等級;再在操作頁面選擇需要上傳的文件,文件上傳時會對用戶權限進行驗證,確保該等級的文件用戶具有上傳的權限;上傳文件時,對文件名稱等信息進行加密保存;對于上傳完成的文件,用戶也可以進行刪除操作,刪除多余的文件。
用戶在使用各個管理系統下載文件時,會先對用戶權限進行驗證,保證用戶只能下載對應等級的文件;在下載的過程中,從文件傳輸系統的數據庫獲取文件信息,再從文件存儲服務器上找到對應文件提供給用戶下載保存。
在文件傳輸系統中,對各個管理系統產生的文件進行跨平臺統一管理。管理員可以查看到各個管理系統上傳的文件信息;可以查看到用戶上傳文件的日志信息、下載文件的日志信息、刪除文件的日志信息;可以按各個管理系統統計上傳的文件信息,按部門統計上傳的文件信息,按文件等級統計文件的信息,按時間范圍對文件進行統計等。
3 基于MD5加密機制的跨平臺方案
跨平臺統一管控多個管理系統產生的文件信息,如何做到統一管理、安全驗證管理是個難題;文件傳輸系統必須完成兩個任務:一是使用規范統一的對外接口,二是使用安全的驗證機制,即系統不僅要提供明確的文件上傳規則,用戶在操作過程中遵守這些規則,還需要建立嚴格的用戶與權限管理規范,也就是安全驗證機制。采用基于MD5加密機制的跨平臺方法,能夠很好地解決這些問題。
3.1 WebService技術
WebService是一種跨編程語言和跨操作系統平臺的遠程調用技術。可以分為服務端開發和客戶端開發兩個方面:
(1)服務端開發:把文件傳輸系統的業務方法發布成WebService服務,供各個管理系統調用。
(2)客戶端開發:各個管理系統調用文件傳輸系統發布的WebService服務。
WebService的工作調用原理:對客戶端而言,給客戶端API傳遞wsdl文件的url地址,這些API就會創建出底層的代理類,再調用這些代理,就可以訪問到WebService服務。代理類把客戶端的方法調用變成xml格式的請求數據再通過HTTP協議發出去,并把接收到的數據變成返回值返回。對服務端而言,WebService框架的本質就是一個大的Servlet,當客戶端發送過來xml格式的請求數據時,服務端分析這個數據,于是去查找或創建這個對象,并調用其方法,再把方法返回的結果通過http響應消息回給客戶端,實現跨平臺的功能。
3.2 MD5加密機制與文件上傳
用戶在使用各個管理系統上傳文件時,流程圖如圖2所示。
(1)在文件傳輸系統的數據庫中建有專門的用戶權限表,對應每個用戶與文件等級的權限關系;
(2)用戶對需要上傳的文件,先按照文件名稱規范進行命名以區分文件的等級,然后在操作頁面選擇需要上傳的文件,調用WebService接口提交上傳請求,請求信息中包含經過MD5加密的用戶名信息等;如果文件名稱沒有按照名稱規范命名,則給予提示,不予上傳文件;
(3)服務端分析接收到的請求信息,獲取用戶名等信息,從用戶權限表中查詢相關權限信息,驗證用戶是否具有權限上傳該等級的文件,如果沒有權限,在客戶端進行提示,不予上傳該文件;若驗證用戶具有權限,即可上傳文件;
(4)上傳的文件,對文件名稱等信息進行MD5加密保存,使存放在服務器上的文件用戶無法識別;
(5)當用戶刪除文件時,刪除對應管理系統數據庫表中的數據,再刪除文件傳輸系統數據庫中的詳細信息。
3.3 MD5加密機制與文件下載
用戶在使用各個管理系統下載文件時,流程圖如圖3所示。
(1)用戶在請求下載文件時,在管理系統的數據庫表中,查找到該文件在文件傳輸系統數據庫表中的主鍵值,并對主鍵值、用戶名等信息進行MD5加密,調用WebService接口提交下載請求;
(2)服務端分析接收到的請求信息,獲取用戶名等信息,從用戶權限表中查詢相關權限信息;再結合主鍵值查找文件的等級,驗證用戶是否具有權限下載該文件,如果沒有權限,在客戶端進行提示沒有權限,不予下載該文件;若驗證用戶具有權限,則可以提供下載操作;
(3)服務端根據主鍵值從文件傳輸系統的數據庫表中獲取文件信息,查找文件在服務器上的存放位置,將對應文件提供給用戶下載保存。
3.4 MD5加密機制與文件存儲
(1)在各個管理系統的數據庫中,之前保存文件信息的數據庫表,現在只保存需要在管理系統頁面顯示的信息,以及該文件在文件傳輸系統數據庫表中的主鍵;
(2)在文件傳輸系統的數據庫中建有專用的數據庫表,除了保存文件的詳細信息,文件在服務器上的存放位置,還需保存各個管理系統的系統標識,操作的用戶信息,文件的等級信息;
(3)上傳的文件,對文件名稱等信息進行MD5加密,然后存入數據庫表中;并且使存放在服務器上的文件顯示MD5加密后的名稱,最后對文件內容進行加密,讓用戶無法識別。
4 軟件實施后的效果
(1)文件統一管理,大量減少原來各個管理系統對文件進行管理的重復工作,節省時間也提高了工作效率,減輕工作人員的勞動強度。
(2)MD5加密機制的安全驗證,確保文件在對應密級的用戶間傳遞,提高了Web應用的安全性,也是對跨平臺Web安全性應用的新嘗試,效果非常好。
(3)用戶在使用各個管理系統對文件進行上傳、下載操作時,操作方式沒有發生變化,既保證了功能的實現,又無需改變用戶原有的操作體驗。
5 結 語
本軟件投入使用以來,以其方便、簡捷的操作和安全、加密的機制,實現文件安全地跨平臺統一管理,使信息化管理得到了充分的發揮,轉變了業務流程、傳統管理方式和組織方式,重新整合公司內外部資源,有效地提高了公司的內部管理質量和水平,提高了公司效率和效益、增強了公司的競爭力。
主要參考文獻
[1]王金柱,李元誠.MD5算法在J2EE平臺下用戶管理系統中的應用[J].計算機工程與設計,2008,29(18).
[2]方木云,吳愛清,魏炳寧,等.基于容器模型架構的中小型企業成本統計系統[J].中國管理信息化,2012,15(3).
[3]馬李翠,黎妹紅,吳倩倩,等.智能電網通信中動態密鑰加密方法的研究與改進[J].北京郵電大學學報,2017,40(4).
[4]廖桂梅.C++基礎上的加密/解密置換算法的實現研究[J].無線互聯科技,2015(24).
[5]張浩華,齊維毅,趙子夫,等.基于JAVA技術的MD5加密算法的設計與實現[J].沈陽師范大學學報:自然科學版,2009,27(1).