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

基于TrustZone的數(shù)據(jù)庫(kù)文件口令加解密方法、裝置及終端設(shè)備與流程

文檔序號(hào):11657202閱讀:264來(lái)源:國(guó)知局
基于TrustZone的數(shù)據(jù)庫(kù)文件口令加解密方法、裝置及終端設(shè)備與流程

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



背景技術(shù):

數(shù)據(jù)庫(kù)文件是一種很常見的文件類型,很多應(yīng)用程序或系統(tǒng)應(yīng)用依賴于數(shù)據(jù)庫(kù)文件的使用。尤其是關(guān)系數(shù)據(jù)庫(kù)在很多應(yīng)用程序中,用于保存大量的需要檢索的數(shù)據(jù),例如用戶賬號(hào)、聯(lián)系人信息、郵件地址等。

目前適用于移動(dòng)終端設(shè)備使用的常見數(shù)據(jù)庫(kù)技術(shù)有sqlite、msql、extremedb等。應(yīng)用最為廣泛的是sqlite,尤其在安卓與ios操作系統(tǒng)中。sqlite原生支持加密接口,但是需要擴(kuò)充其加密接口的實(shí)現(xiàn),才能真正的支持加密操作。

開源項(xiàng)目sqlcipher是一個(gè)典型的基于sqlite實(shí)現(xiàn)的加密數(shù)據(jù)項(xiàng)目。該項(xiàng)目實(shí)現(xiàn)了sqlite的加密接口,從而支持了加密數(shù)據(jù)庫(kù)操作。但目前該項(xiàng)目?jī)H支持用戶按照文件口令加密的方式進(jìn)行數(shù)據(jù)庫(kù)文件的加密。這就要求用戶必須要“記住”這個(gè)口令,由于該口令是每數(shù)據(jù)庫(kù)文件獨(dú)立的,為了“記住”各數(shù)據(jù)庫(kù)文件的口令,用戶可能需要將其保存在一個(gè)介質(zhì)中,如電子文檔中,但是對(duì)于黑盒加密機(jī)制而言,安全的保存一個(gè)口令本身是很困難的。而如果對(duì)所有數(shù)據(jù)庫(kù)文件使用同樣的口令,則會(huì)降低應(yīng)用程序的安全性。

因此,需要一種新的數(shù)據(jù)庫(kù)文件加密方法,使得數(shù)據(jù)庫(kù)文件的口令對(duì)用戶是透明的,也即無(wú)需用戶來(lái)“記住”該口令。

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



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

本發(fā)明提供一種基于trustzone的數(shù)據(jù)庫(kù)文件口令加解密方法、裝置及終端設(shè)備,能夠提供一種數(shù)據(jù)庫(kù)文件口令安全地創(chuàng)建及使用的方法,使口令對(duì)用戶透明,保證口令的安全性。

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

根據(jù)本發(fā)明的一方面,提供一種基于trustzone的數(shù)據(jù)庫(kù)文件口令加密方法,包括:接收口令創(chuàng)建請(qǐng)求,口令創(chuàng)建請(qǐng)求中包括:數(shù)據(jù)庫(kù)文件的第一元數(shù)據(jù)及類密鑰標(biāo)識(shí);為數(shù)據(jù)庫(kù)文件創(chuàng)建用于加密數(shù)據(jù)庫(kù)文件的口令,并將第一元數(shù)據(jù)與口令合并為第二元數(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í)施方式,上述方法還包括:接收加密后的第二元數(shù)據(jù);以及將加密后的第二元數(shù)據(jù)與加密后的數(shù)據(jù)庫(kù)文件合并為一個(gè)文件進(jìn)行存儲(chǔ);其中,數(shù)據(jù)庫(kù)文件根據(jù)口令在可信執(zhí)行環(huán)境中被加密。

根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:通過(guò)客戶接口,向可信應(yīng)用程序發(fā)送各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰;可信應(yīng)用程序根據(jù)主密鑰對(duì)各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰進(jìn)行加密;以及可信應(yīng)用程序通過(guò)客戶接口,將加密后的各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰返回至普通執(zhí)行環(huán)境中存儲(chǔ)。

