两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)加密方法、裝置及移動(dòng)終端與流程

文檔序號(hào):12123356閱讀:451來(lái)源:國(guó)知局
一種數(shù)據(jù)加密方法、裝置及移動(dòng)終端與流程

本發(fā)明涉及數(shù)據(jù)加密技術(shù),尤其涉及一種高級(jí)別數(shù)據(jù)加密方法、裝置及移動(dòng)終端。



背景技術(shù):

隨著智能移動(dòng)終端的普及,移動(dòng)終端的存儲(chǔ)設(shè)備上上存儲(chǔ)了越來(lái)越多的私人數(shù)據(jù),如賬戶信息、聯(lián)系人信息、照片等。一旦移動(dòng)終端因丟失或被盜被其他人獲得,會(huì)給用戶造成較大損失。因此,在移動(dòng)終端廣泛使用的今天,對(duì)移動(dòng)終端中存儲(chǔ)的數(shù)據(jù)進(jìn)行加密變得非常必要。

現(xiàn)有的移動(dòng)終端數(shù)據(jù)加密方法一定程度上能夠保護(hù)移動(dòng)終端上的私人數(shù)據(jù),但同時(shí)也都存在一定的漏洞和缺點(diǎn):如,1)數(shù)據(jù)磁盤秘鑰仍然保存在被加密文件的分區(qū),因而容易被獲取破解,導(dǎo)致數(shù)據(jù)不夠安全;2)數(shù)據(jù)加密過(guò)程中需要將加密數(shù)據(jù)需要先搬運(yùn)至內(nèi)存然后由加密引擎讀取進(jìn)行加密,加密后再寫回內(nèi)存,最后將加密數(shù)據(jù)寫到存儲(chǔ)設(shè)備,過(guò)程繁瑣效率低下,速度慢效率低。

可見(jiàn),現(xiàn)有的數(shù)據(jù)加密方法不僅安全性不夠高,而且加密效率較低,影響了用戶體驗(yàn),增加系統(tǒng)功耗。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例期望提供一種數(shù)據(jù)加密方法、裝置及移動(dòng)終端,能夠提高數(shù)據(jù)加密的效率和安全性。

為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:

本發(fā)明實(shí)施例提供了一種數(shù)據(jù)加密方法,所述方法包括:

接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;

生成磁盤秘鑰,并根據(jù)所述加密密文,對(duì)磁盤秘鑰進(jìn)行加密;

通過(guò)所述磁盤秘鑰,對(duì)進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密。

上述方案中,所述根據(jù)加密信息確定加密密文包括:根據(jù)用戶輸入的加密信息和隨機(jī)鹽值,通過(guò)HASH算法,確定加密密文。

上述方案中,所述生成磁盤秘鑰包括:根據(jù)HUK值派生磁盤秘鑰。

上述方案中,所述方法還包括:

存儲(chǔ)所述加密密文以及所述加密后的秘鑰。

上述方案中,所述方法還包括:

接收用戶輸入的解密信息,根據(jù)所述解密信息,確定解密密文;

當(dāng)所述解密密文與存儲(chǔ)的加密密文相同時(shí),通過(guò)所述解密密文,對(duì)所述磁盤秘鑰進(jìn)行解密,獲得所述磁盤秘鑰;

通過(guò)所述磁盤秘鑰,對(duì)取出存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行解密。

上述方案中,所述根據(jù)解密信息確定解密密文包括:根據(jù)用戶輸入的解密信息和隨機(jī)鹽值,通過(guò)HASH算法加密,確定解密密文。

上述方案中,所述方法還包括:相同的加密信息和解密信息使用相同的隨機(jī)鹽值,不同的加密信息和解密信息使用不同的隨機(jī)鹽值。

本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)加密裝置,所述裝置包括:秘鑰管理模塊、加密引擎模塊,其中,

所述秘鑰管理模塊,用于接接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;生成磁盤秘鑰,并根據(jù)所述加密密文,對(duì)磁盤秘鑰進(jìn)行加密;

所述加密引擎模塊,用于通過(guò)所述磁盤秘鑰,對(duì)進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密。

