欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于TrustZone的文件加解密方法、裝置及終端設(shè)備與流程

文檔序號(hào):11677958閱讀:339來(lái)源:國(guó)知局
基于TrustZone的文件加解密方法、裝置及終端設(shè)備與流程

本發(fā)明涉及移動(dòng)終端設(shè)備安全技術(shù)領(lǐng)域,具體而言,涉及一種基于trustzone的文件加解密方法、裝置及終端設(shè)備。



背景技術(shù):

目前,常見(jiàn)的文件加密方案有如下幾種:

(1)基于文件系統(tǒng)的加密方案,如ecryptofs;

(2)基于塊設(shè)備的加密方案,如dm-crypto;

(3)基于文件的加密方案,如各種私有加密方式。

上述的各種文件加密方案采用的均為基于本地密鑰體系進(jìn)行加密的方式,因此充分安全的密鑰鏈?zhǔn)潜WC文件加密安全性的基礎(chǔ),密鑰的保護(hù)需要系統(tǒng)提供可靠的信任根以構(gòu)建牢固的保護(hù)鏈。常見(jiàn)的安全硬件通常提供某種硬件唯一標(biāo)識(shí),或不可擦寫的固化的根密鑰作為系統(tǒng)唯一的信任根。系統(tǒng)內(nèi)的所有其他密鑰直接或間接地根據(jù)信任根派生或進(jìn)行加密保護(hù)。

在所述背景技術(shù)部分公開(kāi)的上述信息僅用于加強(qiáng)對(duì)本發(fā)明的背景的理解,因此它可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。



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

本發(fā)明提供一種基于trustzone的文件加解密方法、裝置及終端設(shè)備,能夠提高文件加密的安全性。

本發(fā)明的其他特性和優(yōu)點(diǎn)將通過(guò)下面的詳細(xì)描述變得顯然,或部分地通過(guò)本發(fā)明的實(shí)踐而習(xí)得。

根據(jù)本發(fā)明的一方面,提供一種基于trustzone的文件加密方法,包括:接收文件的元數(shù)據(jù)加密請(qǐng)求,元數(shù)據(jù)加密請(qǐng)求包括:文件的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密文件的文件密鑰;查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰;通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)加密請(qǐng)求,數(shù)據(jù)加密請(qǐng)求包括:類密鑰及元數(shù)據(jù);可信應(yīng)用程序根據(jù)預(yù)先存儲(chǔ)于可信執(zhí)行環(huán)境中的主密鑰,對(duì)類密鑰進(jìn)行解密;可信應(yīng)用程序根據(jù)解密后的類密鑰,對(duì)元數(shù)據(jù)進(jìn)行加密;以及可信應(yīng)用程序通過(guò)客戶接口,將加密后的元數(shù)據(jù)返回至普通執(zhí)行環(huán)境中存儲(chǔ)。

根據(jù)本發(fā)明的一實(shí)施方式,類密鑰標(biāo)識(shí)與應(yīng)用場(chǎng)景相對(duì)應(yīng);應(yīng)用場(chǎng)景包括:終端設(shè)備啟動(dòng)成功后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功后且合法登錄后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面解除鎖定后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面鎖定時(shí)僅可以寫入。

根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:根據(jù)文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行加密;接收加密后的元數(shù)據(jù);以及將加密后的元數(shù)據(jù)與加密后的文件合并為一個(gè)文件進(jìn)行存儲(chǔ)。

根據(jù)本發(fā)明的一實(shí)施方式,根據(jù)文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行加密包括:將文件劃分為多個(gè)數(shù)據(jù)塊;以及對(duì)多個(gè)數(shù)據(jù)塊獨(dú)立地進(jìn)行加密。

根據(jù)本發(fā)明的一實(shí)施方式,數(shù)據(jù)塊的大小等于操作系統(tǒng)內(nèi)核內(nèi)存頁(yè)的大小乘以2的n次冪,其中n為大于或等于2的正整數(shù)。

根據(jù)本發(fā)明的另一個(gè)方面,提供一種適用于如上述任意一種加密方法的基于trustzone的文件解密方法,包括:接收文件的元數(shù)據(jù)解密請(qǐng)求,元數(shù)據(jù)解密請(qǐng)求包括:文件的待解密的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密文件的文件密鑰;查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰;通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)解密請(qǐng)求,數(shù)據(jù)解密請(qǐng)求包括:類密鑰及待解密的元數(shù)據(jù);可信應(yīng)用程序根據(jù)預(yù)先存儲(chǔ)于可信執(zhí)行環(huán)境中的主密鑰,對(duì)類密鑰進(jìn)行解密;可信應(yīng)用程序根據(jù)解密后的類密鑰,對(duì)元數(shù)據(jù)進(jìn)行解密;以及可信應(yīng)用程序通過(guò)客戶接口,將解密后的元數(shù)據(jù)返回至普通執(zhí)行環(huán)境中。

根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:接收普通執(zhí)行環(huán)境中的客戶應(yīng)用程序發(fā)送的對(duì)文件的操作請(qǐng)求;以及根據(jù)操作請(qǐng)求,發(fā)送文件的元數(shù)據(jù)解密請(qǐng)求。

根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:根據(jù)解密后的元數(shù)據(jù)中的文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行解密;以及

將解密后的文件返回給客戶應(yīng)用程序。

根據(jù)本發(fā)明的一實(shí)施方式,根據(jù)解密后的元數(shù)據(jù)中的文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行解密包括:對(duì)根據(jù)文件劃分出的多個(gè)加密數(shù)據(jù)塊獨(dú)立地進(jìn)行解密。

根據(jù)本發(fā)明的再一個(gè)方面,提供一種基于trustzone的文件加密裝置,包括:加密請(qǐng)求接收模塊,用于接收文件的元數(shù)據(jù)加密請(qǐng)求,元數(shù)據(jù)加密請(qǐng)求包括:文件的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密文件的文件密鑰;第一類密鑰獲取模塊,用于查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰;加密請(qǐng)求模塊,用于通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)加密請(qǐng)求,數(shù)據(jù)加密請(qǐng)求包括:類密鑰及元數(shù)據(jù);第一類密鑰解密模塊,用于通過(guò)可信應(yīng)用程序根據(jù)預(yù)先存儲(chǔ)于可信執(zhí)行環(huán)境中的主密鑰,對(duì)類密鑰進(jìn)行解密;加密執(zhí)行模塊,用于通過(guò)可信應(yīng)用程序根據(jù)解密后的類密鑰,對(duì)元數(shù)據(jù)進(jìn)行加密;以及加密數(shù)據(jù)返回模塊,用于通過(guò)可信應(yīng)用程序通過(guò)客戶接口,將加密后的元數(shù)據(jù)返回至普通執(zhí)行環(huán)境中存儲(chǔ)。