根據(jù)本發(fā)明的一實(shí)施方式,客戶接口采用強(qiáng)制訪問(wèn)控制權(quán)限管理機(jī)制。

根據(jù)本發(fā)明的另一個(gè)方面,提供一種適用于如上述任意一項(xiàng)的加密方法的數(shù)據(jù)庫(kù)文件口令解密方法,包括:接收數(shù)據(jù)庫(kù)文件的元數(shù)據(jù)解密請(qǐng)求,元數(shù)據(jù)解密請(qǐng)求包括:數(shù)據(jù)庫(kù)文件的待解密的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密數(shù)據(jù)庫(kù)文件的口令;查找存儲(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ì)數(shù)據(jù)庫(kù)文件的操作請(qǐng)求;以及根據(jù)操作請(qǐng)求,發(fā)送數(shù)據(jù)庫(kù)文件的元數(shù)據(jù)解密請(qǐng)求。

根據(jù)本發(fā)明的一實(shí)施方式,上述方法還包括:將解密后的數(shù)據(jù)庫(kù)文件發(fā)送給客戶應(yīng)用程序;其中,數(shù)據(jù)庫(kù)文件根據(jù)解密后的元數(shù)據(jù)中的口令在可信執(zhí)行環(huán)境中被解密。

根據(jù)本發(fā)明的再一個(gè)方面,提供一種基于trustzone的數(shù)據(jù)庫(kù)文件口令加密裝置,包括:請(qǐng)求接收模塊,用于接收口令創(chuàng)建請(qǐng)求,口令創(chuàng)建請(qǐng)求中包括:數(shù)據(jù)庫(kù)文件的第一元數(shù)據(jù)及類密鑰標(biāo)識(shí);口令創(chuàng)建模塊,用于為數(shù)據(jù)庫(kù)文件創(chuàng)建用于加密數(shù)據(jù)庫(kù)文件的口令,并將第一元數(shù)據(jù)與口令合并為第二元數(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í)施方式,上述裝置還包括:元數(shù)據(jù)接收模塊,用于接收加密后的第二元數(shù)據(jù);以及合并存儲(chǔ)模塊,用于將加密后的第二元數(shù)據(jù)與加密后的數(shù)據(jù)庫(kù)文件合并為一個(gè)文件進(jìn)行存儲(chǔ);其中,數(shù)據(jù)庫(kù)文件根據(jù)口令在可信執(zhí)行環(huán)境中被加密。

根據(jù)本發(fā)明的一實(shí)施方式,上述裝置還包括:類密鑰發(fā)送模塊,通過(guò)客戶接口,向可信應(yīng)用程序發(fā)送各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰;類密鑰加密模塊,用于通過(guò)可信應(yīng)用程序根據(jù)主密鑰對(duì)各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰進(jìn)行加密;以及類密鑰返回模塊,用于通過(guò)可信應(yīng)用程序通過(guò)客戶接口,將加密后的各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰返回至普通執(zhí)行環(huán)境中存儲(chǔ)。

根據(jù)本發(fā)明的一實(shí)施方式,客戶接口采用強(qiáng)制訪問(wèn)控制權(quán)限管理機(jī)制。

根據(jù)本發(fā)明的再一個(gè)方面,提供一種適用于如上述任意一項(xiàng)的加密裝置的數(shù)據(jù)庫(kù)文件口令解密裝置,包括:口令請(qǐng)求接收模塊,用于接收數(shù)據(jù)庫(kù)文件的元數(shù)據(jù)解密請(qǐng)求,元數(shù)據(jù)解密請(qǐng)求包括:數(shù)據(jù)庫(kù)文件的待解密的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密數(shù)據(jù)庫(kù)文件的口令;類密鑰獲取模塊,用于查找存儲(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ì)數(shù)據(jù)庫(kù)文件的操作請(qǐng)求;以及口令請(qǐng)求發(fā)送模塊,用于根據(jù)操作請(qǐng)求,發(fā)送數(shù)據(jù)庫(kù)文件的元數(shù)據(jù)解密請(qǐng)求。

