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

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

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

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

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

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

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

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

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

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

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

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

(1)隱私保護(hù)度:通常通過(guò)發(fā)布數(shù)據(jù)的披露風(fēng)險(xiǎn)來(lái)反映,披露風(fēng)險(xiǎn)越小,隱私保護(hù)度越高。

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

(3)算法性能:—般利用時(shí)間復(fù)雜度對(duì)算法性能進(jìn)行度量。

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

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

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

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

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

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

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

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

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

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

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

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

小知識(shí)之文件格式

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