經(jīng)營分析系統(tǒng)中格式保留加密算法的應(yīng)用

針對傳統(tǒng)加密算法存在的弊端,我們提出了一種GBK格式保留的加密算法。

一、數(shù)據(jù)加密算法研究

經(jīng)營分析系統(tǒng)中包含了大量的客戶隱私數(shù)據(jù),對于這些隱私數(shù)據(jù)的保護,可以借鑒其他行業(yè)應(yīng)用系統(tǒng)的客戶隱私數(shù)據(jù)保護所使用的以下兒種技術(shù)來進行實現(xiàn)。

(1)基于數(shù)據(jù)匿名化的技術(shù)

根據(jù)具體情況對部分數(shù)據(jù)進行匿名化處理,再有條件地發(fā)布信息。如:不發(fā)布數(shù)據(jù)的某些域值,對這些數(shù)據(jù)進行泛化處理。是一種不可逆的處理技術(shù)。在隱私披露風險和數(shù)據(jù)精度之間進行折中,有選擇地發(fā)布敏感數(shù)據(jù)及可能披露敏感數(shù)據(jù)的信息,但保證對敏感數(shù)據(jù)及隱私的披露風險在可容忍范圍內(nèi)。目前在電信行業(yè)普遍采用了一些匿名化處理技術(shù),將部分涉及隱私的客戶數(shù)據(jù)進行了匿名化處理。

(2)基于數(shù)據(jù)加密的技術(shù)

通過數(shù)據(jù)庫產(chǎn)品自帶的加密功能或者第三方獨立的加密系統(tǒng),把涉及隱私的客戶數(shù)據(jù)信息通過加密算法轉(zhuǎn)換為不可識別的密文信息。如果需要獲取信息的明文信息,1可以將其轉(zhuǎn)換為明文,就是解密過程。

常用的數(shù)據(jù)加密算法有對稱加密、非對稱加密和HASH算法幾種。目前金融系統(tǒng)普遍采用這種方式對客戶的敏感信息進行處理。

(3)基于數(shù)據(jù)失真的技術(shù)

使敏感數(shù)據(jù)失真但同時保持某些數(shù)據(jù)或?qū)傩圆蛔兊奶幚矸椒?。例如,采用添加噪聲、交換等技術(shù)對原始數(shù)據(jù)進行干擾處理,但要求保證處理后的數(shù)據(jù)仍然可以保持某些統(tǒng)計方面的性質(zhì),以便進行數(shù)據(jù)挖掘等操作。該技術(shù)是屬于一種不可逆的處理,但可在所有添加、交換信息都是記錄明確的情況下進行有條件的還原。

隱私數(shù)據(jù)保護技術(shù)需要在實現(xiàn)保護隱私信息的同時,兼顧對應(yīng)用程序的價值和系統(tǒng)開銷。通常從以下三方面對隱私數(shù)據(jù)保護技術(shù)進行度量評估。

(1)隱私保護度:通常通過發(fā)布數(shù)據(jù)的披露風險來反映,披露風險越小,隱私保護度越高。

(2)數(shù)據(jù)缺損:是數(shù)據(jù)保護質(zhì)量的度量,它反映通過隱私保護技術(shù)處理后數(shù)據(jù)的信息丟失,數(shù)據(jù)缺損越高,信息丟失越多,數(shù)據(jù)利用率越低創(chuàng)具體的度最有:信息缺損、重構(gòu)數(shù)據(jù)與原始數(shù)據(jù)的相似度等。

(3)算法性能:—般利用時間復雜度對算法性能進行度量。

依據(jù)上述各種技術(shù)評估方法,對現(xiàn)有的三類已被廣泛采用的隱私數(shù)據(jù)保護技術(shù)進行對比。比對主要從隱私保護度、數(shù)據(jù)缺損度、性能開銷等幾個方面進行分析,比對結(jié)果如表l所示。

經(jīng)營分析系統(tǒng)中格式保留加密算法的應(yīng)用

用常用的加密算法對字符串進行加密后字符串的長度會因算法的不同或是密鑰長度不同增加不同的長度。筆者以RC2加密方法為例說明,數(shù)據(jù)長度變化如表2。

經(jīng)營分析系統(tǒng)中格式保留加密算法的應(yīng)用

