智慧卡的基本結構

鄒德強發表於2012-07-20

智慧卡的基本結構

 

智慧卡(Smart Card)也常被翻譯成聰明卡智慧卡,還有另外一種稱呼叫做IC卡(Integrated Circuit Card)。一般是指在卡片中嵌入了積體電路晶片,可以利用晶片中的積體電路儲存單元,來進行資料儲存和一些相應的資料處理工作。

其中核心部分就是智慧卡晶片,而晶片首先會被封裝成一個獨立的模組,然後嵌入到塑料卡基上,對於非接觸卡片來說卡基上還要埋置設計好的天線。

如果單獨把智慧卡放在我們手上,我們根本沒有任何辦法來操作它,一個獨立的智慧卡對於任何應用系統而言都是毫無意義的。我們為了操控智慧卡,對其中的資料進行訪問,就必須要藉助一個能夠操作智慧卡的機具,通常叫做讀卡器,或者讀寫器(reader),或者終端(terminal),或者卡片受理裝置CADcard acceptance device)。我們通常熟悉的商場POSpoint of sales)機,銀行ATMauto-teller machine)機,手機,IC卡電錶,IC卡水錶,IC卡煤氣表,公交車或者地鐵裡的驗卡機等等,都可以稱作是終端裝置。我們只有通過這些終端裝置才能夠真正讓智慧卡的作用得以發揮。

所以從根本上講,智慧卡的晶片至少要包括以下三部分:

資料儲存單元

這是智慧卡儲存資料的地方,按照有些公司的安全考慮,在進行資料儲存單元的設計時會採用各種各樣的安全措施,常用的是地址亂碼(Address scrambling)技術,這樣即使將來晶片被別人開啟,也不能夠正確獲取其中儲存的資料資訊。目前用於資料儲存的技術主要有EEPROMFlash兩種主要技術,它們之間的主要區別在於資料擦除的方式不同。EEPROM可以按照位元組擦除,也就是說寫入的資料是多少就擦除多少,然後重新寫入;而Flash則要按照頁面的方式擦除,每個頁面的大小一般是64個位元組或者256個位元組。現在也有其他一些新興的儲存技術比如鐵電儲存等,但是在實際應用中使用的還很少。

邏輯控制單元

這部分主要是控制資料儲存單元的訪問,也就是讀和寫的問題。通過不同的時序組合,或者是安全機制來許可或者拒絕來自外部的資料訪問要求。一般來說邏輯加密卡需要通過密碼的比對才能得到讀寫的許可權,而普通的儲存卡只要命令的時序正確,就能夠訪問資料儲存區的內容。

輸入輸出介面單元

這部分是和外界的介面,所有傳送給卡片的資料,以及卡片傳遞到外面的資料都是通過這個介面來實現的。按照卡片的介面形式,可以把卡片分成接觸式和非接觸式的,接觸式的卡片表面帶有接觸的觸點,操作接觸式卡片的終端裝置內部都有一個卡座,在進行資料通訊的時候,卡片上的觸點和卡片上的觸點必須始終處於接觸狀態;而非接觸卡在和終端裝置進行資料通訊的時候,只要在一定的距離內就能夠正常操作,無需把卡片和終端接觸到一起;另外目前也有一些卡片兼備接觸和非接觸兩種介面,我們稱之為雙介面卡。

除了上面的這三個基本的單元之外,對於CPU卡而言(從嚴格的意義上講,只有具備CPU的卡片才能夠叫做真正的智慧卡),還具有:

用於資料處理的CPU單元

用於執行卡片中的嵌入式程式,完成某種特定的應用功能。按照處理能力劃分目前有8位、16位和32CPU應用在智慧卡中。按照CPU的種類劃分以51系列為主,還有68HC05系列,H8系列,精簡指令集的RISC系列和ARM系列等。

用於儲存程式的ROM或者Flash單元

使用者編寫的COS程式會被掩模到ROM中或者是下載到Flash中。

用於快取的RAM單元

主要包括一些基本的暫存器和暫存資料的RAM

用於增強功能的加密引擎

比如實現DES加密演算法的硬體DES加密模組,或者為了加快RSA加密處理的加密協處理器等。

目前的智慧卡資料儲存空間已經可以達到若干兆,程式可以達到數百K,這都是隨著半導體工藝的進步而取得的結果。比起當年只有幾K的儲存空間來講,讓那些COS的編寫者更加得心應手,開發的卡片功能也更加強大了。

相關文章