1.一種處理數(shù)據(jù)的方法,所述方法使用具有包括第一特權(quán)模式和第二特權(quán)模式的多個特權(quán)模式的數(shù)據(jù)處理裝置,所述第一特權(quán)模式給予在所述第二特權(quán)模式中不可用的訪問權(quán)利,所述方法包括以下步驟:
在所述第二特權(quán)模式中執(zhí)行應(yīng)用程序代碼,從而生成對管理程序代碼的功能調(diào)用以使用所述訪問權(quán)利來執(zhí)行安全功能;
在所述功能調(diào)用的生成時(shí),在所述第一特權(quán)模式中執(zhí)行管理程序代碼以至少控制所述安全功能的執(zhí)行;以及
在所述第二特權(quán)模式中執(zhí)行調(diào)度代碼以通過所述數(shù)據(jù)處理裝置來控制所述應(yīng)用程序代碼和所述管理程序代碼的執(zhí)行的調(diào)度。
2.如權(quán)利要求1所述的方法,其中,所述管理程序代碼執(zhí)行所述安全功能。
3.如權(quán)利要求1和2中任意一個所述的方法,其中,對所述管理程序代碼的中斷的發(fā)生中斷所述安全功能的所述執(zhí)行。
4.如權(quán)利要求1、2和3中任意一個所述的方法,其中,所述調(diào)度代碼響應(yīng)于調(diào)度事件的發(fā)生來選擇將執(zhí)行的下一個代碼。
5.如權(quán)利要求4所述的方法,其中,所述調(diào)度事件是以下之一:
由所述調(diào)度代碼調(diào)度用于執(zhí)行的代碼的執(zhí)行的完成;
計(jì)時(shí)器中斷;以及
當(dāng)所述數(shù)據(jù)處理裝置開始執(zhí)行代碼時(shí)的喚醒事件。
6.如上述權(quán)利要求中任意一個所述的方法,其中,所述訪問權(quán)利包括對秘密數(shù)據(jù)的訪問,并且所述安全功能是使用所述秘密數(shù)據(jù)的秘密功能。
7.如上述權(quán)利要求中任意一個所述的方法,其中,所述管理程序代碼調(diào)用在所述第二特權(quán)模式中執(zhí)行的委托代碼以作為服務(wù)所述功能調(diào)用的部分。
8.如權(quán)利要求7所述的方法,其中,所述委托代碼依賴于所述數(shù)據(jù)處理裝置的配置參數(shù)執(zhí)行處理操作,以及所述管理程序代碼獨(dú)立于所述配置參數(shù)執(zhí)行處理操作。
9.如權(quán)利要求8所述的方法,其中,委托代碼執(zhí)行以下中的一種:
用于從在所述數(shù)據(jù)處理裝置的操作中產(chǎn)生的錯誤狀況中恢復(fù)的錯誤恢復(fù)操作;以及
儲存在所述數(shù)據(jù)處理裝置的閃存內(nèi)的程序代碼的程序更新。
10.如上述權(quán)利要求中任意一個所述的方法,其中,所述數(shù)據(jù)處理裝置包括存儲器保護(hù)電路系統(tǒng),所述存儲器保護(hù)電路系統(tǒng)被配置為接收直接指定在所述數(shù)據(jù)處理裝置的存儲器地址空間內(nèi)的物理地址的存儲器訪問請求,并且被配置為依賴于可編程存儲器保護(hù)配置數(shù)據(jù)和所述數(shù)據(jù)處理裝置是在第一特權(quán)模式中還是在第二特權(quán)模式中,分別控制對在所述存儲器地址空間內(nèi)多個不同區(qū)域的訪問。
11.如權(quán)利要求10所述的方法,其中,所述應(yīng)用程序代碼生成向所述管理程序代碼的請求以訪問在所述第二特權(quán)模式中不能訪問的所述存儲器地址空間的給定區(qū)域,以及所述管理程序代碼臨時(shí)地改變所述可編程存儲器保護(hù)配置數(shù)據(jù)以許可在所述第二特權(quán)模式中執(zhí)行的所述應(yīng)用程序代碼訪問所述給定區(qū)域。
12.如權(quán)利要求11所述的方法,其中,在接收所述請求之后,如果所述應(yīng)用程序代碼被許可訪問,那么在臨時(shí)地改變所述可編程存儲器保護(hù)配置之前,所述管理程序代碼檢查所述應(yīng)用程序代碼是否被許可訪問所述給定區(qū)域。
13.如權(quán)利要求10、11和12中任意一個所述的方法,其中,所述應(yīng)用程序代碼包括應(yīng)用程序代碼的多個塊,應(yīng)用程序代碼的所述多個塊的至少一些塊與在所述存儲器地址空間內(nèi)的不同區(qū)域相關(guān)聯(lián),以及所述管理程序代碼用于臨時(shí)地分別許可應(yīng)用程序代碼的不同塊訪問僅在所述第一特權(quán)模式中能訪問的存儲器的至少一個區(qū)域。
14.如權(quán)利要求10和13中任意一個所述的方法,其中,所述管理程序代碼在所述存儲器地址空間內(nèi)生成棧存儲器,所述存儲器保護(hù)電路系統(tǒng)運(yùn)行以防止由在所述第一特權(quán)模式中執(zhí)行的所述管理程序代碼訪問所述多個區(qū)域中的一個或更多個區(qū)域,以及所述棧存儲器位于所述存儲器地址空間內(nèi),使得所述棧存儲器的超載運(yùn)行和欠載運(yùn)行的至少一個導(dǎo)致觸發(fā)存儲器許可異常的訪問所述多個區(qū)域的所述一個或更多個區(qū)域的嘗試。
15.如上述權(quán)利要求中任意一個所述的方法,其中,多個特權(quán)模式包括僅所述第一特權(quán)模式和所述第二特權(quán)模式。
16.如上述權(quán)利要求中任意一個所述的方法,其中,中斷信號或異常中的一個的發(fā)生觸發(fā)在所述第一特權(quán)模式中所述管理程序代碼的執(zhí)行,以及所述管理程序代碼將所述中斷信號或異常的處理轉(zhuǎn)發(fā)到在所述第二特權(quán)模式中執(zhí)行的處理代碼。
17.如權(quán)利要求16所述的方法,其中,在向所述處理代碼進(jìn)行所述轉(zhuǎn)發(fā)之前,所述管理程序代碼清除所述數(shù)據(jù)處理裝置的至少一些通用寄存器。
18.如權(quán)利要求6所述的方法,其中,通過使來自所述功能調(diào)用的返回延遲至直到從做出所述功能調(diào)用后的預(yù)定時(shí)間,所述管理程序代碼運(yùn)行以隱藏完成所述密碼功能所花費(fèi)的時(shí)間。
19.如上述權(quán)利要求中任意一個所述的方法,其中,用于監(jiān)控所述數(shù)據(jù)處理裝置的性能參數(shù)的性能計(jì)數(shù)器在所述第一特權(quán)模式中是可訪問的并且在所述第二特權(quán)模式中是不可訪問的。
20.如上述權(quán)利要求中任意一個所述的方法,其中,所述數(shù)據(jù)處理裝置具有混淆模式,在所述混淆模式中,所述管理程序代碼可以切換所述數(shù)據(jù)處理裝置的包括所述應(yīng)用程序代碼的執(zhí)行的操作,并且所述操作用于混淆以下中的一個或更多個:操作的定時(shí)、功率消耗和對輸入/輸出設(shè)備的訪問。
21.一種數(shù)據(jù)處理裝置,所述數(shù)據(jù)處理裝置具有包括第一特權(quán)模式和第二特權(quán)模式的多個特權(quán)模式,所述第一特權(quán)模式給予在所述第二特權(quán)模式中不可用的訪問權(quán)利,所述裝置包括:
執(zhí)行電路系統(tǒng),配置為:
在所述第二特權(quán)模式中執(zhí)行應(yīng)用程序代碼,從而生成對管理程序代碼的功能調(diào)用以使用所述訪問權(quán)利來執(zhí)行安全功能;
在所述功能調(diào)用的生成時(shí),在所述第一特權(quán)模式中執(zhí)行管理程序代碼以至少控制所述安全功能的執(zhí)行;以及
在所述第二特權(quán)模式中執(zhí)行調(diào)度代碼以通過所述數(shù)據(jù)處理裝置來控制所述應(yīng)用程序代碼和所述管理程序代碼的執(zhí)行的調(diào)度。
22.一種數(shù)據(jù)處理裝置,所述數(shù)據(jù)處理裝置具有包括第一特權(quán)模式和第二特權(quán)模式的多個特權(quán)模式,所述第一特權(quán)模式給予在所述第二特權(quán)模式中不可用的訪問權(quán)利,所述裝置包括:
用于執(zhí)行代碼的執(zhí)行部件,所述執(zhí)行部件被配置為:
在所述第二特權(quán)模式中執(zhí)行應(yīng)用程序代碼,從而生成對管理程序代碼的功能調(diào)用以使用所述訪問權(quán)利來執(zhí)行安全功能;
在所述功能調(diào)用的生成時(shí),在所述第一特權(quán)模式中執(zhí)行管理程序代碼以至少控制所述安全功能的執(zhí)行;以及
在所述第二特權(quán)模式中執(zhí)行調(diào)度代碼以通過所述數(shù)據(jù)處理裝置來控制所述應(yīng)用程序代碼和所述管理程序代碼的執(zhí)行的調(diào)度。
23.一種參考附圖的實(shí)質(zhì)上如以上所述的處理數(shù)據(jù)的方法。
24.一種參考附圖的實(shí)質(zhì)上如以上所述的數(shù)據(jù)處理裝置。