動態(tài)數(shù)據(jù)遮罩方法以及數(shù)據(jù)庫系統(tǒng)的制作方法
【專利摘要】本發(fā)明揭露一種動態(tài)數(shù)據(jù)遮罩方法以及數(shù)據(jù)庫系統(tǒng)。動態(tài)數(shù)據(jù)遮罩方法適用于包含多筆數(shù)據(jù)的數(shù)據(jù)庫,每一筆數(shù)據(jù)包含多個內(nèi)容值以及對應(yīng)所述多個內(nèi)容值的多個欄位標(biāo)簽。動態(tài)數(shù)據(jù)遮罩方法包含:當(dāng)一筆數(shù)據(jù)欲寫入至該數(shù)據(jù)庫時,判斷欲寫入的該筆數(shù)據(jù)中的多個內(nèi)容值及多個欄位標(biāo)簽是否屬于機敏內(nèi)容;若該筆數(shù)據(jù)的其中一個內(nèi)容值或欄位標(biāo)簽本身屬于機敏內(nèi)容,將該其中一個內(nèi)容值所對應(yīng)的一欄位標(biāo)簽或該其中一個欄位標(biāo)簽本身設(shè)為機敏欄位,并動態(tài)建立一過濾規(guī)則對應(yīng)該欄位標(biāo)簽;以及,儲存該過濾規(guī)則,并將該筆數(shù)據(jù)寫入該數(shù)據(jù)庫。
【專利說明】動態(tài)數(shù)據(jù)遮罩方法以及數(shù)據(jù)庫系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是有關(guān)于一種數(shù)據(jù)處理方法,且特別是有關(guān)于一種可用以保護(hù)機敏內(nèi)容的數(shù)據(jù)處理方法及其數(shù)據(jù)庫系統(tǒng)。
【背景技術(shù)】
[0002]近年來云端網(wǎng)絡(luò)快速發(fā)展,許多的重要信息(如個人的身份資料、帳單、信件、公司的商業(yè)文件、政府公文等)皆存放在各種云端數(shù)據(jù)庫中,使用者可透過網(wǎng)絡(luò)方便且快速地存取數(shù)據(jù)庫中的各種信息。
[0003]傳統(tǒng)的數(shù)據(jù)庫架構(gòu),如關(guān)聯(lián)性數(shù)據(jù)庫管理系統(tǒng)(Relational DatabaseManagement System, RDBMS)及基于結(jié)構(gòu)化查詢語言(Structured Query Language, SQL)的關(guān)聯(lián)性數(shù)據(jù)庫,已無法負(fù)荷云端時代來臨所帶來的大量數(shù)據(jù)儲存需求。因此,近年來非關(guān)聯(lián)性數(shù)據(jù)庫(如 NoSQL)架構(gòu)興起,實際例子如 Google BigTable>Facebook Cassandra>YahooHbase > Amazon DynamoDB 等數(shù)據(jù)庫。
[0004]傳統(tǒng)的關(guān)聯(lián)性數(shù)據(jù)庫中具有事先設(shè)定好的欄位以及各欄位的內(nèi)容值,因應(yīng)不同的需求或使用者數(shù)據(jù)需重新設(shè)計適當(dāng)?shù)臋谖粯?biāo)簽,以及欄位標(biāo)簽與內(nèi)容值的對應(yīng)關(guān)系。
[0005]非關(guān)聯(lián)性數(shù)據(jù)庫則相對具有較高的即時性,每一筆數(shù)據(jù)可各自具有多個內(nèi)容值及相對應(yīng)的多個欄位標(biāo)簽。因此,非關(guān)聯(lián)性的數(shù)據(jù)庫架構(gòu)(如NoSQL)比傳統(tǒng)的關(guān)聯(lián)性數(shù)據(jù)庫管理系統(tǒng)適合處理當(dāng)前非結(jié)構(gòu)化的大量云端數(shù)據(jù)存取。
[0006]現(xiàn)今云端數(shù)據(jù)庫處理到重要的敏感性數(shù)據(jù)(如個人的身份證號碼、電話號碼、通訊地址等)時,需要有不同程度的遮罩(masking)處理,例如將電話號碼由0921345678處理為09XXXXX678,借此保障使用者的機敏內(nèi)容。
[0007]目前常見的數(shù)據(jù)遮罩技術(shù)包含靜態(tài)數(shù)據(jù)遮罩技術(shù)(StaticData Masking)以及動態(tài)數(shù)據(jù)遮罩技術(shù)(Dynamic Data Masking)。
[0008]其中,靜態(tài)數(shù)據(jù)遮罩技術(shù)針對關(guān)聯(lián)式數(shù)據(jù)庫進(jìn)行機敏數(shù)據(jù)遮罩,將遮罩后的數(shù)據(jù)內(nèi)容存入去識別化的數(shù)據(jù)庫供所有使用者使用。然而,靜態(tài)數(shù)據(jù)遮罩技術(shù)所產(chǎn)生的去識別化數(shù)據(jù)庫,數(shù)據(jù)庫中的已遮罩?jǐn)?shù)據(jù)無法即時更新,且無法依使用者身份分別提供不同的遮罩方式,應(yīng)用范圍有限。
[0009]其中,動態(tài)數(shù)據(jù)遮罩技術(shù)(Dynamic Data Masking)可依據(jù)使用者身份分別提供即時機敏數(shù)據(jù)去識別化。目前一般的動態(tài)數(shù)據(jù)遮罩技術(shù)是透過攔截結(jié)構(gòu)化查詢語言(SQL)指令,并修改答復(fù)封包(將答復(fù)封包加上遮罩),來達(dá)到保護(hù)機敏數(shù)據(jù)。
[0010]既有動態(tài)數(shù)據(jù)遮罩技術(shù)必須知道目標(biāo)數(shù)據(jù)庫的欄位是否屬于機敏欄位(需要管理者預(yù)先設(shè)置),然而,非關(guān)聯(lián)性數(shù)據(jù)庫(如NoSQL)所具有的欄位將隨著新建數(shù)據(jù)寫入時而動態(tài)變化。隨著非關(guān)聯(lián)性數(shù)據(jù)庫中的數(shù)據(jù)增加,欄位的總體數(shù)目將相對應(yīng)地增加。由于非關(guān)聯(lián)性數(shù)據(jù)庫的特性,管理人員無法有效定義相關(guān)欄位屬性及過濾規(guī)則。因此,傳統(tǒng)做法中預(yù)先設(shè)置機敏欄位并且攔截修改SQL指令保護(hù)來機敏數(shù)據(jù)的方式,無法應(yīng)用至新的非關(guān)聯(lián)性數(shù)據(jù)庫上。[0011]此外,傳統(tǒng)的動態(tài)數(shù)據(jù)遮罩技術(shù)僅在使用者讀取數(shù)據(jù)時攔截查詢指令并修改答復(fù)封包,并不會在數(shù)據(jù)寫入時進(jìn)行分析判斷。由于數(shù)據(jù)儲存與讀取之間并沒有自動建立關(guān)聯(lián)性,因此造成管理人員必須自行定義相關(guān)欄位屬性及過濾規(guī)則,容易造成機敏數(shù)據(jù)外泄。
【發(fā)明內(nèi)容】
[0012]為解決上述問題,本發(fā)明提出一種動態(tài)數(shù)據(jù)遮罩方法及其數(shù)據(jù)庫系統(tǒng),其中本發(fā)明的方法在數(shù)據(jù)寫入數(shù)據(jù)庫的寫入階段中,對儲存至數(shù)據(jù)庫的內(nèi)容值(value)進(jìn)行掃描,并根據(jù)內(nèi)容值動態(tài)建立過濾規(guī)則。在讀取階段中,便基于先前動態(tài)建立的過濾規(guī)則即時進(jìn)行數(shù)據(jù)遮罩。于本發(fā)明中的過濾規(guī)則是在寫入階段中依據(jù)內(nèi)容值是否符合機敏特性而自動判斷產(chǎn)生,管理人員不需自行定義機敏欄位或過濾規(guī)則,因此同時適用于新式的非關(guān)聯(lián)性數(shù)據(jù)庫與傳統(tǒng)的關(guān)聯(lián)性數(shù)據(jù)庫。此外,本發(fā)明可進(jìn)一步依據(jù)使用者身份等級不同,提供不同的機敏數(shù)據(jù)查詢結(jié)果。
[0013]本發(fā)明的一方面是在提供一種動態(tài)數(shù)據(jù)遮罩方法,適用于包含多筆數(shù)據(jù)的數(shù)據(jù)庫,每一筆數(shù)據(jù)包含多個內(nèi)容值以及對應(yīng)所述多個內(nèi)容值的多個欄位標(biāo)簽。動態(tài)數(shù)據(jù)遮罩方法包含:當(dāng)一筆數(shù)據(jù)欲寫入至該數(shù)據(jù)庫時,判斷欲寫入的該筆數(shù)據(jù)中的多個內(nèi)容值及多個欄位標(biāo)簽是否屬于機敏內(nèi)容;若該筆數(shù)據(jù)的其中一個內(nèi)容值屬于機敏內(nèi)容,將該其中一個內(nèi)容值所對應(yīng)的一欄位標(biāo)簽設(shè)為機敏欄位,并動態(tài)建立一過濾規(guī)則對應(yīng)該欄位標(biāo)簽;或者,若該筆數(shù)據(jù)的其中一個欄位標(biāo)簽本身屬于機敏內(nèi)容,將該其中一個欄位標(biāo)簽設(shè)為機敏欄位,并動態(tài)建立一過濾規(guī)則對應(yīng)該其中一個欄位標(biāo)簽;以及,儲存該過濾規(guī)則,并將該筆數(shù)據(jù)寫入該數(shù)據(jù)庫。
[0014]本發(fā)明的另一方面是在提供一種數(shù)據(jù)庫系統(tǒng),其包含數(shù)據(jù)庫以及數(shù)據(jù)處理單元。數(shù)據(jù)庫包含多筆數(shù)據(jù),每一筆數(shù)據(jù)包含多個內(nèi)容值以及對應(yīng)所述多個內(nèi)容值的多個欄位標(biāo)簽。數(shù)據(jù)處理單元與數(shù)據(jù)庫通訊連接,用以處理寫入或讀取該數(shù)據(jù)庫的請求。其中當(dāng)一筆數(shù)據(jù)請求寫入至該數(shù)據(jù)庫時,該數(shù)據(jù)處理單元判斷欲寫入的該筆數(shù)據(jù)中的多個內(nèi)容值是否屬于機敏內(nèi)容,若該筆數(shù)據(jù)的其中一個內(nèi)容值屬于機敏內(nèi)容,該數(shù)據(jù)處理單元將該其中一個內(nèi)容值所對應(yīng)的一欄位標(biāo)簽設(shè)為機敏欄位,并動態(tài)建立一過濾規(guī)則對應(yīng)該欄位標(biāo)簽。
【專利附圖】
【附圖說明】
[0015]為讓本發(fā)明的上述和其他目的、特征、優(yōu)點與實施例能更明顯易懂,所附附圖的說明如下:
[0016]圖1繪示根據(jù)本發(fā)明的一實施例中一種數(shù)據(jù)庫系統(tǒng)的示意圖;
[0017]圖2繪示根據(jù)本發(fā)明的一實施例中一種動態(tài)數(shù)據(jù)遮罩方法在寫入階段的流程圖;
[0018]圖3繪示根據(jù)本發(fā)明的一實施例中動態(tài)數(shù)據(jù)遮罩方法在讀取階段的流程圖;
[0019]圖4繪示根據(jù)本發(fā)明的另一實施例中一種動態(tài)數(shù)據(jù)遮罩方法在寫入階段的流程圖;以及
[0020]圖5繪示根據(jù)本發(fā)明的另一實施例中動態(tài)數(shù)據(jù)遮罩方法在讀取階段的流程圖。【具體實施方式】
[0021]請參閱圖1,其繪示根據(jù)本發(fā)明的一實施例中一種數(shù)據(jù)庫系統(tǒng)100的示意圖。如圖I所示,數(shù)據(jù)庫系統(tǒng)100包含數(shù)據(jù)庫120以及數(shù)據(jù)處理單元140。數(shù)據(jù)庫120可用以保存多筆數(shù)據(jù),每一筆數(shù)據(jù)包含多個內(nèi)容值以及對應(yīng)所述多個內(nèi)容值的多個欄位標(biāo)簽。數(shù)據(jù)處理單元140與數(shù)據(jù)庫120通訊連接,數(shù)據(jù)處理單元140用以處理寫入或讀取數(shù)據(jù)庫120的請求。于此實施例中,數(shù)據(jù)庫系統(tǒng)100可進(jìn)一步包含與數(shù)據(jù)處理單元140通訊連接的過濾規(guī)則數(shù)據(jù)庫160,但本發(fā)明并不以此為限。
[0022]于此實施例中,數(shù)據(jù)處理單元140可為網(wǎng)絡(luò)網(wǎng)關(guān),使用者終端180可經(jīng)由網(wǎng)絡(luò)網(wǎng)關(guān)(數(shù)據(jù)處理單元140)進(jìn)而寫入或讀取數(shù)據(jù)庫120中的內(nèi)容。須補充的是,使用者終端180并不局限于特定使用者,它可能是任何的數(shù)據(jù)來源,例如,有可能數(shù)據(jù)庫系統(tǒng)100的擁有者同時也是所謂的“使用者”,因此“使用者終端”這個詞的定義不僅限于數(shù)據(jù)庫系統(tǒng)100的數(shù)據(jù)來源,舉例來說,亦可為欲讀取數(shù)據(jù)庫系統(tǒng)100的請求者,欲修改/控制數(shù)據(jù)庫系統(tǒng)100的管理者等。
[0023]本發(fā)明并不以限于數(shù)據(jù)處理單元140為網(wǎng)絡(luò)網(wǎng)關(guān),于其他實施例中,數(shù)據(jù)處理單元140亦可為整合于網(wǎng)絡(luò)網(wǎng)關(guān)上的控制電路,或是整合于數(shù)據(jù)庫120上的控制電路。此外,本發(fā)明中的數(shù)據(jù)庫120可為非關(guān)系型數(shù)據(jù)庫(如NoSQL)或是關(guān)系型數(shù)據(jù)庫。
[0024]于此實施例中,數(shù)據(jù)庫系統(tǒng)100在數(shù)據(jù)寫入與讀取的過程中可執(zhí)行動態(tài)數(shù)據(jù)遮罩方法,借此來保護(hù)機敏內(nèi)容的安全性。此動態(tài)數(shù)據(jù)遮罩方法的詳細(xì)做法請一并參考圖2及圖3,圖2繪示根據(jù)本發(fā)明的一實施例中一種動態(tài)數(shù)據(jù)遮罩方法在寫入階段的流程圖,圖3繪示根據(jù)本發(fā)明的一實施例中動態(tài)數(shù)據(jù)遮罩方法在讀取階段的流程圖。
[0025]如圖1與圖2所示,假設(shè)使用者終端180請求將一筆數(shù)據(jù)寫入至數(shù)據(jù)庫120。此時,數(shù)據(jù)處理單元140執(zhí)行步驟S200判斷欲寫入的該筆數(shù)據(jù)中的多個內(nèi)容值及多個欄位標(biāo)簽是否屬于機敏內(nèi)容。實際應(yīng)用中,數(shù)據(jù)處理單元140可根據(jù)演算法判斷欲寫入的內(nèi)容值/欄位標(biāo)簽當(dāng)中是否屬于機敏內(nèi)容。實際應(yīng)用中,判斷機敏內(nèi)容的演算法可采用正規(guī)表示法(Regular Expression, regex)、機器學(xué)習(xí)法(Machine Learning)及簽章演算法(Signature)等演算法中至少其一。
[0026]或是,于另一實施例中,數(shù)據(jù)處理單元140亦可利用查表方式判斷欲寫入的內(nèi)容值當(dāng)中是否存在有屬于機敏內(nèi)容的內(nèi)容值,于此例中,數(shù)據(jù)處理單元140須建有常見機敏內(nèi)容的表格,如姓氏、地址格式或特定關(guān)鍵字。
[0027]若步驟S200中判斷該筆欲寫入的數(shù)據(jù)中的多個內(nèi)容值及多個欄位標(biāo)簽是否屬于機敏內(nèi)容,數(shù)據(jù)處理單元140便執(zhí)行步驟S202,自動建立過濾規(guī)則。其中若該筆數(shù)據(jù)的其中一個內(nèi)容值屬于機敏內(nèi)容,步驟S202是將此一內(nèi)容值所對應(yīng)的欄位標(biāo)簽設(shè)為機敏欄位,并動態(tài)建立對應(yīng)此欄位標(biāo)簽的過濾規(guī)則;另一方面,若該筆數(shù)據(jù)的其中一個欄位標(biāo)簽本身屬于機敏內(nèi)容,步驟S202是將該其中一個欄位標(biāo)簽設(shè)為機敏欄位,并動態(tài)建立一過濾規(guī)則對應(yīng)該其中一個欄位標(biāo)簽。
[0028]假設(shè),欲寫入的數(shù)據(jù)如下表一:
[0029]
【權(quán)利要求】
1.一種動態(tài)數(shù)據(jù)遮罩方法,其特征在于,適用于一數(shù)據(jù)庫其用以保存多筆數(shù)據(jù),其中每一筆數(shù)據(jù)包含多個內(nèi)容值以及對應(yīng)所述多個內(nèi)容值的多個欄位標(biāo)簽,該動態(tài)數(shù)據(jù)遮罩方法包含: 當(dāng)一筆數(shù)據(jù)欲寫入至該數(shù)據(jù)庫時,判斷欲寫入的該筆數(shù)據(jù)中的多個內(nèi)容值及多個欄位標(biāo)簽是否屬于機敏內(nèi)容; 若該筆數(shù)據(jù)的其中一個內(nèi)容值屬于機敏內(nèi)容或者該筆數(shù)據(jù)的其中一個欄位標(biāo)簽本身屬于機敏內(nèi)容,將該其中一個內(nèi)容值所對應(yīng)的一欄位標(biāo)簽或者該其中一個欄位標(biāo)簽本身設(shè)為機敏欄位,并動態(tài)建立一過濾規(guī)則對應(yīng)該欄位標(biāo)簽;以及 儲存該過濾規(guī)則,并將該筆數(shù)據(jù)寫入該數(shù)據(jù)庫。
2.根據(jù)權(quán)利要求1所述的動態(tài)數(shù)據(jù)遮罩方法,其特征在于,于該筆數(shù)據(jù)寫入至該數(shù)據(jù)庫的過程中,該動態(tài)數(shù)據(jù)遮罩方法還包含: 取得一使用者保密規(guī)則,其包含多個相異的使用者等級,其中對應(yīng)該欄位標(biāo)簽動態(tài)建立該過濾規(guī)則的步驟中,進(jìn)一步根據(jù)該使用者保密規(guī)則對應(yīng)同一欄位標(biāo)簽分別建立多個相異的過濾規(guī)則,以對應(yīng)所述多個相異的使用者等級。
3.根據(jù)權(quán)利要求1所述的動態(tài)數(shù)據(jù)遮罩方法,其特征在于,還包含: 當(dāng)請求讀取該數(shù)據(jù)庫時,判斷請求的一欄位標(biāo)簽是否為機敏欄位; 若請求的該欄位標(biāo)簽屬于機敏欄位,載入請求的該欄位標(biāo)簽所對應(yīng)的該過濾規(guī)則; 根據(jù)對應(yīng)的該過濾規(guī)則,對請求的該欄位標(biāo)簽對應(yīng)的該內(nèi)容值進(jìn)行遮罩處理;以及 回復(fù)經(jīng)遮罩處理后的該內(nèi)容值。
4.根據(jù)權(quán)利要求3所述 的動態(tài)數(shù)據(jù)遮罩方法,其特征在于,于請求讀取該數(shù)據(jù)庫的過程中,該動態(tài)數(shù)據(jù)遮罩方法還包含: 取得目前請求的一使用者等級,其中載入該過濾規(guī)則的步驟中,是同時根據(jù)請求的該欄位標(biāo)簽以及該使用者等級進(jìn)而載入相對應(yīng)的該過濾規(guī)則。
5.根據(jù)權(quán)利要求1所述的動態(tài)數(shù)據(jù)遮罩方法,其特征在于,該動態(tài)數(shù)據(jù)遮罩方法是根據(jù)一演算法或一查表方式判斷欲寫入的所述多個內(nèi)容值是否屬于機敏內(nèi)容,其中該演算法是選自正規(guī)表示法、機器學(xué)習(xí)法及簽章演算法至少其一。
6.一種數(shù)據(jù)庫系統(tǒng),其特征在于,包含: 一數(shù)據(jù)庫,用以保存多筆數(shù)據(jù),每一筆數(shù)據(jù)包含多個內(nèi)容值以及對應(yīng)所述多個內(nèi)容值的多個欄位標(biāo)簽; 一數(shù)據(jù)處理單元,與該數(shù)據(jù)庫通訊連接,用以處理寫入或讀取該數(shù)據(jù)庫的請求, 其中,當(dāng)一筆數(shù)據(jù)請求寫入至該數(shù)據(jù)庫時,該數(shù)據(jù)處理單元判斷欲寫入的該筆數(shù)據(jù)中的多個內(nèi)容值及多個欄位標(biāo)簽是否屬于機敏內(nèi)容,若該筆數(shù)據(jù)的其中一個內(nèi)容值或其中一個欄位標(biāo)簽本身屬于機敏內(nèi)容,該數(shù)據(jù)處理單元將該其中一個內(nèi)容值所對應(yīng)的一欄位標(biāo)簽或該其中一個欄位標(biāo)簽本身設(shè)為機敏欄位,并動態(tài)建立一過濾規(guī)則對應(yīng)該欄位標(biāo)簽。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫系統(tǒng),其特征在于,當(dāng)請求讀取該數(shù)據(jù)庫時,該數(shù)據(jù)處理單元判斷請求的一欄位標(biāo)簽是否為機敏欄位,若請求的該欄位標(biāo)簽屬于機敏欄位,該數(shù)據(jù)處理單元載入請求的該欄位標(biāo)簽所對應(yīng)的該過濾規(guī)則,根據(jù)對應(yīng)的該過濾規(guī)則,該數(shù)據(jù)處理單元對請求的該欄位標(biāo)簽對應(yīng)的該內(nèi)容值進(jìn)行遮罩處理,并回復(fù)經(jīng)遮罩處理后的該內(nèi)容值。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫系統(tǒng),其特征在于,該數(shù)據(jù)處理單元為一網(wǎng)絡(luò)網(wǎng)關(guān)、整合于一網(wǎng)絡(luò)網(wǎng)關(guān)上的一控制電路、或整合于該數(shù)據(jù)庫上的一控制電路。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫系統(tǒng),其特征在于,該數(shù)據(jù)庫為一非關(guān)系型數(shù)據(jù)庫、或一關(guān)系型數(shù)據(jù)庫。
10.根據(jù)權(quán)利要求6所述的數(shù)據(jù)庫系統(tǒng),其特征在于,該數(shù)據(jù)處理單元儲存有一使用者保密規(guī)則,其包含多個相異的使用者等級,當(dāng)該數(shù)據(jù)處理單元對應(yīng)該欄位標(biāo)簽動態(tài)建立該過濾規(guī)則時,該數(shù)據(jù)處理單元進(jìn)一步根據(jù)該使用者保密規(guī)則對應(yīng)同一欄位標(biāo)簽分別建立多個相異的過濾規(guī)則,以對應(yīng)所述多個相異的使用者等級,當(dāng)該數(shù)據(jù)處理單元讀取該數(shù)據(jù)庫時,該數(shù)據(jù)處理單元判斷目前請求的該使用者等級,該數(shù)據(jù)處理單元是同時根據(jù)請求的該欄位標(biāo)簽以及該使用者等級`進(jìn)而載入相對應(yīng)的該過濾規(guī)則。
【文檔編號】G06F17/30GK103870480SQ201210536320
【公開日】2014年6月18日 申請日期:2012年12月12日 優(yōu)先權(quán)日:2012年12月12日
【發(fā)明者】蔡林峻, 鍾松剛, 吳建興 申請人:財團(tuán)法人資訊工業(yè)策進(jìn)會