根據(jù)本發(fā)明的一實(shí)施方式,類密鑰標(biāo)識(shí)與應(yīng)用場(chǎng)景相對(duì)應(yīng);應(yīng)用場(chǎng)景包括:終端設(shè)備啟動(dòng)成功后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功后且合法登錄后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面解除鎖定后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面鎖定時(shí)僅可以寫入。

根據(jù)本發(fā)明的一實(shí)施方式,上述裝置還包括:文件加密模塊,用于根據(jù)文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行加密;元數(shù)據(jù)接收模塊,用于接收加密后的元數(shù)據(jù);以及合并存儲(chǔ)模塊,用于將加密后的元數(shù)據(jù)與加密后的文件合并為一個(gè)文件進(jìn)行存儲(chǔ)。

根據(jù)本發(fā)明的一實(shí)施方式,文件加密模塊包括:數(shù)據(jù)塊劃分子模塊,用于將文件劃分為多個(gè)數(shù)據(jù)塊;以及數(shù)據(jù)庫(kù)加密子模塊,用于對(duì)多個(gè)數(shù)據(jù)塊獨(dú)立地進(jìn)行加密。

根據(jù)本發(fā)明的一實(shí)施方式,數(shù)據(jù)塊的大小等于操作系統(tǒng)內(nèi)核內(nèi)存頁(yè)的大小乘以2的n次冪,其中n為大于或等于2的正整數(shù)。

根據(jù)本發(fā)明的再一個(gè)方面,提供一種適用于如上述任意一項(xiàng)的加密裝置的基于trustzone的文件解密裝置,包括:解密請(qǐng)求接收模塊,用于接收文件的元數(shù)據(jù)解密請(qǐng)求,元數(shù)據(jù)解密請(qǐng)求包括:文件的待解密的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密文件的文件密鑰;第二類密鑰獲取模塊,用于查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰;解密請(qǐng)求模塊,用于通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)解密請(qǐng)求,數(shù)據(jù)解密請(qǐng)求包括:類密鑰及待解密的元數(shù)據(jù);第二類密鑰解密模塊,用于通過(guò)可信應(yīng)用程序根據(jù)預(yù)先存儲(chǔ)于可信執(zhí)行環(huán)境中的主密鑰,對(duì)類密鑰進(jìn)行解密;解密執(zhí)行模塊,用于通過(guò)可信應(yīng)用程序根據(jù)解密后的類密鑰,對(duì)元數(shù)據(jù)進(jìn)行解密;以及解密數(shù)據(jù)返回模塊,用于通過(guò)可信應(yīng)用程序通過(guò)客戶接口,將解密后的元數(shù)據(jù)返回至普通執(zhí)行環(huán)境中。

根據(jù)本發(fā)明的一實(shí)施方式,上述裝置還包括:操作請(qǐng)求接收模塊,用于接收普通執(zhí)行環(huán)境中的客戶應(yīng)用程序發(fā)送的對(duì)文件的操作請(qǐng)求;以及解密請(qǐng)求發(fā)送模塊,用于根據(jù)操作請(qǐng)求,發(fā)送文件的元數(shù)據(jù)解密請(qǐng)求。

根據(jù)本發(fā)明的一實(shí)施方式,上述裝置還包括:文件解密模塊,用于根據(jù)解密后的元數(shù)據(jù)中的文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行解密;以及解密文件返回模塊,用于將解密后的文件返回給客戶應(yīng)用程序。

根據(jù)本發(fā)明的一實(shí)施方式,文件解密模塊包括:數(shù)據(jù)塊解密子模塊,用于對(duì)根據(jù)文件劃分出的多個(gè)加密數(shù)據(jù)塊獨(dú)立地進(jìn)行解密。

根據(jù)本發(fā)明的再一個(gè)方面,提供一種終端設(shè)備,包括:處理器;以及存儲(chǔ)器,用于存儲(chǔ)處理器的可執(zhí)行指令;其中處理器配置為經(jīng)由執(zhí)行可執(zhí)行指令來(lái)執(zhí)行如上述任意一項(xiàng)的方法。

根據(jù)本發(fā)明的再一個(gè)方面,提供一種終端設(shè)備,包括:處理器;以及存儲(chǔ)器,用于存儲(chǔ)處理器的可執(zhí)行指令;其中處理器配置為經(jīng)由執(zhí)行可執(zhí)行指令來(lái)執(zhí)行如上述任意一項(xiàng)的方法。

根據(jù)本發(fā)明實(shí)施方式的基于trustzone的文件加密方法,通過(guò)在可信執(zhí)行環(huán)境中對(duì)包含有文件密鑰的元數(shù)據(jù)進(jìn)行加密,并在普通執(zhí)行環(huán)境中存儲(chǔ)文件密鑰的密文,保證了用于加密文件的文件密鑰的安全存儲(chǔ)與使用。

另外,根據(jù)一些實(shí)施例,本發(fā)明實(shí)施方式的基于trustzone的文件加密方法,通過(guò)在可信執(zhí)行環(huán)境中對(duì)文件密鑰進(jìn)行加密,進(jìn)一步增強(qiáng)了文件加密的安全性。此外,通過(guò)在可信執(zhí)行環(huán)境中以單個(gè)文件為邏輯加密單位進(jìn)行加密操作,進(jìn)一步增強(qiáng)了文件的安全性。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本發(fā)明。

附圖說(shuō)明

通過(guò)參照附圖詳細(xì)描述其示例實(shí)施例,本發(fā)明的上述和其它目標(biāo)、特征及優(yōu)點(diǎn)將變得更加顯而易見(jiàn)。

圖1是根據(jù)一示例示出的終端設(shè)備中普通執(zhí)行環(huán)境與可信執(zhí)行的架構(gòu)示意圖。

圖2是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的文件加密方法的流程圖。

圖3是根據(jù)一示例性實(shí)施方式示出的另一種基于trustzone的文件加密方法的流程圖。

圖4是根據(jù)一示例示出的另一種終端設(shè)備中普通執(zhí)行環(huán)境與可信執(zhí)行的架構(gòu)示意圖。

