本發(fā)明涉及數(shù)據(jù)保護,具體的說是一種自適應sql差分隱私加噪方法。
背景技術:
1、在大數(shù)據(jù)和云計算盛行的當下,多源異構數(shù)據(jù)庫環(huán)境已經(jīng)成為數(shù)據(jù)收集、存儲和分析的常態(tài),其中包含了來自不同來源、不同格式和結構的數(shù)據(jù)集合,例如關系型數(shù)據(jù)庫、nosql數(shù)據(jù)庫、文件系統(tǒng)等。這種環(huán)境下的數(shù)據(jù)查詢,尤其是復雜sql語句的執(zhí)行,對數(shù)據(jù)隱私保護提出了嚴峻挑戰(zhàn)。復雜sql語句,通常涉及多表聯(lián)接、子查詢、聚合函數(shù)等,不僅增加了查詢的語義復雜度,也使得準確評估查詢對敏感數(shù)據(jù)的影響變得極為困難,放大了潛在的隱私泄露風險。例如,一個包含多個join和group?by操作的查詢,可能會無意中泄露大量隱私信息。如何在執(zhí)行這類語句時,既有效保護數(shù)據(jù)隱私,又保持數(shù)據(jù)的實用性和分析結果的準確性,成為了一個亟需解決的關鍵問題。
2、差分隱私作為一種有效的隱私保護技術,通過在查詢結果中加入適量的隨機噪聲,確保查詢結果在包含或不包含某個個體數(shù)據(jù)的情況下變化不大,從而保護個體隱私。然而,如何在復雜sql語句中精確計算并添加合適量級的噪聲,以達到最優(yōu)的隱私保護效果,同時盡可能減少對數(shù)據(jù)效用的影響,是一個技術難點。因此,開發(fā)一種能夠根據(jù)具體查詢情況調(diào)整隱私保護參數(shù)的方法至關重要。
技術實現(xiàn)思路
1、本發(fā)明針對目前技術發(fā)展的需求和不足之處,提供一種自適應sql差分隱私加噪方法,根據(jù)sql查詢的特性,如聚合函數(shù)的類型、查詢的復雜度以及數(shù)據(jù)的敏感度,來動態(tài)地分配隱私預算,從而在實現(xiàn)隱私保護的同時最大化查詢結果的準確性和可用性。
2、本發(fā)明的一種自適應sql差分隱私加噪方法,解決上述技術問題采用的技術方案如下:
3、一種自適應sql差分隱私加噪方法,其實現(xiàn)包括如下四個階段:
4、s1、元數(shù)據(jù)管理階段:定期收集并更新數(shù)據(jù)庫的元數(shù)據(jù),分析數(shù)據(jù)表的屬性特征,形成數(shù)據(jù)屬性特征庫,結合所述數(shù)據(jù)屬性特征庫中數(shù)據(jù)表屬性特征的識別情況,分析數(shù)據(jù)遭到泄露和損毀造成的影響,形成與數(shù)據(jù)庫相對應的數(shù)據(jù)敏感度庫;
5、s2、特征提取階段:將接收到的sql查詢請求重寫成抽象語法樹,遍歷所述抽象語法樹,記錄聚合函數(shù)類型及其相關聯(lián)的字段和條件;識別多表連接查詢結構和多層子查詢結構,確定查詢涉及的表的連接方式以及子查詢節(jié)點的結構和層次;
6、s3、隱私預算分析決策階段:將所述sql查詢請求包含的關鍵語義信息與所述數(shù)據(jù)敏感度庫中各數(shù)據(jù)表、數(shù)據(jù)項的敏感程度進行綁定;基于sql查詢請求的特征和綁定的相關數(shù)據(jù)表、數(shù)據(jù)項敏感程度計算得到sql查詢請求的敏感度φ,并根據(jù)敏感度φ自適應地對sql查詢請求分配合適的隱私預算?;
7、s4、噪聲引入階段:為數(shù)據(jù)庫中各數(shù)據(jù)表、數(shù)據(jù)項設置最大隱私預算,檢查所述sql查詢請求對應的數(shù)據(jù)表、數(shù)據(jù)項的隱私預算余量是否充足,若是,則使用滿足?-差分隱私的數(shù)據(jù)擾動機制對查詢結果進行擾動,得到擾動后的結果,若否,則拒絕該sql查詢請求。
8、可選的,所涉及步驟s1具體包括:
9、s1.1、定期收集并更新數(shù)據(jù)庫的元數(shù)據(jù),所述元數(shù)據(jù)包括數(shù)據(jù)表的名稱、字段類型和約束條件;
10、s1.2、分析數(shù)據(jù)表的屬性特征,結合數(shù)據(jù)特點,識別數(shù)據(jù)涉及的領域、群體、區(qū)域、精度、規(guī)模、深度、覆蓋度和重要性八類要素,形成數(shù)據(jù)屬性特征庫;
11、s1.3、結合所述數(shù)據(jù)屬性特征庫中數(shù)據(jù)表屬性特征的識別情況,分析數(shù)據(jù)遭到泄露、篡改、損毀或者非法獲取、非法使用、非法共享時造成的影響程度;
12、s1.4、根據(jù)所述影響程度確定數(shù)據(jù)庫中各數(shù)據(jù)表、數(shù)據(jù)項的敏感程度,形成與數(shù)據(jù)庫相對應的數(shù)據(jù)敏感度庫。
13、進一步可選的,執(zhí)行步驟s1.2,形成數(shù)據(jù)屬性特征庫的過程中:
14、識別數(shù)據(jù)描述的行業(yè)領域、業(yè)務條線、流程環(huán)節(jié)和內(nèi)容主題四個領域要素;
15、識別數(shù)據(jù)描述的人群、組織、網(wǎng)絡和信息系統(tǒng)、資源、設備、項目六個群體要素;
16、識別數(shù)據(jù)描述的行政區(qū)劃和指定地區(qū)兩個區(qū)域要素;
17、識別數(shù)值精度、空間精度、時間精度和工藝精密度四個精度要素;
18、識別數(shù)據(jù)存儲量、群體規(guī)模和區(qū)域規(guī)模三個規(guī)模要素;
19、識別數(shù)據(jù)在刻畫描述對象的經(jīng)濟運行、發(fā)展態(tài)勢、行蹤軌跡、活動記錄和對象關系五個方面的深度要素;
20、識別數(shù)據(jù)對領域、群體、區(qū)域、時間段的覆蓋占比和覆蓋分布兩個覆蓋度要素;
21、識別數(shù)據(jù)在經(jīng)濟建設、政治建設、文化建設、社會建設和生態(tài)文明建設五個方面的重要性要素。
22、進一步可選的,所涉及步驟s1.3提及的影響程度從高到低分為特別嚴重危害、嚴重危害、一般危害;
23、進行影響程度判斷前,首先指定判斷基準。
24、可選的,所涉及步驟s2具體包括:
25、s2.1、將接收到的sql查詢請求重寫成抽象語法樹,遍歷所述抽象語法樹,查找其中的聚合函數(shù)節(jié)點,記錄查找到的聚合函數(shù)類型,并提取與這些聚合函數(shù)相關聯(lián)的字段和條件;
26、s2.2、識別多表連接查詢結構,分析所述抽象語法樹中的from子句和join子句,確定查詢涉及的表的數(shù)量以及表之間的連接方式,所述連接方式包括內(nèi)連接和左連接;
27、s2.3、識別多層子查詢結構,遞歸地遍歷所述抽象語法樹,查找子查詢節(jié)點,分析所述子查詢節(jié)點的結構和層次,記錄子查詢節(jié)點的類型和依賴關系。
28、可選的,所涉及步驟s3具體包括:
29、s3.1、訪問目標數(shù)據(jù)庫對應的數(shù)據(jù)敏感度庫,將所述sql查詢請求包含的關鍵語義信息與所述數(shù)據(jù)庫對應的數(shù)據(jù)敏感度庫中各數(shù)據(jù)表、數(shù)據(jù)項的敏感程度進行綁定;
30、s3.2、基于sql查詢請求提取到的聚合函數(shù)、多表連接查詢結構、多層子查詢結構,以及綁定的各數(shù)據(jù)表、數(shù)據(jù)項敏感程度,進行敏感度計算,得到sql查詢請求的敏感度φ,所述敏感度φ用于對sql查詢結果添加數(shù)據(jù)噪聲;
31、s3.3、選定k個備選的隱私預算,使用滿足差分隱私的數(shù)據(jù)擾動機制對sql查詢結果分別進行擾動,得到k個擾動后的查詢結果;對這一過程重復t次,隨后評估k個隱私預算對應的平均擾動效果,據(jù)此對敏感度為φ的sql查詢請求分配合適的隱私預算?。
32、進一步可選的,執(zhí)行步驟s3.3,對“選定k個備選的隱私預算,使用滿足差分隱私的數(shù)據(jù)擾動機制對sql查詢結果分別進行擾動,得到k個擾動后的查詢結果”這一過程重復t次,每次重復時具體選定一個隱私預算進行加噪,其中,采用隨機原則、平均原則、最大最小化原則、最小最大化原則、基于歷史數(shù)據(jù)的原則、動態(tài)調(diào)整原則、用戶偏好原則和成本效益原則中的至少一種原則選擇一個隱私預算并進行加噪。
33、可選的,所涉及步驟s4具體包括:
34、s4.1、為數(shù)據(jù)庫中各數(shù)據(jù)表、數(shù)據(jù)項設置最大隱私預算,通過設置的最大隱私預算對多次查詢請求進行隱私控制;
35、s4.2、檢查所述sql查詢請求對應的數(shù)據(jù)表、數(shù)據(jù)項的隱私預算余量是否充足,如果隱私預算不足,則拒絕該查詢請求或返回相應的錯誤信息,如果隱私預算充足,則執(zhí)行所述sql查詢請求,得到查詢結果q,再將所述數(shù)據(jù)表、數(shù)據(jù)項的隱私預算余量扣減隱私預算進行更新,其中:
36、(a)對于數(shù)值型數(shù)據(jù),使用滿足?-差分隱私的數(shù)據(jù)擾動機制對查詢結果q進行擾動,得到擾動后的結果d;
37、(b)對于非數(shù)值型數(shù)據(jù),將非數(shù)值型數(shù)據(jù)轉化為特征向量,并通過使用滿足-差分隱私的數(shù)據(jù)擾動機制來保護所述特征向量的隱私信息。
38、優(yōu)選的,執(zhí)行步驟s4.1,為數(shù)據(jù)庫中各數(shù)據(jù)表和數(shù)據(jù)項設置一個統(tǒng)一的最大隱私預算,或者,依據(jù)數(shù)據(jù)敏感度庫,分別為數(shù)據(jù)庫中的各數(shù)據(jù)表、數(shù)據(jù)項設置最大隱私預算。
39、本發(fā)明的一種自適應sql差分隱私加噪方法,與現(xiàn)有技術相比具有的有益效果是:
40、本發(fā)明能夠根據(jù)復雜sql查詢的特性,如聚合函數(shù)的類型、查詢的復雜度以及數(shù)據(jù)的敏感度,精確計算動態(tài)分配隱私預算,并對查詢結果添加合適量級的噪聲,從而在實現(xiàn)隱私保護的同時最大化查詢結果的準確性和可用性,達到最優(yōu)的隱私保護效果。