亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安全控制的多處理器系統(tǒng)的制作方法與工藝

文檔序號(hào):11964971閱讀:226來源:國知局
安全控制的多處理器系統(tǒng)的制作方法與工藝
安全控制的多處理器系統(tǒng)相關(guān)申請(qǐng)的交叉參考本申請(qǐng)要求于2012年4月27日提出申請(qǐng)的美國臨時(shí)專利申請(qǐng)?zhí)?1/639,394的權(quán)益和于2012年6月7日提出申請(qǐng)的美國專利申請(qǐng)?zhí)?3/491,309的權(quán)益,其全部?jī)?nèi)容結(jié)合于此以作參考。技術(shù)領(lǐng)域本發(fā)明涉及計(jì)算機(jī)安全,更具體地,涉及安全處理系統(tǒng)。

背景技術(shù):
安全性是現(xiàn)代計(jì)算機(jī)系統(tǒng)的關(guān)鍵部分。計(jì)算機(jī)安全系統(tǒng)和技術(shù)確保有價(jià)值的信息和系統(tǒng)不會(huì)被黑客或惡意軟件危害。為此,許多組織公開了安全標(biāo)準(zhǔn),供應(yīng)商可以使用這些安全標(biāo)準(zhǔn)作為硬件和/或軟件安全性的準(zhǔn)則。信息技術(shù)安全評(píng)估的通用標(biāo)準(zhǔn)(“通用標(biāo)準(zhǔn)(CommonCriteria)”或“CC”)是目前用作開發(fā)、評(píng)估、和/或采購具有安全功能的IT產(chǎn)品的準(zhǔn)則。CC提供一組公共需求用于IT產(chǎn)品的安全功能和在安全評(píng)估期間應(yīng)用于這些IT產(chǎn)品的保證措施。這些IT產(chǎn)品可以以硬件、固件或軟件實(shí)施。在CC下的評(píng)估過程創(chuàng)建應(yīng)用于IT產(chǎn)品的IT產(chǎn)品的安全功能和保證措施滿足預(yù)定義的需求的置信水平。可以證明遵守CC是國家批準(zhǔn)授權(quán)的,例如美國的國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)國家自愿實(shí)驗(yàn)室認(rèn)證程序(NVLAP)。用戶要求的一個(gè)公共安全需求是,只有通過認(rèn)證(或信任的)代碼可以在系統(tǒng)的安全域(例如,安全處理器)中執(zhí)行。先前用于實(shí)現(xiàn)該需求的方法使用硬件機(jī)制允許單個(gè)處理器作為兩個(gè)處理器在邏輯上工作。然而,從安全的角度來看,該結(jié)構(gòu)要求設(shè)備的安全部分不能與應(yīng)用處理器同時(shí)工作。對(duì)于高安全性應(yīng)用來說,該結(jié)構(gòu)進(jìn)一步不允許經(jīng)過認(rèn)證的處理器響應(yīng)篡改系統(tǒng)的攻擊。而且,在實(shí)現(xiàn)該需求的過程出現(xiàn)的困難在多應(yīng)用環(huán)境中逐漸增加。例如,安全(經(jīng)過認(rèn)證的)應(yīng)用(例如,經(jīng)過認(rèn)證的金融應(yīng)用程序)必須與用戶編寫的小應(yīng)用程序共存。因此,一旦將用戶編寫(不受信任的)的小應(yīng)用程序增加至環(huán)境中,任何認(rèn)證要求會(huì)變得無效。因此,需要保持系統(tǒng)的安全部件的認(rèn)證同時(shí)允許在系統(tǒng)中執(zhí)行不受信任代碼的系統(tǒng)和方法。

