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