本發(fā)明涉及it與軟件開發(fā),具體涉及一種模型驅(qū)動的數(shù)據(jù)庫加密儲存方法和一種模型驅(qū)動的數(shù)據(jù)庫加密儲存系統(tǒng)。
背景技術(shù):
1、隨著信息技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)安全越來越被人們所重視,數(shù)據(jù)安全更是成為重中之重,成為信息時代的核心議題。在眾多數(shù)據(jù)安全措施中,僅僅數(shù)據(jù)脫敏展示已不能滿足許多行業(yè)法規(guī)及企業(yè)管理制度要求,敏感信息在數(shù)據(jù)庫中加密存儲已然成為必選的一種關(guān)鍵的技術(shù)手段,用以確保數(shù)據(jù)庫中靜態(tài)數(shù)據(jù)的安全性,從而保護(hù)個人隱私和企業(yè)信息安全。
2、數(shù)據(jù)加密涉及的技術(shù)指標(biāo)主要包括加密算法的選擇、加密策略的制定、密鑰管理、以及加解密的性能。
3、tde(transparent?data?encryption,透明數(shù)據(jù)加密)的數(shù)據(jù)庫級加密技術(shù),雖然可以簡化加密管理,但查詢性能較差;行級加密,雖有一定的靈活性,但管理復(fù)雜性和性能開銷依舊很高。故為平衡安全性與性能,一般都是采用列級加密,只加密特定的敏感列,如密碼、身份證號、手機(jī)號等,而其他列保持明文狀態(tài)。但很多的數(shù)據(jù)庫系統(tǒng)在實施加密時,都需要進(jìn)行硬編碼來對特定的數(shù)據(jù)庫字段進(jìn)行加密存儲和解密讀取操作,不易于擴(kuò)展和調(diào)整。
技術(shù)實現(xiàn)思路
1、本發(fā)明為解決上述技術(shù)問題,提供了一種模型驅(qū)動的數(shù)據(jù)庫加密儲存方法和系統(tǒng),不僅能夠提升敏感字段匹配獲取效率,還能保障了數(shù)據(jù)的安全,同時節(jié)約了研發(fā)成本。
2、本發(fā)明采用的技術(shù)方案如下:
3、一種模型驅(qū)動的數(shù)據(jù)庫加密儲存方法,包括以下步驟:定義配置文件,并規(guī)定所述配置文件的名稱、內(nèi)容格式和規(guī)范,所述配置文件的內(nèi)容為敏感信息的數(shù)據(jù)表模型實體類完全限定名和屬性字段;創(chuàng)建敏感字段配置管理器,并通過所述敏感字段配置管理器對所述配置文件進(jìn)行加載以獲取敏感信息模型實體和屬性字段;創(chuàng)建敏感信息的加密和解密工具,并通過所述加密和解密工具對所述敏感信息進(jìn)行加密和解密;創(chuàng)建數(shù)據(jù)訪問層攔截器,并通過所述數(shù)據(jù)訪問層攔截器攔截dao(data?access?objects,數(shù)據(jù)存取對象)數(shù)據(jù)訪問的入?yún)⒑统鰠?;通過所述敏感字段配置管理器識別入?yún)⒑统鰠⒅械拿舾袑傩宰侄?,并通過反射技術(shù)讀取所述敏感屬性字段的內(nèi)容;通過所述加密和解密工具對所述入?yún)⒅械拿舾凶侄渭用芤约皩λ龀鰠⒅械乃雒舾袑傩宰侄谓饷?,并通過所述反射技術(shù)回寫加密和解密后的敏感屬性字段內(nèi)容。
4、在本發(fā)明的一個實施例中,所述的通過所述加密工具對敏感數(shù)據(jù)進(jìn)行加密,具體包括:定義unicode碼點分隔符,所述unicode碼點分隔符用于分隔原始字符串中每個字符對應(yīng)的密文;建立十六進(jìn)制混淆算法;循環(huán)遍歷將要加密的敏感數(shù)據(jù)字符串中的每個所述字符轉(zhuǎn)換為對應(yīng)的十六進(jìn)制碼點,并通過所述十六進(jìn)制混淆算法對每個所述字符對應(yīng)的十六進(jìn)制的unicode碼點進(jìn)行逐一混淆;通過所述unicode碼點分隔符將混淆后的十六進(jìn)制碼點拼接成新字符串作為密文返回。
5、在本發(fā)明的一個實施例中,所述的通過所述解密工具對所述敏感信息進(jìn)行解密,具體包括:通過所述unicode碼點分隔符將密文字段拆分成數(shù)組,并循環(huán)遍歷;通過混淆還原算法將所述十六進(jìn)制碼點逐一轉(zhuǎn)回字符型并拼接成結(jié)果字符串。
6、在本發(fā)明的一個實施例中,所述混淆算法和所述混淆還原算法為基于每個字符的ascii值進(jìn)行異或位運算。
7、在本發(fā)明的一個實施例中,兩個存在包含關(guān)系的字符串經(jīng)過加密和解密后仍保持原始的包含關(guān)系,并且在加密和解密的過程中無額外的密鑰分配管理。
8、一種模型驅(qū)動的數(shù)據(jù)庫加密儲存系統(tǒng),包括:定義模塊,所述定義模塊用于定義配置文件,并規(guī)定所述配置文件的名稱、內(nèi)容格式和規(guī)范,所述配置文件的內(nèi)容為敏感信息的數(shù)據(jù)表模型實體類完全限定名和屬性字段;獲取模塊,所述獲取模塊用于創(chuàng)建敏感字段配置管理器,并通過所述敏感字段配置管理器對所述配置文件進(jìn)行加載以獲取敏感信息模型實體和屬性字段;加解密模塊,所述加解密模塊用于創(chuàng)建敏感信息的加密和解密工具,并通過所述加密和解密工具對所述敏感信息進(jìn)行加密和解密;攔截模塊,所述攔截模塊用于創(chuàng)建數(shù)據(jù)訪問層攔截器,并通過所述數(shù)據(jù)訪問層攔截器攔截dao數(shù)據(jù)訪問的入?yún)⒑统鰠?;讀取模塊,所述讀取模塊用于通過所述敏感字段配置管理器識別入?yún)⒑统鰠⒅械拿舾袑傩宰侄?,并通過反射技術(shù)讀取所述敏感屬性字段的內(nèi)容;回寫模塊,所述回寫模塊用于通過所述加密和解密工具對所述入?yún)⒅械拿舾凶侄渭用芤约皩λ龀鰠⒅械乃雒舾袑傩宰侄谓饷?,并通過所述反射技術(shù)回寫加密和解密后的敏感屬性字段內(nèi)容。
9、在本發(fā)明的一個實施例中,所述加解密模塊還用于:定義unicode碼點分隔符,所述unicode碼點分隔符用于分隔原始字符串中每個字符對應(yīng)的密文;建立十六進(jìn)制混淆算法;循環(huán)遍歷將要加密的敏感數(shù)據(jù)字符串中的每個所述字符轉(zhuǎn)換為對應(yīng)的十六進(jìn)制碼點,并通過所述十六進(jìn)制混淆算法對每個所述字符對應(yīng)的十六進(jìn)制的unicode碼點進(jìn)行逐一混淆;通過所述unicode碼點分隔符將混淆后的十六進(jìn)制碼點拼接成新字符串作為密文返回。
10、在本發(fā)明的一個實施例中,所述加解密模塊還用于:通過所述unicode碼點分隔符將密文字段拆分成數(shù)組,并循環(huán)遍歷;通過混淆還原算法將所述十六進(jìn)制碼點逐一轉(zhuǎn)回字符型并拼接成結(jié)果字符串。
11、在本發(fā)明的一個實施例中,所述混淆算法和所述混淆還原算法為基于每個字符的ascii值進(jìn)行異或位運算。
12、在本發(fā)明的一個實施例中,兩個存在包含關(guān)系的字符串經(jīng)過加密和解密后仍保持原始的包含關(guān)系,并且在加密和解密的過程中無額外的密鑰分配管理。
13、本發(fā)明的有益效果:
14、本發(fā)明通過定義配置文件并規(guī)定配置文件的名稱、內(nèi)容格式和規(guī)范,然后創(chuàng)建敏感字段配置管理器,并對配置文件進(jìn)行加載以獲取敏感信息模型實體和屬性字段,其次創(chuàng)建敏感信息的加密和解密工具,并對敏感信息進(jìn)行加密和解密,之后通過獲取數(shù)據(jù)訪問層攔截器攔截dao數(shù)據(jù)訪問的入?yún)⒑统鰠?,以及通過敏感字段配置管理器識別入?yún)⒑统鰠⒅械拿舾袑傩宰侄?,并通過反射技術(shù)讀取敏感屬性字段的內(nèi)容,最后通過加密和解密工具對入?yún)⒅械拿舾凶侄渭用芤约皩Τ鰠⒅械拿舾袑傩宰侄谓饷埽⑼ㄟ^反射技術(shù)回寫加密和解密后的敏感屬性字段內(nèi)容,由此,不僅能夠提升敏感字段匹配獲取效率,還能保障了數(shù)據(jù)的安全,同時節(jié)約了研發(fā)成本。
1.一種模型驅(qū)動的數(shù)據(jù)庫加密儲存方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的模型驅(qū)動的數(shù)據(jù)庫加密儲存方法,其特征在于,所述的通過所述加密工具對敏感數(shù)據(jù)進(jìn)行加密,具體包括:
3.根據(jù)權(quán)利要求2所述的模型驅(qū)動的數(shù)據(jù)庫加密儲存方法,其特征在于,所述的通過所述解密工具對所述敏感信息進(jìn)行解密,具體包括:
4.根據(jù)權(quán)利要求3所述的模型驅(qū)動的數(shù)據(jù)庫加密儲存方法,其特征在于,所述混淆算法和所述混淆還原算法為基于每個字符的ascii值進(jìn)行異或位運算。
5.根據(jù)權(quán)利要求4所述的模型驅(qū)動的數(shù)據(jù)庫加密儲存方法,其特征在于,兩個存在包含關(guān)系的字符串經(jīng)過加密和解密后仍保持原始的包含關(guān)系,并且在加密和解密的過程中無額外的密鑰分配管理。
6.一種模型驅(qū)動的數(shù)據(jù)庫加密儲存系統(tǒng),其特征在于,包括:
7.根據(jù)權(quán)利要求6所述的模型驅(qū)動的數(shù)據(jù)庫加密儲存系統(tǒng),其特征在于,所述加解密模塊還用于:
8.根據(jù)權(quán)利要求7所述的模型驅(qū)動的數(shù)據(jù)庫加密儲存系統(tǒng),其特征在于,所述加解密模塊還用于:
9.根據(jù)權(quán)利要求8所述的模型驅(qū)動的數(shù)據(jù)庫加密儲存系統(tǒng),其特征在于,所述混淆算法和所述混淆還原算法為基于每個字符的ascii值進(jìn)行異或位運算。
10.根據(jù)權(quán)利要求9所述的模型驅(qū)動的數(shù)據(jù)庫加密儲存系統(tǒng),其特征在于,兩個存在包含關(guān)系的字符串經(jīng)過加密和解密后仍保持原始的包含關(guān)系,并且在加密和解密的過程中無額外的密鑰分配管理。