智能卡防護(hù)基礎(chǔ):智能卡操作系統(tǒng)
出處:jqlilee 發(fā)布于:2008-11-21 15:06:52
硬件的防護(hù)機(jī)制形成了操作系統(tǒng)軟件防護(hù)機(jī)制的基礎(chǔ),沒有可以疏漏的潛在的弱點(diǎn)。因?yàn)榉雷o(hù)機(jī)制的這三 個(gè)部分:硬件、操作系統(tǒng)和應(yīng)用是以邏輯“與”的關(guān)系連系起來的??梢杂靡粋€(gè)鏈條來比擬,其中弱的一 環(huán)決定了打破的強(qiáng)度。如果在智能卡中某個(gè)特定的機(jī)制失效了,則整個(gè)安全性就瓦解了,尤其是作為實(shí)際應(yīng) 用基礎(chǔ)的操作系統(tǒng),其信息與處理必須受到保護(hù)。
以下將特別討論防御典型攻擊的保護(hù)方法,而不是一般的智能卡的安全功能。絕大多數(shù)的這類功能也對(duì)操 作的安全性和防御攻擊有顯著的貢獻(xiàn)。因此,需要參閱第5章有關(guān)的各節(jié)。
?。?)防護(hù):在復(fù)位之后對(duì)軟件和硬件進(jìn)行測(cè)試
當(dāng)操作系統(tǒng)被初始化后,至少應(yīng)對(duì)硬件的重要的部分進(jìn)行測(cè)試,以了解它們是否處于正常工作狀態(tài),例 如對(duì)RAM的測(cè)試是必要的,因?yàn)楫?dāng)芯片在運(yùn)轉(zhuǎn)時(shí)所有的訪問條件都被存儲(chǔ)在RAM中,而單獨(dú)一位的失效就 有可能導(dǎo)致整個(gè)安全性崩潰。對(duì)ROM和EEPROM的重要的部分進(jìn)行校驗(yàn)和的計(jì)算與比較也同樣是必需的。至 少CPU用傳送ATR進(jìn)行隱含測(cè)試,因?yàn)闄C(jī)器命令的大多數(shù)都必須無差錯(cuò)地執(zhí)行才使得ATR的傳送成為可能。對(duì) CPU或任何可能存在的NPU通常限于抽樣測(cè)試,因?yàn)閷?duì)于正常的運(yùn)作而完整測(cè)試所有功能將占用太多的時(shí)間和 代碼。
如果操作系統(tǒng)發(fā)現(xiàn)了一個(gè)硬仵或校驗(yàn)和的差錯(cuò),這里有兩種方式可繼續(xù)下去。第1個(gè)選擇是使軟件立即跳 轉(zhuǎn)到一個(gè)無盡循環(huán)中去,這意味著不可能送出ATR也不會(huì)接收后繼的命令。這種做法的主要不利之處是不可 能從外部識(shí)別這種運(yùn)轉(zhuǎn)狀態(tài)產(chǎn)生的原因。無法說明問題·是壓焊引線開路,芯片破裂或是EEPROM中的校驗(yàn)和 錯(cuò)誤。第2個(gè)選擇比較好,即卡在本身切斷或進(jìn)入無盡循環(huán)之前能送出一個(gè)特殊的ATR,此錯(cuò)誤的ATR至少向 外部給出一個(gè)關(guān)于智能卡內(nèi)部發(fā)生了什么事情的指示。然而不可忽視的事實(shí)是發(fā)送這個(gè)表明出錯(cuò)的ATR需要 CPU的大量功能,RAM的少量字節(jié)和在ROM中的數(shù)百字節(jié)的程序代碼。
?。?)防護(hù):在操作系統(tǒng)中分開層次
在各個(gè)層次之間定義的傳送參數(shù)用來分開層次,這是智能卡操作系統(tǒng)穩(wěn)定而堅(jiān)固的標(biāo)志。由于在操作系統(tǒng)內(nèi)分開了層次,使得操作系統(tǒng)內(nèi)可能存在的設(shè)計(jì)或編程差錯(cuò)都減少了。這當(dāng)然不是說錯(cuò)誤就不會(huì)發(fā)生,而其效果是錯(cuò)誤不像在濃縮的編程代碼的操作系統(tǒng)中那樣大量,層次的分開使得在某層中出現(xiàn)的錯(cuò)誤難以傳播到其他層次之中。
?。?)防護(hù):控制數(shù)據(jù)傳送
另一個(gè)非常重要的安全因素是控制數(shù)據(jù)傳送的過程以防止對(duì)存儲(chǔ)器的非授權(quán)訪問。對(duì)智能卡的整個(gè)來往通信都是經(jīng)過被操作系統(tǒng)控制的I/0接口進(jìn)行的,沒有其他可能的訪問形式。這體現(xiàn)了在智能卡中的一種有效的存儲(chǔ)器保護(hù)方式,這樣保證了操作系統(tǒng)始終保持著對(duì)存儲(chǔ)區(qū)訪問的有效控制。
傳輸協(xié)議由傳輸管理程序控制,應(yīng)能截留所有可能的不正確輸入,必須沒有靠操縱傳送的字組來影響對(duì)數(shù)據(jù)傳輸處理的可能,防止在未經(jīng)正當(dāng)授權(quán)的情況下使數(shù)據(jù)從存儲(chǔ)器傳送到終端。
(4)防護(hù):重要存儲(chǔ)內(nèi)容的校驗(yàn)和
文件的結(jié)構(gòu),特別是文件的頭標(biāo)(換言之即文件描述符),應(yīng)能用校驗(yàn)和予以保護(hù)。使得操作系統(tǒng)至少有可能檢測(cè)出任何存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)的無意識(shí)的改變。對(duì)每個(gè)文件來說,面向?qū)ο蟮脑L問條件,就被存儲(chǔ)在文件的這一部分中,出于這一原因此這種需求就特別重要了。
對(duì)智能卡操作系統(tǒng)來說,EEPROM中的所有存儲(chǔ)區(qū)都具有生死攸關(guān)的重要性,必須用差錯(cuò)檢測(cè)碼(EDC)予以保護(hù),每當(dāng)該區(qū)域被訪問或其所含編碼被調(diào)用執(zhí)行時(shí),必須在訪問或編碼執(zhí)行被允許的處理之前對(duì)其內(nèi)容的一致性進(jìn)行驗(yàn)證。
(5)防護(hù):應(yīng)用的密鑰
某些操作系統(tǒng)把含有應(yīng)用及其文件的單獨(dú)的DF加以密封,使得各個(gè)應(yīng)用相互被隔離開。當(dāng)然這僅僅是基于軟件的保護(hù),并沒有芯片的硬件支持,因之保護(hù)的水平并不像它能達(dá)到的那么高。即使是這種用軟件手段對(duì)應(yīng)用的密封在出現(xiàn)一差錯(cuò)的情況下也有著極大的好處,因?yàn)樵谖唇?jīng)事先明確選擇的情況下使得文件管理器不可能超出此DE的界限,結(jié)果是使文件中的存儲(chǔ)器錯(cuò)誤至少被限制在相關(guān)的Dl"之內(nèi)。
如果在硬件中存在著存儲(chǔ)器管理單元MMU(Mem。ry Management Unit)對(duì)操作系統(tǒng)提供支持,不同的應(yīng)用相互之間可完全被隔離。在這種情況下,即使能在一個(gè)應(yīng)用中操縱軟件也不可能獲得對(duì)其他應(yīng)用的存儲(chǔ)區(qū)的未授權(quán)的訪問。
?。?)防護(hù):隱蔽操作系統(tǒng)的活動(dòng)
每當(dāng)向EEPROM寫入數(shù)據(jù)時(shí),首先要把芯片中的電荷泵接通,這就增加了芯片的電流損耗,使用簡(jiǎn)單的測(cè)試設(shè)各能很容易測(cè)出來。對(duì)操作系統(tǒng)的設(shè)計(jì)必須考慮到這一事實(shí),即完全有可能從外部來確定EEPROM寫訪問出現(xiàn)的時(shí)刻,智能卡的軟件必須阻止攻擊者從這一點(diǎn)取得好處的可能,參見圖1。
重要的是從測(cè)量卡所吸取的電流中不可能得出關(guān)于機(jī)器程序的處理和決策方面的任何結(jié)論,如果能利用這種測(cè)量去可靠地判斷在命令執(zhí)行完成并回送代碼之前比較PIN的結(jié)果,則這種信息可以非常方便地用來分析PIN之值。
?。?)防護(hù):面向?qū)ο蟮脑L問條件
早期的智能卡應(yīng)用總是基于兩個(gè)中央管理的訪問機(jī)制,中央訪問控制器的不利之處是軟件或存儲(chǔ)器的差錯(cuò)能全面影響智能卡的安全?,F(xiàn)代的面向?qū)ο蟮奈募芾硐到y(tǒng),訪問條件存儲(chǔ)在各個(gè)文件之中,有著存儲(chǔ)器的差錯(cuò)只影響單個(gè)文件的好處,而所有其他文件的安全性則保持不變。對(duì)于所有的分布系統(tǒng)來說,這實(shí)際上是一個(gè)基本特性,它們的編程要困難些,但由于其自足性卻能提供堅(jiān)固得多的安全性去抵抗攻擊或差錯(cuò)。