上述方案中,所述秘鑰管理模塊具體用于:根據(jù)用戶輸入的加密信息和隨機(jī)鹽值,通過(guò)HASH算法,確定加密密文。

上述方案中,所述秘鑰管理模塊具體用于:根據(jù)HUK值派生磁盤秘鑰。

上述方案中,所述裝置還包括安全存儲(chǔ)模塊,用于存儲(chǔ)所述加密密文以及所述加密后的秘鑰。

上述方案中,所述秘鑰管理模塊還用于:接收用戶輸入的解密信息,根據(jù) 所述解密信息,確定解密密文;

當(dāng)所述解密密文與存儲(chǔ)的加密密文相同時(shí),通過(guò)所述解密密文,對(duì)所述磁盤秘鑰進(jìn)行解密,獲得所述磁盤秘鑰;

所述加密引擎模塊,還用于通過(guò)所述磁盤秘鑰,對(duì)取出存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行解密。

上述方案中,所述秘鑰管理模塊具體用于:根據(jù)用戶輸入的解密信息和隨機(jī)鹽值,通過(guò)HASH算法加密,確定解密密文。

上述方案中,所述秘鑰管理模塊具體用于:相同的加密信息和解密信息使用相同的隨機(jī)鹽值,不同的加密信息和解密信息使用不同的隨機(jī)鹽值。

本發(fā)明實(shí)施例還提供了一種移動(dòng)終端,所述移動(dòng)終端包括上述數(shù)據(jù)加密裝置。

本發(fā)明實(shí)施例所提供的數(shù)據(jù)加密方法,包括:接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;生成磁盤秘鑰,并根據(jù)所述加密密文,對(duì)磁盤秘鑰進(jìn)行加密;通過(guò)所述磁盤秘鑰,對(duì)進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密。如此,無(wú)需將被加密數(shù)據(jù)反復(fù)在內(nèi)存和存儲(chǔ)設(shè)備之間反復(fù)搬運(yùn),能夠直接對(duì)經(jīng)由存儲(chǔ)器通道的數(shù)據(jù)進(jìn)行加密,大大簡(jiǎn)化了加密流程和步驟,同時(shí)提高了效率降低系統(tǒng)功耗。同時(shí),磁盤秘鑰生成和加密過(guò)程與使用過(guò)程分離,從而提高了整個(gè)終端設(shè)備數(shù)據(jù)的安全性。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例一數(shù)據(jù)加密方法流程示意圖;

圖2為本發(fā)明實(shí)施例二數(shù)據(jù)加密方法流程示意圖;

圖3為本發(fā)明實(shí)施例三數(shù)據(jù)加密方法流程示意圖;

圖4為本發(fā)明實(shí)施例數(shù)據(jù)解密方法流程示意圖;

圖5為本發(fā)明實(shí)施例數(shù)據(jù)加密裝置結(jié)構(gòu)示意圖。

具體實(shí)施方式

本發(fā)明實(shí)施例中,先接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;再根據(jù)所述加密密文,對(duì)磁盤秘鑰進(jìn)行加密;之后通過(guò)所述磁盤秘鑰,對(duì)進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密。其中,所述進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)為經(jīng)過(guò)存儲(chǔ)設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)。

本發(fā)明實(shí)施例所述數(shù)據(jù)加密方法涉及可信執(zhí)行環(huán)境(TEE,Trusted Execution Environment)和常規(guī)操作系統(tǒng)環(huán)境(REE,Rich Execution Environment)(如Android等),其中,確定加密密文以及生成磁盤秘鑰、對(duì)磁盤密鑰進(jìn)行加密的過(guò)程在TEE中執(zhí)行,對(duì)進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密的過(guò)程在REE中執(zhí)行。從而實(shí)現(xiàn)對(duì)經(jīng)過(guò)存儲(chǔ)設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密。對(duì)數(shù)據(jù)進(jìn)行加密的秘鑰來(lái)源于TEE系統(tǒng),由TEE為其提供秘鑰保存管理。