圖5是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的文件解密方法的流程圖。

圖6是根據(jù)一示例性實(shí)施方式示出的另一種基于trustzone的文件解密方法的流程圖。

圖7是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的文件加密裝置的框圖。

圖8是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的文件解密裝置的框圖。

圖9是根據(jù)一示例示出的再一種終端設(shè)備中普通執(zhí)行環(huán)境與可信執(zhí)行的架構(gòu)示意圖。

具體實(shí)施方式

現(xiàn)在將參考附圖更全面地描述示例實(shí)施方式。然而,示例實(shí)施方式能夠以多種形式實(shí)施,且不應(yīng)被理解為限于在此闡述的范例;相反,提供這些實(shí)施方式使得本發(fā)明將更加全面和完整,并將示例實(shí)施方式的構(gòu)思全面地傳達(dá)給本領(lǐng)域的技術(shù)人員。附圖僅為本發(fā)明的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標(biāo)記表示相同或類似的部分,因而將省略對(duì)它們的重復(fù)描述。

此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個(gè)或更多實(shí)施方式中。在下面的描述中,提供許多具體細(xì)節(jié)從而給出對(duì)本發(fā)明的實(shí)施方式的充分理解。然而,本領(lǐng)域技術(shù)人員將意識(shí)到,可以實(shí)踐本發(fā)明的技術(shù)方案而省略所述特定細(xì)節(jié)中的一個(gè)或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細(xì)示出或描述公知結(jié)構(gòu)、方法、裝置、實(shí)現(xiàn)、材料或者操作以避免喧賓奪主而使得本發(fā)明的各方面變得模糊。

trustzone技術(shù)是arm平臺(tái)上的一種可信執(zhí)行環(huán)境(trustedexecutionenvironment,tee)標(biāo)準(zhǔn),其通過(guò)硬件的訪問(wèn)隔離和安全內(nèi)核軟件的配合,提供了在可信執(zhí)行環(huán)境中安全的執(zhí)行部分代碼的能力。基于trustzone硬件隔離技術(shù)所構(gòu)建的可信執(zhí)行環(huán)境將涉及敏感數(shù)據(jù)的應(yīng)用程序分成客戶應(yīng)用程序(clientapp)和可信應(yīng)用程序(trustedapp,ta),客戶應(yīng)用程序在普通執(zhí)行環(huán)境(richexecutionenvironment,ree)中被執(zhí)行以用于處理大部分非敏感業(yè)務(wù),普通執(zhí)行環(huán)境即移動(dòng)終端設(shè)備的普通操作系統(tǒng)(richoperationsystem,richos),而可信應(yīng)用程序在可信執(zhí)行環(huán)境中被執(zhí)行以處理敏感業(yè)務(wù)。普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境相互隔離,運(yùn)行在普通執(zhí)行環(huán)境中的客戶應(yīng)用程序通過(guò)客戶接口(trustzoneclientapi)接入(access)運(yùn)行在可信執(zhí)行環(huán)境中的可信應(yīng)用程序,或通過(guò)該客戶接口與可信應(yīng)用程序交換數(shù)據(jù)。

圖1是根據(jù)一示例示出的終端設(shè)備中普通執(zhí)行環(huán)境與可信執(zhí)行的架構(gòu)示意圖。圖2是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的文件加密方法的流程圖。結(jié)合圖1及圖2,圖2所示的方法10包括:

在步驟s102中,接收文件的元數(shù)據(jù)加密請(qǐng)求。

該元數(shù)據(jù)加密請(qǐng)求包括:文件的元數(shù)據(jù)及類密鑰標(biāo)識(shí)(id)。該元數(shù)據(jù)中包括:用于加密文件的文件密鑰。

例如,由圖1中的加解密存儲(chǔ)服務(wù)接收由文件加密實(shí)現(xiàn)服務(wù)發(fā)送的文件密鑰加密請(qǐng)求。文件加密實(shí)現(xiàn)服務(wù)向加解密存儲(chǔ)服務(wù)發(fā)送該文件密鑰加密請(qǐng)求,請(qǐng)求加解密存儲(chǔ)服務(wù)為包含有用于加密圖1中的數(shù)據(jù)文件的文件密鑰的元數(shù)據(jù)進(jìn)行加密。

加解密存儲(chǔ)服務(wù)及文件加密實(shí)現(xiàn)服務(wù)均可實(shí)現(xiàn)為由至少一個(gè)函數(shù)構(gòu)成的代碼集合,各函數(shù)包括:函數(shù)名稱,函數(shù)調(diào)用信息和函數(shù)實(shí)現(xiàn)中的部分或全部。當(dāng)有多個(gè)函數(shù)時(shí),一個(gè)函數(shù)實(shí)現(xiàn)還可以包括調(diào)用所定義的其他函數(shù)等。

該文件密鑰加密請(qǐng)求例如通過(guò)進(jìn)程間通信(inter-processcommunication,ipc)發(fā)送,如dbus、biner進(jìn)程間通信機(jī)制等。

該文件密鑰加密請(qǐng)求中以參數(shù)形式攜帶上述的元數(shù)據(jù)及類密鑰標(biāo)識(shí)。

在步驟s104中,查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰。

例如,由加解密存儲(chǔ)服務(wù)查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰。在加解密存儲(chǔ)服務(wù)中,存儲(chǔ)有各類密鑰標(biāo)識(shí)所對(duì)應(yīng)的類密鑰,其中各類密鑰為在可信執(zhí)行環(huán)境中使用主密鑰加密后的密文。

在一些實(shí)施例中,類密鑰標(biāo)識(shí)與調(diào)用該數(shù)據(jù)庫(kù)文件的應(yīng)用程序的應(yīng)用場(chǎng)景相對(duì)應(yīng)。應(yīng)用場(chǎng)景例如包括:

1)終端設(shè)備啟動(dòng)成功后可以訪問(wèn):該場(chǎng)景通常用于常駐系統(tǒng)服務(wù)對(duì)加密的需求;

2)終端設(shè)備啟動(dòng)成功后且合法登錄后可以訪問(wèn):該場(chǎng)景通常用于系統(tǒng)服務(wù)和系統(tǒng)應(yīng)用的加密需求;

3)終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面解除鎖定后可以訪問(wèn):該場(chǎng)景通常用于普通客戶應(yīng)用程序的加密需求;或者,