圖1 當(dāng)電荷泵被接通時(shí),智能卡電流損耗變化的近似表述
?。?)使智能卡退出工作
智能卡的操作系統(tǒng)應(yīng)當(dāng)能使智能卡安全地退出工作(去活化)。在智能卡生命期的階段,通過搜索那些已經(jīng)不再使用而功能仍歸完整的智能卡,就能用統(tǒng)計(jì)方法對(duì)芯片運(yùn)行的軟件做出很的分析。因此,在操作系統(tǒng)中必須存在有能確切地使程序的所有部分完全退出工作,防[L電氣的或進(jìn)行運(yùn)行時(shí)間分析的可能的機(jī)制。
?。?)攻擊和防御:隨機(jī)數(shù)發(fā)生器
智能卡產(chǎn)生的隨機(jī)數(shù)被用于鑒別單個(gè)的會(huì)話期,這就是說使每次會(huì)話惟一化并與所有在此之前和之后的會(huì)話區(qū)別開來。這樣做的目的是使從先前會(huì)話中竊取的數(shù)據(jù)的連續(xù)重放成為不可能。另一種形式的攻擊是使智能卡產(chǎn)生如此多的隨機(jī)數(shù),從而使它們的序列成為可猜測(cè)的。另外一種可能性是保持對(duì)智能卡隨機(jī)數(shù)的不斷請(qǐng)求直到隨機(jī)數(shù)發(fā)生器的EEPROM存儲(chǔ)器已不再正常工作,從而使同一個(gè)數(shù)一再地被產(chǎn)生出來。
如果成功的話,任何這種攻擊都能繞過智能卡對(duì)終端的鑒別。但只有第1代智能卡是這樣工作的。對(duì)現(xiàn)代的操作系統(tǒng),它們都會(huì)失敗。今天所產(chǎn)生的隨機(jī)數(shù)的周期長(zhǎng)度是如此之大,使得同一個(gè)隨機(jī)數(shù)在每個(gè)智能卡的生命周期中絕不會(huì)出現(xiàn)兩次,產(chǎn)生很多的隨機(jī)數(shù)除了引起EEPROM出現(xiàn)問題,也不會(huì)再有任何用處。為此,隨機(jī)數(shù)的發(fā)生就干脆被封鎖了,于是阻止了任何更進(jìn)一步的鑒別。
一個(gè)高質(zhì)量的隨機(jī)數(shù)發(fā)生器必須滿足某些額外的需求,諸如產(chǎn)生不可預(yù)言的隨機(jī)數(shù)以及有很長(zhǎng)的周期長(zhǎng)度(所產(chǎn)生的隨機(jī)數(shù)的數(shù)量在發(fā)生器本身重復(fù)之前)。此外,在某一特定應(yīng)用中的所有智能卡必須產(chǎn)生不同的隨機(jī)數(shù)。這些看起來十分明顯的事,而過去在這方面卻重復(fù)地發(fā)生問題!這種不同的狀態(tài)是在智能卡初始化或個(gè)人化時(shí)給偽隨機(jī)數(shù)發(fā)生器送入一個(gè)起始值而達(dá)到的。這個(gè)起始值通常被稱為籽數(shù),暗示了一個(gè)生物的種籽決定了所長(zhǎng)成的植物。
歡迎轉(zhuǎn)載,信息來源維庫電子市場(chǎng)網(wǎng)(www.hbjingang.com)
下一篇:DDR-SDRAM的操作
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









