數(shù)據(jù)加密方法、數(shù)據(jù)解密方法、裝置、設備及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)安全領域,特別涉及一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法、裝置、設備及系統(tǒng)。
【背景技術】
[0002]隨著網(wǎng)絡技術的不斷發(fā)展,數(shù)據(jù)隱私保護已經(jīng)成為網(wǎng)絡運營商以及互聯(lián)網(wǎng)公司重點關注的一項安全性功能。尤其在商業(yè)智能(BI,Business Intelligence)領域,數(shù)據(jù)倉庫(Dff,Data Warehouse)中常常存儲大量的數(shù)據(jù),其中一些涉及用戶隱私的數(shù)據(jù)(比如手機號碼、用戶姓名、用戶家庭地址、銀行賬戶、證件號碼等等)在進入數(shù)據(jù)倉庫之前,通常需要進行加密處理,在需要展現(xiàn)這些數(shù)據(jù)時,可以對這些數(shù)據(jù)進行解密。
[0003]目前,存在的一種數(shù)據(jù)加密方法,可以包括:管理端獲取外部數(shù)據(jù)源中的數(shù)據(jù)以及該數(shù)據(jù)具有的字段信息,該數(shù)據(jù)具有的字段信息對應于數(shù)據(jù)所在的數(shù)據(jù)表以及該數(shù)據(jù)在該數(shù)據(jù)表中的字段;管理端通過公開的與該字段信息對應的加密方法和密鑰對需要加密的數(shù)據(jù)進行加密;管理端將加密后的數(shù)據(jù)放入數(shù)據(jù)倉庫中;對應的,還存在一種數(shù)據(jù)解密方法,可以包括:客戶端讀取數(shù)據(jù)倉庫中的數(shù)據(jù);當讀取出的數(shù)據(jù)為加密后的數(shù)據(jù)時,客戶端則使用公開的加密方法和密鑰對數(shù)據(jù)進行解密;客戶端展現(xiàn)獲取的解密后的數(shù)據(jù)。
[0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題:由于具有相同字段信息的所有需要加密的數(shù)據(jù)均采用同一個公開的加密方法和密鑰,且公開的加密方法和密鑰對管理人員和所有客戶端是開放的,因此具有該字段信息的所有加密的數(shù)據(jù)容易被破解,安全性比較低。
【發(fā)明內(nèi)容】
[0005]為了解決現(xiàn)有技術中提供的加解密方法安全性比較低的問題,本發(fā)明實施例提供了一種數(shù)據(jù)加密方法、數(shù)據(jù)解密方法、裝置、設備及系統(tǒng)。所述技術方案如下:
[0006]第一方面,提供了一種數(shù)據(jù)加密方法,所述方法包括:
[0007]接收加密請求端發(fā)送的對指定數(shù)據(jù)進行加密的加密請求,所述加密請求包含所述指定數(shù)據(jù)以及所述指定數(shù)據(jù)所具有的字段信息;
[0008]獲取預存的當前生效的隱私版本配置信息中所述字段信息所對應的加密規(guī)則,所述隱私版本配置信息包含唯一確定的隱私版本號、至少一個字段信息和為具有所述字段信息的數(shù)據(jù)設置的加密規(guī)則,所述字段信息對應于數(shù)據(jù)所在的數(shù)據(jù)表以及所述數(shù)據(jù)在所述數(shù)據(jù)表中的字段;
[0009]根據(jù)所述加密規(guī)則對所述指定數(shù)據(jù)進行加密,將加密后的所述指定數(shù)據(jù)以及所述隱私版本號發(fā)送給所述加密請求端。
[0010]在第一方面的第一種可能的實施方式中,所述隱私版本配置信息還包括所述隱私版本配置信息的生效時段,所述獲取預存的當前生效的所述隱私版本配置信息中所述字段信息所對應的加密規(guī)則,包括:
[0011]查詢預存的策略配置信息中的所有隱私版本配置信息中的生效時段,所述策略配置信息包含至少一個隱私版本配置信息,每個所述隱私版本配置信息具有不同的生效時段;
[0012]根據(jù)所述隱私版本配置信息中的生效時段確定當前生效的隱私版本配置信息;
[0013]獲取確定的所述隱私版本配置信息中所述指定數(shù)據(jù)所具有的字段信息所對應的加密規(guī)則。
[0014]結合第一方面或者第一方面的第一種可能的實施方式,在第二種可能的實施方式中,所述方法還包括:
[0015]在預定時刻依次檢測每個字段信息所對應的加密規(guī)則在當前生效的隱私版本配置信息和歷史隱私版本配置信息中是否存在差異,所述預定時刻為所述策略配置信息中生效的隱私版本配置信息發(fā)生變化的時刻或每隔預定時間間隔所指示的時刻;
[0016]若檢測結果為其中一個字段信息所對應的加密規(guī)則在當前生效的隱私版本配置信息和歷史隱私版本配置信息中存在差異,則提取所述數(shù)據(jù)庫中具有所述字段信息且符合更新條件的數(shù)據(jù),所述更新條件為所述數(shù)據(jù)在數(shù)據(jù)庫中所對應的隱私版本號與所述歷史隱私版本配置信息中的隱私版本號相同;
[0017]根據(jù)所述歷史隱私版本配置信息中所述字段信息所對應的加密規(guī)則對所述數(shù)據(jù)進行解密;
[0018]根據(jù)當前生效的隱私版本配置信息中所述字段信息所對應的加密規(guī)則對解密后的所述數(shù)據(jù)進行加密;
[0019]將加密后的所述數(shù)據(jù)以及當前生效的所述隱私版本配置信息中的隱私版本號添加至數(shù)據(jù)庫中。
[0020]結合第一方面、第一方面的第一種可能的實施方式或者第一方面的第二種可能的實施方式,在第三種可能的實施方式中,所述隱私版本配置信息中還包括所述字段信息所對應的更新策略,所述更新策略為用于指示所述數(shù)據(jù)庫中具有所述字段信息的加密數(shù)據(jù)隨生效的隱私版本配置信息進行重新加密的第一更新策略,或用于指示所述數(shù)據(jù)庫中具有所述字段信息的加密數(shù)據(jù)不隨生效的隱私版本配置信息進行重新加密的第二更新策略,在所述提取所述數(shù)據(jù)庫中具有所述字段信息且符合更新條件的數(shù)據(jù)之前,還包括:
[0021]檢測所述字段信息所對應的更新策略是否為第一更新策略;
[0022]若檢測結果為所述字段信息所對應的更新策略為第一更新策略,則執(zhí)行提取所述數(shù)據(jù)庫中具有所述字段信息且符合更新條件的數(shù)據(jù)的步驟。
[0023]結合第一方面、第一方面的第一種可能的實施方式、第一方面的第二種可能的實施方式或者第一方面的第三種可能的實施方式,在第四種可能的實施方式中,所述方法還包括:
[0024]根據(jù)所述隱私版本配置信息中的所述生效時段自動更新生效的隱私版本配置信肩、O
[0025]第二方面,提供了一種數(shù)據(jù)解密方法,所述方法包括:
[0026]接收解密請求端發(fā)送的對指定數(shù)據(jù)進行解密的解密請求,所述解密請求中包含有所述指定數(shù)據(jù)、所述指定數(shù)據(jù)所具有的字段信息以及所述指定數(shù)據(jù)所對應的隱私版本號;
[0027]確定預存的具有所述隱私版本號的隱私版本配置信息,所述隱私版本配置信息包含唯一確定的隱私版本號、至少一個字段信息和為具有所述字段信息設置的加密規(guī)則,所述字段信息對應于數(shù)據(jù)所在的數(shù)據(jù)表以及所述數(shù)據(jù)在所述數(shù)據(jù)表中的字段;
[0028]在所述隱私版本配置信息中查找預存的所述指定數(shù)據(jù)所具有的字段信息所對應的加密規(guī)則;
[0029]根據(jù)查找到的所述加密規(guī)則對所述指定數(shù)據(jù)進行解密,將解密后的所述指定數(shù)據(jù)發(fā)送給所述解密請求端。
[0030]在第二方面的第一種可能的實施方式中,所述確定預存的具有所述隱私版本號的隱私版本配置信息,包括:
[0031]查詢預存的策略配置信息中所有隱私版本配置信息中的隱私版本號,所述策略配置信息包含至少一個隱私版本配置信息;
[0032]確定隱私版本號與所述指定數(shù)據(jù)所對應的隱私版本號相同的隱私版本配置信息。
[0033]第三方面,提供了一種數(shù)據(jù)加密裝置,所述裝置包括:
[0034]第一接收模塊,用于接收加密請求端發(fā)送的對指定數(shù)據(jù)進行加密的加密請求,所述加密請求包含所述指定數(shù)據(jù)以及所述指定數(shù)據(jù)所具有的字段信息;
[0035]獲取模塊,用于獲取預存的當前生效的所述隱私版本配置信息中所述字段信息所對應的加密規(guī)則,所述隱私版本配置信息包含唯一確定的隱私版本號、至少一個字段信息和為具有所述字段信息的數(shù)據(jù)設置的加密規(guī)則,所述字段信息對應于數(shù)據(jù)所在的數(shù)據(jù)表以及所述數(shù)據(jù)在所述數(shù)據(jù)表中的字段;
[0036]第一加密模塊,用于根據(jù)所述獲取模塊獲取的加密規(guī)則對所述指定數(shù)據(jù)進行加密,將加密后的所述指定數(shù)據(jù)以及所述隱私版本號發(fā)送給所述加密請求端。
[0037]在第三方面的第一種可能的實施方式中,所述隱私版本配置信息還包括所述隱私版本配置信息的生效時段,所述獲取模塊,包括:
[0038]第一查詢單元,用于查詢預存的策略配置信息中的所有隱私版本配置信息中的生效時段,所述策略配置信息包含至少一個隱私版本配置信息,每個所述隱私版本配置信息具有不同的生效時段;
[0039]第一確定單元,用于根據(jù)所述第一查詢單元查詢到的所述隱私版本配置信息中的所述生效時段確定當前生效的隱私版本配置信息;
[0040]獲取單元,用于獲取所述第一確定單元確定的所述隱私版本配置信息中所述指定數(shù)據(jù)所具有的字段信息所對應的加密規(guī)則。
[0041]結合第三方面或者第三方面的第一種可能的實施方式,在第二種可能的實施方式中,所述裝置還包括:
[0042]第一檢測模塊,用于在預定時刻依次檢測每個字段信息所對應的加密規(guī)則在當前生效的隱私版本配置信息和歷史隱私版本配置信息中是否存在差異,所述預定時刻為所述策略配置信息中生效的隱私版本配置信息發(fā)生變化的時刻或每隔預定時間間隔所指示的時刻;
[0043]提取模塊,用于在所述第一檢測模塊的檢測結果為其中一個字段信息所對應的加密規(guī)則在當前生效的隱私版本配置信息和歷史隱私版本配置信息中存在差異時,提取所述數(shù)據(jù)庫中具有所述字段信息且符合更新條件的數(shù)據(jù),所述更新條件為所述數(shù)據(jù)在數(shù)據(jù)庫中所對應的隱私版本號與所述歷史隱私版本配置信息中的隱私版本號相同;
[0044]第一解密模塊,用于根據(jù)所述歷史隱私版本配置信息中所述字段信息所對應的加密規(guī)則對所述提取模塊提取的數(shù)據(jù)進行解密;
[0045]第二加密模塊,用于根據(jù)當前生效的隱私版本配置信息中所述字段信息所對應的加密規(guī)則對所述第一解密模塊解密后的所述數(shù)據(jù)進行加密;
[0046]添加模塊,用于將所述第二加密模塊加密后的所述數(shù)據(jù)以及當前生效的所述隱私版本配置信息中的隱私版本號添加至數(shù)據(jù)庫中。
[0047]結合第三方面、第三方面的第一種可能的實施方式或者第三方面的第二種可能的實施方式,在第三種可能的實施方式中,所述隱私版本配置信息中還包括所述字段信息所對應的更新策略,所述更新策略為用于指示所述數(shù)據(jù)庫中具有所述字段信息的加密數(shù)據(jù)隨生效的隱私版本配置信息進行重新加密的第一更新策略,或用于指示所述數(shù)據(jù)庫中具有所述字段信息的加密數(shù)據(jù)不隨生效的隱私版本配置信息進行重新加密的第二更新策略,所述裝置還包括:
[0048]第二檢測模塊,用于檢測所述字段信息所對應的更新策略是否為第一更新策略;
[0049]所述提取模塊,還用于在所述第二檢測模塊的檢測結果為所述字段信息所對應的更新策略為第一更新策略時,提取所述數(shù)據(jù)庫中具有所述字段信息且符合更新條件的數(shù)據(jù)。
[0050]結合第三方面、第三方面的第一種可能的實施方式、第三方面的第二種可能的實施方式或者第三方面的第三種可能的實施方式,在第四種可能的實施方式中,所述裝置還包括:
[0051]更新模塊,用于根據(jù)所述隱私版本配置信息中的所述生效時段自動更新生效的隱私版本配置信息。
[0052]第四方面,提供了一種數(shù)據(jù)解密裝置,所述裝置包括:
[0053]第二接收模塊,用于接收解密請求端發(fā)送的對指定數(shù)據(jù)進行解密的解密請求,所述解密請求中包含有所述指定數(shù)據(jù)、所述指定數(shù)據(jù)所具有的字段信息以及所述指定數(shù)據(jù)所對應的隱私版本號;
[0054]確定模塊,用于確定預存的具有所述隱私版本號的隱私版本配置信息,所述隱私版本配置信息包含唯一確定的隱私版本號、至少一個字段信息和為具有所述字段信息的數(shù)據(jù)設置的加密規(guī)則,所述字段信息對應于數(shù)據(jù)所在的數(shù)據(jù)表以及所述數(shù)據(jù)在所述數(shù)據(jù)表中的字段;
[0055]查找模塊,用于在所述確定模塊確定的所述隱私版本配置信息中查找預存的所述指定數(shù)據(jù)所具有的字段信息所對應的加密規(guī)則;
[0056]第二解密模塊,用于根據(jù)所述查找模塊查找到的所述加密規(guī)則對所述指定數(shù)據(jù)進行解密,將解密后的所述指定數(shù)據(jù)發(fā)送給所述解密請求端。
[0057]在第四方面的第一種可能的實施方式中,所述確定模塊,包括:
[0058]第二查詢單元,用于查詢預存的策略配置信息中所有隱私版本配置信息中的隱私版本號,所述策略配置信息包含至少一個隱私版本配置信息;
[0059]第二確定單元,用于確定隱私版本號與所述指定數(shù)據(jù)所對應的隱私版本號相同的隱私版本配置信息。
[0060]第五方面,提供了一種加密設備,該加密設備包括接收機、處理器和發(fā)送機,所述處理器分別與所述接收機、所述發(fā)送機耦合;
[0061]所述接收機,用于接收加密請求端發(fā)送的對指定數(shù)據(jù)進行加密的加密請求,所述加密請求包含所述指定數(shù)據(jù)以及所述指定數(shù)據(jù)所具有的字段信息;
[0062]所述處理器,還用于獲取預存的當前生效的所述隱私版本配置信息中所述字段信息所對應的加密規(guī)則,所述隱私版本配置信息包含唯一確定的隱私版本號、至少一個字段信息和為具有所述字段信息的數(shù)據(jù)設置的加密規(guī)則,所述字段信息對應于數(shù)據(jù)所在的數(shù)據(jù)表以及所述數(shù)據(jù)在所述數(shù)據(jù)表中的字段;
[0063]所述處理器,還用于根據(jù)獲取的所述加密規(guī)則對所述指定數(shù)據(jù)進行加密;
[0064]所述發(fā)送機,用于所述處理器將加密后的所述指定數(shù)據(jù)以及所述隱私版本號發(fā)送給所述加密請求端。
[0065]在第五方面的第一種可能的實施方式中,所述隱私版本配置信息還包括所述隱私版本配置信息的生效時段,所述處理器,還用于用于查詢預存的策略配置信息中的所有隱私版本配置信息中的生效時段,所述策略配置信息包含至少一個隱私版本配置信息,每個所述隱私版本配置信息具有不同的生效時段;
[0066]所述處理器,還用于根據(jù)查詢到的所述隱私版本配置信息中的所述生效時段確定當前生效的隱私版本配置信息;
[0067]所述處理器,還用于獲取確定的所述隱私版本配置信息中所述指定數(shù)據(jù)所具有的字段信息所對應的加密規(guī)則。
[0068]結合第五方面或者第五方面的第一種可能的實施方式,在第二種可能的實施方式中,所述處理器,還用于在預定時刻依次檢測每個字段信息所對應的加密規(guī)則在當前生效的隱私版本配置信息和歷史隱私版本配置信息中是否存在差異,所述預定時刻為所述策略配置信息中生效的隱私版本配置信息發(fā)生變化的時刻或每隔預定時間間隔所指示的時刻;
[0069]所述處理器,還用于在檢測結果為其中一個字段信息所對應的加密規(guī)則在當前生效的隱私版本配置信息和歷史隱私版本配置信息中存在差異時,提取所述數(shù)據(jù)庫中具有所述字段信息且符合更新條件的數(shù)據(jù),所述更新條件為所述數(shù)據(jù)在數(shù)據(jù)庫中所對應的隱私版本號與所述歷史隱私版本配置信息中的隱私版本號相同;
[0070]所述處理器,還用于根據(jù)所述歷史隱私版本配置信息中所述字段信息所對應的加密規(guī)則對提取的數(shù)據(jù)進行解密;
[0071]所述處理器,還用于根據(jù)當前生效的隱私版本配置信息中所述字段信息所對應的加密規(guī)則對解密后的所述數(shù)據(jù)進行加密;
[0072]所述處理器,還用于將加密后的所述數(shù)據(jù)以及當前生效的所述隱私版本配置信息中的隱私版本號添加至數(shù)據(jù)庫中。
[0073]結合第五方面、第五方面的第一種可能的實施方式或者第五方面的第二種可能的實施方式,在第三種可能的實施方式中,所述隱私版本配置信息中還包括所述字段信息所對應的更新策略,所述更新策略為用于指示所述數(shù)據(jù)庫中具有所述字段信息的加密數(shù)據(jù)隨生效的隱私版本配置信息進行重新加密的第一更新策略,或用于指示所述數(shù)據(jù)庫中具有所述字段信息的加密數(shù)據(jù)不隨生效的隱私版本配置信息進行重新加密的第二更新策略,所述處理器,還用于檢測所述字段信息所對應的更新策略是否為第一更新策略;
[0074]所述處理器,還用于在檢測結果為所述字段信息所對應的更新策略為第一更新策略時,提取所述數(shù)據(jù)庫中具有所述字段信息且符合更新條件的數(shù)據(jù)。
[0075]結合第五方面、第五方面的第一種可能的實施方式、第五方面的第二種可能的實施方式或者第五方面的第三種可能的實施方式,在第四種可能的實施方式中,所述處理器,還用于根據(jù)所述隱私版本配置信息中的所述生效時段自動更新生效的隱私版本配置信息。
[0076]第六方面,提供了一種解密設備,該解密設備包括接收機、處理器和發(fā)送機,所述處理器分別與所述接收機、所述發(fā)送機耦合;
[0077]所述接收機,用于接收解密請求端發(fā)送的對指定數(shù)據(jù)進行解密的解密請求,所述解密請求中包含有所述指定數(shù)據(jù)、所述指定數(shù)據(jù)所具有的字段信息以及所述指定數(shù)據(jù)所對應的隱私版本號;
[0078]所述處理器,用于確定預存的具有所述隱私版本號的隱私版本配置信息,所述隱私版本配置信息包含唯一確定的隱私版本號、至少一個字段信息和為具有所述字段信息的數(shù)據(jù)設置的加密規(guī)則,所述字段信息對應于數(shù)據(jù)所在的數(shù)據(jù)表以及所述數(shù)據(jù)在所述數(shù)據(jù)表中的字段;
[0079]所述處理器,還用于用于在確定的所述隱私版本配置信息中查找預存的所述指定數(shù)據(jù)所具有的字段信息所對應的加密規(guī)則;
[0080]所述處理器,還用于根據(jù)查找到的所述加密規(guī)則對所述指定數(shù)據(jù)進行解密;
[0081 ] 所述發(fā)送機,用于將解密后的所述指定數(shù)據(jù)發(fā)送給所述解密請求端。
[0082]在第六方面的第一種可能的實施方式中,所述處理器,還用于查詢預存的策略配置信息中所有隱私版本配置信息中的隱私版本號,所述策略配置信息包括至少一個隱私版本配置信息;
[0083]所述處理器,還用于確定隱私版本號與所述指定數(shù)據(jù)所對應的隱私版本號相同的隱私版本配置信息。
[0084]第八方面,還提供一種加密系統(tǒng),所述系統(tǒng)包括加密請求端、加密設備和數(shù)據(jù)庫,所述加密設備通過有線網(wǎng)絡方式或無線網(wǎng)絡方式分別與所述加密請求端和所述數(shù)據(jù)庫連接,所述加密請求端通過有線網(wǎng)絡方式或無線網(wǎng)絡方式與所述數(shù)據(jù)庫連接;
[0085]所述加密請求端,用于向所述加密設備發(fā)送對指定數(shù)據(jù)進行加密的加密請求,所述加密請求中包含所述指定數(shù)據(jù)以及所述指定數(shù)據(jù)所具有的字段信息;
[0086]所述加密設備,用于接收所述加密請求端發(fā)送的對指定數(shù)據(jù)進行加密的所述加密請求;獲取預存的當前生效的隱私版本配置信息中所述字段信息所對應的加密規(guī)則,所述隱私版本配置信息包含唯一確定的隱私版本號、至少一個字段信息和為具有所述字段信息的數(shù)據(jù)設置的加密規(guī)則,所述字段信息對應于數(shù)據(jù)所在的數(shù)據(jù)表以及所述數(shù)據(jù)在所述數(shù)據(jù)表中的字段;根據(jù)所述加密規(guī)則對所述指定數(shù)據(jù)進行加密,將加密后的所述指定數(shù)據(jù)以及所述隱私版本號發(fā)送給所述加密請求端;
[0087]所述加密請求端,用于接收所述加密設備發(fā)送的加密后的所述指定數(shù)據(jù)以及所述隱私版本號;將接收到加密后的所述指定數(shù)據(jù)以及所述隱私版本號添加至所述數(shù)據(jù)庫。
[0088]第九方面,還提供一種解密系統(tǒng),所述系