本發(fā)明實(shí)施例中,TEE系統(tǒng)可基于TrustZone技術(shù)構(gòu)建,與設(shè)備上的主OS(如Android中的REE)是平行關(guān)系。TEE和主OS(如REE)是兩個(gè)隔離的環(huán)境,兩者通過(guò)規(guī)范好的固定接口進(jìn)行通信,REE環(huán)境及其上運(yùn)行的應(yīng)用程序無(wú)法訪問(wèn)觸及到TEE環(huán)境的資源,TEE上僅運(yùn)行安全可信的程序,從而確保了TEE環(huán)境的安全可靠性同時(shí)也可防止惡意軟件的攻擊。

相對(duì)于傳統(tǒng)的數(shù)據(jù)加密方法,無(wú)需將被加密數(shù)據(jù)反復(fù)在內(nèi)存和存儲(chǔ)設(shè)備之間反復(fù)搬運(yùn),能夠直接對(duì)經(jīng)由存儲(chǔ)器通道的數(shù)據(jù)進(jìn)行加密,加密過(guò)程不需要CPU參與,大大簡(jiǎn)化了加密流程和步驟,同時(shí)提高了效率降低系統(tǒng)功耗。同時(shí),磁盤秘鑰生成和保存在安全環(huán)境TEE中,REE及第三方應(yīng)用無(wú)法觸及到,安全性大大提高,從而提高了整個(gè)終端設(shè)備數(shù)據(jù)的安全性。

下面結(jié)合附圖及具體實(shí)施例,對(duì)本發(fā)明技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述。圖1為本發(fā)明實(shí)施例一數(shù)據(jù)加密方法流程示意圖,如圖1所示,本實(shí)施例數(shù)據(jù)加密方法包括以下步驟:

步驟101:接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;

其中,所述根據(jù)所述加密信息,確定加密密文包括:根據(jù)用戶輸入的加密 信息和隨機(jī)鹽值,通過(guò)HASH算法,確定加密密文;并將所述加密密文進(jìn)行存儲(chǔ);

其中,所述用戶輸入的加密信息即用戶輸入的密碼信息,具體的,在用戶設(shè)置用戶密碼的過(guò)程中,首先接收用戶輸入的加密信息,即用戶設(shè)置的密碼,然后在接收到的用戶輸入的加密信息中加入隨機(jī)鹽值進(jìn)行混淆,隨機(jī)鹽值的長(zhǎng)度可以和HASH的輸出數(shù)據(jù)長(zhǎng)度一樣長(zhǎng)。這里,相同的加密信息加入相同的鹽值,不同的加密信息加入不同鹽值,確保使用非固定鹽值。在用戶用輸入的加密信息中加入鹽值后經(jīng)HASH算法(如SHA、MD5等)加密生成加密密文,所述加密密文即為即HASH值。所述加密密文用來(lái)對(duì)磁盤秘鑰進(jìn)行加密及后續(xù)解密過(guò)程中對(duì)用戶輸入的解密信息進(jìn)行驗(yàn)證,然后將所述加密密文進(jìn)行存儲(chǔ),而用戶輸入的加密信息不進(jìn)行保存。這樣即使不法用戶獲得系統(tǒng)中HASH值其反向破解難度也是極大的。

步驟102:生成磁盤秘鑰,并根據(jù)所述加密密文,對(duì)磁盤秘鑰進(jìn)行加密;

本發(fā)明實(shí)施例中,所述生成磁盤秘鑰包括:根據(jù)HUK(Hardware Unique Key)值派生磁盤秘鑰;其中,所述磁盤秘鑰用于對(duì)數(shù)據(jù)進(jìn)行加密和解密。HUK值為硬件設(shè)備的可信根,作為每個(gè)硬件設(shè)備獨(dú)一無(wú)二的標(biāo)識(shí),在芯片工廠階段被燒寫進(jìn)非易失性存儲(chǔ)器中。

本發(fā)明實(shí)施例中,所述方法還包括:存儲(chǔ)所述加密后的密文。

本發(fā)明實(shí)施例中,根據(jù)設(shè)備本身的HUK值派生出磁盤秘鑰,從而可確保每臺(tái)設(shè)備磁盤秘鑰的獨(dú)一無(wú)二性,并利用上述密文對(duì)所述磁盤秘鑰進(jìn)行加密然后進(jìn)行保存。

步驟103:通過(guò)所述磁盤秘鑰,對(duì)進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密。

