數據水印
D.1概述
金融業機構在開展金融數據安全防護工作過程中,越來越多的數據庫數據通過網絡進行存儲和發布,這些數據往往包含各類敏感信息,即使脫敏后仍然有巨大的社會價值與經濟價值,如果不采取有效的安全控制和版權保護措施,會給攻擊者可乘之機。在缺乏數據庫完整性驗證的有效措施時,一旦出現數據泄露,后果也是無法想象的。因此,需要使用數據水印技術在數據交換及數據使用中的分發共享、委托處理等環節標明數據的來源、分發對象、分發時間、分發途徑及使用范圍等。當出現數據泄露事件時,可從植入的數據水印信息中還原上述信息,達到追溯泄露途徑、追責泄露人員的目的,避免相同類型的數據泄露事件發生。
D.2數據水印的定義
數據水印是指從原始環境向目標環境進行敏感數據交換時,通過一定的方法向數據中植入水印標記,從而使數據具有可識別分發者、分發對象、分發時間、分發目的等因素,同時保留目標環境業務所需的數據特性或內容的數據處理過程。數據水印具有隱蔽性、可追溯性、確定性等特點。
D.3數據水印基本原則
數據水印為了能夠進行分發追溯,同時又要避免植入水印干擾正常數據的使用,設計基本原則如下:
a)可追溯性:保證植入數據中水印的有效性,當包含了數據水印內容的數據泄露時,可追溯出其中包含的信息。
b)仿真性:保證植入數據水印的真實性,數據水印盡可能真實地體現原始數據的特征如數據格式、類型、長度、大小、唯一性等,且不會破壞原有數據的可讀性。
c)部分有效性:保證用于追溯信息的包含數據水印的泄露數據并不需要全部內容,只需要部分數據,即可追溯完整水印信息。
d)可配置性:保證數據水印過程的可配置性,由于需要植入的水印不同,數據水印的處理方式和處理字段也不盡相同,因此需通過配置的方式,按照輸入條件不同,生成不同的水印結果。
e)安全性:嵌入在原始數據中的水印是不可除的,且能夠提供完整的版權證據,數據水印不會因為數據的某種改動而導致水印信息丟失的能力,數據水印能保持完整性或仍能被準確鑒別。
D.4數據水印技術方法
D.4.1偽行水印
偽行水印指在對某些外發數據添加水印時,通過添加人為生成的若干整行信息,并從中挑選某些字段植入水印信息的技術。這些篩選的植入水印的字段一般常見于身份證號碼、電話號碼、銀行卡號碼、
偽行水印主要處理步驟為:基于對數據表結構分析和數據類型分析,識別主鍵表和外鍵表;確定主鍵值的處理方式,自動生成或者手動生成;識別敏感數據字段,在偽行水印庫中選取添加的數據類型與敏感字段匹配;對其他數據字段進行同類型數據的生成;選擇生成數據的分組策略,分組策略主要解決偽行數據生成的行數及偽行數據在原始數據中如何分布;根據設置生成偽行數據,并在偽行數據中自動嵌入水印標記,偽行水印處理步驟見圖D.1。

D.4.2偽列水印
偽列水印指通過對分發數據中,人為構造增加一列,并在其中植入水印的機制。
偽列水印主要處理步驟為:基于對數據表結構分析和數據類型分析,在偽列水印庫中選取添加的數據類型,然后根據水印的類型,系統生成與原始數據量一致的偽列數據,并在偽列的數據中自動插入水印標記,偽列水印處理步驟見圖D.2。

D.4.3脫敏水印
脫敏水印指在增加行和列的情況下,通過對原始數據中某些字段按照一定的水印植入規則進行脫敏變形,產生的脫敏后數據植入了水印信息的技術。
脫敏水印主要處理步驟為:基于對數據表結構分析和敏感數據發現分析,識別敏感字段。根據識別的敏感字段,選擇相應的數據變形算法,對數據進行變形處理,在數據過程中添加水印標識到變形后的數據中。在數據置換的數據變形方式下,對數據置換的可逆編碼記錄并結合水印標記信息生成新的變形后數據,生成帶有水印標記信息的數據,脫敏水印處理步驟見圖D.3。

