国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于隨機鹽的自主可控數(shù)據(jù)庫數(shù)據(jù)加密檢索方法和系統(tǒng)與流程

      文檔序號:12271583閱讀:347來源:國知局

      本發(fā)明屬于涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種基于隨機鹽的自主可控數(shù)據(jù)庫數(shù)據(jù)加密檢索方法和系統(tǒng)。



      背景技術(shù):

      隨著信息技術(shù)的在廣泛的運用,越來越多的重要數(shù)據(jù)以電子化的形式存儲和處理,而這種數(shù)據(jù)的存儲和處理方式雖然能夠提高便利性,但是卻很容易導(dǎo)致數(shù)據(jù)被竊取和篡改。而現(xiàn)有技術(shù)中竊取和篡改數(shù)據(jù)最常見的方式是攻擊數(shù)據(jù)庫,因此如何同時保障數(shù)據(jù)庫的安全和數(shù)據(jù)庫的工作效率是當(dāng)前的一個主要研究方向。這是由于:解決數(shù)據(jù)庫安全性能最有效的問題方法就是對數(shù)據(jù)庫中存儲的數(shù)據(jù)進行加密;但是一旦對所有數(shù)據(jù)都進行加密后就很難進行有效的檢索,導(dǎo)致數(shù)據(jù)庫的工作效率急劇下降。



      技術(shù)實現(xiàn)要素:

      針對現(xiàn)有技術(shù)中存在數(shù)據(jù)庫很難同時保證數(shù)據(jù)的安全性和易用性的問題,本發(fā)明要解決的技術(shù)問題是提供一種更為有效且高效的基于隨機鹽的自主可控數(shù)據(jù)庫數(shù)據(jù)加密檢索方法和系統(tǒng),以解決數(shù)據(jù)庫的數(shù)據(jù)泄密問題、加密數(shù)據(jù)檢索問題、數(shù)據(jù)庫性能問題。

      為了解決上述問題,本發(fā)明實施例提出了一種基于隨機鹽的自主可控數(shù)據(jù)庫數(shù)據(jù)加密檢索系統(tǒng),包括:數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)和數(shù)據(jù)加密子系統(tǒng);

      其中所述數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)包括:用于調(diào)用所述數(shù)據(jù)加密子系統(tǒng)以對數(shù)據(jù)進行加密/解密的外部接口調(diào)用模塊、用于對明文數(shù)據(jù)庫表進行加密處理的數(shù)據(jù)庫視圖解密調(diào)用模塊、用于在數(shù)據(jù)庫中的數(shù)據(jù)調(diào)用觸發(fā)器時對所述數(shù)據(jù)進行加密的數(shù)據(jù)庫觸發(fā)器加密調(diào)用模塊、用于對加密數(shù)據(jù)生成索引的擴展索引接口加密索引模塊;其中,

      數(shù)據(jù)庫視圖解密調(diào)用模塊,用于將明文數(shù)據(jù)庫表復(fù)制到預(yù)設(shè)位置,并重命名該明文數(shù)據(jù)庫表且建立與該明文數(shù)據(jù)庫表同名的視圖,并將該明文數(shù)據(jù)庫表中需要加密的明文字段發(fā)送到所述數(shù)據(jù)加密子系統(tǒng),并將所述明文字段替換為所述數(shù)據(jù)加密子系統(tǒng)確定的與所述明文字段對應(yīng)的屏蔽字段,并將該明文字段內(nèi)的數(shù)據(jù)替換為加密后的數(shù)據(jù);

      擴展索引接口加密索引模塊,用于判斷待查詢的字段是否為加密字段,如果不是加密字段,則利用數(shù)據(jù)庫的bitmap scan擴展檢索接口執(zhí)行視圖查詢后,將視圖發(fā)送到數(shù)據(jù)加密子系統(tǒng)進行解密處理;如果是加密字段,則根據(jù)數(shù)據(jù)加密子系統(tǒng)中存儲的明文字段與屏蔽字段之間的對應(yīng)關(guān)系確定明文數(shù)據(jù)庫中的屏蔽字段,并將該明文數(shù)據(jù)庫中的明文字段的列中的數(shù)據(jù)進行解密處理;

      其中所述數(shù)據(jù)加密子系統(tǒng)包括:

      策略管理模塊,用于提供登錄界面以使用戶輸入加密策略,其中所述加密策略至少包括以下的至少一種:需要加密的明文字段、是否保存明文數(shù)據(jù)庫表;

      數(shù)據(jù)加密模塊,用于根據(jù)接收到的數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)的指令,對數(shù)據(jù)庫中需要加密的明文字段更換為屏蔽字段,且將明文字段與屏蔽字段之間的對應(yīng)關(guān)系進行存儲;還用于通過MD5加隨機鹽的算法對明文字段的列中的數(shù)據(jù)進行加密;

      數(shù)據(jù)解密模塊,用于根據(jù)接收到的數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)的指令,對數(shù)據(jù)庫中加密的數(shù)據(jù)進行解密。

      其中,所述數(shù)據(jù)加密子系統(tǒng)還包括:

      權(quán)限管理模塊,用于對登錄賬號密碼進行認(rèn)證和對加密/解密權(quán)限進行管理;其中所述權(quán)限管理模塊采用RSA非對稱加密算法或者外接數(shù)字證書接口認(rèn)證方式對登錄賬號密碼進行認(rèn)證。

      其中,所述數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)還包括用于在對明文數(shù)據(jù)庫表進行更改時對數(shù)據(jù)進行加密的數(shù)據(jù)庫觸發(fā)器加密調(diào)用模塊,所述數(shù)據(jù)庫觸發(fā)器加密調(diào)用模塊用于判斷數(shù)據(jù)庫是否調(diào)用了觸發(fā)器,如果是則調(diào)用數(shù)據(jù)加密子系統(tǒng)對數(shù)據(jù)進行加密。

      同時,本發(fā)明實施例還提出了一種基于隨機鹽的自主可控數(shù)據(jù)庫數(shù)據(jù)加密檢索方法,包括:

      明文數(shù)據(jù)庫表處理步驟,用于將明文數(shù)據(jù)庫表復(fù)制到預(yù)設(shè)位置,并重命名該明文數(shù)據(jù)庫表且建立與該明文數(shù)據(jù)庫表同名的視圖,并將該明文數(shù)據(jù)庫表中需要加密的明文字段發(fā)送到所述數(shù)據(jù)加密子系統(tǒng),并將所述明文字段替換為所述數(shù)據(jù)加密子系統(tǒng)確定的與所述明文字段對應(yīng)的屏蔽字段,并將該明文字段內(nèi)的數(shù)據(jù)替換為加密后的數(shù)據(jù);

      檢索步驟,用于判斷待查詢的字段是否為加密字段,如果不是加密字段,則利用數(shù)據(jù)庫的bitmap scan擴展檢索接口執(zhí)行視圖查詢后,將視圖發(fā)送到數(shù)據(jù)加密子系統(tǒng)進行解密處理;如果是加密字段,則根據(jù)數(shù)據(jù)加密子系統(tǒng)中存儲的明文字段與屏蔽字段之間的對應(yīng)關(guān)系確定明文數(shù)據(jù)庫中的屏蔽字段,并將該明文數(shù)據(jù)庫中的屏蔽字段列中的數(shù)據(jù)進行解密處理;

      觸發(fā)器加密調(diào)用步驟,本功能模塊的主要功能是判斷是否調(diào)用觸發(fā)器,當(dāng)調(diào)用觸發(fā)器時,由觸發(fā)器調(diào)用加解密軟件的加密模塊對數(shù)據(jù)進行加密。

      策略管理步驟,用于提供登錄界面以使用戶輸入加密策略,其中所述加密策略至少包括以下的至少一種:需要加密的明文字段、是否保存明文數(shù)據(jù)庫表;

      數(shù)據(jù)加密步驟,用于根據(jù)接收到的數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)的指令,對數(shù)據(jù)庫中需要加密的明文字段更換為屏蔽字段,且將明文字段與屏蔽字段之間的對應(yīng)關(guān)系進行存儲;還用于通過MD5加隨機鹽的算法對明文字段的列中的數(shù)據(jù)進行加密;

      數(shù)據(jù)解密步驟,用于根據(jù)接收到的數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)的指令,對數(shù)據(jù)庫中加密的數(shù)據(jù)進行解密。

      其中所述方法還包括:

      登錄認(rèn)證管理模塊,用于對登錄賬號密碼進行認(rèn)證和對加密/解密權(quán)限進行管理;其中所述權(quán)限管理模塊采用RSA非對稱加密算法或者外接數(shù)字證書接口認(rèn)證方式對登錄賬號密碼進行認(rèn)證。

      本發(fā)明的上述技術(shù)方案的有益效果如下:本發(fā)明實施例提出了一種基于隨機鹽的自主可控數(shù)據(jù)庫數(shù)據(jù)加密檢索方法和系統(tǒng),能夠?qū)γ魑臄?shù)據(jù)庫表的預(yù)設(shè)字段進行屏蔽處理,并對該預(yù)設(shè)字段列內(nèi)的數(shù)據(jù)進行加密。同時在檢索時又可以快速的根據(jù)屏蔽字段獲取對應(yīng)的明文字段,并對該明文字列內(nèi)的數(shù)據(jù)進行解密。上述方案能夠兼顧安全性和檢索效果。

      附圖說明

      圖1為本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)拓?fù)鋱D。

      具體實施方式

      為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細(xì)描述。

      本發(fā)明實施例提出了一種基于隨機鹽的自主可控數(shù)據(jù)庫數(shù)據(jù)加密檢索系統(tǒng),包括:數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)和數(shù)據(jù)加密子系統(tǒng);

      其中所述數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)包括:用于調(diào)用所述數(shù)據(jù)加密子系統(tǒng)以對數(shù)據(jù)進行加密/解密的外部接口調(diào)用模塊、用于對明文數(shù)據(jù)庫表進行加密處理的數(shù)據(jù)庫視圖解密調(diào)用模塊、用于在數(shù)據(jù)庫中的數(shù)據(jù)調(diào)用觸發(fā)器時對所述數(shù)據(jù)進行加密的數(shù)據(jù)庫觸發(fā)器加密調(diào)用模塊、用于對加密數(shù)據(jù)生成索引的擴展索引接口加密索引模塊;其中,

      數(shù)據(jù)庫視圖解密調(diào)用模塊,用于將明文數(shù)據(jù)庫表復(fù)制到預(yù)設(shè)位置,并重命名該明文數(shù)據(jù)庫表且建立與該明文數(shù)據(jù)庫表同名的視圖,并將該明文數(shù)據(jù)庫表中需要加密的明文字段發(fā)送到所述數(shù)據(jù)加密子系統(tǒng),并將所述明文字段替換為所述數(shù)據(jù)加密子系統(tǒng)確定的與所述明文字段對應(yīng)的屏蔽字段,并將該明文字段內(nèi)的數(shù)據(jù)替換為加密后的數(shù)據(jù);

      擴展索引接口加密索引模塊,用于判斷待查詢的字段是否為加密字段,如果不是加密字段,則利用數(shù)據(jù)庫的bitmap scan擴展檢索接口執(zhí)行視圖查詢后,將視圖發(fā)送到數(shù)據(jù)加密子系統(tǒng)進行解密處理;如果是加密字段,則根據(jù)數(shù)據(jù)加密子系統(tǒng)中存儲的明文字段與屏蔽字段之間的對應(yīng)關(guān)系確定明文數(shù)據(jù)庫中的屏蔽字段,并將該明文數(shù)據(jù)庫中的明文字段的列中的數(shù)據(jù)進行解密處理;

      其中所述數(shù)據(jù)加密子系統(tǒng)包括:

      策略管理模塊,用于提供登錄界面以使用戶輸入加密策略,其中所述加密策略至少包括以下的至少一種:需要加密的明文字段、是否保存明文數(shù)據(jù)庫表;

      數(shù)據(jù)加密模塊,用于根據(jù)接收到的數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)的指令,對數(shù)據(jù)庫中需要加密的明文字段更換為屏蔽字段,且將明文字段與屏蔽字段之間的對應(yīng)關(guān)系進行存儲;還用于通過MD5加隨機鹽的算法對明文字段的列中的數(shù)據(jù)進行加密;

      數(shù)據(jù)解密模塊,用于根據(jù)接收到的數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)的指令,對數(shù)據(jù)庫中加密的數(shù)據(jù)進行解密。

      其中,所述數(shù)據(jù)加密子系統(tǒng)還包括:

      權(quán)限管理模塊,用于對登錄賬號密碼進行認(rèn)證和對加密/解密權(quán)限進行管理;其中所述權(quán)限管理模塊采用RSA非對稱加密算法或者外接數(shù)字證書接口認(rèn)證方式對登錄賬號密碼進行認(rèn)證。

      其中,所述數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)還包括用于在對明文數(shù)據(jù)庫表進行更改時對數(shù)據(jù)進行加密的數(shù)據(jù)庫觸發(fā)器加密調(diào)用模塊,所述數(shù)據(jù)庫觸發(fā)器加密調(diào)用模塊用于判斷數(shù)據(jù)庫是否調(diào)用了觸發(fā)器,如果是則調(diào)用數(shù)據(jù)加密子系統(tǒng)對數(shù)據(jù)進行加密。

      同時,本發(fā)明實施例還提出了一種基于隨機鹽的自主可控數(shù)據(jù)庫數(shù)據(jù)加密檢索方法,包括:

      明文數(shù)據(jù)庫表處理步驟,用于將明文數(shù)據(jù)庫表復(fù)制到預(yù)設(shè)位置,并重命名該明文數(shù)據(jù)庫表且建立與該明文數(shù)據(jù)庫表同名的視圖,并將該明文數(shù)據(jù)庫表中需要加密的明文字段發(fā)送到所述數(shù)據(jù)加密子系統(tǒng),并將所述明文字段替換為所述數(shù)據(jù)加密子系統(tǒng)確定的與所述明文字段對應(yīng)的屏蔽字段,并將該明文字段內(nèi)的數(shù)據(jù)替換為加密后的數(shù)據(jù);

      檢索步驟,用于判斷待查詢的字段是否為加密字段,如果不是加密字段,則利用數(shù)據(jù)庫的bitmap scan擴展檢索接口執(zhí)行視圖查詢后,將視圖發(fā)送到數(shù)據(jù)加密子系統(tǒng)進行解密處理;如果是加密字段,則根據(jù)數(shù)據(jù)加密子系統(tǒng)中存儲的明文字段與屏蔽字段之間的對應(yīng)關(guān)系確定明文數(shù)據(jù)庫中的屏蔽字段,并將該明文數(shù)據(jù)庫中的屏蔽字段列中的數(shù)據(jù)進行解密處理;

      觸發(fā)器加密調(diào)用步驟,本功能模塊的主要功能是判斷是否調(diào)用觸發(fā)器,當(dāng)調(diào)用觸發(fā)器時,由觸發(fā)器調(diào)用加解密軟件的加密模塊對數(shù)據(jù)進行加密。

      策略管理步驟,用于提供登錄界面以使用戶輸入加密策略,其中所述加密策略至少包括以下的至少一種:需要加密的明文字段、是否保存明文數(shù)據(jù)庫表;

      數(shù)據(jù)加密步驟,用于根據(jù)接收到的數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)的指令,對數(shù)據(jù)庫中需要加密的明文字段更換為屏蔽字段,且將明文字段與屏蔽字段之間的對應(yīng)關(guān)系進行存儲;還用于通過MD5加隨機鹽的算法對明文字段的列中的數(shù)據(jù)進行加密;

      數(shù)據(jù)解密步驟,用于根據(jù)接收到的數(shù)據(jù)庫內(nèi)部處理子系統(tǒng)的指令,對數(shù)據(jù)庫中加密的數(shù)據(jù)進行解密。

      其中所述方法還包括:

      登錄認(rèn)證管理模塊,用于對登錄賬號密碼進行認(rèn)證和對加密/解密權(quán)限進行管理;其中所述權(quán)限管理模塊采用RSA非對稱加密算法或者外接數(shù)字證書接口認(rèn)證方式對登錄賬號密碼進行認(rèn)證。

      如圖1所示的,下面以一個具體的例子進行說明,在本例子中使用現(xiàn)有的面向企業(yè)級應(yīng)用的分析型數(shù)據(jù)庫管理軟件,該軟件是以先進的開源數(shù)據(jù)庫PostgreSQL為核心進行二次開發(fā)和封裝而成,集成易學(xué)、易用、好用的管理界面和輔助工具,滿足電力行業(yè)對數(shù)據(jù)庫軟件產(chǎn)品要求的穩(wěn)定性、安全性和簡敏性。在保證管理軟件的安全性、高可用性和擴展性的同時,開發(fā)團隊盡量降低軟件的整體成本,增強軟件的易用性。該數(shù)據(jù)庫管理軟件根據(jù)處理流程以及功能劃分,將管理系統(tǒng)劃分為連接管理系統(tǒng)、編譯執(zhí)行系統(tǒng)、存儲管理系統(tǒng)、事務(wù)管理系統(tǒng)、系統(tǒng)表五大部分組成。當(dāng)然,這只是舉例說明,本領(lǐng)域內(nèi)技術(shù)人員可以理解本發(fā)明實施例的方法可以使用在任何數(shù)據(jù)庫管理軟件中。

      在本例子中,通過修改數(shù)據(jù)庫管理系統(tǒng)(DBMS)的內(nèi)核來調(diào)用數(shù)據(jù)庫管理軟件外置的加解密軟件實現(xiàn)對數(shù)據(jù)庫的加解密檢索等功能。此發(fā)明加密功能強,不影響數(shù)據(jù)庫管理系統(tǒng)(DBMS)正常使用,實現(xiàn)加解密技術(shù)和數(shù)據(jù)庫管理系統(tǒng)完美無縫的結(jié)合。

      數(shù)據(jù)庫管理軟件部分:其是在現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上,修改數(shù)據(jù)庫的內(nèi)核來支持?jǐn)?shù)據(jù)庫加解密軟件的調(diào)用。

      數(shù)據(jù)庫視圖解密調(diào)用模塊:

      數(shù)據(jù)庫管理系統(tǒng)(DBMS)的視圖是一個虛表,對數(shù)據(jù)庫的操作,系統(tǒng)需要根據(jù)視圖定義操作和視圖相關(guān)聯(lián)的基表。充分利用數(shù)據(jù)庫視圖的原理對實現(xiàn)對表內(nèi)加密數(shù)據(jù)的過濾、投影、聚集、關(guān)聯(lián)和函數(shù)運算。

      該模塊的主要的功能是當(dāng)判斷出用戶的加密數(shù)據(jù)需要明文備份時,把明文數(shù)據(jù)表復(fù)制到指定的路徑,重名命名表,建立和表同名的視圖,調(diào)用觸發(fā)器的加密調(diào)用模塊進行數(shù)據(jù)加密處理。當(dāng)判斷用戶明文數(shù)據(jù),不需要明文備份的時候,直接重命名表,建立和表同名的視圖,在視圖內(nèi)調(diào)用外置的加解密軟件的解密模塊對數(shù)據(jù)進行解密??梢詫崿F(xiàn)對數(shù)據(jù)庫表的某個字段加密。

      數(shù)據(jù)庫觸發(fā)器加密調(diào)用模塊:

      本功能模塊的主要功能是判斷是否調(diào)用觸發(fā)器,當(dāng)調(diào)用觸發(fā)器時,由觸發(fā)器調(diào)用加解密軟件的加密模塊對數(shù)據(jù)進行加密。數(shù)據(jù)庫的觸發(fā)器是數(shù)據(jù)庫操作發(fā)生時被自動調(diào)用的函數(shù)。對于“BEFORE”和“INSTEAD OF”這類行級別的觸發(fā)器進行判斷,當(dāng)返回的結(jié)果是NULL時,則表示忽略對當(dāng)前行的操作,如果是返回非NULL的行,對于INSERT、UPDATE操作,觸發(fā)器調(diào)用加解密軟件的加密模塊對數(shù)據(jù)進行加密。

      擴展索引接口加密索引模塊

      數(shù)據(jù)庫管理系統(tǒng)(DBMS)擴展索引接口加密索引模塊執(zhí)行對加密數(shù)據(jù)索引。數(shù)據(jù)庫管理系統(tǒng)(DBMS)有五類索引,最常用的索引是B-tree,Index Scan是從頭到位遍歷整張數(shù)據(jù)表的所有行,從頭到尾,因此在數(shù)據(jù)量很大時效率并不是很高;bitmap scan一次性將滿足條件的索引項全部取出,并在內(nèi)存中進行排序,然后根據(jù)取出的索引項訪問表數(shù)據(jù)。本專利采用bitmap scan機進行加密檢索。自行編寫索引在Create Index、Insert、Delete、Update語句執(zhí)行、以及bitmap scan執(zhí)行的相應(yīng)處理代碼。通過該機制,可以使用自定義的擴展加密索引,該索引對加密數(shù)據(jù)進行檢索時,由于bitmap scan一次性將滿足條件的索引項全部取出,并在內(nèi)存中進行排序,解決了加密后數(shù)據(jù)檢索的難題,大幅度提升了密文檢索的效率。

      外部接口調(diào)用模塊,主要提供連接加解密算法、加解密軟件的接口,實現(xiàn)對加解密軟件調(diào)用、獨立于數(shù)據(jù)庫的權(quán)限控制、加密算法的其他軟件的接口。實現(xiàn)這一目的的技術(shù)關(guān)鍵是外部程序調(diào)用和外部通訊支持。在數(shù)據(jù)庫中支持外部程序調(diào)用,首先要定義好通訊接口。通過接口把數(shù)據(jù)庫加密函數(shù)和解密函數(shù)做成外部調(diào)用,編寫成一個獨立的數(shù)據(jù)庫加解密軟件,運行在獨立的服務(wù)器上面;權(quán)限校驗過程對超級用戶的權(quán)限進行限制,從而達(dá)到提高數(shù)據(jù)庫管理軟件性能的效果。

      數(shù)據(jù)庫加密解密部分:

      賬戶權(quán)限管理模塊

      賬戶和權(quán)限管理模塊的主要功能用于用戶的登陸賬戶密碼管理和加解密的權(quán)限管理。身份認(rèn)證采用RSA非對稱加密算法或者外接數(shù)字證書接口認(rèn)證方式。

      策略設(shè)置模塊

      該功能模塊是用戶自定義界面設(shè)置,用戶定義設(shè)置加密的數(shù)據(jù)庫對象:設(shè)置用戶自定義加密的列。用戶是否保存明文等策略配置。

      數(shù)據(jù)庫加密模塊

      該功能模塊采用MD5加隨機鹽的方式對數(shù)據(jù)庫的數(shù)據(jù)進行加密。當(dāng)用戶INSERT、UPDATE數(shù)據(jù)時,把相應(yīng)的列名進行重命名計算處理,例如身份證重名計算處理變成大槐樹等。把相應(yīng)列的數(shù)據(jù)進行加密列函數(shù)計算加隨機鹽之后MD5計算的方式進行數(shù)據(jù)加密。例如:MD5(f(X)+隨機鹽)

      由于數(shù)據(jù)庫里面數(shù)據(jù)是海量,采取其他加密算法,計算量太大。因此采用MD5加隨機鹽的方式提高安全性能。

      數(shù)據(jù)庫解密模塊

      當(dāng)視圖提出解密請求的時候,調(diào)用數(shù)據(jù)庫加解密軟件的進行解密。進行MD5解密函數(shù)解密數(shù)據(jù);取模去鹽;反加密列函數(shù)計算。

      本發(fā)明的方法可以包括:

      1、身份認(rèn)證登錄

      數(shù)據(jù)庫加解密軟件通過RSA身份認(rèn)證或者UKRY認(rèn)證等,否則拒絕登陸;

      確定加密對象,由用戶選擇相應(yīng)的加密數(shù)據(jù)庫、表、列,是否保存明文的策略選項。對于新用戶設(shè)置加密策略;

      2、加密判斷

      判斷用戶是否需要加密數(shù)據(jù):當(dāng)用戶不需要加密數(shù)據(jù),發(fā)送相應(yīng)的請求給數(shù)據(jù)庫管理系統(tǒng)(DBMS),執(zhí)行數(shù)據(jù)庫的操作,退出流程。當(dāng)用戶需要加密數(shù)據(jù)時,發(fā)送請求給明文備份判斷進行處理;

      3、明文備份判斷

      加密請求判斷完畢之后,數(shù)據(jù)庫加解密軟件第一次判斷明文是否需要備份明文;如果用戶需要明文時候,發(fā)送請求給觸發(fā)器,把明文視圖同名復(fù)制到指定的路徑,對需要加密的表的視圖重命名,對需要加密的字段名稱進行屏蔽處理:例如:字段身份證變成字段蘋果樹。

      當(dāng)用戶提出插入和更新等請求時,判斷明文備份請求;如果用戶有明文備份請求,調(diào)用數(shù)據(jù)庫的觸發(fā)器發(fā)送插入和更新等命令數(shù)據(jù)進明文表,發(fā)送加密請求給加密模塊進行加密處理;如果沒有明文備份策略,發(fā)送加密請求給加密模塊進行加密處理加密模塊;

      4、加密處理

      經(jīng)過加密判斷,明文備份判斷之后,加密模塊,進行如下處理:加密字段匹配,加密字段在數(shù)據(jù)庫加解密軟件中存儲的是明文,對加密字段進行匹配之后,對需要加密的字段名稱進行屏蔽處理;在加解密軟件中生成隨機鹽和加密字段ID隨機鹽關(guān)聯(lián)數(shù)據(jù)庫。對相關(guān)字段的數(shù)值的明文進行函數(shù)處理之后加隨機鹽生成新的數(shù)據(jù);之后組合成的數(shù)據(jù)進行MD5的處理,把加密后的數(shù)據(jù)值由數(shù)據(jù)庫的觸發(fā)器執(zhí)行到加密視圖,由數(shù)據(jù)庫的機制進行相關(guān)存儲操作

      5、加密數(shù)據(jù)觸發(fā)器處理

      經(jīng)過加密處理帶屏蔽字段名稱和加密處理后的數(shù)據(jù)由數(shù)據(jù)庫加解密軟件發(fā)送操作請求數(shù)據(jù)庫加解密接口,加解密接口發(fā)送請求給數(shù)據(jù)庫觸發(fā)器,觸發(fā)器按照數(shù)據(jù)機制進行相關(guān)操作。整個加密過程完成;

      6、解密數(shù)據(jù)視圖處理

      當(dāng)用戶在數(shù)據(jù)庫加解密軟件中提出查詢select請求包括過濾、投影、聚集、關(guān)聯(lián)和函數(shù)運算等,流程如下:

      用戶在加解密軟件中提出查詢請求,先判斷查詢的字段是否是加密字段,如果不是加密字段,直接發(fā)送請求給數(shù)據(jù)庫bitmap scan擴展檢索接口,bitmap scan擴展檢索按照數(shù)據(jù)庫的機制執(zhí)行視圖查詢后,數(shù)據(jù)庫視圖發(fā)送解密請求給數(shù)據(jù)庫加解密接口調(diào)用數(shù)據(jù)庫加解密軟件的解密程序;解密程序先encode MD5解密后,取模去鹽,進行反向加密列函數(shù)計算返回數(shù)據(jù)。如果加密字段,對字段進行屏蔽函數(shù)處理后,在加解密軟件中查詢隨機鹽和加密字段ID隨機鹽關(guān)聯(lián)數(shù)據(jù)庫之后,把經(jīng)過屏蔽函數(shù)處理的數(shù)值加了隨機鹽之后進行MD5加密之后的發(fā)送給數(shù)據(jù)庫bitmap scan擴展檢索接口,bitmap scan擴展檢索按照數(shù)據(jù)庫的機制執(zhí)行視圖查詢,,視圖發(fā)送解密請求給數(shù)據(jù)庫加解密接口調(diào)用數(shù)據(jù)庫加解密軟件的解密程序;解密程序先Encode MD5解密后,取模去鹽,進行反向加密列函數(shù)計算返回數(shù)據(jù)。

      以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1