本發(fā)明實(shí)施例中,獲取TEE環(huán)境中生成的秘鑰,直接對(duì)REE環(huán)境中的、經(jīng)過(guò)存儲(chǔ)設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行實(shí)時(shí)加解密,無(wú)需再將數(shù)據(jù)其搬運(yùn)至內(nèi)存。在進(jìn)行加密的過(guò)程中其可以將秘鑰信息存儲(chǔ)在REE環(huán)境中的秘鑰寄存器中。

本發(fā)明實(shí)施例中,當(dāng)用戶需要對(duì)加密后的數(shù)據(jù)進(jìn)行解密時(shí),所述方法還包 括:接收用戶輸入的解密信息,根據(jù)所述解密信息,確定解密密文;判斷所述解密密文是否與存儲(chǔ)的加密密文相同,當(dāng)所述解密密文與存儲(chǔ)的加密密文不相同時(shí),解密失敗,提示用戶密碼錯(cuò)誤;當(dāng)所述解密密文與存儲(chǔ)的加密密文相同時(shí),通過(guò)所述解密密文,對(duì)所述磁盤秘鑰進(jìn)行解密,獲得所述磁盤秘鑰;通過(guò)所述磁盤秘鑰,對(duì)取出存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行解密。

其中,所述根據(jù)解密信息確定解密密文包括:根據(jù)用戶輸入的解密信息和隨機(jī)鹽值,通過(guò)HASH算法加密,確定解密密文。

在生成加密密文和解密密文的過(guò)程中,相同的加密信息和解密信息使用相同的隨機(jī)鹽值,不同的加密信息和解密信息使用不同的隨機(jī)鹽值。這樣使用非固定鹽值進(jìn)一步增加暴力破解難度。

具體的,當(dāng)用戶用需要對(duì)數(shù)據(jù)進(jìn)行解密時(shí),接收用戶輸入的解密信息,即用戶輸入的密碼,將接收到的用戶輸入的解密信息使用相應(yīng)的鹽值對(duì)其進(jìn)行混淆,同時(shí)使用和加密過(guò)程相同的HASH算法對(duì)其加密得到解密密文,其中,所述解密密文即為HASH值,然后判斷所述解密密文(HASH值)與系統(tǒng)中保存的加密密文(HASH值)是否相同,當(dāng)所述解密密文與存儲(chǔ)的加密密文不相同時(shí),解密失敗,提示用戶密碼錯(cuò)誤;當(dāng)所述解密密文與系統(tǒng)中保存的加密密文相同時(shí),認(rèn)為驗(yàn)證通過(guò),通過(guò)所述解密密文對(duì)磁盤秘鑰解密獲取磁盤秘鑰,從而實(shí)現(xiàn)對(duì)用戶密碼進(jìn)行驗(yàn)證。

在數(shù)據(jù)加密的過(guò)程中,用戶輸入的加密信息為用戶設(shè)置的加密密碼;在數(shù)據(jù)解密的過(guò)程中,用戶輸入的解密信息為用戶輸入的解密密碼。

圖2為本發(fā)明實(shí)施例二數(shù)據(jù)加密方法流程示意圖,如圖2所示,本發(fā)明實(shí)施例二所述數(shù)據(jù)加密方法為用戶在終端上首次開(kāi)啟磁盤加密功能的過(guò)程,TEE環(huán)境中包括用戶密碼設(shè)置、秘鑰派生等步驟,所述數(shù)據(jù)加密方法首先要求用戶設(shè)置加密信息,然后根據(jù)用戶輸入的加密信息和隨機(jī)鹽值加密得到加密密文,利用該密文對(duì)由設(shè)備HUK值派生出的磁盤秘鑰進(jìn)行加密,并保存加密后的秘鑰,同時(shí)保存所述加密密文。然后REE側(cè)獲取所述磁盤秘鑰,并根據(jù)所述磁盤秘鑰對(duì)磁盤數(shù)據(jù)進(jìn)行加密。具體的,本發(fā)明實(shí)施例二所述數(shù)據(jù)加密方法包括以 下步驟:

步驟201:用戶在開(kāi)啟磁盤加密功能;

其中,用戶可以在“設(shè)置”選項(xiàng)中開(kāi)啟磁盤加密功能;

