[發(fā)明專利]一種基于多級視圖和觸發(fā)器的數(shù)據(jù)庫透明加解密方法無效
| 申請?zhí)枺?/td> | 201010169778.7 | 申請日: | 2010-05-12 |
| 公開(公告)號: | CN102243629A | 公開(公告)日: | 2011-11-16 |
| 發(fā)明(設(shè)計)人: | 趙飛 | 申請(專利權(quán))人: | 北京安華金和科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F21/00 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100081 北京市海*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 多級 視圖 觸發(fā)器 數(shù)據(jù)庫 透明 解密 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機數(shù)據(jù)安全領(lǐng)域,特別是涉及一種對關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)進行加解密的方法。
背景技術(shù)
隨著計算機技術(shù)的飛速發(fā)展,數(shù)據(jù)庫的應(yīng)用已經(jīng)十分廣泛,深入到了各個領(lǐng)域。政府組織、商業(yè)機構(gòu)和金融機構(gòu)都是利用數(shù)據(jù)庫服務(wù)器保存其重要的人事信息、貿(mào)易記錄、市場決策性信息等各種敏感數(shù)據(jù)。這些數(shù)據(jù)的重要性不容置疑,它關(guān)系到國家的安全、企業(yè)的興衰。因此,如何有效地保證數(shù)據(jù)庫系統(tǒng)的安全,實現(xiàn)數(shù)據(jù)的保密性、完整性、有效性和可用性,已經(jīng)成為業(yè)界人士研究的重要課題。目前,國內(nèi)使用的主流商業(yè)數(shù)據(jù)庫主要都是從國外進口,由于法律的限制,安全數(shù)據(jù)庫系統(tǒng)基本不對中國出口,因此對現(xiàn)有主流商業(yè)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)加密、保護技術(shù)和密文數(shù)據(jù)的高效檢索技術(shù)的需求非常強烈。
現(xiàn)有技術(shù)中,一般采取基于數(shù)據(jù)庫前置代理的加密保護方法,這種方法的缺點一是應(yīng)用必須使用加密前置代理提供的API,因此需要對現(xiàn)有程序進行改造,無法實現(xiàn)應(yīng)用的透明;二是造成大量數(shù)據(jù)庫產(chǎn)品的特性無法正常使用,并且這種“加解密前置”的方法對于在數(shù)據(jù)庫內(nèi)部執(zhí)行的存儲過程、函數(shù)都是無效的。
近年來有采用基于數(shù)據(jù)庫的視圖和觸發(fā)器實現(xiàn)透明加解密方法,這種方法目前采用的是單級視圖,無法在沒有主鍵的表上實現(xiàn)加密處理,無法做到真正的應(yīng)用透明,并且對于存在復(fù)合主鍵的表,其數(shù)據(jù)更新性能將受到影響;同時不能準(zhǔn)確的判斷數(shù)據(jù)庫的優(yōu)化器如何處理任意一個查詢操作請求的數(shù)據(jù)檢索方式,造成無法進行有效的數(shù)據(jù)緩存和批量預(yù)解密處理,只能逐條的處理,極大的影響了查詢的性能。
發(fā)明內(nèi)容
本發(fā)明的目的是實現(xiàn)加密解密操作的應(yīng)用透明性,應(yīng)用透明的范圍主要包括:應(yīng)用系統(tǒng)原先使用的各種開發(fā)接口API不用進行任何改變;原有的SQL語句和事務(wù)處理(ACID、讀一致性等事務(wù)特性)設(shè)計不需要進行任何改變等。
本發(fā)明基于數(shù)據(jù)庫通用的視圖和觸發(fā)器機制實現(xiàn)對應(yīng)用透明的支持,為此要解決的技術(shù)問題是:1)實現(xiàn)對數(shù)據(jù)的加密操作,不需要依賴于原表的結(jié)構(gòu),從而實現(xiàn)不依賴于表結(jié)構(gòu)限制的透明性。2)能夠讓加解密程序模塊準(zhǔn)確的判斷出數(shù)據(jù)庫解析器和優(yōu)化器對當(dāng)前查詢請求的處理方式,這些處理方式包括:全表掃描、密文索引掃描、跳躍掃描(跳躍掃描指的是根據(jù)非加密字段進行查詢,查詢的返回結(jié)果集包含了密文字段)等,從而能夠在解密函數(shù)中,根據(jù)具體的處理方式進行專門的密文查詢優(yōu)化處理,提高查詢的效率。
本發(fā)明采用的技術(shù)方案是:一種基于多級視圖和觸發(fā)器的數(shù)據(jù)庫透明加解密方法,采用在密文表上建立三級視圖的方法,包括如下步驟:
1)在密文表上直接構(gòu)建第一級視圖,除了對表上的所有字段進行檢索外,增加了一個偽列CALLTIMES,偽列CALLTIMES中保存一個偽列值A(chǔ)I,所述偽列值A(chǔ)I為每個數(shù)據(jù)庫操作會話,在每次執(zhí)行本視圖的時候,自動生成的一個唯一的值,用于表示一次新的查詢操作的開始;
2)在第一級視圖上構(gòu)建第二級視圖,除了對一級視圖的所有字段進行檢索外,增加一個偽列TROWID,用于獲取記錄的行標(biāo)識;在二級視圖上構(gòu)建INSTEAD?OF類型的觸發(fā)器,其觸發(fā)條件為INSERT和UPDATE,在觸發(fā)器中調(diào)用加密函數(shù)來完成對敏感數(shù)據(jù)的加密并保存到密文表相應(yīng)的加密字段中,在執(zhí)行UPDATE操作時,觸發(fā)器通過行標(biāo)識來對密文表數(shù)據(jù)進行更新;對于被加密的字段,在第二級視圖中調(diào)用解密函數(shù)來完成解密,調(diào)用解密函數(shù)時將第一級視圖中偽列CALLTIMES的值和密文字段的唯一標(biāo)識FIELDID(FIELDID的具體值是在對明文數(shù)據(jù)進行預(yù)處理的過程中生成的),作為參數(shù)傳遞給解密函數(shù);
3)在第二級視圖上構(gòu)建第三級視圖,這個視圖中包含密文表的所有字段,并且和密文表字段的順序是一致的,由于在二級視圖中完成了對加密字段數(shù)據(jù)的解密,因此這里將返回二級視圖解密后的明文數(shù)據(jù)。
進一步,還包括步驟4,將第三級視圖的名稱定義為用戶操作的明文表的名稱。
進一步,為了對存在明文數(shù)據(jù)的數(shù)據(jù)表實現(xiàn)透明加密和解密功能,本發(fā)明提供一種對明文數(shù)據(jù)進行預(yù)處理的方法,包括:
1)改變敏感字段數(shù)據(jù)類型:其過程是先創(chuàng)建一個敏感字段數(shù)據(jù)的備份表,其結(jié)構(gòu)是{TROWID,F(xiàn)O1,F(xiàn)N1,F(xiàn)O2,F(xiàn)N2,……FOn,F(xiàn)Nn},其中TROWID是原表每行數(shù)據(jù)的行標(biāo)識,F(xiàn)Oi是用于保存敏感字段明文數(shù)據(jù),F(xiàn)Ni用于保存對明文數(shù)據(jù)加密后生成的密文數(shù)據(jù)。原表敏感字段的原始數(shù)據(jù)先備份到該表中FOi字段上。然后將原表敏感字段的數(shù)據(jù)全部UPDATE為NULL,然后將該字段的類型修改為VARCHAR2類型,字段長度根據(jù)加密算法來確定加密后的數(shù)據(jù)最大長度來定義;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京安華金和科技有限公司,未經(jīng)北京安華金和科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010169778.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





