• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Secure Enclave安全體系技術(shù)分析與研究

      2018-01-29 01:42:15廖正赟郭建勝
      關(guān)鍵詞:內(nèi)核中斷應(yīng)用程序

      廖正赟,郭建勝

      (1.鄭州信大捷安移動(dòng)信息安全工程實(shí)驗(yàn)室,河南 鄭州 450004;2.信息工程大學(xué),河南 鄭州 450004)

      0 前言

      移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展大大推動(dòng)了移動(dòng)電子政務(wù)、移動(dòng)電子商務(wù)的快速發(fā)展,移動(dòng)智能終端作為移動(dòng)互聯(lián)網(wǎng)的必不可少承載設(shè)備,也已經(jīng)成為人們隨身攜帶、隨時(shí)使用的重要通信工具。在移動(dòng)支付、移動(dòng)辦公等高敏感應(yīng)用中涉及個(gè)人隱私、資金安全、商業(yè)秘密等高敏感的信息處理,需要從系統(tǒng)設(shè)計(jì)出發(fā),構(gòu)建完整的安全解決方案為其提供保障。

      信息安全主要包括4個(gè)方面: 信息設(shè)備安全、數(shù)據(jù)安全、內(nèi)容安全和行為安全。信息系統(tǒng)硬件結(jié)構(gòu)的安全和操作系統(tǒng)的安全是信息系統(tǒng)安全的基礎(chǔ),密碼、網(wǎng)絡(luò)安全等技術(shù)是關(guān)鍵技術(shù),只有從信息系統(tǒng)的硬件和軟件的底層采取安全措施,從整體上采取措施,才能有效地確保信息系統(tǒng)的安全[1-2]。

      目前在國內(nèi)外市場中,較為完善的方案是Apple公司設(shè)計(jì)的iOS安全體系框架,從系統(tǒng)安全、數(shù)據(jù)保護(hù)、應(yīng)用安全、網(wǎng)絡(luò)安全、設(shè)備管控等方面保障iOS設(shè)備安全。iOS安全體系分為硬件層和軟件層。硬件層包括密鑰管理、密碼引擎;管理的密鑰主要是Apple根證書、群密鑰、設(shè)備密鑰等;密碼引擎對系統(tǒng)提供密碼服務(wù)和算法API。在軟件層,加密文件系統(tǒng)通過iOS內(nèi)核層的硬件驅(qū)動(dòng)調(diào)用硬件層的密碼服務(wù);加密文件系統(tǒng)分為操作系統(tǒng)區(qū)和用戶區(qū),操作系統(tǒng)區(qū)負(fù)責(zé)iOS系統(tǒng)程序的密碼服務(wù),用戶區(qū)負(fù)責(zé)App應(yīng)用的密碼服務(wù),以沙箱的形式控制App應(yīng)用運(yùn)行。iOS安全體系如圖1所示。

      圖1 iOS安全體系框架

      在iOS的安全體系中有一個(gè)安全硬件模塊Secure Enclave,采用了Apple A7芯片,獨(dú)立于應(yīng)用程序處理器之外,具備自己的安全啟動(dòng)和個(gè)性化軟件更新,為系統(tǒng)提供敏感數(shù)據(jù)、密鑰存儲(chǔ)和加解密服務(wù),并且限制其他非法軟件的訪問,即使在內(nèi)核遭到入侵的情況下,也可維護(hù)數(shù)據(jù)保護(hù)的完整性。

      Secure Enclave是一個(gè)典型的密碼嵌入式系統(tǒng),由軟件和硬件兩部分組成,本文將從Secure Enclave的硬件、處理器內(nèi)部操作系統(tǒng)、通信機(jī)制三方面進(jìn)行分析,對該系統(tǒng)的安全性進(jìn)行分析,最后進(jìn)行了總結(jié)與展望。

      1 安全隔離處理器硬件設(shè)計(jì)

      安全隔離處理器(Secure Enclave Processor,SEP)采用SoC內(nèi)部集成SoC的形態(tài)出現(xiàn)[3]。片上系統(tǒng)(System on Chip,SoC),從狹義角度來說,它是信息系統(tǒng)核心的芯片集成,是將系統(tǒng)關(guān)鍵部件集成在一塊芯片上;從廣義角度來說,SoC 是一個(gè)微小型系統(tǒng),國內(nèi)外學(xué)術(shù)界一般傾向?qū)?SoC 定義為將微控制器、模擬IP核、數(shù)字IP核和存儲(chǔ)器集成在單一芯片上,通常是客戶定制的,或是面向特定用途的標(biāo)準(zhǔn)產(chǎn)品。iOS設(shè)備的硬件邏輯組成結(jié)構(gòu)如圖2所示。

      圖2 iOS設(shè)備處理器邏輯結(jié)構(gòu)圖

      1.1 系統(tǒng)組成

      硬件架構(gòu)中包含了兩類處理器:通用應(yīng)用處理器與安全處理器。CPU處理單元也稱為應(yīng)用處理器(Application Processor,AP),它包括一個(gè)或多個(gè)處理器和二級(jí)(L2)高速緩存,與SEP相互隔離,對SEP的訪問受到硬件的嚴(yán)格控制。SEP內(nèi)部包括一個(gè)或多個(gè)處理器核心,安全引導(dǎo)ROM以及一個(gè)或多個(gè)安全外圍設(shè)備。

      1.2 內(nèi)存保護(hù)

      SEP需要使用超過4 KB的易失性存儲(chǔ)器,內(nèi)部的SRAM的空間不能滿足要求,因此需要利用外部擴(kuò)展的存儲(chǔ)器,這一部分的存儲(chǔ)器需要防止AP的篡改。在SoC的存儲(chǔ)器控制器中,通過增加寄存器的方式,為SEP構(gòu)建了單獨(dú)的信任區(qū)。AP可以訪問自己的信任區(qū)域,但不能訪問SEP信任區(qū)域,SEP可以訪問自己的信任區(qū)域,但不能訪問CPU信任區(qū)域,而SoC的其他組件無法訪問任何信任區(qū)域。SEP通過內(nèi)存映射操作的方式獨(dú)占一組外設(shè),這一部分硬件設(shè)備不能被應(yīng)用處理器訪問,這些設(shè)備包括:硬件加密引擎、隨機(jī)數(shù)發(fā)生器、熔斷器、GID/UID、安全只讀存儲(chǔ)器。在完成內(nèi)存映射工作后,SEP通過隨機(jī)數(shù)發(fā)生器產(chǎn)生“真隨機(jī)數(shù)”,以此隨機(jī)數(shù)作為輸入,計(jì)算出工作密鑰。工作密鑰將存入硬件加密引擎中,SEP將使用該工作密鑰對內(nèi)存中的數(shù)據(jù)進(jìn)行加密保護(hù)。加密算法采用AES-256,使用XEX的工作模式。

      1.3 安全啟動(dòng)

      基于安全引導(dǎo)存儲(chǔ)區(qū)的設(shè)計(jì),SEP可以實(shí)現(xiàn)片內(nèi)操作系統(tǒng)的安全啟動(dòng)。SEP的啟動(dòng)代碼存儲(chǔ)在安全只讀存儲(chǔ)器(ROM)中,而安全ROM對于SEP外部是不可訪問的,因此,不會(huì)受到修改引導(dǎo)代碼的影響。 SEP中的處理器可以直接從安全ROM執(zhí)行,避免將代碼復(fù)制到諸如隨機(jī)存取存儲(chǔ)器(RAM)的可修改存儲(chǔ)器,SEP與安全ROM呈現(xiàn)的“攻擊面”相對較小。

      2 片內(nèi)安全操作系統(tǒng)

      SEPOS是一個(gè)完全獨(dú)立的操作系統(tǒng),擁有私有的內(nèi)核、驅(qū)動(dòng)程序、服務(wù)和應(yīng)用程序,通用的操作系統(tǒng)在安全性的驗(yàn)證上較為困難,因此SEPOS采用了L4微內(nèi)核嵌入式系統(tǒng)的方案,確保提供安全保證的部分盡可能地小,而且便于驗(yàn)證。L4微內(nèi)核是由Jochen Liedtke于1993年首次引入的[4],屬于第二代微內(nèi)核系統(tǒng),L4解決了前一代微內(nèi)核性能不佳的問題,并將其性能提高了10~20倍[5]。L4在設(shè)計(jì)中遵循了信息保護(hù)機(jī)制中的保護(hù)原則[6]。在后來的應(yīng)用中,L4被開發(fā)用于平臺(tái)無關(guān)性,以及提高安全性、隔離性和健壯性。SEPOS的整體結(jié)構(gòu)如圖3所示[7]。

      在SEPOS的啟動(dòng)過程中,內(nèi)核首先對系統(tǒng)進(jìn)行初始化操作,包括初始化內(nèi)核表,設(shè)置內(nèi)核接口頁(KIP),配置硬件中斷,啟動(dòng)定時(shí)器,初始化映射數(shù)據(jù)庫,啟動(dòng)內(nèi)核調(diào)度器。內(nèi)核調(diào)度程序啟動(dòng)所有中斷和內(nèi)核線程,以及稱為根進(jìn)程的初始進(jìn)程。

      2.1 根進(jìn)程

      在SEPOS中,根進(jìn)程負(fù)責(zé)啟動(dòng)在SEPOS中運(yùn)行的其余應(yīng)用程序,并維護(hù)關(guān)于每個(gè)正在運(yùn)行的任務(wù)的上下文信息。這包括有關(guān)任務(wù)的虛擬地址空間、權(quán)限級(jí)別、正在運(yùn)行的線程等的信息。根進(jìn)程還調(diào)用啟動(dòng)服務(wù)器,這是一種基于IPC的服務(wù),它為應(yīng)用程序提供所需的服務(wù),以便執(zhí)行諸如映射虛擬內(nèi)存或啟動(dòng)新線程等特權(quán)任務(wù)。

      2.2 權(quán)限和訪問控制

      SEPOS的L4內(nèi)核遵循“最小特權(quán)原則”,對外只提供很小一部分的接口。在內(nèi)核空間中,對于來自用戶空間的系統(tǒng)調(diào)用,只有根進(jìn)程可以響應(yīng)。其他的應(yīng)用進(jìn)程由引導(dǎo)服務(wù)創(chuàng)建,在進(jìn)程創(chuàng)建時(shí),引導(dǎo)服務(wù)為每個(gè)進(jìn)程定義了權(quán)限級(jí)別。應(yīng)用進(jìn)程訪問系統(tǒng)方法時(shí),需要經(jīng)過權(quán)限校驗(yàn),只響應(yīng)滿足條件的應(yīng)用進(jìn)程。系統(tǒng)方法的權(quán)限校驗(yàn)粒度較細(xì),每一個(gè)方法都需要進(jìn)行獨(dú)立的驗(yàn)證。

      當(dāng)根進(jìn)程啟動(dòng)時(shí),它會(huì)嘗試在內(nèi)存中查找兩個(gè)表:“根參數(shù)”和“應(yīng)用程序列表”。應(yīng)用程序列表固化在SEPOS的固件中,列表包含了的系統(tǒng)中所有應(yīng)用程序的物理地址、虛擬基地址、模塊名稱、程序大小和程序的入口點(diǎn)信息。引導(dǎo)程序在啟動(dòng)、加載應(yīng)用時(shí),根據(jù)應(yīng)用程序列表逐項(xiàng)進(jìn)行檢查,只有完全匹配的應(yīng)用程序才能正常運(yùn)行。

      3 安全通信機(jī)制

      SEP系統(tǒng)設(shè)計(jì)時(shí)遵循了隔離性原則,SEP處理器在軟硬件方面都采用了相應(yīng)的措施與外部組件進(jìn)行隔離。但是要實(shí)現(xiàn)SEP的安全功能,SEP與應(yīng)用處理器之間需要進(jìn)行雙向通信。系統(tǒng)設(shè)計(jì)了“安全郵箱(Secure Mailbox)”機(jī)制,本質(zhì)上是利用AP和SEP處理器都可見的共享內(nèi)存區(qū)域,實(shí)現(xiàn)了消息請求和響應(yīng)機(jī)制,Mailbox同時(shí)包含了收件箱和發(fā)件箱。

      3.1 內(nèi)存共享

      AP與SEP之間的內(nèi)存共享是通過配置SEP的設(shè)備I/O寄存器實(shí)現(xiàn)的。SEP在設(shè)備中分配的內(nèi)存地址范圍是固定的,系統(tǒng)將設(shè)備I/O寄存器映射在該范圍中,通過對不同偏移地址的讀寫,實(shí)現(xiàn)消息的發(fā)送和接收操作。

      3.2 消息中斷

      消息中斷機(jī)制也可以形象地稱為“門鈴”機(jī)制,設(shè)備可以向框架注冊回調(diào)處理方法。當(dāng)AP向SEP發(fā)送消息時(shí),AP將消息寫入安全郵箱的收件箱,并觸發(fā)消息終端中斷,告知SEP已經(jīng)收到新的消息。這個(gè)中斷不是由AP本身生成的,因?yàn)槿绻鸖EP被中斷很長一段時(shí)間,這可能導(dǎo)致拒絕服務(wù)攻擊。中斷由SEP的硬件過濾器產(chǎn)生,硬件過濾器用于阻止任何外部的讀取或?qū)懭雵L試,并在必要時(shí)為SEP生成中斷。但是,SEP的組件可以完全訪問SoC的其他組件(除了指定為AP信任區(qū)的存儲(chǔ)器部分除外)。

      如果SEP已經(jīng)接收并處理了消息,就把響應(yīng)寫入到發(fā)件箱。為了讓AP知道響應(yīng)已經(jīng)準(zhǔn)備就緒,它通過向SoC的中斷控制器發(fā)送一個(gè)中斷消息來向CPU處理器發(fā)出中斷信號(hào)。

      3.3 SEP管理器

      SEP端點(diǎn)是與SEP內(nèi)部應(yīng)用或服務(wù)進(jìn)行通信的對象,SEP管理器負(fù)責(zé)管理iOS中的所有SEP端點(diǎn),并提供一個(gè)完整的框架為驅(qū)動(dòng)程序提供注冊和通信服務(wù)??蚣転槊恳粋€(gè)注冊的SEP端點(diǎn)分配全局唯一的索引值,并抽象出統(tǒng)一的操作方法:接收和發(fā)送消息,為每一個(gè)SEP端點(diǎn)維護(hù)一個(gè)消息接收隊(duì)列。消息頭結(jié)構(gòu)中使用端點(diǎn)的索引值標(biāo)識(shí)目的地址,管理器提供了一種“郵差”機(jī)制,將這些消息傳遞到目的地。

      4 安全性分析

      4.1 獨(dú)享硬件環(huán)境

      Secure Enclave是一個(gè)嵌入式安全子系統(tǒng)。它由可信硬件構(gòu)成,運(yùn)行獨(dú)立安全操作系統(tǒng),是密碼服務(wù)實(shí)現(xiàn)的專用環(huán)境,從硬件環(huán)境上確保密碼服務(wù)系統(tǒng)以及密碼設(shè)備平穩(wěn)運(yùn)行、安全服務(wù)。

      在體系設(shè)計(jì)上引入專用安全芯片系統(tǒng),為密碼服務(wù)提供專用運(yùn)行環(huán)境。在服務(wù)系統(tǒng)內(nèi)部建立構(gòu)成“私有區(qū)域”和“公開區(qū)域”的概念,進(jìn)一步采用多種方法保障“私有區(qū)域”的安全,而不需要對公開區(qū)域提出很高的安全要求。其優(yōu)點(diǎn)是不僅可以提高密碼服務(wù)實(shí)現(xiàn)的效率,更主要的是給邏輯防護(hù)設(shè)計(jì)提供了良好條件,突出了安全防護(hù)的重點(diǎn)。

      作為嵌入式計(jì)算系統(tǒng),硬件上可以通過高速系統(tǒng)總線與主環(huán)境連接,二者之間的

      安全通道需要雙方達(dá)成安全協(xié)議,進(jìn)行實(shí)體認(rèn)證后通過加密的方式建立安全數(shù)據(jù)傳輸。

      4.2 安全運(yùn)行內(nèi)核

      在安全子環(huán)境內(nèi)建立專門用于安全防護(hù)的安全核(Security Kernel)。這里的安全防護(hù)主要是指在用戶調(diào)用密碼服務(wù)過程中涉及的有可能危害到密碼服務(wù)系統(tǒng)安全的操作防護(hù),如密鑰對象的建立、修改和輸出,關(guān)鍵密碼算法的調(diào)用等。

      從層次位置上說,安全核位于密碼服務(wù)層傳遞的應(yīng)用之下,密碼設(shè)備層對象之上,是外界與結(jié)構(gòu)內(nèi)部對象以及結(jié)構(gòu)內(nèi)部對象之間的交互聯(lián)接點(diǎn)。安全核的防護(hù)突出兩點(diǎn),即對象訪問控制和消息過濾。

      安全核的設(shè)計(jì)貫穿了密碼服務(wù)設(shè)計(jì)中建立在集中管理基礎(chǔ)上的邏輯防護(hù)原則。其優(yōu)點(diǎn)是在管理中實(shí)現(xiàn)安全,在安全上提供管理。

      4.3 安全通信機(jī)制

      采用基于中斷的共享內(nèi)存方式,實(shí)現(xiàn)消息的安全傳輸。特別地設(shè)計(jì)了兩個(gè)中斷控制器,通過硬件過濾器的形式,實(shí)現(xiàn)消息的單向擺渡,減少安全系統(tǒng)的攻擊范圍。

      5 結(jié)論

      Apple的Secure Enclave將安全性融入到軟硬件的設(shè)計(jì)中,硬件隔離、安全微內(nèi)核系統(tǒng)和安全通信機(jī)制構(gòu)建了完善的安全框架,很好地解決了敏感數(shù)據(jù)的安全保護(hù)的問題。但是,該方案要求生產(chǎn)者可以完整地掌握SoC元件的生產(chǎn)鏈條,會(huì)在一定程度上加長開發(fā)設(shè)計(jì)周期,并使得測試難度更大。在安全操作系統(tǒng)采取的安全措施相互較為獨(dú)立,沒有形成整體的呼應(yīng)??梢越梃b可信計(jì)算技術(shù),將系統(tǒng)融合成完整的安全體系。

      [1] 沈昌祥. 關(guān)于加強(qiáng)信息安全保障體系的思考[M]. 信息安全綜論. 武漢: 湖北科學(xué)技術(shù)出版社, 2002.

      [2] 張煥國, 王麗娜, 黃傳河, 等. 信息安全學(xué)科建設(shè)與人才培養(yǎng)的研究與實(shí)踐[C]. 全國計(jì)算機(jī)系主任(院長)會(huì)議論文集, 2005.

      [3] Apple Inc. Security enclave processorfor a system on a chip: US, US8832465[P].2012-09-09.

      [4] HEISER G, ELPHINSTONE K. L4 microkernels: the lessons from 20 years of research and deployment[J]. ACM Transactions on Computer Systems, 2016,34(1): 1-29.

      [5] LIEDTKE Jochen. On u-kernel construction[J]. Symposium on Operating Systems, 1995(1): 237-250.

      [6] SALTZER J H, SCHROEDER M D. The protection of information in computer systems[J]. Proceedings of the IEEE, 1975. 63(9): 1278-1308.

      [7] LANGE M, LIEBERGELD S, LACKORZYNSKI A, et al. L4Android: a generic operating system framework for secure smartphones[C].Proceedings of the 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices. NewYork, USA,2011:39-50.

      猜你喜歡
      內(nèi)核中斷應(yīng)用程序
      萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
      強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      刪除Win10中自帶的應(yīng)用程序
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      Linux內(nèi)核mmap保護(hù)機(jī)制研究
      跟蹤導(dǎo)練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      AT89C51與中斷有關(guān)的寄存器功能表解
      FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      平远县| 大石桥市| 云梦县| 双江| 南开区| 登封市| 永靖县| 调兵山市| 肇东市| 松阳县| 临湘市| 清涧县| 武宣县| 个旧市| 梅河口市| 新沂市| 新泰市| 莱西市| 广宁县| 来宾市| 武穴市| 财经| 南投县| 镇坪县| 锦屏县| 原阳县| 漳州市| 高邮市| 鸡西市| 两当县| 新兴县| 开化县| 台中市| 噶尔县| 瑞金市| 景谷| 盐津县| 金寨县| 景泰县| 确山县| 新竹市|