專利名稱:提高微處理器安全性的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于提高具有高速緩存存儲器的微處理器的安 全性的方法,其中可以向該高速緩存存儲器寫入高速緩存-指令數(shù)據(jù)。
背景技術(shù):
在本領(lǐng)域技術(shù)中具有主存儲器和高速緩存存儲器的微處理器是眾 所周知的。高速緩存存儲器用作頻繁需要的數(shù)據(jù)的數(shù)據(jù)存儲器。高速 緩存存儲器可以存儲用于處理數(shù)據(jù)的指令和/或數(shù)據(jù)本身。
為了讀取數(shù)據(jù)和/或?qū)?shù)據(jù)寫入該高速緩存存儲器,微處理器支持 所謂的高速緩存指令,使用該高速緩存指令可以處理數(shù)據(jù)。該高速緩 存指令典型地用于高速緩存存儲器生產(chǎn)測試以及用于系統(tǒng)啟動的初始 化,例如使所有高速緩存線路無效。
例如經(jīng)由因特網(wǎng)與其它微處理器、計(jì)算機(jī)以及類似物進(jìn)行通信的 所有微處理器都有受到未授權(quán)數(shù)據(jù)、指令、間諜軟件等等滲透的危險(xiǎn), 這些未授權(quán)數(shù)據(jù)、指令、間諜軟件等等是由稱作黑客的未授權(quán)者傳播 的。此外黑客可以出于攻擊的目的使用高速緩存指令來操作高速緩存 內(nèi)容。黑客可以向指令高速緩存寫入代碼,這可能泄露安全敏感數(shù)據(jù)。 阻止這種濫用是微處理器安全性的主要目的。
發(fā)明內(nèi)容
根據(jù)前述,本發(fā)明的目的是提供一種提高微處理器安全性并且阻 止對微處理器的高速緩存存儲器中存儲的數(shù)據(jù)或者指令的濫用的方 法。
為了達(dá)成該目的,禁止向高速緩存存儲器直接寫入高速緩存-指
本發(fā)明的核心在于由于黑客不再能夠直接寫入或者改變通常寫入高速緩存存儲器的高速緩存-指令,所以黑客不再能夠操作高速緩存 內(nèi)容。應(yīng)清楚,除了禁止向數(shù)據(jù)高速緩存直接寫入之外,還禁止向指 令存儲器或者指令高速緩存直接寫入。禁止向高速緩存的直接寫入確 保了僅會向高速緩存中加載已存在于系統(tǒng)的主存儲器中的數(shù)據(jù)。如果
將主存儲器實(shí)施為只讀存儲器(例如ROM或者一次可編程FLASH), 則可以確保不會將不需要的數(shù)據(jù)放入高速緩存中。
由于本領(lǐng)域技術(shù)人員可以在不對系統(tǒng)的硬件和/或軟件進(jìn)行任何 主要的修改的情況下實(shí)現(xiàn)對直接寫入的禁止,從而以容易的方式提高 了包括該微處理器在內(nèi)的整個(gè)系統(tǒng)的安全性??梢砸匀我忭樞騺韴?zhí)行 該禁止,優(yōu)選地如下所述。
禁止將高速緩存指令直接寫入高速緩存存儲器的第一方法包含將 移除對這些指令的所有相關(guān)硬件支持的步驟。這需要以對微處理器的 硬件的小改動來使這些指令的執(zhí)行無效。
備選地,可以在控制流程的一點(diǎn)中少量地修改該控制流程。作為 示例,可以將這些指令從指令解碼器所支持的指令列表中移除。
在第三實(shí)施例中,還通過斷開指令或者數(shù)據(jù)控制器中的特定控制 信號線來改變硬件,以阻止這些高速緩存指令的寫入。
如果如上所述禁用了高速緩存寫入指令并且用戶軟件依然調(diào)用該 指令(即,通過黑客),則微處理器的反應(yīng)可以導(dǎo)致軟件異常。這意味 著停止軟件的運(yùn)行并且可以發(fā)送錯(cuò)誤消息。這可以由指令或者數(shù)據(jù)高 速緩存控制器來執(zhí)行。
微處理器的另一個(gè)反應(yīng)可以是整體系統(tǒng)重置或者微處理器關(guān)機(jī)。
最后,可以執(zhí)行類似于n叩指令(無操作)的一周期延遲。
這三種前述方法確保不會將高速緩存指令寫入高速緩存存儲器。
然而依然需要執(zhí)行高速緩存存儲器生產(chǎn)測試和/或系統(tǒng)啟動初始 化。為此,可以使用專用硬件來測試/初始化高速緩存隨機(jī)存取存儲器 (RAM)。從而顯著地加速該測試和初始化過程。另一方面,略微增 加大微處理器的所需芯片面積。
備選地,高速緩存存儲器可以由電子雙穩(wěn)態(tài)觸發(fā)器構(gòu)成??梢越?jīng) 由掃描測試來測試和重置這些雙穩(wěn)態(tài)觸發(fā)器。這種裝配提供了非常快
4速的啟動速度,但是其引入了大量的芯片面積開銷。
此外,在生產(chǎn)測試和系統(tǒng)啟動階段期間可以臨時(shí)地使能向高速緩 存寫入高速緩存指令。僅需要對現(xiàn)有硬件和軟件進(jìn)行小修改即可完成 該操作。但是缺點(diǎn)是在該時(shí)間內(nèi),當(dāng)黑客啟用高速緩存寫入指令時(shí) 黑客的攻擊是可能的。
顯而易見地,可以將上述方法應(yīng)用于支持高速緩存寫入指令的所 有類型的微處理器。特別是應(yīng)當(dāng)在例如智能卡控制器集成電路之類的 安全敏感系統(tǒng)中應(yīng)用該方法。
下面描述了本發(fā)明的實(shí)施例。附圖示出了 圖l:示意高速緩存指令執(zhí)行流程。
具體實(shí)施例方式
在圖1中,微處理器l接收高速緩存寫入指令。微處理器l包括用 于對接收到的指令進(jìn)行解碼的指令解碼器2。如圖所示,隨后將解碼后 的指令寫入指令高速緩存存儲器3或者數(shù)據(jù)高速緩存存儲器4。為了阻 止將任意不需要的指令(特別是黑客的指令)寫入存儲器3、 4,分別 由指令高速緩存控制器5或者數(shù)據(jù)高速緩存控制器6來控制對這些存儲 器3、 4的寫入訪問,該指令高速緩存控制器5或者數(shù)據(jù)高速緩存控制器 6是存儲器3、 4與微處理器1或者指令解碼器2之間的中間物。
在控制器5、 6中,移除所有相關(guān)硬件支持、只對控制流程的一點(diǎn) 進(jìn)行小修改、或者斷開控制器5、 6內(nèi)的控制信號線。
參考列表
1微處理器
2指令解碼器
3指令高速緩存存儲器
4數(shù)據(jù)高速緩存存儲器
5指令高速緩存控制器
6數(shù)據(jù)高速緩存控制器
權(quán)利要求
1、一種提高具有高速緩存存儲器(3,4)的微處理器(1)的安全性的方法,其中可以向所述高速緩存存儲器(3,4)寫入高速緩存指令數(shù)據(jù),其特征在于,禁止向所述高速緩存存儲器(3,4)直接寫入高速緩存指令。
2、 根據(jù)權(quán)利要求l所述的方法,包括移除對這些指令的所有相關(guān) 硬件支持的步驟。
3、 根據(jù)權(quán)利要求l所述的方法,包括在控制流程的一個(gè)點(diǎn)中少量 地修改所述控制流程的步驟。
4、 根據(jù)權(quán)利要求l所述的方法,包括通過將指令或者數(shù)據(jù)控制器 (5, 6)內(nèi)的特定控制信號線斷開來改變硬件的步驟。
5、 根據(jù)權(quán)利要求1至4中任意一項(xiàng)權(quán)利要求所述的方法,包括如果用戶軟件調(diào)用該指令則產(chǎn)生軟件異常的步驟。
6、 根據(jù)權(quán)利要求1至4中任意一項(xiàng)權(quán)利要求所述的方法,包括如果用戶軟件調(diào)用該指令則執(zhí)行整體系統(tǒng)重置的所述步驟。
7、 根據(jù)權(quán)利要求1至4中任意一項(xiàng)權(quán)利要求所述的方法,包括如果用戶軟件調(diào)用該指令則執(zhí)行一周期延遲的步驟。
8、 根據(jù)權(quán)利要求1至7中任意一項(xiàng)權(quán)利要求所述的方法,包括使 用專用硬件以測試/初始化隨機(jī)存取存儲器(RAM)的步驟。
9、 根據(jù)權(quán)利要求1至8中任意一項(xiàng)權(quán)利要求所述的方法,包括用電子雙穩(wěn)態(tài)觸發(fā)器來構(gòu)成所述高速緩存存儲器的步驟。
10、 根據(jù)權(quán)利要求1至9中任意一項(xiàng)權(quán)利要求所述的方法,包括在 生產(chǎn)測試和系統(tǒng)啟動階段期間臨時(shí)地使能向所述高速緩存(3, 4)寫
全文摘要
一種提高具有高速緩存存儲器(3,4)的微處理器(1)的安全性的方法,其中可以向所述高速緩存存儲器(3,4)寫入高速緩存指令數(shù)據(jù),該方法通過禁止將所述高速緩存指令直接寫入所述高速緩存存儲器(3,4)來提高系統(tǒng)的安全性。
文檔編號G06F21/71GK101689149SQ200880023347
公開日2010年3月31日 申請日期2008年5月9日 優(yōu)先權(quán)日2007年7月5日
發(fā)明者拉爾夫·馬爾察恩, 里·陶 申請人:Nxp股份有限公司