步驟202:提用戶設(shè)置密碼;

其中,可以通過(guò)界面彈出密碼框的方式提升用戶設(shè)置密碼;

步驟203:接收用戶輸入的密碼,對(duì)用戶密碼加入隨機(jī)鹽值,并進(jìn)行HASH運(yùn)算得到HASH值;

其中,所述HASH值即為加密密文。

步驟204:保存所述HASH值;

步驟205:通過(guò)所述HASH值對(duì)磁盤秘鑰進(jìn)行加密;

步驟206:保存所述加密后的秘鑰;

步驟207:通知REE環(huán)境對(duì)數(shù)據(jù)進(jìn)行加密;

步驟208:通過(guò)固定接口從TEE環(huán)境獲取磁盤秘鑰,對(duì)進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密。

圖3為本發(fā)明實(shí)施例三數(shù)據(jù)加密方法流程示意圖,如圖3所示,本發(fā)明實(shí)施例三所述數(shù)據(jù)加密方法為寫磁盤數(shù)據(jù)的實(shí)時(shí)加密的過(guò)程。REE在獲取磁盤秘鑰后會(huì)將其保存到秘鑰寄存器中供后續(xù)數(shù)據(jù)加解密。在進(jìn)行在正常使用過(guò)程中,會(huì)實(shí)時(shí)對(duì)磁盤寫入數(shù)據(jù)進(jìn)行加密,通過(guò)直接對(duì)經(jīng)過(guò)存儲(chǔ)設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲(chǔ)設(shè)備的磁盤數(shù)據(jù)進(jìn)行加密,減少了數(shù)據(jù)往復(fù)搬運(yùn)內(nèi)存的過(guò)程,提高了加密速度和效率;具體的,本發(fā)明實(shí)施例三所述數(shù)據(jù)加密方法包括以下步驟:

步驟301:CPU對(duì)磁盤數(shù)據(jù)進(jìn)行寫操作;

步驟302:REE通過(guò)固定接口從TEE獲取磁盤秘鑰,并保存到自身的秘鑰寄存器中;所述磁盤秘鑰用于后續(xù)加密過(guò)程;

步驟303:通過(guò)所述磁盤秘鑰對(duì)經(jīng)過(guò)存儲(chǔ)設(shè)備和系統(tǒng)總線之間的、要寫入存儲(chǔ)設(shè)備的磁盤數(shù)據(jù)要進(jìn)行加密。

步驟304:將加密后數(shù)據(jù)發(fā)送給存儲(chǔ)設(shè)備進(jìn)行存儲(chǔ)。

圖4為本發(fā)明實(shí)施例數(shù)據(jù)解密方法流程示意圖,如圖4所示,本發(fā)明實(shí)施 例所述數(shù)據(jù)解密方法為讀磁盤數(shù)據(jù)的實(shí)時(shí)解密的過(guò)程。REE在獲取磁盤秘鑰后會(huì)將其保存到秘鑰寄存器中供后續(xù)數(shù)據(jù)加解密。在進(jìn)行在正常使用過(guò)程中,會(huì)實(shí)時(shí)對(duì)磁盤讀出數(shù)據(jù)進(jìn)行解密,通過(guò)直接對(duì)經(jīng)過(guò)存儲(chǔ)設(shè)備和系統(tǒng)總線之間的、讀出存儲(chǔ)設(shè)備的磁盤數(shù)據(jù)進(jìn)行解密,減少了數(shù)據(jù)往復(fù)搬運(yùn)內(nèi)存的過(guò)程,提高了解密速度和效率;具體的,本發(fā)明實(shí)施例四所述數(shù)據(jù)解密方法包括以下步驟:

步驟401:CPU對(duì)磁盤數(shù)據(jù)進(jìn)行讀操作;

步驟402:REE通過(guò)固定接口從TEE獲取磁盤秘鑰,并保存到自身的秘鑰寄存器中;所述磁盤秘鑰用于后續(xù)解密過(guò)程;

步驟403:通過(guò)所述磁盤秘鑰對(duì)經(jīng)過(guò)存儲(chǔ)設(shè)備和系統(tǒng)總線之間的、要讀出存儲(chǔ)設(shè)備的磁盤數(shù)據(jù)要進(jìn)行解密。