4)終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面鎖定時(shí)僅可以寫入:該場(chǎng)景通常用于常駐應(yīng)用程序的加密需求,如短信、郵件、即時(shí)通信(im)等,需要在用戶界面被鎖定的情況下向系統(tǒng)安全的寫入數(shù)據(jù)。

由于應(yīng)用程序在不同應(yīng)用場(chǎng)景下的安全策略是不同的,應(yīng)用場(chǎng)景每次擇一的選擇上述的一種應(yīng)用場(chǎng)景以確定相應(yīng)的類密鑰,差異化的應(yīng)用場(chǎng)景可以提高應(yīng)用數(shù)據(jù)的安全性。舉例來(lái)說(shuō),如果一個(gè)加密項(xiàng)的策略被設(shè)置為終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面解除鎖定后可以訪問(wèn),則其他時(shí)刻的訪問(wèn)請(qǐng)求會(huì)被拒絕,并且對(duì)應(yīng)的類密鑰也會(huì)被從內(nèi)存中清除出去,從而進(jìn)一步提升了加密的安全性。

密鑰是黑盒加密算法的主要攻擊點(diǎn),因此需要保證密鑰在存儲(chǔ)及使用時(shí)的安全性。存儲(chǔ)的安全性主要是指攻擊者不能夠?qū)ζ溥M(jìn)行讀寫訪問(wèn),使用的安全性主要是指密鑰在內(nèi)存中遭受動(dòng)態(tài)攻擊的可能。在本方法中,為了增強(qiáng)密鑰的安全性,將存儲(chǔ)于普通執(zhí)行環(huán)境中的類密鑰以密文形式存儲(chǔ)。

在一些實(shí)施例中,加解密存儲(chǔ)服務(wù)在初始化過(guò)程中,還需要通過(guò)客戶接口,向可信應(yīng)用程序確認(rèn)該主密鑰是否可用。

在一些實(shí)施例中,在步驟s104之前該方法10還可以進(jìn)一步包括如下步驟:

在步驟1中,加解密存儲(chǔ)服務(wù)通過(guò)客戶接口,向可信應(yīng)用程序發(fā)送各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰。

在步驟2中,可信應(yīng)用程序根據(jù)trustzone上下文中的主密鑰對(duì)各應(yīng)用場(chǎng)景的類密鑰進(jìn)行加密。

在步驟3中,可信應(yīng)用程序通過(guò)客戶接口,將加密后的各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰返回至普通執(zhí)行環(huán)境中的加解密存儲(chǔ)服務(wù)中存儲(chǔ)。

在步驟s106中,通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)加密請(qǐng)求。

該數(shù)據(jù)加密請(qǐng)求包括:類密鑰及元數(shù)據(jù)。

例如,由加解密存儲(chǔ)服務(wù)向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)加密請(qǐng)求,該數(shù)據(jù)加密請(qǐng)求包括:在步驟s102中查找到的類密鑰及元數(shù)據(jù)。

如圖1中所示,在具體實(shí)施時(shí),加解密存儲(chǔ)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)加密存儲(chǔ)服務(wù)與專屬服務(wù)于密鑰加解密的可信應(yīng)用程序之間的調(diào)用,即加密存儲(chǔ)服務(wù)與可信應(yīng)用程序之間的通信服務(wù)。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。

在一些實(shí)施例中,客戶接口采用強(qiáng)制訪問(wèn)控制(mac)權(quán)限管理機(jī)制,如采用selinux訪問(wèn)控制機(jī)制。

selinux是一套基于標(biāo)簽(label)的安全系統(tǒng)。在selinux策略中,通過(guò)標(biāo)簽的設(shè)定來(lái)實(shí)現(xiàn)主體對(duì)客體的控制。其中主體可以為終端設(shè)備中運(yùn)行的每個(gè)進(jìn)程,客體則為系統(tǒng)中的所有資源,包括:文件系統(tǒng)、目錄、文件、文件啟動(dòng)指示符、端口、消息接口和網(wǎng)絡(luò)接口等。每個(gè)進(jìn)程都擁有自己的標(biāo)簽,而每個(gè)客體對(duì)象也都擁有自己的標(biāo)簽。通過(guò)編寫的selinux策略,來(lái)控制進(jìn)程標(biāo)簽可以對(duì)客體對(duì)象標(biāo)簽進(jìn)行訪問(wèn),如文件訪問(wèn)、讀寫及socket操作等。例如,通過(guò)策略配置,允許標(biāo)簽為a的進(jìn)程對(duì)標(biāo)簽為b的客戶接口的調(diào)用,從而保證加密存儲(chǔ)服務(wù)的接口不被任意濫用。

在步驟s108中,可信應(yīng)用程序根據(jù)預(yù)先存儲(chǔ)于可信執(zhí)行環(huán)境中的主密鑰,對(duì)類密鑰進(jìn)行解密。

主密鑰為每個(gè)終端設(shè)備所獨(dú)立擁有的,在可執(zhí)行環(huán)境初始化過(guò)程中,該主密鑰被加載到trustzone的映像文件中,即加載到trustzone的可信執(zhí)行環(huán)境的上下文中。由于該主密鑰被預(yù)埋到可信執(zhí)行環(huán)境中,不會(huì)在普通執(zhí)行環(huán)境中出現(xiàn),因此在普通執(zhí)行環(huán)境中由于無(wú)法獲取該主密鑰而無(wú)法解密類密鑰,從而增強(qiáng)了通過(guò)類密鑰加密的應(yīng)用數(shù)據(jù)的安全性。

在步驟s110中,可信應(yīng)用程序根據(jù)解密后的類密鑰,對(duì)元數(shù)據(jù)進(jìn)行加密。

可信應(yīng)用程序例如可以采用aes(advancedencryptionstandard,高級(jí)加密標(biāo)準(zhǔn))或des(dataencryptionstandard,數(shù)據(jù)加密標(biāo)準(zhǔn))等對(duì)稱加密算法,根據(jù)解密后的類密鑰對(duì)元數(shù)據(jù)進(jìn)行加密,本發(fā)明不以此為限??捎玫募用苣J桨ǎ篶bc(cipherblockchaining,塊狀密碼鏈),ofb(outputfeedback,輸出反饋),cfb(cipherfeedback,加密反饋)。

如圖1所示,可信應(yīng)用程序可以通過(guò)調(diào)用可信執(zhí)行環(huán)境中通用的硬件加密引擎,實(shí)施上述數(shù)據(jù)加密操作。

