數(shù)據(jù)安全處理方法及裝置的制造方法
【專利摘要】本發(fā)明實施例提供一種數(shù)據(jù)安全處理方法及裝置,所述方法包括:獲取待加密數(shù)據(jù)塊,其中,所述待加密數(shù)據(jù)塊中包括:N條待加密數(shù)據(jù),每條待加密數(shù)據(jù)對應(yīng)唯一索引標識,其中N為大于或等于1的整數(shù);依次對所述N條待加密數(shù)據(jù)進行加密,獲取N條加密后數(shù)據(jù),并記錄所述N條加密后數(shù)據(jù)的存儲位置;根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù),其中,所述索引數(shù)據(jù)包括:所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識的映射關(guān)系。本發(fā)明實施例提供的數(shù)據(jù)安全處理方法及裝置能夠提高數(shù)據(jù)的存儲安全性,并提高數(shù)據(jù)讀取效率。
【專利說明】
數(shù)據(jù)安全處理方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及一種數(shù)據(jù)安全處理方法及裝置。
【背景技術(shù)】
[0002]隨著信息社會的快速發(fā)展,越來越多的領(lǐng)域需要通過對各種數(shù)據(jù)進行分析處理,對生產(chǎn)或經(jīng)營過程進行指導(dǎo)。為了防止競爭對手獲悉相關(guān)數(shù)據(jù),很多數(shù)據(jù)的存儲過程都需要通過加密的方式進行。例如:定額清單庫數(shù)據(jù)。定額是指在一定的技術(shù)和組織條件下,生產(chǎn)質(zhì)量合格的單位產(chǎn)品所消耗的人力、物力、財力和時間等的數(shù)量標準。定額清單庫數(shù)據(jù)中包括了大量的數(shù)據(jù)內(nèi)容,為了保證數(shù)據(jù)不會被非授權(quán)任意隨意獲取,需要對數(shù)據(jù)的存儲過程進行加密。
[0003]現(xiàn)有技術(shù)中,常用的數(shù)據(jù)加密方式為,將所有的數(shù)據(jù)采用序列化的方式轉(zhuǎn)換為可以存儲或傳輸?shù)男问?,并對轉(zhuǎn)換后的所有數(shù)據(jù)統(tǒng)一進行加密。需要讀取時,將所有數(shù)據(jù)讀取到內(nèi)存中,根據(jù)需要進行篩選。
[0004]但是,現(xiàn)有技術(shù)中的數(shù)據(jù)加密方式,由于所有數(shù)據(jù)統(tǒng)一進行加密,數(shù)據(jù)加密后的安全性不高,容易被破解。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種數(shù)據(jù)安全處理方法及裝置,用于解決現(xiàn)有技術(shù)中的數(shù)據(jù)加密方式單一,數(shù)據(jù)加密后安全性不高的問題。
[0006]本發(fā)明實施例提供一種數(shù)據(jù)安全處理方法,包括:
[0007]獲取待加密數(shù)據(jù)塊,其中,所述待加密數(shù)據(jù)塊中包括:N條待加密數(shù)據(jù),每條待加密數(shù)據(jù)對應(yīng)唯一索引標識,其中N為大于或等于I的整數(shù);
[0008]依次對所述N條待加密數(shù)據(jù)進行加密,獲取N條加密后數(shù)據(jù),并記錄所述N條加密后數(shù)據(jù)的存儲位置;
[0009]根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù),其中,所述索引數(shù)據(jù)包括:所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識的映射關(guān)系。
[0010]可選地,所述根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù)之后,還包括:
[0011]依次對所述索引數(shù)據(jù)中每條所述映射關(guān)系進行加密。
[0012]可選地,所述依次對所述N條待加密數(shù)據(jù)進行加密,獲取N條加密后數(shù)據(jù),包括:
[0013]采用預(yù)設(shè)算法,依次獲取每條所述待加密數(shù)據(jù)對應(yīng)的加密參數(shù);
[0014]根據(jù)所述加密參數(shù)對對應(yīng)的待加密數(shù)據(jù)進行加密,獲取所述加密后數(shù)據(jù)。
[0015]可選地,所述方法還包括:
[0016]獲取查詢請求,所述查詢請求包括所述索引標識;
[0017]根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置;
[0018]根據(jù)所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置,讀取所述索引標識對應(yīng)的加密后數(shù)據(jù);
[0019]對所述索引標識對應(yīng)的加密后數(shù)據(jù)進行解密。
[0020]可選地,所述根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置之前,還包括:
[0021]對所述索引數(shù)據(jù)中的每條所述映射關(guān)系進行解密。
[0022]本發(fā)明實施例還提供一種數(shù)據(jù)安全處理裝置,包括:
[0023]獲取模塊,用于獲取待加密數(shù)據(jù)塊,其中,所述待加密數(shù)據(jù)塊中包括:N條待加密數(shù)據(jù),每條待加密數(shù)據(jù)對應(yīng)唯一索引標識,其中N為大于或等于I的整數(shù);
[0024]加密模塊,用于依次對所述N條待加密數(shù)據(jù)進行加密;
[0025]所述獲取模塊還用于獲取N條加密后數(shù)據(jù);
[0026]生成模塊,用于記錄所述N條加密后數(shù)據(jù)的存儲位置,并根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù);其中,所述索引數(shù)據(jù)包括:所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識的映射關(guān)系。
[0027]可選地,所述加密模塊,還用于:當(dāng)所述處理模塊根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識生成索引數(shù)據(jù)之后,依次對所述索引數(shù)據(jù)中每條所述映射關(guān)系進行加密。
[0028]可選地,所述加密模塊,具體用于:
[0029]采用預(yù)設(shè)算法,依次獲取每條所述待加密數(shù)據(jù)對應(yīng)的加密參數(shù);
[0030]根據(jù)所述加密參數(shù)對對應(yīng)的待加密數(shù)據(jù)進行加密;
[0031]所述獲取模塊,具體用于:獲取所述加密模塊根據(jù)所述加密參數(shù)對所述對應(yīng)的待加密數(shù)據(jù)進行加密后得到的所述加密后數(shù)據(jù)。
[0032]可選地,所述獲取模塊,還用于:
[0033]獲取查詢請求,所述查詢請求包括所述索引標識;
[0034]所述裝置還包括:
[0035]確定模塊,用于根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置;
[0036]數(shù)據(jù)讀取模塊,用于根據(jù)所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置,讀取所述索引標識對應(yīng)的加密后數(shù)據(jù);
[0037]解密模塊,用于對所述索引標識對應(yīng)的加密后數(shù)據(jù)進行解密。
[0038]可選地,所述解密模塊,還用于:
[0039]在所述確定模塊根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置之前,對所述索引數(shù)據(jù)中的每條所述映射關(guān)系進行解密。
[0040]本發(fā)明實施例提供的數(shù)據(jù)安全處理方法及裝置,通過依次對N條待加密數(shù)據(jù)進行加密后存儲,提高了數(shù)據(jù)存儲的安全性;同時,通過根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù),在查詢過程中只需要將索引數(shù)據(jù)讀取到內(nèi)存中即可查詢到加密后數(shù)據(jù)的存儲位置,減小了內(nèi)存中存儲的數(shù)據(jù)量,提高了數(shù)據(jù)查詢的效率。進一步地,通過對索引數(shù)據(jù)進行加密,對加密后數(shù)據(jù)塊在二進制文件中的起始存儲位置加密,以及對所述加密后數(shù)據(jù)的數(shù)量進行加密,實現(xiàn)了數(shù)據(jù)文件的多重加密。最后,通過對二進制文件進行公鑰加密,可以防止所述二進制文件被修改,進一步提高了數(shù)據(jù)文件的安全性。
【附圖說明】
[0041]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0042]圖1為本發(fā)明實施例數(shù)據(jù)安全處理方法的流程示意圖;
[0043]圖2為本發(fā)明實施例數(shù)據(jù)安全處理方法的另一種流程示意圖;
[0044]圖3為本發(fā)明實施例數(shù)據(jù)安全處理方法中用于存儲加密后數(shù)據(jù)的二進制文件的結(jié)構(gòu)示意圖;
[0045]圖4為本發(fā)明實施例通過加密工具對待加密數(shù)據(jù)進行加密的過程示意圖;
[0046]圖5為本發(fā)明實施例獲取加密后數(shù)據(jù)的過程示意圖;
[0047]圖6為本發(fā)明實施例數(shù)據(jù)安全處理方法查詢數(shù)據(jù)的流程示意圖;
[0048]圖7為查詢接口初始化過程的流程圖;
[0049]圖8為本發(fā)明實施例數(shù)據(jù)安全處理裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0050]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0051 ]本發(fā)明實施例數(shù)據(jù)安全處理方法用于對數(shù)據(jù)進行加密及查詢。
[0052]圖1為本發(fā)明實施例數(shù)據(jù)安全處理方法的流程示意圖。圖2為本發(fā)明實施例數(shù)據(jù)安全處理方法的另一種流程示意圖。
[0053]請參閱圖1及圖2,本發(fā)明實施例提供的數(shù)據(jù)安全處理方法,包括:
[0054]SlOl:獲取待加密數(shù)據(jù)塊,其中,所述待加密數(shù)據(jù)塊中包括:N條待加密數(shù)據(jù),每條待加密數(shù)據(jù)對應(yīng)唯一索引標識,其中N為大于或等于I的整數(shù);
[0055]具體地,一個待加密數(shù)據(jù)庫中可以包括多個待加密數(shù)據(jù)塊,每個待加密數(shù)據(jù)塊以數(shù)據(jù)列表的形式存在。每個數(shù)據(jù)列表包括多條待加密數(shù)據(jù)。
[0056]S102:依次對所述N條待加密數(shù)據(jù)進行加密,獲取N條加密后數(shù)據(jù),并記錄所述N條加密后數(shù)據(jù)的存儲位置;
[0057]具體地,所述N條加密后數(shù)據(jù)存儲于一個二進制文件中。當(dāng)完成對所述第i條待加密數(shù)據(jù)的加密過程后,記錄的所述第i條加密后數(shù)據(jù)的存儲位置為所述第i條加密后數(shù)據(jù)在所述二進制文件中的真實存儲位置。
[0058]所述依次對所述N條待加密數(shù)據(jù)進行加密,獲取N條加密后數(shù)據(jù),包括:
[0059]采用預(yù)設(shè)算法,依次獲取每條所述待加密數(shù)據(jù)對應(yīng)的加密參數(shù);
[0060]根據(jù)所述加密參數(shù)對對應(yīng)的待加密數(shù)據(jù)進行加密,獲取所述加密后數(shù)據(jù)。
[0061]采用對所述N條待加密數(shù)據(jù)中的每條待加密數(shù)據(jù)分別進行單獨加密,提高了數(shù)據(jù)的安全性。
[0062]請參閱圖2,當(dāng)確定所述待加密數(shù)據(jù)塊中當(dāng)前處理的第i條待加密數(shù)據(jù)尚未加密時,獲取所述第i條待加密數(shù)據(jù)的所有字段值,并將所述字段值連接成字符串。其中,i為大于等于I且小于等于N的整數(shù)。通過三重數(shù)據(jù)加密算法(Triple Data Encrypt1nAlgorithm,簡稱:3DES算法)計算所述第i條待加密數(shù)據(jù)的加密參數(shù),根據(jù)計算得出的加密參數(shù)對所述字符串進行加密,并將所述加密后數(shù)據(jù)寫入所述二進制文件。具體地,每條所述待加密數(shù)據(jù)可以采用相同的加密參數(shù)進行加密。經(jīng)過3DES算法計算得到的加密參數(shù)存放于查詢接口中,用于在用戶對數(shù)據(jù)進行查詢的過程中通過調(diào)用所述查詢接口實現(xiàn)解密。具體地,為了進一步地提高所述加密后數(shù)據(jù)的安全性,還可以對所述加密參數(shù)進行進一步地變換,將變換后的加密參數(shù)存放于所述查詢接口中。
[0063]S103:根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù),其中,所述索引數(shù)據(jù)包括:所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識的映射關(guān)系。
[0064]具體地,每條待加密數(shù)據(jù)經(jīng)過3DES算法加密后得到的所述N條加密后數(shù)據(jù)都存入所述二進制文件中,將所述N條加密后數(shù)據(jù)在所述二進制文件中的存儲位置以及對應(yīng)的索引標識進行記錄,即可得到所述索引數(shù)據(jù)。所述索引數(shù)據(jù)可以以所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識形成的對應(yīng)列表或者連線的形式呈現(xiàn),體現(xiàn)所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識之間的映射關(guān)系。
[0065]進一步地,請繼續(xù)參閱圖2,當(dāng)確定所述N條待加密數(shù)據(jù)已全部完成加密,所述根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù)之后,還包括:
[0066]依次對所述索引數(shù)據(jù)中每條所述映射關(guān)系進行加密。
[0067]具體地,針對所述索引數(shù)據(jù)中的每個索引標識以及所述每個索引標識對應(yīng)的加密后數(shù)據(jù)的存儲位置進行加密。加密時,將每條加密后數(shù)據(jù)的存儲位置及所述加密后數(shù)據(jù)對應(yīng)的索引標識發(fā)送至加密鎖內(nèi),以每條加密后數(shù)據(jù)的索引標識作為加密參數(shù),采用所述加密鎖內(nèi)的加密算法對所述索引標識對應(yīng)的存儲位置進行加密。
[0068]具體地,所述加密鎖是為軟件開發(fā)商提供的一種智能型的具有軟件保護功能的加密及解密工具,加密鎖內(nèi)存儲有加解密算法。它包含一個安裝在計算機并行口或USB 口上的硬件,及一套適用于各種語言的接口軟件和工具軟件。加密鎖基于硬件保護技術(shù),其目的是通過對軟件與數(shù)據(jù)的保護防止知識產(chǎn)權(quán)被非法使用,不易被跟蹤調(diào)試破解。
[0069]由于加密鎖為硬件設(shè)備,采用加密鎖對所述索引數(shù)據(jù)中的存儲位置進行加密,可以更有效地對抗非法破解,保證所述索引數(shù)據(jù)的安全性。
[0070]所述N條加密后數(shù)據(jù)寫入所述二進制文件后,形成加密后數(shù)據(jù)塊。為了更進一步地加強所述數(shù)據(jù)塊的安全性,進一步地,所述方法還包括:
[0071]對所述加密后數(shù)據(jù)塊在所述二進制文件中的起始存儲位置進行加密后寫入所述二進制文件。
[0072]具體地,可以通過對異或加密的方式對所述加密后數(shù)據(jù)塊在所述二進制文件中的起始存儲位置進行加密。所述起始存儲位置通過4字節(jié)數(shù)據(jù)進行存儲。異或加密時可以使用對所述待加密數(shù)據(jù)進行加密時得到的最終的加密數(shù)據(jù)的最后4個字節(jié)的數(shù)據(jù)。
[0073]進一步地,將所述加密后數(shù)據(jù)塊中的所述加密后數(shù)據(jù)的數(shù)量加密后寫入所述二進制文件。
[0074]同樣地,可以通過對異或加密的方式對所述加密后數(shù)據(jù)的數(shù)量進行加密。所述加密后數(shù)據(jù)的數(shù)量通過4字節(jié)數(shù)據(jù)進行存儲。異或加密時可以使用對所述待加密數(shù)據(jù)進行加密時得到的最終的加密數(shù)據(jù)的最后4個字節(jié)的數(shù)據(jù)。
[0075]圖3為本發(fā)明實施例數(shù)據(jù)安全處理方法中用于存儲加密后數(shù)據(jù)的二進制文件的結(jié)構(gòu)示意圖。
[0076]具體地,所述二進制文件的整體結(jié)構(gòu)如圖3所示。所述二進制文件包括M個加密后數(shù)據(jù)塊,其中,M為大于或等于I的整數(shù)。所述M個加密后數(shù)據(jù)塊是由M個待加密數(shù)據(jù)塊分別經(jīng)過上述加密過程后得到的。當(dāng)所述M個待加密數(shù)據(jù)全部完成加密后,得到的所述M個加密后數(shù)據(jù)塊按順序排列存儲于所述二進制文件中。
[0077]為了進一步加強所述二進制文件的安全性,防止文件被修改,所述方法還包括:對所述二進制文件進行公鑰加密,并將經(jīng)過公鑰加密后的文件簽名信息寫入所述二進制文件。具體地,所述文件簽名信息位于所述M個加密后數(shù)據(jù)塊的后面。
[0078]具體地,對所述二進制文件進行公鑰加密的過程包括:計算對所述二進制文件中的所有加密后數(shù)據(jù)的哈希值,根據(jù)所述哈希值生成所述簽名數(shù)據(jù),并將所述簽名數(shù)據(jù)寫入所述二進制文件中。同時,采用3DES算法對所述哈希值進行加密,將所述加密后的哈希值寫入所述二進制文件中。所述文件簽名信息包括所述簽名數(shù)據(jù)及所述加密后的哈希值。
[0079]請繼續(xù)參閱圖3,其中,每個所述加密后數(shù)據(jù)塊的結(jié)構(gòu)在所述二進制文件中的存儲結(jié)構(gòu)如圖3右側(cè)所示。例如:第m個加密后數(shù)據(jù)塊的存儲結(jié)構(gòu)包括第一存儲區(qū)域、第二存儲區(qū)域、第三存儲區(qū)域及第四存儲區(qū)域。其中,m為大于等于I且小于等于M的整數(shù)。具體的,所述第一存儲區(qū)域,用于存儲所述第m個加密后數(shù)據(jù)塊中的所有加密后數(shù)據(jù);所述第二存儲區(qū)域,用于存儲經(jīng)過加密后的所述索引數(shù)據(jù);所述第三存儲區(qū)域,用于存儲所述第m個加密后數(shù)據(jù)塊的起始存儲位置經(jīng)過異或加密后得到的數(shù)據(jù);所述第四存儲區(qū)域,用于存儲所述第m個加密后數(shù)據(jù)塊中加密后數(shù)據(jù)的數(shù)量經(jīng)過加密后得到的數(shù)據(jù)。
[0080]圖4為本發(fā)明實施例對待加密數(shù)據(jù)進行加密的過程示意圖。
[0081]請參閱圖4,上述實施例中,數(shù)據(jù)的加密過程通過加密工具和加密鎖I完成。
[0082]圖5為本發(fā)明實施例獲取加密后數(shù)據(jù)的過程示意圖。
[0083]請參閱圖5,當(dāng)用戶需要讀取加密數(shù)據(jù)時,通過主程序的輸入界面提交查詢請求。所述主程序通過調(diào)用對應(yīng)的查詢接口及加密鎖2獲取解密后數(shù)據(jù)。
[0084]圖6為本發(fā)明實施例數(shù)據(jù)安全處理方法查詢數(shù)據(jù)的流程示意圖。
[0085]請參閱圖6,在上述實施例的基礎(chǔ)上,進一步地,所述方法還包括:
[0086]S601:獲取所述查詢請求,所述查詢請求包括所述索引標識;
[0087]S602:根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置;
[0088]S603:根據(jù)所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置,讀取所述索引標識對應(yīng)的加密后數(shù)據(jù);
[0089]S604:對所述索引標識對應(yīng)的加密后數(shù)據(jù)進行解密。
[0090]進一步地,在所述根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置之前,所述方法還包括:
[0091]S605:對加密后的所述索引數(shù)據(jù)中的每條所述映射關(guān)系逐一進行解密;得到解密后的所述索引數(shù)據(jù)。
[0092]圖7為查詢接口初始化過程的流程圖。
[0093]請參閱圖7,具體地,在所述查詢接口根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置之前,還包括:對所述主程序進行身份認證。
[0094]具體地,主程序在接收到用戶輸入的查詢請求后,將所述查詢請求轉(zhuǎn)換為查詢請求字符串,并將查詢請求字符串傳遞給所述查詢接口,所述查詢接口對所述查詢請求字符串進行解密分析,判斷所述查詢請求字符串是否符合所述加密工具設(shè)定的加密規(guī)律。如果符合,則確定所述主程序合法。
[0095]進一步地,為了確定文件的狀態(tài),所述方法還包括:讀取所述二進制文件中經(jīng)過公鑰加密后的文件簽名信息到加密鎖2內(nèi)進行解密,判斷所述二進制文件是否被損壞或者被修改。具體地,讀取所述二進制文件中經(jīng)過3DES加密后的文件哈希(Hash)值進行解密得到明文哈希值,再讀取對所述明文哈希值的簽名數(shù)據(jù),將所述明文哈希值及所述明文哈希值的簽名數(shù)據(jù)發(fā)送給所述加密鎖2進行驗證。如果經(jīng)過驗證,所述明文哈希值及所述明文哈希值的簽名數(shù)據(jù)對應(yīng),則說明所述二進制文件中加密后的哈希值沒有被改動。然后計算所述二進制文件中存儲的所述加密后數(shù)據(jù)的哈希值,將所述計算得到的哈希值與所述明文哈希值進行比較,如果相同,則說明所述二進制文件中的加密后數(shù)據(jù)也沒有被改動過。根據(jù)上述方法即可判斷所述二進制文件是否損壞或者被修改。
[0096]如果所述文件未被修改,即可將所述二進制文件中經(jīng)過加密后的索引數(shù)據(jù)讀取到內(nèi)存中。如果文件被修改,則返回錯誤信息,結(jié)束數(shù)據(jù)查詢過程。當(dāng)所述查詢接口執(zhí)行查詢過程時,根據(jù)所述查詢請求中的索引標識即可從內(nèi)存中查詢到所述索引標識對應(yīng)的加密后數(shù)據(jù)的存儲位置。
[0097]具體地,所述根據(jù)將所述二進制文件中經(jīng)過加密后的索引數(shù)據(jù)讀取到內(nèi)存中的過程中,通過讀取所述二進制文件中的第M個加密后數(shù)據(jù)塊中的第二存儲區(qū)中的數(shù)據(jù)內(nèi)容,將所述第M個數(shù)據(jù)塊的加密后索引數(shù)據(jù)讀取到所述內(nèi)存中。由于所述第M個加密后數(shù)據(jù)塊為所述二進制文件中的最后一個數(shù)據(jù)塊,其結(jié)束位置固定,并且由于所述第三存儲區(qū)及所述第四存儲區(qū)的長度固定(設(shè)定的字節(jié)長度),從所述結(jié)束位置向上偏移所述第三存儲區(qū)及所述第四存儲區(qū)的長度后,即可獲取到所述第二存儲區(qū)的結(jié)束位置。再者,由于所述索引數(shù)據(jù)中的索引標識及加密后數(shù)據(jù)的存儲位置所占用的字節(jié)長度通常也是固定的,根據(jù)所述第M個加密后數(shù)據(jù)塊中的加密后數(shù)據(jù)的數(shù)量及所述索引標識及對應(yīng)的所述存儲位置的長度,即可得知所述第二存儲區(qū)的長度。根據(jù)所述第二存儲區(qū)的結(jié)束位置及所述第二存儲區(qū)的長度,即可確定出所述第二存儲區(qū)的起始位置。獲知了所述第二存儲區(qū)的起始位置及結(jié)束位置,即可將所述第二存儲區(qū)中的加密后索引數(shù)據(jù)讀取到內(nèi)存中。
[0098]由于每個數(shù)據(jù)存儲區(qū)中的數(shù)據(jù)長度不同,所述查詢接口在初始化的過程中無法直接獲取到除所述最第M個加密后數(shù)據(jù)塊之外的任意一個加密后數(shù)據(jù)塊中的第二存儲區(qū)的位置。因此,所述查詢接口可以通過第M個加密后數(shù)據(jù)中存儲的所述第M個加密后數(shù)據(jù)塊的起始位置推算所述第M-1個加密后數(shù)據(jù)塊中的第二存儲區(qū)的位置。依次類推。
[0099]具體地,讀取第M-1個加密后數(shù)據(jù)塊的索引數(shù)據(jù)時,首先通過讀取所述第M個加密后數(shù)據(jù)塊的第三存儲區(qū)的內(nèi)容,獲取到所述第N個加密后數(shù)據(jù)塊的起始存儲位置。根據(jù)所述第N個加密后數(shù)據(jù)塊的起始存儲位置即可得知所述第M-1個加密后數(shù)據(jù)塊的結(jié)束位置,再根據(jù)上述方法,從所述第M-1個加密后數(shù)據(jù)塊的結(jié)束位置向上偏移所述第M-1個加密后數(shù)據(jù)塊的第三存儲區(qū)及所述第四存儲區(qū)所占用的長度,即可得到所述第M-1個加密后數(shù)據(jù)塊的第二存儲區(qū)的結(jié)束位置。再根據(jù)上述方法確定出所述第M-1個加密后數(shù)據(jù)塊的第二存儲區(qū)的長度,即可確定出所述第M-1個加密后數(shù)據(jù)塊的第二存儲區(qū)的起始位置。獲知了所述第M-1個加密后數(shù)據(jù)塊的第二存儲區(qū)的起始位置及結(jié)束位置,即可將所述第M-1個加密后數(shù)據(jù)塊的第二存儲區(qū)中的加密后索引數(shù)據(jù)讀取到內(nèi)存中。
[0100]采用上述方式將所述二進制文件中的各個加密后數(shù)據(jù)塊的加密后索引數(shù)據(jù)讀取到內(nèi)存中,增加了獲取加密后索引數(shù)據(jù)的復(fù)雜性,能夠更加有效地增強數(shù)據(jù)存儲的安全性。同時,無需通過額外的存儲空間記錄所述加密后數(shù)據(jù)的實際存儲位置,節(jié)省了系統(tǒng)資源。
[0101]采用本發(fā)明實施例提供的數(shù)據(jù)安全處理方法,通過依次對N條待加密數(shù)據(jù)進行加密后存儲,提高了數(shù)據(jù)存儲的安全性;同時,通過根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù),在查詢過程中只需要將索引數(shù)據(jù)讀取到內(nèi)存中即可查詢到加密后數(shù)據(jù)的存儲位置,減小了內(nèi)存中存儲的數(shù)據(jù)量,提高了數(shù)據(jù)查詢的效率。進一步地,通過對索引數(shù)據(jù)進行加密,對加密后數(shù)據(jù)塊在二進制文件中的起始存儲位置加密,以及對所述加密后數(shù)據(jù)的數(shù)量進行加密,實現(xiàn)了數(shù)據(jù)文件的多重加密。最后,通過對二進制文件進行公鑰加密,可以防止所述二進制文件被修改,進一步提高了數(shù)據(jù)文件的安全性。
[0102]圖8為本發(fā)明實施例數(shù)據(jù)安全處理裝置的結(jié)構(gòu)示意圖。
[0103]請參閱圖8,本發(fā)明實施例數(shù)據(jù)安全處理裝置包括:
[0104]獲取模塊810,用于獲取待加密數(shù)據(jù)塊,其中,所述待加密數(shù)據(jù)塊中包括:N條待加密數(shù)據(jù),每條待加密數(shù)據(jù)對應(yīng)唯一索引標識,其中N為大于或等于I的整數(shù);
[0105]加密模塊820,用于依次對所述N條待加密數(shù)據(jù)進行加密;
[0106]所述獲取模塊810還用于獲取N條加密后數(shù)據(jù);
[0107]生成模塊830,用于記錄所述N條加密后數(shù)據(jù)的存儲位置,并根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù),其中,所述索引數(shù)據(jù)包括:所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識的映射關(guān)系。
[0108]進一步地,所述加密模塊820,還用于:當(dāng)所述處理模塊根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識生成索引數(shù)據(jù)之后,依次對所述索引數(shù)據(jù)中每條所述映射關(guān)系進行加密。
[0109]進一步地,所述加密模塊820,具體用于:
[0110]采用預(yù)設(shè)算法,依次獲取每條所述待加密數(shù)據(jù)對應(yīng)的加密參數(shù);
[0111]根據(jù)所述加密參數(shù)對對應(yīng)的待加密數(shù)據(jù)進行加密。
[0112]所述獲取模塊810,具體用于:獲取所述加密模塊根據(jù)所述加密參數(shù)對所述對應(yīng)的待加密數(shù)據(jù)進行加密后得到的所述加密后數(shù)據(jù)。
[0113]進一步地,所述獲取模塊810,還用于:
[0114]獲取查詢請求,所述查詢請求包括所述索引標識。
[0115]所述裝置還包括:
[0116]確定模塊840,用于根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置;
[0117]數(shù)據(jù)讀取模塊850,用于根據(jù)所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置,讀取所述索引標識對應(yīng)的加密后數(shù)據(jù);
[0118]解密模塊860,用于對所述索引標識對應(yīng)的加密后數(shù)據(jù)進行解密。
[0119]所述解密模塊860,還用于:在所述確定模塊根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置之前,對所述索引數(shù)據(jù)中的每條所述映射關(guān)系進彳丁解密。
[0120]具體地,所述加密工具包括所述獲取模塊810,所述加密模塊820及所述生成模塊830,所述查詢接口包括所述獲取模塊810、所述確定模塊840、所述數(shù)據(jù)讀取模塊850及所述解密模塊860。
[0121]本發(fā)明實施例提供的數(shù)據(jù)安全處理裝置,用于執(zhí)行上述方法實施例中的數(shù)據(jù)安全處理方法,及工作原理及技術(shù)效果與方法實施例類似,在此不再贅述。
[0122]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0123]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
【主權(quán)項】
1.一種數(shù)據(jù)安全處理方法,其特征在于,包括: 獲取待加密數(shù)據(jù)塊,其中,所述待加密數(shù)據(jù)塊中包括:N條待加密數(shù)據(jù),每條待加密數(shù)據(jù)對應(yīng)唯一索引標識,其中N為大于或等于I的整數(shù); 依次對所述N條待加密數(shù)據(jù)進行加密,獲取N條加密后數(shù)據(jù),并記錄所述N條加密后數(shù)據(jù)的存儲位置; 根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù),其中,所述索引數(shù)據(jù)包括:所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識的映射關(guān)系。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索弓I標識,生成索引數(shù)據(jù)之后,還包括: 依次對所述索引數(shù)據(jù)中每條所述映射關(guān)系進行加密。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述依次對所述N條待加密數(shù)據(jù)進行加密,獲取N條加密后數(shù)據(jù),包括: 采用預(yù)設(shè)算法,依次獲取每條所述待加密數(shù)據(jù)對應(yīng)的加密參數(shù); 根據(jù)所述加密參數(shù)對對應(yīng)的待加密數(shù)據(jù)進行加密,獲取所述加密后數(shù)據(jù)。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 獲取查詢請求,所述查詢請求包括所述索引標識; 根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置; 根據(jù)所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置,讀取所述索引標識對應(yīng)的加密后數(shù)據(jù); 對所述索引標識對應(yīng)的加密后數(shù)據(jù)進行解密。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置之前,還包括: 對所述索引數(shù)據(jù)中的每條所述映射關(guān)系進行解密。6.一種數(shù)據(jù)安全處理裝置,其特征在于,包括: 獲取模塊,用于獲取待加密數(shù)據(jù)塊,其中,所述待加密數(shù)據(jù)塊中包括:N條待加密數(shù)據(jù),每條待加密數(shù)據(jù)對應(yīng)唯一索引標識,其中N為大于或等于I的整數(shù); 加密模塊,用于依次對所述N條待加密數(shù)據(jù)進行加密; 所述獲取模塊還用于獲取N條加密后數(shù)據(jù); 生成模塊,用于記錄所述N條加密后數(shù)據(jù)的存儲位置,并根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識,生成索引數(shù)據(jù);其中,所述索引數(shù)據(jù)包括:所述N條加密后數(shù)據(jù)的存儲位置與N個所述索引標識的映射關(guān)系。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述加密模塊,還用于:當(dāng)所述處理模塊根據(jù)所述N條加密后數(shù)據(jù)的存儲位置、以及所述索引標識生成索引數(shù)據(jù)之后,依次對所述索引數(shù)據(jù)中每條所述映射關(guān)系進行加密。8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述加密模塊,具體用于: 采用預(yù)設(shè)算法,依次獲取每條所述待加密數(shù)據(jù)對應(yīng)的加密參數(shù); 根據(jù)所述加密參數(shù)對對應(yīng)的待加密數(shù)據(jù)進行加密; 所述獲取模塊,具體用于:獲取所述加密模塊根據(jù)所述加密參數(shù)對所述對應(yīng)的待加密數(shù)據(jù)進行加密后得到的所述加密后數(shù)據(jù)。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊,還用于: 獲取查詢請求,所述查詢請求包括所述索引標識; 所述裝置還包括: 確定模塊,用于根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置; 數(shù)據(jù)讀取模塊,用于根據(jù)所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置,讀取所述索引標識對應(yīng)的加密后數(shù)據(jù); 解密模塊,用于對所述索引標識對應(yīng)的加密后數(shù)據(jù)進行解密。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述解密模塊,還用于: 在所述確定模塊根據(jù)所述索引標識、以及所述索引數(shù)據(jù),確定所述索引標識所對應(yīng)的加密后數(shù)據(jù)的存儲位置之前,對所述索引數(shù)據(jù)中的每條所述映射關(guān)系進行解密。
【文檔編號】H04L9/08GK106059762SQ201610594144
【公開日】2016年10月26日
【申請日】2016年7月26日 公開號201610594144.3, CN 106059762 A, CN 106059762A, CN 201610594144, CN-A-106059762, CN106059762 A, CN106059762A, CN201610594144, CN201610594144.3
【發(fā)明人】張龍斌
【申請人】江蘇國泰新點軟件有限公司