水印添加
水印添加的一般步驟如下:
a)數據初始化,數據庫表包含有多個元組,每個元組的數據模式可用R=(Pk,F1,F2…Fn,Fk),其中R代表元組,Pk代表主鍵,Fk為外鍵,F1,F2…Fn為屬性;在屬性中包含有部分敏感信息,定義C為數據庫中包含敏感屬性的表的集合,對C進行數據抽取形成數據子集S,S中含有1個或多個表,S中表的屬性含有敏感信息,S中表之間具有一定的關系,比如主外鍵表。
b)定義偽行偽列字段規則,字段規則根據敏感數據屬性含義和數據類型進行定義;敏感數據屬性定義會根據數據屬性含義和數據類型結合,敏感數據屬性往往具有明顯的數據特征和數據類型;首先將分離出敏感數據屬性,根據敏感數據屬性的類型、值域范圍及限定規則,抽象出敏感數據屬性的規則,數據值型數據將通過正則表達式方式抽取數據屬性規則,字符型屬性可通過正則表達式方式或進行值域范圍分解抽取數據屬性規則。
c)對數據進行字段規則配置,選擇數據子集S中1個或多個表的屬性,進行偽行字段或者偽列字段規則配置;首先選擇指定的表,根據表中的已有字段屬性分布情況,選擇采用偽行或偽列方式嵌入水印信息;選擇偽行時,對表中已有字段屬性進行規則定義,選擇字段屬性配置對應的偽行字段規則,由于表中字段屬性會很多,限制至少兩個字段屬性需要配置,其余字段屬性按默認值,配置生成的數據行比例因子;選擇偽列時,直接配置對應的偽列字段規則,生成的數據行比例因子為1。
d)水印數據的生成,根據選擇的字段規則,進行水印數據的生成;偽行或偽列水印處理根據字段規則配置生成數據行或數據列,生成的數據中對應規則配置的數值型數據按正則表達式構建數據值,并通過隨機數值組合生成水印標記信息并嵌入到數據值中;字符型數據按值域范圍獲取數據字典數據構建數據值,并通過值域數據字典對應的數值編碼生成水印標記信息并嵌入到數據值中。
e)水印數據的嵌入,水印數據的插入處理;偽行水印處理時,按照配置的數據行比例因子,在原始數據中按照一定的間隔比例將水印數據分散的插入到原始數據中;偽列水印處理時,對原始數據增加新的字段屬性并根據配置生成字段名稱,然后將偽列數據插入到對應的字段屬性中。
水印溯源
水印溯源技術是指通過泄露數據中包含的水印數據識別其數據特征,并最終解析出水印信息的技術。
一般包括識別水印類型、解析水印信息、回溯分發內容,水印溯源技術實現方法見圖D.4。
a)識別水印類型:指通過對泄露數據分析,判斷其中哪些字段為植入的水印信息的字段。
b)解析水印信息:通過對植入水印字段的解析,從中獲取到水印代碼內容。
c)回溯分發內容:指通過解析出的水印代碼,查詢映射碼表,并獲取分發者、被分發者、分發時間、用途的關鍵信息的步驟。

D.5數據水印應用分類
D.5.1靜態水印
靜態水印指類似通過靜態脫敏的機制,在一次性的完成大批量數據的水印添加處理。靜態水印通常會在將生產環境中的數據交付至開發、測試或者外發環境時使用,在外發數據的同時,植入水印信息。
靜態水印技術可和靜態脫敏技術結合使用。一方面降低外發數據的敏感性并且保證數據可用性,另一方面植入水印信息,確保數據一旦泄露,可進行追溯。
D.5.2動態水印
動態水印指在數據的訪問過程中,動態的在數據的查詢訪問請求返回的結果集中植入水印的方式。動態水印通常會在數據訪問、數據實時交換、數據動態分發過程中使用,在實時交付訪問者所需數據的同時,植入水印信息。
D.6數據水印應用場景
數據水印常見應用場景分類及其描述見下表。

JR/T 0223-2021 金融數據安全 數據生命周期安全規范
推薦文章: