智能卡操作系統(tǒng)的基本原理
發(fā)布時(shí)間:2008/11/19 0:00:00 訪問(wèn)次數(shù):552
與已知的一般操作系統(tǒng)不同,智能卡操作系統(tǒng)不包括用戶接口或訪問(wèn)外部存儲(chǔ)介質(zhì)的可能性。因?yàn)椋鼈優(yōu)橥耆煌墓δ苓M(jìn)行了優(yōu)化,在程序執(zhí)行過(guò)程中的安全性和數(shù)據(jù)存取時(shí)的保護(hù)具有最高的優(yōu)先級(jí)。由于受到可用存儲(chǔ)器數(shù)量限制的影響,它們只能有非常小量的程序代碼,通常在3~20kb的范圍之間。下限對(duì)應(yīng)于專門應(yīng)用,而上限對(duì)應(yīng)于多應(yīng)用操作系統(tǒng),平均的存儲(chǔ)器需求量大約是16kb。
程序模塊被寫成rom代碼,這會(huì)對(duì)編程的方式產(chǎn)生嚴(yán)重限制。許多典型的用于ram的程序代碼(例如自修改的代碼)的處理就不適用于rom代碼。事實(shí)上,一旦微控制器的rom中的程序被編寫好并生產(chǎn)出來(lái),是rom中的程序代碼根本沒(méi)辦法再修改的原因。要糾正這樣的一個(gè)錯(cuò)誤是非常昂貴的并且要花費(fèi)10~12周的時(shí)間。如果智能卡已經(jīng)被發(fā)行,錯(cuò)誤就只能通過(guò)大規(guī)模的換卡行動(dòng)來(lái)糾正,這就會(huì)破壞基于智能卡的系統(tǒng)的聲譽(yù)!翱觳筒俊钡木幊谭绞斤@然是行不通的。通常人們花在測(cè)試和質(zhì)量保證上的時(shí)間要比花在編程上的時(shí)間有意義得多。
還有,這些操作系統(tǒng)不僅必須是只有極少的錯(cuò)誤,而且還必須是非?煽康模瑳Q不允許其功能以及最重要安全j跬被來(lái)自外界的任何命令所損害。在任何情況下都決不允許發(fā)生由于錯(cuò)誤的命令或eeprom頁(yè)面的失效而導(dǎo)致的系統(tǒng)崩潰或失控反應(yīng)。
透視操作系統(tǒng)的設(shè)計(jì),一個(gè)不幸的事實(shí)是實(shí)現(xiàn)某些特定的機(jī)制總是受其所使用的硬件影響。首先,對(duì)于操作系統(tǒng)的設(shè)計(jì)來(lái)說(shuō),eeprom的安全狀態(tài)就是一個(gè)引人注目的影響。例如,所有重試計(jì)數(shù)器的最大值都必須被設(shè)計(jì)為與eeprom的擦除狀態(tài)相吻合。如果不是這樣的話,那就有可能出現(xiàn)計(jì)數(shù)器復(fù)位到初始值的情況。例如,當(dāng)正在向重試計(jì)數(shù)器寫人新值時(shí),通過(guò)故意關(guān)閉卡的電源而使計(jì)數(shù)器復(fù)位到初始值是完全可能的。eeproivi必須被擦除之后才能進(jìn)行特定類型的寫訪問(wèn)。如果電源恰恰在擦除eeprom和寫入新值之間的時(shí)間段內(nèi)關(guān)閉,則被用做重試計(jì)數(shù)器的那部分eeprom將會(huì)處在擦除狀態(tài)。如果操作系統(tǒng)設(shè)計(jì)得不正確,就會(huì)使重試計(jì)數(shù)器被復(fù)位為初始值。要防止這種攻擊,要么對(duì)計(jì)數(shù)器像上面所描述的那樣進(jìn)行正確的編碼,要么就把寫重試計(jì)數(shù)器的進(jìn)程當(dāng)做一個(gè)原子進(jìn)程。重試計(jì)數(shù)器的情況和eeprom的安全(最低能量)狀態(tài)相類似。重試計(jì)數(shù)器必須被編碼為其最大計(jì)數(shù)與eeprom的安全狀態(tài)相吻合。如果不是這樣的話,就可能會(huì)(例如,通過(guò)局部加熱某些eeprom單元),使重試計(jì)數(shù)器復(fù)位。這些只不過(guò)是在智能卡操作系統(tǒng)設(shè)計(jì)方面與硬件相關(guān)的兩個(gè)例子;诒C艿脑颍悄芸ú僮飨到y(tǒng)必須與所用微控制器的硬件密切結(jié)合,它絕不可能是完全獨(dú)立于硬件的。
安全操作系統(tǒng)的概念還有另一方面,“陷門”(trap door)和供系統(tǒng)程序員使用的其他類型的隱式存取點(diǎn)在大型操作系統(tǒng)里屢見(jiàn)不鮮,它們完全屬于正常的特征。然而,它們必須統(tǒng)統(tǒng)被排除在智能卡操作系統(tǒng)之外,絕不允許任何存在的可能性。例如,使某些人能通過(guò)某些機(jī)制繞過(guò)操作系統(tǒng)并獲得未經(jīng)授權(quán)的讀取文件權(quán)限。
另一個(gè)不應(yīng)低估的方面就是所要求的處理能力,目前在操作系統(tǒng)里的加密功能必須在非常短的時(shí)間里完成。這通常需要耗費(fèi)幾個(gè)星期的辛苦努力來(lái)優(yōu)化匯編語(yǔ)言算法的代碼。根據(jù)所使用的硬件平臺(tái)和所要求的可靠性水平,操作系統(tǒng)不能勝任多任務(wù)也就不難理解了。然而,單一任務(wù)的執(zhí)行限制也同樣阻礙了安全處理的使用,這正是操作系統(tǒng)有關(guān)進(jìn)程執(zhí)行和約束的監(jiān)視部分。
總體來(lái)說(shuō),一個(gè)智能卡操作系統(tǒng)的主要任務(wù)如下:
·從智能卡傳出或傳入數(shù)據(jù);
·控制命令的執(zhí)行;
·管理文件;
·管理和執(zhí)行加密算法。
1,命令處理
如圖1和圖2所示,是不支持可下載軟件的智能卡操作系統(tǒng)里的命令處理結(jié)構(gòu)。智能卡通過(guò)串行i/o接口來(lái)接收每一條命令。必要時(shí)i/o管理器能夠完全獨(dú)立于其他較高的層面執(zhí)行錯(cuò)誤檢測(cè)和錯(cuò)誤校正。在一條命令被完整而毫無(wú)錯(cuò)誤地接收之后,安全信息管理器必須對(duì)此報(bào)文解密或測(cè)試它的完整性。如果數(shù)據(jù)傳送不安全,安全信息管理器對(duì)命令及其響應(yīng)兩者都是完全透明的。
圖1 智能卡操作系統(tǒng)里命令處理過(guò)程(其中程序代碼解釋器是可選的,可以直接被狀態(tài)機(jī)調(diào)用,例如使用java的情況那樣)
在這一處理之后,下一個(gè)更高層面是命令解釋器,它試圖翻譯命令。如果翻譯不成功,就會(huì)調(diào)用回送代碼管理器,由它產(chǎn)生一個(gè)適當(dāng)?shù)幕厮痛a并通過(guò)i/0管理器把代碼返回到終端;厮痛a管理器可能薷要設(shè)計(jì)為專用的方式,因?yàn)閷?duì)于所有的應(yīng)用來(lái)說(shuō),回送代碼都沒(méi)有必要相同。另一方面,如果命令可以被翻譯,邏輯通道管理器就確定所選擇的通道,切換到它的狀態(tài),并在切換成功后調(diào)
與已知的一般操作系統(tǒng)不同,智能卡操作系統(tǒng)不包括用戶接口或訪問(wèn)外部存儲(chǔ)介質(zhì)的可能性。因?yàn),它們(yōu)橥耆煌墓δ苓M(jìn)行了優(yōu)化,在程序執(zhí)行過(guò)程中的安全性和數(shù)據(jù)存取時(shí)的保護(hù)具有最高的優(yōu)先級(jí)。由于受到可用存儲(chǔ)器數(shù)量限制的影響,它們只能有非常小量的程序代碼,通常在3~20kb的范圍之間。下限對(duì)應(yīng)于專門應(yīng)用,而上限對(duì)應(yīng)于多應(yīng)用操作系統(tǒng),平均的存儲(chǔ)器需求量大約是16kb。
程序模塊被寫成rom代碼,這會(huì)對(duì)編程的方式產(chǎn)生嚴(yán)重限制。許多典型的用于ram的程序代碼(例如自修改的代碼)的處理就不適用于rom代碼。事實(shí)上,一旦微控制器的rom中的程序被編寫好并生產(chǎn)出來(lái),是rom中的程序代碼根本沒(méi)辦法再修改的原因。要糾正這樣的一個(gè)錯(cuò)誤是非常昂貴的并且要花費(fèi)10~12周的時(shí)間。如果智能卡已經(jīng)被發(fā)行,錯(cuò)誤就只能通過(guò)大規(guī)模的換卡行動(dòng)來(lái)糾正,這就會(huì)破壞基于智能卡的系統(tǒng)的聲譽(yù)!翱觳筒俊钡木幊谭绞斤@然是行不通的。通常人們花在測(cè)試和質(zhì)量保證上的時(shí)間要比花在編程上的時(shí)間有意義得多。
還有,這些操作系統(tǒng)不僅必須是只有極少的錯(cuò)誤,而且還必須是非?煽康,決不允許其功能以及最重要安全j跬被來(lái)自外界的任何命令所損害。在任何情況下都決不允許發(fā)生由于錯(cuò)誤的命令或eeprom頁(yè)面的失效而導(dǎo)致的系統(tǒng)崩潰或失控反應(yīng)。
透視操作系統(tǒng)的設(shè)計(jì),一個(gè)不幸的事實(shí)是實(shí)現(xiàn)某些特定的機(jī)制總是受其所使用的硬件影響。首先,對(duì)于操作系統(tǒng)的設(shè)計(jì)來(lái)說(shuō),eeprom的安全狀態(tài)就是一個(gè)引人注目的影響。例如,所有重試計(jì)數(shù)器的最大值都必須被設(shè)計(jì)為與eeprom的擦除狀態(tài)相吻合。如果不是這樣的話,那就有可能出現(xiàn)計(jì)數(shù)器復(fù)位到初始值的情況。例如,當(dāng)正在向重試計(jì)數(shù)器寫人新值時(shí),通過(guò)故意關(guān)閉卡的電源而使計(jì)數(shù)器復(fù)位到初始值是完全可能的。eeproivi必須被擦除之后才能進(jìn)行特定類型的寫訪問(wèn)。如果電源恰恰在擦除eeprom和寫入新值之間的時(shí)間段內(nèi)關(guān)閉,則被用做重試計(jì)數(shù)器的那部分eeprom將會(huì)處在擦除狀態(tài)。如果操作系統(tǒng)設(shè)計(jì)得不正確,就會(huì)使重試計(jì)數(shù)器被復(fù)位為初始值。要防止這種攻擊,要么對(duì)計(jì)數(shù)器像上面所描述的那樣進(jìn)行正確的編碼,要么就把寫重試計(jì)數(shù)器的進(jìn)程當(dāng)做一個(gè)原子進(jìn)程。重試計(jì)數(shù)器的情況和eeprom的安全(最低能量)狀態(tài)相類似。重試計(jì)數(shù)器必須被編碼為其最大計(jì)數(shù)與eeprom的安全狀態(tài)相吻合。如果不是這樣的話,就可能會(huì)(例如,通過(guò)局部加熱某些eeprom單元),使重試計(jì)數(shù)器復(fù)位。這些只不過(guò)是在智能卡操作系統(tǒng)設(shè)計(jì)方面與硬件相關(guān)的兩個(gè)例子;诒C艿脑,智能卡操作系統(tǒng)必須與所用微控制器的硬件密切結(jié)合,它絕不可能是完全獨(dú)立于硬件的。
安全操作系統(tǒng)的概念還有另一方面,“陷門”(trap door)和供系統(tǒng)程序員使用的其他類型的隱式存取點(diǎn)在大型操作系統(tǒng)里屢見(jiàn)不鮮,它們完全屬于正常的特征。然而,它們必須統(tǒng)統(tǒng)被排除在智能卡操作系統(tǒng)之外,絕不允許任何存在的可能性。例如,使某些人能通過(guò)某些機(jī)制繞過(guò)操作系統(tǒng)并獲得未經(jīng)授權(quán)的讀取文件權(quán)限。
另一個(gè)不應(yīng)低估的方面就是所要求的處理能力,目前在操作系統(tǒng)里的加密功能必須在非常短的時(shí)間里完成。這通常需要耗費(fèi)幾個(gè)星期的辛苦努力來(lái)優(yōu)化匯編語(yǔ)言算法的代碼。根據(jù)所使用的硬件平臺(tái)和所要求的可靠性水平,操作系統(tǒng)不能勝任多任務(wù)也就不難理解了。然而,單一任務(wù)的執(zhí)行限制也同樣阻礙了安全處理的使用,這正是操作系統(tǒng)有關(guān)進(jìn)程執(zhí)行和約束的監(jiān)視部分。
總體來(lái)說(shuō),一個(gè)智能卡操作系統(tǒng)的主要任務(wù)如下:
·從智能卡傳出或傳入數(shù)據(jù);
·控制命令的執(zhí)行;
·管理文件;
·管理和執(zhí)行加密算法。
1,命令處理
如圖1和圖2所示,是不支持可下載軟件的智能卡操作系統(tǒng)里的命令處理結(jié)構(gòu)。智能卡通過(guò)串行i/o接口來(lái)接收每一條命令。必要時(shí)i/o管理器能夠完全獨(dú)立于其他較高的層面執(zhí)行錯(cuò)誤檢測(cè)和錯(cuò)誤校正。在一條命令被完整而毫無(wú)錯(cuò)誤地接收之后,安全信息管理器必須對(duì)此報(bào)文解密或測(cè)試它的完整性。如果數(shù)據(jù)傳送不安全,安全信息管理器對(duì)命令及其響應(yīng)兩者都是完全透明的。
圖1 智能卡操作系統(tǒng)里命令處理過(guò)程(其中程序代碼解釋器是可選的,可以直接被狀態(tài)機(jī)調(diào)用,例如使用java的情況那樣)
在這一處理之后,下一個(gè)更高層面是命令解釋器,它試圖翻譯命令。如果翻譯不成功,就會(huì)調(diào)用回送代碼管理器,由它產(chǎn)生一個(gè)適當(dāng)?shù)幕厮痛a并通過(guò)i/0管理器把代碼返回到終端;厮痛a管理器可能薷要設(shè)計(jì)為專用的方式,因?yàn)閷?duì)于所有的應(yīng)用來(lái)說(shuō),回送代碼都沒(méi)有必要相同。另一方面,如果命令可以被翻譯,邏輯通道管理器就確定所選擇的通道,切換到它的狀態(tài),并在切換成功后調(diào)
熱門點(diǎn)擊
- Atheros推出Align產(chǎn)品系列AR92
- 現(xiàn)代伊蘭特轎車在換擋時(shí)有沖擊感,由1擋升至2
- 濾波器微帶和帶狀傳輸線
- 桑塔納2000時(shí)代俊杰轎車變速器換擋故障現(xiàn)象
- 級(jí)聯(lián)積分器梳狀(CIC)濾波器
- 大眾桑塔納俊杰轎車變速器修復(fù)后,沒(méi)有高速擋,
- 使用短路并聯(lián)短截線設(shè)計(jì)帶通濾波器
- 能下載程序代碼的Java虛擬機(jī)(JVM)
- 智能卡的文件名
- 濾波器輸出端短路的傳輸線
推薦技術(shù)資料
- 羅盤誤差及補(bǔ)償
- 造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
- 100V高頻半橋N-溝道功率MOSFET驅(qū)動(dòng)
- 集成高端和低端 FET 和驅(qū)動(dòng)
- 柵極驅(qū)動(dòng)單片半橋芯片MP869
- 數(shù)字恒定導(dǎo)通時(shí)間控制模式(COT)應(yīng)用探究
- 高效率 (CSP/QFN/BG
- IC 工藝、封裝技術(shù)、單片設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究