基于ASP的農(nóng)業(yè)信息系統(tǒng)中軟加密技術(shù)的應(yīng)用

農(nóng)業(yè)信息化的過程中,基干動態(tài)服務(wù)頁面技術(shù)(ASP)的農(nóng)業(yè)信息系統(tǒng)發(fā)展迅速,然而面臨的安全性問題也日益突出。為此我們提出了一種基于ASP的農(nóng)業(yè)信息系統(tǒng)進行多重加密的方法——軟加密技術(shù),從而使得我們在農(nóng)業(yè)信息化的道路上走得更為穩(wěn)健和安全。

基于ASP的農(nóng)業(yè)信息系統(tǒng)中軟加密技術(shù)的應(yīng)用

軟加密技術(shù)是指通過軟件編程來實現(xiàn)系統(tǒng)數(shù)據(jù)的加密,在基于ASP的農(nóng)業(yè)信息系統(tǒng)中腳本技術(shù)是實現(xiàn)加密的一種重要的技術(shù)手段。

1、使用JavaScnpt腳本技術(shù)對WEB頁面進行初步加密

JavaScript腳本技術(shù)是WEB頁面中嵌入HTML語言使用的描述性語言。通過JavaScript腳本可以簡便的完成大多數(shù)的交互功能,同時也可以直接在客戶端完成一定的處理。例如:對于用戶表單的提交不用傳輸?shù)椒?wù)器端對用戶提交的事件進行響應(yīng),利用客戶端的JavaScript腳本的應(yīng)用子程序就可以直接處理。從而我們可以利用這個特點對網(wǎng)頁進行初步加密。

(1)利用JavaScript腳本實現(xiàn)密碼校驗

對于靜態(tài)頁面,我們可以通過以下JavaScript腳本子程序?qū)崿F(xiàn)密碼校驗,同樣,如果對于動態(tài)頁面我們只需要將下面程序中的相應(yīng)密碼變量(如password)替換為服務(wù)器端數(shù)據(jù)庫中獲取的字段(具體子程序略):

以上子程序中使用了while循環(huán),并且是死循環(huán),也就是說,如果密碼校驗不正確就無法進行下一步操作,比較常用的右鍵和菜單查看源文件的方法這時就無法使用。但是可以重新開啟頁面去查看源文件,于是我們可以利用JavaScript腳本禁止右鍵功能。

(2)利用JavaScript腳本禁止右鍵功能

下面程序我們捕捉鼠標按鍵信息,對其進行識別,針對鼠標右鍵的按下操作彈出警告。

通過上面的JavaScript腳本子程序可以禁止右鍵的快捷菜單彈出,從而讓非法用戶無法查看源文件,也就無法看到靜態(tài)頁面的代碼。

(3)利用JavaScript腳本控制密碼輸入次數(shù)

以上子程序通過JavaScript腳本控制輸入密碼的次數(shù)(程序中用n來設(shè)置),以防止非法用戶通過算碼器等軟件窮舉密碼。 2、利用網(wǎng)頁制作框架技術(shù)與JavaScript腳本技術(shù)結(jié)合進行雙重加密 利用JavaScript腳本對網(wǎng)頁進行加密的好處是可以在客戶端就解決一定的問題,而不需要特別的服務(wù)器端程序(如ASP、JSP、PHP、CGI等)支持,也就不要訪問服務(wù)器數(shù)據(jù)庫,從而可以減輕服務(wù)器的數(shù)據(jù)訪問壓力。然而,網(wǎng)頁代碼如果被有一定編程經(jīng)驗的非法用戶看到了,那么也比較容易識別出JavaScript腳本中靜態(tài)的密碼,即使是動態(tài)頁面從服務(wù)器端獲取的密碼在源代碼中,也可能暴露數(shù)據(jù)庫的地址,從而有可能被非法用戶獲取數(shù)據(jù)庫內(nèi)容。 針對這樣情況的一種簡單可行的解決方法是結(jié)合網(wǎng)頁框架技術(shù)和JavaScript腳本技術(shù)進行雙重加密。為了不讓非法用戶查看網(wǎng)頁文件的源代碼,我們可以使用障眼法,利用框架網(wǎng)頁使得非法用戶看到的只是父框架的源代碼,而不是我們要保護的真正登錄頁面的源代碼。具體算法如下: 首先,建立首頁,選取該頁面的類型為框架頁面,一般取名為index.html。 然后,給該頁面內(nèi)嵌框架只需調(diào)整為一個,取名為mian.html,并將其長寬屬性設(shè)置為100%。從而使得父框架和真正登錄頁面看起來是同—個。 最后,在內(nèi)嵌框架頁面中使用以下JaVaScript腳本代碼禁止鼠標右鍵菜單。

這樣一來,即使使用菜單命令所看到的源代碼也只是父框架頁面的代碼,而這個頁面中沒有任何有用的信息。

3、利用FLASH的Action Script腳本對頁面進行保護

隨著FLASH技術(shù)的不斷發(fā)展,其作用也不僅僅局限在制作動畫。FIASH中的Action Script 2.0腳本使得它對于鏈接的保護具有特定的作用。

我們可以利用FLASH提供的動態(tài)文本來完成密碼校驗的功能,首先設(shè)置兩個動態(tài)文本,對其變量屬性設(shè)置分別設(shè)置為a、b(如圖1),登錄為按鈕,用于觸發(fā)Action Script腳本。在對應(yīng)的Action Script腳本中,針對登錄按鈕上的單擊動作觸發(fā)以下代碼:

if(a==”用戶名”and b==“密碼")then {

GetURL==“success URL”}//用戶名和密碼正確,連接目標地址鏈接Else IGetURL==“l(fā)ost URL”}//用戶名和密碼不確,連接錯誤地址鏈接導出動畫,插入到網(wǎng)頁中就可以了,由于FLASH文件無法直接看到源碼,所以對于保護鏈接來說是一個很好的工具。如果非法用戶查看源文件,只能看到頁面HTML代碼,得不到有效代碼。

 

4、對后臺數(shù)據(jù)庫采用加密算法

對于數(shù)據(jù)采用加密算法,即使非法用戶能夠進入數(shù)據(jù)庫,所獲取的用戶名和密碼也是加密后的密文,而不是真正的用戶名和密碼。這樣的數(shù)據(jù)加密算法比較多,例如常用的公鑰算法、DES算法、替代算法等。我們這里簡單介紹一下替代算法的一種:取用戶名和密碼的明文字符的ASCII碼的二進制,然后全部對其進行一定位數(shù)的左移位或右移位運算,然后再還原為字符形式,這樣得到的就是密文字符。

5、綜合運用多類型腳本對基于ASP的農(nóng)業(yè)信息系統(tǒng)進行多重加密

綜上所述,我們綜合運用以上加密方法就可以實現(xiàn)基于ASP的農(nóng)業(yè)信息系統(tǒng)的多重安全機制。例如:我們可以利用FLASH MX 2004生成登錄的SWF文件;然后將其插入登錄網(wǎng)頁,該網(wǎng)頁再內(nèi)嵌到框架網(wǎng)頁中,同時對數(shù)據(jù)庫采用加密算法。這樣多重的安全機制將大大加強我們系統(tǒng)的安全性。

小知識之ASP

ASP是動態(tài)服務(wù)器頁面(Active Server Page)外語縮寫。是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網(wǎng)頁文件的格式是 .asp?,F(xiàn)在常用于各種動態(tài)網(wǎng)站中。