本發(fā)明涉及一種基于大數(shù)據(jù)信息系統(tǒng)的高安全性脫敏方法。
背景技術(shù):
目前隨著我國信息化建設(shè)不斷深化,企業(yè)的信息化業(yè)務(wù)系統(tǒng)越來越依賴于信息通信系統(tǒng),信息通信系統(tǒng)的安全性和可靠性將直接影響到企業(yè)數(shù)據(jù)信息的安全保密性;然而,數(shù)據(jù)資源中往往包含大量的敏感信息,一旦泄露或遭到非法利用,將會給個人甚至是國家?guī)頍o法彌補的損失。
數(shù)據(jù)庫通過用戶、角色和權(quán)限技術(shù)保護(hù)數(shù)據(jù)的安全,但是由于現(xiàn)在大部分應(yīng)用并沒有充分利用數(shù)據(jù)庫的這種保護(hù)機(jī)制,而是通過應(yīng)用控制數(shù)據(jù)的訪問,如應(yīng)用操作人員雖然以不同的身份登錄到應(yīng)用,但都是通過一個數(shù)據(jù)庫用戶連接到數(shù)據(jù)庫,這樣雖然可以對通過應(yīng)用訪問數(shù)據(jù)庫的用戶進(jìn)行存取訪問限制,但無法控制直接通過數(shù)據(jù)庫用戶登錄到數(shù)據(jù)庫的數(shù)據(jù)存取。
DBA可以通過程序方式批量處理一些敏感數(shù)據(jù)達(dá)到保護(hù)敏感數(shù)據(jù)的目的,不僅操作繁瑣復(fù)雜,而且現(xiàn)有計算機(jī)硬件以及破解軟件的算法越來越先進(jìn),傳統(tǒng)的脫敏算法會很容易被破解。一旦脫敏算法被破解,那么經(jīng)過批量還原處理就可以獲得真實數(shù)據(jù),造成敏感數(shù)據(jù)的嚴(yán)重泄露。
另一方面,由于信息化不斷深入,業(yè)務(wù)系統(tǒng)的數(shù)據(jù)量越來越大,數(shù)據(jù)產(chǎn)生速度越來越快,短短幾天內(nèi)的數(shù)據(jù)量就能達(dá)到10年前全部的信息容量。其中敏感信息的數(shù)據(jù)量也是飛速增長,達(dá)到PB量級,傳統(tǒng)的脫敏技術(shù)面對如此大容量的敏感數(shù)據(jù)時,很難有效的速度處理與解決敏感數(shù)據(jù)脫敏問題。
同時,隨著大數(shù)據(jù)分析的成熟和價值挖掘的深入,從看似安全的數(shù)據(jù)中還原出用戶的敏感、隱私信息已不再困難。傳統(tǒng)的安全技術(shù)已無法直接使用,如何在大數(shù)據(jù)量的交換、共享及使用等過程中實現(xiàn)對敏感數(shù)據(jù)的精準(zhǔn)定位和保護(hù),達(dá)到數(shù)據(jù)安全、可靠、受控使用的目標(biāo),是數(shù)據(jù)產(chǎn)生者和管理者亟待解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種基于大數(shù)據(jù)信息系統(tǒng)的高安全性脫敏方法,能夠根據(jù)復(fù)合分層式脫敏算法對信息系統(tǒng)中的敏感數(shù)據(jù)進(jìn)行脫敏,從而實現(xiàn)大數(shù)據(jù)環(huán)境下的信息安全。
一種基于大數(shù)據(jù)信息系統(tǒng)的高安全性脫敏方法,其特別之處在于,包括如下步驟:
(1)在敏感數(shù)據(jù)脫敏使用前進(jìn)行預(yù)處理,具體是:
根據(jù)規(guī)則的安全規(guī)范要求,分別對各個系統(tǒng)的敏感信息數(shù)據(jù)字段進(jìn)行標(biāo)注,并且對脫敏的強(qiáng)度和目標(biāo)進(jìn)行定義和模式識別與匹配;
把業(yè)務(wù)數(shù)據(jù)源中的大數(shù)據(jù)通過抽取集成到服務(wù)器建立的hadoop集群中,將脫敏數(shù)據(jù)庫分布式存儲于HDFS中,進(jìn)行權(quán)限路徑配置,查詢及使用數(shù)據(jù)只能從HDFS的脫敏數(shù)據(jù)庫中獲取;
對脫敏數(shù)據(jù)庫中存儲的敏感數(shù)據(jù)進(jìn)行重要性的排序,劃分敏感等級;
敏感數(shù)據(jù)合規(guī)性檢查,對敏感數(shù)據(jù)進(jìn)行數(shù)據(jù)清理,消除重復(fù)值,缺失值,異常值;
(2)使用復(fù)合分層式脫敏算法模型對敏感數(shù)據(jù)進(jìn)行加密;
(3)在敏感數(shù)據(jù)脫敏使用后進(jìn)行溯源審計,具體是:
持續(xù)對脫敏系統(tǒng)的運行情況進(jìn)行監(jiān)控和審計,及時發(fā)現(xiàn)異常并做出響應(yīng);
在審計日志中對敏感字段的增刪查改進(jìn)行實時記錄反饋,并對異常的進(jìn)行有效追蹤訪問IP、端口及權(quán)限。
步驟(2)中復(fù)合分層式脫敏算法模型包括:
系統(tǒng)通過客戶配置的參數(shù)將數(shù)據(jù)庫的全部SQL語句進(jìn)行分析,首先在分布式的脫敏數(shù)據(jù)庫中查驗敏感字段,然后識別出敏感字段進(jìn)行策略配置;
脫敏策略配置,采用智能推薦方式進(jìn)行脫敏策略的配置:一種是基于默認(rèn)參數(shù)配置的數(shù)據(jù)脫敏算法,一種是基于用戶自定義脫敏策略以更改合適的參數(shù)配置脫敏算法;
脫敏模型,根據(jù)敏感字段對應(yīng)的每個數(shù)據(jù)長度,首先解析出單個數(shù)據(jù)長度,將數(shù)據(jù)長度按照預(yù)制拆分密鑰K1,將敏感數(shù)據(jù)明文M分層成為3段短長短的明文數(shù)據(jù)M1,M2和M3;
采用RSA運算單元,對短明文M1進(jìn)行加密,得到密文C1,保存密鑰K4;
采用AES運算單元,對長明文M2進(jìn)行加密,得到密文C2,保存密鑰K3;
采用DES運算單元,對短明文M3進(jìn)行加密,得到密文C3,保存密鑰K2;
利用AES運算模塊,對分別對密鑰K2、K3、K4進(jìn)行運算得到加密密鑰K22、K33和K44,徹底刪除原始密鑰K2、K3、K4,并保存對密鑰進(jìn)行加密的密鑰K6;
使用亂序重排密鑰K5,將密文C1,C2和C3進(jìn)行移位排列,移位后組合起來后形成最終脫敏信息密文C;
使用方查詢獲取所需脫敏信息的敏感字段與脫敏信息密文C;
使用方使用對密鑰進(jìn)行加密的密鑰K6,對加密密鑰K22、K33和K44解密,得到運算單元密文的密鑰K2、K3、K4;
使用方利用亂序重排密鑰K5,將脫敏信息密文C還原重組為密文C1,C2和C3;
使用方利用密鑰K4、K3和K2分別對密文C1,C2和C3進(jìn)行解密,得到明文M1、M2和M3;
按照拆分排序密鑰K1,將明文M1、M2和M3獲取為明文M。
本發(fā)明方法提出了一種基于大數(shù)據(jù)信息系統(tǒng)安全的高安全性脫敏方法,該方法以復(fù)合分層式脫敏算法為核心,用來實現(xiàn)在非法入侵信息系統(tǒng)以及利用權(quán)限與破解傳統(tǒng)脫敏算法漏洞的訪問敏感信息的防護(hù)。本發(fā)明的有益效果一方面在于該模型架構(gòu)融合了多個脫敏算法的優(yōu)點,有效地降低了敏感數(shù)據(jù)的危險系數(shù),大大地提高了敏感數(shù)據(jù)的安全性與破解難度系數(shù),實現(xiàn)了敏感數(shù)據(jù)的脫敏保護(hù);另一方面在于該模型算法能夠充分發(fā)揮脫敏模型中各個運算單元的效率特點,提高脫敏處理速率。
本發(fā)明的優(yōu)點還在于:
(1)本發(fā)明方法有效地將基于大數(shù)據(jù)的敏感信息進(jìn)行了分布式的處理與脫敏,更好的適應(yīng)當(dāng)今大數(shù)據(jù)信息技術(shù)的環(huán)境。
(2)本發(fā)明方法使用的新型復(fù)合分層脫敏模型算法,該模型算法能夠充分發(fā)揮脫敏模型中各個運算單元的效率特點,提高脫敏處理速率。
(3)本發(fā)明方法提出了一種新型的復(fù)合分層脫敏算法模型架構(gòu),該模型架構(gòu)不僅融合了多個脫敏算法的優(yōu)點,而且該架構(gòu)安全復(fù)雜系數(shù)更高,使得算法模型的安全性更高,魯棒性更強(qiáng)。有效地降低了敏感數(shù)據(jù)的危險系數(shù),提高了敏感數(shù)據(jù)的安全性與破解難度系數(shù),實現(xiàn)了敏感數(shù)據(jù)的脫敏,保護(hù)敏感數(shù)據(jù)安全與可靠。
附圖說明
圖1是大數(shù)據(jù)環(huán)境下的整個信息安全系統(tǒng)的架構(gòu)示意圖;
圖2是敏感數(shù)據(jù)脫敏總體邏輯架構(gòu)圖;
圖3是對敏感數(shù)據(jù)使用復(fù)合分層式脫敏算法模型的流程圖;
圖4是對經(jīng)過復(fù)合分層式脫敏算法后的敏感數(shù)據(jù)進(jìn)行還原恢復(fù)流程圖;
圖5是本發(fā)明的基于大數(shù)據(jù)信息系統(tǒng)的高安全性脫敏方法技術(shù)與傳統(tǒng)的基于大數(shù)據(jù)的信息安全系統(tǒng)敏感信息脫敏方法技術(shù)的速度和安全性比較示意圖。
具體實施方式
本發(fā)明的脫敏算法圍繞在使用前的預(yù)處理,使用中的防護(hù),使用后的溯源審計三個部分進(jìn)行闡述。
本發(fā)明在敏感數(shù)據(jù)脫敏使用前的預(yù)處理方法,包括如下幾個內(nèi)容:
根據(jù)規(guī)則的安全規(guī)范要求,分別對各個系統(tǒng)的敏感信息數(shù)據(jù)字段進(jìn)行標(biāo)注,并且對脫敏的強(qiáng)度和目標(biāo)進(jìn)行定義和模式識別與匹配。
把業(yè)務(wù)數(shù)據(jù)源中的大數(shù)據(jù)通過抽取集成到服務(wù)器建立的hadoop(大數(shù)據(jù)行業(yè)通用術(shù)語,是指一種分布式系統(tǒng)基礎(chǔ)架構(gòu))集群中,將脫敏數(shù)據(jù)庫分布式存儲于HDFS(HDFS為大數(shù)據(jù)行業(yè)通用術(shù)語,是指分布式文件系統(tǒng))中,進(jìn)行權(quán)限路徑配置,查詢及使用數(shù)據(jù)只能從HDFS的脫敏數(shù)據(jù)庫中獲取。
對脫敏數(shù)據(jù)庫中存儲的敏感數(shù)據(jù)進(jìn)行重要性的排序,劃分敏感等級。
敏感數(shù)據(jù)合規(guī)性檢查,對敏感數(shù)據(jù)進(jìn)行數(shù)據(jù)數(shù)據(jù)清理,消除重復(fù)值,缺失值,異常值。
本發(fā)明設(shè)計新型的復(fù)合分層式脫敏算法模型,該算法的破解難度系數(shù)更高,使得敏感數(shù)據(jù)的安全系數(shù)更高。該算法包括以下幾個發(fā)明內(nèi)容:
系統(tǒng)通過客戶配置的參數(shù)將數(shù)據(jù)庫的全部SQL語句進(jìn)行分析,首先在分布式的脫敏數(shù)據(jù)庫中查驗敏感字段,然后識別出敏感字段進(jìn)行策略配置。
脫敏策略配置,采用智能推薦方式進(jìn)行脫敏策略的配置:一種基于默認(rèn)參數(shù)配置的數(shù)據(jù)脫敏算法,一種是基于用戶自定義脫敏策略以更改合適的參數(shù)配置脫敏算法。
脫敏模型,根據(jù)敏感字段對應(yīng)的每個數(shù)據(jù)長度,首先解析出單個數(shù)據(jù)長度,將數(shù)據(jù)長度按照預(yù)制拆分密鑰K1,將敏感數(shù)據(jù)明文M分層成為3段短長短的明文數(shù)據(jù)M1,M2和M3。
由于RSA具備安全性極高,可靠性高難破解,但是加密速度較慢的特點,采用RSA運算單元,對短明文M1進(jìn)行加密,得到密文C1,保存密鑰K4。
由于AES具備加密速度快的特點,采用AES運算單元,對長明文M2進(jìn)行加密,得到密文C2,保存密鑰K3。
由于DES具備極高安全性,但是速度較慢特點,采用DES運算單元,對短明文M3進(jìn)行加密,得到密文C3,保存密鑰K2。
利用AES運算模塊,對分別對密鑰K2、K3、K4進(jìn)行運算得到加密密鑰K22、K33和K44,徹底刪除原始密鑰K2、K3、K4,并保存對密鑰進(jìn)行加密的密鑰K6。
使用亂序重排密鑰K5,將密文C1,C2和C3進(jìn)行移位排列,移位后組合起來后形成最終脫敏信息密文C。
使用方查詢獲取所需脫敏信息的敏感字段與脫敏信息密文C。
使用方使用對密鑰進(jìn)行加密的密鑰K6,對K22、K33和K44解密,得到運算單元密文的密鑰K2、K3、K4。
使用方利用亂序重排密鑰K5,將脫敏信息密文C還原重組為密文C1,C2和C3。
使用方利用密鑰K4、K3和K2分別對密文C1,C2和C3進(jìn)行解密,得到明文M1、M2和M3。
按照拆分排序密鑰K1,將明文M1、M2和M3獲取為明文M。
使用后的溯源審計包括以下幾個內(nèi)容:
持續(xù)對脫敏系統(tǒng)的運行情況進(jìn)行監(jiān)控和審計,及時發(fā)現(xiàn)異常并做出響應(yīng)。
在審計日志中對敏感字段的增刪查改進(jìn)行實時記錄反饋,并對異常的進(jìn)行有效追蹤訪問IP,端口及權(quán)限。
實施例1:
下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述。通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明而不能理解為對本發(fā)明的限制。
本發(fā)明實施例一方面公開了信息系統(tǒng)安全的脫敏方法。結(jié)合圖1,該方法包括如下步驟:
結(jié)合附圖1所示,首先由業(yè)務(wù)系統(tǒng)的源數(shù)據(jù)經(jīng)過kettle數(shù)據(jù)抽取工具,傳輸?shù)椒?wù)器物理機(jī)的oracle數(shù)據(jù)庫中。
對此物理機(jī)的oracle數(shù)據(jù)庫設(shè)置防火墻外部無法訪問,通過kettle和sqoop將全部的數(shù)據(jù)抽取到hadoop的hive數(shù)據(jù)庫中。
使用hadoop的一個namenode管理多個分布式的slave物理機(jī),將hive數(shù)據(jù)庫中的大數(shù)據(jù)分布式存儲slave物理機(jī)的HDFS中,并由每個分布式物理機(jī)的datanode服從進(jìn)行各自監(jiān)督管理。
為了說明信息系統(tǒng)安全的脫敏算法實施,本發(fā)明實施案例二下面結(jié)合圖2和圖3來進(jìn)行介紹。
在本實施敏感數(shù)據(jù)脫敏算法的過程中,首先要對敏感數(shù)據(jù)進(jìn)行數(shù)據(jù)治理。根據(jù)安全規(guī)則的定義,將數(shù)據(jù)庫中的數(shù)據(jù)表進(jìn)行敏感字段標(biāo)識,關(guān)聯(lián)匹配到數(shù)據(jù)庫中的每一張數(shù)據(jù)表中去。
按照附圖2所示,對敏感數(shù)據(jù)進(jìn)行清理,將敏感數(shù)據(jù)中的異常值,重復(fù)值,缺省值進(jìn)行數(shù)據(jù)預(yù)處理。同時對敏感字段的重要程度進(jìn)行重要等級排序,分為了非常重要類型I,比較重要類型II,普通重要類型III。
在數(shù)據(jù)進(jìn)行治理完成后進(jìn)入數(shù)據(jù)脫敏算法,首先要從數(shù)據(jù)庫的數(shù)據(jù)表選取敏感數(shù)據(jù),其偽代碼如下所示。
按照附圖3所示,對敏感信息明文字段進(jìn)行策略配置。在策略配置的過程中,得到敏感字段對應(yīng)的數(shù)據(jù)類型和數(shù)據(jù)長度,例如一個敏感字段為A,其字段對應(yīng)的數(shù)據(jù)長度為A(i,in),可以選擇默認(rèn)策略長度m,視為密鑰K1,其中那么可以把一個敏感數(shù)據(jù)長度拆分為A1(i,im),A2(i,im,m-n),A3(i,im-n,n)三個短長短的敏感數(shù)據(jù)。也可以用戶自定義策略長度m。
上訴步驟中的三個A1(i,im),A2(i,im,m-n),A3(i,im-n,n)長度對應(yīng)的敏感信息數(shù)據(jù)為M1,M2,M3。根據(jù)RSA加密算法的特點:
RSA的算法涉及三個參數(shù),n、e1、e2。
其中,n是兩個大質(zhì)數(shù)p、q的積,n的二進(jìn)制表示時所占用的位數(shù),就是所謂的密鑰長度。
e1和e2是一對相關(guān)的值,e1可以任意取,但要求e1與(p-1)*(q-1)互質(zhì);再選擇e2,要求(e2*e1)mod((p-1)*(q-1))=1。
(n,e1),(n,e2)就是密鑰對。其中(n,e1)為公鑰,(n,e2)為私鑰。RSA是一種非對稱密碼算法,其安全系數(shù)十分高,但是由于都是大數(shù)計算,使得RSA無論是軟件還是硬件實現(xiàn)速度都是很慢,速度一直是RSA的缺陷,只適用于少量數(shù)據(jù)加密。采用較短的明文M1進(jìn)行加密得到短密文C1,保留其加密與解密密鑰M4。
AES加密過程是在一個4×4的字節(jié)矩陣上運作,這個矩陣又稱為“狀態(tài)(state)”,其初值就是一個明文區(qū)塊(矩陣中一個元素大小就是明文區(qū)塊中的一個Byte)。(Rijndael加密法因支持更大的區(qū)塊,其矩陣行數(shù)可視情況增加)加密時,各輪AES加密循環(huán)(除最后一輪外)均包含4個步驟:
1 AddRoundKey—矩陣中的每一個字節(jié)都與該次輪密鑰(round key)做XOR運算;每個子密鑰由密鑰生成方案產(chǎn)生。
2 SubBytes—通過個非線性的替換函數(shù),用查找表的方式把每個字節(jié)替換成對應(yīng)的字節(jié)。
3 ShiftRows—將矩陣中的每個橫列進(jìn)行循環(huán)式移位。
4 MixColumns—為了充分混合矩陣中各個直行的操作。這個步驟使用線性轉(zhuǎn)換來混合每列的四個字節(jié)。
由于AES具有加密速度快的算法特點,采用長的明文M3進(jìn)行加密得到短密文C3,保留其密鑰M3。
DES其入口參數(shù)有三個:key、data、mode。key為加密解密使用的密鑰,data為加密解密的數(shù)據(jù),mode為其工作模式。當(dāng)模式為加密模式時,明文按照64位進(jìn)行分組,形成明文組,key用于對數(shù)據(jù)加密,當(dāng)模式為解密模式時,key用于對數(shù)據(jù)解密。根據(jù)DES算法具有極高安全性和密碼生命周期短、運算速度較慢的特點,采用短的明文M2進(jìn)行加密得到短密文C2,保留其密鑰M2。
得到了三種密文的密鑰K2,K3,K4,對三種密鑰進(jìn)行AES運算單元的加密過程,形成了新的套嵌密鑰K22,K33,K44,將原始的密鑰K2,K3,K4進(jìn)行刪除,同時將這個密鑰K6保存。
接著把的密文信息C1,C2,C3帶入策略排序運算模塊,此策略運算模塊可以使用默認(rèn)或者用戶自定義密鑰K5,將C1,C2,C3的順序重新排列。本實施案例可舉例:將密文信息排列為C2,C3,C1,然后進(jìn)行合并存儲,完成脫敏的流程,并存儲起來。
對于開發(fā)人員,測試人員,或者DBA等人員通過權(quán)限訪問到脫敏數(shù)據(jù)庫內(nèi)部時候,非敏感數(shù)據(jù)可以繼續(xù)獲得,而敏感數(shù)據(jù)已經(jīng)脫敏,則無法獲得數(shù)據(jù)內(nèi)容。當(dāng)外網(wǎng)用戶通過終端,TCP/IP連接并破解安全權(quán)限,進(jìn)行非法入侵破解后,想要訪問的查詢敏感數(shù)據(jù)的時候只能在脫敏數(shù)據(jù)庫中獲得,此時已經(jīng)將敏感數(shù)據(jù)進(jìn)行了脫敏,而無法破解,實現(xiàn)了信息系統(tǒng)的安全保護(hù)。
當(dāng)內(nèi)部人員需要使用脫敏數(shù)據(jù)完成工作目標(biāo)與任務(wù)的時候,本實施案例三結(jié)合附圖4進(jìn)行如下介紹:
按照附圖4所示使用人員通過權(quán)限分配PING在內(nèi)網(wǎng)機(jī)(Local Area Network,LAN)中查詢相關(guān)數(shù)據(jù)庫,在數(shù)據(jù)庫中獲得包含敏感數(shù)據(jù)的數(shù)據(jù)表,通過數(shù)據(jù)表獲取脫敏密文信息數(shù)據(jù)C,使用密鑰K5,將C進(jìn)行重新排列組合,然后進(jìn)行拆分,最終拆分成為短密文信息C1,長密文信息C2,短密文信息C3。
獲取服務(wù)器上存儲的密鑰K22,K33,K44,以及通過權(quán)限配置獲得AES運算單元的密鑰K6,通過K6把密鑰K22,K33,K44解密還原成K2,K3,K4三個破解密文的原始密鑰。
將短密文信息C1,結(jié)合RSA運算單元的密鑰K4,進(jìn)行解密還原得到短明文信息M1。
將長密文信息C2,結(jié)合AES運算單元的密鑰K3,進(jìn)行解密還原得到長明文信息M2。
將短密文信息C3,結(jié)合DES運算單元的密鑰K2,進(jìn)行解密還原得到短明文信息M3。
短明文信息M1,長明文信息M2,短明文信息M3通過結(jié)合密鑰K1,通過數(shù)據(jù)編碼,進(jìn)行組合合并,最終還原成為原始的敏感明文信息數(shù)據(jù)M。
結(jié)合附圖5,本發(fā)明的基于大數(shù)據(jù)的復(fù)合分層式脫敏算法相對已有的數(shù)據(jù)脫敏算法和基于大數(shù)據(jù)的脫敏算法具備更好的安全性和速度性。
以上實施方式僅僅是為了說明本發(fā)明的原理而采用的示例性方式,然而本發(fā)明并不局限于此。對于本領(lǐng)域內(nèi)的普通技術(shù)人員而言,在不脫離本發(fā)明的精神和實質(zhì)的情況下,可以做出各種變型和改進(jìn),為了簡明它們并沒有在細(xì)節(jié)中提供,因此這些變型和改進(jìn)也視為本發(fā)明的保護(hù)范圍。