從上面統(tǒng)計數(shù)據(jù)可以看出,用RC2加密方法加密后,密文若是以1 6進制編碼其長度將會是原字符串長度的4~8倍。即使使用較為緊湊的base64編碼依然將會是字符串長度的3~4倍。而數(shù)據(jù)庫中的原表字段定義的長度可能就無法滿足密文需求n在數(shù)據(jù)入庫的過程中可能出現(xiàn)字段長度溢出問題,而對數(shù)據(jù)庫字段位長進行擴展,不僅浪費存儲空間,也影響經(jīng)分系統(tǒng)的正常使用。

總體來說,目前在各行業(yè)數(shù)據(jù)庫所使用的去隱私化處理技術(shù),或是“數(shù)據(jù)缺損”太嚴重,不利于還原,或是“計算開銷”太高,消耗生產(chǎn)系統(tǒng)的計算資源太多。影響了對數(shù)據(jù)倉庫中的所有涉及客戶隱私的數(shù)據(jù)進行全面、高效的隱匿保護,本方案提出一種通過映射變換的方式,將涉及隱私的數(shù)據(jù),根據(jù)映射規(guī)則一一映射成目標值,保存在數(shù)據(jù)庫,數(shù)據(jù)庫存的數(shù)據(jù)不涉及客戶隱私信息,從而達到保護客戶隱私的目的。在需要的時候也可以根據(jù)映射規(guī)則將去隱私化后的數(shù)據(jù)還原成包含隱私信息的原始數(shù)據(jù)。

二、技術(shù)實現(xiàn)方案

針對傳統(tǒng)加密算法存在的弊端,提出一種基于格式保留的數(shù)據(jù)脫敏方法。經(jīng)過分析,入庫的隱私數(shù)據(jù)通常是一些客戶信息,包括姓名、身份證號碼、電話號碼、通話行為等。此方法的構(gòu)思是使用一種自定義的轉(zhuǎn)換方法,對隱私字符串信息進行加擾處理。使其加擾后的密文長度,字段類型和原文相同,并且無法直接從密文中獲取原文信息d為了增強數(shù)據(jù)脫敏方法的安全性,在算法中引入密鑰元素,由密鑰和脫敏方法共同決定加密結(jié)果。

從字符編碼角度去考慮對字符串中每個字符進行轉(zhuǎn)換,轉(zhuǎn)換成字符集中的其他字符,并且保證過程可逆。此算法基于最基礎(chǔ)的GB2312中文字符集,所以取名為GBK等長加密算法,該算法將英文和數(shù)字統(tǒng)一起來組成單字符區(qū),而漢字作為寬字符區(qū)。對單字符區(qū)和寬字符區(qū)加密都采用“三段映射”方法。將GB2312中文編碼集分為A、B、C等長的三段。首先規(guī)定A段區(qū)域類的字符的主映射區(qū)為B,從映射區(qū)為C;B段區(qū)域類的字符的主映射區(qū)為G從映射區(qū)為A;C段區(qū)域類的字符的主映射區(qū)為A,從映射區(qū)為Be若待加密的漢字字符z的GBK編碼值在A段中。則獲取z在A段中的位置。然后將字符串長度值和密鑰的asc11碼值求和再對段長取模得到偏移值。最后將np+op得到新字段最終的偏移量。從A段區(qū)域的主映射區(qū)B頭部開始偏移np+op位。得到新字符M所在的編碼位。此字符可能在B區(qū)間,也可能影射到了C區(qū)間。

對于單字符區(qū)域(由字母和數(shù)字組成),考慮方法和漢字處理方法思路一致d英文和數(shù)字組成一個集合,將集合分為A、B、C等長的三段。下面的處理方式和中文字符一致。對于標點符號不做處理直接返回。假設(shè)m字符在A區(qū)域中的編碼位置如下。則轉(zhuǎn)換后的密文字符編碼位置即為如圖l的位置。

經(jīng)營分析系統(tǒng)中格式保留加密算法的應(yīng)用

通過采用基于格式保留的算法對用戶的隱私數(shù)據(jù)進行加密梳理,不但大大提高了數(shù)據(jù)入庫的效率,同時數(shù)據(jù)庫字段不需要擴位,不影響現(xiàn)有的數(shù)據(jù)處理流程,也節(jié)約了存儲空間。

小知識之文件格式

文件格式(或文件類型)是指電腦為了存儲信息而使用的對信息的特殊編碼方式,是用于識別內(nèi)部儲存的資料。比如有的儲存圖片,有的儲存程序,有的儲存文字信息。每一類信息,都可以一種或多種文件格式保存在電腦存儲中。每一種文件格式通常會有一種或多種擴展名可以用來識別,但也可能沒有擴展名。擴展名可以幫助應(yīng)用程序識別的文件格式。