根據(jù)本發(fā)明的一實(shí)施方式,上述裝置還包括:數(shù)據(jù)庫(kù)文件發(fā)送模塊,用于將解密后的數(shù)據(jù)庫(kù)文件發(fā)送給客戶應(yīng)用程序;其中,數(shù)據(jù)庫(kù)文件根據(jù)解密后的元數(shù)據(jù)中的口令在可信執(zhí)行環(huá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的數(shù)據(jù)庫(kù)文件口令加密方法,通過(guò)依靠普通執(zhí)行環(huán)境中的服務(wù)為數(shù)據(jù)庫(kù)文件創(chuàng)建口令,在可信執(zhí)行環(huán)境中對(duì)口令進(jìn)行加密,并在普通執(zhí)行環(huán)境中存儲(chǔ)口令的密文,保證了口令創(chuàng)建和使用的安全性;并且使得用戶不需要記錄數(shù)據(jù)庫(kù)文件的口令,即口令對(duì)用戶是透明的;此外,由于trustzone的可信執(zhí)行環(huán)境一般是與終端設(shè)備具有一一對(duì)應(yīng)的綁定關(guān)系的,而數(shù)據(jù)庫(kù)文件口令操作依賴的普通執(zhí)行環(huán)境中的服務(wù)綁定了trustzone的可信執(zhí)行環(huán)境,因此數(shù)據(jù)庫(kù)文件的口令不能在另一臺(tái)終端設(shè)備上使用,從而阻止了數(shù)據(jù)庫(kù)文件的任意拷貝、移動(dòng)和備份。

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

附圖說(shuō)明

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

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

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

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

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

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

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

具體實(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í)行部分代碼的能力?;趖rustzone硬件隔離技術(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的數(shù)據(jù)庫(kù)文件口令加密方法的流程圖。結(jié)合圖1及圖2,圖1所示的方法10包括:

在步驟s102中,接收口令創(chuàng)建請(qǐng)求。

例如,由圖1中的加解密存儲(chǔ)服務(wù)接收由數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)發(fā)送的口令創(chuàng)建請(qǐng)求。數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)通過(guò)向加解密存儲(chǔ)服務(wù)發(fā)送該口令創(chuàng)建請(qǐng)求,請(qǐng)求加解密存儲(chǔ)服務(wù)為圖1中所述的數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)文件創(chuàng)建用于加密的口令。

加解密存儲(chǔ)服務(wù)及數(shù)據(jù)庫(kù)加密實(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ù)等。

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

該口令創(chuàng)建請(qǐng)求中以參數(shù)形式攜帶數(shù)據(jù)庫(kù)文件的第一元數(shù)據(jù)及類密鑰標(biāo)識(shí)(id)。

在步驟s104中,為數(shù)據(jù)庫(kù)文件創(chuàng)建用于加密該數(shù)據(jù)庫(kù)文件的口令,并將該第一元數(shù)據(jù)與該口令合并為第二元數(shù)據(jù)。

例如,當(dāng)加解密存儲(chǔ)服務(wù)接收到數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)發(fā)送的口令創(chuàng)建請(qǐng)求后,將第一元數(shù)據(jù)與口令合并,生成第二元數(shù)據(jù)。

在步驟s106中,查找存儲(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í)施例中,在步驟s106之前該方法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ǔ)。

在步驟s108中,通過(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)求包括:在步驟s106中查找到的類密鑰及第二元數(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ù)人員所知悉,在此不再贅述。

在一些實(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ù)的接口不被任意濫用。

在步驟s110中,可信應(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ù)的安全性。

在步驟s112中,可信應(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ù)加密操作。

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

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

在一些實(shí)施例中,圖2所示的方法10還包括:

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

例如由數(shù)據(jù)庫(kù)加密時(shí)限服務(wù)通過(guò)加解密存儲(chǔ)服務(wù)接收加密后的第二元數(shù)據(jù)。

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

其中,數(shù)據(jù)庫(kù)文件的加密是根據(jù)上述的口令在可信執(zhí)行環(huán)境中進(jìn)行的。

