• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種數據庫加密方法及該加密數據庫查詢方法技術

    技術編號:13380956 閱讀:69 留言:0更新日期:2016-07-21 12:40
    本發明專利技術涉及一種數據庫加密方法,具體設計引入等值加密算法、保存加密算法和同態加密算法針對數據庫中的數據進行分類加密,并存儲在服務器端數據庫中,消除了不可信服務器端探查、泄露機密數據的隱患,從而保護了數據的隱私性;并且本發明專利技術還涉及一種基于數據庫加密方法的該加密數據庫查詢方法,在具體設計引入等值加密算法、保存加密算法和同態加密算法針對數據庫中的數據進行分類加密的基礎之上,提供了在密文上直接執行查詢操作的處理方法,提高了執行效率,并減少了用戶的通信和計算開銷。

    【技術實現步驟摘要】
    一種數據庫加密方法及該加密數據庫查詢方法
    本專利技術涉及一種數據庫加密方法及該加密數據庫查詢方法,屬于數據隱私保護

    技術介紹
    隱私保護是數據庫安全的重要內容,其安全威脅來自于兩方面,一方面是數據庫系統外部,攻擊者利用系統的漏洞或者非法獲取訪問權限,從而竊取隱私數據;另一方面是數據庫系統內部,具有合法訪問權限的數據庫管理員,存在探查、泄露隱私數據的可能性。對此,現有技術中的解決方案是對隱私數據進行加密后存儲在數據庫中,在查詢時,對密文數據進行解密。這種方法的缺陷是,明文數據經過加密后,失去了明文的一些屬性,如數據之間的順序關系,原有對明文的運算也無法在密文上執行,需要將所有密文解密為明文才能完成操作,這種方案在面對大規模的數據庫存儲需求時,在執行效率上遠低于明文數據庫。
    技術實現思路
    本專利技術所要解決的技術問題是提供一種基于高效、安全加密模型為基礎,在保證安全性與隱私性的同時,能夠直接進行密文數據操作的數據庫加密方法。本專利技術為了解決上述技術問題采用以下技術方案:本專利技術設計了一種數據庫加密方法,包括如下步驟:步驟001.分別針對數據庫里各張表中各數據列的數據類型進行判斷,若數據列的數據類型是數值型,則進入步驟002;若數據列的數據類型是字符型,則進入步驟003;步驟002.分別針對該數值型數據列中的各個數據,分別采用等值加密算法、保存加密算法和同態加密算法分別進行加密,并將該數值型數據列擴展為三列,然后按該三列與等值加密算法、保存加密算法、同態加密算法彼此一一對應的關系,分別定義該三列的列名,同時將經過等值加密算法、保存加密算法、同態加密算法分別加密的加密結果數據填入對應列中,其中,該數值型數據列所對應擴展三列中各個加密結果數據所對應的密鑰存儲于數據庫中;步驟003.分別針對該字符型數據列中的各個數據,采用等值加密算法進行加密,然后根據等值加密算法,定義該字符型數據列的列名,同時將經過等值加密算法加密的加密結果數據填入該字符型數據列中,其中,該字符型數據列所對應各個加密結果數據的密鑰存儲于數據庫中。作為本專利技術的一種優選技術方案,所述步驟002中分別針對各個數值型數據列中各個數據進行等值加密算法,以及所述步驟003中分別針對各個字符型數據列中各個數據進行等值加密算法,均采用如下步驟實現:步驟A01.針對數據采用預設指定加密算法進行加密,構成該數據的內層加密,同時根據系統主密鑰,以及該數據所在數據列的列名獲得該數據內層加密的密鑰,并存儲于數據庫中,然后進入步驟A02;步驟A02.針對該數據內層加密,進一步采用隨機加密算法進行加密,構成該數據內層加密的外層加密,同時根據系統主密鑰、該數據所在數據列的列名,以及該數據所在行的唯一行標識獲得該數據內層加密進一步外層密鑰的密鑰,并存儲于數據庫中,由此,針對該數據實現等值加密算法的加密。本專利技術所述一種基于數據庫加密方法采用以上技術方案與現有技術相比,具有以下技術效果:本專利技術所設計的一種基于數據庫加密方法,具體設計引入等值加密算法、保存加密算法和同態加密算法針對數據庫中的數據進行分類加密,并存儲在服務器端數據庫中,消除了不可信服務器端探查、泄露機密數據的隱患,從而保護了數據的隱私性,并提供了在密文上直接執行查詢操作的處理方法,提高了執行效率,并減少了用戶的通信和計算開銷。與之相應,本專利技術所要解決的技術問題是基于本專利技術所設計數據庫加密方法,提供一種在保證安全性與隱私性的同時,能夠直接進行密文數據操作的加密數據庫查詢方法。本專利技術為了解決上述技術問題采用以下技術方案:本專利技術設計了一種基于數據庫加密方法的該加密數據庫查詢方法,包括創建表操作、插入操作、選擇查詢操作、更新操作和刪除操作,創建表操作包括如下步驟:步驟C01.針對創建表操作語句進行解析,獲得所創建表的表名、所創建表中各數據列的列名,以及各數據列所對應的數據類型,然后進入步驟C02;步驟C02.分別針對所創建表中的各個數據列進行判斷,并分別針對所創建表中各個數據列做出相應處理,然后根據針對所創建表中各個數據列的相應操作,改寫創建表操作語句,再發送至數據庫進行執行,實現創建表操作,其中,分別針對所創建表中的各個數據列進行判斷,并分別做出相應處理中,若數據列的數據類型是數值型,則進入步驟C03;若數據列的數據類型是字符型,則進入步驟C05;步驟C03.將該數值型數據列擴展為三列,分別存儲該數值型數據列中數據分別對應等值加密算法、保存加密算法和同態加密算法的加密結果數據,并相應定義該數值型數據列所擴展三列的數據類型,然后進入步驟C04;步驟C04.根據按該數值型數據列所擴展三列與等值加密算法、保存加密算法、同態加密算法彼此一一對應的關系,分別定義該數值型數據列所擴展三列的列名,并用該數值型數據列所擴展三列的列名替換創建表操作語句中該數值型數據列的列名;步驟C05.將該字符型數據列用于存儲該字符型數據列中數據對應于等值加密算法的加密結果數據,然后進入步驟C06;步驟C06.根據等值加密算法,定義該字符型數據列的列名,并用該字符型數據列的列名替換創建表操作語句中該數值型數據列的列名。作為本專利技術的一種優選技術方案,所述插入操作包括如下步驟:步驟I01.針對插入操作語句進行解析,獲得各個所插入的數據,以及各個所插入數據分別所對應表的表名、所對應數據列的列名,然后進入步驟I02;步驟I02.分別針對各個所插入數據,根據所插入數據所對應表的表名,獲得所插入數據對應數據列的數據類型,并進入步驟I03;步驟I03.分別針對各個所插入數據,針對所插入數據對應數據列的數據類型進行判斷,并針對所插入數據所對應數據列的列名和所插入數據做出相應處理,然后根據針對所插入數據所對應數據列的列名,以及針對所插入數據的相應操作,改寫插入操作語句,再發送至數據庫進行執行,實現插入操作,其中,針對所插入數據對應數據列的數據類型進行判斷,并針對所插入數據所對應數據列的列名和所插入數據做出相應處理中,若數據列的數據類型是數值型,則進入步驟I04;若數據列的數據類型是字符型,則進入步驟I06;步驟I04.根據所插入數據對應表的表名、所插入數據對應的數據列,獲得所插入數據對應數據庫該表中對應三列的列名,并用該三列的列名替換插入操作語句中所插入數據所對應數據列的列名,然后進入步驟I05;步驟I05.針對所插入數據分別采用等值加密算法、保存加密算法、同態加密算法進行加密,分別獲得所插入數據所對應三種加密方法的加密結果數據,并用該三種加密結果數據替換插入操作語句中的所插入數據,并與插入操作語句中所替換三列的列名分別對應;其中,所插入數據分別所對應三種加密結果數據的密鑰存儲于數據庫中;步驟I06.根據所插入數據對應表的表名、所插入數據對應的數據列,獲得所插入數據對應數據庫該表中對應列的列名,并用該列的列名替換插入操作語句中所插入數據所對應數據列的列名,然后進入步驟I07;步驟I07.針對所插入數據分別采用等值加密算法進行加密,獲得所插入數據對應等值加密算法的加密結果數據,并用該加密結果數據替換插入操作語句中的所插入數據,并與插入操作語句中所替換列的列名相對應;其中,所插入數據分別所對應加密結果數據的密鑰存儲于數據庫中。作為本專利技術的一種優選技術方案,所述選擇查詢操作包本文檔來自技高網...

    【技術保護點】
    一種數據庫加密方法,其特征在于,包括如下步驟:步驟001.?分別針對數據庫里各張表中各數據列的數據類型進行判斷,若數據列的數據類型是數值型,則進入步驟002;若數據列的數據類型是字符型,則進入步驟003;步驟002.?分別針對該數值型數據列中的各個數據,分別采用等值加密算法、保存加密算法和同態加密算法分別進行加密,并將該數值型數據列擴展為三列,然后按該三列與等值加密算法、保存加密算法、同態加密算法彼此一一對應的關系,分別定義該三列的列名,同時將經過等值加密算法、保存加密算法、同態加密算法分別加密的加密結果數據填入對應列中,其中,該數值型數據列所對應擴展三列中各個加密結果數據所對應的密鑰存儲于數據庫中;步驟003.?分別針對該字符型數據列中的各個數據,采用等值加密算法進行加密,然后根據等值加密算法,定義該字符型數據列的列名,同時將經過等值加密算法加密的加密結果數據填入該字符型數據列中,其中,該字符型數據列所對應各個加密結果數據的密鑰存儲于數據庫中。

    【技術特征摘要】
    1.一種數據庫加密方法,其特征在于,包括如下步驟:步驟001.分別針對數據庫里各張表中各數據列的數據類型進行判斷,若數據列的數據類型是數值型,則進入步驟002;若數據列的數據類型是字符型,則進入步驟003;步驟002.分別針對該數值型數據列中的各個數據,分別采用等值加密算法、保存加密算法和同態加密算法分別進行加密,并將該數值型數據列擴展為三列,然后按該三列與等值加密算法、保存加密算法、同態加密算法彼此一一對應的關系,分別定義該三列的列名,同時將經過等值加密算法、保存加密算法、同態加密算法分別加密的加密結果數據填入對應列中,其中,該數值型數據列所對應擴展三列中各個加密結果數據所對應的密鑰存儲于數據庫中;步驟003.分別針對該字符型數據列中的各個數據,采用等值加密算法進行加密,然后根據等值加密算法,定義該字符型數據列的列名,同時將經過等值加密算法加密的加密結果數據填入該字符型數據列中,其中,該字符型數據列所對應各個加密結果數據的密鑰存儲于數據庫中。2.根據權利要求1所述一種數據庫加密方法,其特征在于,所述步驟002中分別針對各個數值型數據列中各個數據進行等值加密算法,以及所述步驟003中分別針對各個字符型數據列中各個數據進行等值加密算法,均采用如下步驟實現:步驟A01.針對數據采用預設指定加密算法進行加密,構成該數據的內層加密,同時根據系統主密鑰,以及該數據所在數據列的列名獲得該數據內層加密的密鑰,并存儲于數據庫中,然后進入步驟A02;步驟A02.針對該數據內層加密,進一步采用隨機加密算法進行加密,構成該數據內層加密的外層加密,同時根據系統主密鑰、該數據所在數據列的列名,以及該數據所在行的唯一行標識獲得該數據內層加密進一步外層密鑰的密鑰,并存儲于數據庫中,由此,針對該數據實現等值加密算法的加密。3.一種基于權利要求2所述一種數據庫加密方法的該加密數據庫查詢方法,包括創建表操作、插入操作、選擇查詢操作、更新操作和刪除操作,其特征在于,創建表操作包括如下步驟:步驟C01.針對創建表操作語句進行解析,獲得所創建表的表名、所創建表中各數據列的列名,以及各數據列所對應的數據類型,然后進入步驟C02;步驟C02.分別針對所創建表中的各個數據列進行判斷,并分別針對所創建表中各個數據列做出相應處理,然后根據針對所創建表中各個數據列的相應操作,改寫創建表操作語句,再發送至數據庫進行執行,實現創建表操作,其中,分別針對所創建表中的各個數據列進行判斷,并分別做出相應處理中,若數據列的數據類型是數值型,則進入步驟C03;若數據列的數據類型是字符型,則進入步驟C05;步驟C03.將該數值型數據列擴展為三列,分別存儲該數值型數據列中數據分別對應等值加密算法、保存加密算法和同態加密算法的加密結果數據,并相應定義該數值型數據列所擴展三列的數據類型,然后進入步驟C04;步驟C04.根據按該數值型數據列所擴展三列與等值加密算法、保存加密算法、同態加密算法彼此一一對應的關系,分別定義該數值型數據列所擴展三列的列名,并用該數值型數據列所擴展三列的列名替換創建表操作語句中該數值型數據列的列名;步驟C05.將該字符型數據列用于存儲該字符型數據列中數據對應于等值加密算法的加密結果數據,然后進入步驟C06;步驟C06.根據等值加密算法,定義該字符型數據列的列名,并用該字符型數據列的列名替換創建表操作語句中該數值型數據列的列名。4.根據權利要求3所述一種基于數據庫加密方法的該加密數據庫查詢方法,其特征在于,所述插入操作包括如下步驟:步驟I01.針對插入操作語句進行解析,獲得各個所插入的數據,以及各個所插入數據分別所對應表的表名、所對應數據列的列名,然后進入步驟I02;步驟I02.分別針對各個所插入數據,根據所插入數據所對應表的表名,獲得所插入數據對應數據列的數據類型,并進入步驟I03;步驟I03.分別針對各個所插入數據,針對所插入數據對應數據列的數據類型進行判斷,并針對所插入數據所對應數據列的列名和所插入數據做出相應處理,然后根據針對所插入數據所對應數據列的列名,以及針對所插入數據的相應操作,改寫插入操作語句,再發送至數據庫進行執行,實現插入操作,其中,針對所插入數據對應數據列的數據類型進行判斷,并針對所插入數據所對應數據列的列名和所插入數據做出相應處理中,若數據列的數據類型是數值型,則進入步驟I04;若數據列的數據類型是字符型,則進入步驟I06;步驟I04.根據所插入數據對應表的表名、所插入數據對應的數據列,獲得所插入數據對應數據庫該表中對應三列的列名,并用該三列的列名替換插入操作語句中所插入數據所對應數據列的列名,然后進入步驟I05;步驟I05.針對所插入數據分別采用等值加密算法、保存加密算法、同態加密算法進行加密,分別獲得所插入數據所對應三種加密方法的加密結果數據,并用該三種加密結果數據替換插入操作語句中的所插入數據,并與插入操作語句中所替換三列的列名分別對應;其中,所插入數據分別所對應三種加密結果數據的密鑰存儲于數據庫中;步驟I06.根據所插入數據對應表的表名、所插入數據對應的數據列,獲得所插入數據對應數據庫該表中對應列的列名,并用該列的列名替換插入操作語句中所插入數據所對應數據列的列名,然后進入步驟I07;步驟I07.針對所插入數據分別采用等值加密算法進行加密,獲得所插入數據對應等值加密算法的加密結果數據,并用該加密結果數據替換插入操作語句中的所插入數據,并與插入操作語句中所替換列的列名相對應;其中,所插入數據分別所對應加密結果數據的密鑰存儲于數據庫中。5.根據權利要求3所述一種基于數據庫加密方法的該加密數據庫查詢方法,其特征在于,所述選擇查詢操作包括如下步驟:步驟S01.針對選擇查詢語句進行解析,獲得表名、查詢內容和謂詞,然后進入步驟S02;步驟S02.針對表名所對應表中采用等值加密算法進行加密的加密結果數據的外層加密進行解密,并進入步驟S03;步驟S03.針對謂詞所...

    【專利技術屬性】
    技術研發人員:楊庚汪海偉劉國秀曾橙焜閔兆娥
    申請(專利權)人:南京郵電大學
    類型:發明
    國別省市:江蘇;32

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码人妻一区二区三区免费看| 免费无码精品黄AV电影| 国产精品热久久无码av| 国产AV无码专区亚洲AV毛网站| 亚洲av无码成h人动漫无遮挡| 亚洲精品无码mⅴ在线观看| 亚洲免费日韩无码系列| 无码一区二区三区免费| 东京热无码av一区二区| 亚洲av无码成人精品国产| 国精无码欧精品亚洲一区| 四虎国产精品永久在线无码| 无码人妻精品中文字幕| 中文字幕在线无码一区| 亚洲最大中文字幕无码网站| 亚洲av无码一区二区三区不卡| 亚洲精品无码久久久| 亚洲av成本人无码网站| 99无码人妻一区二区三区免费| 国产午夜无码精品免费看| 亚洲Av无码乱码在线播放| 成人免费无码大片a毛片软件| 无码精品A∨在线观看免费| 久久久久无码精品亚洲日韩| 亚洲欧洲美洲无码精品VA| 亚洲国产综合无码一区二区二三区| 亚洲精品无码一区二区| 午夜爽喷水无码成人18禁三级| 中文字幕无码日韩欧毛| 亚洲人片在线观看天堂无码 | 国产精品va无码一区二区| 97无码免费人妻超级碰碰夜夜| 中文字幕久久久人妻无码| 久久精品无码专区免费青青| 久久精品无码专区免费东京热| 色综合久久久久无码专区| 无码人妻久久一区二区三区免费| 亚洲色中文字幕无码AV| 久久无码人妻一区二区三区午夜| 国产精品无码无在线观看| 久久精品中文字幕无码绿巨人|