在步驟s112中,可信應(yīng)用程序通過(guò)客戶接口,將加密后的元數(shù)據(jù)返回至普通執(zhí)行環(huán)境中存儲(chǔ)。

可信應(yīng)用程序完成加密后,通過(guò)客戶接口,向普通執(zhí)行環(huán)境中返回加密后的元數(shù)據(jù)。

根據(jù)本發(fā)明實(shí)施方式的基于trustzone的文件加密方法,通過(guò)在可信執(zhí)行環(huán)境中對(duì)包含有文件密鑰的元數(shù)據(jù)進(jìn)行加密,并在普通執(zhí)行環(huán)境中存儲(chǔ)文件密鑰的密文,保證了用于加密文件的文件密鑰的安全存儲(chǔ)與使用。

應(yīng)清楚地理解,本發(fā)明描述了如何形成和使用特定示例,但本發(fā)明的原理不限于這些示例的任何細(xì)節(jié)。相反,基于本發(fā)明公開(kāi)的內(nèi)容的教導(dǎo),這些原理能夠應(yīng)用于許多其它實(shí)施方式。

圖3是根據(jù)一示例性實(shí)施方式示出的另一種基于trustzone的文件加密方法的流程圖。圖3所示的方法20包括:

在步驟s202中,根據(jù)文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行加密。

例如,可以如圖1所示,文件加密實(shí)現(xiàn)服務(wù)通過(guò)可信執(zhí)行環(huán)境中的可信應(yīng)用程序?qū)崿F(xiàn)對(duì)文件的加密。

文件加密實(shí)現(xiàn)服務(wù)對(duì)數(shù)據(jù)文件的訪問(wèn)接口設(shè)計(jì)為與通用的高級(jí)文件訪問(wèn)接口(區(qū)別于linux或windows系統(tǒng)的底層文件接口)盡量接近,除指定文件口令或加密類的參數(shù)外,基本上加密的細(xì)節(jié)對(duì)用戶透明。

文件加密實(shí)現(xiàn)服務(wù)將待加密的文件發(fā)送給可信應(yīng)用程序,由可信應(yīng)用程序?qū)ξ募M(jìn)行加密。在具體實(shí)施時(shí),文件加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)文件加密實(shí)現(xiàn)服務(wù)與可信應(yīng)用程序之間的調(diào)用,即文件加密實(shí)現(xiàn)服務(wù)與可信應(yīng)用程序之間的通信服務(wù)。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。

可信應(yīng)用程序?qū)υ撐募募用埽且詥蝹€(gè)文件為邏輯加密單位進(jìn)行整體加密,而非任意類型的對(duì)一般性通用數(shù)據(jù)塊、數(shù)據(jù)流的加密,也非常見(jiàn)的基于文件系統(tǒng)或塊設(shè)備的文件加密。

可信應(yīng)用程序例如可以采用aes(advancedencryptionstandard,高級(jí)加密標(biāo)準(zhǔn))或des(dataencryptionstandard,數(shù)據(jù)加密標(biāo)準(zhǔn))等對(duì)稱加密算法,根據(jù)文件密鑰對(duì)文件進(jìn)行加密,本發(fā)明不以此為限。

如圖1所示,可信應(yīng)用程序可以通過(guò)調(diào)用可信執(zhí)行環(huán)境中通用的硬件加密引擎,實(shí)施上述數(shù)據(jù)加密操作。

在一些實(shí)施例中,為了在系統(tǒng)性能和安全性之間取得平衡,可信應(yīng)用程序可以將文件劃分為多個(gè)數(shù)據(jù)塊,并對(duì)多個(gè)數(shù)據(jù)塊獨(dú)立地進(jìn)行加密。各數(shù)據(jù)塊之間并無(wú)關(guān)聯(lián)性,因此可信應(yīng)用程序可以實(shí)現(xiàn)對(duì)多個(gè)數(shù)據(jù)塊的并行加密操作。數(shù)據(jù)塊的大小可以根據(jù)需要進(jìn)行調(diào)整,例如可以移動(dòng)終端設(shè)備操作系統(tǒng)內(nèi)核內(nèi)存頁(yè)的大小乘以2的n次冪,其中n為大于或等于2的正整數(shù)。舉例來(lái)說(shuō),對(duì)于32位操作系統(tǒng),內(nèi)存頁(yè)大小為4kb,則數(shù)據(jù)塊大小可以為16kb、64kb、256kb等;對(duì)于64位操作系統(tǒng),內(nèi)存頁(yè)大小為64kb,則數(shù)據(jù)塊大小可以為128kb、256kb、1024kb等。數(shù)據(jù)塊大小取決于平臺(tái)資源、配置和加密算法的選擇。一般來(lái)講,分塊越大,則串行訪問(wèn)速度越快,例如復(fù)制文件操作;分塊越小,隨機(jī)訪問(wèn)性能越好,例如隨機(jī)讀取與寫入操作。

圖4是根據(jù)一示例示出的另一種終端設(shè)備中普通執(zhí)行環(huán)境與可信執(zhí)行的架構(gòu)示意圖。在一些實(shí)施例中,如圖4所示,文件加密實(shí)現(xiàn)服務(wù)還可以通過(guò)可信執(zhí)行環(huán)境中的第二可信應(yīng)用程序?qū)ξ募M(jìn)行加密。文件加密實(shí)現(xiàn)服務(wù)將待加密的文件與文件密鑰的明文發(fā)送給第二可信應(yīng)用程序,由第二可信應(yīng)用程序?yàn)槲募M(jìn)行加密。在具體實(shí)施時(shí),文件加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)文件加密實(shí)現(xiàn)服務(wù)與第二可信應(yīng)用程序之間的調(diào)用,即文件加密實(shí)現(xiàn)服務(wù)與第二可信應(yīng)用程序之間的通信服務(wù)。而圖4中的第一可信應(yīng)用程序用于實(shí)現(xiàn)方法10中對(duì)元數(shù)據(jù)的加密操作。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。此外,為了在系統(tǒng)性能和安全性之間取得平衡,第二可信應(yīng)用程序可以將文件劃分為多個(gè)數(shù)據(jù)塊,并對(duì)多個(gè)數(shù)據(jù)塊獨(dú)立地進(jìn)行加密。具體的數(shù)據(jù)塊劃分說(shuō)明同上述,在此不再贅述。