例如,可以如圖1所示,數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)通過(guò)可信執(zhí)行環(huán)境中的通用的硬件加密引擎對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行加密。數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)將待加密的數(shù)據(jù)庫(kù)文件與口令的明文發(fā)送給可信執(zhí)行環(huán)境中的硬件加密引擎,由硬件加密引擎為數(shù)據(jù)庫(kù)文件進(jìn)行加密。在具體實(shí)施時(shí),數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)與硬件加密引擎之間的調(diào)用,即數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)與硬件加密引擎之間的通信服務(wù)。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。

或者,圖3是根據(jù)一示例示出的另一種終端設(shè)備中普通執(zhí)行環(huán)境與可信執(zhí)行的架構(gòu)示意圖。如圖3所示,數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)還可以通過(guò)可信執(zhí)行環(huán)境中的第二可信應(yīng)用程序?qū)?shù)據(jù)庫(kù)文件進(jìn)行加密。數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)將待加密的數(shù)據(jù)庫(kù)文件與口令的明文發(fā)送給可信執(zhí)行環(huán)境中的第二可信應(yīng)用程序,由第二可信應(yīng)用程序?yàn)閿?shù)據(jù)庫(kù)文件進(jìn)行加密。在具體實(shí)施時(shí),數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)與第二可信應(yīng)用程序之間的調(diào)用,即數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)與第二可信應(yīng)用程序之間的通信服務(wù)。而圖3中的第一可信應(yīng)用程序用于實(shí)現(xiàn)上述對(duì)第二元數(shù)據(jù)的加密操作。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。

根據(jù)本發(fā)明實(shí)施方式的基于基于trustzone的數(shù)據(jù)庫(kù)文件口令加密方法,通過(guò)依靠普通執(zhí)行環(huán)境中的服務(wù)為數(shù)據(jù)庫(kù)文件創(chuàng)建口令,在可信執(zhí)行環(huán)境中對(duì)口令進(jìn)行加密,并在普通執(zhí)行環(huán)境中存儲(chǔ)口令的密文,保證了口令創(chuàng)建和使用的安全性;并且使得用戶不需要記錄數(shù)據(jù)庫(kù)文件的口令,即口令對(duì)用戶是透明的;此外,由于trustzone的可信執(zhí)行環(huán)境一般是與終端設(shè)備具有一一對(duì)應(yīng)的綁定關(guān)系的,而數(shù)據(jù)庫(kù)文件口令操作依賴的普通執(zhí)行環(huán)境中的服務(wù)綁定了trustzone的可信執(zhí)行環(huán)境,因此數(shù)據(jù)庫(kù)文件的口令不能在另一臺(tái)終端設(shè)備上使用,從而阻止了數(shù)據(jù)庫(kù)文件的任意拷貝、移動(dòng)和備份。

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

圖4是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的數(shù)據(jù)庫(kù)文件口令解密方法的流程圖。該解密方法可適用于上述的數(shù)據(jù)庫(kù)文件口令存儲(chǔ)方法10。結(jié)合圖1及圖3,圖4所示的方法20包括:

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

例如,由圖1所示的加解密存儲(chǔ)服務(wù)接收由數(shù)據(jù)庫(kù)加密實(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ù)庫(kù)文件的待解密的元數(shù)據(jù)及類密鑰標(biāo)識(shí),元數(shù)據(jù)包括:用于加密數(shù)據(jù)庫(kù)文件的口令。

在步驟s204中,查找存儲(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ǔ)。

在步驟s206中,通過(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)求包括:在步驟s206中查找到的類密鑰及待解密的元數(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ù)人員所知悉,在此不再贅述。

在步驟s208中,可信應(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ù)的安全性。

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

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

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

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

此外,在一些實(shí)施例中,該方法20還可以包括:

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

例如,如圖1中所示,當(dāng)客戶應(yīng)用程序需要對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行入讀寫或增刪操作時(shí),向數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)發(fā)送該操作請(qǐng)求。

