本發(fā)明涉及智能終端技術(shù)領(lǐng)域,特別涉及一種基于trustzone隔離用戶數(shù)據(jù)的方法及系統(tǒng)。
背景技術(shù):
隨著移動(dòng)網(wǎng)絡(luò)的不斷發(fā)展,手機(jī)及筆記本電腦等移動(dòng)智能終端的應(yīng)用也得帶廣泛的普及。針對(duì)移動(dòng)終端內(nèi)對(duì)安全性要求較高的用戶數(shù)據(jù),通常需要對(duì)其進(jìn)行安全隔離。
目前,主要通過(guò)虛擬機(jī)等虛擬技術(shù)來(lái)實(shí)現(xiàn)對(duì)不同數(shù)據(jù)進(jìn)行分別存儲(chǔ),從而實(shí)現(xiàn)對(duì)不同的用戶數(shù)據(jù)數(shù)據(jù)進(jìn)行隔離,以提高相應(yīng)用戶數(shù)據(jù)的安全性。
但是,虛擬化并不能限定應(yīng)用程序?qū)?nèi)存的訪問權(quán)限,被隔離的用戶數(shù)據(jù)被加載到智能終端的內(nèi)存時(shí),很容易被相應(yīng)的應(yīng)用程序所竊取,用戶數(shù)據(jù)的安全性較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種基于trustzone隔離用戶數(shù)據(jù)的方法及系統(tǒng),可提高用戶數(shù)據(jù)的安全性。
第一方面,本發(fā)明提供了一種基于trustzone隔離用戶數(shù)據(jù)的方法,包括:
預(yù)先在智能終端內(nèi)設(shè)置trustzone協(xié)處理器,以及在所述智能終端的內(nèi)存上設(shè)置普通內(nèi)存區(qū)域、共享內(nèi)存區(qū)域和安全內(nèi)存區(qū)域;
運(yùn)行于所述普通內(nèi)存區(qū)域的普通域操作系統(tǒng)將待隔離用戶數(shù)據(jù)存儲(chǔ)至所述共享內(nèi)存區(qū)域;
運(yùn)行于所述普通內(nèi)存區(qū)域的普通域操作系統(tǒng)向所述trustzone協(xié)處理器的中斷控制器發(fā)送快速中斷信號(hào),以使所述trustzone協(xié)處理器進(jìn)入監(jiān)控模式;
利用進(jìn)入監(jiān)控模式的所述trustzone協(xié)處理器控制安全域操作系統(tǒng)在所述安全內(nèi)存區(qū)域中運(yùn)行;
運(yùn)行于所述安全內(nèi)存區(qū)域的安全域操作系統(tǒng)從所述共享內(nèi)存區(qū)域讀取所述待隔離用戶數(shù)據(jù),并將讀取的所述待隔離用戶數(shù)據(jù)加載到所述安全內(nèi)存區(qū)域。
優(yōu)選地,
所述利用進(jìn)入監(jiān)控模式的所述trustzone協(xié)處理器控制安全域操作系統(tǒng)在所述安全內(nèi)存區(qū)域中運(yùn)行,包括:
將進(jìn)入監(jiān)控模式的trustzone協(xié)處理器的安全配置寄存器的ns位修改為0,以使trustzone協(xié)處理器控制所述安全域操作系統(tǒng)在所述安全內(nèi)存區(qū)域中運(yùn)行。
優(yōu)選地,
所述待隔離用戶數(shù)據(jù),包括:至少一個(gè)應(yīng)用程序;
則,所述將讀取的所述待隔離用戶數(shù)據(jù)加載到所述安全內(nèi)存區(qū)域,包括:控制各個(gè)所述應(yīng)用程序在所述安全內(nèi)存區(qū)域上運(yùn)行。
優(yōu)選地,
所述待隔離用戶數(shù)據(jù),包括:至少一個(gè)待存儲(chǔ)數(shù)據(jù);
則,所述將讀取的所述待隔離用戶數(shù)據(jù)加載到所述安全內(nèi)存區(qū)域,包括:將讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)寫入所述安全內(nèi)存區(qū)域。
優(yōu)選地,
所述將讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)寫入所述安全內(nèi)存區(qū)域,包括:根據(jù)預(yù)先設(shè)置在所述trustzone協(xié)處理器中的加密秘鑰對(duì)讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)進(jìn)行加密以形成密文,并將形成的密文寫入所述的安全內(nèi)存區(qū)域。
第二方面,本發(fā)明實(shí)施例提供了一種基于trustzone隔離用戶數(shù)據(jù)的系統(tǒng),包括:
trustzone協(xié)處理器、設(shè)置模塊、控制模塊、普通域操作系統(tǒng)和安全域操作系統(tǒng);其中,
所述設(shè)置模塊,用于在智能終端內(nèi)設(shè)置所述trustzone協(xié)處理器,以及在所述智能終端的內(nèi)存上設(shè)置普通內(nèi)存區(qū)域、共享內(nèi)存區(qū)域和安全內(nèi)存區(qū)域;
所述普通域操作系統(tǒng),用于運(yùn)行于所述普通內(nèi)存區(qū)域,將待隔離用戶數(shù)據(jù)存儲(chǔ)至所述共享內(nèi)存區(qū)域;向所述trustzone協(xié)處理器的中斷控制器發(fā)送快速中斷信號(hào),以使所述trustzone協(xié)處理器進(jìn)入監(jiān)控模式;
所述控制模塊,用于利用進(jìn)入監(jiān)控模式的所述trustzone協(xié)處理器控制安全域操作系統(tǒng)在所述安全內(nèi)存區(qū)域中運(yùn)行;
所述安全域操作系統(tǒng),用于在所述trustzone協(xié)處理器的控制下運(yùn)行于所述安全內(nèi)存區(qū)域,從所述共享內(nèi)存區(qū)域讀取所述待隔離用戶數(shù)據(jù),并將讀取的所述待隔離用戶數(shù)據(jù)加載到所述安全內(nèi)存區(qū)域。
優(yōu)選地,
所述控制模塊,用于將進(jìn)入監(jiān)控模式的trustzone協(xié)處理器的安全配置寄存器的ns位修改為0,以使trustzone協(xié)處理器控制所述安全域操作系統(tǒng)在所述安全內(nèi)存區(qū)域中運(yùn)行。
優(yōu)選地,
在所述待隔離用戶數(shù)據(jù)包括至少一個(gè)應(yīng)用程序時(shí),所述安全域操作系統(tǒng),用于控制各個(gè)所述應(yīng)用程序在所述安全內(nèi)存區(qū)域上運(yùn)行。
優(yōu)選地,
在所述待隔離用戶數(shù)據(jù)包括至少一個(gè)待存儲(chǔ)數(shù)據(jù)時(shí),所述安全域操作系統(tǒng),用于將讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)寫入所述安全內(nèi)存區(qū)域。
優(yōu)選地,
所述安全域操作系統(tǒng),用于根據(jù)預(yù)先設(shè)置在所述trustzone協(xié)處理器中的加密秘鑰對(duì)讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)進(jìn)行加密以形成密文,并將形成的密文寫入所述的安全內(nèi)存區(qū)域。
本發(fā)明實(shí)施例提供了一種基于trustzone隔離用戶數(shù)據(jù)的方法及系統(tǒng),該方法中,通過(guò)在智能終端的內(nèi)存上設(shè)置普通內(nèi)存區(qū)域、共享內(nèi)存區(qū)域和安全內(nèi)存區(qū)域,同時(shí)在智能終端內(nèi)設(shè)置trustzone協(xié)處理器,普通域操作系統(tǒng)僅能運(yùn)行在普通內(nèi)存區(qū)域,當(dāng)需要對(duì)運(yùn)行于普通內(nèi)存區(qū)域的應(yīng)用程序所提供的待隔離數(shù)據(jù)進(jìn)行隔離時(shí),則可通過(guò)普通域操作系統(tǒng)將待隔離數(shù)據(jù)寫入到共享內(nèi)存區(qū)域,然后向trustzone協(xié)處理器的中斷控制器發(fā)送快速中斷信號(hào),使得trustzone協(xié)處理器進(jìn)入監(jiān)控模式,后續(xù)則可通過(guò)處于監(jiān)控模式下的trustzone協(xié)處理器控制安全域操作系統(tǒng)在安全內(nèi)存區(qū)域運(yùn)行,實(shí)現(xiàn)從普通域操作系統(tǒng)切換到安全域操作系統(tǒng),安全域操作系統(tǒng)則可從共享內(nèi)存區(qū)域中讀取相應(yīng)的待隔離數(shù)據(jù),并將讀取的待隔離數(shù)據(jù)加載到安全內(nèi)存區(qū)域。綜上所述,通過(guò)對(duì)智能終端的內(nèi)存提供硬件保護(hù)以將智能終端的內(nèi)存設(shè)置為多個(gè)內(nèi)存區(qū)域,將待隔離數(shù)據(jù)加載到安全內(nèi)存區(qū)域之后,由于運(yùn)行于普通內(nèi)存區(qū)域中的應(yīng)用程序并不能直接訪問安全內(nèi)存區(qū)域,使得運(yùn)行于普通內(nèi)存區(qū)域的各個(gè)應(yīng)用程序無(wú)法竊取加載到安全內(nèi)存區(qū)域內(nèi)的用戶數(shù)據(jù),從而提高用戶數(shù)據(jù)的安全性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一實(shí)施例提供的一種基于trustzone隔離用戶數(shù)據(jù)的方法的流程圖;
圖2是本發(fā)明一實(shí)施例提供的另一種基于trustzone隔離用戶數(shù)據(jù)的方法的流程圖;
圖3是本發(fā)明一實(shí)施例提供的一種基于trustzone隔離用戶數(shù)據(jù)的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種一種基于trustzone隔離用戶數(shù)據(jù)的方法,包括:
步驟101,預(yù)先在智能終端內(nèi)設(shè)置trustzone協(xié)處理器,以及在所述智能終端的內(nèi)存上設(shè)置普通內(nèi)存區(qū)域、共享內(nèi)存區(qū)域和安全內(nèi)存區(qū)域;
步驟102,運(yùn)行于所述普通內(nèi)存區(qū)域的普通域操作系統(tǒng)將待隔離用戶數(shù)據(jù)存儲(chǔ)至所述共享內(nèi)存區(qū)域;
步驟103,運(yùn)行于所述普通內(nèi)存區(qū)域的普通域操作系統(tǒng)向所述trustzone協(xié)處理器的中斷控制器發(fā)送快速中斷信號(hào),以使所述trustzone協(xié)處理器進(jìn)入監(jiān)控模式;
步驟104,利用進(jìn)入監(jiān)控模式的所述trustzone協(xié)處理器控制安全域操作系統(tǒng)在所述安全內(nèi)存區(qū)域中運(yùn)行;
步驟105,運(yùn)行于所述安全內(nèi)存區(qū)域的安全域操作系統(tǒng)從所述共享內(nèi)存區(qū)域讀取所述待隔離用戶數(shù)據(jù),并將讀取的所述待隔離用戶數(shù)據(jù)加載到所述安全內(nèi)存區(qū)域。
本發(fā)明上述實(shí)施例中,通過(guò)在智能終端的內(nèi)存上設(shè)置普通內(nèi)存區(qū)域、共享內(nèi)存區(qū)域和安全內(nèi)存區(qū)域,同時(shí)在智能終端內(nèi)設(shè)置trustzone協(xié)處理器,普通域操作系統(tǒng)僅能運(yùn)行在普通內(nèi)存區(qū)域,當(dāng)需要對(duì)運(yùn)行于普通內(nèi)存區(qū)域的應(yīng)用程序所提供的待隔離數(shù)據(jù)進(jìn)行隔離時(shí),則可通過(guò)普通域操作系統(tǒng)將待隔離數(shù)據(jù)寫入到共享內(nèi)存區(qū)域,然后向trustzone協(xié)處理器的中斷控制器發(fā)送快速中斷信號(hào),使得trustzone協(xié)處理器進(jìn)入監(jiān)控模式,后續(xù)則可通過(guò)處于監(jiān)控模式下的trustzone協(xié)處理器控制安全域操作系統(tǒng)在安全內(nèi)存區(qū)域運(yùn)行,實(shí)現(xiàn)從普通域操作系統(tǒng)切換到安全域操作系統(tǒng),安全域操作系統(tǒng)則可從共享內(nèi)存區(qū)域中讀取相應(yīng)的待隔離數(shù)據(jù),并將讀取的待隔離數(shù)據(jù)加載到安全內(nèi)存區(qū)域。綜上所述,通過(guò)對(duì)智能終端的內(nèi)存提供硬件保護(hù)以將智能終端的內(nèi)存設(shè)置為多個(gè)內(nèi)存區(qū)域,將待隔離數(shù)據(jù)加載到安全內(nèi)存區(qū)域之后,由于運(yùn)行于普通內(nèi)存區(qū)域中的應(yīng)用程序并不能直接訪問安全內(nèi)存區(qū)域,使得運(yùn)行于普通內(nèi)存區(qū)域的各個(gè)應(yīng)用程序無(wú)法竊取加載到安全內(nèi)存區(qū)域內(nèi)的用戶數(shù)據(jù),從而提高用戶數(shù)據(jù)的安全性。
本發(fā)明一個(gè)實(shí)施例中,所述利用進(jìn)入監(jiān)控模式的所述trustzone協(xié)處理器控制安全域操作系統(tǒng)在所述安全內(nèi)存區(qū)域中運(yùn)行,包括:將進(jìn)入監(jiān)控模式的trustzone協(xié)處理器的安全配置寄存器的ns位修改為0,以使trustzone協(xié)處理器控制所述安全域操作系統(tǒng)在所述安全內(nèi)存區(qū)域中運(yùn)行。
本發(fā)明上述實(shí)施例中,通過(guò)對(duì)智能終端的arm(advancedriscmachines)處理器進(jìn)行擴(kuò)展,以在智能終端內(nèi)增加一個(gè)攜帶trustzone的協(xié)處理器(比如cp15協(xié)處理器)。攜帶trustzone協(xié)處理器中有一個(gè)安全配置寄存器,該寄存器中有一個(gè)ns位,這個(gè)ns位指明當(dāng)前智能終端的狀態(tài),如果ns位為0,則當(dāng)前智能終端處于安全態(tài),可以在安全內(nèi)存區(qū)域運(yùn)行安全域操作系統(tǒng);如果ns位為1,則當(dāng)前智能終端處于非安全態(tài),可以在普通內(nèi)存區(qū)域運(yùn)行普通域操作系統(tǒng)。同時(shí),由于安全配置寄存器的ns位只有在trustzone協(xié)處理器處于監(jiān)控模式時(shí)才能被更改,因此,在針對(duì)智能終端的操作系統(tǒng)環(huán)境進(jìn)行切換時(shí),可以在trustzone協(xié)處理器處于監(jiān)控模式的前提下,通過(guò)改變安全配置寄存器的ns位來(lái)實(shí)現(xiàn)切換智能終端的普通域操作系統(tǒng)和安全域操作系統(tǒng)。
由于安全內(nèi)存區(qū)域的應(yīng)用程序在非監(jiān)控模式下直接將安全配置寄存器的ns位設(shè)置為1,則智能終端直接進(jìn)入非安全狀態(tài),這使得運(yùn)行于普通內(nèi)存區(qū)域的應(yīng)用程序能夠訪問處理器正在接收的指令,以及處于寄存器中的數(shù)據(jù),使得用戶數(shù)據(jù)存在被竊取的風(fēng)險(xiǎn)。因此,無(wú)論是需要從普通域操作系統(tǒng)切換到安全域操作系統(tǒng),還是從安全域操作系統(tǒng)切換到普通域操作系統(tǒng),均只有在trustzone協(xié)處理器處于監(jiān)控模式下才能直接修改安全配置寄存器的ns位。
本發(fā)明一實(shí)施例中,待隔離用戶數(shù)據(jù)的類型具體可以包括應(yīng)用程序或待存儲(chǔ)數(shù)據(jù)。
具體地,當(dāng)所述待隔離用戶數(shù)據(jù)包括至少一個(gè)應(yīng)用程序時(shí),所述將讀取的所述待隔離用戶數(shù)據(jù)加載到所述安全內(nèi)存區(qū)域,包括:控制各個(gè)所述應(yīng)用程序在所述安全內(nèi)存區(qū)域上運(yùn)行。運(yùn)行于普通內(nèi)存區(qū)域的應(yīng)用程序無(wú)法直接訪問運(yùn)行在安全內(nèi)存區(qū)域的應(yīng)用程序,可提高運(yùn)行于安全內(nèi)存區(qū)域的各個(gè)應(yīng)用程序的安全性。
相應(yīng)的,當(dāng)所述待隔離用戶數(shù)據(jù)包括至少一個(gè)應(yīng)用程序時(shí),所述將讀取的所述待隔離用戶數(shù)據(jù)加載到所述安全內(nèi)存區(qū)域,包括:控制各個(gè)所述應(yīng)用程序在所述安全內(nèi)存區(qū)域上運(yùn)行。運(yùn)行于普通內(nèi)存區(qū)域的應(yīng)用程序無(wú)法直接訪問存儲(chǔ)在安全內(nèi)存區(qū)域的各個(gè)待存儲(chǔ)數(shù)據(jù),可提高存儲(chǔ)在安全內(nèi)存區(qū)域的各個(gè)待存儲(chǔ)數(shù)據(jù)的安全性。
為了進(jìn)一步提高各個(gè)待存儲(chǔ)數(shù)據(jù)的安全性,本發(fā)明一個(gè)實(shí)施例中,所述將讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)寫入所述安全內(nèi)存區(qū)域,包括:根據(jù)預(yù)先設(shè)置在所述trustzone協(xié)處理器中的加密秘鑰對(duì)讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)進(jìn)行加密以形成密文,并將形成的密文寫入所述的安全內(nèi)存區(qū)域。
具體地,這里可以在trustzone協(xié)處理器中預(yù)先設(shè)置相對(duì)應(yīng)的加密算法及解密算法,比如aes(advancedencryptionstandard,高級(jí)加密標(biāo)準(zhǔn))加密算法和aes解密算法,通過(guò)讀寫監(jiān)聽函數(shù)對(duì)安全域內(nèi)存區(qū)域中的數(shù)據(jù)讀寫請(qǐng)求進(jìn)行監(jiān)聽。當(dāng)監(jiān)聽到存在待存儲(chǔ)數(shù)據(jù)需要被寫入安全內(nèi)存區(qū)域時(shí),可以通過(guò)aes加密算法對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行加密以形成密文,然后將密文寫入到安全內(nèi)存區(qū)域;當(dāng)監(jiān)聽到存在寫入安全內(nèi)存區(qū)域的密文需要被讀取時(shí),則可通過(guò)aes解密算法對(duì)讀取的密文進(jìn)行解析以得到相應(yīng)的待存儲(chǔ)數(shù)據(jù)。
為了更加清楚的說(shuō)明本發(fā)明的技術(shù)方案及優(yōu)點(diǎn),本發(fā)明實(shí)施例提供了另一種基于trustzone隔離用戶數(shù)據(jù)的方法,以結(jié)合用戶需求對(duì)智能手機(jī)接收的用戶數(shù)據(jù)進(jìn)行隔離為例,如圖2所以,具體可以包括如下各個(gè)步驟:
步驟201,在智能手機(jī)內(nèi)設(shè)置trustzone協(xié)處理器。
步驟202,在智能手機(jī)的內(nèi)存上設(shè)置普通內(nèi)存區(qū)域、共享內(nèi)存區(qū)域和安全內(nèi)存區(qū)域。
步驟203,在trustzone協(xié)處理器內(nèi)分別設(shè)置相互對(duì)應(yīng)的aes加密模塊和aes解密模塊。
步驟204,用戶通過(guò)運(yùn)行于普通內(nèi)存區(qū)域的普通域操作系統(tǒng)操作智能手機(jī)。
步驟205,通過(guò)運(yùn)行的普通域操作系統(tǒng)控制智能手機(jī)上的相應(yīng)客戶端程序接收用戶數(shù)據(jù),并將接收的用戶數(shù)據(jù)存儲(chǔ)至共享內(nèi)存區(qū)域。
步驟206,通過(guò)運(yùn)行的普通域操作系統(tǒng)向trustzone協(xié)處理器的中斷控制器發(fā)送快速中斷信號(hào)。
步驟207,中斷控制器在接收到終端信號(hào)時(shí),控制trustzone協(xié)處理器進(jìn)入監(jiān)控模式。
步驟208,將進(jìn)入監(jiān)控模式的trustzone協(xié)處理器的安全配置寄存器的ns位修改為0,使得trustzone協(xié)處理器控制安全域操作系統(tǒng)在安全內(nèi)存區(qū)域中運(yùn)行。
步驟209,運(yùn)行的安全域操作系統(tǒng)從共享內(nèi)存區(qū)域讀取待隔離的用戶數(shù)據(jù)。
步驟210,通過(guò)安全域操作系統(tǒng)的讀寫監(jiān)聽函數(shù)對(duì)安全域內(nèi)存區(qū)域中的數(shù)據(jù)讀寫請(qǐng)求進(jìn)行監(jiān)聽,在監(jiān)聽到安全域操作系統(tǒng)需要將讀取的用戶數(shù)據(jù)寫入安全內(nèi)存區(qū)域時(shí),通過(guò)預(yù)先設(shè)置在trustzone協(xié)處理器內(nèi)的aes加密模塊對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行加密以形成密文,并將形成的密文寫入到安全內(nèi)存區(qū)域。
步驟211,通過(guò)安全域操作系統(tǒng)的讀寫監(jiān)聽函數(shù)對(duì)安全域內(nèi)存區(qū)域中的數(shù)據(jù)讀寫請(qǐng)求進(jìn)行監(jiān)聽,在監(jiān)聽到安全域操作系統(tǒng)讀取了寫入安全內(nèi)存區(qū)域的密文時(shí),通過(guò)預(yù)先設(shè)置在trustzone協(xié)處理器內(nèi)的aes解密模塊對(duì)讀取的密文進(jìn)行解密以得到對(duì)應(yīng)的用戶數(shù)據(jù)。
本發(fā)明實(shí)施例中,用戶可實(shí)現(xiàn)通過(guò)普通域操作系統(tǒng)控制相應(yīng)的應(yīng)用程序在智能手機(jī)的普通內(nèi)存區(qū)域運(yùn)行,通過(guò)安全域操作系統(tǒng)控制安全性要求較高的各個(gè)應(yīng)用程序在智能手機(jī)的安全內(nèi)存區(qū)域運(yùn)行,同時(shí),還可以通過(guò)由普通域操作系統(tǒng)向安全域操作系統(tǒng)進(jìn)行切換,切換操作系統(tǒng)的同時(shí),用戶可結(jié)合實(shí)際業(yè)務(wù)需求將普通域操作系統(tǒng)中待存儲(chǔ)的用戶數(shù)據(jù)隔離到安全內(nèi)存區(qū)域,從而提高相應(yīng)應(yīng)用程序及待存儲(chǔ)數(shù)據(jù)的安全性。
如圖3所示,本發(fā)明實(shí)施例提供了一種基于trustzone隔離用戶數(shù)據(jù)的系統(tǒng),包括:
trustzone協(xié)處理器301、設(shè)置模塊302、控制模塊303、普通域操作系統(tǒng)304和安全域操作系統(tǒng)305;其中,
所述設(shè)置模塊302,用于在智能終端內(nèi)設(shè)置所述trustzone協(xié)處理器301,以及在所述智能終端的內(nèi)存上設(shè)置普通內(nèi)存區(qū)域、共享內(nèi)存區(qū)域和安全內(nèi)存區(qū)域;
所述普通域操作系統(tǒng)304,用于運(yùn)行于所述普通內(nèi)存區(qū)域,將待隔離用戶數(shù)據(jù)存儲(chǔ)至所述共享內(nèi)存區(qū)域;向所述trustzone協(xié)處理器301的中斷控制器發(fā)送快速中斷信號(hào),以使所述trustzone協(xié)處理器301進(jìn)入監(jiān)控模式;
所述控制模塊303,用于利用進(jìn)入監(jiān)控模式的所述trustzone協(xié)處理器301控制安全域操作系統(tǒng)305在所述安全內(nèi)存區(qū)域中運(yùn)行;
所述安全域操作系統(tǒng)305,用于在所述trustzone協(xié)處理器301的控制下運(yùn)行于所述安全內(nèi)存區(qū)域,從所述共享內(nèi)存區(qū)域讀取所述待隔離用戶數(shù)據(jù),并將讀取的所述待隔離用戶數(shù)據(jù)加載到所述安全內(nèi)存區(qū)域。
本發(fā)明一個(gè)優(yōu)選實(shí)施例中,所述控制模塊303,用于將進(jìn)入監(jiān)控模式的trustzone協(xié)處理器301的安全配置寄存器的ns位修改為0,以使trustzone協(xié)處理器301控制所述安全域操作系統(tǒng)305在所述安全內(nèi)存區(qū)域中運(yùn)行。
本發(fā)明一個(gè)優(yōu)選實(shí)施例中,在所述待隔離用戶數(shù)據(jù)包括至少一個(gè)應(yīng)用程序時(shí),所述安全域操作系統(tǒng)305,用于控制各個(gè)所述應(yīng)用程序在所述安全內(nèi)存區(qū)域上運(yùn)行。
本發(fā)明一個(gè)優(yōu)選實(shí)施例中,在所述待隔離用戶數(shù)據(jù)包括至少一個(gè)待存儲(chǔ)數(shù)據(jù)時(shí),所述安全域操作系統(tǒng)305,用于將讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)寫入所述安全內(nèi)存區(qū)域。
本發(fā)明一個(gè)優(yōu)選實(shí)施例中,所述安全域操作系統(tǒng)305,用于根據(jù)預(yù)先設(shè)置在所述trustzone協(xié)處理器301中的加密秘鑰對(duì)讀取的各個(gè)所述待存儲(chǔ)數(shù)據(jù)進(jìn)行加密以形成密文,并將形成的密文寫入所述的安全內(nèi)存區(qū)域。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
綜上所述,本發(fā)明各個(gè)實(shí)施例至少具有如下有益效果:
1、本發(fā)明一實(shí)施例中,通過(guò)在智能終端的內(nèi)存上設(shè)置普通內(nèi)存區(qū)域、共享內(nèi)存區(qū)域和安全內(nèi)存區(qū)域,同時(shí)在智能終端內(nèi)設(shè)置trustzone協(xié)處理器,普通域操作系統(tǒng)僅能運(yùn)行在普通內(nèi)存區(qū)域,當(dāng)需要對(duì)運(yùn)行于普通內(nèi)存區(qū)域的應(yīng)用程序所提供的待隔離數(shù)據(jù)進(jìn)行隔離時(shí),則可通過(guò)普通域操作系統(tǒng)將待隔離數(shù)據(jù)寫入到共享內(nèi)存區(qū)域,然后向trustzone協(xié)處理器的中斷控制器發(fā)送快速中斷信號(hào),使得trustzone協(xié)處理器進(jìn)入監(jiān)控模式,后續(xù)則可通過(guò)處于監(jiān)控模式下的trustzone協(xié)處理器控制安全域操作系統(tǒng)在安全內(nèi)存區(qū)域運(yùn)行,實(shí)現(xiàn)從普通域操作系統(tǒng)切換到安全域操作系統(tǒng),安全域操作系統(tǒng)則可從共享內(nèi)存區(qū)域中讀取相應(yīng)的待隔離數(shù)據(jù),并將讀取的待隔離數(shù)據(jù)加載到安全內(nèi)存區(qū)域。綜上所述,通過(guò)對(duì)智能終端的內(nèi)存提供硬件保護(hù)以將智能終端的內(nèi)存設(shè)置為多個(gè)內(nèi)存區(qū)域,將待隔離數(shù)據(jù)加載到安全內(nèi)存區(qū)域之后,由于運(yùn)行于普通內(nèi)存區(qū)域中的應(yīng)用程序并不能直接訪問安全內(nèi)存區(qū)域,使得運(yùn)行于普通內(nèi)存區(qū)域的各個(gè)應(yīng)用程序無(wú)法竊取加載到安全內(nèi)存區(qū)域內(nèi)的用戶數(shù)據(jù),從而提高用戶數(shù)據(jù)的安全性。
2、本發(fā)明一實(shí)施例中,無(wú)論是需要從普通域操作系統(tǒng)切換到安全域操作系統(tǒng),還是從安全域操作系統(tǒng)切換到普通域操作系統(tǒng),均只有在trustzone協(xié)處理器處于監(jiān)控模式下才能直接修改安全配置寄存器的ns位,防止安全內(nèi)存區(qū)域的應(yīng)用程序在非監(jiān)控模式下直接進(jìn)入非安全狀態(tài),避免運(yùn)行于普通內(nèi)存區(qū)域的應(yīng)用程序訪問處理器正在接收的指令,以及處于寄存器中的數(shù)據(jù),防止用戶數(shù)據(jù)被竊取。
3、本發(fā)明一實(shí)施例中,通過(guò)相應(yīng)的加密算法對(duì)需要被隔離在安全內(nèi)存區(qū)域的用戶數(shù)據(jù)進(jìn)行加密存儲(chǔ),進(jìn)一步提高用戶數(shù)據(jù)的安全性。
需要說(shuō)明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)〃····〃”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同因素。
最后需要說(shuō)明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說(shuō)明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。