一種數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)庫處理方法,尤其涉及一種數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法。
【背景技術(shù)】
[0002]隨著移動業(yè)務(wù)支撐系統(tǒng)數(shù)據(jù)應(yīng)用越來越廣泛,個人信息安全保障已越來越被公司重視。如何規(guī)避日常生產(chǎn)運(yùn)行所涉及的大量敏感信息,成為信息安全首要考慮問題,而承載核心業(yè)務(wù)系統(tǒng)的生產(chǎn)數(shù)據(jù)庫更是重中之重。在日常信息化建設(shè)中,不可避免的需要從生產(chǎn)庫迀移至測試庫的大量業(yè)務(wù)測試數(shù)據(jù),如何滿足信息化建設(shè)基礎(chǔ)上,最大限度地保護(hù)敏感信息,是當(dāng)前面臨的重要挑戰(zhàn)。
[0003]現(xiàn)階段,基于運(yùn)行環(huán)境安全管控已有諸多規(guī)范,并擁有完善的安全加固方案。而生產(chǎn)數(shù)據(jù)同步到測試庫、開發(fā)庫、報表庫等用于開發(fā)、測試、報表查詢過程中,如敏感信息沒有及時屏蔽,則存在敏感數(shù)據(jù)泄露風(fēng)險?,F(xiàn)有通常做法是通過業(yè)務(wù)人員對數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)進(jìn)行手工梳理,得出敏感數(shù)據(jù)清單,如對業(yè)務(wù)和數(shù)據(jù)庫結(jié)構(gòu)不了解,會造成內(nèi)容定位不準(zhǔn)確問題,并且需要專家級別的業(yè)務(wù)人員才能操作,梳理難度大,成本非常高,維護(hù)效率極低。現(xiàn)有技術(shù)的缺點(diǎn)如下:1)數(shù)據(jù)庫梳理敏感數(shù)據(jù)內(nèi)容定位不準(zhǔn)確。2)數(shù)據(jù)庫梳理敏感數(shù)據(jù)梳理難度大。3)數(shù)據(jù)庫梳理敏感數(shù)據(jù)人工成本非常高。4)數(shù)據(jù)庫梳理敏感數(shù)據(jù)維護(hù)效率低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是提供一種數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,能夠解決敏感數(shù)據(jù)人工梳理困難,內(nèi)容定位不準(zhǔn)確問題,降低人工梳理耗時,降低人工成本,提高梳理準(zhǔn)確性,提高維護(hù)工作效率。
[0005]本發(fā)明為解決上述技術(shù)問題而采用的技術(shù)方案是提供一種數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,包括如下步驟:a)配置數(shù)據(jù)源,并為數(shù)據(jù)源中庫表的敏感字段設(shè)置識別匹配算法;b)獲取已配置的數(shù)據(jù)源和識別匹配算法,在后臺啟動多個線程,采用JDBC方式與指定的數(shù)據(jù)庫建立長連接,一個線程處理一個用戶下的所有表或處理一張表;c)對每一張庫表采取抽樣的方式隨機(jī)抽取指定的數(shù)據(jù),將抽取出來的數(shù)據(jù)按設(shè)置的識別匹配算法進(jìn)行檢驗(yàn);d)檢驗(yàn)通過則標(biāo)記為敏感數(shù)據(jù),并自動保存記錄。
[0006]上述的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,其中,所述步驟a)通過數(shù)據(jù)庫實(shí)例配置界面將數(shù)據(jù)庫主機(jī)IP、端口、數(shù)據(jù)庫實(shí)例名、數(shù)據(jù)庫帳號、數(shù)據(jù)庫密碼信息保存起來作為數(shù)據(jù)源。
[0007]上述的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,其中,所述步驟a)中敏感字段包括姓名、單位通訊地址、單位名稱、證件有效時間、身份證號、聯(lián)系人、證件地址、聯(lián)系方式、實(shí)際居住地址、實(shí)際居住郵編。
[0008]上述的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,其中,所述步驟b)中的多個線程包括一個主線程和多個子線程,每個子線程對一個用戶或一張表進(jìn)行掃描處理,所有子線程運(yùn)作狀態(tài)及時報告給主線程,每個子線程與主線程定時保持心跳聯(lián)系,并將運(yùn)行狀態(tài)和進(jìn)度一起作為心跳信息發(fā)送給主線程,所述主線程將所有子線程操作作為一個事務(wù)處理,并等待所有子線程都執(zhí)行成功并返回掃描結(jié)果后,按檢驗(yàn)次數(shù)、達(dá)標(biāo)率、所用時長、過程狀態(tài)進(jìn)行多維度統(tǒng)計后輸出報告并保存到數(shù)據(jù)庫,以作前端查詢使用。
[0009]上述的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,其中,所述步驟c)中隨機(jī)抽取的數(shù)據(jù)在全部數(shù)據(jù)內(nèi)容內(nèi)均勻分布。
[0010]上述的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,其中,所述步驟c)中對姓名字段的識別匹配過程如下:cl)預(yù)存百家姓復(fù)姓表和單姓表,判斷文本總長是否在2至4位之內(nèi),若不是則退出;c2)利用正則表達(dá)式判斷文本是否只包含漢字,若不是則退出;c3)從文本中讀取前兩個字,從復(fù)姓表中匹配其是否為復(fù)姓,若不是則取文本前一字,從單姓表匹配其是否為單姓,若不是則退出,若是則判斷該字段為姓名類型敏感字段。
[0011]上述的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,其中,所述步驟c)中設(shè)置有循環(huán)檢驗(yàn)次數(shù)、重復(fù)篩選次數(shù)、一次通過達(dá)標(biāo)率和基準(zhǔn)達(dá)標(biāo)率,如果第一次隨機(jī)抽取數(shù)據(jù)的檢驗(yàn)結(jié)果高于一次通過達(dá)標(biāo)率則直接檢驗(yàn)通過,否則先按照循環(huán)檢驗(yàn)次數(shù)進(jìn)行重復(fù)檢驗(yàn),再按照重復(fù)篩選次數(shù)繼續(xù)隨機(jī)抽取數(shù)據(jù)進(jìn)行后續(xù)檢驗(yàn),如果所有檢驗(yàn)結(jié)果均高于基準(zhǔn)達(dá)標(biāo)率則通過。
[0012]本發(fā)明對比現(xiàn)有技術(shù)有如下的有益效果:本發(fā)明提供的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,通過對數(shù)據(jù)庫敏感數(shù)據(jù)進(jìn)行自動識別,解決敏感數(shù)據(jù)人工梳理困難,內(nèi)容定位不準(zhǔn)確問題,降低人工梳理耗時,降低人工成本,提高梳理準(zhǔn)確性,提高維護(hù)工作效率;可以有效解決敏感數(shù)據(jù)泄漏問題,保障清單數(shù)據(jù)安全,確保非法進(jìn)入系統(tǒng)盜取數(shù)據(jù)者即使拿到用戶基礎(chǔ)資料信息也無使用價值,提高維護(hù)人員工作效率,提升業(yè)務(wù)支撐能力。
【附圖說明】
[0013]圖1為本發(fā)明數(shù)據(jù)庫敏感數(shù)據(jù)自動識別流程示意圖。
【具體實(shí)施方式】
[0014]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的描述。
[0015]圖1為本發(fā)明數(shù)據(jù)庫敏感數(shù)據(jù)自動識別流程示意圖。
[0016]請參見圖1,本發(fā)明提供的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,包括如下步驟:
[0017]步驟S1:配置數(shù)據(jù)源,并為數(shù)據(jù)源中庫表的敏感字段設(shè)置識別匹配算法;如通過數(shù)據(jù)庫實(shí)例配置界面將數(shù)據(jù)庫主機(jī)IP、端口、數(shù)據(jù)庫實(shí)例名、數(shù)據(jù)庫帳號、數(shù)據(jù)庫密碼信息保存起來作為數(shù)據(jù)源;所述敏感字段包括姓名、單位通訊地址、單位名稱、證件有效時間、身份證號、聯(lián)系人、證件地址、聯(lián)系方式、實(shí)際居住地址、實(shí)際居住郵編;
[0018]步驟S2:獲取已配置的數(shù)據(jù)源和識別匹配算法,在后臺啟動多個線程,采用JDBC方式與指定的數(shù)據(jù)庫建立長連接,一個線程處理一個用戶下的所有表或處理一張表;
[0019]步驟S3:對每一張庫表采取抽樣的方式隨機(jī)抽取指定的數(shù)據(jù),將抽取出來的數(shù)據(jù)按設(shè)置的識別匹配算法進(jìn)行檢驗(yàn);
[0020]步驟S4:檢驗(yàn)通過則標(biāo)記為敏感數(shù)據(jù),并自動保存記錄。
[0021]本發(fā)明提供的數(shù)據(jù)庫敏感數(shù)據(jù)自動識別方法,通過數(shù)據(jù)庫實(shí)例配置界面將數(shù)據(jù)庫主機(jī)IP、端口、數(shù)據(jù)庫實(shí)例名、數(shù)據(jù)庫帳號、數(shù)據(jù)庫密碼等信息保存起來作為數(shù)據(jù)源。再通過敏感策略配置敏感數(shù)據(jù)描述規(guī)則,程序根據(jù)庫表字段中不同特性敏感數(shù)據(jù)智能選取合適的匹配算法。基礎(chǔ)配置完成后,采用一鍵式啟動,程序自動獲取已配置的數(shù)據(jù)源和敏感策略,在后臺啟動多個線程,采用JDBC方式與指定的數(shù)據(jù)庫建立長連接,一個線程處理一個用戶下的所有表或處理一張表,因?yàn)槊繌埍淼臄?shù)據(jù)量非常大,可能達(dá)到千萬甚至上億,所以對每一張庫表采取抽樣的方式隨機(jī)抽取指定的數(shù)據(jù),可根據(jù)庫表總數(shù)量大小智能抽取適當(dāng)數(shù)量,可以自定義隨機(jī)抽數(shù)百條或數(shù)十萬條(每50、500、5000……等抽一條),保證隨機(jī)抽取的數(shù)據(jù)可在全部數(shù)據(jù)內(nèi)容內(nèi)均勻分布,將抽取出來的數(shù)據(jù)按智能選取的匹配策略進(jìn)行檢驗(yàn),檢驗(yàn)其間可自定義設(shè)置或循環(huán)檢驗(yàn)次數(shù)、重復(fù)篩選次數(shù)、達(dá)標(biāo)率,例如重復(fù)3次檢驗(yàn)并且達(dá)標(biāo)率為95%,則三次檢驗(yàn)都必須超過95%才能通過。此外,本發(fā)明可設(shè)