多應(yīng)用安全智能卡結(jié)構(gòu)的研究
文章出處:http://srpd123.com 作者: 人氣: 發(fā)表時(shí)間:2012年03月18日
摘要:為克服現(xiàn)有的智能卡及其芯片操作系統(tǒng)所存在的安全缺陷,提出了一種支持一卡多用和用戶(hù)下載程序的新型安全智能卡結(jié)構(gòu),增加了硬件中斷、操作標(biāo)志,以及內(nèi)存地址比較寄存器、程序地址比較寄存器和數(shù)據(jù)地址比較寄存器,從硬件上為實(shí)現(xiàn)多應(yīng)用的隔離、確保用戶(hù)程序和數(shù)據(jù)的安全提供了保證. 新型安全智能卡在CPU 中增加若干新指令,將操作模式分為系統(tǒng)模式和用戶(hù)模式,由特殊的狀態(tài)標(biāo)志位來(lái)決定是用戶(hù)模式還是系統(tǒng)模式,以實(shí)現(xiàn)系統(tǒng)模式和用戶(hù)模式間的相互轉(zhuǎn)換. 指令區(qū)分為普遍指令和特殊指令,只有系統(tǒng)程序可以使用特殊指令,并增加硬件中斷以防止用戶(hù)程序訪(fǎng)問(wèn)地址比較寄存器范圍以外的地址空間. 最后給出了新型安全智能卡的應(yīng)用實(shí)例.
關(guān)鍵詞: 智能卡;芯片操作系統(tǒng);一卡多用
一、引 言
智能卡(Smart Card)是一種鑲嵌有單片機(jī)芯片的卡片。由于智能卡內(nèi)含CPU,硬件資源豐富,而且有芯片操作系統(tǒng)的支持,因而安全性高,它已成為一種重要的安全設(shè)備,特別是在電子商務(wù)、電子金融和電子政務(wù)迅速發(fā)展的今天,智能卡將作為身份憑證、電子錢(qián)包、電子存折和各種證書(shū)以及重要數(shù)據(jù)的載體,發(fā)揮越來(lái)越重要的作用。
智能卡正朝著安全、高速、方便的方向迅速發(fā)展。隨著一卡多用以及用戶(hù)下載程序的需求不斷增加,現(xiàn)有的智能卡及其芯片操作系統(tǒng)就暴露出一些安全缺陷。它們或者不提供用戶(hù)下載功能,即給所有用戶(hù)提供固定不變的操作系統(tǒng),或者允許用戶(hù)下載程序但只是試圖從軟件上實(shí)現(xiàn)對(duì)用戶(hù)數(shù)據(jù)及其程序的保護(hù),例如對(duì)執(zhí)行下載用戶(hù)命令的用戶(hù)進(jìn)行身份認(rèn)證,只有那些擁有某些秘密信息的用戶(hù)才能下載用戶(hù)命令。然而僅從軟件角度進(jìn)行安全保護(hù)是不夠的,仍然存在安全隱患。一方面攻擊者可能通過(guò)某種渠道獲得這些秘密信息,另一方面不能杜絕具有合法下載權(quán)限的用戶(hù)進(jìn)行惡意破壞。一旦用戶(hù)命令下載成功,則芯片操作系統(tǒng)就無(wú)法對(duì)這些下載的用戶(hù)命令進(jìn)行監(jiān)控,因?yàn)橄螺d的用戶(hù)命令和操作系統(tǒng)處于同一級(jí)別,用戶(hù)命令也用CPU的匯編指令來(lái)實(shí)現(xiàn),只要是合法指令,CPU就會(huì)執(zhí)行。因?yàn)橹噶钍擒浖淖畹讓樱酒僮飨到y(tǒng)也是建立在指令之上的。這樣為特定應(yīng)用下載的命令就可以對(duì)其他應(yīng)用的程序或數(shù)據(jù)進(jìn)行訪(fǎng)間。如果一個(gè)應(yīng)用下載的命令中含有對(duì)另一應(yīng)用的數(shù)據(jù)進(jìn)行篡改的指令,那么芯片操作系統(tǒng)是不能控制其指令的執(zhí)行的。
為克服上述缺陷,本文提出了一種新型的安全智能卡結(jié)構(gòu),它具有如下技術(shù)特點(diǎn):
·支持一卡多用,適應(yīng)面寬,便于攜帶管理。
·支持用戶(hù)下載程序,使用靈活方便。
·不同應(yīng)用程序由物理隔離保護(hù),確保數(shù)據(jù)安全。
·具有密碼協(xié)處理器,可大大提高密碼運(yùn)算速度。
·具有 U SB接口,便于實(shí)現(xiàn)電子鑰匙功能和高速數(shù)據(jù)傳輸。
·內(nèi)部具有看門(mén)狗電路,系統(tǒng)可靠性高。
本文首先從軟硬件兩個(gè)方面論述一卡多用安全智能卡的結(jié)構(gòu)原理,以及實(shí)現(xiàn)對(duì)多個(gè)應(yīng)用區(qū)隔離的安全方案,即限制特定用戶(hù)命令的訪(fǎng)間范圍,真正達(dá)到對(duì)多個(gè)應(yīng)用區(qū)進(jìn)行保護(hù)的目的,然后討論這種新型安全智能卡的一種應(yīng)用實(shí)例。
二、新型安全智能卡的硬件結(jié)構(gòu)
新型安全智能卡首先從硬件上為實(shí)現(xiàn)多應(yīng)用的隔離、確保用戶(hù)程序和數(shù)據(jù)的安全提供了支持,增加了硬件中斷、操作標(biāo)志,以及內(nèi)存地址比較寄存器、程序地址比較寄存器和數(shù)據(jù)地址比較寄存器。新型安全智能卡芯片由CPU、各種存儲(chǔ)器(RAM, ROM, EEP-ROM, Flash Memory),密碼協(xié)處理器、串行通信、地址隔離和中斷控制邏輯等部分組成,其硬件結(jié)構(gòu)如圖 1所示。
圖 1 新型安全智能卡的芯片結(jié)構(gòu)
新型安全智能卡中的CPU主要由時(shí)鐘邏輯、中斷邏輯、定時(shí)器邏輯、串行通信、并行I/O、片選邏輯、總線(xiàn)接口、指令邏輯、算術(shù)邏輯、寄存器文件等部分組成,CPU可采用 8位或 16位,最好使用RISC技術(shù)和流水線(xiàn)技術(shù)以提高速度,其硬件結(jié)構(gòu)如圖2所示。
圖 2 新型安全智能卡的CPU結(jié)構(gòu)
為了支持用戶(hù)下載程序、一卡多用,同時(shí)確保各用戶(hù)數(shù)據(jù)安全,必須對(duì)多個(gè)用戶(hù)區(qū)進(jìn)行隔離保護(hù)。通過(guò)地址隔離,把不同的應(yīng)用限制在不同的區(qū)域,從而確保數(shù)據(jù)的安全。在新型安全智能卡的CPU中增加了操作標(biāo)志和一個(gè)硬件中斷。操作標(biāo)志用以區(qū)分當(dāng)前操作模式是系統(tǒng)模式還是用戶(hù)模式,新增中斷用以在某應(yīng)用的用戶(hù)命令訪(fǎng)間系統(tǒng)或其他應(yīng)用的地址空間時(shí)通知芯片操作系統(tǒng)以終止該用戶(hù)命令的執(zhí)行。進(jìn)行存儲(chǔ)區(qū)之間隔離保護(hù)的方法之一是對(duì)相應(yīng)的存儲(chǔ)區(qū)域設(shè)立地址比較寄存器,分別有內(nèi)存地址上、下界地址寄存器,程序地址上、下界寄存器和數(shù)據(jù)地址上、下界寄存器。在用戶(hù)模式時(shí),程序的訪(fǎng)問(wèn)要受地址比較寄存器的限制,只有地址比較寄存器所限定的地址空間才可被訪(fǎng)問(wèn)。當(dāng)處于某一區(qū)域的程序執(zhí)行時(shí),其所訪(fǎng)間的存儲(chǔ)區(qū)地址都要與上、下界寄存器的值比較,如果不越界便可訪(fǎng)問(wèn),如果越界則不能訪(fǎng)問(wèn)且產(chǎn)生硬件中斷,操作系統(tǒng)將終止程序的執(zhí)行,從而保證特定應(yīng)用下載的用戶(hù)命令只能訪(fǎng)問(wèn)其自身的地址空間,而不能對(duì)系統(tǒng)或其他應(yīng)用的用戶(hù)命令或數(shù)據(jù)進(jìn)行訪(fǎng)問(wèn),實(shí)現(xiàn)存儲(chǔ)區(qū)之間的隔離保護(hù)。而在系統(tǒng)模式時(shí),程序的訪(fǎng)問(wèn)不受任何限制,可以訪(fǎng)問(wèn)整個(gè)地址空間。
上、下界寄存器的值是軟件可設(shè)置的,由芯片操作系統(tǒng)對(duì)其進(jìn)行管理,靈活方便。而且每一類(lèi)比較寄存器只需要一對(duì)上、下界寄存器就可實(shí)現(xiàn)多個(gè)應(yīng)用存儲(chǔ)區(qū)的隔離保護(hù)。
隨著網(wǎng)絡(luò)技術(shù)的普及與應(yīng)用,由于Internet所固有的開(kāi)放性、無(wú)國(guó)界、自由性的特點(diǎn),網(wǎng)絡(luò)安全尤其是網(wǎng)絡(luò)信息交互時(shí)出現(xiàn)的身份鑒別、電子簽名、數(shù)據(jù)加密等間題已經(jīng)成為人們關(guān)注的一個(gè)焦點(diǎn)。新型安全智能卡中設(shè)計(jì)了USB接口,以便于實(shí)現(xiàn)電子鑰匙(Electronic Key)功能和高速數(shù)據(jù)傳輸。
在新型安全智能卡中,ROM空間用于存儲(chǔ)COs和一些固定數(shù)據(jù)。RAM空間用于存放中斷向量、系統(tǒng)棧以及中間數(shù)據(jù)等,EEPROM/Flash Memory用于存放系統(tǒng)數(shù)據(jù)、用戶(hù)程序或用戶(hù)數(shù)據(jù)。
為了確保數(shù)據(jù)安全,智能卡中必須實(shí)現(xiàn)數(shù)字簽名。數(shù)字簽名可通過(guò)公開(kāi)密鑰密碼RSA和ECC來(lái)實(shí)現(xiàn)。無(wú)論是RSA還是ECC,其運(yùn)算都是極復(fù)雜的。完全依靠8位或16位CPU來(lái)軟件實(shí)現(xiàn)RSA和ECC,其速度將是很慢的。為了提高速度,必須采用硬件支持。因此,在智能卡中設(shè)計(jì)了密碼硬件協(xié)處理器,以適合智能卡的應(yīng)用。
串行通信邏輯支持各種協(xié)議的智能卡通信。CPU提供一個(gè)全雙工雙向通信控制器,其邏輯結(jié)構(gòu)如圖 3所示。
圖3 串行通信控制器結(jié)構(gòu)
由于CPU內(nèi)部結(jié)構(gòu)合理,主要寄存器都是軟件可編程的,因此使得通信程序的編寫(xiě)將變得十分容易。
第1頁(yè)第2頁(yè) |