圖9是根據(jù)一示例示出的再一種終端設(shè)備中普通執(zhí)行環(huán)境與可信執(zhí)行的架構(gòu)示意圖。在一些實(shí)施例中,如圖9所示,加密實(shí)現(xiàn)服務(wù)通過(guò)可信執(zhí)行環(huán)境中的通用的硬件加密引擎對(duì)文件進(jìn)行加密。文件加密實(shí)現(xiàn)服務(wù)將待加密的文件與文件密鑰的明文發(fā)送給可信執(zhí)行環(huán)境中的硬件加密引擎,由硬件加密引擎為文件進(jìn)行加密。在具體實(shí)施時(shí),文件加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)文件加密實(shí)現(xiàn)服務(wù)與硬件加密引擎之間的調(diào)用,即文件加密實(shí)現(xiàn)服務(wù)與硬件加密引擎之間的通信服務(wù)。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。此外,為了在系統(tǒng)性能和安全性之間取得平衡,文件加密實(shí)現(xiàn)服務(wù)可以將文件劃分為多個(gè)數(shù)據(jù)塊,并請(qǐng)求硬件加密引擎對(duì)多個(gè)數(shù)據(jù)塊獨(dú)立地進(jìn)行加密。具體的數(shù)據(jù)塊劃分說(shuō)明同上述,在此不再贅述。

在步驟s204中,接收加密后的元數(shù)據(jù)。

例如,由圖1中的文件加密實(shí)現(xiàn)服務(wù)接收經(jīng)方法10加密后的元數(shù)據(jù)。

在步驟s206中,將加密后的元數(shù)據(jù)與加密后的文件合并為一個(gè)文件進(jìn)行存儲(chǔ)。

加密后的元數(shù)據(jù)與加密文件合一,從而使得加密文件可以自由的復(fù)制、移動(dòng)。

根據(jù)本發(fā)明實(shí)施方式的基于trustzone的文件加密方法,通過(guò)在可信執(zhí)行環(huán)境中對(duì)文件密鑰進(jìn)行加密,進(jìn)一步增強(qiáng)了文件加密的安全性。此外,通過(guò)在可信執(zhí)行環(huán)境中以單個(gè)文件為邏輯加密單位進(jìn)行加密操作,進(jìn)一步增強(qiáng)了文件的安全性。

圖5是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的文件解密方法的流程圖。該解密方法可適用于上述的文件加密方法10及20。結(jié)合圖1,圖5所示的方法30包括:

在步驟s302中,接收文件的元數(shù)據(jù)解密請(qǐng)求。

例如,由圖1所示的加解密存儲(chǔ)服務(wù)接收由文件加密實(shí)現(xiàn)服務(wù)發(fā)送的元數(shù)據(jù)解密請(qǐng)求。

該元數(shù)據(jù)解密請(qǐng)求例如為通過(guò)進(jìn)程間通信發(fā)送的口令創(chuàng)建調(diào)用,如dbus、biner進(jìn)程間通信機(jī)制等。

該元數(shù)據(jù)解密請(qǐng)求例如以參數(shù)形式攜帶文件的待解密的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密文件的文件密鑰。

在步驟s304中,查找存儲(chǔ)的所述類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰。

例如,由加解密存儲(chǔ)服務(wù)查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰。在加解密存儲(chǔ)服務(wù)中,存儲(chǔ)有各類密鑰標(biāo)識(shí)所對(duì)應(yīng)的類密鑰,其中各類密鑰為在可信執(zhí)行環(huán)境中使用主密鑰加密后的密文。

在一些實(shí)施例中,類密鑰標(biāo)識(shí)與調(diào)用該數(shù)據(jù)庫(kù)文件的應(yīng)用程序的應(yīng)用場(chǎng)景相對(duì)應(yīng)。應(yīng)用場(chǎng)景的類別同上,在此不再贅述。

密鑰是黑盒加密算法的主要攻擊點(diǎn),因此需要保證密鑰在存儲(chǔ)及使用時(shí)的安全性。存儲(chǔ)的安全性主要是指攻擊者不能夠?qū)ζ溥M(jìn)行讀寫訪問(wèn),使用的安全性主要是指密鑰在內(nèi)存中遭受動(dòng)態(tài)攻擊的可能。在本方法中,為了增強(qiáng)密鑰的安全性,將存儲(chǔ)于普通執(zhí)行環(huán)境中的類密鑰以密文形式存儲(chǔ)。

在步驟s306中,通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)解密請(qǐng)求。

例如,由加解密存儲(chǔ)服務(wù)向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)加密請(qǐng)求,該數(shù)據(jù)加密請(qǐng)求包括:在步驟s304中查找到的類密鑰及待解密的元數(shù)據(jù)。

如圖1中所示,在具體實(shí)施時(shí),加解密存儲(chǔ)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)加密存儲(chǔ)服務(wù)與專屬服務(wù)于加解密的可信應(yīng)用程序之間的調(diào)用,即加密存儲(chǔ)服務(wù)與專屬服務(wù)于加解密的可信應(yīng)用程序之間的通信服務(wù)。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。

在步驟s308中,可信應(yīng)用程序根據(jù)預(yù)先存儲(chǔ)于所述可信執(zhí)行環(huán)境中的主密鑰,對(duì)類密鑰進(jìn)行解密。

主密鑰為每個(gè)終端設(shè)備所獨(dú)立擁有的,在可執(zhí)行環(huán)境初始化過(guò)程中,該主密鑰被加載到trustzone的映像文件中,即加載到trustzone的可信執(zhí)行環(huán)境的上下文中。由于該主密鑰被預(yù)埋到可信執(zhí)行環(huán)境中,不會(huì)在普通執(zhí)行環(huán)境中出現(xiàn),因此在普通執(zhí)行環(huán)境中由于無(wú)法獲取該主密鑰而無(wú)法解密類密鑰,從而增強(qiáng)了通過(guò)類密鑰加密的應(yīng)用數(shù)據(jù)的安全性。

在步驟s310中,可信應(yīng)用程序根據(jù)解密后的類密鑰,對(duì)待解密的元數(shù)據(jù)進(jìn)行解密。

對(duì)應(yīng)上述加密過(guò)程中所使用的加密算法,對(duì)待解密數(shù)據(jù)進(jìn)行解密操作。

在步驟s312中,可信應(yīng)用程序通過(guò)客戶接口,將解密后的元數(shù)據(jù)返回至加解密存儲(chǔ)服務(wù)中。

