国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      保護(hù)從中央處理器發(fā)送的以供處理的安全數(shù)據(jù)的安全性的制作方法

      文檔序號(hào):6480278閱讀:191來源:國知局
      專利名稱:保護(hù)從中央處理器發(fā)送的以供處理的安全數(shù)據(jù)的安全性的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明的領(lǐng)域涉及數(shù)據(jù)處理,并且更具體地涉及使用附加的處理裝
      置處理安全數(shù)據(jù)和不安全(non-secure)數(shù)椐,以在第一數(shù)據(jù)處理器的 控制下執(zhí)行任務(wù)。
      背景技術(shù)
      與主處理器相結(jié)合使用加速器或協(xié)處理器來增強(qiáng)性能是已知的,加 速器或協(xié)處理器執(zhí)行主處理器請(qǐng)求的任務(wù)。盡管通過提供附加的處理能 力可以增強(qiáng)性能是顯然的,但這類系統(tǒng)可能存在的缺陷是與處理器和加 速器之間的通信相關(guān)的開銷。例如在安全操作系統(tǒng)和不安全操作系統(tǒng)的 控制下處理安全數(shù)據(jù)和不安全數(shù)據(jù)兩者的情況下,與管理在處理器和加 速器之間傳送的數(shù)據(jù)的安全性狀態(tài)相關(guān)的通信開銷可能是非常高的。在 這種情況下,將大任務(wù)發(fā)送給加速器來執(zhí)行才可能是有利的,只占用幾 十個(gè)或甚至幾百個(gè)周期(cycle)的任務(wù)所具有的與之關(guān)聯(lián)的通信開銷 如同它們?cè)鲞M(jìn)的處理性能 一 樣多或更多。

      發(fā)明內(nèi)容
      本發(fā)明的第一方面提供了一種數(shù)據(jù)處理設(shè)備,包括數(shù)據(jù)處理器和另 一 (further)處理裝置,所迷數(shù)據(jù)處理器用于在安全模式和不安全模式 下處理數(shù)據(jù),在所述安全才莫式下處理數(shù)據(jù)的所述數(shù)據(jù)處理器可以訪問安 全數(shù)據(jù),所述數(shù)據(jù)處理器在所述不安全模式下不可以訪問所述安全數(shù) 據(jù),并且在所述安全模式下處理數(shù)據(jù)是在安全操作系統(tǒng)的控制下進(jìn)行 的,在所述不安全模式下處理數(shù)據(jù)是在不安全操作系統(tǒng)的控制下進(jìn)行 的;所述另一處理裝置用于響應(yīng)于來自所述數(shù)據(jù)處理器的請(qǐng)求而執(zhí)行任 務(wù),所述任務(wù)包括處理至少其中一些是安全數(shù)據(jù)的數(shù)據(jù);其中所述另一 處理裝置響應(yīng)于接收到暫停所述任務(wù)的信號(hào),以啟動(dòng)使用安全密鑰處 理所述安全數(shù)據(jù);和將所述處理過的安全數(shù)據(jù)存儲(chǔ)到不安全數(shù)據(jù)儲(chǔ)存器 (store)中;所述另 一處理裝置還響應(yīng)于接收到繼續(xù)所迷任務(wù)的信號(hào),以啟動(dòng)從所述不安全數(shù)據(jù)儲(chǔ)存器中檢索(retrieval)所述處理過的 安全數(shù)據(jù);以及使用所述安全密鑰恢復(fù)所述處理過的安全數(shù)據(jù);其中所 述安全密鑰是安全地存儲(chǔ)的,使得其不能被工作在所述不安全模式下的 其它進(jìn)程訪問。
      本發(fā)明認(rèn)識(shí)到在另一處理裝置處理的數(shù)據(jù)包括安全數(shù)據(jù)的情況下, 使用該另一處理裝置為可以在安全或不安全模式下操作的數(shù)據(jù)處理器 執(zhí)行特定任務(wù)的通信開銷可能巨大。原因是該安全數(shù)據(jù)必須與數(shù)據(jù)處理 器的不安全^t式保持隔離,并且安全數(shù)據(jù)的管理通常是由數(shù)據(jù)處理器的 安全操作系統(tǒng)完成的。然而,無論何時(shí)正由另一處理裝置執(zhí)行的任務(wù)被 中斷并且需要被暫停時(shí),調(diào)用安全操作系統(tǒng)來管理由該另 一處理裝置正 在處理的安全數(shù)據(jù)將需要許多操作周期,因此在性能方面代價(jià)會(huì)非常 高。本發(fā)明通過提供所述另一處理裝置解決了此問題,該另一處理裝置 本身具有的功能使得其能夠使它正在處理的安全數(shù)據(jù)在存儲(chǔ)到數(shù)椐處 理器可以訪問的不安全數(shù)據(jù)儲(chǔ)存器之前被處理。該處理是使用其它不安 全進(jìn)程不能訪問的密鑰完成的。通過提供本身具有這種功能的所述另一 處理裝置,提供了在無需安全操作系統(tǒng)介入的情況下維持安全數(shù)據(jù)的安 全性的可能性。而且,在所述另一處理裝置原本處理的任務(wù)要被繼續(xù)時(shí), 可以使用其它不安全進(jìn)程不能訪問的安全密鑰在另一處理裝置的控制 下恢復(fù)安全數(shù)椐,然后可以恢復(fù)所述另一處理裝置的狀態(tài),并且繼續(xù)讀 任務(wù),其中可以在不安全模式下操作的數(shù)據(jù)處理器本身只能受控訪問安 全數(shù)據(jù)。
      因此,所述另一處理裝置本身以有效方式維持了由所述另一處理裝 置處理的數(shù)據(jù)的安全性,并且與發(fā)送任務(wù)給另 一處理裝置相關(guān)的開銷被 降低,因此可以發(fā)送輕小的任務(wù),獲得性能益處(performance benef i O 。
      在一些實(shí)施例中,所述安全數(shù)據(jù)的所述處理包括使用所述安全密鑰 加密所述安全數(shù)據(jù),并且所述處理過的安全數(shù)據(jù)的所迷恢復(fù)包括使用所 迷安全密鑰解密所述加密的安全數(shù)據(jù),所述安全密鑰被安全地存儲(chǔ)在執(zhí) 行所述加密和解密的裝置中。
      保護(hù)安全數(shù)據(jù)的一種高效方式是在將其存儲(chǔ)到不安全儲(chǔ)存器之前 在所述另一處理裝置的控制下對(duì)其加密。這樣數(shù)據(jù)處理器本身不能訪問該安全數(shù)據(jù)。
      在一些實(shí)施例中,在啟動(dòng)所述數(shù)椐的加密之前,所述另一處理裝置 啟動(dòng)從所述數(shù)據(jù)中生成安全簽名,并啟動(dòng)所述安全簽名的加密以及將所
      述安全簽名連同所述安全數(shù)據(jù)一起存儲(chǔ);并且響應(yīng)于接收到繼續(xù)所述任 務(wù)的所述信號(hào),所述另一處理裝置啟動(dòng)所述加密的安全簽名的檢索以及 所述加密的安全簽名的解密,并且在所述加密的安全數(shù)據(jù)的解密之后, 啟動(dòng)從所述解密的加密數(shù)椐中生成所述安全簽名,并將所述生成的安全 簽名和所述解密的安全簽名進(jìn)行比較;并且響應(yīng)于所述生成的安全簽名 與所述解密的安全簽名不匹配,所述另一處理裝置向所述數(shù)據(jù)處理器發(fā) 出信號(hào)以表明所述數(shù)據(jù)已經(jīng)被篡改;并且響應(yīng)于所述生成的安全簽名與 所述解密的安全簽名相匹配,所述另一處理裝置使用所述解密的數(shù)椐繼 續(xù)所述任務(wù)。
      盡管可以僅對(duì)安全數(shù)據(jù)加密以保護(hù)其不被不安全進(jìn)程訪問,但從所 述數(shù)據(jù)中生成安全簽名,然后用數(shù)據(jù)加密該安全簽名可能是有利的。該 簽名然后可用在解密上,以確定所存儲(chǔ)的加密數(shù)據(jù)是否已經(jīng)被篡改。如 果解密后生成的安全簽名與存儲(chǔ)的加密的安全簽名不匹配,則可向數(shù)據(jù) 處理器發(fā)出中止(abort)信號(hào)以通知數(shù)據(jù)處理器該數(shù)據(jù)已經(jīng)被篡改。 如果安全簽名確實(shí)匹配,則處理可以繼續(xù)。這樣,不僅可以安全地存儲(chǔ) 安全數(shù)椐,而且在進(jìn)程被中斷時(shí),其完整性可被驗(yàn)證。
      在其它實(shí)施例中,安全簽名是通過以下方式從加密的數(shù)據(jù),而不是 從解密的數(shù)據(jù)中生成的加密所述數(shù)據(jù)之后,所述另一處理裝置啟動(dòng)從 所述加密的數(shù)據(jù)中生成安全簽名,并且啟動(dòng)所述安全簽名連同所述加密 的安全數(shù)據(jù)的加密和存儲(chǔ);以及響應(yīng)于接收到繼續(xù)所述任務(wù)的所述信 號(hào),所述另一處理裝置啟動(dòng)所述加密的安全簽名的檢索和所述加密的安 全簽名的解密,并啟動(dòng)從所迷加密的數(shù)據(jù)中生成所述安全簽名,將所述 生成的安全簽名和所迷解密的安全簽名進(jìn)行比較;并且響應(yīng)于所述生成 的安全簽名與所述解密的安全簽名不匹配,所述另 一處理裝置向所述數(shù) 據(jù)處理器發(fā)出信號(hào)以表明所述數(shù)據(jù)已經(jīng)被篡改;以及響應(yīng)于所述生成的 安全簽名與所述解密的安全簽名相匹配,所述另一處理裝置解密所述加 密的數(shù)據(jù),并使用所述解密的數(shù)據(jù)繼續(xù)所述任務(wù)。
      在一些實(shí)施例中,所述安全數(shù)據(jù)的所述處理包括從所述數(shù)據(jù)中生成安全簽名以及使用所述安全密鑰加密所述安全簽名,所述處理過的安全 數(shù)據(jù)的所迷恢復(fù)包括解密所述加密的安全簽名,并且從所述檢索的數(shù)據(jù)
      名進(jìn)行比較;并且響應(yīng)于所述生成的安全簽名與所述解密的:全簽名不 匹配,所述另一處理裝置向所述數(shù)據(jù)處理器發(fā)出信號(hào)以表明所述數(shù)據(jù)已 經(jīng)被篡改;并且響應(yīng)于所述生成的安全簽名與所述解密的安全簽名相匹 配,所述另一處理裝置使用所述檢索的數(shù)據(jù)繼續(xù)所述任務(wù)。
      由于在所述另一處理裝置之外,安全數(shù)據(jù)是不能被理解的,所以正 在被處理的安全數(shù)據(jù)可能不需要保護(hù)其自身不被查看。然而,安全數(shù)據(jù) 不被篡改可能是重要的,因?yàn)槟垢陌踩珨?shù)椐可能是試圖訪問安全信息的 方式。在這種情況下,數(shù)據(jù)本身沒有被加密,不過生成了安全簽名,并 且該安全簽名可用來檢查數(shù)據(jù)是否已經(jīng)被篡改過。
      在一些實(shí)施例中,所述安全數(shù)據(jù)的所述加密和所述簽名的所述生成 是使用相同的算法進(jìn)行的。
      在安全數(shù)據(jù)的加密是使用專門為此功能產(chǎn)生的加解密引擎 (crypto-engine)完成的情況下,為了降低添加此引擎的開銷,使用 與用來加密安全數(shù)據(jù)相同的算法來產(chǎn)生簽名(例如哈希)可能是有利的。
      在一些實(shí)施例中,執(zhí)行所述加密和解密的所述裝置是所述另一處理 裝置。
      如果所述另 一處理裝置本身執(zhí)行加密和解密,則顯然安全數(shù)據(jù)的安 全性被增強(qiáng),因?yàn)榘踩珨?shù)據(jù)沒有離開該裝置,直到它本身被加密,因此 對(duì)安全數(shù)據(jù)的訪問是容易控制的。
      在 一 些實(shí)施例中,所述另 一 處理裝置包括加解密處理 (cryptography processing)裝置,所述加解密處理裝置使用至少一 個(gè)密鑰執(zhí)行數(shù)據(jù)的加解密處理,所述安全數(shù)據(jù)是由包括所述至少一個(gè)密 鑰的所述安全密鑰來加密的。
      該技術(shù)在應(yīng)用于加解密處理裝置時(shí)特別有用。這些裝置使用密鑰加 密和解密數(shù)據(jù),并且顯然重要的是,這些密鑰不能被不安全模式訪問。 因此,對(duì)這些另一處理裝置來說,重要的是包括這些加解密密鑰 (cryptography key)的安全數(shù)據(jù)被保持安全。而且,這些裝置已經(jīng)包括加解密功能性,因此,可以使用這些裝置及所迷另一處理裝置用于此 功能的安全密鑰來執(zhí)行加密安全數(shù)據(jù)(在處理過程中用來加密數(shù)據(jù)的加 解密密鑰)。這樣,可以使用所述另一處理裝置本身的功能性,來加密 和解密安全數(shù)椐。因此,與包括該功能有關(guān)的面積開銷很小。
      在一些實(shí)施例中,執(zhí)行所述加密和解密的所迷裝置是通過專用數(shù)據(jù) 通信路徑連接到所述另一處理裝置的加解密處理裝置,其它裝置不可以 訪問該專用數(shù)椐通信路徑。
      盡管在一些實(shí)施例中,該另一處理裝置本身執(zhí)行加解密功能,但在 其它實(shí)施例中,可以由單獨(dú)的加解密裝置來執(zhí)行此功能。在這種情況下, 用來將安全數(shù)據(jù)傳送到此加解密裝置的數(shù)據(jù)路徑必須是專用于此目的 且不可被其它處理器訪問的安全數(shù)據(jù)路徑。
      在一些實(shí)施例中,所述另 一處理裝置包括用來執(zhí)行除加解密以外的 功能的電路,所迷另一處理裝置包括附加的加解密電路以加密和解密所 述安全數(shù)據(jù),所述另一處理裝置包括所述安全密鑰的安全存儲(chǔ)位置。
      如果該另 一處理裝置不是加解密處理裝置,則其可以象以前提到的 那樣使用單獨(dú)的加解密處理裝置,或者可以給予其附加的加解密電路, 使得其可以在安全數(shù)據(jù)除了在加密狀態(tài)外根本不離開所述另一處理裝 置的情況下加密和解密所述安全數(shù)據(jù)。在這種情況下,該另一處理裝置 包括安全密鑰的存儲(chǔ)位置,使得該安全密鑰在該裝置內(nèi)可用于加密和解 密,但不可用于任何其它裝置。
      在一些實(shí)施例中,所述另 一處理裝置包括所迷安全密鑰的只寫存儲(chǔ) 位置。
      將安全密鑰存儲(chǔ)在該另一處理裝置上的只寫存儲(chǔ)位置可能是有利 的。這樣,安全密鑰可被其它裝置更新,但不能被其它裝置讀取。
      在一些實(shí)施例中,所述安全密鑰是在操作在安全模式下的所述數(shù)據(jù) 處理器的控制下,存儲(chǔ)在所述數(shù)據(jù)處理設(shè)備中的,使得只有操作在安全 -漠式下的所述數(shù)椐處理器才可以訪問所述安全密鑰。
      例如可以在操作在安全模式下的數(shù)據(jù)處理器的控制下從數(shù)據(jù)處理 設(shè)備的安全儲(chǔ)存器中檢索安全密鑰。在希望不時(shí)地更新安全密鑰的情況 下這可能是有利的。從安全性的觀點(diǎn)來看,這是可接受的,只要其存儲(chǔ)
      10在安全存儲(chǔ)位置,使得其只能由其它裝置在安全模式下操縱。在一些實(shí) 施例中,可能只能在安全特權(quán)模式下訪問安全密鑰,這樣安全性會(huì)更高。
      在一些實(shí)施例中,所述安全密鑰是在制造時(shí)被設(shè)定的,并永久地安 全存儲(chǔ)在執(zhí)行所述安全數(shù)據(jù)的所述加密和解密的所述裝置中,使得其不 可被其它裝置訪問。
      在安全模式下訪問密鑰的一種替代方式是將密鑰永久地存儲(chǔ)在加 密安全數(shù)據(jù)的裝置內(nèi),并使其不能被其它裝置訪問。這是保證安全密鑰 在該裝置內(nèi)保持安全并且不能被外界訪問的一種簡單方式。不過,這意 味著密鑰永遠(yuǎn)不能被改變或更新。
      生成并存儲(chǔ)安全密鑰的一種可替代方式是在加密和解密裝置內(nèi)具
      有隨機(jī)數(shù)生成器,該隨機(jī)數(shù)生成器在復(fù)位時(shí)(at reset)生成并存儲(chǔ)安 全密鑰。在其它實(shí)施例中,可以使用偽隨機(jī)數(shù)生成器,其中現(xiàn)有信號(hào)或 值的秘密集合被組合,并從該組合中生成一數(shù)。
      盡管不安全數(shù)據(jù)儲(chǔ)存器可包括許多不同的東西,但在一些實(shí)施例 中,它包括存儲(chǔ)器(memory)的不安全部分。
      在一些實(shí)施例中,暫停所述任務(wù)的所述信號(hào)是由所述數(shù)據(jù)處理器響 應(yīng)于中斷或異常而生成的。
      盡管暫停任務(wù)的信號(hào)可以響應(yīng)于多種情況而生成,但在一些實(shí)施例 中,暫停任務(wù)的信號(hào)是響應(yīng)于中斷或異常而生成的。
      在一些實(shí)施例中,暫停所述任務(wù)的所述信號(hào)是由所述數(shù)椐處理器響 應(yīng)于表示所述數(shù)據(jù)處理器從操作在所述安全模式或不安全模式中的一 種切換到所述安全模式或不安全模式中的另一種的上下文切換的信號(hào) 而生成的。
      數(shù)據(jù)處理器從安全模式到不安全模式的上下文切換涉及其它數(shù)據(jù) 處理裝置暫停另一處理裝置的處理,并將其狀態(tài)存儲(chǔ)在存儲(chǔ)器中,使得 當(dāng)數(shù)據(jù)處理器切換回它之前所在的模式時(shí)可以重新開始處理。
      在這種情況下,重要的是維持它之前正在處理的安全數(shù)據(jù)的安全 性。這是通過使用加密和解密裝置而不使用數(shù)據(jù)處理器的安全操作系統(tǒng) 來完成的,所述加密和解密裝置是由該另一處理裝置本身控制的。因此, 數(shù)據(jù)的安全性是通過該另 一處理裝置本身維持的,并且不需要調(diào)用安全操作系統(tǒng)來控制數(shù)據(jù)的安全性,調(diào)用安全操作系統(tǒng)在性能上是高代價(jià) 的。
      在一些實(shí)施例中,執(zhí)行所述任務(wù)的所述請(qǐng)求是從操作在所述不安全 模式下的所述數(shù)據(jù)處理器中發(fā)出的。
      如果執(zhí)行任務(wù)的請(qǐng)求是從不安全模式下的數(shù)據(jù)處理器中發(fā)出的,那 么該另一處理裝置對(duì)安全數(shù)據(jù)的處理必須明確地與數(shù)據(jù)處理器本身保 持隔離,因?yàn)閿?shù)據(jù)處理器本身操作在不安全模式。在這種情況下,響應(yīng)
      于暫停處理的請(qǐng)求在將安全數(shù)據(jù)從該另一處理裝置中存儲(chǔ)出去(stored out of the further processing means)之前對(duì)所述安全數(shù)據(jù)的力口密 在維持安全性而不涉及數(shù)據(jù)處理器本身方面是重要的。
      在一些實(shí)施例中,所迷數(shù)據(jù)處理器被配置成響應(yīng)于所述數(shù)據(jù)處理器 在不安全模式下正執(zhí)行的程序代碼向所述另一處理裝置發(fā)出執(zhí)行所述 任務(wù)的所述請(qǐng)求。
      本發(fā)明的實(shí)施例允許由數(shù)據(jù)處理器在諸如不安全用戶模式之類的 不安全模式下執(zhí)行的諸如用戶代碼之類的代碼,調(diào)用該另 一處理裝置本 身來執(zhí)行包括安全數(shù)據(jù)的代碼,而不需要涉及安全操作系統(tǒng)。在允許以 高效方式處理安全數(shù)椐時(shí)這是非常有利的。這可用在例如使用安全密鑰 對(duì)數(shù)據(jù)進(jìn)行的加解密處理中,而不需要涉及安全操作系統(tǒng)。
      在一些實(shí)施例中,所述另一處理裝置包括不可編程硬件。
      該另一處理裝置可包括簡單的不可編程硬件裝置,由于其不能被用 戶軟件攻擊,因而特別安全。因此,只要安全數(shù)據(jù)保持在該裝置內(nèi),并 且僅以加密形式離開該裝置,其安全性可以被保證。
      在一些實(shí)施例中,所迷另 一處理裝置被配置成不在操作系統(tǒng)的控制 下處理程序代碼。
      該另 一處理裝置可以是不包括操作系統(tǒng)的簡單裝置,這使得裝置內(nèi) 的安全數(shù)據(jù)的控制更直接。它還使該裝置成為能非常高效地執(zhí)行預(yù)定處 理步驟的高效裝置。
      本發(fā)明的另一方面提供一種在數(shù)據(jù)處理設(shè)備上處理數(shù)據(jù)的方法,該 數(shù)據(jù)處理設(shè)備包括數(shù)據(jù)處理器和另 一處理裝置;所述數(shù)據(jù)處理器用于在 安全模式和不安全;f莫式下處理數(shù)據(jù),在所迷安全^f莫式下處理數(shù)據(jù)的所述
      12數(shù)據(jù)處理器可以訪問安全數(shù)據(jù),所述數(shù)據(jù)處理器在所述不安全模式下是 不能訪問所述安全數(shù)據(jù)的,所述數(shù)據(jù)處理器在所述安全模式下處理數(shù)據(jù) 是在安全操作系統(tǒng)的控制下進(jìn)行的,在所迷不安全模式下處理數(shù)據(jù)是在
      不安全操作系統(tǒng)的控制下進(jìn)行的;所述另一處理裝置用來響應(yīng)于來自所 迷數(shù)據(jù)處理器的請(qǐng)求而執(zhí)行任務(wù),所述任務(wù)包括處理至少其中一些是安 全數(shù)據(jù)的數(shù)據(jù);所述方法包括以下步驟在所述數(shù)椐處理器上處理數(shù)椐; 將來自所述數(shù)據(jù)處理器的請(qǐng)求發(fā)送到所述另一處理裝置以執(zhí)行任務(wù),所 述任務(wù)包括處理至少其中一些是安全數(shù)據(jù)的數(shù)據(jù);在所述另一處理裝置 上開始所述任務(wù);向所述另一處理裝置發(fā)送暫停所述任務(wù)的信號(hào);響應(yīng) 于接收到暫停所述任務(wù)的所述信號(hào),所迷另一處理裝置暫停所述任務(wù), 并且啟動(dòng)使用安全密鑰對(duì)所述安全數(shù)據(jù)的加密以及將所述加密的安全 數(shù)據(jù)存儲(chǔ)到不安全數(shù)據(jù)儲(chǔ)存器中;從所述數(shù)據(jù)處理器生成指示所述另一 處理裝置繼續(xù)所述任務(wù)的信號(hào);響應(yīng)于所述信號(hào),所述另一處理裝置從 所述不安全數(shù)椐儲(chǔ)存器中檢索所述加密的安全數(shù)據(jù),并使用所述安全密 鑰解密所述加密的安全數(shù)據(jù),所述安全密鑰被安全地存儲(chǔ)在執(zhí)行所述加 密和解密的所述裝置內(nèi),使得其不能由其它裝置訪問。
      結(jié)合附圖閱讀下文的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的上述目 標(biāo)、特征和優(yōu)點(diǎn)以及其它的目標(biāo)、特征和優(yōu)點(diǎn)將變得顯而易見。


      圖1示意性地顯示了根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)處理設(shè)備;
      圖2示意性地顯示了根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)處理設(shè)備,該數(shù)據(jù)
      處理設(shè)備具有處理器,加速器和分離的加解密裝置;
      圖3示意性地顯示了根椐本發(fā)明另一實(shí)施例的數(shù)據(jù)處理設(shè)備;
      圖4顯示了圖解說明根據(jù)本發(fā)明的實(shí)施例的方法的流程圖5顯示了用來在中斷時(shí)暫停和繼續(xù)硬件輔助(hardware assist)
      的控制流程;
      圖6顯示了用于上下文切出(switch out)的流程圖; 圖7顯示了用于將進(jìn)程上下文切換到硬件輔助模塊的流程圖;和 圖8顯示了圖解說明延遲硬件輔助狀態(tài)保存直到第一新進(jìn)程訪問的 流程圖。
      具體實(shí)施例方式
      圖1示意性地顯示了處理器核心IO和加速器20。該系統(tǒng)配備有監(jiān) 控程序12,監(jiān)控程序12至少部分地在監(jiān)控模式下執(zhí)行。安全性狀態(tài)標(biāo) 志只在監(jiān)控模式下是可寫訪問的,并且可以被監(jiān)控程序?qū)懭?。監(jiān)控程序 負(fù)責(zé)管理安全域和不安全域之間的在任一方向上的所有變化。從該核心 的外部看,監(jiān)控模式總是安全的,并且監(jiān)控程序處于安全存儲(chǔ)器中。監(jiān) 控模式12可以被認(rèn)為是安全處理模式,因?yàn)榘踩珷顟B(tài)標(biāo)志在這種模式 下可以被改變,并且監(jiān)控模式12下的監(jiān)控程序有能力自身設(shè)置安全性 狀態(tài)標(biāo)志,這總體上有效地提供了系統(tǒng)內(nèi)的最終安全性等級(jí)。
      監(jiān)控模式在該系統(tǒng)中具有最高等級(jí)的安全性訪問,而且是有權(quán)在不 安全域和安全域之間在任一方向切換該系統(tǒng)的唯一模式。因此,所有的 域切換都是通過切換到監(jiān)控模式并且在監(jiān)控模式內(nèi)執(zhí)行監(jiān)控程序進(jìn)行 的。
      在不安全域中提供了不安全操作系統(tǒng)14,它運(yùn)行多個(gè)不安全應(yīng)用程 序,所述不安全應(yīng)用程序與不安全操作系統(tǒng)"協(xié)同執(zhí)行。在安全域中, 提供了安全內(nèi)核程序??梢哉J(rèn)為安全內(nèi)核程序16形成安全操作系統(tǒng)。 一般地,這樣的安全內(nèi)核程序16被設(shè)計(jì)成只提供對(duì)必須提供在安全域 中的處理活動(dòng)是必需的那些功能,使得安全內(nèi)核16可以盡可能地小和 簡單,因?yàn)檫@往往使其更加安全。
      當(dāng)在安全模式和不安全模式之間切換時(shí),總是調(diào)用(invoke)監(jiān)控 模式以控制數(shù)據(jù)的安全性,并確保安全的數(shù)據(jù)永遠(yuǎn)不用于不安全側(cè)。為 了進(jìn)入安全模式,首先要進(jìn)入安全特權(quán)模式。除了響應(yīng)于安全中斷,從 非特權(quán)安全模式不能進(jìn)入監(jiān)控模式。
      圖1還顯示了鏈接到核心10的加速器20它,并且在此實(shí)施例中, 加速器20包括加解密引擎。加解密引擎20由核心10調(diào)用以為其執(zhí)行 加解密功能??赡芗词乖诓话踩J较虏僮?,仍希望對(duì)某些數(shù)據(jù)加密。 在這種情況下,加解密引擎被調(diào)用以對(duì)數(shù)據(jù)加密,并且加解密引擎使用 安全密鑰執(zhí)行加解密功能。顯然,這些安全密鑰不應(yīng)為不安全側(cè)可用, 并且盡管加解密引擎可能是不可編程硬件裝置,這使得其非常安全,但 如果加解密過程出于某些原因被中斷,那么如果來自加解密引擎的狀態(tài) 要被保存以便能夠繼續(xù)處理,就會(huì)存在安全性問題,因?yàn)槿绻?dāng)不安全 操作系統(tǒng)正在控制核心時(shí)執(zhí)行保存加解密過程的狀態(tài)的操作,則保存加解密過程的狀態(tài)可能會(huì)使其可用于不安全側(cè)。然而,如果需要調(diào)用安全 操作系統(tǒng)以便管理數(shù)據(jù)的安全性,則存在與中斷該應(yīng)用相關(guān)的很長的時(shí) 延。在本實(shí)施例中,加解密引擎的功能性被用來使用存儲(chǔ)在加解密引擎
      20中的會(huì)話密鑰22對(duì)諸如在其處理過程中使用的密鑰之類的安全數(shù)據(jù) 進(jìn)行加密。在此實(shí)施例中,會(huì)話密鑰22被存儲(chǔ)在加解密引擎20內(nèi),此 時(shí)處理器核心在安全操作系統(tǒng)14的控制下在安全模式下操作,由此該 核心指示加解密引擎從存儲(chǔ)器30的的安全存儲(chǔ)器部分加栽會(huì)話密鑰。 會(huì)話密鑰22存儲(chǔ)在只寫位置,使得試圖攻擊進(jìn)入加解密引擎20的外部 進(jìn)程不能讀取該會(huì)話密鑰。
      因此,響應(yīng)于來自核心10的中斷,該中斷表明加解密引擎正在處 理的應(yīng)用應(yīng)該被暫停,加解密引擎20暫停其數(shù)椐的處理,并使用其加 解密功能性以利用會(huì)話密鑰22對(duì)其之前正處理的安全數(shù)據(jù)進(jìn)行加密。 加解密引擎的狀態(tài)連同被加密的安全數(shù)據(jù)和未被加密的不安全數(shù)據(jù)然 后被存儲(chǔ)到由指針24指示的位置處的存儲(chǔ)器30的不安全部分中。
      當(dāng)該核心希望繼續(xù)它分派給加解密引擎20執(zhí)行的應(yīng)用時(shí),它發(fā)送 信號(hào)給加解密引擎20表明此意,由此加解密引擎20可以通過訪問由指 針24所指示的位置離開其狀態(tài)和存儲(chǔ)器30所存儲(chǔ)的數(shù)據(jù)(leave its state and the stored data from memory 30)。 然后它可以使用會(huì)話 密鑰22解密該加密的數(shù)據(jù),之后可以繼續(xù)處理。這樣,在核心10上的 不安全操作系統(tǒng)的控制下運(yùn)行的不安全應(yīng)用可以給加解密引擎10分派 任務(wù)以使用安全密鑰執(zhí)行加解密,并允許此應(yīng)用被中斷,而無需調(diào)用監(jiān) 控模式來控制安全數(shù)據(jù)的安全性狀態(tài)。
      圖2顯示了可替代實(shí)施例,其中核心IO給加速器20分派任務(wù)使其 執(zhí)行功能,在圖2的情況下該功能不是加解密功能。在這種情況下,當(dāng) 核心10切換上下文時(shí),例如從安全模式切換到不安全模式時(shí),它分派 給加速器20處理的安全數(shù)據(jù)需要被保存,使得通過該上下文切換而中 斷的任務(wù)可以在稍后繼續(xù)。在這種情況下,加速器20不是加解密引擎, 因此,它指示單獨(dú)的加解密單元50來加密它正在處理的安全數(shù)據(jù),加 速器20通過專用的通信線路52鏈接到加解密單元50。加解密單元50 包括隨機(jī)數(shù)生成器52,加解密單元使用隨機(jī)數(shù)生成器52以在復(fù)位時(shí)生 成隨機(jī)數(shù)。該隨機(jī)數(shù)被存儲(chǔ)為會(huì)話密鑰54,并用來加密加速器20發(fā)送 給它的安全數(shù)據(jù)。在這個(gè)實(shí)施例中,加解密單元在加密數(shù)據(jù)之前還根據(jù)
      15未加密的數(shù)據(jù)生成哈希值,該哈希值通過加解密單元使用會(huì)話密鑰54 連同加密的數(shù)據(jù)而被加密。在一些實(shí)施例中,可以使用偽隨機(jī)數(shù)生成器, 而不是具有真隨機(jī)數(shù)生成器的開銷。這獲取一組現(xiàn)有信號(hào),并根據(jù)這些 信號(hào)的組合生成一數(shù)。信號(hào)的組合當(dāng)然必須是秘密組合。
      該加密的數(shù)據(jù)連同加密的哈希值然后以與圖1所示大致相同的方式 與加速器20的狀態(tài)以及不安全數(shù)據(jù)一起被存儲(chǔ)在存儲(chǔ)器中。
      盡管在這些實(shí)施例中,安全數(shù)據(jù)在存儲(chǔ)之前被加密,但在一些實(shí)施 例中,哈??杀划a(chǎn)生并加密,并且未加密的數(shù)據(jù)連同加密的哈希一起被 存儲(chǔ)。這使得用戶能夠知道數(shù)據(jù)是否已經(jīng)被篡改。在這種情況下,安全 數(shù)據(jù)對(duì)于不安全側(cè)是可訪問的,但在系統(tǒng)不知道的情況下它是不能被更 改的。在系統(tǒng)的安全性可能由于在另一處理裝置中使用已經(jīng)被篡改(但 并不是通過查看該數(shù)據(jù))的安全數(shù)椐而受到威脅的情況下,這可能是有 用的。
      當(dāng)該核心切換回安全狀態(tài)時(shí),它給加速器20發(fā)信號(hào)指示其以前正 在執(zhí)行的任務(wù)應(yīng)該繼續(xù)。此時(shí),從存儲(chǔ)器30中檢索存儲(chǔ)的狀態(tài)和數(shù)據(jù), 并且加密的數(shù)據(jù)和哈希值被發(fā)送到加解密單元50。加密的數(shù)據(jù)然后連同 哈希值一起被解密,并且根椐解密的數(shù)據(jù)產(chǎn)生新的哈希值。如果這個(gè)新 的哈希值與解密的哈希值匹配,則加解密單元50可以保證數(shù)據(jù)沒有被 篡改,然后解密的數(shù)據(jù)被發(fā)送到加速器20。如果這些哈希值不匹配,則 表明數(shù)據(jù)已經(jīng)被篡改,給核心IO發(fā)信號(hào)表明此結(jié)果,并中止該過程。
      圖3顯示了可替代實(shí)施例,其中加速器20再次不是加解密單元。 在這種情況下,不是使用單獨(dú)的加解密單元,加解密電路25被添加到 加速器20,因此,當(dāng)核心IO向加速器20表明它需要暫停某些安全數(shù)據(jù) 的處理時(shí),加解密電路25可以用來加密這些安全數(shù)據(jù)。在這個(gè)實(shí)施例 中其還被用來根據(jù)未加密的數(shù)據(jù)生成哈希值,并加密該哈希值。在這種 情況下,因?yàn)榧咏饷茈娐?5相對(duì)簡單,哈希值和加解密使用相同的算 法。用于該加解密的會(huì)話密鑰22在制造時(shí)被永久地存儲(chǔ)在加速器20中。
      在其它方面,該系統(tǒng)以與圖1和圖2所示的方式非常類似的方式進(jìn) 行工作。
      圖4顯示的流程解說明了根據(jù)本發(fā)明的實(shí)施例的方法的各步 驟。在該方法中,執(zhí)行任務(wù)的請(qǐng)求是在加速器處從主處理器核心接收的。 加速器然后執(zhí)行包括處理安全數(shù)據(jù)和不安全數(shù)據(jù)的該任務(wù)。在執(zhí)行此操作時(shí),它輪詢(poll)中斷,如果接收到一個(gè)中斷,它暫停該任務(wù)的處 理,并根據(jù)安全數(shù)據(jù)產(chǎn)生哈希值。然后它使用存儲(chǔ)在加密器上的會(huì)話密 鑰加密安全數(shù)據(jù)和哈希值。應(yīng)注意盡管在此實(shí)施例中,哈希值是根據(jù)未 加密的安全數(shù)據(jù)產(chǎn)生的,但在其它實(shí)施例中,安全數(shù)據(jù)可以首先被加密, 然后根據(jù)加密的數(shù)椐產(chǎn)生哈希值。
      處理器的狀態(tài)、加密的安全數(shù)據(jù)、哈希值和任何不安全數(shù)據(jù)然后被 存儲(chǔ)在存儲(chǔ)器中,并且加速器執(zhí)行由中斷指示的另一任務(wù)。當(dāng)這被完成 并且接收到指示繼續(xù)被中斷的任務(wù)的信號(hào)時(shí),從存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)的地 址檢索數(shù)據(jù)以及處理器的狀態(tài),并且然后解密所加密的數(shù)據(jù)和哈希。然 后根據(jù)解密的數(shù)據(jù)創(chuàng)建哈希值,并與存儲(chǔ)的解密的哈希進(jìn)行比較看它們 是否匹配。如果匹配,則恢復(fù)處理器的狀態(tài),處理繼續(xù),如果不匹配, 則中止任務(wù)并生成錯(cuò)誤信號(hào)。
      上述技術(shù)與題為 "Providing Secure Services to A Non-Secure Application"的申請(qǐng)?zhí)枮?2/003, 857以及題為"Control 1 ing Cleaning of Data Values Within a Hardware Accelerator" 的申請(qǐng)?zhí)枮?12/000, 005的共同未決的美國專利申請(qǐng)中描述的技術(shù)有關(guān)。這兩個(gè)共同 未決申請(qǐng)的公開內(nèi)容全部被并入本文。
      下面將公開與另一處理裝置或ARM⑧數(shù)據(jù)處理設(shè)備中的硬件(HW) 輔助 一起使用的不同技術(shù)的其他細(xì)節(jié)。
      希望訪問安全側(cè)數(shù)據(jù)的用戶模式HW輔助的 一般運(yùn)行模型是在HW輔 助試圖訪問安全側(cè)之前,安全會(huì)話已經(jīng)由安全側(cè)或由Trustzone ( TZ ) 軟件建立。
      存在四種管理需要從安全側(cè)訪問數(shù)據(jù)的HW輔助的安全會(huì)話的潛在 方式。
      到安全側(cè)的默認(rèn)軟件(SW)入口在SW中有所有安全性。每次要求 安全服務(wù)時(shí),進(jìn)入特權(quán)模式,然后運(yùn)行SMC (調(diào)用安全側(cè))以進(jìn)入安全 監(jiān)視。然后提供安全服務(wù),程序然后返回到用戶模式應(yīng)用。
      使安全監(jiān)視中的入口直接試圖訪問HW輔助。在此模式下,每次調(diào) 用HW輔助時(shí),進(jìn)入安全側(cè),并且安全會(huì)話可由安全側(cè)直接管理。安全 側(cè)SW還可以運(yùn)行所需的任何完整性檢查,然后調(diào)用HW來執(zhí)行該任務(wù)。 這可以通過禁用對(duì)HW輔助的不安全訪問來實(shí)現(xiàn)。
      建立全局安全會(huì)話,并給要求安全訪問的每一進(jìn)程提供可用于不安
      17全側(cè)的安全值的表格中的預(yù)定義索引。每個(gè)表格值與哈希值成對(duì),以確 保只有具有正確哈希的進(jìn)程才可以訪問特定的表格條目。安全會(huì)話是在 進(jìn)程創(chuàng)建時(shí)建立的,此時(shí)可用的表格條目和保護(hù)哈希值被計(jì)算。安全側(cè)
      還將安全基表的地址和有效表格范圍寫入到HW輔助中的僅安全模式寄 存器中(secure mode only register)。 為了從應(yīng)用程序訪問安全項(xiàng), HW輔助被用戶編程有偏移和哈希值。HW輔助模塊然后使用這些值來訪 問安全信息,并檢查哈希。在此模型中,安全會(huì)話仍然是全局視圖,因 此不需要在規(guī)則的操作系統(tǒng)上下文切換時(shí)調(diào)用安全監(jiān)視一該偏移和哈 ??梢栽谏舷挛那袚Q時(shí)^皮存儲(chǔ)在進(jìn)程應(yīng)用空間中。
      每個(gè)進(jìn)程建立一安全會(huì)話。在此^f莫型中,每個(gè)進(jìn)程實(shí)際上具有自己 的安全會(huì)話。在進(jìn)程被上下文切入時(shí)建立安全會(huì)話,并且在上下文結(jié)束 時(shí)關(guān)閉該會(huì)話。并不是在每次訪問HW輔助時(shí),都要訪問安全監(jiān)視,只 是在上下文開始和結(jié)束時(shí)訪問安全監(jiān)視。此模型的優(yōu)點(diǎn)是存儲(chǔ)在HW輔
      具有CA—STATUS寄存器的安全影子(secure shadow)而被保存。 CA-STATUS寄存器是為HW輔助模塊提供狀態(tài),并具有特權(quán)訪問的寄存 器。
      在任務(wù)完成之前,鼎輔助可以在運(yùn)行時(shí)被中斷,然后需要時(shí)在稍后 時(shí)間,皮重新啟動(dòng)。如果HW輔助正在運(yùn)行時(shí)接收到中斷,則以通常的ARM 方式進(jìn)入中斷,而不對(duì)HW輔助進(jìn)行任何改變。在中斷處理程序(handler) 中,程序員具有以下選項(xiàng)
      1. 不對(duì)HW輔助進(jìn)行任何處理,讓其繼續(xù)運(yùn)行。注意該核心的系統(tǒng) 編程必須保證HW輔助仍能看到存儲(chǔ)器的正確視圖(即,頁表沒有被改 變)。
      2. 暫時(shí)暫停HW輔助,但不使用HW輔助用于其它任何處理。 (MSUSPEND )
      3. 暫停HW輔助,并將任何臟(dirty)狀態(tài)保存回存儲(chǔ)器中,這 樣HW輔助可以被其它方使用。(MSUSPENDC )
      在(2)和(3)的情況下, 一旦中斷處理程序完成,用繼續(xù)命令重 新啟動(dòng)HW輔助。對(duì)于(2),執(zhí)行從它停止的地方重新開始,而在(3) 中,在繼續(xù)執(zhí)行之前,中間狀態(tài)必須首先被重新加栽回HW輔助。圖5 顯示了這兩種情況的控制流程。在該圖中,CA-STATE寄存器是包含指向HW輔助模塊的描述符的指針的寄存器,具有特權(quán)訪問或用戶訪問。
      對(duì)于一般的中斷處理程序,廣播形式的MSUSPEND和MRESUME可以 被用來暫停和繼續(xù)所有HW輔助。對(duì)于更為專門的應(yīng)用,各個(gè)HW輔助模 塊可以(通過將HW輔助的邏輯地址提供給控制)被獨(dú)立地暫停和繼續(xù)。 存在需要被處理的三種基本類型的異常
      * 用戶錯(cuò)誤-一由用戶模式SW處理
      * 特權(quán)系統(tǒng)錯(cuò)誤-一發(fā)信號(hào)通知操作系統(tǒng)以便處理的系統(tǒng)錯(cuò)誤
      * 安全錯(cuò)誤一-由訪問安全側(cè)引起的錯(cuò)誤,被發(fā)信號(hào)通知給安全 監(jiān)視。
      在默認(rèn)情況下,特權(quán)錯(cuò)誤和安全性錯(cuò)誤經(jīng)由中斷被發(fā)信號(hào)通知核心 以便進(jìn)一步處理。期望用戶模式錯(cuò)誤由用戶應(yīng)用軟件校檢查HW輔助寄 存器中的狀態(tài)錯(cuò)誤位(如CA—Status寄存器的IUE位)來處理。這種架 構(gòu)也支持在需要時(shí)允許用戶模式錯(cuò)誤給核心發(fā)信號(hào),使核心中斷,但這 會(huì)招致處理操作系統(tǒng)的代價(jià)。
      在來自不同特權(quán)級(jí)的多個(gè)異??赡苡行?active)的情況下,提供
      影子控制寄存器來存儲(chǔ)異常信息。例如,如果發(fā)生安全故障和用戶存儲(chǔ) 器故障,則FAR和CA-STATUS寄存器必須在安全側(cè)有影子。FAR寄存器 具有特權(quán)訪問,并提供出故障的存儲(chǔ)器地址。
      支持上下文切換所需的基本操作類似于基本的中斷處理,即,暫停 和繼續(xù)HW輔助操作以及從HW輔助模塊中清除臟狀態(tài)。上下文切換可以
      被分解成兩部分 切出舊進(jìn)程 切入新進(jìn)程
      對(duì)于每種情況,都有兩種可能性 嚴(yán)格(strict)-—立即進(jìn)行切換
      惰性(lazy)—-如果其它人確實(shí)想要使用HW輔助,則只保存狀態(tài)。
      后者功率較低,因?yàn)槠渲辉诒匾獣r(shí)保存狀態(tài),但實(shí)現(xiàn)起來更為復(fù)雜。 注意傳統(tǒng)的惰性上下文切換(如用在VFP中的)并不切入新的上 下文,直到HW被新的進(jìn)程訪問。在這種技術(shù)中,如果新的上下文具有 以前被暫停的鼎輔助,則只要上下文被恢復(fù),其就需要重新啟動(dòng),而 不等到在新的上下文中對(duì)H W的首次新訪問。圖6顯示了為HW輔助模塊(CHA)切換上下文的一般流程。如果上 下文切換不是惰性的,則通過使用MSUSPENDC和到描述符的指針暫停并 清除HW輔助,每個(gè)啟用的HW輔助的狀態(tài)寄存器和FAR被保存。在惰性 上下文切換的情況下,僅暫停HW輔助,而不保存任何狀態(tài)。在兩種情 況下,操作系統(tǒng)都可以繼續(xù)進(jìn)行其它上下文切換清除,同時(shí)等待HW輔 助停止(以及潛在清除)。在頁表?xiàng)l目需要被更改之前,操作系統(tǒng)執(zhí)行 數(shù)據(jù)加速器屏障(data accelerator barrier, DAN)以確保所有的HW 輔助都已經(jīng)完成暫停,然后在HACR中禁用所有的HW輔助。上下文切出 然后象通常一樣繼續(xù)。
      可以細(xì)化一般的上下文切出,代價(jià)是操作系統(tǒng)進(jìn)行更多的分析。例

      如果HW輔助模塊當(dāng)前沒有被啟用,則沒有進(jìn)程上下文需保存,也
      不需要進(jìn)行任何操作。
      如果HW輔助被啟用,但沒有運(yùn)行一-沒有臟狀態(tài)潛在地需要保存。 可以選擇允許HW輔助將其完成而不是暫停-一確保了所有的臟數(shù)據(jù)
      回到存儲(chǔ)器中。
      在將新的進(jìn)程切換到HW輔助模塊中時(shí),笫一步是啟用HW輔助模塊。 在這之后,描述符和狀態(tài)寄存器被重新裝載到HW輔助模塊中,并且繼 續(xù)所有命令被發(fā)出以繼續(xù)所有被啟用的HW輔助模塊的執(zhí)行。這顯示在 圖7中。
      如果采用的是惰性方案(即舊進(jìn)程的狀態(tài)還沒有被切出),則操作 系統(tǒng)應(yīng)當(dāng)確定新的進(jìn)程是否已經(jīng)暫停了 HW輔助模塊。如果新的上下文 正在使用HW輔助,則舊的狀態(tài)應(yīng)該在上下文切換時(shí)從HW輔助中清除出 去(而不是延遲到其之后被訪問)。
      延遲的上下文切入
      延遲的進(jìn)程狀態(tài)切換在保存任何狀態(tài)之前等待,直到新的進(jìn)程嘗試 訪問HW輔助模塊。如果新進(jìn)程不使用HW輔助模塊,則沒有狀態(tài)需要被 保存。
      為了檢測(cè)新進(jìn)程何時(shí)嘗試訪問HW輔助模塊,在上下文切換時(shí)禁用 該模塊,使得嘗試使用該模塊會(huì)觸發(fā)操作系統(tǒng)中的事件,操作系統(tǒng)可以 保存并恢復(fù)所需狀態(tài)(未定義的指令陷阱)。 一旦舊狀態(tài)已經(jīng)被保存并
      20且新狀態(tài)^皮加栽,訪問HW輔助的命令可以:故重新運(yùn)行。該程序顯示在
      圖8中。假設(shè)暫停的HW輔助是在上下文切入時(shí)被檢測(cè)的,并被自動(dòng)重 新啟動(dòng),而不是等待訪問它們的命令。
      注意操作系統(tǒng)必須能夠訪問以前的HW輔助上下文的用戶空間描述 符以將HW輔助狀態(tài)保存到正確位置。
      盡管本文已經(jīng)參考附圖詳細(xì)描述了本發(fā)明的示例性實(shí)施例,但應(yīng)理 解本發(fā)明并不局限于這些確切的實(shí)施例,在不偏離由所附權(quán)利要求書限 定的本發(fā)明的范圍和精神的情況下,本領(lǐng)域技術(shù)人員可以實(shí)施各種改變 和改進(jìn)。
      權(quán)利要求
      1. 一種數(shù)據(jù)處理設(shè)備,包括數(shù)據(jù)處理器,用于在安全模式和不安全模式下處理數(shù)據(jù),在所述安全模式下處理數(shù)據(jù)的所述數(shù)據(jù)處理器能夠訪問安全數(shù)據(jù),所述數(shù)據(jù)處理器在所述不安全模式下不能訪問所述安全數(shù)據(jù),并且所述數(shù)據(jù)處理器在所述安全模式下處理數(shù)據(jù)是在安全操作系統(tǒng)的控制下進(jìn)行的,以及在所述不安全模式下處理數(shù)據(jù)是在不安全操作系統(tǒng)的控制下進(jìn)行的;和另一處理裝置,其用來響應(yīng)于來自所述數(shù)據(jù)處理器的請(qǐng)求而執(zhí)行任務(wù),所述任務(wù)包括處理至少其中一些是安全數(shù)據(jù)的數(shù)據(jù);其中所述另一處理裝置響應(yīng)于接收到暫停所述任務(wù)的信號(hào),以啟動(dòng)使用安全密鑰處理所述安全數(shù)據(jù);和將所述處理過的安全數(shù)據(jù)存儲(chǔ)到不安全數(shù)據(jù)儲(chǔ)存器中;以及所述另一處理裝置還響應(yīng)于接收到繼續(xù)所述任務(wù)的信號(hào),以啟動(dòng)從所述不安全數(shù)據(jù)儲(chǔ)存器中檢索所述處理過的安全數(shù)據(jù);和使用所述安全密鑰恢復(fù)所述處理過的安全數(shù)據(jù);其中所述安全密鑰被安全地存儲(chǔ),使得其不能被操作在所述不安全模式下的其它進(jìn)程訪問。
      2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中所迷安全數(shù)據(jù)的所 述處理包括使用所迷安全密鑰加密所述安全數(shù)據(jù),并且所述處理過的安 全數(shù)據(jù)的所述恢復(fù)包括使用所述安全密鑰解密所述加密的安全數(shù)據(jù),所 述安全密鑰被安全地存儲(chǔ)在執(zhí)行所述加密和解密的裝置中。
      3. 根據(jù)權(quán)利要求2所迷的數(shù)據(jù)處理設(shè)備,其中在啟動(dòng)所迷數(shù)據(jù)的 加密之前,所述另一處理裝置啟動(dòng)從所述數(shù)據(jù)中生成安全簽名,并啟動(dòng) 所述安全簽名的加密,以及連同所述安全數(shù)椐一起存儲(chǔ)所述安全簽名; 和響應(yīng)于接收到繼續(xù)所述任務(wù)的所述信號(hào),所述另一處理裝置啟動(dòng)所 述加密的安全簽名的檢索和所述加密的安全簽名的解密,并且在所述加 密的安全數(shù)據(jù)的解密之后,啟動(dòng)從所述解密的加密數(shù)據(jù)中生成所迷安全 簽名,以及將所述生成的安全簽名與所述解密的安全簽名進(jìn)行比較;和響應(yīng)于所述生成的安全簽名與所迷解密的安全簽名不匹配,所述另 一處理裝置向所述數(shù)據(jù)處理器發(fā)出信號(hào)以表明所述數(shù)據(jù)已經(jīng)被篡改;和響應(yīng)于所述生成的安全簽名與所述解密的安全簽名相匹配,所述另 一處理裝置使用所述解密的數(shù)據(jù)繼續(xù)所述任務(wù)。
      4. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理設(shè)備,其中在加密所迷數(shù)據(jù)之 后,所述另一處理裝置啟動(dòng)從所述加密的數(shù)據(jù)中生成安全簽名,并啟動(dòng) 所述安全簽名以及所述加密的安全數(shù)據(jù)的加密和存儲(chǔ);和響應(yīng)于接收到繼續(xù)所述任務(wù)的所述信號(hào),所述另一處理裝置啟動(dòng)所 迷加密的安全簽名的檢索和所述加密的安全簽名的解密,并啟動(dòng)從所述 加密的數(shù)據(jù)中生成所述安全簽名,并將所述生成的安全簽名和所述解密 的安全簽名進(jìn)行比較;和響應(yīng)于所述生成的安全簽名與所述解密的安全簽名不匹配,所述另 一處理裝置向所述數(shù)據(jù)處理器發(fā)出信號(hào)以表明所述數(shù)據(jù)已經(jīng)被篡改;和響應(yīng)于所述生成的安全簽名與所述解密的安全簽名相匹配,所述另 一處理裝置解密所述加密的數(shù)據(jù),并使用所述解密的數(shù)據(jù)繼續(xù)所述任 務(wù)。
      5. 根據(jù)權(quán)利要求1所迷的數(shù)據(jù)處理設(shè)備,其中所述安全數(shù)椐的所述安全簽名,并且所述處理過的安全數(shù)據(jù)的所述恢復(fù)包括解密所述加密 的安全簽名,以及從所述檢索的數(shù)據(jù)中生成所述安全簽名,并將所述生 成的安全簽名和所述解密的安全簽名進(jìn)行比較;和響應(yīng)于所述生成的安全簽名與所述解密的安全簽名不匹配,所述另 一處理裝置向所述數(shù)據(jù)處理器發(fā)出信號(hào)以表明所迷數(shù)據(jù)已經(jīng)被篡改;和響應(yīng)于所述生成的安全簽名與所述解密的安全簽名相匹配,所述另 一處理裝置使用所述檢索的數(shù)椐繼續(xù)所述任務(wù)。
      6. 根據(jù)權(quán)利要求3所述的數(shù)據(jù)處理設(shè)備,其中所述安全數(shù)據(jù)的所 述加密和所述簽名的所述生成是使用相同的算法進(jìn)行的。
      7. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理設(shè)備,其中執(zhí)行所述加密和解 密的所述裝置是所述另一處理裝置。
      8. 根椐權(quán)利要求7所述的數(shù)椐處理設(shè)備,其中所述另一處理裝置 包括加解密處理裝置,所述加解密處理裝置使用至少一個(gè)密鑰執(zhí)行數(shù)據(jù) 的加解密處理,所述安全數(shù)據(jù)是由包括所述至少一個(gè)密鑰的所述安全密 鑰加密的。
      9. 根據(jù)權(quán)利要求2所述的數(shù)椐處理設(shè)備,其中執(zhí)行所述加密和解 密裝置的所述裝置是通過專用數(shù)據(jù)通信路徑連接到所述另一處理裝置 的加解密處理裝置,該專用數(shù)椐通信路徑是其它裝置不能訪問的。
      10. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理設(shè)備,其中所述另一處理裝置 包括用來執(zhí)行除加解密以外的功能的電路,所述另一處理裝置包括附加 的加解密電路以加密和解密所述安全數(shù)據(jù),所迷另一處理裝置包括所述 安全密鑰的安全存儲(chǔ)位置。
      11. 根據(jù)權(quán)利要求7所述的數(shù)椐處理設(shè)備,其中所述另一處理裝置 包括所迷安全密鑰的只寫存儲(chǔ)位置。
      12. 根椐權(quán)利要求1所述的數(shù)椐處理設(shè)備,其中所述安全密鑰在操 作在安全模式下的所述數(shù)據(jù)處理器的控制下被存儲(chǔ)在所述數(shù)據(jù)處理設(shè) 備中,使得其只能由在安全模式下操作的所述數(shù)椐處理器訪問。
      13. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中所述安全密鑰是在 制造時(shí)被設(shè)置的,并永久地安全存儲(chǔ)在執(zhí)行所述安全數(shù)據(jù)的所述加密和 解密的所述裝置中,使得其不能被其它裝置訪問。
      14. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)處理設(shè)備,其中執(zhí)行所述安全數(shù)據(jù) 的所述加密和解密的所述裝置包括隨機(jī)數(shù)生成器,所迷安全密鑰是由所 述隨機(jī)數(shù)生成器在復(fù)位時(shí)生成的。
      15. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中所述不安全數(shù)椐儲(chǔ) 存器包括存儲(chǔ)器的不安全部分。
      16. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中暫停所述任務(wù)的所述信號(hào)是由所述數(shù)據(jù)處理器響應(yīng)于中斷或異常而生成的。
      17. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中暫停所述任務(wù)的所 述信號(hào)是由所述數(shù)據(jù)處理器響應(yīng)于信號(hào)而生成的,該信號(hào)表明所述數(shù)據(jù) 處理器從操作在所迷安全模式或不安全模式中的一種到所述安全模式 或不安全;^莫式中的另 一種的上下文切換。
      18. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中執(zhí)行所述任務(wù)的所 述請(qǐng)求是從在所述不安全模式下操作的所述數(shù)據(jù)處理器發(fā)出的。
      19. 根據(jù)權(quán)利要求18所迷的數(shù)據(jù)處理設(shè)備,其中所述數(shù)據(jù)處理器 被配置成響應(yīng)于所述數(shù)據(jù)處理器在不安全模式下執(zhí)行的程序代碼向所 述另 一處理裝置發(fā)出執(zhí)行所述任務(wù)的所述請(qǐng)求。
      20. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理設(shè)備,其中所述另一處理裝置 包括不可編程硬件。
      21. 根據(jù)權(quán)利要求1所迷的數(shù)據(jù)處理設(shè)備,其中所述另一處理裝置 被配置成不在操作系統(tǒng)的控制下處理程序代碼。
      22. —種在數(shù)據(jù)處理設(shè)備上處理數(shù)據(jù)的方法,所述數(shù)據(jù)處理設(shè)備包 括數(shù)據(jù)處理器和另一處理裝置;所述數(shù)據(jù)處理器用于在安全模式和不安 全模式下處理數(shù)據(jù),在所述安全模式下處理數(shù)據(jù)的所述數(shù)據(jù)處理器能夠 訪問安全數(shù)據(jù),所述數(shù)據(jù)處理器在所述不安全模式下不能訪問所述安全 數(shù)據(jù),所迷數(shù)據(jù)處理器在所述安全模式下處理數(shù)椐是在安全操作系統(tǒng)的 控制下進(jìn)行的,并且在所述不安全模式下處理數(shù)據(jù)是在不安全操作系統(tǒng) 的控制下進(jìn)行的;所述另一處理裝置用來響應(yīng)于來自所迷數(shù)據(jù)處理器的 請(qǐng)求而執(zhí)行任務(wù),所迷任務(wù)包括處理至少其中一些是安全數(shù)據(jù)的數(shù)據(jù); 所述方法包括以下步驟在所迷數(shù)據(jù)處理器上處理數(shù)據(jù);將來自所述數(shù)據(jù)處理器的請(qǐng)求發(fā)送到所述另一處理裝置以執(zhí)行任 務(wù),所述任務(wù)包括處理至少其中一些是安全數(shù)據(jù)的數(shù)據(jù);在所述另 一處理裝置上開始所述任務(wù);向所述另一處理裝置發(fā)送暫停所述任務(wù)的信號(hào);響應(yīng)于接收到暫停所述任務(wù)的所述信號(hào),所述另一處理裝置暫停所 述任務(wù),并啟動(dòng)使用安全密鑰對(duì)所述安全數(shù)據(jù)的處理及將所述處理過的 安全數(shù)據(jù)存儲(chǔ)在不安全數(shù)椐儲(chǔ)存器中;從所述數(shù)據(jù)處理器生成指示所述另一處理裝置繼續(xù)所述任務(wù)的信號(hào);所述另一處理裝置響應(yīng)于所述信號(hào)從所述不安全數(shù)據(jù)儲(chǔ)存器中檢索所 述處理過的安全數(shù)據(jù),并使用所述安全密鑰恢復(fù)所述檢索的數(shù)據(jù),所述 安全密鑰被安全地存儲(chǔ),使得其不能由其它裝置訪問。
      全文摘要
      本發(fā)明涉及保護(hù)從中央處理器發(fā)送的以供處理的安全數(shù)據(jù)的安全性。數(shù)據(jù)處理設(shè)備包括數(shù)據(jù)處理器和另一處理裝置,在安全模式下處理數(shù)據(jù)的數(shù)據(jù)處理器可以訪問安全數(shù)據(jù),而在所述不安全模式下它不能訪問安全數(shù)據(jù),在安全模式下處理數(shù)據(jù)是在安全操作系統(tǒng)的控制下進(jìn)行的,在不安全模式下處理數(shù)據(jù)是在不安全操作系統(tǒng)的控制下進(jìn)行的;另一處理裝置響應(yīng)于來自數(shù)據(jù)處理器的請(qǐng)求執(zhí)行任務(wù);其響應(yīng)于暫停任務(wù)的信號(hào)的接收以啟動(dòng)使用安全密鑰處理安全數(shù)據(jù);將處理過的安全數(shù)據(jù)存儲(chǔ)到不安全數(shù)據(jù)儲(chǔ)存器;其還響應(yīng)于接收到繼續(xù)任務(wù)的信號(hào)來啟動(dòng)從不安全數(shù)據(jù)儲(chǔ)存器中檢索處理過的安全數(shù)據(jù);使用安全密鑰恢復(fù)處理過的安全數(shù)據(jù),安全密鑰被安全存儲(chǔ)。
      文檔編號(hào)G06F21/24GK101477612SQ20091000231
      公開日2009年7月8日 申請(qǐng)日期2009年1月4日 優(yōu)先權(quán)日2008年1月2日
      發(fā)明者D·克爾肖, N·C·帕弗 申請(qǐng)人:Arm有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1