步驟404:將解密后數(shù)據(jù)發(fā)送給CPU。系統(tǒng)總線

本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)加密裝置,圖5為本發(fā)明實(shí)施例數(shù)據(jù)加密裝置結(jié)構(gòu)示意圖,如圖5所示,所述裝置包括:秘鑰管理模塊51、加密引擎模塊52,其中,所述裝置涉及TEE和REE,秘鑰管理模塊51位于TEE中,對(duì)加密引擎模塊52位于REE中。TEE中的秘鑰管理模塊51具有秘鑰派生,秘鑰加密解密,解密信息驗(yàn)證等功能;REE中的加密引擎模塊52采用In-Line的架構(gòu)方式,即在現(xiàn)有的智能移動(dòng)終端硬件方案架構(gòu)中將加密引擎模塊52內(nèi)置于存儲(chǔ)設(shè)備和系統(tǒng)總線之間,為存儲(chǔ)管理器獨(dú)立擁有。對(duì)進(jìn)出存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行實(shí)時(shí)加密和解密,無(wú)需再將進(jìn)行加密和解密的數(shù)據(jù)搬運(yùn)到內(nèi)存,如圖5所示,所述加密引擎模塊52和秘鑰管理模塊51直接連接通信,從秘鑰管理模塊51獲取密鑰信息,在正常工作過(guò)程中,所述加密引擎模塊52可以將秘鑰信息存儲(chǔ)在自己的秘鑰寄存器中。加密引擎模塊52所使用的秘鑰受控于TEE系統(tǒng),由TEE為其提供秘鑰保存管理等。

所述秘鑰管理模塊51,用于接接收用戶輸入的加密信息,根據(jù)所述加密信息,確定加密密文;

其中,所述秘鑰管理模塊具體用于:根據(jù)用戶輸入的加密信息和隨機(jī)鹽值,通過(guò)HASH算法,確定加密密文。

所述裝置還包括安全存儲(chǔ)模塊53,用于存儲(chǔ)所述加密密文以及所述加密后的秘鑰。

本發(fā)明實(shí)施例中,所述安全存儲(chǔ)模塊53位于TEE環(huán)境中。用于對(duì)磁盤秘鑰、HUK值等敏感信息進(jìn)行保存。所述安全存儲(chǔ)模塊53的接口直接連接秘鑰管理模塊51,僅能被秘鑰管理模塊51讀取。HUK值為硬件設(shè)備的可信根,作為每個(gè)硬件設(shè)備獨(dú)一無(wú)二的標(biāo)識(shí),在芯片工廠階段被燒寫進(jìn)非易失性存儲(chǔ)器中。

其中,所述用戶輸入的加密信息即用戶輸入的密碼信息,具體的,在用戶設(shè)置密碼的用戶密碼的過(guò)程中,所述秘鑰管理模塊51首先接收用戶輸入的加密信息,即用戶設(shè)置的密碼,然后在接收到的用戶輸入的加密信息中加入隨機(jī)鹽值進(jìn)行混淆,隨機(jī)鹽值的長(zhǎng)度可以和HASH的輸出數(shù)據(jù)長(zhǎng)度一樣長(zhǎng)。這里,所述秘鑰管理模塊51在相同的加密信息加入相同的鹽值,不同的加密信息加入不同鹽值,確保使用非固定鹽值。在用戶用輸入的加密信息中加入鹽值后經(jīng)HASH算法(如SHA、MD5等)加密生成加密密文,所述加密密文即為即HASH值。所述加密密文用來(lái)對(duì)磁盤秘鑰進(jìn)行加密及后續(xù)解密過(guò)程中對(duì)用戶輸入的解密信息進(jìn)行驗(yàn)證,然后將所述加密密文進(jìn)行存儲(chǔ),而用戶輸入的加密信息不進(jìn)行保存。這樣即使不法用戶獲得系統(tǒng)中HASH值其反向破解難度也是極大的。

所述秘鑰管理模塊51,還用于生成磁盤秘鑰,并根據(jù)所述加密密文,對(duì)磁盤秘鑰進(jìn)行加密;