技術(shù)實(shí)現(xiàn)要素:
為了解決上述問題,本發(fā)明提供了以下系統(tǒng)和方法:(1)一種系統(tǒng),包括:安全處理系統(tǒng),包括:硬件存儲(chǔ)保護(hù)單元(HMPU),被構(gòu)造為限制對(duì)所述安全處理系統(tǒng)的訪問,安全存儲(chǔ)器被構(gòu)造為存儲(chǔ)安全策略,以及安全處理器被構(gòu)造為執(zhí)行安全代碼,其中,所述安全處理器被構(gòu)造為基于所述安全策略確定是否準(zhǔn)許訪問所述安全處理系統(tǒng)的安全服務(wù)的請(qǐng)求;以及第一處理器,與所述安全處理系統(tǒng)和一組系統(tǒng)外圍設(shè)隔離,其中,所述第一處理器被構(gòu)造為:在所述安全處理器的指示下執(zhí)行代碼,以及將訪問所述安全服務(wù)的所述請(qǐng)求放入所述共享內(nèi)存中。(2)根據(jù)(1)所述的系統(tǒng),其中,所述安全處理系統(tǒng)進(jìn)一步包括隔離橋,所述隔離橋被構(gòu)造為將所述安全處理系統(tǒng)耦接至非安全外圍設(shè)備,其中,所述安全處理器進(jìn)一步被構(gòu)造為基于所述安全策略確定是否指示所述隔離橋?qū)⑺霭踩幚砥黢罱又了龇前踩鈬O(shè)備。(3)根據(jù)(2)所述的系統(tǒng),進(jìn)一步包括耦接至所述第一處理器的內(nèi)存,其中,所述內(nèi)存與所述安全處理系統(tǒng)和所述一組系統(tǒng)外圍設(shè)備隔離。(4)根據(jù)(3)所述的系統(tǒng),其中,所述安全處理器進(jìn)一步被構(gòu)造為指示所述隔離橋?qū)⑺鰞?nèi)存耦接至非安全外圍設(shè)備以使所述代碼能夠加載到所述內(nèi)存中。(5)根據(jù)(3)所述的系統(tǒng),其中,所述HMPU通過執(zhí)行沙盒限制訪問所述安全處理系統(tǒng),其中,所述沙盒包括所述內(nèi)存、所述第一處理器和所述共享內(nèi)存。(6)根據(jù)(1)所述的系統(tǒng),其中,所述安全處理器被認(rèn)證為只執(zhí)行安全代碼。(7)根據(jù)(1)所述的系統(tǒng),其中,所述安全處理系統(tǒng)進(jìn)一步包括加密總線。(8)根據(jù)(1)所述的系統(tǒng),其中,所述安全處理器被構(gòu)造為執(zhí)行安全操作系統(tǒng)代碼。(9)根據(jù)(1)所述的系統(tǒng),其中,所述安全處理系統(tǒng)包括安全監(jiān)控模塊,所述安全監(jiān)控模塊被構(gòu)造為檢測(cè)篡改所述安全處理系統(tǒng)的攻擊。(10)一種系統(tǒng),包括:第一處理器,安全處理系統(tǒng),包括:安全內(nèi)存,存儲(chǔ)安全策略,隔離橋,被構(gòu)造為將系統(tǒng)外圍設(shè)備耦接至所述安全處理系統(tǒng),以及安全處理器,其中,所述安全處理器被構(gòu)造為基于所述安全策略確定是否指示所示隔離橋?qū)⑺鱿到y(tǒng)外圍設(shè)備耦接至所述安全處理系統(tǒng);以及硬件內(nèi)存保護(hù)單元(HMPU),被構(gòu)造為將所述第一處理器與所述安全處理系統(tǒng)和所述系統(tǒng)外圍設(shè)備隔離。(11)根據(jù)(10)所述的系統(tǒng),其中,所述第一處理器和所述安全處理系統(tǒng)都被耦接到共享內(nèi)存,其中,所述HMPU進(jìn)一步被構(gòu)造為將所述第一處理器和所述共享內(nèi)存與所述安全處理系統(tǒng)和所述系統(tǒng)外圍設(shè)備隔離。(12)根據(jù)(11)所述的系統(tǒng),其中,所述第一處理器被構(gòu)造為將向所述系統(tǒng)外圍設(shè)備釋放數(shù)據(jù)的請(qǐng)求放入所述共享內(nèi)存。(13)根據(jù)(12)所述的系統(tǒng),其中,所述安全處理器進(jìn)一步被構(gòu)造為:基于所述安全策略確定是否準(zhǔn)許所述請(qǐng)求;以及響應(yīng)于確定應(yīng)當(dāng)準(zhǔn)許所述請(qǐng)求,指示所述隔離橋?qū)⑺鱿到y(tǒng)外圍設(shè)備耦接至所述安全處理系統(tǒng)。(14)根據(jù)(10)所述的系統(tǒng),其中,所述HMPU通過在所述內(nèi)存、所述第一處理器和所述共享內(nèi)存周圍執(zhí)行沙盒將所述第一處理器與所述安全處理系統(tǒng)和所述系統(tǒng)外圍設(shè)備隔離。(15)根據(jù)(10)所述的系統(tǒng),其中,所述安全處理器被認(rèn)證為只執(zhí)行安全代碼。(16)一種方法,包括:利用安全處理器檢測(cè)對(duì)安全服務(wù)的第一請(qǐng)求,其中,通過與所述安全處理器物理隔離的非安全處理器將所述第一請(qǐng)求放入共享內(nèi)存中;利用所述安全處理器分析存儲(chǔ)的安全策略以確定是否準(zhǔn)許所述第一請(qǐng)求;以及響應(yīng)于應(yīng)當(dāng)準(zhǔn)許所述第一請(qǐng)求的確定:利用所述安全處理器處理所述第一請(qǐng)求,以及將響應(yīng)放入所述共享內(nèi)存中。(17)根據(jù)(16)所述的方法,進(jìn)一步包括:從安全監(jiān)控器接收表明已經(jīng)出現(xiàn)對(duì)所述安全處理器的試圖攻擊的信息;以及響應(yīng)于接收所述信息確定不應(yīng)當(dāng)準(zhǔn)許所述第一請(qǐng)求。(18)根據(jù)(16)所述的方法,進(jìn)一步包括:檢測(cè)將數(shù)據(jù)釋放至系統(tǒng)外圍設(shè)備的第二請(qǐng)求,其中,所述第二請(qǐng)求通過所述非安全處理器被放入所述共享內(nèi)存中,以及其中所述系統(tǒng)外圍設(shè)備通過隔離橋與所述安全處理器隔離;利用所述安全處理器分析存儲(chǔ)的安全策略以確定是否準(zhǔn)許所述第二請(qǐng)求;以及響應(yīng)于應(yīng)當(dāng)允許所述第二請(qǐng)求的確定,指示所述隔離橋?qū)⑺龇前踩幚砥黢罱又了鱿到y(tǒng)外圍設(shè)備。(19)根據(jù)(18)所述的方法,進(jìn)一步包括:從安全監(jiān)控器接收表明已經(jīng)出現(xiàn)對(duì)所述安全處理器的試圖攻擊的信息;以及響應(yīng)于接收所述信息確定不應(yīng)當(dāng)準(zhǔn)許所述第二請(qǐng)求。(20)根據(jù)(16)所述的方法,進(jìn)一步包括:利用所述安全處理器接收將額外的非安全代碼加載到非安全內(nèi)存中的第三請(qǐng)求,其中,所述非安全內(nèi)存被耦接至所述非安全處理器,并且與所述安全處理器隔離;以及基于所述安全策略確定是否準(zhǔn)許所述第三請(qǐng)求。附圖說明包括在說明書中并構(gòu)成說明書的部分示出本發(fā)明的實(shí)施方式的附圖,連同以上提供的一般說明和以下提供的實(shí)施方式的詳細(xì)描述用于說明本發(fā)明的原理。在附圖中:圖1是根據(jù)本發(fā)明實(shí)施方式的包括安全處理系統(tǒng)和用于執(zhí)行不受信任代碼的非安全沙盒的系統(tǒng)的方框圖。圖2是根據(jù)本發(fā)明實(shí)施方式的包括安全處理系統(tǒng)和用于執(zhí)行不受信任代碼的非安全沙盒的系統(tǒng)的另一個(gè)方框圖。圖3是根據(jù)本發(fā)明實(shí)施方式的用于請(qǐng)求安全服務(wù)的方法的流程圖。結(jié)合附圖,根據(jù)下面闡述的詳細(xì)說明將更明顯地看出本發(fā)明的特征和優(yōu)勢(shì),在附圖中相似的參考字符表示相對(duì)應(yīng)的元件。在附圖中,相似的參考數(shù)字一般表示相同的、功能相似的、和/或結(jié)構(gòu)相似的元件。第一次出現(xiàn)元件的附圖由相對(duì)應(yīng)的參考數(shù)字中的最左邊的數(shù)字指示。具體實(shí)施方式在下面的描述中,闡述了許多具體細(xì)節(jié)以便于更透徹地理解本發(fā)明。然而,本領(lǐng)域的技術(shù)人員將理解,本發(fā)明,包括結(jié)構(gòu)、系統(tǒng)和方法,可以在無這些特定細(xì)節(jié)的情況下實(shí)施。本文中的描述和表示是本領(lǐng)域的有經(jīng)驗(yàn)或普通技術(shù)人員使用的常見方法,從而將其作品的本質(zhì)最有效地傳遞給本領(lǐng)域的技術(shù)人員。在其他情況下,為了避免不必要地模糊本發(fā)明的方面,未詳細(xì)描述眾所周知的方法、過程、部件和電路。說明書中引用的“一個(gè)實(shí)施方式”、“實(shí)施方式”“實(shí)例實(shí)施方式”等表明所描述的實(shí)施方式包括特定特征、結(jié)構(gòu)或特點(diǎn),但是每個(gè)實(shí)施方式不一定包括特定特征、結(jié)構(gòu)或特點(diǎn)。而且,這些短語不一定是指相同的實(shí)施方式。進(jìn)一步,當(dāng)結(jié)合實(shí)施方式描述特定特征、結(jié)構(gòu)、或特點(diǎn)時(shí),特定特征、結(jié)構(gòu)或特點(diǎn)在本領(lǐng)域技術(shù)人員的知識(shí)范圍內(nèi),無論是否明確描述,結(jié)合其他示例性的實(shí)施方式會(huì)影響這些特征、結(jié)構(gòu)或者特點(diǎn)。1、概要本發(fā)明實(shí)施方式提供了用于實(shí)施安全處理系統(tǒng)的系統(tǒng)和方法,其中安全處理系統(tǒng)具有可以認(rèn)證為安全處理器的處理器和支持由安全處理器定義和管理的用于執(zhí)行不受信任代碼的“沙盒”的另一個(gè)隔離處理器。沙盒隔離代碼(例如,未經(jīng)認(rèn)證的代碼和/或不安全代碼)訪問或查看安全處理系統(tǒng)。安全處理器管理內(nèi)存空間和允許在第二處理器上運(yùn)行的應(yīng)用程序。因?yàn)榘踩幚硐到y(tǒng)只處理安全代碼和/或經(jīng)過認(rèn)證的代碼,所以執(zhí)行安全處理系統(tǒng)的產(chǎn)品/系統(tǒng)可以保持安全處理器的安全認(rèn)證。隔離處理器執(zhí)行安全處理器定義的隔離邊界(“沙盒”)內(nèi)的代碼。安全處理器定義沙盒的邊界(例如,利用硬件邊界或邏輯安全邊界),以便于在沙盒內(nèi)執(zhí)行的代碼不能訪問沙盒外部的安全處理系統(tǒng)的安全元件。因此,實(shí)施方式有利地提供包括經(jīng)過認(rèn)證的安全處理器的安全處理系統(tǒng),其中經(jīng)過認(rèn)證的安全處理器只執(zhí)行經(jīng)過認(rèn)證的代碼和/或安全代碼,同時(shí)允許執(zhí)行安全處理系統(tǒng)外部的隔離沙盒內(nèi)的不受信任代碼。因?yàn)樯澈械陌踩吔缬砂踩幚砥鲌?zhí)行,所以在不危害安全處理系統(tǒng)的安全性的情況下可以支持在沙盒中執(zhí)行不受信任代碼。2、系統(tǒng)圖1是根據(jù)本發(fā)明實(shí)施方式的多處理器系統(tǒng)的方框圖,該多處理器系統(tǒng)包括安全處理系統(tǒng)116和一個(gè)或多個(gè)非安全部件。在實(shí)施方式中,安全處理系統(tǒng)116包括安全處理器100、一個(gè)或多個(gè)加密處理引擎123、一個(gè)或多個(gè)安全外圍設(shè)備120、安全監(jiān)控器122和只讀存儲(chǔ)器(ROM)118。CPU1100被構(gòu)造為只執(zhí)行安全代碼和/或經(jīng)過認(rèn)證的代碼。CPU1100不執(zhí)行非安全代碼和/或未經(jīng)過認(rèn)證的代碼(例如,供應(yīng)商或用戶的自定義碼)。此外,CPU11100管理內(nèi)存空間和允許在CPU2108上運(yùn)行的應(yīng)用程序。安全處理系統(tǒng)116具有相關(guān)聯(lián)的安全邊界。該安全邊界有助于防止非安全代碼訪問和/或篡改安全處理系統(tǒng)116的要素。可以例如利用硬件和/或加密技術(shù)創(chuàng)建安全邊界。用于提供安全邊界的硬件技術(shù)可以包括,例如,將部件放置在單個(gè)集成電路中。此外,利用諸如環(huán)氧樹脂密封的防破壞和/或防篡改技術(shù)通過物理結(jié)構(gòu)可以保護(hù)一個(gè)或多個(gè)集成電路。用于創(chuàng)建安全邊界的加密技術(shù)可以包括,例如,在離開安全處理系統(tǒng)116內(nèi)的部件之前加密敏感信息。為此,安全處理系統(tǒng)116包括一個(gè)或多個(gè)加密處理器,并且將相關(guān)聯(lián)的加密/解密密鑰存儲(chǔ)在安全處理系統(tǒng)116內(nèi)部的安全內(nèi)存中(例如,在ROM118或在以前的可編程存儲(chǔ)器)。2.1、沙盒對(duì)系統(tǒng)的許多攻擊通過在軟件程序內(nèi)包括惡意代碼實(shí)現(xiàn)。例如,黑客可以將代碼植入程序中,從而訪問安全信息(例如,密碼、密鑰等)或干擾系統(tǒng)運(yùn)行(例如,病毒)。任何非安全或不受信任代碼都可能含有這些惡意代碼。如上所述,沙盒104可以用于執(zhí)行非安全代碼或不受信任代碼(例如,用戶或供應(yīng)商的自定義代碼)。該不受信任代碼可能不是(通常不是)安全代碼。為了防止任何危害代碼篡改安全處理系統(tǒng)116的元件,安全處理系統(tǒng)116包括隔離的沙盒104。如上所述,安全處理系統(tǒng)116內(nèi)的CPU1100定義沙盒104。沙盒104包括CPU2108和內(nèi)存106。CPU2108與安全處理系統(tǒng)116隔離。CPU2108可以只執(zhí)行沙盒104內(nèi)的代碼(例如,Java代碼或本機(jī)代碼)。因此,CPU2108用作“實(shí)機(jī)”(例如,與“虛擬機(jī)”相對(duì))執(zhí)行應(yīng)用程序。硬件內(nèi)存保護(hù)單元(HMPU)102被構(gòu)造為執(zhí)行CPU2108和安全處理系統(tǒng)116之間的隔離。HMPU102包括共享內(nèi)存110、I/O模塊112、和靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)114。在實(shí)施方式中,共享內(nèi)存110包括在沙盒104內(nèi)。共享內(nèi)存110作為在CPU2108上執(zhí)行的應(yīng)用程序請(qǐng)求的信箱。CPU2108將每個(gè)請(qǐng)求放置在共享內(nèi)存110中。一旦接收請(qǐng)求,CPU1100就構(gòu)造為確定是否處理該請(qǐng)求。防止CPU2108將可執(zhí)行代碼寫入共享內(nèi)存110。更確切地,通過CPU2108僅不可執(zhí)行請(qǐng)求(例如,安全服務(wù)的請(qǐng)求)可以寫入共享內(nèi)存110。ROM106將CPU2108要執(zhí)行的非安全代碼和/或未經(jīng)過認(rèn)證的代碼存儲(chǔ)在沙盒104中。在實(shí)施方式中,在制造期間可以將某些非安全代碼和/或未經(jīng)過認(rèn)證的代碼存儲(chǔ)在ROM106中。如果用戶和/或供應(yīng)商希望存儲(chǔ)額外的非安全代碼和/或未經(jīng)過認(rèn)證代碼用于執(zhí)行,那么可以利用隔離橋124將來自開放外圍設(shè)備126的代碼輸入共享內(nèi)存110。例如,用戶可以選擇執(zhí)行小應(yīng)用程序(例如,Javaapplet)。以下將更詳細(xì)地說明隔離橋124的操作。2.2、安全處理系統(tǒng)安全處理系統(tǒng)116包括與CPU1100相關(guān)聯(lián)的安全邊界內(nèi)的元件。例如,安全處理系統(tǒng)116包括可以由在安全CPU1100上執(zhí)行的代碼訪問的安全元件。在CPU2108上執(zhí)行的代碼不能直接訪問安全處理系統(tǒng)116的安全元件。相反,如果CPU2108要求使用在安全處理系統(tǒng)116內(nèi)提供的安全服務(wù),那么CPU2108將安全服務(wù)請(qǐng)求放入共享內(nèi)存110。通過CPU1100評(píng)估該請(qǐng)求。以下將參考圖3更詳細(xì)地描述用于評(píng)估CPU2108請(qǐng)求安全服務(wù)的過程。在實(shí)施方式中,HMPU102的I/O模塊112和SRAM114在安全處理系統(tǒng)116內(nèi)。安全處理系統(tǒng)116還可以包括安全處理器CPU1100可訪問的ROM118、安全外圍設(shè)備120、安全監(jiān)控器122、加密處理引擎123、和隔離橋124。在實(shí)施方式中,ROM118存儲(chǔ)安全代碼和/或經(jīng)過認(rèn)證的代碼。在實(shí)施方式中,安全處理系統(tǒng)116的元件只可以由在CPU1100上執(zhí)行的安全代碼和/或經(jīng)過認(rèn)證的代碼訪問。安全監(jiān)控器122監(jiān)控安全處理系統(tǒng)116的安全性,和可以檢測(cè)篡改安全處理系統(tǒng)116的嘗試。如果檢測(cè)到攻擊,那么安全監(jiān)控器122可以通知CPU1100已經(jīng)出現(xiàn)攻擊或嘗試攻擊,CPU1100可以采取行動(dòng)響應(yīng)該攻擊。在實(shí)施方式中,安全處理系統(tǒng)116具有一個(gè)或多個(gè)安全策略。這些策略可以例如用于定義應(yīng)當(dāng)如何處理請(qǐng)求(例如,來自CPU2108的安全服務(wù)請(qǐng)求),和當(dāng)觀察到某些事件時(shí)應(yīng)當(dāng)采取何種行為(如果有的話)。在實(shí)施方式中,安全策略可以存儲(chǔ)在ROM118中。2.3、隔離橋隔離橋124將安全處理系統(tǒng)116的部件與外部非安全部件(例如,開放外圍設(shè)備126)隔離。隔離橋124受到CPU1100的控制,并且被構(gòu)造為打開和關(guān)閉安全處理系統(tǒng)116和開放外圍設(shè)備126之間的邏輯或硬線數(shù)據(jù)通道。開放外圍設(shè)備126的隔離防止安全數(shù)據(jù)泄露至開放外圍設(shè)備126。進(jìn)一步,該隔離確保具有開放外圍設(shè)備126的部件的任何問題不會(huì)影響安全處理系統(tǒng)116。例如,該隔離可以確保安全處理系統(tǒng)116的安全性不會(huì)受到開放外圍設(shè)備126的危害。通過將外圍設(shè)備126與安全處理系統(tǒng)116中的時(shí)鐘信息隔離,隔離橋124在安全處理系統(tǒng)116和開放外圍設(shè)備126之間產(chǎn)生異步邊界。該異步邊界防止安全處理系統(tǒng)116外部的非安全元件檢測(cè)安全處理系統(tǒng)116內(nèi)的總線上傳播的檢測(cè)信息。在實(shí)施方式中,隔離橋124被構(gòu)造為耦接安全處理系統(tǒng)116和開放外圍設(shè)備126之間的一個(gè)或多個(gè)數(shù)據(jù)通道。通過將數(shù)據(jù)通道切換成打開和關(guān)閉狀態(tài),隔離橋124可以耦接和解耦安全處理系統(tǒng)116的元件和開放外圍設(shè)備126。例如,隔離橋124可以被構(gòu)造為利用第一數(shù)據(jù)通道128將I/O模塊112耦接至開放外圍設(shè)備126。隔離橋124可以被構(gòu)造為利用第二數(shù)據(jù)通道130將開放外圍設(shè)備126耦接至安全處理系統(tǒng)116的加密總線132。例如,如果用戶或供應(yīng)商希望將非安全數(shù)據(jù)和/或未經(jīng)過認(rèn)證的數(shù)據(jù)加載到ROM106中,那么用戶或供貨商可以將請(qǐng)求發(fā)送至CPU1100以將該信息加載到共享內(nèi)存ROM106中。CPU1100可以基于一個(gè)或多個(gè)存儲(chǔ)的安全策略確定是否同意該請(qǐng)求。如果CPU1100同意該請(qǐng)求,那么CPU1100可以指示隔離橋124切換數(shù)據(jù)通道128。在已經(jīng)將非安全數(shù)據(jù)和/或未經(jīng)過認(rèn)證的數(shù)據(jù)傳輸至ROM106之后,CPU1100可以指示隔離橋再次切換數(shù)據(jù)通道128以解耦開放外圍設(shè)備126和I/O模塊112。數(shù)據(jù)通道120可以用于將來自安全處理系統(tǒng)116和/或ROM106的數(shù)據(jù)通過加密總線132發(fā)送至開放外圍設(shè)備126。例如,如果CPU1100同意數(shù)據(jù)從安全處理系統(tǒng)116和/或ROM106轉(zhuǎn)移至開放外圍設(shè)備126,那么CPU1100可以指示隔離橋124切換數(shù)據(jù)通道128。在已經(jīng)將非安全數(shù)據(jù)和/或未經(jīng)過認(rèn)證的數(shù)據(jù)傳輸至開放外圍設(shè)備126之后,CPU1100可以指示隔離橋再次切換數(shù)據(jù)通道130以解耦開放外圍設(shè)備126和加密總線132。2.4、加密處理引擎和安全外圍設(shè)備圖2示出根據(jù)本發(fā)明實(shí)施方式的包括安全處理系統(tǒng)116和沙盒104的系統(tǒng)的更詳細(xì)的圖示。如圖2中所示,開放外圍設(shè)備126可以包括直接存取存儲(chǔ)器(DMA)模塊230、內(nèi)置集成電路(I2C)模塊232、安全外圍接口(SPI)設(shè)備234、和SPI設(shè)備236,這在圖2中通過通用輸入/輸出(GPIO)模塊238示出。AHB從設(shè)備201和AHB主設(shè)備203是用于將隔離橋124連接至這些開放外圍設(shè)備的總線。安全處理系統(tǒng)116包括根據(jù)本發(fā)明實(shí)施方式的一個(gè)或多個(gè)加密處理引擎123。例如,在圖2中,循環(huán)冗余校驗(yàn)(CRC)模塊200通過加密總線132被耦接至CPU。在圖2中,加密處理引擎123包括用于安全服務(wù)的安全模塊。例如,安全處理系統(tǒng)116可以包括不對(duì)稱加密引擎204、一個(gè)或多個(gè)對(duì)稱加密引擎(例如,3DEX206和/或AES208)、加密散列模塊210。實(shí)施方式可以進(jìn)一步包括流加密模塊(例如,RC4模塊)。APB橋212將安全外圍設(shè)備連接至CPU1100。在實(shí)施方式中,加密經(jīng)過該橋的流量。例如,這些其他安全外圍設(shè)備包括I2C主設(shè)備/從設(shè)備216、SPI主設(shè)備218、非易失性內(nèi)存(NVM)224、以及設(shè)備配置和管理模塊226。定時(shí)器220、定時(shí)器隨機(jī)數(shù)發(fā)生器(TRNG)222和時(shí)鐘213也通過APB橋212被耦接至CPU1100。在圖2中,上電復(fù)位(POR)模塊228被耦接至安全監(jiān)控器122。在實(shí)施方式中,POR模塊228檢測(cè)何時(shí)將電源應(yīng)施加至實(shí)施安全監(jiān)控器122的電路(例如,POR模塊228檢測(cè)何時(shí)設(shè)備已被復(fù)位)。2.5、實(shí)施本文中公開的實(shí)施方式有利地允許通過諸如通用準(zhǔn)則的標(biāo)準(zhǔn)認(rèn)證安全處理系統(tǒng)116的硬件(例如,CPU1100和相關(guān)聯(lián)的硬件)。CPU2108由CPU1100安全地控制,因此,可以允許CPU2108在隔離的沙盒104內(nèi)運(yùn)行用戶應(yīng)用程序,而不會(huì)錯(cuò)過認(rèn)證CPU1100。在本發(fā)明的實(shí)施方式中,圖1和圖2中所示的所有元件均位于相同的集成電路(IC)中。在另一個(gè)實(shí)施方式中,圖1和/或圖2中所示的某些元件位于單獨(dú)的IC。例如,在實(shí)施方式中,外圍設(shè)備(例如,安全外圍設(shè)備120和/或開放外圍設(shè)備126)位于與圖1和/圖2中所示的剩余元件分離IC中。應(yīng)當(dāng)理解,圖1和/圖2中所示的任何元件可以在與用于實(shí)施圖1和/或圖2中所示的任何其他元件相同或不同的IC中。在實(shí)施方式中,CPU1100和CPU2108實(shí)施為兩個(gè)分離的處理器。在另一個(gè)實(shí)施方式中,CPU1100和CPU2108實(shí)施為共享處理器的兩個(gè)核。本發(fā)明實(shí)施方式可以在許多設(shè)備中實(shí)施。例如,本發(fā)明實(shí)施方式可以實(shí)施在手機(jī)或個(gè)人計(jì)算機(jī)上。通過示出而非限制的方式提供這些實(shí)例。本領(lǐng)域的普通技術(shù)人員將理解,本發(fā)明實(shí)施方式的多種實(shí)施是可行的。3、方法現(xiàn)在將更詳細(xì)地說明用于執(zhí)行CPU2108與安全處理系統(tǒng)116的隔離的方法。圖3描述了根據(jù)本發(fā)明實(shí)施方式的用于執(zhí)行CPU2108和沙盒104隔離的方法300。參考圖1和圖2中所示的實(shí)施方式說明方法300。然而,方法300不限于這些實(shí)施方式。在實(shí)施方式中,CPU1100執(zhí)行圖1和圖2中所示的所有系統(tǒng)元件的主要處理功能。例如,CPU1100可以被構(gòu)造為執(zhí)行操作系統(tǒng)的安全的經(jīng)過認(rèn)證的代碼。如上所述,CPU1100不執(zhí)行非安全代碼和/或未經(jīng)過認(rèn)證的代碼。在步驟302中,CPU1100指示CPU2108處理沙盒104內(nèi)的非安全代碼。如果非安全代碼還未加載到共享內(nèi)存110中,那么此時(shí)可以將非安全代碼(例如,來自開放外圍設(shè)備126)加載到共享內(nèi)存110中?;蛘?,可以將非安全代碼加載到沙盒104內(nèi)的另一個(gè)存儲(chǔ)器中(例如,ROM106中)。例如,CPU1100可以安排命令執(zhí)行共享內(nèi)存110中的非安全代碼。CPU2108可以檢測(cè)該命令、處理請(qǐng)求、和在已經(jīng)完成執(zhí)行非安全代碼之后(可選地)將響應(yīng)放入共享內(nèi)存110中。由于共享內(nèi)存110不存儲(chǔ)可執(zhí)行代碼,所以防止黑客將惡意可執(zhí)行代碼植入該響應(yīng)。CPU1100可以從共享內(nèi)存110中讀取該響應(yīng),然后可以繼續(xù)處理安全代碼。當(dāng)CPU2108在處理非安全代碼時(shí),CPU2108需要訪問沙盒104外部的元件。例如,正在CPU2108上執(zhí)行的代碼可以請(qǐng)求利用加密散列模塊210進(jìn)行散列數(shù)據(jù)。因?yàn)镃PU2108與安全處理系統(tǒng)116隔離,所以CPU2108無法直接訪問沙盒104外部的元件。相反,在步驟304中,CPU2108將訪問該元件的請(qǐng)求放在共享內(nèi)存110中。在步驟306中,CPU1100檢測(cè)該請(qǐng)求并確定是否應(yīng)當(dāng)同意該請(qǐng)求。例如,CPU1100可以評(píng)估一個(gè)或多個(gè)存儲(chǔ)安全策略,從而確定是否準(zhǔn)許該請(qǐng)求。在實(shí)施方式中,這些一個(gè)或多個(gè)策略可以存儲(chǔ)在ROM118中。例如,這些一個(gè)或多個(gè)策略可以規(guī)定,如果安全監(jiān)控器122檢測(cè)到惡意第三方進(jìn)行的攻擊或試圖攻擊那么不應(yīng)當(dāng)執(zhí)行非安全代碼。本領(lǐng)域的普通技術(shù)人員將理解,可以通過多種方式配置安全策略。在實(shí)施方式中,制造商或終端用戶可以定制和/或修改安全策略。在步驟308中,如果CPU1100確定應(yīng)當(dāng)拒絕請(qǐng)求,那么CPU1100發(fā)送響應(yīng)至CPU2108(例如,通過將消息放入共享內(nèi)存110中),表明拒絕該請(qǐng)求。如果CPU1100同意該請(qǐng)求,那么在步驟310中CPU1100處理該請(qǐng)求。例如,CPU1100可以指示加密散列模塊210散列數(shù)據(jù)。在已經(jīng)處理該請(qǐng)求之后,在步驟312中CPU1100將響應(yīng)放入共享內(nèi)存110中。例如,CPU1100可以將來自加密散列模塊210的散列輸出放入共享內(nèi)存110中。CPU2108可以訪問該響應(yīng)并繼續(xù)執(zhí)行沙盒104內(nèi)的代碼。現(xiàn)在將參考圖3描述根據(jù)本發(fā)明實(shí)施方式的執(zhí)行CPU2108和沙盒104的隔離的方法300的實(shí)例。在步驟302中,CPU1指示CPU2執(zhí)行沙盒104內(nèi)的非安全代碼。在沙盒104中執(zhí)行的代碼最終生成向用戶釋放數(shù)據(jù)的請(qǐng)求。在步驟304中,CPU2在共享內(nèi)存110中放置釋放數(shù)據(jù)的請(qǐng)求,以及在步驟306中CPU1100檢測(cè)該請(qǐng)求并確定是否同意該請(qǐng)求。如果請(qǐng)求是將數(shù)據(jù)釋放至安全外圍設(shè)備120(例如,SPI主設(shè)備218)的請(qǐng)求,那么CPU1100準(zhǔn)許該請(qǐng)求,因?yàn)榘踩鈬O(shè)備120位于安全處理系統(tǒng)116的安全邊界內(nèi)。CPU1100可以檢測(cè)將數(shù)據(jù)釋放至開放外圍設(shè)備126(例如,SPI設(shè)備234)的請(qǐng)求。在實(shí)施方式中,CPU1100可以基于一個(gè)或多個(gè)存儲(chǔ)安全策略確定是否同意該請(qǐng)求。例如,CPU1100可以確定拒絕將存儲(chǔ)的加密密鑰釋放至開放外圍設(shè)備126的請(qǐng)求。例如,如果安全監(jiān)控器122檢測(cè)到惡意第三方的攻擊或試圖攻擊,那么CPU1100可以確定拒絕將數(shù)據(jù)釋放至開放外圍設(shè)備的請(qǐng)求。如果CPU1100拒絕該請(qǐng)求,那么在步驟308中CPU1100發(fā)送表明拒絕訪問數(shù)據(jù)的響應(yīng)。例如,CPU1100可以通過安全外圍設(shè)備120發(fā)送響應(yīng)至用戶,或CPU1100可以指示隔離橋切換數(shù)據(jù)通道130,使得可以通過開放外圍設(shè)備126將響應(yīng)發(fā)送至用戶。如果CPU1100同意該請(qǐng)求,那么在步驟310中CPU1100處理該請(qǐng)求。例如,CPU1100可以指示隔離橋124切換數(shù)據(jù)通道130,使得可以將數(shù)據(jù)發(fā)送至在請(qǐng)求中識(shí)別的開放外圍設(shè)備。在可選步驟312中,CPU1100可以將響應(yīng)放入共享內(nèi)存110中以告知CPU2108已經(jīng)處理該請(qǐng)求。通過遵循圖3的過程,CPU1100可以請(qǐng)求執(zhí)行非安全代碼和/或未經(jīng)認(rèn)證的代碼,而不會(huì)危害安全處理系統(tǒng)116的安全。進(jìn)一步,CPU2108可以請(qǐng)求訪問沙盒104外部的元件,而不會(huì)危害安全處理系統(tǒng)116的安全性。因?yàn)橛布澈?04隔離CPU2108,所以避免了傳統(tǒng)Java(或本機(jī)代碼)的任何可能的安全問題。根據(jù)本發(fā)明實(shí)施方式,經(jīng)過認(rèn)證的安全操作系統(tǒng)(例如,在CPU1100上執(zhí)行)能夠與非安全應(yīng)用程序(例如,在CPU2108上執(zhí)行)同時(shí)運(yùn)行。利用本發(fā)明實(shí)施方式,當(dāng)檢測(cè)到篡改安全處理系統(tǒng)116的潛在嘗試時(shí),經(jīng)過認(rèn)證的安全處理器CPU1100可以做出反應(yīng)(例如,通過安全監(jiān)控器122)。4、結(jié)論以上借助于示出本發(fā)明的具體功能及其關(guān)系的實(shí)施的功能構(gòu)件方框描述了本發(fā)明。為了便于描述,本文中已經(jīng)任意地定義這些功能構(gòu)件方框的邊界。只要合適地執(zhí)行具體功能和其關(guān)系就可以定義可選的邊界。前述的具體實(shí)施例將完全揭示本發(fā)明的一般特征,以致于在不偏離本發(fā)明的一般概念的情況下,無需過量實(shí)驗(yàn),通過應(yīng)用本領(lǐng)域普通技術(shù)人員的知識(shí)可以容易地修改和/或使之適于不同的應(yīng)用。因此,基于本文中提出的教導(dǎo)和引導(dǎo),這些適應(yīng)和修改旨在在所發(fā)明實(shí)施方式的等價(jià)物的意義和范圍內(nèi)。應(yīng)當(dāng)理解,本文中的詞組或術(shù)語是為了描述而非限制,因此根據(jù)教導(dǎo)和引導(dǎo)本領(lǐng)域的技術(shù)人員說明本說明書的術(shù)語或詞組。以上系統(tǒng)和方法可以實(shí)施為在機(jī)器上執(zhí)行的計(jì)算機(jī)程序、計(jì)算機(jī)程序產(chǎn)品、或已經(jīng)存儲(chǔ)指令的有形和/或非易失性計(jì)算機(jī)可讀介質(zhì)。例如,本文中描述的功能可以通過計(jì)算機(jī)處理器或以上列舉的任何一個(gè)硬件設(shè)備執(zhí)行的計(jì)算機(jī)程序指令體現(xiàn)。計(jì)算機(jī)程序指令使處理器執(zhí)行本文中描述的信號(hào)處理功能。計(jì)算機(jī)程序指令(例如,軟件)可以存儲(chǔ)在有形易失性計(jì)算機(jī)可使用介質(zhì)、計(jì)算機(jī)程序介質(zhì)、或計(jì)算機(jī)或處理器可以訪問的任何存儲(chǔ)介質(zhì)。該介質(zhì)包括諸如RAM或ROM的存儲(chǔ)設(shè)備,或諸如計(jì)算機(jī)磁盤或CDROM的其他類型的計(jì)算機(jī)存儲(chǔ)介質(zhì)。因此,具有使處理器執(zhí)行本文中描述的信號(hào)處理功能的計(jì)算機(jī)程序代碼的任何有形非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)在本發(fā)明的保護(hù)范圍和精神內(nèi)。盡管以上已經(jīng)描述了本發(fā)明的不同實(shí)施方式,但是應(yīng)當(dāng)理解,僅僅通過實(shí)例而非限制地呈現(xiàn)了這些實(shí)施例。相關(guān)領(lǐng)域的技術(shù)人員將明顯看出,在不偏離本發(fā)明的精神和保護(hù)范圍的情況下,可以對(duì)本發(fā)明的形式和細(xì)節(jié)做出改變。因此,本發(fā)明的廣度和保護(hù)范圍不應(yīng)當(dāng)受到任何以上所述的示例性實(shí)施方式的限制,而應(yīng)當(dāng)只根據(jù)所附權(quán)利要求及其等價(jià)物限定。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1