專利名稱:一種面向智能卡的軟硬件協(xié)同保護(hù)機(jī)制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要應(yīng)用于智能卡芯片。
背景技術(shù):
智能卡已經(jīng)得到越來(lái)越廣泛的應(yīng)用,人們除了對(duì)智能卡芯片內(nèi)存儲(chǔ)器的容量、CPL'性能 的要求提高外,對(duì)智能卡芯片安全性的要求也不斷增加。
發(fā)明內(nèi)容
本發(fā)明為了解決智能卡芯片的安全問(wèn)題提出了軟硬件協(xié)同保護(hù)的方法。 本發(fā)明涉及到的智能卡芯片,有64K統(tǒng)一編址的非揮發(fā)性存儲(chǔ)器作為程序區(qū)使用。發(fā)明 中的軟硬件協(xié)同保護(hù)是通過(guò)使COS程序、應(yīng)用程序在不同模式下運(yùn)行,保證COS具有最高權(quán) 限,而應(yīng)用程序的運(yùn)行完全掌控在COS程序之下,最終保證了芯片的安全性。 軟件配置各個(gè)分區(qū)的地址偏移量寄存器,硬件完成地址映射。
軟件設(shè)定分區(qū)屬性寄存器的內(nèi)容,硬件監(jiān)控CPU指令寄存器,根據(jù)特定指令所指向的分 區(qū)及其屬性寄存器的內(nèi)容,決定是否產(chǎn)生中斷。
系統(tǒng)態(tài)和應(yīng)用態(tài)兩種模式的切換通過(guò)軟件中斷完成,中斷服務(wù)程序被認(rèn)為是運(yùn)行在系統(tǒng) 態(tài)下的COS程序的一部分,決定本次操作是否可以切換模式。
本發(fā)明實(shí)現(xiàn)的安全保護(hù),具有以下特點(diǎn)
1. 系統(tǒng)的運(yùn)行模式可配置為系統(tǒng)態(tài)或者用戶態(tài)。
2. 兩種模式的具有不同的權(quán)限。系統(tǒng)態(tài)具有最高權(quán)限,可以對(duì)芯片的一切資源進(jìn)行調(diào)用;
用戶態(tài)的權(quán)限被限制在一定范圍內(nèi)。通常情況下COS程序在系統(tǒng)態(tài)下運(yùn)行,具有最高 權(quán)限;而應(yīng)用程序在用戶態(tài)下運(yùn)行,受C0S程序控制。芯片中所有程序的運(yùn)行都處在
一種可控的狀態(tài),使得非法程序無(wú)機(jī)可乘。
3. 把非揮發(fā)性存儲(chǔ)器在邏輯上劃分成幾個(gè)分區(qū),通過(guò)軟件設(shè)定每個(gè)分區(qū)的屬性。硬件根
據(jù)分區(qū)屬性寄存器的內(nèi)容進(jìn)行安全保護(hù)。
4. 兩種模式的切換只能通過(guò)喚起軟件中斷來(lái)切換。中斷服務(wù)程序被認(rèn)為是系統(tǒng)態(tài)下的程 序,這種機(jī)制可以保證用戶程序不能直接切換到系統(tǒng)態(tài)下運(yùn)行,而必須通過(guò)進(jìn)入中斷 程序,由COS程序判斷其用途,最終決定應(yīng)用程序是否可以切換到系統(tǒng)態(tài)下運(yùn)行。 通過(guò)智能卡內(nèi)軟硬件的協(xié)同保護(hù)可以大大提升智能卡的安全。
圖1邏輯分區(qū)及其映射 圖2系統(tǒng)態(tài)與應(yīng)用態(tài)的關(guān)系 圖3權(quán)限控制的硬件框圖 圖4軟硬件任務(wù)劃分
具體實(shí)施例方式
實(shí)現(xiàn)分區(qū)及其映射如圖1所示,硬件電路把整個(gè)程序存儲(chǔ)器分成8個(gè)大小為8K的邏輯 分區(qū),分別為P0 P7。每個(gè)分區(qū)都有一個(gè)16位的地址偏移量寄存器,用來(lái)控制邏輯地址到 物理地址的映射。硬件電路選中PC指向的邏輯分區(qū),通過(guò)邏輯地址加上地址偏移量寄存器的 內(nèi)容構(gòu)成存儲(chǔ)器的物理地址,完成映射。
實(shí)現(xiàn)系統(tǒng)態(tài)與應(yīng)用態(tài)系統(tǒng)態(tài)和應(yīng)用態(tài)是根據(jù)一個(gè)特殊功能寄存器Mode來(lái)實(shí)現(xiàn)的。當(dāng) Mode=0,則為系統(tǒng)態(tài);Mode=l,則為應(yīng)用態(tài)。圖2示意了系統(tǒng)態(tài)與應(yīng)用態(tài)的關(guān)系,COS運(yùn)行 在系統(tǒng)態(tài)下,對(duì)硬件有絕對(duì)的控制權(quán);應(yīng)用程序是在系統(tǒng)態(tài)的基礎(chǔ)上建立起來(lái)的,對(duì)硬件沒(méi) 有直接的控制權(quán),必須通過(guò)系統(tǒng)態(tài)的COS程序才能實(shí)現(xiàn)間接的訪問(wèn)。
系統(tǒng)態(tài)與應(yīng)用態(tài)的切換芯片的實(shí)際應(yīng)用中,應(yīng)用態(tài)下的程序經(jīng)常需要進(jìn)行其權(quán)限之外 的操作,這就需要切換到系統(tǒng)態(tài)下運(yùn)行。當(dāng)然并不是所有應(yīng)用程序都被允許切換到系統(tǒng)態(tài)下, 比如對(duì)一些有破壞性的應(yīng)用程序就不能讓其切換到系統(tǒng)態(tài)下。判斷應(yīng)用程序是否有破性的任 務(wù)就交給了軟件處理。
兩種模式的切換,實(shí)際上就是對(duì)Mode位的修改。硬件設(shè)計(jì)Mode位只能在軟件中斷服務(wù) 程序中進(jìn)行修改,由于中斷服務(wù)程序被認(rèn)為是COS程序的一部分,所以兩種模式的切換也完 全掌握在了COS手中,對(duì)安全性有了進(jìn)一步保障。
分區(qū)屬性管理每個(gè)分區(qū)都有一個(gè)5位的特殊功能寄存器(叫做分區(qū)屬區(qū)管理寄存器), 用來(lái)定義該分區(qū)的屬性。用軟件來(lái)設(shè)定權(quán)限遠(yuǎn)比硬件電路固定權(quán)限的方法要靈活,適合于不 同應(yīng)用。這5個(gè)寄存器位分別為Execute (可執(zhí)行)、ReadBySys (系統(tǒng)態(tài)可讀)、WriteBySys (系統(tǒng)態(tài)可寫(xiě))、ReadByApp (應(yīng)用態(tài)可讀)、WriteByApp (應(yīng)用態(tài)可寫(xiě))。這5位寄存器只有 系統(tǒng)態(tài)下才可以進(jìn)行修改,保證了其安全性。而這些可執(zhí)行、可讀、可寫(xiě)特性的實(shí)現(xiàn)是通過(guò) 圖3所示的安全監(jiān)控模塊實(shí)現(xiàn)的該模塊監(jiān)控CPU當(dāng)前執(zhí)行的指令、當(dāng)前的運(yùn)行態(tài)、當(dāng)前指
令指向的分區(qū)以及COS分配給該分區(qū)的屬性寄存器的內(nèi)容,如果超出權(quán)限范圍則向CPU發(fā)出 中斷請(qǐng)求,中斷服務(wù)程序?qū)υ綑?quán)的指令結(jié)果進(jìn)行干涉。
軟硬件的協(xié)同保護(hù)過(guò)程圖4對(duì)軟硬件的任務(wù)進(jìn)行了劃分,下面對(duì)軟硬件的任務(wù)進(jìn)行簡(jiǎn) 述。硬件電路使芯片上電后Mode=0,即COS在系統(tǒng)態(tài)下引導(dǎo)程序運(yùn)行,C()S配置地址偏移量
寄存器,硬件根據(jù)地址偏移量完成地址映射。軟件設(shè)定分區(qū)屬性管理寄存器,硬件根據(jù)寄存 器內(nèi)容實(shí)現(xiàn)權(quán)限控制??ㄆ珻OS在系統(tǒng)態(tài)下運(yùn)行,如果此時(shí)出現(xiàn)越權(quán)操作,則會(huì)引發(fā)中斷, 中斷服務(wù)程序會(huì)修改特定指令的結(jié)果,給非法操作返回0。當(dāng)運(yùn)行應(yīng)用程序時(shí),C0S通過(guò)發(fā)出 軟件中斷,修改Mode位轉(zhuǎn)到應(yīng)用態(tài)下運(yùn)行;當(dāng)此應(yīng)用程序需要調(diào)用系統(tǒng)函數(shù)訪問(wèn)某些資源時(shí), 需要轉(zhuǎn)到系統(tǒng)態(tài)下運(yùn)行,也是通過(guò)發(fā)軟件中斷進(jìn)行的,中斷服務(wù)程序通過(guò)應(yīng)用程序要訪問(wèn)的 目的分區(qū)以及當(dāng)前分區(qū)的屬性寄存器內(nèi)容,決定是否切換模式。
權(quán)利要求
1.一種面向智能卡的軟硬件協(xié)同保護(hù)機(jī)制,它利用硬件電路和軟件的配合實(shí)現(xiàn)了對(duì)智能卡芯片的保護(hù),其特征在于系統(tǒng)的模式分為系統(tǒng)態(tài)和應(yīng)用態(tài)。
2. 如權(quán)利要求l所述的機(jī)制,其特征在于軟件配置存儲(chǔ)器的邏輯地址與物理地址的偏移量,硬件完成邏輯地址到物理地址的映射。
3. 如權(quán)利要求1所述的機(jī)制,其特征在于智能卡芯片上的非揮發(fā)性存儲(chǔ)器在邏輯上被劃分成 不同的分區(qū),軟件可以根據(jù)需要設(shè)定分區(qū)的屬性寄存器。
4. 如權(quán)利要求l所述的軟硬件協(xié)同保護(hù)機(jī)制,其特征在于硬件監(jiān)控CPU指令寄存器,根據(jù)特 定指令所指向的分區(qū)及其屬性寄存器的內(nèi)容,決定是否產(chǎn)生中斷,而中斷服務(wù)程序會(huì)屏蔽 掉應(yīng)用程序所帶來(lái)的危害。
5. 如權(quán)利要求1所述的機(jī)制,其特征在于只有通過(guò)軟件中斷的方式才能進(jìn)行模式的轉(zhuǎn)化。
全文摘要
隨著智能卡被人們?cè)絹?lái)越廣泛地使用,人們對(duì)智能卡安全性的要求也越來(lái)越高。智能卡的安全防火墻可以依靠軟件實(shí)現(xiàn),也可以依靠硬件實(shí)現(xiàn),而更多的是依靠軟硬件協(xié)同保護(hù)來(lái)實(shí)現(xiàn)。本發(fā)明是通過(guò)軟/硬件協(xié)同進(jìn)行的。硬件把非揮發(fā)性存儲(chǔ)器在邏輯上分為幾個(gè)分區(qū),軟件設(shè)定每一分區(qū)的地址偏移量寄存器,硬件完成邏輯地址到物理地址的映射;硬件電路給每個(gè)分區(qū)分配一套屬性寄存器,軟件設(shè)定其值,硬件電路根據(jù)屬性寄存器的內(nèi)容進(jìn)行相應(yīng)的控制;硬件電路把芯片系統(tǒng)分為系統(tǒng)態(tài)和應(yīng)用態(tài)兩種模式,系統(tǒng)態(tài)具有最高權(quán)限,應(yīng)用態(tài)的權(quán)限受限制,兩種模式的切換通過(guò)軟件中斷完成。
文檔編號(hào)G06F12/14GK101169762SQ20061011409
公開(kāi)日2008年4月30日 申請(qǐng)日期2006年10月27日 優(yōu)先權(quán)日2006年10月27日
發(fā)明者宋長(zhǎng)竹, 趙貴勇 申請(qǐng)人:北京中電華大電子設(shè)計(jì)有限責(zé)任公司