其中,所述秘鑰管理模塊51具體用于:根據(jù)HUK值派生磁盤秘鑰。其中,所述磁盤秘鑰用于對(duì)數(shù)據(jù)進(jìn)行加密和解密。

所述安全存儲(chǔ)模塊53還用于存儲(chǔ)所述加密后的密文。

本發(fā)明實(shí)施例中,所述秘鑰管理模塊51根據(jù)設(shè)備本身的HUK值派生出磁盤秘鑰,從而可確保每臺(tái)設(shè)備磁盤秘鑰的獨(dú)一無(wú)二性,并利用上述密文對(duì)所述磁盤秘鑰進(jìn)行加密然后進(jìn)行保存。

所述加密引擎模塊52,用于通過(guò)所述磁盤秘鑰,對(duì)進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行加密。

本發(fā)明實(shí)施例中,所述加密引擎模塊52獲取TEE環(huán)境中秘鑰管理模塊51 生成的秘鑰,直接對(duì)REE環(huán)境中的、經(jīng)過(guò)存儲(chǔ)設(shè)備和系統(tǒng)總線之間的、進(jìn)入存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行實(shí)時(shí)加解密,無(wú)需再將數(shù)據(jù)其搬運(yùn)至內(nèi)存等。在進(jìn)行加密的過(guò)程中其可以將秘鑰信息存儲(chǔ)在REE環(huán)境中的秘鑰寄存器中。

發(fā)明實(shí)施例中,當(dāng)用戶需要對(duì)加密后的數(shù)據(jù)進(jìn)行解密時(shí),所述秘鑰管理模塊51還用于:接收用戶輸入的解密信息,根據(jù)所述解密信息,確定解密密文;

判斷所述解密密文是否與存儲(chǔ)的加密密文相同,當(dāng)所述解密密文與存儲(chǔ)的加密密文不相同時(shí),解密失敗,提示用戶密碼錯(cuò)誤;當(dāng)所述解密密文與存儲(chǔ)的加密密文相同時(shí),通過(guò)所述解密密文,對(duì)所述磁盤秘鑰進(jìn)行解密,獲得所述磁盤秘鑰;

其中,所述秘鑰管理模塊51具體用于:根據(jù)用戶輸入的解密信息和隨機(jī)鹽值,通過(guò)HASH算法加密,確定解密密文。

所述秘鑰管理模塊51在生成加密密文和解密密文的過(guò)程中,相同的加密信息和解密信息使用相同的隨機(jī)鹽值,不同的加密信息和解密信息使用不同的隨機(jī)鹽值。

具體的,當(dāng)用戶用需要對(duì)數(shù)據(jù)進(jìn)行解密時(shí),所述秘鑰管理模塊51接收用戶輸入的解密信息,即用戶輸入的密碼,將接收到的用戶輸入的解密信息使用相應(yīng)的鹽值對(duì)其進(jìn)行混淆,同時(shí)使用和加密過(guò)程相同的HASH算法對(duì)其加密得到解密密文,其中,所述解密密文即為HASH值,然后判斷所述解密密文(HASH值)與系統(tǒng)中保存的加密密文(HASH值)是否相同,當(dāng)所述解密密文與存儲(chǔ)的加密密文不相同時(shí),解密失敗,提示用戶密碼錯(cuò)誤;當(dāng)所述解密密文與系統(tǒng)中保存的加密密文相同時(shí),認(rèn)為驗(yàn)證通過(guò),通過(guò)所述解密密文對(duì)磁盤秘鑰解密獲取磁盤秘鑰,從而實(shí)現(xiàn)對(duì)用戶密碼進(jìn)行驗(yàn)證。

所述加密引擎模塊52,還用于通過(guò)所述磁盤秘鑰,對(duì)取出存儲(chǔ)設(shè)備的數(shù)據(jù)進(jìn)行解密。

在數(shù)據(jù)加密的過(guò)程中,用戶輸入的加密信息為用戶設(shè)置的加密密碼;在數(shù)據(jù)解密的過(guò)程中,用戶輸入的解密信息為用戶輸入的解密密碼。

本發(fā)明實(shí)施例還提供了一種移動(dòng)終端,其所述移動(dòng)終端包括圖5所述數(shù)據(jù) 加密裝置。

