本發(fā)明涉及數(shù)據(jù)加密技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)庫內(nèi)容加密方法及系統(tǒng)。
背景技術(shù):
加密,在計(jì)算機(jī)領(lǐng)域中早已不是一個(gè)陌生的詞匯。由于目前我國的軟件保護(hù)法制還不太健全,人們的法制觀念也比較淡薄,并且計(jì)算機(jī)軟件是一種特殊的商品,極易復(fù)制,所以加密就成為了保護(hù)軟件的一種必要手段。現(xiàn)在市場上流行的軟件多數(shù)都采取了一定的加密方法,其目的就在于保護(hù)軟件開發(fā)者的利益,防止軟件被盜版。
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)據(jù)庫的應(yīng)用已經(jīng)十分廣泛,深入到了各個(gè)領(lǐng)域。特別是進(jìn)入云時(shí)代和大數(shù)據(jù)時(shí)代后,越來越多重要的數(shù)據(jù)存入了數(shù)據(jù)庫中。但是,如果政府機(jī)構(gòu)的一些政策法規(guī)、絕密文件,商業(yè)機(jī)構(gòu)的一些商業(yè)秘密,金融機(jī)構(gòu)的個(gè)人信息和金融財(cái)產(chǎn)信息等等各種敏感數(shù)據(jù)都以明文形式儲(chǔ)存,那將是災(zāi)難性的。只要稍微具有一點(diǎn)數(shù)據(jù)庫的專業(yè)知識(shí),就可以輕而易舉的獲取到這些關(guān)系到國家的安全、企業(yè)的興衰的信息。因此,如何有效地保證數(shù)據(jù)庫系統(tǒng)的安全,實(shí)現(xiàn)數(shù)據(jù)庫的保密性、完整性、有效性和可用性,已經(jīng)成為業(yè)界人士研究的重要課題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種數(shù)據(jù)庫內(nèi)容加密方法及系統(tǒng),保證用戶輸入數(shù)據(jù)庫中的數(shù)據(jù)信息的安全性,不易被其他用戶或黑客竊取。
為了解決上述技術(shù)問題,本發(fā)明提供了了一種數(shù)據(jù)庫內(nèi)容加密方法,所述方法包括:
對(duì)用戶身份信息進(jìn)行驗(yàn)證,通過驗(yàn)證后,允許所述用戶向數(shù)據(jù)庫寫入原始數(shù)據(jù)信息;
對(duì)所述原始數(shù)據(jù)信息進(jìn)行對(duì)稱密鑰加密處理,獲取對(duì)稱密鑰加密數(shù)據(jù)信息;
對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行口令加密處理,獲取口令加密數(shù)據(jù)信息。
優(yōu)選地,所述對(duì)用戶身份信息進(jìn)行驗(yàn)證,包括:
用戶通過用輸入登錄賬號(hào)信息和登錄密碼信息;
將所述用戶輸入所述登錄賬號(hào)信息和所述登錄密碼信息上傳至數(shù)據(jù)庫服務(wù)器進(jìn)行匹配;
匹配成功,則所述用戶身份信息驗(yàn)證通過,否則,所述用戶身份信息驗(yàn)證不通過。
優(yōu)選地,所述對(duì)稱密鑰加密為AES、ARIA、SEED、TDES或者DES。
優(yōu)選地,所述對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行口令加密處理,包括:
獲取用戶輸入對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息加密的口令信息;
采用單向函數(shù)處理所述加密口令信息處理,對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行加密,獲取口令加密數(shù)據(jù)信息。
另外,本發(fā)明還提供了一種數(shù)據(jù)庫內(nèi)容加密系統(tǒng),所述系統(tǒng)包括:
身份驗(yàn)證模塊:用于對(duì)用戶身份信息進(jìn)行驗(yàn)證,通過驗(yàn)證后,允許所述用戶向數(shù)據(jù)庫寫入原始數(shù)據(jù)信息;
對(duì)稱加密模塊:用于對(duì)所述原始數(shù)據(jù)信息進(jìn)行對(duì)稱密鑰加密處理,獲取對(duì)稱密鑰加密數(shù)據(jù)信息;
口令加密模塊:用于對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行口令加密處理,獲取口令加密數(shù)據(jù)信息。
優(yōu)選地,所述身份驗(yàn)證模塊包括:
登錄單元:用于用戶通過用輸入登錄賬號(hào)信息和登錄密碼信息;
匹配單元:用于將所述用戶輸入所述登錄賬號(hào)信息和所述登錄密碼信息上傳至數(shù)據(jù)庫服務(wù)器進(jìn)行匹配,匹配成功,則所述用戶身份信息驗(yàn)證通過,否則,所述用戶身份信息驗(yàn)證不通過。
優(yōu)選地,所述對(duì)稱密鑰加密為AES、ARIA、SEED、TDES或者DES。
優(yōu)選地,所述口令加密模塊包括:
信息獲取單元:用于獲取用戶輸入對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息加密的口令信息;
加密單元:用于采用單向函數(shù)處理所述加密口令信息處理,對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行加密,獲取口令加密數(shù)據(jù)信息。
在本發(fā)明實(shí)施例中,首先通過對(duì)用戶的身份信息進(jìn)行驗(yàn)證,然后對(duì)數(shù)據(jù)信息進(jìn)行對(duì)稱加密處理,最后口令加密處理,保證用戶輸入數(shù)據(jù)庫中的數(shù)據(jù)信息的安全性,不易被其他用戶或黑客竊取。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見的,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1是本發(fā)明實(shí)施例中的數(shù)據(jù)庫內(nèi)容加密方法的流程示意圖;
圖2是本發(fā)明實(shí)施例中的數(shù)據(jù)庫內(nèi)容加密系統(tǒng)的結(jié)構(gòu)組成示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1是本發(fā)明實(shí)施例中的數(shù)據(jù)庫內(nèi)容加密方法的流程示意圖,如圖1所示,所述方法包括:
S11:對(duì)用戶身份信息進(jìn)行驗(yàn)證,通過驗(yàn)證后,允許所述用戶向數(shù)據(jù)庫寫入原始數(shù)據(jù)信息;
S12:對(duì)所述數(shù)據(jù)信息進(jìn)行對(duì)稱密鑰加密處理,獲取對(duì)稱密鑰加密數(shù)據(jù)信息;
S13:對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行口令加密處理,獲取口令加密數(shù)據(jù)信息。
對(duì)S11作進(jìn)一步說明:
用戶通過用輸入登錄賬號(hào)信息和登錄密碼信息;將所述用戶輸入所述登錄賬號(hào)信息和所述登錄密碼信息上傳至數(shù)據(jù)庫服務(wù)器進(jìn)行匹配;匹配成功,則所述用戶身份信息驗(yàn)證通過,否則,所述用戶身份信息驗(yàn)證不通過;在用戶身份驗(yàn)證通過之后,可以允許用戶登錄數(shù)據(jù)庫,并向該數(shù)據(jù)庫中寫入原始數(shù)據(jù)信息。
進(jìn)一步的,用戶在通過終端(所述終端包括不限于PC端、智能手機(jī)、平板電腦)進(jìn)入數(shù)據(jù)庫系統(tǒng)時(shí),數(shù)據(jù)庫彈出需要用戶進(jìn)行身份驗(yàn)證,需要用戶輸入登錄數(shù)據(jù)庫的賬號(hào)信息和該賬號(hào)信息對(duì)應(yīng)的登錄密碼信息,數(shù)據(jù)庫在獲取到用戶的賬號(hào)信息和該賬號(hào)信息對(duì)應(yīng)的密碼信息后,將上述信息反饋到數(shù)據(jù)庫服務(wù)器中,服務(wù)器首先在根據(jù)用戶輸入的賬號(hào)信息進(jìn)行比對(duì)匹配,查看是否存在該賬號(hào)信息,若不存在,則不需要繼續(xù)匹配賬號(hào)信息與輸入的該賬號(hào)信息對(duì)應(yīng)的密碼信息;若存在,則繼續(xù)匹配賬號(hào)信息與輸入的該賬號(hào)信息對(duì)應(yīng)的密碼信息,若是匹配成功,則認(rèn)為用戶的身份信息驗(yàn)證通過,允許用戶登錄該數(shù)據(jù)庫;若是驗(yàn)證不成功,則認(rèn)為用戶身份驗(yàn)證不通過,不允許用戶登錄該數(shù)據(jù)庫;在用戶身份驗(yàn)證通過之后,用戶登錄該數(shù)據(jù)庫,并向該數(shù)據(jù)庫寫入相應(yīng)的原始數(shù)據(jù)信息。
對(duì)S12作進(jìn)一步說明:
通過對(duì)稱密鑰的方式對(duì)用戶輸入的原始數(shù)據(jù)信息進(jìn)行加密處理,并且獲得相應(yīng)的加密處理之后的堆成密鑰加密數(shù)據(jù)信息;述對(duì)稱密鑰加密為AES、ARIA、SEED、TDES、3DES或者DES。
進(jìn)一步的,在本發(fā)明實(shí)施例中,采用3DES算法對(duì)原始數(shù)據(jù)進(jìn)行加密處理;3DES又稱Triple DES,是DES加密算法的一種模式,該算法是采用三條168位的密鑰對(duì)數(shù)據(jù)進(jìn)行三次加密,具體實(shí)現(xiàn)為:設(shè)Ek()和Dk()代表3DES算法的加密和解密過程,k代表3DES算法使用的密鑰,P代表明文、C代表密文,加密過程如下:
C=Ek3(Dk2(Ek1(P)));
解密過程如下:
P=Dk1(EK2(Dk3(C)));
通過上述的具體實(shí)施過程,對(duì)原始數(shù)據(jù)進(jìn)行相應(yīng)的加密,防止非法用戶強(qiáng)行攻破數(shù)據(jù)庫防御后,直接獲取相應(yīng)的數(shù)據(jù)信息。
對(duì)S13作進(jìn)一步說明:
獲取用戶輸入對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息加密的口令信息;采用單向函數(shù)處理所述加密口令信息處理,對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行加密,獲取口令加密數(shù)據(jù)信息。
進(jìn)一步的,首先從上述S12中獲取對(duì)稱密鑰加密數(shù)據(jù)信息,為了保證口令加密的私密性,采用了一種為“單向函數(shù)”的方法處理口令信息,簡單的說很容易從口令信息推算出函數(shù)值,但是很難從函數(shù)值推算出口令信息;盡管從表面上看來這些似乎是沒有什么用處的功能,但是的確被廣泛用于保證系統(tǒng)密碼的完整性,,單向加密的口令一旦落入第三方的手里,由于不能被還原為明文,因此也沒有什么大用處;在驗(yàn)證用戶輸入的口令時(shí),用戶的輸入采用的也是單向算法,如果輸入與存儲(chǔ)的經(jīng)加密后的口令相匹配,則輸入的口信一定是正確的;采用的單向算法函數(shù)為:
F(X)=Y(jié)0+Y1*x1+Y2*x2+Y3*x3…..Yn*xn;
其中,系數(shù)Yi,i=1、2、3…n定義為互異且互質(zhì)的數(shù),xj,j=1、2、3…n則是加密的內(nèi)容。
采用上述單向函數(shù)處理所述加密口令信息處理,對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行加密,獲取口令加密數(shù)據(jù)信息。
圖2是本發(fā)明實(shí)施例中的數(shù)據(jù)庫內(nèi)容加密系統(tǒng)的結(jié)構(gòu)組成示意圖,如圖2所示,本發(fā)明還提供了一種數(shù)據(jù)庫內(nèi)容加密系統(tǒng),所述系統(tǒng)包括:
身份驗(yàn)證模塊11:用于對(duì)用戶身份信息進(jìn)行驗(yàn)證,通過驗(yàn)證后,允許所述用戶向數(shù)據(jù)庫寫入原始數(shù)據(jù)信息;
對(duì)稱加密模塊12:用于對(duì)所述原始數(shù)據(jù)信息進(jìn)行對(duì)稱密鑰加密處理,獲取對(duì)稱密鑰加密數(shù)據(jù)信息;
口令加密模塊13:用于對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行口令加密處理,獲取口令加密數(shù)據(jù)信息。
優(yōu)選地,所述身份驗(yàn)證模塊11包括:
登錄單元:用于用戶通過用輸入登錄賬號(hào)信息和登錄密碼信息;
匹配單元:用于將所述用戶輸入所述登錄賬號(hào)信息和所述登錄密碼信息上傳至數(shù)據(jù)庫服務(wù)器進(jìn)行匹配,匹配成功,則所述用戶身份信息驗(yàn)證通過,否則,所述用戶身份信息驗(yàn)證不通過。
優(yōu)選地,所述對(duì)稱密鑰加密為AES、ARIA、SEED、TDES、3DES或者DES。
優(yōu)選地,所述口令加密模塊13包括:
信息獲取單元:用于獲取用戶輸入對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息加密的口令信息;
加密單元:用于采用單向函數(shù)處理所述加密口令信息處理,對(duì)所述對(duì)稱密鑰加密數(shù)據(jù)信息進(jìn)行加密,獲取口令加密數(shù)據(jù)信息。
在本發(fā)明實(shí)施例中,首先通過對(duì)用戶的身份信息進(jìn)行驗(yàn)證,然后對(duì)數(shù)據(jù)信息進(jìn)行對(duì)稱加密處理,最后口令加密處理,保證用戶輸入數(shù)據(jù)庫中的數(shù)據(jù)信息的安全性,不易被其他用戶或黑客竊取。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁盤或光盤等。
另外,以上對(duì)本發(fā)明實(shí)施例所提供的一種數(shù)據(jù)庫內(nèi)容加密方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)采用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。