一種基于TrustZone的加密系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明公開一種基于TrustZone的加密系統(tǒng)及方法,屬于移動設(shè)備加密領(lǐng)域。
【背景技術(shù)】
[0002]現(xiàn)在的設(shè)備互聯(lián)與智能化讓龐大的移動與嵌入式OS大行其道,催生了許多的安全問題。移動設(shè)備,如手機、平板電腦、電子書設(shè)備等,往往都會帶有加密系統(tǒng)以完成一些如認證等功能。在現(xiàn)有技術(shù)中,移動設(shè)備的加密系統(tǒng)一般是基于加密芯片的,通過專用接口如I2C接口來與移動設(shè)備的處理器通信,且加解密運算以及認證都在用戶層完成。每個用戶都能訪問到加密芯片,或者通過特定的編程工具將加密芯片中的內(nèi)容取出,甚至可以通過模擬加密芯片運算來達到欺騙認證服務(wù)器的目的,故存在很大的安全隱患。此外,加密芯片跟移動設(shè)備處理器之間是通過I2C等專用接口來通信,制約了加密系統(tǒng)的效率,使得加密系統(tǒng)僅能用作移動設(shè)備的認證功能的工具,使用范圍非常狹窄。為此,本發(fā)明提供一種基于TrustZone的加密系統(tǒng)及方法,通過該方法在TrustZone技術(shù)基礎(chǔ)上,構(gòu)建安全微內(nèi)核使安全區(qū)域與普通區(qū)域隔離,將移動設(shè)備上所有安全性相關(guān)的應(yīng)用都放在安全區(qū)域,從而大大提高了移動設(shè)備的安全性。
[0003]TrustZone的硬件架構(gòu)是整個系統(tǒng)設(shè)計過程中的安全體系擴展,目標是防范設(shè)備可能遭受到的多種特定威脅,比如來自惡意軟件,黑作坊,還可能來自設(shè)備的持有人等。在處理器架構(gòu)上,每個物理的處理器提供兩個虛擬核:非安全核、安全核,這二者之間的切換機制叫做monitor mode,即監(jiān)視模式。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對現(xiàn)有技術(shù)中移動設(shè)備加密系統(tǒng)僅基于加密芯片的完成安全操作,存在很大的安全隱患的不足和問題,提供一種基于TrustZone的加密系統(tǒng)及方法,通過該方法構(gòu)建安全微內(nèi)核使安全區(qū)域與普通區(qū)域隔離,將移動設(shè)備上所有安全性相關(guān)的應(yīng)用都放在安全區(qū)域,從而大大提高了移動設(shè)備的安全性。
[0005]本發(fā)明提出的具體方案是:
一種基于TrustZone的加密方法:
移動設(shè)備系統(tǒng)建立正常模式和安全模式,安全模式下預(yù)置安全微內(nèi)核,安全微內(nèi)核將安全區(qū)內(nèi)存分為多個任務(wù)內(nèi)存空間,支持獨立的安全應(yīng)用程序同時運行;當上層應(yīng)用需要加解密時,進入系統(tǒng)監(jiān)視模式,監(jiān)視模式備份正常模式的上下文,然后進入安全模式,驅(qū)動層接到上層應(yīng)用的調(diào)用命令后,通過TrustZone API調(diào)用安全微內(nèi)核,進入到安全模式的用戶運行模式,執(zhí)行相應(yīng)的安全服務(wù),安全微內(nèi)核經(jīng)過加解密后返回密鑰發(fā)送給服務(wù)器,進行驗證;服務(wù)器驗證通過后,用戶程序與服務(wù)器開始進行正常的數(shù)據(jù)交換,恢復(fù)正常模式上下文。
[0006]所述當上層應(yīng)用需要加解密時,首先進入正常模式的特權(quán)模式,使用SMC指令進入到監(jiān)視模式,監(jiān)視模式再備份正常模式的上下文。
[0007]所述當上層應(yīng)用需要加解密時,通過共享內(nèi)存的方式調(diào)用移動設(shè)備驅(qū)動層接口,驅(qū)動層接到上層應(yīng)用的調(diào)用命令后,通過TrustZone API調(diào)用所述安全微內(nèi)核完成加解密。
[0008]—種基于TrustZone的加密方法:移動設(shè)備系統(tǒng)建立正常模式和安全模式,安全模式下預(yù)置安全微內(nèi)核,安全微內(nèi)核將安全區(qū)內(nèi)存分為多個任務(wù)內(nèi)存空間,支持獨立的安全應(yīng)用程序同時運行;當對移動設(shè)備進行刷機,安全微內(nèi)核利用RSA密鑰加解密燒機固件,用RSA公鑰加解密固件,將對應(yīng)的移動設(shè)備RSA私鑰與固件燒入移動設(shè)備,在啟動移動設(shè)備前驗證移動設(shè)備固件是否被惡意更改。
[0009]所述RSA私鑰認證的信任信息保存在存儲片上ROM中。
[0010]—種基于TrustZone的加密系統(tǒng),應(yīng)用于建立正常模式和安全模式,安全模式下預(yù)置安全微內(nèi)核,安全微內(nèi)核將安全區(qū)內(nèi)存分為多個任務(wù)內(nèi)存空間,支持獨立的安全應(yīng)用程序同時運行的移動設(shè)備,包括驅(qū)動層調(diào)用子模塊,API調(diào)用子模塊,密鑰返回子模塊,密鑰驗證子模塊;
驅(qū)動層調(diào)用子模塊,用于當上層應(yīng)用需要加解密時,通過共享內(nèi)存的方式調(diào)用所述移動設(shè)備驅(qū)動層接口;
API調(diào)用子模塊,用于所述驅(qū)動層接到上層的調(diào)用命令后,通過TrustZone API調(diào)用所述安全微內(nèi)核,以便移動設(shè)備系統(tǒng)進入到安全模式的用戶運行模式,執(zhí)行相應(yīng)的安全服務(wù);
密鑰返回子模塊,用于所述安全微內(nèi)核經(jīng)過加解密后返回密鑰;
密鑰驗證子模塊,用于用戶態(tài)程序?qū)⑺龇祷氐拿荑€發(fā)送給服務(wù)器,進行驗證,以便用戶程序與服務(wù)器開始進行正常的數(shù)據(jù)交換,恢復(fù)正常模式上下文。
[0011]—種基于TrustZone的加密系統(tǒng),應(yīng)用于建立正常模式和安全模式,安全模式下預(yù)置安全微內(nèi)核,安全微內(nèi)核將安全區(qū)內(nèi)存分為多個任務(wù)內(nèi)存空間,支持獨立的安全應(yīng)用程序同時運行的移動設(shè)備,包括驅(qū)動層調(diào)用子模塊,API調(diào)用子模塊,燒入子模塊,密鑰固化子模塊;
驅(qū)動層調(diào)用子模塊,用于當上層應(yīng)用需要加解密時,通過共享內(nèi)存的方式調(diào)用所述移動設(shè)備驅(qū)動層接口;
API調(diào)用子模塊,用于所述驅(qū)動層接到上層的調(diào)用命令后,通過TrustZone API調(diào)用所述安全微內(nèi)核,以便移動設(shè)備系統(tǒng)進入到安全模式的用戶運行模式,執(zhí)行相應(yīng)的安全服務(wù);
燒入子模塊,當對移動設(shè)備進行刷機,用于安全微內(nèi)核將對應(yīng)的RSA私鑰與固件燒入所述移動設(shè)備,查看移動設(shè)備的軟件是否被更改;
密鑰固化子模塊,用于在刷機前利用RSA公鑰加解密燒機固件。
[0012]本發(fā)明的有益之處是:通過本發(fā)明的系統(tǒng)及方法在TrustZone技術(shù)基礎(chǔ)上,構(gòu)建安全微內(nèi)核令安全區(qū)域與普通區(qū)域隔離,將移動設(shè)備上所有安全性相關(guān)的應(yīng)用都放在安全區(qū)域,從而大大提高了移動設(shè)備的安全性。
【附圖說明】
[0013]圖1本發(fā)明加密系統(tǒng)框架示意圖;
圖2本發(fā)明方法流程示意圖。
【具體實施方式】
[0014]結(jié)合附圖進一步闡述本發(fā)明的【具體實施方式】。
[0015]—種基于TrustZone的加密方法,主要為使用一種基于TrustZone的加密系統(tǒng),應(yīng)用于建立正常模式和安全模式,安全模式下預(yù)置安全微內(nèi)核,安全微內(nèi)核將安全區(qū)內(nèi)存分為多個任務(wù)內(nèi)存空間,支持獨立的安全應(yīng)用程序同時運行的移動設(shè)備,包括驅(qū)動層調(diào)用子模塊,API調(diào)用子模塊,密鑰返回子模塊,密鑰驗證子模塊;
驅(qū)動層調(diào)用子模塊,用于當上層應(yīng)用需要加解密時,通過共享內(nèi)存的方式調(diào)用所述移動設(shè)備驅(qū)動層接口;
API調(diào)用子模塊,用于所述驅(qū)動層接到上層的調(diào)用命令后,通過TrustZone API調(diào)用所述安全微內(nèi)核,以便移動設(shè)備系統(tǒng)進入到安全模式的用戶運行模式,執(zhí)行相應(yīng)的安全服務(wù);
密鑰返回子模塊,用于所述安全微內(nèi)核經(jīng)過加解密后返回密鑰;
密鑰驗證子模塊,用于用戶態(tài)程序?qū)⑺龇祷氐拿荑€發(fā)送給服務(wù)器,進行驗證,以便用戶程序與服務(wù)器開始進行正常的數(shù)據(jù)交換,恢復(fù)正常模式上下文。
[0016]從