智能卡的基本結構
文章出處:http://m.luckydriving.com 作者:搜狐智能卡技術博客 人氣: 發(fā)表時間:2011年10月10日
智能卡(Smart Card)也常被翻譯成“聰明卡”、“智慧卡”,還有另外一種稱呼叫做IC卡(Integrated Circuit Card)。一般是指在卡片中嵌入了集成電路芯片,可以利用芯片中的集成電路存儲單元,來進行數據存儲和一些相應的數據處理工作。
其中核心部分就是智能卡芯片,而芯片首先會被封裝成一個獨立的模塊,然后嵌入到塑料卡基上,對于非接觸卡片來說卡基上還要埋置設計好的天線。
如果單獨把智能卡放在我們手上,我們根本沒有任何辦法來操作它,一個獨立的智能卡對于任何應用系統而言都是毫無意義的。我們?yōu)榱瞬倏刂悄芸?,對其中的數據進行訪問,就必須要借助一個能夠操作智能卡的機具,通常叫做讀卡器,或者讀寫器(reader),或者終端(terminal),或者卡片受理設備CAD(card acceptance device)。我們通常熟悉的商場POS(point of sales)機,銀行ATM(auto-teller machine)機,手機,IC卡電表,IC卡水表,IC卡煤氣表,公交車或者地鐵里的驗卡機等等,都可以稱作是終端設備。我們只有通過這些終端設備才能夠真正讓智能卡的作用得以發(fā)揮。
所以從根本上講,智能卡的芯片至少要包括以下三部分:
數據存儲單元
這是智能卡存儲數據的地方,按照有些公司的安全考慮,在進行數據存儲單元的設計時會采用各種各樣的安全措施,常用的是地址亂碼(Address scrambling)技術,這樣即使將來芯片被別人打開,也不能夠正確獲取其中存儲的數據信息。目前用于數據存儲的技術主要有EEPROM和Flash兩種主要技術,它們之間的主要區(qū)別在于數據擦除的方式不同。EEPROM可以按照字節(jié)擦除,也就是說寫入的數據是多少就擦除多少,然后重新寫入;而Flash則要按照頁面的方式擦除,每個頁面的大小一般是64個字節(jié)或者256個字節(jié)?,F在也有其他一些新興的存儲技術比如鐵電存儲等,但是在實際應用中使用的還很少。
邏輯控制單元
這部分主要是控制數據存儲單元的訪問,也就是讀和寫的問題。通過不同的時序組合,或者是安全機制來許可或者拒絕來自外部的數據訪問要求。一般來說邏輯加密卡需要通過密碼的比對才能得到讀寫的權限,而普通的存儲卡只要命令的時序正確,就能夠訪問數據存儲區(qū)的內容。
輸入輸出接口單元
這部分是和外界的接口,所有發(fā)送給卡片的數據,以及卡片傳遞到外面的數據都是通過這個接口來實現的。按照卡片的接口形式,可以把卡片分成接觸式和非接觸式的,接觸式的卡片表面帶有接觸的觸點,操作接觸式卡片的終端設備內部都有一個卡座,在進行數據通訊的時候,卡片上的觸點和卡片上的觸點必須始終處于接觸狀態(tài);而非接觸卡在和終端設備進行數據通訊的時候,只要在一定的距離內就能夠正常操作,無需把卡片和終端接觸到一起;另外目前也有一些卡片兼?zhèn)浣佑|和非接觸兩種接口,我們稱之為雙界面卡。
除了上面的這三個基本的單元之外,對于CPU卡而言(從嚴格的意義上講,只有具備CPU的卡片才能夠叫做真正的智能卡),還具有:
用于數據處理的CPU單元
用于執(zhí)行卡片中的嵌入式程序,完成某種特定的應用功能。按照處理能力劃分目前有8位、16位和32位CPU應用在智能卡中。按照CPU的種類劃分以51系列為主,還有68HC05系列,H8系列,精簡指令集的RISC系列和ARM系列等。
用于存儲程序的ROM或者Flash單元
用戶編寫的COS程序會被掩模到ROM中或者是下載到Flash中。
用于緩存的RAM單元
主要包括一些基本的寄存器和暫存數據的RAM。
用于增強功能的加密引擎
比如實現DES加密算法的硬件DES加密模塊,或者為了加快RSA加密處理的加密協處理器等。
目前的智能卡數據存儲空間已經可以達到若干兆,程序可以達到數百K,這都是隨著半導體工藝的進步而取得的結果。比起當年只有幾K的存儲空間來講,讓那些COS的編寫者更加得心應手,開發(fā)的卡片功能也更加強大了。