可信應(yīng)用程序完成解密后,通過(guò)客戶接口,向普通執(zhí)行環(huán)境中返回解密后的元數(shù)據(jù)。

圖6是根據(jù)一示例性實(shí)施方式示出的另一種基于trustzone的文件解密方法的流程圖。如圖6所示,方法40包括:

在步驟s402中,接收普通執(zhí)行環(huán)境中的客戶應(yīng)用程序發(fā)送的對(duì)文件的操作請(qǐng)求。

例如,如圖1中所示,當(dāng)客戶應(yīng)用程序需要打開(kāi)該文件時(shí),向文件加密實(shí)現(xiàn)服務(wù)發(fā)送該操作請(qǐng)求。

需要說(shuō)明的而是,在具體實(shí)施時(shí),文件加密實(shí)現(xiàn)服務(wù)可以實(shí)現(xiàn)在每個(gè)應(yīng)用程序,即每個(gè)調(diào)用該服務(wù)的內(nèi)部。也可以為獨(dú)立的服務(wù),各應(yīng)用程序通過(guò)如進(jìn)程間通信等機(jī)制實(shí)現(xiàn)對(duì)該服務(wù)的調(diào)用。

在步驟s404中,根據(jù)該操作請(qǐng)求,發(fā)送文件的元數(shù)據(jù)解密請(qǐng)求。

從而執(zhí)行方法30中對(duì)元數(shù)據(jù)的解密操作。

在一些實(shí)施例中,方法40還包括:

在步驟s406中,根據(jù)解密后的元數(shù)據(jù)中的文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行解密。

例如,可以如圖1所示,文件加密實(shí)現(xiàn)服務(wù)通過(guò)可信執(zhí)行環(huán)境中的可信應(yīng)用程序?qū)崿F(xiàn)對(duì)文件的解密。

文件加密實(shí)現(xiàn)服務(wù)將待解密的文件發(fā)送給可信應(yīng)用程序,由可信應(yīng)用程序?qū)ξ募M(jìn)行解密。在具體實(shí)施時(shí),文件加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)文件加密實(shí)現(xiàn)服務(wù)與可信應(yīng)用程序之間的調(diào)用,即文件加密實(shí)現(xiàn)服務(wù)與可信應(yīng)用程序之間的通信服務(wù)。

如圖1所示,可信應(yīng)用程序可以通過(guò)調(diào)用可信執(zhí)行環(huán)境中通用的硬件加密引擎,實(shí)施上述數(shù)據(jù)解密操作。

在一些實(shí)施例中,當(dāng)待解密的文件由多個(gè)加密數(shù)據(jù)塊構(gòu)成時(shí),第一可信應(yīng)用程序根據(jù)文件密鑰,對(duì)多個(gè)加密數(shù)據(jù)塊獨(dú)立地進(jìn)行解密。

在一些實(shí)施例中,如圖4所示,文件加密實(shí)現(xiàn)服務(wù)還可以通過(guò)可信執(zhí)行環(huán)境中的第二可信應(yīng)用程序?qū)ξ募M(jìn)行解密。文件加密實(shí)現(xiàn)服務(wù)將待解密的文件與文件密鑰的明文發(fā)送給第二可信應(yīng)用程序,由第二可信應(yīng)用程序?yàn)槲募M(jìn)行加密。在具體實(shí)施時(shí),文件加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)文件加密實(shí)現(xiàn)服務(wù)與第二可信應(yīng)用程序之間的調(diào)用,即文件加密實(shí)現(xiàn)服務(wù)與第二可信應(yīng)用程序之間的通信服務(wù)。

在一些實(shí)施例中,如圖9所示,加密實(shí)現(xiàn)服務(wù)通過(guò)可信執(zhí)行環(huán)境中的通用的硬件加密引擎對(duì)文件進(jìn)行解密。文件加密實(shí)現(xiàn)服務(wù)將待解密的文件與文件密鑰的明文發(fā)送給可信執(zhí)行環(huán)境中的硬件加密引擎,由硬件加密引擎為文件進(jìn)行加密。在具體實(shí)施時(shí),文件加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)文件加密實(shí)現(xiàn)服務(wù)與硬件加密引擎之間的調(diào)用,即文件加密實(shí)現(xiàn)服務(wù)與硬件加密引擎之間的通信服務(wù)。

在步驟s408中,將解密后的文件返回給客戶應(yīng)用程序。

本領(lǐng)域技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施方式的全部或部分步驟被實(shí)現(xiàn)為由cpu執(zhí)行的計(jì)算機(jī)程序。在該計(jì)算機(jī)程序被cpu執(zhí)行時(shí),執(zhí)行本發(fā)明提供的上述方法所限定的上述功能。所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。

此外,需要注意的是,上述附圖僅是根據(jù)本發(fā)明示例性實(shí)施方式的方法所包括的處理的示意性說(shuō)明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時(shí)間順序。另外,也易于理解,這些處理可以是例如在多個(gè)模塊中同步或異步執(zhí)行的。

下述為本發(fā)明裝置實(shí)施例,可以用于執(zhí)行本發(fā)明方法實(shí)施例。對(duì)于本發(fā)明裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本發(fā)明方法實(shí)施例。

圖7是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的文件加密裝置的框圖。如圖7所示,裝置50包括:加密請(qǐng)求接收模塊502、第一類密鑰獲取模塊504、加密請(qǐng)求模塊506、第一類密鑰解密模塊508、加密執(zhí)行模塊510及加密數(shù)據(jù)返回模塊512。

其中,加密請(qǐng)求接收模塊502用于接收文件的元數(shù)據(jù)加密請(qǐng)求,元數(shù)據(jù)加密請(qǐng)求包括:文件的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密文件的文件密鑰。

第一類密鑰獲取模塊504用于查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰。

在一些實(shí)施例中,類密鑰標(biāo)識(shí)與應(yīng)用場(chǎng)景相對(duì)應(yīng);應(yīng)用場(chǎng)景包括:終端設(shè)備啟動(dòng)成功后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功后且合法登錄后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面解除鎖定后可以訪問(wèn)、終端設(shè)備啟動(dòng)成功且合法登錄且用戶界面鎖定時(shí)僅可以寫入。

加密請(qǐng)求模塊506用于通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)加密請(qǐng)求,數(shù)據(jù)加密請(qǐng)求包括:類密鑰及元數(shù)據(jù)。