本發(fā)明實(shí)施例所述數(shù)據(jù)加密方法、裝置及移動(dòng)終端,秘鑰保存在可信執(zhí)行環(huán)境TEE中并經(jīng)用戶輸入的加密信息進(jìn)行加密,REE環(huán)境及其第三方應(yīng)用無(wú)法獲取,安全性大大提高,從而提高了整個(gè)終端設(shè)備數(shù)據(jù)的安全性;加密引擎模塊采用In-Line的架構(gòu)方式內(nèi)置于存儲(chǔ)設(shè)備和系統(tǒng)總線之間,減少了數(shù)據(jù)搬運(yùn)過(guò)程從而大幅提高加密速度和效率,降低系統(tǒng)功耗。磁盤秘鑰根據(jù)每個(gè)設(shè)備的HUK值生成必然不同,即使使用相同的加解密系統(tǒng)和算法也極難對(duì)其進(jìn)行破解。

如此,一方面提升現(xiàn)有數(shù)據(jù)加密的安全性;另一方面大幅提高數(shù)據(jù)加密效率和速度,減少數(shù)據(jù)搬運(yùn)次數(shù)從而降低功耗解放CPU等;并且能夠?yàn)榻K端設(shè)備提供實(shí)時(shí)的數(shù)據(jù)加密服務(wù)。能滿足用戶對(duì)數(shù)據(jù)進(jìn)行隱私保護(hù)的需求且即使手機(jī)丟失或被盜后仍能防范隱私不被泄露的風(fēng)險(xiǎn)。

圖5中所示的數(shù)據(jù)加密裝置中的各處理模塊的實(shí)現(xiàn)功能,可參照前述數(shù)據(jù)加密方法的相關(guān)描述而理解。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖3所示的數(shù)據(jù)加密裝置中各處理模塊的功能可通過(guò)運(yùn)行于處理器上的程序而實(shí)現(xiàn),也可通過(guò)具體的邏輯電路而實(shí)現(xiàn),比如:可由中央處理器(CPU)、微處理器(MPU)、數(shù)字信號(hào)處理器(DSP)、或現(xiàn)場(chǎng)可編程門陣列(FPGA)實(shí)現(xiàn)。

在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的方法及裝置,可以通過(guò)其他的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,如:多個(gè)模塊或組件可以結(jié)合,或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的通信連接可以是通過(guò)一些接口,設(shè)備或模塊的間接耦合或通信連接,可以是電性的、機(jī)械的或其他形式的。

上述作為分離部件說(shuō)明的模塊可以是、或也可以不是物理上分開(kāi)的,作為模塊顯示的部件可以是、或也可以不是物理模塊,即可以位于一個(gè)地方,也可以分布到多個(gè)網(wǎng)絡(luò)模塊上;可以根據(jù)實(shí)際的需要選擇其中的部分或全部模塊來(lái) 實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各實(shí)施例中的各功能模塊可以全部集成在一個(gè)處理模塊中,也可以是各模塊分別單獨(dú)作為一個(gè)模塊,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)模塊中;上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能模塊的形式實(shí)現(xiàn)。

本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:移動(dòng)存儲(chǔ)設(shè)備、只讀存儲(chǔ)器(ROM,Read-Only Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

或者,本發(fā)明實(shí)施例上述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分。而前述的存儲(chǔ)介質(zhì)包括:移動(dòng)存儲(chǔ)設(shè)備、ROM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

本發(fā)明是實(shí)例中記載的數(shù)據(jù)加密方法、裝置只以上述實(shí)施例為例,但不僅限于此,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
准格尔旗| 正安县| 永修县| 舞阳县| 泰顺县| 海原县| 泰兴市| 长武县| 洛宁县| 商洛市| 嘉荫县| 日土县| 东丽区| 吉水县| 图木舒克市| 岳西县| 天门市| 简阳市| 多伦县| 云和县| 巨野县| 万山特区| 尖扎县| 屏东县| 麻阳| 石河子市| 广宗县| 视频| 静乐县| 英超| 青铜峡市| 民县| 金寨县| 长治县| 平陆县| 鄂尔多斯市| 玉龙| 大邑县| 遂川县| 巴中市| 兰坪|