MD5加密技術(shù)在氣象數(shù)字檔案檢索平臺的應(yīng)用
為更好地利用近年來全國氣象歷史檔案數(shù)字化成果,方便用戶快速檢索查詢其檔案數(shù)據(jù)信息,擬搭建氣象寬帶網(wǎng)內(nèi)基于.NET的氣象數(shù)字檔案檢索平臺,并采用MD5算法對登錄用戶密碼以及數(shù)字檔案文件名進(jìn)行加密。
一、平臺框架與數(shù)據(jù)資源環(huán)境
1、平臺建設(shè)框架
所建平臺采用基于Asp.NET技術(shù)的Visualstudi0 2010為開發(fā)平臺的B/S模式架構(gòu),通過B/S模式,使用戶可以在氣象局域網(wǎng)內(nèi)以Web方式根據(jù)自身需求主動獲取檔案資料,極大提高資料利用率和服務(wù)效率。
2、氣象數(shù)字檔案歸檔整理
氣象數(shù)字檔案是珍貴的歷史資料,需要在特定的安全網(wǎng)路區(qū)域內(nèi)設(shè)置服務(wù)器,為此,筆者前期準(zhǔn)備了8T磁盤數(shù)據(jù)容量大小的NTFS格式磁盤陣列,后期準(zhǔn)備設(shè)置虛擬化的雙機熱備大容量數(shù)據(jù)存儲專用集群,防止數(shù)據(jù)缺失損壞的同時達(dá)到高速率的I/O讀寫。
編寫dos程序腳本對對數(shù)字檔案圖片按照一定的存儲策略進(jìn)行歸檔,便于后期快速定位和提取數(shù)字檔案。以文件央的形式按照“站點/氣表類型/年份/月份(可選)"的目錄結(jié)構(gòu)對數(shù)字檔案進(jìn)行歸類存儲,處理之后的最終文件夾的數(shù)字檔案文件數(shù)最多為90個左右(以氣表1為例,一個月有7~8張,按一年12個月計算),所以無需建立“月份”文件夾。
二、平臺關(guān)鍵技術(shù)
1、平臺信息數(shù)據(jù)加密
從涉密和安全角度出發(fā),采用MD5技術(shù)對平臺的登陸認(rèn)證和氣象數(shù)字檔案臨時文件名稱進(jìn)行加密,在.NET框架中的System.Security. Cryptogra-phy命名空間提供加密服務(wù),包括安全的數(shù)據(jù)編碼和解碼,以及其他操作,例如散列法、隨機數(shù)字生成和消息身份驗證等。此平臺的數(shù)據(jù)信息加密可以使用此命名空間下的HashAlgorithm類,此類是包含了所有加密哈希算法實現(xiàn)的基類,因此,通過封裝好的類調(diào)用現(xiàn)成的加密方法,可以輕松簡單的實現(xiàn)字符串?dāng)?shù)據(jù)的MD5加密。
2、平臺圖像特效展示
采用基于AdobeFlash的開源顯示控件并充分利用Macromedia Flash所具有的流暢功能來創(chuàng)建簡潔的、交互式(可隨意放大、縮小、拖動)的動態(tài)圖像,極大增強了數(shù)字檔案的可視效果。圖1為平臺運行流程框圖。
三、平臺主要功能設(shè)計與實現(xiàn)
1、用戶登錄
目前大部分的信息網(wǎng)絡(luò)系統(tǒng)都會進(jìn)行用戶登錄身份權(quán)限驗證,對于用戶登錄后輸入的密碼,有些系統(tǒng)直接把輸入的信息以明文方式傳遞到服務(wù)器端來校驗,有的數(shù)據(jù)庫中也以明文形式存儲密碼,這都存在極大的安全隱患,數(shù)據(jù)庫一旦遭受黑客入侵,竊取了其中的用戶密碼信息,就會造成不可彌補的損失。為了保證系統(tǒng)數(shù)據(jù)的安全,有效防止信息泄露,數(shù)據(jù)庫中密碼信息要以MD5算法加密后的形式來存儲,不可用明文或可逆算法來加密,在驗證用戶登錄過程中,系統(tǒng)將輸入的密碼轉(zhuǎn)換成相應(yīng)的MD5離散序列,再與數(shù)據(jù)庫中經(jīng)過MD5加密后的密碼進(jìn)行對比,如果兩數(shù)值完全一致,則登陸用戶為合法用戶。這種校驗方式的優(yōu)勢在于,假使黑客人侵竊取了密碼,不會造成大的損失,因為密碼是經(jīng)過MD5加密的,具有不可逆性,一般黑客能夠獲取實際的密碼值幾乎不可能。
為了更好地管理此平臺電子檔案的使用,目前平臺只建立15個登陸用戶,分別為管理員用戶以及廣西14各地市局用戶,只允許相關(guān)的人員檢索相關(guān)電子檔案,能夠有效的保護(hù)數(shù)字檔案數(shù)據(jù)。登錄時密碼需要進(jìn)行MD5加密,其加密過程利用哈希函數(shù)在特定算法下生成一個128位的固定長度的哈希值,用生成的哈希值與存儲在數(shù)據(jù)庫中的哈希值進(jìn)行比對,完全一致則密碼輸入正確,這就保證了即使數(shù)據(jù)遭受黑客人侵,竊取了密碼哈希值,也很難通過破解獲取真實的密碼,這樣可很好地保護(hù)用戶的密碼信息。此外,用戶登錄時除了輸入密碼還需要提交驗證碼,它是一種區(qū)分用戶是計算機還是人的公共全自動程序,目前很多的網(wǎng)站通用的方式為計算機特定程序產(chǎn)生的一串隨機數(shù)字符號,一般為4~6位加了干擾的字母和數(shù)字圖片,需要用戶自己識別其中的驗證碼信息,輸入相應(yīng)的信息提交驗證,驗證成功后才能登錄,驗證碼可以有效防止非法用戶惡意破解密碼、刷票等非法行為,特別是防止入侵黑客對某一個特定登錄用戶用特定程序用窮舉法破解方式不斷進(jìn)行登陸嘗試,從而獲取登錄密碼。下面列出在.NET環(huán)境下的MD5加密過程步驟,圖2為MD5加密后的密碼信息數(shù)據(jù)庫截圖。
步驟1:將輸入的密碼字符串轉(zhuǎn)換成二進(jìn)制字節(jié)位。
步驟2:計算轉(zhuǎn)換后的字節(jié)數(shù)據(jù)的哈希值。
步驟3:將此哈希值與數(shù)據(jù)庫的Password進(jìn)行比對,判斷一致性從而判斷是否為合法用戶:
2、氣象數(shù)字檔案檢索與顯示
采用基于Adobe的Flash控件以及JavaScript腳本對被檢索的數(shù)字檔案進(jìn)行顯示,基于安全考慮,對被檢索的數(shù)字檔案名稱同樣采用了MD5進(jìn)行文件名加密,以屏蔽數(shù)字檔案命名規(guī)律。關(guān)鍵步驟如下:
步驟l:根據(jù)檢索條件在服務(wù)器目錄中逐級找到目的數(shù)字檔案圖片組,例如1960年1月,站點信息為5 7859的氣表QBI圖片組,共8張。
步驟2:按目的數(shù)字檔案圖片組的圖片順序編號逐張對其圖片名稱進(jìn)行MD5加密。圖3為數(shù)字檔案圖片組加密后在內(nèi)存查看到的數(shù)組信息。
步驟3:將加密后的圖片組拷貝至網(wǎng)站服務(wù)器臨時圖片存放目錄Tmplmage。
步驟4:客戶端通過參數(shù)傳遞形式提交至服務(wù)器端,服務(wù)器端獲取參數(shù),拼接實際物理路徑,調(diào)用js代碼,進(jìn)行Flash顯示控件參數(shù)填充,如顯示標(biāo)題,圖片順序排列等。
步驟5:用戶查閱圖片,可縮放、拖動瀏覽。
經(jīng)過上述幾個步驟,客戶端用戶不可能通過文件名規(guī)律改動網(wǎng)頁傳遞參數(shù)去瀏覽獲取其他數(shù)字檔案,黑客即使進(jìn)入了服務(wù)器顯示目錄,那也只是臨時目錄,實際的物理目錄進(jìn)行了防火墻物理隔離,很難進(jìn)入也很難非法獲取其中的檔案圖片。圖4為平臺用戶操作步驟示意圖;圖5為數(shù)字檔案顯示界面效果圖。
小知識之MD5
MD5的全稱是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest開發(fā)出來,經(jīng)MD2、MD3和MD4發(fā)展而來。