需要說(shuō)明的而是,在具體實(shí)施時(shí),數(shù)據(jù)庫(kù)加密實(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)用。

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

例如,如圖1中所示的數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)接收到該操作請(qǐng)求后,向加解密存儲(chǔ)服務(wù)發(fā)送該元數(shù)據(jù)解密請(qǐng)求,以對(duì)該包含了口令的元數(shù)據(jù)進(jìn)行解密。

此外,該方法20還可以進(jìn)一步包括:

在步驟s218中,將解密后的數(shù)據(jù)庫(kù)文件發(fā)送給客戶應(yīng)用程序。

其中,數(shù)據(jù)庫(kù)文件是根據(jù)解密后的元數(shù)據(jù)中的口令在可信執(zhí)行環(huán)境中被解密。

例如,可以如圖1所示,數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)通過(guò)可信執(zhí)行環(huán)境中的通用的硬件加密引擎對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行解密。數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)將待解密的數(shù)據(jù)庫(kù)文件與口令的明文發(fā)送給可信執(zhí)行環(huán)境中的硬件加密引擎,由硬件加密引擎為數(shù)據(jù)庫(kù)文件進(jìn)行解密。在具體實(shí)施時(shí),數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)與硬件加密引擎之間的調(diào)用,即數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)與硬件加密引擎之間的通信服務(wù)。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。

或者,如圖3所示,數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)還可以通過(guò)可信執(zhí)行環(huán)境中的第二可信應(yīng)用程序?qū)?shù)據(jù)庫(kù)文件進(jìn)行解密。數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)將待加密的數(shù)據(jù)庫(kù)文件與口令的明文發(fā)送給可信執(zhí)行環(huán)境中的第二可信應(yīng)用程序,由第二可信應(yīng)用程序?yàn)閿?shù)據(jù)庫(kù)文件進(jìn)行解密。在具體實(shí)施時(shí),數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)可以通過(guò)trustzone客戶接口,并利用內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制,實(shí)現(xiàn)數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)與第二可信應(yīng)用程序之間的調(diào)用,即數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)與第二可信應(yīng)用程序之間的通信服務(wù)。而圖3中的第一可信應(yīng)用程序用于實(shí)現(xiàn)上述對(duì)第二元數(shù)據(jù)的解密操作。需要說(shuō)明的是內(nèi)核空間中普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境中的通信機(jī)制為本領(lǐng)域技術(shù)人員所知悉,在此不再贅述。

數(shù)據(jù)庫(kù)加密實(shí)現(xiàn)服務(wù)將解密后的數(shù)據(jù)庫(kù)文件發(fā)送給請(qǐng)求對(duì)該數(shù)據(jù)文件操作的客戶應(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í)施例。

圖5是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的數(shù)據(jù)庫(kù)文件口令加密裝置的框圖。如圖5所示,該裝置30包括:請(qǐng)求接收模塊302、口令創(chuàng)建模塊304、類密鑰獲取模塊306、加密請(qǐng)求模塊308、類密鑰解密模塊310、加密執(zhí)行模塊312、數(shù)據(jù)返回模塊314。

其中,請(qǐng)求接收模塊302用于接收口令創(chuàng)建請(qǐng)求,口令創(chuàng)建請(qǐng)求中包括:數(shù)據(jù)庫(kù)文件的第一元數(shù)據(jù)及類密鑰標(biāo)識(shí)。

口令創(chuàng)建模塊304用于為數(shù)據(jù)庫(kù)文件創(chuàng)建用于加密數(shù)據(jù)庫(kù)文件的口令,并將第一元數(shù)據(jù)與口令合并為第二元數(shù)據(jù)。

類密鑰獲取模塊306用于查找存儲(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)求模塊308用于通過(guò)普通執(zhí)行環(huán)境與可信執(zhí)行環(huán)境之間的客戶接口,向可信執(zhí)行環(huán)境中的可信應(yīng)用程序發(fā)送數(shù)據(jù)加密請(qǐng)求,數(shù)據(jù)加密請(qǐng)求包括:類密鑰及第二元數(shù)據(jù)。

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

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

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

