摘 要:Visual FoxPro運用比較簡單與便捷,是現(xiàn)階段大量數(shù)據(jù)管理軟件當(dāng)中應(yīng)用比較普遍的一種。在許多桌面數(shù)據(jù)庫運用過程中,VF的信息數(shù)據(jù)處理比較迅速,并且在部分基礎(chǔ)性數(shù)據(jù)存儲行業(yè)中發(fā)揮著關(guān)鍵性作用。但是由于其是一種信息數(shù)據(jù)管理軟件,因此安全性十分重要。為了能夠有效提升VF安全性,就一定要對VF數(shù)據(jù)庫環(huán)境下的數(shù)據(jù)完成加密。
關(guān)鍵詞:Visual FoxPro;庫外加密;數(shù)據(jù)庫
中圖分類號:TP309.7
在數(shù)據(jù)庫運用的普遍化影響下,數(shù)據(jù)庫的安全性受到了高度重視。當(dāng)前大量的數(shù)據(jù)庫主要是以明文存儲,通過普通的身份驗證和識別,難以有效保證數(shù)據(jù)庫安全。因此,在進行身份驗證和識別過后,要應(yīng)用數(shù)據(jù)加密技術(shù)完成數(shù)據(jù)庫的有效保護。同時數(shù)據(jù)庫加密技術(shù)還可以把數(shù)據(jù)庫中相關(guān)數(shù)據(jù)當(dāng)作密文存儲。另外,運用數(shù)據(jù)庫加密技術(shù)可以有效保證數(shù)據(jù)庫的可靠性與安全性。
1 數(shù)據(jù)庫加密技術(shù)的概述
現(xiàn)階段,數(shù)據(jù)庫加密技術(shù)已漸漸趨于成熟。通常情況下,數(shù)據(jù)庫加密技術(shù)必須要具備多種功能。身份認(rèn)證功能,用戶不僅要提供用戶名與口令,還應(yīng)該嚴(yán)格依據(jù)系統(tǒng)安全需求提供其他有關(guān)的安全憑證,比如說應(yīng)用終端密鑰。數(shù)據(jù)庫通信加密以及完整性保護功能,所訪問的數(shù)據(jù)庫一定要在網(wǎng)絡(luò)的傳輸過程中進行加密,并且在每一次的通信時必須進行一次加密,這樣可以防止篡改。數(shù)據(jù)存儲加密功能,一般數(shù)據(jù)庫系統(tǒng)會選擇數(shù)據(jù)項級的存儲加密方式,也就是數(shù)據(jù)中具備不同的記錄,所有的記錄全是利用不同字段和不同密鑰進行加密,然后再利用校驗對策確保數(shù)據(jù)庫的安全性與保密性以及完整性,避免數(shù)據(jù)出現(xiàn)非授權(quán)訪問以及修改等。加密設(shè)置功能,數(shù)據(jù)庫系統(tǒng)應(yīng)該選取需求進行加密的數(shù)據(jù)庫列,從而有利于相關(guān)用戶選取部分敏感信息完成加密,并非所有的數(shù)據(jù)全完成加密。僅僅針對用戶敏感數(shù)據(jù)進行加密能夠在一定程度上提升數(shù)據(jù)庫自身的訪問速度。安全備份功能,系統(tǒng)可以提供數(shù)據(jù)庫的明文備份功能以及密鑰備份功能。
2 傳統(tǒng)數(shù)據(jù)加密技術(shù)存在的問題
2.1 固定密碼
固定密碼作為系統(tǒng)中唯一的密碼,其是不可以改變,一般是利用IF語言或是ACCEPT語言完成有關(guān)功能的授權(quán)。此密碼會在程序設(shè)計時所固定,并且在后期的應(yīng)用時無法完成相應(yīng)的修改,若想改變就一定要對源程序進行重新編寫,或者是應(yīng)用部分子程序?qū)崿F(xiàn)密碼的有效修改,總而言之靈活性以及安全性并不是很好。
2.2 固定密碼的簡單加密
其主要是對原本的固定密碼完成一次加密,此種加密方法與固定密碼方式相比較而言安全性比較高,可是密碼自身的值并不會發(fā)生改變,而且加密也比較簡單。此種加密技術(shù)主要有轉(zhuǎn)換方法與鑰匙方法。其中轉(zhuǎn)換方法就是對固定密碼自身完成一次運算,從而使密碼值出現(xiàn)固定變化,一般要利用下述語言實現(xiàn):
PASSWORD=CHR(65)+CHR(65)+CHR(67)+“0”
此語言利用的CHR()函數(shù)一般是經(jīng)過進行返回并以數(shù)值表達(dá)式作為編碼的字符,其中符號“+”主要用于字符的串聯(lián)接,而文中的語句完成轉(zhuǎn)換之后,PASSWORD值就是ABC0,此種簡單加密方法可以實現(xiàn)密碼保護,有效提升數(shù)據(jù)庫的安全性。另外,密鑰方法主要是把密碼存儲于一個特定裝置中,若是需要應(yīng)用密碼,可以將此“密鑰裝置”連接至系統(tǒng)中,從而使系統(tǒng)完成密碼的讀取和審核等。
2.3 可變密碼
其主要指密碼本身可以實現(xiàn)規(guī)律性變化,利用許多方式來完成加密,例如時間方法和位移方法等。比如說轉(zhuǎn)換方法,其一般是針對原來的密碼完成一次計算,把其轉(zhuǎn)換之后變成加密過后的密碼,而在密碼的應(yīng)用過程中,必須對加密過后的密碼完成一次倒序計算,從而獲取密碼本身。而時間方法就是利用DATE()函數(shù)和CDOW()函數(shù)完成加密的算法,此種加密密碼值主要是由所有時間和字符組成,其能夠在每天變化許多密碼,利用下述語言實現(xiàn):
VALUE1=DATE()
PASSWORD=SUBSTR(CDOW(VALUE1),1,3)+“VFPSYSTEM”
在此語言中,DATE()函數(shù)可以獲取目前的日期,再利用CDOW()函數(shù)依據(jù)目前的日期計算出今天的日期,然后運用SUBSTR()函數(shù)獲取字符串的相應(yīng)部分,最終應(yīng)用“+”連接對應(yīng)的字符串“VFPSYSTEM”構(gòu)成今天的密碼。相關(guān)操作人員一定要依據(jù)日期存在的差異完成密碼輸入,同時一周當(dāng)中的密碼是不會出現(xiàn)重復(fù)的,從而有效提升數(shù)據(jù)庫的安全性??偠灾?,上述的加密技術(shù)都比較簡單,而且安全性和防護功能水平偏低,因此必須采用高技術(shù)手段完成數(shù)據(jù)庫加密。
3 VF數(shù)據(jù)環(huán)境下的數(shù)據(jù)加密技術(shù)
在VF環(huán)境下進行數(shù)據(jù)庫系統(tǒng)的研究和開發(fā),通常狀況下要求所輸入的用戶名以及密碼一定要準(zhǔn)確,再依據(jù)各個用戶權(quán)限建立用戶讀取和修改以及刪除數(shù)據(jù)的相關(guān)權(quán)限。因為存儲數(shù)據(jù)DBF文件主要利用ASCII實現(xiàn)明文存儲,若是非法用戶并未通過應(yīng)用程序完成讀取,而是通過WINHEX、U1treaEdit等軟件。對此,為了可以使DBF文件具備安全性,一定要對數(shù)據(jù)載體DBF文件完成加密保護。
3.1 庫外加密技術(shù)
文件型的數(shù)據(jù)庫系統(tǒng)主要是以文件系統(tǒng)作為基礎(chǔ),采用庫外的加密方法,而且主要針對文件IO操作或是操作系統(tǒng)方面而言,由于數(shù)據(jù)庫中管理系統(tǒng)以及操作系統(tǒng)主要有直接運用文件系統(tǒng)的功能和運用操作系統(tǒng)中I/O模塊以及直接運用存儲管理三種接口模式。因此,利用數(shù)據(jù)庫外的加密方法過程中,一定要把數(shù)據(jù)進行內(nèi)存,然后運用DES和RSA等方式完成加密,這樣文件系統(tǒng)可以將每一次加密之后的內(nèi)存數(shù)據(jù)錄入至數(shù)據(jù)庫的文件當(dāng)中,從而在讀入的過程中實現(xiàn)逆方面的解密就能夠順利應(yīng)用。此種加密模式相對簡單,僅僅需求妥善管理好密鑰即可。但是存在一定的缺點,比如說數(shù)據(jù)庫的讀寫相對較為麻煩,而且每一次都要完成加密和解密工作,在一定程度上影響程序的編寫與讀寫數(shù)據(jù)庫速度。
3.2 庫內(nèi)加密技術(shù)
若是在關(guān)系型數(shù)據(jù)有關(guān)方面而言,庫內(nèi)加密技術(shù)比較容易實現(xiàn)。而關(guān)系型數(shù)據(jù)庫中主要術(shù)語包含了表和字段以及數(shù)據(jù)元素等。首先以表作為單位,從文件型數(shù)據(jù)庫角度而言,單個文件僅僅具備一張表,所以對表進行加密應(yīng)該就是完成文件的加密。經(jīng)過變化文件分配表當(dāng)中的說明等方法能夠完成文件比較簡單的加密,可是此種加密方法關(guān)系到文件系統(tǒng)的底層,比較容易出現(xiàn)FAI錯序,同時會影響文件系統(tǒng)的格式,因此通常不會利用此種加密方法。其次,以記錄或是字段作為單位進行加密,一般情況下,在訪問數(shù)據(jù)庫過程中主要是通過二維模式實現(xiàn)的,其中二維表中所有行全是數(shù)據(jù)庫中的一條記錄,并且二維表中所有列全是數(shù)據(jù)庫當(dāng)中的一個字段。若是以記錄作為單位完成加密,這樣每進行一條記錄的續(xù)寫,就要完成加密和解密,而且針對不需要進行訪問的記錄,并不需要進行加密,因此運用效率相對較高。
4 結(jié)束語
基于VF環(huán)境下的數(shù)據(jù)庫加密技術(shù)運用在一定程度上有效解決了數(shù)據(jù)可靠與安全問題,而且數(shù)據(jù)庫加密技術(shù)方法多種多樣,具備各自的特點。而在數(shù)據(jù)庫加密技術(shù)不斷發(fā)展下,其運用安全性變得更為重要。
參考文獻:
[1]李慶森.淺談VisualFoxR數(shù)據(jù)庫加密技術(shù)及其應(yīng)用田[J].計算機光盤軟件與應(yīng)用,2012(20):109-111.
[2]畢文才.VisualFoxpro數(shù)據(jù)庫的加密[J].電腦開發(fā)與應(yīng)用,2010(08):77-79.
[3]李萍.數(shù)據(jù)庫加密技術(shù)研究[J].忻州師范學(xué)院學(xué)報,2012(05):43-45.
[4](美)Jeffrey A. Hoffer, Mary B.Prescott,F(xiàn)red R.McFadden.現(xiàn)代數(shù)據(jù)庫管理,2013.
[5]徐坷.基于VF環(huán)境的數(shù)據(jù)庫加密技術(shù)[J].廣西輕工業(yè),2010(04):67-68.
作者單位:湘潭技師學(xué)院,湖南湘潭 411100