第一類密鑰解密模塊508用于通過(guò)可信應(yīng)用程序根據(jù)預(yù)先存儲(chǔ)于可信執(zhí)行環(huán)境中的主密鑰,對(duì)類密鑰進(jìn)行解密。

加密執(zhí)行模塊510用于通過(guò)可信應(yīng)用程序根據(jù)解密后的類密鑰,對(duì)元數(shù)據(jù)進(jìn)行加密。

加密數(shù)據(jù)返回模塊512用于通過(guò)可信應(yīng)用程序通過(guò)客戶接口,將加密后的元數(shù)據(jù)返回至普通執(zhí)行環(huán)境中存儲(chǔ)。

在一些實(shí)施例中,裝置50還包括:文件加密模塊514、元數(shù)據(jù)接收模塊516及合并存儲(chǔ)模塊518。其中,文件加密模塊514用于根據(jù)文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行加密。元數(shù)據(jù)接收模塊516用于接收加密后的元數(shù)據(jù)。合并存儲(chǔ)模塊518用于將加密后的元數(shù)據(jù)與加密后的文件合并為一個(gè)文件進(jìn)行存儲(chǔ)。

在一些實(shí)施例中,文件加密模塊514包括:數(shù)據(jù)塊劃分子模塊5142及數(shù)據(jù)庫(kù)加密子模塊5144。其中,數(shù)據(jù)塊劃分子模塊5142用于將文件劃分為多個(gè)數(shù)據(jù)塊。數(shù)據(jù)庫(kù)加密子模塊5144用于對(duì)多個(gè)數(shù)據(jù)塊獨(dú)立地進(jìn)行加密。

根據(jù)本發(fā)明實(shí)施方式的基于trustzone的文件加密方法,通過(guò)在可信執(zhí)行環(huán)境中對(duì)包含有文件密鑰的元數(shù)據(jù)進(jìn)行加密,并在普通執(zhí)行環(huán)境中存儲(chǔ)文件密鑰的密文,保證了用于加密文件的文件密鑰的安全存儲(chǔ)與使用。

圖8是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的文件解密裝置的框圖。該解密裝置適用于上述加密裝置50。如圖8所示,該解密裝置60包括:解密請(qǐng)求接收模塊602、第二類密鑰獲取模塊604、解密請(qǐng)求模塊606、第二類密鑰解密模塊608、解密執(zhí)行模塊610及解密數(shù)據(jù)返回模塊612。

其中,解密請(qǐng)求接收模塊602用于接收文件的元數(shù)據(jù)解密請(qǐng)求,元數(shù)據(jù)解密請(qǐng)求包括:文件的待解密的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密文件的文件密鑰。

第二類密鑰獲取模塊604用于查找存儲(chǔ)的類密鑰標(biāo)識(shí)對(duì)應(yīng)的類密鑰。

解密請(qǐng)求模塊606用于通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)解密請(qǐng)求,數(shù)據(jù)解密請(qǐng)求包括:類密鑰及待解密的元數(shù)據(jù)。

第二類密鑰解密模塊608用于通過(guò)可信應(yīng)用程序根據(jù)預(yù)先存儲(chǔ)于可信執(zhí)行環(huán)境中的主密鑰,對(duì)類密鑰進(jìn)行解密。

解密執(zhí)行模塊610用于通過(guò)可信應(yīng)用程序根據(jù)解密后的類密鑰,對(duì)元數(shù)據(jù)進(jìn)行解密。

解密數(shù)據(jù)返回模塊612用于通過(guò)可信應(yīng)用程序通過(guò)客戶接口,將解密后的元數(shù)據(jù)返回至普通執(zhí)行環(huán)境中。

在一些實(shí)施例中,裝置60還包括:操作請(qǐng)求接收模塊614及解密請(qǐng)求發(fā)送模塊616。其中,操作請(qǐng)求接收模塊614用于接收普通執(zhí)行環(huán)境中的客戶應(yīng)用程序發(fā)送的對(duì)文件的操作請(qǐng)求。解密請(qǐng)求發(fā)送模塊616用于根據(jù)操作請(qǐng)求,發(fā)送文件的元數(shù)據(jù)解密請(qǐng)求。

在一些實(shí)施例中,裝置60還包括:文件解密模塊618及解密文件返回模塊620。文件解密模塊618用于根據(jù)解密后的元數(shù)據(jù)中的文件密鑰,在可信執(zhí)行環(huán)境中對(duì)文件進(jìn)行解密。解密文件返回模塊620用于將解密后的文件返回給客戶應(yīng)用程序。

在一些實(shí)施例中,文件解密模塊618包括:數(shù)據(jù)塊解密子模塊6182,用于對(duì)根據(jù)文件劃分出的多個(gè)加密數(shù)據(jù)塊獨(dú)立地進(jìn)行解密。

需要注意的是,上述附圖中所示的框圖是功能實(shí)體,不一定必須與物理或邏輯上獨(dú)立的實(shí)體相對(duì)應(yīng)??梢圆捎密浖问絹?lái)實(shí)現(xiàn)這些功能實(shí)體,或在一個(gè)或多個(gè)硬件模塊或集成電路中實(shí)現(xiàn)這些功能實(shí)體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實(shí)現(xiàn)這些功能實(shí)體。

通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)軟件結(jié)合必要的硬件的方式來(lái)實(shí)現(xiàn)。因此,根據(jù)本發(fā)明實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是cd-rom,u盤,移動(dòng)硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、移動(dòng)終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本發(fā)明實(shí)施方式的方法。

以上具體地示出和描述了本發(fā)明的示例性實(shí)施方式。應(yīng)可理解的是,本發(fā)明不限于這里描述的詳細(xì)結(jié)構(gòu)、設(shè)置方式或?qū)崿F(xiàn)方法;相反,本發(fā)明意圖涵蓋包含在所附權(quán)利要求的精神和范圍內(nèi)的各種修改和等效設(shè)置。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
平定县| 繁峙县| 恩平市| 保康县| 永德县| 合山市| 榆林市| 鸡西市| 遂宁市| 隆德县| 东山县| 正安县| 红河县| 博罗县| 姚安县| 曲水县| 历史| 苗栗县| 佛冈县| 晋城| 文水县| 读书| 鹤岗市| 元朗区| 邯郸县| 革吉县| 三河市| 夏邑县| 陕西省| 沙湾县| 沁水县| 望都县| 吉首市| 永靖县| 黄冈市| 桐柏县| 集安市| 贞丰县| 旅游| 新建县| 洪江市|