在一些實(shí)施例中,裝置30還包括:元數(shù)據(jù)接收模塊316及合并存儲(chǔ)模塊318。其中,元數(shù)據(jù)接收模塊316用于接收加密后的第二元數(shù)據(jù)。合并存儲(chǔ)模塊318用于將加密后的第二元數(shù)據(jù)與加密后的數(shù)據(jù)庫(kù)文件合并為一個(gè)文件進(jìn)行存儲(chǔ);其中,數(shù)據(jù)庫(kù)文件根據(jù)口令在可信執(zhí)行環(huán)境中被加密。

在一些實(shí)施例中,裝置30還包括:類密鑰發(fā)送模塊320、類密鑰加密模塊322及類密鑰返回模塊324。其中,類密鑰發(fā)送模塊320用于通過(guò)客戶接口,向可信應(yīng)用程序發(fā)送各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰。類密鑰加密模塊322用于通過(guò)可信應(yīng)用程序根據(jù)主密鑰對(duì)各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰進(jìn)行加密。類密鑰返回模塊324用于通過(guò)可信應(yīng)用程序通過(guò)客戶接口,將加密后的各應(yīng)用場(chǎng)景對(duì)應(yīng)的類密鑰返回至普通執(zhí)行環(huán)境中存儲(chǔ)。

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

根據(jù)本發(fā)明實(shí)施方式的基于基于trustzone的數(shù)據(jù)庫(kù)文件口令加密裝置,通過(guò)依靠普通執(zhí)行環(huán)境中的服務(wù)為數(shù)據(jù)庫(kù)文件創(chuàng)建口令,在可信執(zhí)行環(huán)境中對(duì)口令進(jìn)行加密,并在普通執(zhí)行環(huán)境中存儲(chǔ)口令的密文,保證了口令創(chuàng)建和使用的安全性;并且使得用戶不需要記錄數(shù)據(jù)庫(kù)文件的口令,即口令對(duì)用戶是透明的;此外,由于trustzone的可信執(zhí)行環(huán)境一般是與終端設(shè)備具有一一對(duì)應(yīng)的綁定關(guān)系的,而數(shù)據(jù)庫(kù)文件口令操作依賴的普通執(zhí)行環(huán)境中的服務(wù)綁定了trustzone的可信執(zhí)行環(huán)境,因此數(shù)據(jù)庫(kù)文件的口令不能在另一臺(tái)終端設(shè)備上使用,從而阻止了數(shù)據(jù)庫(kù)文件的任意拷貝、移動(dòng)和備份。

圖6是根據(jù)一示例性實(shí)施方式示出的一種基于trustzone的數(shù)據(jù)庫(kù)文件口令解密裝置的框圖。該解密裝置適用于上述加密裝置30。如圖6所示,該解密裝置40包括:口令請(qǐng)求接收模塊402、類密鑰獲取模塊404、解密請(qǐng)求模塊406、類密鑰解密模塊408、解密執(zhí)行模塊410、數(shù)據(jù)返回模塊412。

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

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

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

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

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

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

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

在一些實(shí)施例中,該裝置40還包括:數(shù)據(jù)庫(kù)文件發(fā)送模塊418,用于將解密后的數(shù)據(jù)庫(kù)文件發(fā)送給客戶應(yīng)用程序;其中,數(shù)據(jù)庫(kù)文件根據(jù)解密后的元數(shù)據(jù)中的口令在可信執(zhí)行環(huá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
汕尾市| 彭州市| 当涂县| 林口县| 武威市| 吉安县| 凤城市| 名山县| 长岭县| 宁陕县| 综艺| 东乌珠穆沁旗| 鄂州市| 通河县| 赤城县| 维西| 平利县| 沅陵县| 五台县| 焉耆| 高台县| 海城市| 临泉县| 故城县| 东光县| 任丘市| 兰州市| 海南省| 奉节县| 郴州市| 普定县| 万荣县| 广河县| 河源市| 陆丰市| 英吉沙县| 利津县| 高淳县| 四平市| 宾阳县| 邵阳县|