本發(fā)明涉及數(shù)據(jù)加密技術(shù),尤其涉及一種高級別數(shù)據(jù)加密方法、裝置及移動終端。
背景技術(shù):
隨著智能移動終端的普及,移動終端的存儲設(shè)備上上存儲了越來越多的私人數(shù)據(jù),如賬戶信息、聯(lián)系人信息、照片等。一旦移動終端因丟失或被盜被其他人獲得,會給用戶造成較大損失。因此,在移動終端廣泛使用的今天,對移動終端中存儲的數(shù)據(jù)進(jìn)行加密變得非常必要。
現(xiàn)有的移動終端數(shù)據(jù)加密方法一定程度上能夠保護移動終端上的私人數(shù)據(jù),但同時也都存在一定的漏洞和缺點:如,1)數(shù)據(jù)磁盤秘鑰仍然保存在被加密文件的分區(qū),因而容易被獲取破解,導(dǎo)致數(shù)據(jù)不夠安全;2)數(shù)據(jù)加密過程中需要將加密數(shù)據(jù)需要先搬運至內(nèi)存然后由加密引擎讀取進(jìn)行加密,加密后再寫回內(nèi)存,最后將加密數(shù)據(jù)寫到存儲設(shè)備,過程繁瑣效率低下,速度慢效率低。
可見,現(xiàn)有的數(shù)據(jù)加密方法不僅安全性不夠高,而且加密效率較低,影響了用戶體驗,增加系統(tǒng)功耗。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例期望提供一種數(shù)據(jù)加密方法、裝置及移動終端,能夠提高數(shù)據(jù)加密的效率和安全性。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例提供了一種數(shù)據(jù)加密方法,所述方法包括:
接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;
生成磁盤秘鑰,并根據(jù)所述加密密文,對磁盤秘鑰進(jìn)行加密;
通過所述磁盤秘鑰,對進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密。
上述方案中,所述根據(jù)加密信息確定加密密文包括:根據(jù)用戶輸入的加密信息和隨機鹽值,通過HASH算法,確定加密密文。
上述方案中,所述生成磁盤秘鑰包括:根據(jù)HUK值派生磁盤秘鑰。
上述方案中,所述方法還包括:
存儲所述加密密文以及所述加密后的秘鑰。
上述方案中,所述方法還包括:
接收用戶輸入的解密信息,根據(jù)所述解密信息,確定解密密文;
當(dāng)所述解密密文與存儲的加密密文相同時,通過所述解密密文,對所述磁盤秘鑰進(jìn)行解密,獲得所述磁盤秘鑰;
通過所述磁盤秘鑰,對取出存儲設(shè)備的數(shù)據(jù)進(jìn)行解密。
上述方案中,所述根據(jù)解密信息確定解密密文包括:根據(jù)用戶輸入的解密信息和隨機鹽值,通過HASH算法加密,確定解密密文。
上述方案中,所述方法還包括:相同的加密信息和解密信息使用相同的隨機鹽值,不同的加密信息和解密信息使用不同的隨機鹽值。
本發(fā)明實施例還提供了一種數(shù)據(jù)加密裝置,所述裝置包括:秘鑰管理模塊、加密引擎模塊,其中,
所述秘鑰管理模塊,用于接接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;生成磁盤秘鑰,并根據(jù)所述加密密文,對磁盤秘鑰進(jìn)行加密;
所述加密引擎模塊,用于通過所述磁盤秘鑰,對進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密。
上述方案中,所述秘鑰管理模塊具體用于:根據(jù)用戶輸入的加密信息和隨機鹽值,通過HASH算法,確定加密密文。
上述方案中,所述秘鑰管理模塊具體用于:根據(jù)HUK值派生磁盤秘鑰。
上述方案中,所述裝置還包括安全存儲模塊,用于存儲所述加密密文以及所述加密后的秘鑰。
上述方案中,所述秘鑰管理模塊還用于:接收用戶輸入的解密信息,根據(jù) 所述解密信息,確定解密密文;
當(dāng)所述解密密文與存儲的加密密文相同時,通過所述解密密文,對所述磁盤秘鑰進(jìn)行解密,獲得所述磁盤秘鑰;
所述加密引擎模塊,還用于通過所述磁盤秘鑰,對取出存儲設(shè)備的數(shù)據(jù)進(jìn)行解密。
上述方案中,所述秘鑰管理模塊具體用于:根據(jù)用戶輸入的解密信息和隨機鹽值,通過HASH算法加密,確定解密密文。
上述方案中,所述秘鑰管理模塊具體用于:相同的加密信息和解密信息使用相同的隨機鹽值,不同的加密信息和解密信息使用不同的隨機鹽值。
本發(fā)明實施例還提供了一種移動終端,所述移動終端包括上述數(shù)據(jù)加密裝置。
本發(fā)明實施例所提供的數(shù)據(jù)加密方法,包括:接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;生成磁盤秘鑰,并根據(jù)所述加密密文,對磁盤秘鑰進(jìn)行加密;通過所述磁盤秘鑰,對進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密。如此,無需將被加密數(shù)據(jù)反復(fù)在內(nèi)存和存儲設(shè)備之間反復(fù)搬運,能夠直接對經(jīng)由存儲器通道的數(shù)據(jù)進(jìn)行加密,大大簡化了加密流程和步驟,同時提高了效率降低系統(tǒng)功耗。同時,磁盤秘鑰生成和加密過程與使用過程分離,從而提高了整個終端設(shè)備數(shù)據(jù)的安全性。
附圖說明
圖1為本發(fā)明實施例一數(shù)據(jù)加密方法流程示意圖;
圖2為本發(fā)明實施例二數(shù)據(jù)加密方法流程示意圖;
圖3為本發(fā)明實施例三數(shù)據(jù)加密方法流程示意圖;
圖4為本發(fā)明實施例數(shù)據(jù)解密方法流程示意圖;
圖5為本發(fā)明實施例數(shù)據(jù)加密裝置結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明實施例中,先接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;再根據(jù)所述加密密文,對磁盤秘鑰進(jìn)行加密;之后通過所述磁盤秘鑰,對進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密。其中,所述進(jìn)入存儲設(shè)備的數(shù)據(jù)為經(jīng)過存儲設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲設(shè)備的數(shù)據(jù)。
本發(fā)明實施例所述數(shù)據(jù)加密方法涉及可信執(zhí)行環(huán)境(TEE,Trusted Execution Environment)和常規(guī)操作系統(tǒng)環(huán)境(REE,Rich Execution Environment)(如Android等),其中,確定加密密文以及生成磁盤秘鑰、對磁盤密鑰進(jìn)行加密的過程在TEE中執(zhí)行,對進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密的過程在REE中執(zhí)行。從而實現(xiàn)對經(jīng)過存儲設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密。對數(shù)據(jù)進(jìn)行加密的秘鑰來源于TEE系統(tǒng),由TEE為其提供秘鑰保存管理。
本發(fā)明實施例中,TEE系統(tǒng)可基于TrustZone技術(shù)構(gòu)建,與設(shè)備上的主OS(如Android中的REE)是平行關(guān)系。TEE和主OS(如REE)是兩個隔離的環(huán)境,兩者通過規(guī)范好的固定接口進(jìn)行通信,REE環(huán)境及其上運行的應(yīng)用程序無法訪問觸及到TEE環(huán)境的資源,TEE上僅運行安全可信的程序,從而確保了TEE環(huán)境的安全可靠性同時也可防止惡意軟件的攻擊。
相對于傳統(tǒng)的數(shù)據(jù)加密方法,無需將被加密數(shù)據(jù)反復(fù)在內(nèi)存和存儲設(shè)備之間反復(fù)搬運,能夠直接對經(jīng)由存儲器通道的數(shù)據(jù)進(jìn)行加密,加密過程不需要CPU參與,大大簡化了加密流程和步驟,同時提高了效率降低系統(tǒng)功耗。同時,磁盤秘鑰生成和保存在安全環(huán)境TEE中,REE及第三方應(yīng)用無法觸及到,安全性大大提高,從而提高了整個終端設(shè)備數(shù)據(jù)的安全性。
下面結(jié)合附圖及具體實施例,對本發(fā)明技術(shù)方案的實施作進(jìn)一步的詳細(xì)描述。圖1為本發(fā)明實施例一數(shù)據(jù)加密方法流程示意圖,如圖1所示,本實施例數(shù)據(jù)加密方法包括以下步驟:
步驟101:接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;
其中,所述根據(jù)所述加密信息,確定加密密文包括:根據(jù)用戶輸入的加密 信息和隨機鹽值,通過HASH算法,確定加密密文;并將所述加密密文進(jìn)行存儲;
其中,所述用戶輸入的加密信息即用戶輸入的密碼信息,具體的,在用戶設(shè)置用戶密碼的過程中,首先接收用戶輸入的加密信息,即用戶設(shè)置的密碼,然后在接收到的用戶輸入的加密信息中加入隨機鹽值進(jìn)行混淆,隨機鹽值的長度可以和HASH的輸出數(shù)據(jù)長度一樣長。這里,相同的加密信息加入相同的鹽值,不同的加密信息加入不同鹽值,確保使用非固定鹽值。在用戶用輸入的加密信息中加入鹽值后經(jīng)HASH算法(如SHA、MD5等)加密生成加密密文,所述加密密文即為即HASH值。所述加密密文用來對磁盤秘鑰進(jìn)行加密及后續(xù)解密過程中對用戶輸入的解密信息進(jìn)行驗證,然后將所述加密密文進(jìn)行存儲,而用戶輸入的加密信息不進(jìn)行保存。這樣即使不法用戶獲得系統(tǒng)中HASH值其反向破解難度也是極大的。
步驟102:生成磁盤秘鑰,并根據(jù)所述加密密文,對磁盤秘鑰進(jìn)行加密;
本發(fā)明實施例中,所述生成磁盤秘鑰包括:根據(jù)HUK(Hardware Unique Key)值派生磁盤秘鑰;其中,所述磁盤秘鑰用于對數(shù)據(jù)進(jìn)行加密和解密。HUK值為硬件設(shè)備的可信根,作為每個硬件設(shè)備獨一無二的標(biāo)識,在芯片工廠階段被燒寫進(jìn)非易失性存儲器中。
本發(fā)明實施例中,所述方法還包括:存儲所述加密后的密文。
本發(fā)明實施例中,根據(jù)設(shè)備本身的HUK值派生出磁盤秘鑰,從而可確保每臺設(shè)備磁盤秘鑰的獨一無二性,并利用上述密文對所述磁盤秘鑰進(jìn)行加密然后進(jìn)行保存。
步驟103:通過所述磁盤秘鑰,對進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密。
本發(fā)明實施例中,獲取TEE環(huán)境中生成的秘鑰,直接對REE環(huán)境中的、經(jīng)過存儲設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行實時加解密,無需再將數(shù)據(jù)其搬運至內(nèi)存。在進(jìn)行加密的過程中其可以將秘鑰信息存儲在REE環(huán)境中的秘鑰寄存器中。
本發(fā)明實施例中,當(dāng)用戶需要對加密后的數(shù)據(jù)進(jìn)行解密時,所述方法還包 括:接收用戶輸入的解密信息,根據(jù)所述解密信息,確定解密密文;判斷所述解密密文是否與存儲的加密密文相同,當(dāng)所述解密密文與存儲的加密密文不相同時,解密失敗,提示用戶密碼錯誤;當(dāng)所述解密密文與存儲的加密密文相同時,通過所述解密密文,對所述磁盤秘鑰進(jìn)行解密,獲得所述磁盤秘鑰;通過所述磁盤秘鑰,對取出存儲設(shè)備的數(shù)據(jù)進(jìn)行解密。
其中,所述根據(jù)解密信息確定解密密文包括:根據(jù)用戶輸入的解密信息和隨機鹽值,通過HASH算法加密,確定解密密文。
在生成加密密文和解密密文的過程中,相同的加密信息和解密信息使用相同的隨機鹽值,不同的加密信息和解密信息使用不同的隨機鹽值。這樣使用非固定鹽值進(jìn)一步增加暴力破解難度。
具體的,當(dāng)用戶用需要對數(shù)據(jù)進(jìn)行解密時,接收用戶輸入的解密信息,即用戶輸入的密碼,將接收到的用戶輸入的解密信息使用相應(yīng)的鹽值對其進(jìn)行混淆,同時使用和加密過程相同的HASH算法對其加密得到解密密文,其中,所述解密密文即為HASH值,然后判斷所述解密密文(HASH值)與系統(tǒng)中保存的加密密文(HASH值)是否相同,當(dāng)所述解密密文與存儲的加密密文不相同時,解密失敗,提示用戶密碼錯誤;當(dāng)所述解密密文與系統(tǒng)中保存的加密密文相同時,認(rèn)為驗證通過,通過所述解密密文對磁盤秘鑰解密獲取磁盤秘鑰,從而實現(xiàn)對用戶密碼進(jìn)行驗證。
在數(shù)據(jù)加密的過程中,用戶輸入的加密信息為用戶設(shè)置的加密密碼;在數(shù)據(jù)解密的過程中,用戶輸入的解密信息為用戶輸入的解密密碼。
圖2為本發(fā)明實施例二數(shù)據(jù)加密方法流程示意圖,如圖2所示,本發(fā)明實施例二所述數(shù)據(jù)加密方法為用戶在終端上首次開啟磁盤加密功能的過程,TEE環(huán)境中包括用戶密碼設(shè)置、秘鑰派生等步驟,所述數(shù)據(jù)加密方法首先要求用戶設(shè)置加密信息,然后根據(jù)用戶輸入的加密信息和隨機鹽值加密得到加密密文,利用該密文對由設(shè)備HUK值派生出的磁盤秘鑰進(jìn)行加密,并保存加密后的秘鑰,同時保存所述加密密文。然后REE側(cè)獲取所述磁盤秘鑰,并根據(jù)所述磁盤秘鑰對磁盤數(shù)據(jù)進(jìn)行加密。具體的,本發(fā)明實施例二所述數(shù)據(jù)加密方法包括以 下步驟:
步驟201:用戶在開啟磁盤加密功能;
其中,用戶可以在“設(shè)置”選項中開啟磁盤加密功能;
步驟202:提用戶設(shè)置密碼;
其中,可以通過界面彈出密碼框的方式提升用戶設(shè)置密碼;
步驟203:接收用戶輸入的密碼,對用戶密碼加入隨機鹽值,并進(jìn)行HASH運算得到HASH值;
其中,所述HASH值即為加密密文。
步驟204:保存所述HASH值;
步驟205:通過所述HASH值對磁盤秘鑰進(jìn)行加密;
步驟206:保存所述加密后的秘鑰;
步驟207:通知REE環(huán)境對數(shù)據(jù)進(jìn)行加密;
步驟208:通過固定接口從TEE環(huán)境獲取磁盤秘鑰,對進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密。
圖3為本發(fā)明實施例三數(shù)據(jù)加密方法流程示意圖,如圖3所示,本發(fā)明實施例三所述數(shù)據(jù)加密方法為寫磁盤數(shù)據(jù)的實時加密的過程。REE在獲取磁盤秘鑰后會將其保存到秘鑰寄存器中供后續(xù)數(shù)據(jù)加解密。在進(jìn)行在正常使用過程中,會實時對磁盤寫入數(shù)據(jù)進(jìn)行加密,通過直接對經(jīng)過存儲設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲設(shè)備的磁盤數(shù)據(jù)進(jìn)行加密,減少了數(shù)據(jù)往復(fù)搬運內(nèi)存的過程,提高了加密速度和效率;具體的,本發(fā)明實施例三所述數(shù)據(jù)加密方法包括以下步驟:
步驟301:CPU對磁盤數(shù)據(jù)進(jìn)行寫操作;
步驟302:REE通過固定接口從TEE獲取磁盤秘鑰,并保存到自身的秘鑰寄存器中;所述磁盤秘鑰用于后續(xù)加密過程;
步驟303:通過所述磁盤秘鑰對經(jīng)過存儲設(shè)備和系統(tǒng)總線之間的、要寫入存儲設(shè)備的磁盤數(shù)據(jù)要進(jìn)行加密。
步驟304:將加密后數(shù)據(jù)發(fā)送給存儲設(shè)備進(jìn)行存儲。
圖4為本發(fā)明實施例數(shù)據(jù)解密方法流程示意圖,如圖4所示,本發(fā)明實施 例所述數(shù)據(jù)解密方法為讀磁盤數(shù)據(jù)的實時解密的過程。REE在獲取磁盤秘鑰后會將其保存到秘鑰寄存器中供后續(xù)數(shù)據(jù)加解密。在進(jìn)行在正常使用過程中,會實時對磁盤讀出數(shù)據(jù)進(jìn)行解密,通過直接對經(jīng)過存儲設(shè)備和系統(tǒng)總線之間的、讀出存儲設(shè)備的磁盤數(shù)據(jù)進(jìn)行解密,減少了數(shù)據(jù)往復(fù)搬運內(nèi)存的過程,提高了解密速度和效率;具體的,本發(fā)明實施例四所述數(shù)據(jù)解密方法包括以下步驟:
步驟401:CPU對磁盤數(shù)據(jù)進(jìn)行讀操作;
步驟402:REE通過固定接口從TEE獲取磁盤秘鑰,并保存到自身的秘鑰寄存器中;所述磁盤秘鑰用于后續(xù)解密過程;
步驟403:通過所述磁盤秘鑰對經(jīng)過存儲設(shè)備和系統(tǒng)總線之間的、要讀出存儲設(shè)備的磁盤數(shù)據(jù)要進(jìn)行解密。
步驟404:將解密后數(shù)據(jù)發(fā)送給CPU。系統(tǒng)總線
本發(fā)明實施例還提供了一種數(shù)據(jù)加密裝置,圖5為本發(fā)明實施例數(shù)據(jù)加密裝置結(jié)構(gòu)示意圖,如圖5所示,所述裝置包括:秘鑰管理模塊51、加密引擎模塊52,其中,所述裝置涉及TEE和REE,秘鑰管理模塊51位于TEE中,對加密引擎模塊52位于REE中。TEE中的秘鑰管理模塊51具有秘鑰派生,秘鑰加密解密,解密信息驗證等功能;REE中的加密引擎模塊52采用In-Line的架構(gòu)方式,即在現(xiàn)有的智能移動終端硬件方案架構(gòu)中將加密引擎模塊52內(nèi)置于存儲設(shè)備和系統(tǒng)總線之間,為存儲管理器獨立擁有。對進(jìn)出存儲設(shè)備的數(shù)據(jù)進(jìn)行實時加密和解密,無需再將進(jìn)行加密和解密的數(shù)據(jù)搬運到內(nèi)存,如圖5所示,所述加密引擎模塊52和秘鑰管理模塊51直接連接通信,從秘鑰管理模塊51獲取密鑰信息,在正常工作過程中,所述加密引擎模塊52可以將秘鑰信息存儲在自己的秘鑰寄存器中。加密引擎模塊52所使用的秘鑰受控于TEE系統(tǒng),由TEE為其提供秘鑰保存管理等。
所述秘鑰管理模塊51,用于接接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;
其中,所述秘鑰管理模塊具體用于:根據(jù)用戶輸入的加密信息和隨機鹽值,通過HASH算法,確定加密密文。
所述裝置還包括安全存儲模塊53,用于存儲所述加密密文以及所述加密后的秘鑰。
本發(fā)明實施例中,所述安全存儲模塊53位于TEE環(huán)境中。用于對磁盤秘鑰、HUK值等敏感信息進(jìn)行保存。所述安全存儲模塊53的接口直接連接秘鑰管理模塊51,僅能被秘鑰管理模塊51讀取。HUK值為硬件設(shè)備的可信根,作為每個硬件設(shè)備獨一無二的標(biāo)識,在芯片工廠階段被燒寫進(jìn)非易失性存儲器中。
其中,所述用戶輸入的加密信息即用戶輸入的密碼信息,具體的,在用戶設(shè)置密碼的用戶密碼的過程中,所述秘鑰管理模塊51首先接收用戶輸入的加密信息,即用戶設(shè)置的密碼,然后在接收到的用戶輸入的加密信息中加入隨機鹽值進(jìn)行混淆,隨機鹽值的長度可以和HASH的輸出數(shù)據(jù)長度一樣長。這里,所述秘鑰管理模塊51在相同的加密信息加入相同的鹽值,不同的加密信息加入不同鹽值,確保使用非固定鹽值。在用戶用輸入的加密信息中加入鹽值后經(jīng)HASH算法(如SHA、MD5等)加密生成加密密文,所述加密密文即為即HASH值。所述加密密文用來對磁盤秘鑰進(jìn)行加密及后續(xù)解密過程中對用戶輸入的解密信息進(jìn)行驗證,然后將所述加密密文進(jìn)行存儲,而用戶輸入的加密信息不進(jìn)行保存。這樣即使不法用戶獲得系統(tǒng)中HASH值其反向破解難度也是極大的。
所述秘鑰管理模塊51,還用于生成磁盤秘鑰,并根據(jù)所述加密密文,對磁盤秘鑰進(jìn)行加密;
其中,所述秘鑰管理模塊51具體用于:根據(jù)HUK值派生磁盤秘鑰。其中,所述磁盤秘鑰用于對數(shù)據(jù)進(jìn)行加密和解密。
所述安全存儲模塊53還用于存儲所述加密后的密文。
本發(fā)明實施例中,所述秘鑰管理模塊51根據(jù)設(shè)備本身的HUK值派生出磁盤秘鑰,從而可確保每臺設(shè)備磁盤秘鑰的獨一無二性,并利用上述密文對所述磁盤秘鑰進(jìn)行加密然后進(jìn)行保存。
所述加密引擎模塊52,用于通過所述磁盤秘鑰,對進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行加密。
本發(fā)明實施例中,所述加密引擎模塊52獲取TEE環(huán)境中秘鑰管理模塊51 生成的秘鑰,直接對REE環(huán)境中的、經(jīng)過存儲設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲設(shè)備的數(shù)據(jù)進(jìn)行實時加解密,無需再將數(shù)據(jù)其搬運至內(nèi)存等。在進(jìn)行加密的過程中其可以將秘鑰信息存儲在REE環(huán)境中的秘鑰寄存器中。
發(fā)明實施例中,當(dāng)用戶需要對加密后的數(shù)據(jù)進(jìn)行解密時,所述秘鑰管理模塊51還用于:接收用戶輸入的解密信息,根據(jù)所述解密信息,確定解密密文;
判斷所述解密密文是否與存儲的加密密文相同,當(dāng)所述解密密文與存儲的加密密文不相同時,解密失敗,提示用戶密碼錯誤;當(dāng)所述解密密文與存儲的加密密文相同時,通過所述解密密文,對所述磁盤秘鑰進(jìn)行解密,獲得所述磁盤秘鑰;
其中,所述秘鑰管理模塊51具體用于:根據(jù)用戶輸入的解密信息和隨機鹽值,通過HASH算法加密,確定解密密文。
所述秘鑰管理模塊51在生成加密密文和解密密文的過程中,相同的加密信息和解密信息使用相同的隨機鹽值,不同的加密信息和解密信息使用不同的隨機鹽值。
具體的,當(dāng)用戶用需要對數(shù)據(jù)進(jìn)行解密時,所述秘鑰管理模塊51接收用戶輸入的解密信息,即用戶輸入的密碼,將接收到的用戶輸入的解密信息使用相應(yīng)的鹽值對其進(jìn)行混淆,同時使用和加密過程相同的HASH算法對其加密得到解密密文,其中,所述解密密文即為HASH值,然后判斷所述解密密文(HASH值)與系統(tǒng)中保存的加密密文(HASH值)是否相同,當(dāng)所述解密密文與存儲的加密密文不相同時,解密失敗,提示用戶密碼錯誤;當(dāng)所述解密密文與系統(tǒng)中保存的加密密文相同時,認(rèn)為驗證通過,通過所述解密密文對磁盤秘鑰解密獲取磁盤秘鑰,從而實現(xiàn)對用戶密碼進(jìn)行驗證。
所述加密引擎模塊52,還用于通過所述磁盤秘鑰,對取出存儲設(shè)備的數(shù)據(jù)進(jìn)行解密。
在數(shù)據(jù)加密的過程中,用戶輸入的加密信息為用戶設(shè)置的加密密碼;在數(shù)據(jù)解密的過程中,用戶輸入的解密信息為用戶輸入的解密密碼。
本發(fā)明實施例還提供了一種移動終端,其所述移動終端包括圖5所述數(shù)據(jù) 加密裝置。
本發(fā)明實施例所述數(shù)據(jù)加密方法、裝置及移動終端,秘鑰保存在可信執(zhí)行環(huán)境TEE中并經(jīng)用戶輸入的加密信息進(jìn)行加密,REE環(huán)境及其第三方應(yīng)用無法獲取,安全性大大提高,從而提高了整個終端設(shè)備數(shù)據(jù)的安全性;加密引擎模塊采用In-Line的架構(gòu)方式內(nèi)置于存儲設(shè)備和系統(tǒng)總線之間,減少了數(shù)據(jù)搬運過程從而大幅提高加密速度和效率,降低系統(tǒng)功耗。磁盤秘鑰根據(jù)每個設(shè)備的HUK值生成必然不同,即使使用相同的加解密系統(tǒng)和算法也極難對其進(jìn)行破解。
如此,一方面提升現(xiàn)有數(shù)據(jù)加密的安全性;另一方面大幅提高數(shù)據(jù)加密效率和速度,減少數(shù)據(jù)搬運次數(shù)從而降低功耗解放CPU等;并且能夠為終端設(shè)備提供實時的數(shù)據(jù)加密服務(wù)。能滿足用戶對數(shù)據(jù)進(jìn)行隱私保護的需求且即使手機丟失或被盜后仍能防范隱私不被泄露的風(fēng)險。
圖5中所示的數(shù)據(jù)加密裝置中的各處理模塊的實現(xiàn)功能,可參照前述數(shù)據(jù)加密方法的相關(guān)描述而理解。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖3所示的數(shù)據(jù)加密裝置中各處理模塊的功能可通過運行于處理器上的程序而實現(xiàn),也可通過具體的邏輯電路而實現(xiàn),比如:可由中央處理器(CPU)、微處理器(MPU)、數(shù)字信號處理器(DSP)、或現(xiàn)場可編程門陣列(FPGA)實現(xiàn)。
在本發(fā)明所提供的幾個實施例中,應(yīng)該理解到,所揭露的方法及裝置,可以通過其他的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個模塊或組件可以結(jié)合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的通信連接可以是通過一些接口,設(shè)備或模塊的間接耦合或通信連接,可以是電性的、機械的或其他形式的。
上述作為分離部件說明的模塊可以是、或也可以不是物理上分開的,作為模塊顯示的部件可以是、或也可以不是物理模塊,即可以位于一個地方,也可以分布到多個網(wǎng)絡(luò)模塊上;可以根據(jù)實際的需要選擇其中的部分或全部模塊來 實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各實施例中的各功能模塊可以全部集成在一個處理模塊中,也可以是各模塊分別單獨作為一個模塊,也可以兩個或兩個以上模塊集成在一個模塊中;上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能模塊的形式實現(xiàn)。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:移動存儲設(shè)備、只讀存儲器(ROM,Read-Only Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
或者,本發(fā)明實施例上述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:移動存儲設(shè)備、ROM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
本發(fā)明是實例中記載的數(shù)據(jù)加密方法、裝置只以上述實施例為例,但不僅限于此,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。