本發明專利技術提供了一種基于SQL重寫的數據庫加解密系統及其使用方法。該系統包括SQL重寫主模塊、語句解析模塊、語法規則管理模塊、加解密表列管理模塊、重寫執行模塊以及數據加解密模塊。該方法包括執行重寫后的數據表的創建過程、重寫后的數據的插入過程和數據的查詢過程。本發明專利技術采用SQL重寫技術,在數據庫系統外部對數據進行加解密,從而避免數據庫系統加解密開銷。
【技術實現步驟摘要】
本專利技術涉及數據庫加密領域,尤其涉及一種基于SQL重寫技術的數據庫加解密方法。
技術介紹
隱私數據的泄露是當前數據庫系統面臨的一個嚴重威脅。惡意的數據庫管理員可通過訪問數據庫管理系統服務器去獲取隱私數據(包括健康記錄、金融股票、個人信息等)并出售給第三者。一種解決此威脅的方式是將數據庫中的敏感數據進行加密,但多數數據庫系統不適合使用這種方式。這種方式會產生很多無法克服的負面影響。首先,數據庫系統要處理大量用戶和程序的查詢請求并生成數據返回,大量的保密數據和有效查詢執行性能之間存在嚴重沖突。當前針對密文數據的計算方式或是效率低下或是不能提供充分的保·密性,如使用強加密算法所得到密文數據會阻止數據庫服務器執行SQL查詢命令。其次,當前數據庫加密系統在查詢中必須先對加密數據表解密,然后用明文數據與查詢SQL進行匹配,導致明文數據暴露在數據庫系統中,數據庫管理人員有機會盜取明文敏感數據。此外,數據庫端對查詢結果進行解密操作,查詢結果以明文的方式返回給應用層,在傳輸過程中易遭竊取,導致敏感數據泄露。基于以上情況,必須采取高效、安全的加密手段,提升數據庫加密的安全性和執行效率。
技術實現思路
本專利技術目的在于提供一種基于SQL重寫的數據庫加解密方法,使用本專利技術能夠集SQL重寫、數據加密、數據解密、安全傳輸、高效查詢于一體,實現對數據庫加密數據創建和使用的安全防護。本專利技術所采用的技術方案是基于SQL重寫的數據庫外部加解密系統,包括SQL重寫主模塊、語句解析模塊、語法規則管理模塊、加解密表列管理模塊、重寫執行模塊以及數據加解密模塊; SQL重寫主模塊在數據庫查詢過程中,根據加解密需求對語句解析模塊、重寫執行模塊、數據加解密模塊和加解密表列管理模塊進行調度; 語句解析模塊負責對SQL語句進行語法和語義檢查,生成SQL語句重寫記錄存儲在加解密表列管理模塊中; 語法規則管理模塊定義了和加解密相關的SQL語句關鍵字,供語句解析模塊參考; 加解密表列管理模塊對數據庫中已加密的表列和加解密算法進行記錄; 重寫執行模塊受SQL重寫主模塊調用,執行SQL語句的重寫,并與數據加解密模塊進行數據通信; 數據加解密模塊負責對輸入值按照給定的加解密算法進行加密或者解密。基于SQL重寫的數據庫外部加解密系統的使用方法,包括執行重寫后的數據表的創建過程、重寫后的數據的插入過程和數據的查詢過程。所述的使用方法,數據表的創建過程包括 Al)創建含有加密列數據表的SQL語句通過SQL重寫主模塊進入語句解析模塊; A2)語句解析模塊調用語法規則管理模塊獲知需要加密的數據表列及其加密算法; A3)語句解析模塊判斷SQL語句是否合法,若否,過程終止,若合法,進入下一步; A4)語句解析模塊生成SQL重寫記錄,該記錄記載了加密的表列和相應的加密算法名稱,以及加密后的數據類型; A5)重寫記錄由加解密表列管理模塊進行存儲; A6)語句解析模塊將SQL重寫記錄返回給SQL重寫主模塊,SQL重寫主模塊再將重寫記 錄和待重寫的SQL語句交由重寫執行模塊執行; A7)重寫執行模塊根據重寫記錄將含有加密列數據表的SQL語句重寫成標準SQL語句,修改列數據類型為加密后的數據類型,然后將重寫后的SQL請求語句送交SQL重寫主模塊; AS)重寫后的SQL請求語句被送往數據庫系統創建數據表。所述的使用方法,數據的插入過程包括 BI) SQL重寫主模塊將執行數據插入的SQL語句輸入語句解析模塊; B2)語句解析模塊根據加解密表列管理模塊的記錄,逐個檢查每個數據列是否已記載在SQL重寫記錄中,若否,不做任何重寫,執行B6 ;若為是,則該數據列需要進行加密處理,進入下一步; B3)語句解析模塊將需要加密的表列和相應的加密算法名發送給SQL重寫主模塊;B4)SQL重寫主模塊將包含需加密表列數據的SQL語句發送給重寫執行模塊,重寫執行模塊調用數據加解密模塊進行加密,得到加密后的表列數據; B5)重寫執行模塊將SQL語句中的需加密的表列數據替換為加密后的表列數據,并返回給SQL重寫主模塊; B6) SQL重寫主模塊將數據插入語句送往數據庫系統。所述的使用方法,數據的查詢過程包括 CDSQL重寫主模塊接收從數據庫系統查詢數據的SQL請求語句,并發送給語句解析模塊; C2)語句解析模塊根據加解密表列管理模塊的記錄,逐個檢查待查詢的數據列是否記錄在該記錄中,若否,執行步驟C5 ;若為是,則該數據列需要進行解密處理,進入下一步;C3)語句解析模塊將需要解密的表列和相應的加密算法名發送給SQL重寫主模塊; C4) SQL重寫主模塊將需要解密的數據表列列為待處理項; C5) SQL重寫主模塊將SQL查詢語句發往數據庫得到查詢結果; C6)對于查詢結果,SQL重寫主模塊檢查是否包含有待處理項,若否,執行步驟C8 ;若為是,進入下一步; C7) SQL重寫主模塊調用數據加解密模塊中相應的加密算法,將待處理項進行解密; CS) SQL重寫主模塊返回最終的查詢結果。本專利技術的技術效果本專利技術采用SQL重寫技術,在數據庫系統外部對數據進行加解密,從而避免數據庫系統加解密開銷。SQL重寫保證數據加解密對應用系統的透明,將SQL請求直接作用在數據庫實體數據表列上。SQL重寫可保證加解密算法和明文數據僅對應用系統開放,杜絕了數據庫系統對明文敏感數據的訪問。同時,加解密流程與數據庫系統相脫離,對數據庫系統不做任何修改。基于SQL重寫的數據庫加解密方法可強化加密、查詢、傳輸、解密整個操作流程的安全性和效率性。總之,本專利技術解決了數據庫加密中數據庫系統負載過重、明文暴露、傳輸泄露的問題,提高了數據庫加密的安全性、可靠性和有效性。附圖說明圖I為子模塊調用示意圖。圖2為創建數據表流程示意圖。 圖3為插入數據流程示意圖。圖4為查詢數據流程示意圖。具體實施例方式為了解決數據庫系統加解密的大量開銷問題,簡化數據庫處理流程,降低數據庫系統負載,本專利技術采用在數據庫外部對數據進行加解密的方式,該方式既保證了面向業務系統的透明性,也減緩了數據庫系統的加解密壓力。另外,由于數據庫安全的防范重點在于杜絕數據庫管理人員從內部竊取,應避免明文暴露在數據庫系統中,外部加密方式可實現加解密過程脫離數據庫系統運行環境。SQL (Structed Query Language,結構化查詢語言)重寫技術是在SQL請求語句從應用系統發出,在數據庫系統執行之前,對語句進行改寫,已達到查詢性能優化等目的。SQL重寫可以保證數據庫實體表列直接接受SQL請求,保證加解密算法和數據僅對應用系統開放,杜絕了數據庫系統對明文敏感數據的訪問。另外,加解密流程與數據庫系統相脫離,對數據庫系統不做任何修改,僅需針對不同數據庫系統建立不同的SQL重寫機制。基于SQL重寫的數據庫加密方法可強化加密、查詢、傳輸、解密整個操作流程的安全性和效率性。一種基于SQL重寫的數據庫外部加解密方法,使得數據加解密脫離數據庫系統環境。該方法包括SQL重寫主模塊、語句解析模塊、語法規則管理模塊、加解密表列管理模塊、重寫執行模塊以及數據加解密模塊。創建數據表時,SQL重寫主模塊接收用戶發出的SQL請求語句,調用語句解析模塊確定待重寫的SQL請求語句片段。語句本文檔來自技高網...
【技術保護點】
基于SQL重寫的數據庫外部加解密系統,其特征在于:包括SQL重寫主模塊、語句解析模塊、語法規則管理模塊、加解密表列管理模塊、重寫執行模塊以及數據加解密模塊;SQL重寫主模塊在數據庫查詢過程中,根據加解密需求對語句解析模塊、重寫執行模塊、數據加解密模塊和加解密表列管理模塊進行調度;語句解析模塊負責對SQL語句進行語法和語義檢查,生成SQL語句重寫記錄存儲在加解密表列管理模塊中;語法規則管理模塊定義了和加解密相關的SQL語句關鍵字,供語句解析模塊參考;加解密表列管理模塊對數據庫中已加密的表列和加解密算法進行記錄;重寫執行模塊受SQL重寫主模塊調用,執行SQL語句的重寫,并與數據加解密模塊進行數據通信;數據加解密模塊負責對輸入值按照給定的加解密算法進行加密或者解密。
【技術特征摘要】
1.基于SQL重寫的數據庫外部加解密系統,其特征在于包括SQL重寫主模塊、語句解析模塊、語法規則管理模塊、加解密表列管理模塊、重寫執行模塊以及數據加解密模塊; SQL重寫主模塊在數據庫查詢過程中,根據加解密需求對語句解析模塊、重寫執行模塊、數據加解密模塊和加解密表列管理模塊進行調度; 語句解析模塊負責對SQL語句進行語法和語義檢查,生成SQL語句重寫記錄存儲在加解密表列管理模塊中; 語法規則管理模塊定義了和加解密相關的SQL語句關鍵字,供語句解析模塊參考; 加解密表列管理模塊對數據庫中已加密的表列和加解密算法進行記錄; 重寫執行模塊受SQL重寫主模塊調用,執行SQL語句的重寫,并與數據加解密模塊進行數據通信; 數據加解密模塊負責對輸入值按照給定的加解密算法進行加密或者解密。2.基于SQL重寫的數據庫外部加解密系統的使用方法,其特征在于包括執行重寫后的數據表的創建過程、重寫后的數據的插入過程和數據的查詢過程。3.根據權利要求2所述的使用方法,其特征在于,數據表的創建過程包括 Al)創建含有加密列數據表的SQL語句通過SQL重寫主模塊進入語句解析模塊; A2)語句解析模塊調用語法規則管理模塊獲知需要加密的數據表列及其加密算法; A3)語句解析模塊判斷SQL語句是否合法,若否,過程終止,若合法,進入下一步; A4)語句解析模塊生成SQL重寫記錄,該記錄記載了加密的表列和相應的加密算法名稱,以及加密后的數據類型; A5)重寫記錄由加解密表列管理模塊進行存儲; A6)語句解析模塊將SQL重寫記錄返回給SQL重寫主模塊,SQL重寫主模塊再將重寫記錄和待重寫的SQL語句交由重寫執行模塊執行; A7)重寫執行模塊根據重寫記錄將含有加密列數據表的SQL語句重寫成標準SQL語句,修改列數據類型為加密后的數據類型,然后將重寫...
【專利技術屬性】
技術研發人員:景奕昕,韓敏,余鵬飛,唐威,廖巍,
申請(專利權)人:武漢華工安鼎信息技術有限責任公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。