智能卡芯片技術
文章出處:http://www.nyfzw.net 作者:技術 人氣: 發表時間:2011年09月09日
[文章內容簡介]:智能卡芯片技術
存儲器IC卡芯片技術
今天,飛速發展的半導體技術可以在相同大小的硅片上集成越來越多的功能。因此,可以在不增加芯片體積并且滿足有關標準要求的同時,擴大IC卡的存儲容量和處理能力,從而大大促進了存儲器IC卡技術的發展。存儲器IC卡可以分為以下兩種。
通用存儲器IC卡
一般均采用通用存儲器芯片,不完全符合或支持有關IC卡國際標準,沒有或很少安全控制功能。
智能存儲器IC卡
采用智能存儲器芯片(也稱為專用IC卡芯片),符合或支持有關IC卡國際標準,具有較為完善的安全控制功能。
目前,這兩種存儲器IC卡均有較大的應用,尤以智能存儲器IC卡的應用量最大、應用領域最廣。
本章將較為詳細地介紹以上兩種存儲器IC卡用芯片技術的分類、特點及主要應用等。
一般存儲IC卡技術特點
通用存儲器IC卡芯片主要具有以下特點:
一般無安全控制邏輯,即存儲器中存儲的有關信息可以任意存取、沒有邏輯安全性;
在存儲器芯片制造上沒有或很少安全保護措施;
多采用EEPROM存儲器技術;
不完全符合或支持ISO/IEC 7816等有關IC卡的國際標準,如不支持ATR(自動復位響應)協議等;
一般并非為IC卡應用專門設計(即非IC卡專用芯片);
該類芯片的通用性較強,已經或正在大量用于有關的工商業產品中。
目前,此類芯片的通訊協議多采用較為通用的兩線串行鏈接協議(I2C)及三線串行鏈接協議,尤以前者為多。此類芯片的典型邏輯結構見圖1。
國際上生產此類芯片的半導體制造商有多家,有關芯片也有多種。其中應用較多的有美國ATMEL公司的AT24系列(兩線串行鏈接協議)及AT93系列(三線串行鏈接協議)芯片等。
由于此類芯片沒有安全控制邏輯,所以在對安全性有一定要求的場合中很少應用。正因為其功能簡單、價格較為便宜、較好的通用性等使其具有易于開發、使用方便等優點,比較適合于IC卡的初期推廣應用及較為簡單的應用場合,如食堂售飯卡等。
邏輯加密卡技術特點
智能存儲器IC卡具有較高的安全性和(或)較大的存儲容量,這一特性則完全取決于其所采用的智能存儲器芯片。智能存儲器芯片主要由安全控制邏輯及非易失存儲器兩部分組成。此外,為進一步加強其安全性,在智能存儲器芯片的制造及運輸(指從芯片制造商將IC卡芯片遞交到IC卡制造商等用戶的過程)中也提供了較好的安全保護措施。與通用存儲器IC卡芯片比較,智能存儲器IC卡芯片主要具有以下特點:
具有安全控制邏輯(即存儲器中存儲的有關信息不可任意存取,具有較高的邏輯安全性);
在存儲器芯片制造上提供有較好的安全保護措施;
同時采用ROM、PROM、EEPROM等存儲器技術;
較好地符合或支持ISO/IEC 7816等有關IC卡的國際標準,如支付ATR(自動復位響應)協議;
一般為IC卡應用專門設計(即IC卡專用芯片);
該類芯片的專用性較強,因而種類較多。
此類芯片的邏輯結構見圖。
目前,帶有智能存儲器芯片的IC卡具有十分廣泛的應用,根據不同的應用背景所產生且被采用的智能存儲器芯片也具有不同的結構和性能。同時,每種類型的智能存儲器芯片均具有不同的技術特點。
邏輯加密卡存儲區域
根據對智能存儲器IC卡的不同應用需求,存儲器空間可以分成以下四種功能區域。
制造商代碼區域
制造商代碼區域存儲不可更改的芯片制造商、IC卡制造商及IC卡發行商等的代碼數據。
為加強IC卡的防偽、識偽措施,根據不同的應用類型,對存儲器提供不同的安全保護機制。其中之一就是每一種芯片在有關區域中均包含不可更改的標識數據,如制造、發行和應用代碼等。該數據用于識別、跟蹤有關制造商所提供的芯片、IC卡以及有關用戶的應用情況,為在管理上增強安全性提供了可能性。有關區域的類型、特點見表1。
有關制造商代碼區域的類型、特點
區域 用途 存儲器種類
芯片制造商區域 存儲芯片制造商標識數據 ROM等
IC卡制造商區域 存儲IC卡制造商標識數據 PROM、EEPROM等
IC卡發行商區域 存儲IC卡發行商標識數據 PROM、EEPROM等
這種分類方法可由芯片制造商在制造芯片時決定,也可以由IC卡發行商或有關應用開發商在編程時決定(多以有關芯片制造商決定)。
個人化區域
個人化區域是與應用相關的區域。
個人化區域中的有關數據控制對該芯片的個人化過程,并對個人化操作提供安全保證。有的芯片僅限一次使用,則個人化區域控制此過程為不可逆過程;有的芯片可多次重復使用。則個人化區域控制此過程的次數等。
安全區域
安全區域存放不可讀取的有關安全數據(如個人密碼等)。
應用區域
應用區域用于存儲有關應用數據信息。
這種劃分方法只是一個總的原則。在不同的智能存儲器芯片中,依據其技術特點將可能有不同的劃分,如存儲區域可能劃分得更多、更細,也可能劃分得更少、更粗。甚至有的智能存儲器芯片將不同的存儲區域的功能在相同的物理存儲位置實現(即在不同的階段該區域具有不同的功能),這種情況將在本章下面介紹。
就具體功能實現而言,智能存儲器中的應用區域還有兩種不同的實現方法:一種為將應用相關區域做成計數器形式,如電話卡(Telephone Card);另一種為存儲器形式,主要用于數據信息的存取,如健康保險卡等。其中,面向計數的存儲器主要面向位操作,而存儲器形式主要面向字節操作。為方便討論,本章及以下章節主要分為面向位操作的智能存儲器芯片及面向字節操作的智能存儲器芯片,把計數器形式存儲器包含在面向位的智能存儲器芯片中。此種分類見圖。
智能存儲器IC卡芯片分類
從技術角度而言,利用特殊的工藝技術或硬件邏輯將ROM、PROM、EEPROM等組合在一起并將它分成不同的區域,雖然成本略有上升,但不失為一種更靈活、更方便的產品,可為智能存儲器IC卡提供較高程度的安全保護措施。
邏輯加密卡舉例
1、不可重載計數器
不可重載計數器是指智能存儲器芯片中的應用區域的實現方法為計數器形式,并且該計數器僅限一次使用。這類芯片的主要特點及應用領域為:
·一般具有傳輸安全控制邏輯(如傳輸碼);
·具有不同的有關制造商區域;
·一次性使用;
·價格較為便宜;
·典型應用為:一次性電話卡。
SLE4406是這種芯片的典型代表。它只有104位的計數器式存儲器,該計數器的計數單元一旦用盡,就不可再用。德國電信就利用這種芯片的改進型作為IC電話卡。該芯片存儲器區域分配見圖4。該芯片的存儲區域的有關特性及功能見表。
存儲區域的特性及功能
區域 技術特性 功能
制造商編碼 ROM 存儲芯片制造商編碼
制造商數據 EEPROM 存儲有關制造商編碼數據
個人化區域 PROM 個人化控制數據
應用區域 EEPROM 應用標識數據
安全區域 EEPROM 安全控制數據及應用數據
存儲區域結構及配置
在個人化位P沒有置位的時候,該芯片由一個3字節傳輸碼(Transport Code)來保護,只有掌握該傳輸碼的用戶才可使用該芯片。在這個階段,32位的EEPROM被用于存儲不可讀的傳輸碼和一個可讀可寫的存取計數器。在進行任何存取操作之前,必須在規定的試探次數內正確輸入傳輸碼,否則芯片將不可再用。
正確地輸入傳輸碼后,安全區域就變成一個32位的8進制計數單元,此時可將應用標識數據寫入應用區域,依不同的應用對8進制計數單元進行初始化。該操作授權將一直保持到芯片斷電。設置個人化位P之后將保護存儲區域不被修改,并使傳輸碼邏輯失效,該操作不可重復。對應用方面來講,有關單元被一位一次記入,將EEPROM用作可進位計數器,用32位可以實現20,000個計數單元;如果所有的單元被用盡,該芯片將不能再用。如果在一次性的IC電話卡中,一個技術單元代表1分鐘通話時間,那么20,000個技術單元便可通話20 000分鐘。
2、可重載計數器
可重載計數器是指智能存儲器芯片中的應用區域的實現方法為計數器形式,并且該計數器可以重復多次使用。這類芯片的主要特點及應用領域為:
一般具有安全控制邏輯(如個人密碼);
具有不同的制造商區域;
計數器式應用存儲區域;
多次重復使用;
價格較為便宜;
典型應用為:儲蓄卡、通行控制等。
SLE4404就是一種典型的可重載計數器芯片。它具有416位的存儲器容量和適應較大應用范圍的靈活結構。SLE4404的存儲器結構見圖5。其中不同存儲區域的主要功能特點見表。
存儲區域的功能特點
區域 技術特性 主要功能
制造商代碼 ROM 存儲芯片制造商數據
個人化數據 ROM 存儲有關制造、發行商數據
安全碼 EEPROM 存儲個人密碼
存取控制計數器 EEPROM 個人密碼安全控制
便簽式存儲器 EEPROM 存儲應用說明,可讀可寫
用戶存儲器 PROM 存儲用戶數據,其存取特性可由用戶編程控制,如可編程為只讀或可讀可寫等
系統碼 ROM 系統存取計數器控制密碼
系統存取計數器 PROM 用戶等區域可重載次數計數器
存儲器結構
因為可重載計數器可以重復使用,因此其安全性就較為重要,一般均需提供個人密碼,即只有正確輸入個人密碼才可以對其中的數據進行存取。該類芯片在由芯片制造商傳遞給有關用戶的過程中,這一個人密碼也同樣起著傳輸碼的作用。在一次連續的個人密碼輸入過程中,存儲控制計數器控制允許的密碼錯誤輸入次數,超過次數將導致芯片自鎖。
整個用戶存儲區域的內容可以被重載的次數由系統存取計數器控制。對系統存取控制計數器的設置及修改,必須在正確輸入一個系統碼之后才可進行。
3、帶有靈活寫保護的1K字節智能存儲器
上述兩種類型的智能存儲器芯片適于登記和計數類應用,并且是面向位的。而SLE4418/4428系列則是一種通用的、面向字節的1KB智能存儲器,其邏輯結構見圖6。其中,SLE4428具有一個2字節的個人密碼及最大到8次不正確輸入的存取計數器來提供額外的保護。該類芯片由2段區域組成:數據存儲器和寫保護存儲器。存取計數器和安全碼是SLE4428數據存儲器的一部分。
自動復位相應ATR簡介
ATR(Answer To Reset)即為自動復位響應,在IFD對ICC進行上電復位時由ICC(支持ATR協議)自動將自己的有關信息(如通訊參數等)傳遞給IFD,以便使IFD正確識別IC卡的類型并對其進行相應的操作。ATR協議在IC卡技術中具有十分重要的意義。
1 ATR的結構及內容
按ISO/IEC 7816標準,ATR的主要結構及內容見表。
ATR的主要結構及內容
代碼 名稱 主要功能
備注
TS 初始化字符 提供位同步及有關字符格式定義 必備
T0 格式化字符 定義以下響應信息的格式結構 必備
TAi TBi 接口字符 包含該卡的有關通訊協議類型及其它參數等 可選
TCi TDi
T1T2…Tk 歷程字符 包含卡制造過程中的有關標識信息,如卡制造商、卡種芯片的制造商、卡的生命周期等“生命”歷程信息 可選
TCK 檢查字符 T0~TCK的檢查和條件
在有關ISO/IEC 7816-3標準中較為詳細地定義了ATR物理過程,該過程時序在有關時序圖中也有詳細約定。
2 ATR的改進
由于智能存儲器IC卡得到越來越廣泛的應用,目前使用較普遍的16位編碼已不能滿足有關應用的需求。德國標準學院(DIN)發明了一種新的ATR編碼方案(德國DIN NI-17.4),非常靈活,可與已經存在的編碼共同使用,并且有可能成為新的國際標準。2種編碼體制的比較見圖。
在有關ISO/IEC 7816-3標準中較為詳細地定義了ATR物理過程,該過程時序在有關時序圖中也有詳細約定。
2 ATR的改進
由于智能存儲器IC卡得到越來越廣泛的應用,目前使用較普遍的16位編碼已不能滿足有關應用的需求。德國標準學院(DIN)發明了一種新的ATR編碼方案(德國DIN NI-17.4),非常靈活,可與已經存在的編碼共同使用,并且有可能成為新的國際標準。2種編碼體制的比較見圖。
16位體制和32位體制在同步傳輸中的ATR比較
這兩種編碼方案可以由頭2位來區別,即作為結構識別碼。所有的編碼開始于一個字符化的16位方案。在其第一個字節含有芯片類型,第二個字節有芯片制造廠家和應用代碼。32位的ISO體制被分成4個字節,H1到H4,其中H1指定協議類型,H2指定協議參數。在第一個字節H1 中的位組合10表明了擴展的結構和能應用于醫療保險卡。被ISO采納的體制將會有位組合00。4個位用于協議類型,有關參數被保存在第2個字節中,這包括數據單元和長度。下面2個字節在ISO 7816-4中被分配做目錄指示器及將來數據的參考。
這個頭后跟芯片制造商、芯片類型和卡制造商的詳細信息,在ATR數據中,這主要用于唯一性識別。DIR數據區域,其開始地址被存于頭的第4個字節之中,含有國家碼和應用碼。數據以ASN.1規范實現,ASN代表“Abstrat System Natation”(抽象語法注釋)。它通過一個標志和長度表示來指明數據區域,后跟實際信息。這個結構更為精益求精,但是極其靈活。根據需要,有關內容可以被增加、減少,而不會導致不同卡應用之間的不兼容。作為一個參考,下圖顯示了當前用于德國醫療保險卡的ATR體制的情況。
德國健康保險卡同步傳輸協議ATR體制
一步因為技術和歷史等原因,16位體制被保留用于較小的芯片類型如SLE 4404、SLE4406及它們的后繼者。擴展體制將被用于所有其它類型(在一個過渡期間的)。
有關ATR的詳細內容請參閱有關ISO/IEC 7816標準。
有關通訊傳輸協議簡介
通訊傳輸協議就是ICC和IFD之間進行相互通訊時所執行的信息傳輸規范。在有關ISO/IEC 7816標準中定義或保留的傳輸協議有多種,見表。
在ISO/IEC國際標準中定義或保留的傳輸協議
協議類型 協議名稱 說明
T=0 異步半雙工字符傳輸協議 目前正在使用
T=1 異步半雙工塊傳輸協議 目前正在使用
T=2、3 保留用于將來的全雙式通訊
T=4 保留用于加強異步半雙工字符傳輸協議
T=5、13 保留
T=14 保留用于非ISO標準協議 目前正在應用
T=15 保留用于將來擴展
協議類型T=0等名稱來源于ISO/IEC 7816標準中的ATR結構及內容的定義。在該定義中的接口字符參數中有一TDi字符,該字符的低4位定義為協議類型,共有0-15編碼,分別對應不同的通訊協議類型,在ATR過程中用以通知IFD該ICC所采用的通訊協議。
在IC卡芯片中進行信息通訊傳輸電路的就是通訊接口,通訊接口只能以硬件方式實現,并且應盡可能保持簡單及成本低廉。不同類型的IC卡特別是智能存儲器IC卡,其通訊接口的功能及組成有較大的區別。
按ISO/IEC 7816標準中的ATR過程,IFD(此處指通用讀寫設備,即支持多種通訊協議類型等)在ICC插入之后識別卡的類型,并且調用相應的通訊協議進行通訊處理等。從這一角度出發,較大的容量的智能存儲器,如SLE4418一般面向字節操作;而較小容量的智能存儲器,如SLE 4406一般面向位操作。從技術及經濟原因來講,對這兩種智能存儲器的通訊應當用不同的協議類型來處理。
基于較大容量的面向字節尋址的智能存儲器應用,已經開發出一種所謂S=10協議。S=10協議具有獨立于芯片類型的特殊結構,SLE4432/4442是采用此協議的第一種芯片。
CPU卡芯片技術特點
智能IC卡具有很高的數據處理能力、計算能力及較大的存儲容量,尤其是智能IC卡完善的安全技術體制及面向應用編程良好的適應性及靈活性,自出現以來就受到有關應用部門(領域)的極大關注及青睞。
智能IC卡非常適合于對數據安全性及可靠性要求十分敏感的應用,目前,金融領域的信用卡、電信領域的SIM卡(移動電話身份識別卡)等已成為智能IC卡應用的幾個最大領域。此外,由智能IC卡支持并代表的一卡多用(多功能卡)概念越來越受到人們的重視。在我國,隨著金卡工程等一系列卡基應用工程的快速實施,智能IC卡必將在其中扮演極為重要的角色。展望未來,智能IC卡的發展及應用必將深入社會生活的各個領域,人們必將不斷感悟并享受到智能IC卡帶來的便利、安全、快捷的一系列優質服務。
智能IC卡采用的就是智能IC芯片,智能IC芯片的性能指標在很大程度上決定了智能IC卡的性能特點。
智能IC芯片內部集成有MPU(微處理器)、ROM、RAM、EEPROM、安全邏輯、密碼運算協處理器等一系列功能部件,智能IC芯片的功能大部分決定于這此功能部件的設置(是/否)及其功能的強弱。從這一角度出發,智能IC芯片可以分為以下三種類型。
普通智能IC芯片
內部僅設置一此通用標準部件如MPU、ROM、RAM、EEPROM,簡單的安全邏輯等,并且每一部件的功能也較為簡單。此種IC芯片的安全性適中、價格相對便宜,應用開發較為簡單,比較適合于中等安全規模的智能IC卡的應用。
增強智能IC芯片
內部除設置一般通用標準部件外,還設置密碼運算協處理器(CAU)及增強功能的安全邏輯等,其余部件的功能也有相應的加強,其中CAU多支持如DES的對稱密碼算法。另外,此種芯片在制造上也采取了一些硬件安全保護措施。此種IC芯片的安全性較高、價格相對較貴,應用開發較為復雜,比較適合于安全性要求較高的智能IC卡的應用。
高級智能IC芯片
內部除設置一般通用標準部件外,還設置高性能的CAU及安全邏輯等,其余部件的功能也經專門設計而有很大提高,其中CAU多支持如RSA的非對稱密碼算法。另外,此種芯片在制造上采取了較高的硬件安全保護措施,并且在安全生產管理上也十分周密、嚴格,即使很小缺陷的芯片也必須進行登記、銷毀等處理。可以認為,此種芯片在軟(管理等)硬(設計、制造)兩方面條件的保證下,具有十分高的安全性、可靠性等技術性能。當然,其價格也較貴,應用開發更為復雜,十分適合于高安全性的應用領域。
這三種類型芯片在智能IC卡上均有所應用。
目前,國際上多家著名的芯片制造商生產了多種智能IC卡芯片,下面對其中幾種在技術上較具代表性、應用較廣的智能IC芯片作簡單介紹。對其中83C852芯片作較為詳細的介紹,目的在于加深對智能IC卡芯片的理解。
本文關鍵詞:智能卡芯片技術
上一篇:JAVA 卡與 APPLET[ 09-09 ]
下一篇:智能卡數字加密技術[ 09-09 ]