Smart COS操作系統(tǒng)技術(shù)解析
文章出處:http://coolbang.cn 作者: 人氣: 發(fā)表時間:2012年02月19日
[文章內(nèi)容簡介]:COS的主要功能是控制智能卡和外界的信息交換,管理智能卡內(nèi)的存儲器并在卡內(nèi)部完成各種命令的處理。一般來講,接口設(shè)備與卡之間的命令處理過程可分為四個功能模塊:即傳輸管理器、安全管理器、應(yīng)用管理器和文件管理器。
1. Smart COS簡介
CPU卡操作系統(tǒng)簡稱COS,它是伴隨著集成電路卡從簡單的EEPROM發(fā)展到帶微處理器的智能卡而應(yīng)運產(chǎn)生的。隨著CPU卡應(yīng)用的日益廣泛,作為國內(nèi)制卡行業(yè)和讀寫機具開發(fā)生產(chǎn)企業(yè)的先鋒,深圳市明華澳漢科技有限公司于1999年6月成功地開發(fā)出符合《中國金融集成電路(IC)卡規(guī)范》、ISO/IEC7816標(biāo)準(zhǔn)的且擁有自主版權(quán)的CPU卡操作系統(tǒng)Smart COS。在金融領(lǐng)域,它可作為現(xiàn)金卡、信用卡等銀行卡使用;在社保、工商、稅務(wù)、證券等各種付費行業(yè)可作為用戶卡使用;在電子商務(wù)網(wǎng)絡(luò)系統(tǒng)中,可做為交易雙方的身份識別。
Smart COS具有如下特點:
1)符合《中國金融集成電路(IC)卡規(guī)范》、《中國金融集成電路(IC)卡應(yīng)用規(guī)范》
2)支持ISO-7816 T=0 通訊協(xié)議。
3)文件系統(tǒng)支持二進制文件、定長記錄文件、變長記錄文件、循環(huán)定長記錄文件。
4)支持電子錢包、電子存折功能。
5)支持Single DES、Triple DES等加密算法,并支持用戶特有的安全加密算法的下載。
6)支持線路加密、線路認(rèn)證功能,防止通信數(shù)據(jù)被非法竊取或篡改。
7)可用作安全保密模塊,使用過程密鑰實現(xiàn)加密、解密。
8)支持多種容量選擇,可選擇2K、4K、8K、16K字節(jié)的EEPROM空間。
9)安全機制使用狀態(tài)機,并支持PIN檢驗、CPU卡和終端的雙向認(rèn)證、數(shù)據(jù)加密、解密、MAC驗證。
10)滿足個別需求,可根據(jù)特殊行業(yè)的特殊用戶的需求定制。
2.Smart COS功能模塊
CPU卡也稱智能卡,它的核心就是芯片操作系統(tǒng),外界對卡發(fā)布的所有命令都需要通過操作系統(tǒng)才能對CPU卡起作用。
COS的主要功能是控制智能卡和外界的信息交換,管理智能卡內(nèi)的存儲器并在卡內(nèi)部完成各種命令的處理。一般來講,接口設(shè)備與卡之間的命令處理過程可分為四個功能模塊:即傳輸管理器、安全管理器、應(yīng)用管理器和文件管理器。
傳輸管理
對于COS而言,通訊層是接收和發(fā)送數(shù)據(jù)的通道,負(fù)責(zé)終端和卡片之間的數(shù)據(jù)傳輸。為了使卡片具有兼容性,大多數(shù)CPU卡都遵循ISO7816中規(guī)定T=0和T=1的傳輸協(xié)議。T=0通訊協(xié)議是異步半雙工字符傳輸協(xié)議,數(shù)據(jù)以字符的形式按照規(guī)定的時間周期進行傳輸。T=1通訊協(xié)議是異步半雙工塊傳輸協(xié)議,在傳輸數(shù)據(jù)之前,首先將要傳輸?shù)臄?shù)據(jù)分為多塊,之后再將每一塊數(shù)據(jù)以字符的形式按照規(guī)定的時間周期進行傳輸。Smart COS V3.1符合T=0的協(xié)議標(biāo)準(zhǔn)。
安全管理
安全管理是對CPU卡中的數(shù)據(jù)進行安全控制及管理,它具體可分為兩種功能:一是安全傳輸功能,二是對內(nèi)部安全數(shù)據(jù)的控制管理。
(1)在卡與外界進行數(shù)據(jù)傳輸時,若以明文方式傳輸,數(shù)據(jù)有可能被劫獲或篡改。為防止這種情況,提供了線路保護功能,主要通過以下兩種方式實現(xiàn):一是對傳輸?shù)臄?shù)據(jù)進行加密,數(shù)據(jù)以密文方式傳輸。二是對傳輸?shù)臄?shù)據(jù)附加安全報文MAC碼,接收方首先對傳輸?shù)臄?shù)據(jù)進行MAC碼校驗,以此來確認(rèn)數(shù)據(jù)在傳輸過程中的完整性并對發(fā)送方進行認(rèn)證。
Smart COS V3.1具有線路保護功能。寫入或修改密鑰時,可采用密文方式;寫入或修改二進制文件,可采用安全報文方式。用戶可以根據(jù)應(yīng)用的具體要求,靈活地使用線路保護功能。
(2)內(nèi)部安全數(shù)據(jù)的控制管理包括對卡中文件訪問權(quán)限的控制和密鑰的管理二方面??紤]到密鑰的絕對安全性能,Smart COS對于內(nèi)部用于安全認(rèn)證和數(shù)據(jù)加密的各種密鑰實行安全控制管理。一旦密鑰在卡中建立,只有在授權(quán)的情況下,才允許內(nèi)部使用,CPU卡之外絕不會被泄露出來。
應(yīng)用管理
應(yīng)用管理對外部而言是指卡片如何管理不同的應(yīng)用,也就是說,卡片是多應(yīng)用卡片還是單應(yīng)用卡片。單應(yīng)用卡片相對比較簡單,內(nèi)部只提供單個DF文件,并且只有一套安全管理系統(tǒng)和應(yīng)用數(shù)據(jù)。而多應(yīng)用卡片就比較復(fù)雜,卡中可以存在多個DF文件,每個DF文件都有自己的專有EF數(shù)據(jù)文件和密鑰系統(tǒng),每個應(yīng)用之間相互獨立,具有“防火墻”功能。。Smart COS支持一卡多應(yīng)用,可以建立一個DF文件當(dāng)作一個應(yīng)用,也可以將多個DF文件組合在一起看作一個應(yīng)用。用戶在使用的時候,可以根據(jù)情況來規(guī)劃。
應(yīng)用管理對卡片內(nèi)部來說指的是卡片是如何管理DF文件及其下屬的EF數(shù)據(jù)文件,并且負(fù)責(zé)解釋執(zhí)行命令。命令是卡片提供給外部環(huán)境用來訪問卡片數(shù)據(jù)的手段,外部只有通過命令才能訪問卡片中的數(shù)據(jù)或?qū)ㄆM行相應(yīng)的操作,通過卡片提供的命令就能判斷卡片具有的功能。
文件管理
在CPU卡中,數(shù)據(jù)都是以各種文件的形式進行存儲,以目錄的方式進行管理。文件管理器負(fù)責(zé)對所有文件的操作和訪問,因此文件管理系統(tǒng)設(shè)計的好壞直接影響著卡片的使用效率和功能。
Smart COS的文件管理遵循以下原則:
(1)文件系統(tǒng)分三層結(jié)構(gòu)即MF-DF-EF。在選擇某個文件之前必須先選擇它的上一層文件,不允許跨層選擇??ㄆ想姾笞詣舆x擇主控文件。
(2)MF建立之后,Smart COS自動將整個EEPROM空間都分配給了它。只要EEPROM空間允許且滿足增加權(quán)限要求,MF下可任意增加新應(yīng)用;只要EEPROM空間允許且滿足增加權(quán)限要求,DF下可任意增加基本文件。
(3)對某個文件操作之前,必須先選擇該文件;對于基本文件操作,可在命令中直接用短文件標(biāo)識符指定該文件。
(4)每個文件都有可以設(shè)置訪問權(quán)限;文件的訪問權(quán)限受該文件安全屬性的控制。
(5)在MF和DF建立正常結(jié)束之前,安全條件不起作用。
3.Smart COS文件系統(tǒng)
按照ISO/IEC 7816-4規(guī)范要求,COS的文件系統(tǒng)物理上分兩個層次級別,分別是專有文件DF和基本文件EF,最上層的DF又稱為MF,組成一個類似于DOS的層次結(jié)構(gòu)。若要對文件系統(tǒng)中的某文件進行讀、寫操作,應(yīng)先使用選擇命令指定相應(yīng)的MF、DF和EF。
Smart COS 文件系統(tǒng)層次結(jié)構(gòu)如下:
主控文件(Master File , MF)
主控文件是整個文件系統(tǒng)的根,每張卡有且只有一個主控文件。它是在卡的個人化過程中首先被建立起來的,在卡的整個生命周期內(nèi)一直存在并保持有效,可存儲卡的公共數(shù)據(jù)信息并為各種應(yīng)用服務(wù)。在物理上,主控文件占有的存儲空間包括MF文件頭的大小以及MF所管理的EF和DF的存儲空間。
專用文件(Dedicated File,DF)
在MF下針對不同的應(yīng)用建立起來的一種文件,是位于MF之下的含有EF的一種文件結(jié)構(gòu)(可看做文件目錄),它存儲了某個應(yīng)用的全部數(shù)據(jù)以及與應(yīng)用操作相關(guān)的安全數(shù)據(jù)。DF在建立之初,不必指定空間大小,其空間大小隨其下建立基本文件的空間大小而改變。對DF的建立操作由MF的安全屬性控制。
Smart COS采用兩級目錄結(jié)構(gòu),即MF下只能有一級DF,DF下面不可再建立子DF,只能建立EF。
基本文件(Elementary File,EF)
基本文件存儲了各種應(yīng)用的數(shù)據(jù)和管理信息,它存在于MF或DF下。EF從存儲內(nèi)容上分為兩類:安全基本文件和工作基本文件。
安全基本文件(Secret Elementary File,SEF)的內(nèi)容包含用于用戶識別和與加密有關(guān)的保密數(shù)據(jù)(個人識別碼、密鑰等),卡將利用這些數(shù)據(jù)進行安全管理。SEF要在MF或DF建立后,才能建立。安全基本文件的內(nèi)容不可被讀出,但可使用專門的指令來寫入和修改。在MF和每個DF下只能建立一個安全基本文件,但KEY和PIN的類型須由用戶寫入密鑰時指出。
工作基本文件(Working Elementary File,WEF)包含了應(yīng)用的實際數(shù)據(jù),其內(nèi)容不被卡解釋。在符合讀、修改安全屬性時,可對其內(nèi)容進行讀取、修改。工作文件的個數(shù)和大小受到MF或DF所擁有空間的限制。
Smart COS支持以下四種基本文件:
此外還有一些只能特殊使用的文件類型,如ATR文件、錢包文件、存折文件、密鑰文件等,但其文件結(jié)構(gòu)也不會超出以上四種文件類型。
4.Smart COS安全體系
智能卡之所以能夠迅速地發(fā)展并且流行起來,其主要原因是COS的文件和安全兩大特點。Smart COS的安全體系可以為用戶提供一個較高的安全性保證。
狀態(tài)機
狀態(tài)機又稱安全狀態(tài),是指卡在當(dāng)前所處的一種安全級別??ǖ闹骺啬夸浐彤?dāng)前應(yīng)用目錄下分別有一個狀態(tài)機,為16種不同的安全狀態(tài)(0~F)。復(fù)位后主控目錄的安全狀態(tài)為0,應(yīng)用目錄的改變不影響主控目錄的安全狀態(tài),只有主控目錄下的口令核對或外部認(rèn)證才能改變主控目錄的安全狀態(tài)。
當(dāng)前應(yīng)用的安全狀態(tài)在被成功地選擇或復(fù)位后自動清為0。只能用當(dāng)前應(yīng)用的口令核對或外部認(rèn)證才能改變當(dāng)前應(yīng)用的狀態(tài)。如果當(dāng)前目錄為MF,則當(dāng)前應(yīng)用的安全狀態(tài)等于主控目錄的安全狀態(tài)。
安全屬性
安全屬性是指對某個文件進行某種操作時所必須滿足的安全狀態(tài)的值。安全屬性又稱訪問權(quán)限,在建立該文件時用一個字節(jié)指定。
Smart COS的安全屬性是用狀態(tài)區(qū)間來描述的。例如,一個文件的讀權(quán)限為XY,則當(dāng)前應(yīng)用的狀態(tài)M必須滿足X= Y)即可。如果定義一種可永遠(yuǎn)滿足的權(quán)限要求,即不需權(quán)限,該安全屬性定義為0X即可,因為0是一種自動獲得的狀態(tài)。
安全機制
安全屬性和安全狀態(tài)是通過安全機制緊密聯(lián)系起來的。安全機制可以認(rèn)為是安全狀態(tài)實現(xiàn)轉(zhuǎn)移所采用的轉(zhuǎn)移方法和手段,通常包括校驗個人密碼與認(rèn)證、數(shù)據(jù)加密與解密、文件訪問的安全控制。
校驗個人密鑰是對CPU卡持有者的合法性的驗證,即判定一個持卡人是否經(jīng)過了合法授權(quán)。認(rèn)證分外部認(rèn)證、內(nèi)部認(rèn)證和相互認(rèn)證三種。外部認(rèn)證是指CPU卡對接口設(shè)備的合法性進行驗證。內(nèi)部認(rèn)證是指接口設(shè)備對智能卡的合法性進行驗證。相互認(rèn)證包括外部認(rèn)證和內(nèi)部認(rèn)證。
SmartCOS通過核對口令和外部認(rèn)證兩種方法來實現(xiàn)狀態(tài)機的轉(zhuǎn)變。需指出的是狀態(tài)機不存在級別高低,同樣的操作可定義為任意的狀態(tài)機,即你可以用一種改變狀態(tài)機的手段來實現(xiàn)從任一種狀態(tài)機到另外任一種狀態(tài)機的轉(zhuǎn)變,即可以從0轉(zhuǎn)變?yōu)镕,也可從F轉(zhuǎn)變?yōu)?。
密碼算法
Smart COS 支持世界上公認(rèn)的DES加密算法,包括Single DES和Triple DES算法。關(guān)于該算法的詳細(xì)說明請參考《中國金融集成電路(IC)卡規(guī)范》一書。
另外,Smart COS V3.1也支持用戶下載自己的密碼算法,并開放一部分內(nèi)部資源,讓用戶編寫自己的COS指令來實現(xiàn)對密碼算法的調(diào)用。此項功能用戶在訂貨時須事先聲明。
5. 電子錢包和電子存折功能
Smart COS具有符合中國人民銀行規(guī)范的電子錢包和電子存折應(yīng)用功能。借助電子錢包可實現(xiàn)圈存和消費交易;借助電子存折可實現(xiàn)圈存、圈提、消費、取現(xiàn)和修改透支限額交易。在上述交易過程中,除電子錢包的消費不需要驗證個人密碼外,其它所有交易均需提交個人密碼,同時終端和CPU卡之間也要進行雙向驗證,以此來保證交易三方的合法性。根據(jù)實際應(yīng)用的不同,在一張金融卡上,可以同時兼有電子存折和電子錢包,也可以只具有其中的一種。
6.Smart COS命令集
Smart COS命令集分為內(nèi)部命令和外部命令兩類。在滿足《中國金融集成電路(IC)卡規(guī)范》和ISO/IEC 7816-3/4要求的基礎(chǔ)上,Smart COS命令做了進一步的擴展,如下表所示:
√ 表示遵照《中國金融集成電路(IC)卡規(guī)范》和《中國金融集成電路(IC)卡應(yīng)用規(guī)范》。
* 表示遵照《規(guī)范》和ISO/IEC 7816-3/4。
8710; 表示為自定義指令。
7.硬件環(huán)境
CPU卡集成電路芯片是COS的載體,它由CPU 、ROM、RAM和EEPROM組成。ROM中封裝著芯片操作系統(tǒng),EEPROM 中存放用戶的數(shù)據(jù)。通常每一種COS都是針對某一微處理芯片的性能、容量等特點而開發(fā)設(shè)計的。目前,Smart COS已成功的運用在AT89SC 168和SLE44C系列芯片上?;谛酒娜萘坎煌?,可以提供2K、4K、8K、16K字節(jié)的EEPROM使用空間。
8.Smart COS開發(fā)套件
為了方便用戶對Smart COS的學(xué)習(xí)和應(yīng)用,深圳明華澳漢科技有限公司提供如下開發(fā)套件,它包括:
1)、Smart COS開發(fā)工具
2)、Smart COS使用手冊
3)、Smart COS測試樣卡
4)、Smart COS范例指令集
5、(M&W)RD系列CPU卡讀寫器
借助此開發(fā)套件,可以完成從規(guī)劃文件結(jié)構(gòu)、聯(lián)機測試到發(fā)卡等一系列功能。Smart COS
開發(fā)工具的使用說明,請參考其幫助文件。
9.總結(jié)
CPU卡嚴(yán)密的安全體系和成熟的金融運用技術(shù)決定了它的服務(wù)對象主要面向金融行業(yè)。盡管真正意義上的信用卡在近幾年內(nèi)不會飛速增長,但是,具有銀行交易應(yīng)用功能同時在其它某一領(lǐng)域具有消費功能的銀行卡,卻存在廣闊的發(fā)展空間,例如醫(yī)保、稅務(wù)、公共交通等,銀行如果與這些部門聯(lián)合起來,則跨行業(yè)間的金融服務(wù)將成為可能。讓Smart COS智能卡科技將人們帶入嶄新的二十一世紀(jì)。
本文關(guān)鍵詞:SmartCOS,COS,操作系統(tǒng),智能卡,CPU卡
上一篇:ISO/IEC 14443協(xié)議淺談---TYPE A 與 TYPE B 之比較[ 02-19 ]
下一篇:非接觸智能卡芯片MIFARE Plus安全性探討[ 02-19 ]