智能卡范文

時間:2023-04-09 06:44:40

導語:如何才能寫好一篇智能卡,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

智能卡

篇1

論文摘要:隨著移動存儲設備的廣泛應用,由其引發的信息泄漏等安全問題日益受到關注。針對目前移動存儲安全解決方案中利用用戶名和密碼進行身份認證的不足,本文提出了基于智能卡技術的安全管理方案。該方案將指紋特征作為判定移動存儲設備持有者身份的依據,同時通過智能卡技術實現了移動存儲設備與接入終端間的雙向認證,從源頭上杜絕了移動存儲設備帶來的安全隱患。

1引言

移動存儲設備因其體積小、容量大、使用靈活而應用廣泛,但其本身的“匿名性”給設備安全管理帶來了巨大挑戰,身份認證難、信息易泄露、常攜帶病毒等問題一直困擾著用戶和計算機系統安全人員。

在移動存儲的安全管理上應基于兩個層面:首先是移動存儲設備對用戶的身份認證,以確保移動存儲設備持有者身份的合法性;其次是移動存儲設備與接入終端間的雙向認證。目前,移動存儲的安全管理往往是基于用戶名和口令的身份認證方案,容易受到非法用戶“假冒身份”的攻擊,同時系統中所保存的口令表的安全性也難以保障,因此該方案存在較大的安全隱患。少數采用生物特征識別的安全方案也僅僅做到了第一個層面的身份認證,仍無法解決對移動存儲設備本身的身份認證以及移動存儲設備對接入終端的身份認證。然而,移動存儲設備和接入終端間雙向認證的必要性是顯而易見的,只有被終端信任的移動存儲設備才允許接入;同時,當終端也被移動存儲設備信任時,移動存儲設備和終端才能獲得彼此間相互讀寫的操作權限。只有實現上述的雙向認證,才能有效地在源頭杜絕移動存儲設備帶來的安全隱患。

本文描述了一種移動存儲安全管理方案,針對U盤和移動硬盤等移動存儲設備,基于智能卡技術,結合指紋識別模塊,解決了設備持有者的身份認證以及設備與接人終端間的雙向認證問題,并將設備持有者的指紋作為實名訪問信息記人審計系統,進一步完善了移動存儲的安全管理方案。

2基于指紋識別的用戶身份認證

指紋識別技術主要涉及指紋圖像采集、指紋圖像處理、特征提取、數據保存、特征值的比對和匹配等過程,典型的指紋識別系統如圖1所示。

指紋識別系統

指紋圖像預處理的目的是去除指紋圖像中的噪音,將其轉化為一幅清晰的點線圖,便于提取正確的指紋特征。預處理影響指紋識別的效果,具有重要的意義。它分四步進行,即灰度濾波、二值化、二值去噪和細化。圖像細化后,采用細節點模板提取出指紋圖像的脊線末梢和脊線分支點的位置,將指紋認證問題轉化成為點模式匹配問題。

如圖2所示,移動存儲設備采用兼容多種設備接口的控制芯片、安全控制閃存芯片、大容量用戶標準Flash構成硬件基礎,以智能卡控制芯片為控制中心,結合指紋識別模塊,實現對設備持有者的身份認證;同時,結合大容量普通閃存存儲結構,實現數據存儲低層管理和數據存儲加密。

3基于智能卡技術的雙向認證

為加強系統認證安全性與可信性,在移動存儲設備內集成智能卡模塊,使之具備計笄能力,從而實現移動存儲設備與終端之問的雙向認證。移動存儲設備的身份文件存放于智能卡模塊中。身份文件是指存儲著移動存儲設備各項物理特征信息的私密文件,由于這些物理特征信息與個體緊密相聯,所以可以起到唯一鑒別該移動存儲設備的作用。

智能卡模塊提供對終端的認證,只有通過認證的終端才能訪問身份文件和移動存儲設備中的數據。將現有移動存儲設備硬件結構進行改造,在其中分別加人指紋處理模塊與智能卡模塊后的硬件結構如圖3所示。

智能卡模塊內置CPU、存儲器、加解密算法協處理器、隨機數發生器等硬件單元,及芯片操作系統(COS)、芯片文件系統等多個功能模塊。其內部具有安全數據存儲空間,用于存放移動存儲設備的身份文件。對該存儲空間的讀寫受身份認證機制保護,只有通過認證的用戶和終端才能對其進行訪問,并且操作必須通過定制的應用程序實現,用戶無法直接讀取。支持指紋認證的智能卡文件系統如圖4所示。

對終端的身份認證方式有多種,本方案采用沖擊一響應的認證方式_7]。需要驗證終端身份時,終端向智能卡模塊發送驗證請求,智能卡模塊接到此請求后產生一組隨機數發送給終端(稱為沖擊)。終端收到隨機數后,使用終端認證軟件內置的密鑰對該隨機數進行一次三重DES加密運算,并將得到的結果作為認證依據傳給智能卡模塊(稱為響應),與此同時,智能卡模塊也使用該隨機數與內置的密鑰進行相同的密碼運算,若運算結果與終端傳回的響應結果相同,則通過認證。這種認證方式以對稱密碼為基礎,特點是實現簡單,運算速度快,安全性高,比較適合對移動存儲設備的認證。

在終端通過認證,取得移動存儲設備信任的前提下,終端通過智能卡模塊讀取移動存儲設備身份文件,對移動存儲設備進行準入認證。只有在雙向認證通過的情況下,移動存儲設備才能接入可信終端,進而在授權服務器分發的安全策略下與可信域終端進行正常的讀寫操作。

4移動存儲安全管理系統設計

在采用智能卡技術的基礎上,加入移動存儲安全管理系統,提供對移動存儲設備的接人控制,將認證體系擴展至計算機USB總線。

安全管理系統的認證體系示意圖如圖5所示。各終端首先需要加入某個信任域,在此之后可對移動存儲設備提供基于所在信任域的接入認證,如果終端沒有通過信任域認證,則不允許任何移動存儲設備接入。

授權認證服務器位于各信任域的公共區域中,為各信任域的終端提供移動存儲設備授權認證服務。它將設備授權給某個信任域后,該設備便成為該區域中的授權設備,可在該區域中任意一臺終端上使用;在其他區域使用時將被認為是未授權的,接入將被拒絕。隔離區中的終端與授權認證服務器不能通過網絡相連,從而保證了被隔離的終端不能夠使用移動存儲設備,防止安全隱患向外擴散。這種把安全域細分成不同信任域的整體設計可以最大限度地防止安全實體內敏感數據的任意傳播,大大降低信息向外非法泄露的可能性。

終端移動設備認證軟件部署在網絡系統中的各臺終端上,實時監測終端上所有USB接口,探測接人的移動存儲設備。發現設備后,認證軟件將與接入設備進行相互認證,并與認證服務器通信,對設備進行認證,通過認證的設備被認為是當前信任域的授權設備,否則將被認為是未授權的。根據認證結果,允許或禁止移動設備接入。

4.1授權流程描述

服務器端授權軟件運行時,探測出所有連接到授權服務器上的移動存儲設備,并將結果報告給管理員。管理員指定需要授權的設備,填寫好授權區域、授權日期、授權人、授權有效期并錄入用戶指紋信息后,授權軟件開始對該移動存儲設備進行授權。

(1)獲取該設備的各項物理信息,這些信息具有特征標識,可以唯一地標識該設備;

(2)將收集到的物理信息和管理員輸入的授權區域、授權日期、授權人、授權有效期等信息以一定格式排列,并注入隨機字符,采用三重DES運算,生成身份文件;

(3)設置移動存儲設備中指紋模塊的指紋信息;

(4)將智能卡模塊中的認證密鑰設成與終端事先約定好的密鑰;

(5)將(3)中生成的身份文件存入智能卡模塊中的安全數據存儲空間。

4.2認證流程描述

圖6是移動存儲設備管理系統完成認證的整個流程,其步驟如下:

(1)終端認證軟件判斷當前終端所處區域,如果處于信任域中,掃描各USB端口狀態,判斷是否有新設備接人;如果處于隔離區,則拒絕任何USB移動設備接入。

(2)如果探測到新設備接入,智能卡CPU調用指紋處理模塊,接收并驗證用戶指紋。

(3)如果指紋認證通過,則終端向USB存儲設備發送認證請求;否則禁用該USB存儲設備。

(4)如果沒有收到USB存儲設備的智能卡模塊發來的隨機數,證明該設備是不符合系統硬件設計要求的,拒絕接入;如果收到隨機數,則進行沖擊一響應認證。如果沒有通過認證,證明該終端為非信任終端,智能卡模塊拒絕該設備接人終端。

(5)終端讀取智能卡模塊存儲的身份文件,并讀取該設備的各項物理信息,將身份文件、物理信息及終端所處的信任域信息發送至認證服務器進行認證。

(6)服務器認證軟件接收到終端發送來的信息后,將標識文件解密,得到授權區域、授權日期、授權人、授權有效期等信息。

①將解密得到的物理信息與終端發來的物理信息作比對,如果不相符,證明該標識文件是被復制或偽造的,向終端發送未通過認證的指令。

②如果①中認證通過,將解密得到的信任域信息與終端發來的信任域信息作比對,如果不相符,證明該移動存儲設備處于非授權區域中,向終端發送未通過認證的指令。

③如果②中認證通過,將解密得到的授權有效期與當前日期做比較,如果當前日期處于有效期內,向終端發送通過認證的指令;如果當前日期處于有效期外,向終端發送未通過認證的指令。

(7)終端接收認證服務器發來的指令,對USB設備執行允許或禁止接入的操作。如果USB設備被允許接入,則智能卡模塊將設備持有者指紋提交給認證服務器,作為已授權訪問記錄記入日志中。

(8)轉至(2)繼續探測新設備。

5安全性分析

本方案通過在移動存儲設備中加入指紋識別模塊和智能卡模塊,更安全可靠地解決了設備持有者身份認證問題以及移動存儲設備的“匿名性”問題,通過引入身份文件,實現了移動存儲設備的實名制認證。結合智能卡的相關技術,本方案從根本上解決了移動存儲設備與接入終端問的雙向認證問題,構建了雙方互信的安全傳輸環境。

基于信任域的劃分對設備進行授權管理,使整個系統能夠同時對終端和移動存儲設備提供接人控制,有效地阻止了安全威脅的傳播。在方案的具體實現上,有如下安全性考慮:

(1)移動存儲設備采用指紋識別的方式認證設備持有者身份,確保其身份的合法性;采用三重DES對稱加密的方式對終端進行認證,確保終端為運行認證軟件的合法授權終端,有效地避免了強力破解的可能性。

(2)移動存儲設備的物理信息各不相同,身份文件也是唯一確定的。身份文件采用三重DES加密的方式,加解密過程全部在服務器端認證軟件中完成,密鑰不出服務器,避免了密碼被截獲的可能性。身份文件存儲于智能卡模塊中的安全數據存儲區,受智能卡模塊軟硬件的雙重保護。方案保證了身份文件的唯一性、抗復制性和抗偽造性,任何非授權設備都無法通過破譯、復制、偽造等人侵手段冒名成為授權設備。

(3)認證服務器與隔離區中的終端相互隔離,只能被信任域中的終端訪問,保證了認證服務器的安全。

(4)雙向認證通過后,被授權的移動存儲設備將設備持有者的指紋記入授權服務器的訪問日志中,以便日后能夠準確地確定安全事故責任人。

綜上所述,通過指紋識別技術、智能卡技術、密碼學技術、芯片技術和嵌入式系統設計技術實現了安全可信的移動存儲。

篇2

關鍵詞:PC/SC;讀/寫器;智能卡;TCL命令;ATP語言;應用協議數據單元

中圖分類號:TP274文獻標識碼:B

文章編號:1004-373X(2010)04-089-03

Design of Automated Test Platform for Smartcard

WANG Jingcun1,2,SU Peng1,2

(1.Engineering Research Center of Metallurgical Automation and Meas.Tech.Ministry of Education,Wuhan University of Sci.and,Wuhan,430081,China;

2.School of Information Science and Technology,Wuhan University of Science and Technology,Wuhan,430081,China)

Abstract:Traditional test platform for smartcard requires human intervention,seriously affects test proficiency.So,it has difficulty meeting the test needs in the smartcard industry.To solve this problem,a new method is developed and presented.Using the programming interfaces of PC/SC to communicate from test platform to smartcard.A new test language ATP,including TCL built-in commands and application-specific commands,which is defined by extended TCL interpreter.Software testers may create test cases in ATP language to test smartcard almost completely automatic on the platform.The method has been verified in practice.

Keywords:PC/SC;IFD;smart card;TCL command;ATP language;APDU

0 引 言

隨著智能卡在金融、電信、移動通信、醫療保險、付費電視等領域應用的迅速增長,其可靠性要求越來越高,而針對智能卡模塊的測試已經成為必不可少的質量保證手段。自動化測試不需要人工干預,能提高測試效率,受到更多重視和應用。在發展自動化測試的過程中,一個高效的自動化測試平臺是其基本保障。

根據智能卡的應用現狀和市場需求,本設計用TCL語言和C語言聯合編程的方法,以PC/SC為編程接口,實現了智能卡的測試平臺,能夠對智能卡進行質量和性能的測試。

1 測試系統結構

具有測試功能的系統結構如圖1所示。

測試系統一般由測試平臺、讀/寫器和智能卡三個部分組成。測試平臺運行測試腳本,并對從智能卡返回的結果進行處理。智能卡內部有被測程序,響應測試平臺發來的命令,返回測試數據。讀/寫器提供測試平臺和智能卡的接口。這里的研究重點是測試平臺。

圖1 測試系統結構圖

2 測試平臺的設計思路

測試平臺軟件由兩個部分組成,即界面程序和通信軟件程序,如圖2所示。界面程序提供一個友好的圖形畫面,接受用戶指令,如腳本輸入,按鈕響應等。界面將用戶的任務轉換為內部指令,然后由通信軟件程序具體實施,而通信軟件程序負責與USB讀卡器通信。

下面分別介紹界面程序和通信軟件程序的實現原理。圖2是測試平臺的軟件結構。

2.1 界面程序

界面程序分為三層,如圖3所示。

圖2 測試平臺的軟件結構

圖3 界面程序

頂層為腳本層,用于支持ATP語言。ATP并不是一種全新的語言,是從TCL語言[1,2]擴展而來,針對ATP開辟的命令集,它包括TCL基本命令和應用程序相關的擴展命令。TCL基本指令的使用方法可以參考文獻[1,2],擴展命令是TCL專門針對智能卡的測試而擴展的。

中間層是根據應用需求而擴展的TCL解釋器,它包含TCL標準庫和與底層接口程序有關的TCL擴展庫。ATP的基本部分由TCL語言解釋器調用TCL標準庫來執行;ATP的擴展部分由擴展的TCL解釋器調用TCL擴展庫執行。

頂層和中間層說明了TCL即是一種腳本語言也是一個解釋器。底層是接口程序,提供與通信軟件程序的接口,負責發送命令和返回狀態。

圖4顯示了TCL與應用程序的調用關系。

TCL的標準命令[3,4]是TCL自帶的,而與應用程序相關的特殊命令需要用C代碼去擴展,下面詳細介紹如何擴展TCL命令。使用TCL之前,應用程序必須首先創建TCL解釋器創建標準的命令解釋器,然后可以調用Tcl _CreateCommand 過程使用用戶自定義命令來擴展解釋器,它的原型是:

Tcl_CreateCommand (interp,cmdName,proc,clientData,deleteProc)

其中:interp為創建的解釋器;cmdName為創建的命令名字;proc為與命令相對應的函數;clientData為一個字長的值,通常指向一個專用數據結構;deleteProc為注銷命令的函數名,如果其為空,則在注銷命令前不調用任何函數。

調用Tcl _CreateCommand時,擴展命令name就會和name_tcl聯系起來;執行name命令時,會進入name_tcl函數處理name命令。

創建完程序自定義命令后,應用程序進入死循環,等到命令后就傳遞給解釋器。調用Tcl_Eval(interp,script),通過script的內容知道命令的類型后,選擇在相應的過程函數中進行計算。

通信軟件程序的執行就是在過程函數里面被調用,這樣就實現了界面程序與通信軟件程序的接口。

2.2 通信軟件程序

通信軟件程序遵循PC/SC規范[5-8]。PC/SC 規范是由 PC/SC 工作組提出的。PC/SC工作組是一個主要由智能卡廠商和計算機廠商組成的委員會,主要成員有微軟、蘋果、雅斯拓、金普斯、英飛凌、菲利普等。PC/SC 規范是一個基于Windows平臺的標準用戶接口(API)。它獨立于硬件設備,使得應用程序的開發人員不必考慮由于硬件改變而引起的應用程序變更,從而降低了軟件開發成本。

PC/SC規范包含大量Scard為前綴的API,可以在winscard.h中找到其原型。應用程序需要包含winscard.lib,所有函數的正常返回值都是SCARD_S_SUCCESS,在這些函數中常用的只有幾個。與智能卡的訪問流程如下:

(1) 初始化函數中調用SCardEstablishContext,建立資源管理器的上下文,獲得設備的連接句柄,若返回SCARD_S_SUCCESS,則調用成功;調用ScardListReaders獲得系統中安裝的讀卡器列表,調用成功則獲取聯機的讀卡器名字。

(2) 在響應函數中調用ScardConnect與卡片建立連接,此時能與卡片通信。

(3) 與卡片連接后通過調用SCardTransmit來發送命令,得到由卡片返回的數據。

(4) 卡片處于連接狀態時,可以調用SCardReconnect函數使卡片復位。

(5) 完成了與卡片的命令發收后,調用SCardDisconnect函數斷開與智能卡的連接。

項目已經實現以上功能的編程接口,而且利用類的方法進行了封裝。

3 測試平臺的使用

3.1 測試流程

腳本的制定還是使用人工方式,測試人員通過測試平成測試。自動化測試不需要人工干預,縮短了測試時間。因而測試過程采用人工測試和自動化測試相結合的方法進行。

用戶可以編寫測試腳本,快速發送測試命令和收集測試數據,可以單次執行或者循環執行,當滿足終止條件時,腳本執行結束,生成測試報告。圖5為測試流程圖。

3.2 功能測試

測試平臺能夠以APDU為基本單元完成針對智能卡的功能測試,下面分別對其進行介紹。

3.2.1 測試基本單元

測試平臺與智能卡通信的基本單元是APDU[9,10]。應用層以APDU為單位進行有序的數據交換,應用層交換的每一步都以命令應答對組成。APDU的命令應答對由以下部分組成:

命令APDU包含一個必備的四字節頭(CLA,INS,P1,P2)和可選的命令體(Lc,Data,Le)。命令頭為命令的編碼,Lc為體內數據(data)長度,Data為發送的數據,Le為應答APDU數據字段的最大字節數。

應答APDU由可選長度體和兩字節狀態字SW1-SW2組成。其中,體內的字節數由命令APDU的Le指出。Data為卡片接受命令APDU后返回的數據。尾部狀態字指出卡的處理狀態。其中,61xx和9000為正常處理,61xx的含義SW2指出仍然有效的應答字節數,9000代表正常處理。

圖4 TCL與應用程序的聯系

圖5 測試流程圖

3.2.2 單元測試

同樣,智能卡內部程序也是以APDU為單位實現的,因此單元測試的對象就是APDU。

發送一個APDU給智能卡,通過智能卡內部程序執行完后返回狀態字,判斷執行結果的正確與否。命令之間存在著相互依賴關系,因此命令之間通常要相互配合才能完成測試任務。

3.2.3 集成測試

集成測試主要是通過命令之間有序地執行完成智能卡的功能測試,根據不同的測試需要可以對測試腳本進行分類,例如FLASH的讀/寫,加密模塊的測試等。按照需要整理好相應的測試腳本后就可以在測試平臺上運行,通過腳本與智能卡程序的互測,達到測試目的。測試平臺支持自動化測試,所以可以在測試平臺上不間斷地執行測試腳本,測試人員不需要實時跟蹤,只需要關心最后的測試結果,通過測試結果可以發現問題,解決問題。

4 結 語

該系統已經通過測試,并且得到初步驗證。由于針對智能卡的測試項很多,通常需要多種測試工具的軟件和硬件設備交互使用,測試人員要熟悉各種軟件工具,相應地降低了工作效率。如果能將各種工具軟件集成在一起,形成一個多功能的測試平臺,支持多種通信接口的讀卡器,支持多種腳本格式,那么這將是下一步的工作重點。

參考文獻

[1]Brent Welch.Practical Programming in TCL and Tk[M].Prentice Hall,1995.

[2]Brent B Welch.TCL/TK編程權威指南[M].北京:中國電力出版社,2002.

[3]崔鴻,余雪麗,馮秀芳.TCL與C++聯合編程[J].太原理工大學學報,2003,34(1):83-86.

[4]崔鴻,李全福.基于TCL語言的外殼語言實現方法[J].計算機工程,2005,31(7):133-134,137.

[5]PC/SC Workgroup.Interoperability Specification for ICCs and Personal Computer Systems:Part 2.Interface Requirements for Compatible IC Cards and Readers.

[6]PC/SC Workgroup.Interoperability Specification for ICCs and Personal Computer Systems:Part 3.Requirements for PC-Connected Interface.

[7]劉祝生.基于PC/SC智能卡的應用與安全研究[D].長沙:湖南大學,2008.

[8]游代安,何久田,蔣遂平,等.Java卡應用的設計與實現[J].計算機工程與應用,2006,42(4):299-302.

篇3

存儲:從ROM到EEPROM

智能卡芯片的ROM會轉移到EEPROM。因為首先是性能的提升和功耗的降低,半導體業來說關鍵之一是線寬。線寬從最早的0.22μm(220nm)下降到了0.13μm(130nm),英飛凌現在推廣的主流產品是90nm。通常線寬越低,功耗越低,性能越好(如圖1)。第二,跟原來基于ROM的硬掩膜相比,未來基于EEPROM,英飛凌推出了安全凌捷掩膜,此項技術更具成本優勢和靈活性,也會成為未來的趨勢。但從ROM變到EEPROM,芯片安全性同樣需要關注。英飛凌所做的EEPROM的工藝,在程序寫入后直接固化,可以達到和ROM一樣的安全等級,甚至提供一些額外的安全性能。英飛凌現在的EEPROM產品已經獲得了CC EAL 6+(高)證書,市場上大部分的CC證書是4+或者5+。在針對高端應用的產品里會用到6+證書。

過去ROM與EEPROM相結合的產品較多,這主要和成本有關。不許改動的內容放在ROM里,要改變的放在EEPROM,這樣的組合會有成本優勢。人們常聽到的ROM產品、硬掩膜產品都屬于這類產品。

因為無論是在0 . 2 2μm還是0.13μm工藝中,EEPROM的單元成本高于ROM,但是有個臨界點。在現在推出的90nm中,兩者成本已經差不多了。由于免去了ROM的掩膜費,現在英飛凌提供的90nm的產品, EEPROM的單元成本比ROM更加便宜。對于未來的65nm,EEPROM的成本肯定會低于ROM。

英飛凌推出了90nm 16位的CPU產品——SLE7X,采用安全凌捷掩膜和EEPROM技術。此產品已經被銀聯列入金融IC卡芯片推薦產品名單。

EEPROM安全凌捷掩膜產品在CPU方面有幾個優勢。第一是真16位CPU,比舊的CPU性能提升40%,功耗更低。從目前市場角度講,如果在8位CPU里面做一些加速器,可以提速,但只能針對一些已知算法或交易流程,一旦交易流程有改變,真16位的高性能就可以體現出來。例如,一些城市已經可以用銀行卡刷公交卡,刷公交卡對交易時間有一定要求。最早的智能卡對交易時間要求小于500毫秒,這對銀行卡支付沒有太大問題;但交通卡的最低要求在300毫秒以下。現在英飛凌的產品可以做到200毫秒qPBOC交易時間。

線圈模塊

篇4

泰利德售飯/消費管理系統是一套基于射頻卡技術的最新產品,系統采用飛利浦公司的Mifare系列芯片,可以保證產品有足夠的安全性和穩定性。

從餐飲收費系統的特殊性上考慮,系統的安全性是尤為重要的。泰利德系統管理軟件在設計時將不同的功能化分為三個相互獨立的操作區域,即:系統管理區,出納管理區,公用信息區。進入操作區域需要操作員的身份識別,針對不同的操作員,只能進行其專項操作。這樣,一方面減少了誤操作的可能性,另一方面也增加了系統的安全性。

泰利德售飯/消費系統包括管理軟件、采集軟件及終端機,實現子系統日常管理和終端機數據采集。日常管理工作包括對終端機的管理、補助發放管理、日常報表查詢、租退卡業務、消費糾錯等日常事務;采集軟件實現補助發放控制、黑名單更新、系統參數發送、數據采集等工作,主要完成終端機內數據采集及處理工作,產生整個系統所需的原始記錄和各種匯總記錄。系統軟件全部工作于微軟中文Windwos操作平臺下,使用VC++、Power Builder等先進的編程工具制做完成。全中文,圖形化界面,易學易懂,操作簡便。

終端機有多種款式,適合各種場合。終端機采用雙面顯示雙面鍵盤的獨特設計,完成獨特功能,支持多個餐別;終端機內設多種消費模式,靈活方便,以適應不同場合的不同消費模式;終端機內有大容量存儲器,內有大容量后備電池,可以在某些場所離線工作。

系統方案簡介

為學校建立一套在數字化校園總體架構下的“校園一卡通”系統,形成統一管理的信息平臺,促進教育信息的標準化,構建起學校優良的數字空間和信息共享環境,在校內進一步實現教學資源數字化、數據傳輸網絡化、用戶終端智能化、結算管理集中化。借助“校園一卡通”系統提供的基礎數據,整合和帶動學校各類管理信息系統的建設,為各管理部門提供綜合信息服務和輔助科學決策,全面提升學校管理效率和管理水平。最終實現“安全性、可靠性、分布性、統一化和標準化、可擴展性、規范化、模塊化”的系統要求,實現以下的系統設計目的:

1. 可擴展的系統應用結構設計

在校園一卡通的系統結構設計上,采用將一卡通金融數據與非金融數據進行嚴格的劃分管理和優化。在系統的應用設計時主要分為消費應用平臺、身份認證平臺兩大類應用。從而實現消費類應用平臺業務嚴格遵循銀行業務系統規范,具有高安全性、可靠性和實時性。而身份類認證平臺與數字化校園數據庫平臺進行信息數據共享,實現全系統的公有信息一致。

泰利德數字化校園一卡通系統在.NET架構下建立基于WEB的多層架構的數字化校園一卡通系統,通過基于WEB的全方位應用,無縫接入數字化校園。

基于WEB企業級應用的多層架構的一卡通系統,使用中間件技術將中心數據庫和具體的應用程序分離,提供了一個易于擴展的業務架構,可以更好的、更合理的規劃業務流和數據流,提高系統的安全性和可靠性,數據實時性能優越,可維護性強。

2. 校園卡認證與指紋認證聯合的身份認證

一卡通系統中以校園卡進行電子身份認證,用以判定卡的合法性和有效性;通過指紋進行生物識別技術的身份認證,以判定個人的身份;兩者的有機結合,可以有效的判定卡與持卡人之間的唯一關系,提高身份識別的安全等級。一卡通系統中以卡為基礎的身份識別,主要應用在門禁、圖書借閱、通道控制、校門出入、考勤、會議簽到等應用,在學生注冊報到、學校考試監管、重要場所出入管理利用“校園卡+指紋”認證的模式。

3. 校園卡選型和結構設計

校園卡選擇Philips公司的Mifare系列非接觸式智能卡,卡具有非線性特性,卡內數據安全可靠,不可復制。校園卡與銀行金融卡在物理上分為兩卡(也可采用復合卡),便于卡發行和管理方便,卡面有持卡人的彩色照片、姓名、學號(工號)、卡號和LOGO信息。

卡片的設計和錢包的規劃符合中國人民銀行《中國金融集成電路(IC)卡規范》,卡存儲區合理分配,為系統將來的功能擴充留下的充足的功能空間。同時對卡內的存儲信息進行分類存放,實現數據的安全隔離,提高操作安全性。

4. 系統網絡結構設計

可以利用學校現有的網絡劃分出一卡通VLAN,也可以組建新的一卡通專用網絡,多個校區之間,通過VPN技術實現網絡連通。在校園一卡通終端網絡通訊方式上,系統中主要有TCP/IP和RS485兩種協議,在系統網絡建設結構中,提高了建設的靈活性、安全性、可維護性。

5. 終端設備結構設計

終端機固化全球唯一授權認證碼,集控授權使用;安全的簽到、簽退功能,脫機、聯機記錄識別; 餐別消費限額、日消費限額,密碼保護;POS應用程序支持在線升級;安全靈活的黑名單管理,批次、增量級別控制;采用FLASH存儲芯片,數據有效存儲10年;機具模塊化,機殼、鍵盤防水設計,采用進口生產線,選用貼片器件,穩定、可靠;部分機具使用ARM系列嵌入式系統開發設計,支持更多的個性化應用開發。

6. 數據庫平臺選擇

系統數據庫選用性能最穩定的Oracle數據庫,同時也支持SQL Server數據庫,為系統的建設靈活性和穩定性提供了基礎保障。

7. 系統安全體系

數據庫系統安全:雙機熱備、磁盤陣列、磁帶備份、NAS數據冷備、異地數據備份存儲、防止自然災難性損失;

系統密鑰設計:遵從中國人民銀行的有關安全標準,設計了一套完整的密鑰應用規范,保證了系統的信息的安全使用,系統分配主密鑰、系統分配發行代碼、卡片訪問密鑰、卡片扇區的密鑰、個人的身份認證密鑰、個人的消費密鑰;

訪問安全:設計使用系統安全證書,保證平臺應用的訪問安全。結合用戶角色權限的管理,實現權限的受控管理。

8. 系統的運行結構

系統的主要運行特點使用真正的電子錢包方式,系統支持聯機和脫機兩種運行模式,這種特點為系統中的靈活應用提供了基礎,為類似車載收費等移動收費提供了可能性和可靠性。設計有設備的授權集控管理機制,保證設備接入的合法性,設計有設備的使用簽到和簽退功能,保證交易的完整性和合法性。利用通訊網關,對聯機終端進行7×24小時不間斷的集中數據采集,保證數據的安全、可靠。

9. 一卡通對突發事件的處理方案

設計有完善可行的數據容錯方案,保證數據庫在突發故障情況時可以減少系統的數據風險,數據庫的完整性和一致性同時縮短系統的恢復時間。

10. 完善的財務結算機制

財務機制的設計符合國家財政部企業財務的標準,完全支持分商戶管理與結算、對賬、并支持清分清算功能。能夠提供按POS機和POS分組結算,系統支持多達1024級的結算單位設置,可提供完善的會計結算憑證及結算程序。

管理軟件技術特色

1. 系統采用二層架構

實現中心數據庫和應用層的隔離,屏蔽用戶直接對數據庫的操作,保證數據安全,支持多數據庫操作系統,后臺數據庫操作系統變化,前臺的應用系統無變化。

2. 電子錢包應用

真正的電子錢包方式,以卡為準,保證個人賬戶的一致性、連續性。支持主錢包和多個小錢包的應用。

3. 身份識別技術:卡認證

校園卡:電子身份認證,用以判定卡的合法性和有效性;主要應用在門禁、圖書借閱、通道控制、校門出入、考勤、會議簽到等子系統。

4. 系統賬務平衡管理

系統每日進行定時扎賬處理,有脫網數據未上傳時,自動采用掛賬方式,做到個人賬戶的賬務平衡,出現異常情況,系統自動分析和報告異常原因,方便管理者分析處理。

5. 動態優化黑名單技術

黑名單動態管理,批次和零散兩級控制,對黑名單的產生、分發、消亡進行優化管理,自動處理冗余黑名單,保證黑名單使用的高效性;

聯機驗證白名單技術:系統在POS機聯網狀態下聯機驗證卡片的有效性。

6. 系統數據備份冗余

完善的數據庫備份機制;

各工作站數據庫賬務數據總和與中心數據庫賬務數據一致;

POS機內的記錄數據備份;

卡內重要數據信息備份。

7. 系統數據安全措施

數據庫內關鍵數據密文方式存儲;

工作站服務器數據傳輸采用數字證書加密;

POS機到采集工作站采用PSAM卡加密方式;

POS機內記錄有CRC校驗,檢驗POS機記錄的合法性和有效性;

卡內信息自我校驗機制,保證卡內信息完整可靠;

卡內信息數據CRC校驗,保證存儲數據的安全。

8. 方便持卡人使用

卡內數據備份,POS機自動檢驗恢復,保證持卡人使用不受影響;

可以從任何POS機上領取補助,不需專用補助機;

提供多種無卡查詢賬戶信息的途徑:卡務中心查詢,WEB查詢,語音查詢,觸摸屏查詢。

9. 保護持卡人利益

消費限額功能;

提供24小時不間斷掛失。

10. 系統集控機制完善

利用通訊網關,7×24小時不間斷的集中采集交易、流水記錄,集中處理匯總信息;

對系統的接入設備進行集中授權控制;

POS設備使用有嚴格的簽到、簽退功能,保證數據的一致性和完整性;

接入設備有唯一的設備序列號編碼控制;

對子系統運行進行集中監控、授權和管理。

系統結構

泰利德售飯消費系統是通過諸如電腦之類的標準設備和售飯機等專用設備構成的。

1. 標準設備

包括服務器(安裝中心數據庫)、工作站(安裝管理系統上層軟件)、前置機(安裝終端采集程序和本地數據庫)、打印機等;在小規模應用中,這三臺主機可以用一臺PC機實現。

2. 專用設備

包括智能卡消費機、系統軟件、通訊器、發卡機、感應卡等。

軟件功能特性

泰利德綜合消費管理系統軟件功能包括四大功能區:系統管理區、出納管理區、終端機采集程序、報表區、信息公用區。

1. 系統管理區

系統卡操作可以制作操作、參數、編制等特殊卡;系統環境設置對系統參數、時間、消費卡類別、系同單位進行維護,包括開戶、消費限額、手續費等設定;補助操作可以手工準備補助,也可通過Excel、Text文本導入;數據整理進行月節、年節、刪除記錄、終端機校驗等功能;系統管理針對工作站維護,商戶信息維護可對設備進行添加、修改;系統用戶維護可添加管理員、出納員,并可設定出納員權限。可通過此處進入報表區。

2. 出納管理區

主要針對卡片的操作,卡片瀏覽、開戶、補卡、銷戶、存款、卡片修復、消費修正、掛失等功能,能夠完成卡片的所有操作,對停止使用的卡片進行銷戶、金額不足時加款、對消費金額錯誤時可以進行修正、卡片報錯時可以進行修復、卡片丟失實時掛失及解掛等系列的功能。

3. 終端機采集程序

設備檢查、設備監控、監控數據、同步設備時間、上傳餐別時間、上傳系統密碼、上傳參數、上傳掛失黑名單、對水控器遠程控制等功能。檢查設備是否和網絡連通、監視設備運行狀況和收費情況、對洗浴節點分配(手動、自動),將系統設置的參數下載到控制器上。完成對節水控制器數據的下載和其他數據處理。

4. 報表區

數據查詢:可對個人或者單位的消費、存取、糾錯、掛式、解掛、補卡、補助明細查詢;可分時段、月份,或者自定義查詢;

營業報表:包括營業年報、月報、期報、日報、時報等終端設備的收入情況;

出納報表:包括出納年報、月報、期報、日報等出納現金收入情況;

補助報表:包括補助年報、月報、已發清單、未發清單、月度平衡、已發未發概要等;

財務報表:形成系統情況、出納存款、營業收入、補助費用、平均消費、結算憑證等多個統計報表。客戶報表可生成部門或客戶花名冊、賬本明細、月消費情況、最高最低消費、注銷明細等查詢報表。

硬件技術特性

收費終端

產品特點

針對食堂環境,水、油、汽、煙污染嚴重,機殼采用全防水設計;

生產環節中器件貼、插、焊、洗、烘等均采用進口生產線;

模塊化設計,LCD/LED顯示板,不同卡讀卡模塊、TCP/IP協議/RS-485協議通訊模塊,即插互換;

大部分元器件選用貼片的集成芯片,不僅僅使POS機體積大大縮小,而且運行穩定、可靠、節能;

支持全天候非斷電情況下連續運行,平均無故障時間(MTBF)大于15000小時;

POS機主板采用了掉電及電壓波動保護器件,大容量Flash、EEPROM雙存儲器,分別可靠存取不同數據。在POS機完全掉電(包括主板的時鐘電池)的情況下數據仍然可以有效存儲達10年之久,真正具有“黑匣子”數據保護功能;

采用獨立的硬件時鐘電路設計,可充的鋰離子電池供電,可精確記錄每筆流水記錄的消費時間,便于跟蹤管理;

配備高性能后備電池,采用后備式電源供電方式,可靠的充放電電路設計,大大提高了電池的使用壽命;

國內同行業中首創的POS機內嵌應用程序在RS-485通訊方式下在線升級功能;

采用零散和批量等多種黑名單處理方式,黑名單功能:黑名單容量不小于1萬,單臺POS機單次更新所有名單時間不大于5分鐘;

上傳的消費數據同時包括卡唯一賬號和卡流水號;

能夠顯示本次消費金額和卡內余額;

窗口POS機具有防誤刷機制;

時鐘由系統下載;

提供RS485或TCP/IP接口;

內含蜂鳴器,各種正常、異常使用均有聲音提示;

與射頻卡標準操作距離0―5cm;

具有雙面、液晶或數碼顯示;

完全支持脫機運行,脫機可存儲8000條消費流水記錄;

方便靈活的設置邏輯地址;

個人消費密碼限制功能,具有餐別消費限額、日消費限額的限制,超限額消費必須輸入個人密碼,充分保障在客戶卡丟失的情況免遭惡意消費。最大限度的保護持卡人利益;

支持金額、單價、份數、菜單(編號)、記帳(計次)、時間段指定消費等六種運行方式;

可根據上層軟件的控制授權信息,每月定期給客戶發放生活補貼費,補貼發放與消費同時自動完成,無須單獨操作,補貼發放與消費同時自動完成,無單獨操作提高了財務部門的工作效率;

獨特的前后雙鍵盤設計(前鍵盤可供用于密碼輸入)。

主要功能特性

具有雙面液晶/數碼管顯示,前后兩個鍵盤。后鍵盤面向操作員,前鍵盤面向消費者(數碼管機型為單面鍵盤);

支持單價方式、菜單編號消費、定值方式、份數方式、計次免費、指定時間段消費等六種消費方式:

(1)單價:自由輸入消費金額,確認后扣款。

(2)定值:按照設定的定額,無須操作,刷卡即扣款。

(3)編號:可設置10組代碼,按照代碼對應的金額扣款。

(4)份數:輸入幾份進行扣款。

(5)記帳:不扣款,只儲存消費記錄,刷卡時可顯示每天的消費次數(液晶屏機型4.0版本已不支持)。

(6)時間段:在設定的有效時間段內允許刷卡,并按照設置金額自動扣款(液晶屏機型4.0版本已不支持)。

可限制消費額,支持兩種不同的消費限額:次消費最大限額、日消費最大限額;

可通過管理軟件進行消費限次(液晶屏機型4.0版不支持)、消費限額以及超額密碼消費設置;

可通過管理軟件進行有效刷卡時段功能,在有效時段以外無法消費,且每個刷卡時段的設置金額隨時間段自動調整。(液晶屏機型4.0版不支持);

可通過管理軟件進行刷卡間隔時間的設置,在設置時間間隔未到不允許重復刷卡。(液晶屏機型4.0版不支持);

POS機存放12000個零散黑名單和255個批次黑名單,每個批次可存放65535個卡號;

支持實時通訊模式和脫網工作模式,實時工作模式下,設備數據可實時由軟件提取記帳,也可配合軟件做到定時自動采集數據。在脫網運行和聯網運行時的功能完全相同,脫網運行時可以存放8000~20000筆消費記錄;

外接打印機接口、外接密碼鍵盤接口、TCP/IP 網絡接口(數碼管機型);

操作員可在消費終端上隨時查詢本機當日各個餐別的營業總額和人次;

篇5

關鍵詞:智能卡;安全;密鑰;存儲;管理系統

中圖分類號:TP18文獻標識碼:A文章編號:1009-3044(2012)06-1379-08

A Key Management System Based on Smart Card

YANG Yin

(College of Electronics and Information Engineering, Tongji University, Shanghai 201804, China)

Abstract:In recent years, due to the increasing development of the global information, as well as the national" Golden Card Project", the smart card is widely used as a prevailing trend. It is obvious that the smart card has brought us convenience and fashion: people don’t have to carry a lot of cash to go for a shopping and waste our valuable time on changing. Of course, the smart card not only brings our life much convenience, but also supplies with security, such as the contribution in the prevention of counterfeit money and theft, so that the personal safety and economic losses are significantly reduced. Whether or not can smart card accomplish its mission, depending on the safety of card itself, namely the key security in the smart card. In order to make a maintenance and protection for security of the keys, this paper designs a key management system based on smart card to store and manage the keys.

Key words:smart card; security; key; store; management system

隨著世界信息化程度的不斷加深,智能卡的應用已經由以前的單一應用向多元化發展。在邏輯卡芯片的安全風暴之后[1],內嵌智能芯片的真正意義上的智能卡便受到各行各業的殷切關注,并已經被廣泛應用于建筑業、航運業、金融業、醫保、社保、門禁系統等行業當中。在大多數工業化國家,智能卡已經成為生活中不可缺少的一部分[2]。智能卡可以用于鑒別身份、國內外旅游、進入特定場所、從銀行提款、商品買賣和服務付費等[3]。我們可以經常通過集體領取、自行辦理,甚至是被贈予一些行行的智能卡,平均每個人手中都有不只一張的智能卡。

在全球科技向智能卡時代推進的大背景下,一套完整的安全的且便于操作的智能卡應用流程就顯得尤為重要。理論上講,智能卡應用中,沒有絕對安全的芯片,也沒有絕對安全的加密算法,我們只能在特定時期、特定場合、特定時間間隔內,說他們是比較安全的,即相對安全。同時,一次加密的安全性也不能依賴于一個算法的保密性,因為算法遲早是要公開的,而要取決于加解密密鑰的安全性[4],故如何產生、保存、維護這些密鑰就顯得至關重要了。

本文是基于智能卡的密鑰管理系統,對密鑰進行了分層分級管理,生成最終的用戶卡時根密鑰對分散因子經過了分散加密,并將相應的專用密鑰注入不同類型的管理卡中保存。

1系統總體構成

智能卡密鑰管理系統是一個運行于PC機上的應用軟件,而其中的每一個程序需要若干智能卡配合,這一節將主要描述密鑰管理系統的軟硬件構成以及各功能模塊、子程序特點。1.1硬件構成

本系統的基本構成需要一臺PC機(操作系統WINDOWS XP以上),四個支持PC/SC的接觸式讀卡器和若干張智能卡作為外部輸入。智能卡作為管理卡和終端上使用的PSAM卡,與密鑰管理系統的模塊配合實現系統的運行。硬件構成可見圖1所示。

定義了密鑰管理系統中需要用到的智能卡名稱,外部輸入的卡有廠商傳輸卡、洗卡母卡、洗卡母卡傳輸卡、領導卡、領導卡傳輸卡、根密鑰卡、根密鑰傳輸卡、發卡母卡以及PSAM卡。

1)廠商傳輸卡

廠商傳輸卡用來為出廠的密鑰管理系統卡片做認證,內有所有管理卡的初始傳輸密鑰。2)洗卡母卡、洗卡母卡傳輸卡

洗卡母卡與廠商傳輸卡配合,用來為出廠的密鑰管理系統卡片修改傳輸密鑰。同時為管理卡提供初始的密鑰。洗卡母卡在分散導出密鑰時,需要做外部認證,而洗卡母卡傳輸卡用來保護洗卡母卡,洗卡母卡傳輸卡保存一個密鑰對洗卡母卡中的外部認證密鑰做認證。

3)領導卡、領導卡傳輸卡

領導卡主要功能是保存系統根密鑰的密鑰分量,系統默認有兩張領導卡,用于生成系統根密鑰。領導卡在進行初始化的時候需要通過洗卡母卡進行格式化,進而寫入根密鑰分量;領導卡傳輸卡用來保護領導卡,領導卡傳輸卡保存一個密鑰對領導卡中的密鑰分量加解密。

4)根密鑰卡、根密鑰傳輸卡

根密鑰卡保存系統根密鑰,不可讀寫,只可分散導出使用。可以通過領導卡、領導卡傳輸卡、洗卡母卡、洗卡母卡傳輸卡共同配合來生成以上兩卡。不能隨意格式化根密鑰卡,寫入密鑰時,要以密文方式寫入所有分量;根密鑰傳輸卡為根密鑰卡提供對根密鑰的保護。

5)用戶卡發卡母卡

用戶卡發卡終端上安裝的智能卡,其中裝載了根密鑰經分散代碼分散加密后的密鑰,用來發行用戶卡,對用戶卡進行相應的初始化工作以及把相應的密鑰寫入用戶卡內。

6)PSAM卡

PSAM卡(Purchase Secure Access Module),即終端安全存取模塊,符合《中國金融集成電路(IC卡)PSAM卡規范》[5],一般安裝于用戶卡用卡終端上,配合經用戶卡發卡母卡發行的用戶卡,實現用戶卡的具體操作,如小額支付、門禁業務等。1.2軟件構成

密鑰管理系統包含四個子應用程序,這些程序成為密鑰管理系統的四大功能模塊,共同完成密鑰生成、密鑰注入、密鑰分散、密鑰分發等功能,并分別用來生成洗卡母卡、領導卡、根密鑰卡、用戶發卡母卡及PSAM卡。以下將這四大模塊做一簡單介紹。

1)洗卡模塊

洗卡母卡程序用于生成洗卡母卡和為各個管理卡洗密鑰。所謂“洗”,即替換掉卡片內部的原始出廠密鑰,而注入用戶自己的密鑰。洗卡母卡有兩個功能,一個功能是為各管理卡和PSAM卡替換廠商傳輸密鑰,另一個功能是為管理卡和PSAM卡提供管理密鑰。洗密鑰功能是用廠商傳輸卡和洗卡母卡,替換密鑰管理卡的廠商傳輸密鑰。

2)領導卡模塊

領導卡程序用于生成領導卡,并在領導卡內保存根密鑰分量。領導卡內保存的密鑰分量由領導卡傳輸卡加密保護。

3)根密鑰卡模塊

根密鑰卡程序用于生成根密鑰卡。根密鑰由所有領導卡中保存的密鑰分量根據特定的算法而成。根密鑰的使用受根密鑰傳輸卡的保護。

4)用戶卡發卡母卡和PSAM卡模塊

此模塊用于生成發卡母卡和PSAM卡,用戶卡發卡母卡和PSAM卡中保存根密鑰對分散代碼進行分散加密后的子密鑰。發卡母卡和PSAM卡中裝載的密鑰完全相同,不同之處在于發卡母卡中的密鑰可以導出,而PSAM卡中的密鑰則不允許導出。1.3發卡流程

1)通過洗卡程序生成洗卡母卡,需廠商傳輸卡參與。

2)通過洗卡程序為所有管理卡洗密鑰,需廠商傳輸卡、洗卡母卡、洗卡母卡傳輸卡參與。3)通過領導卡程序生成領導卡和領導卡傳輸卡,需洗卡母卡、洗卡母卡傳輸卡參與。4)通過領導卡程序在領導卡內寫入根密鑰分量,需洗卡母卡、洗卡母卡傳輸卡參與。

5)通過根密鑰卡程序生成根密鑰卡,需洗卡母卡、洗卡母卡傳輸卡、所有領導卡和領導卡傳輸卡參與。

6)通過發卡母卡和PSAM卡程序生成發卡母卡和PSAM卡,生成發卡母卡和PSAM卡過程需要洗卡母卡、洗卡母卡傳輸、根密鑰卡、根密鑰傳輸卡的參與。

2系統詳細設計

一個有效的應用程序需要一個合理的規劃和布局。設計并實現一些應用程序底層的API不僅能夠使整個系統的結構更加緊湊,代碼可讀性更強,而且會使程序的執行更加有效率。本節從底層接口入手,提煉上層應用程序的共性,使底層API運用到整個系 統的四大模塊中。2.1接口設計

密鑰管理系統由四大功能模塊組成,每一個模塊都由一系列的接口組成,每一個接口又需要調用更底層的接口來實現用戶功能,一部分接口是為每個功能模塊個性定制的,而另一部分接口是多個應用程序共用的,其中包括PC/SC(Personal Computer & Smart Card)讀寫器接口、ISO7816接口和PSAM卡專用接口等。

2.1.1 PC/SC讀寫器接口

為了方便密鑰管理系統中各個模塊與讀卡器進行數據交換,也為了程序可讀性更強,系統設計了一系列用戶接口來封裝Visu? al Studio的PC/SC接口。讀卡器用戶接口設計為C++的類,讀卡器的接口函數就是類中的方法。讀卡器接口包含一個虛基類CComm和一個派生類CCommPCSC。基類定義接口,派生類負責實現接口。如表1所示。

表1 CComm讀卡器接口簡表

2.1.3 PSAM專用接口

PSAM接口實現了PSAM卡的專有命令。定義了接口如表3所示。

2.2洗卡模塊設計

洗卡母卡程序用于生成洗卡母卡和洗卡母卡傳輸卡,并為所有管理卡替換掉出廠時已寫入芯片中的廠商傳輸密鑰。

2.2.1生成洗卡母卡流程

1)獲取廠商傳輸卡、洗卡母卡、洗卡母卡傳輸卡的句柄;

2)調用create_fs_wash_card接口,建立洗卡母卡的文件結構;

3)調用create_fs_wash_trans_card接口,建立洗卡母卡傳輸卡的文件結構;

4)通過psam_gen_root_key_start和psam_gen_root_key_add_key_component以及psam_gen_root_key_end指令,向洗卡母卡及洗卡 母卡傳輸卡中寫入必備的CCK(卡片主控密鑰)和CMK(卡片維護密鑰);

5)將客戶傳輸密鑰和管理主密鑰分量經按位異或后,再經廠商傳輸卡加密后寫入洗卡母卡的定的DF下;

6)生成特定字節數的隨機數,分別注入洗卡母卡和洗卡母卡傳輸卡,用以在后續的過程中進行外部認證。

以下是生成洗卡母卡及洗卡母卡傳輸卡的過程示意圖:

2.2.2洗卡模塊主要接口

1)生成洗卡母卡及洗卡母卡傳輸卡接口定義:

DWORD flow_wash_card (CCommSC *manu_trans_card,

CCommSC *wash_card,

CCommSC * wash_trans_card,

BYTE *tk1, BYTE *tk2, BYTE *mk1, BYTE *mk2);

參數說明:

manu_trans_card:廠商傳輸卡句柄

wash_card:洗卡母卡句柄

wash_trans_card:洗卡母卡傳輸卡句柄

tk1:客戶傳輸密鑰分量1

tk2:客戶傳輸密鑰分量2

mk1:管理母密鑰分量1

mk2:管理母密鑰分量2

該接口內封裝了建立文件結構接口:

create_fs_wash_card和create_fs_wash_trans_card

以及建立密鑰接口:

create_key_leader_card和create_key_leader_trans_card

2)洗管理卡主要接口定義

DWORD flow_wash_key ( CCommSC *manu_trans_card, CCommSC *wash_card,

CCommSC *wash_trans_card, CCommSC *managed_card);參數說明:

manu_trans_card:廠商傳輸卡句柄wash_card:洗卡母卡句柄

wash_trans_card:洗卡母卡傳輸卡句柄managed_card:待洗密鑰的管理卡

2.3領導卡模塊設計

領導卡程序用于生成領導卡和領導卡傳輸卡,并獲取用戶輸入的根密鑰分量。

2.3.1生成領導卡流程

格式化領導卡及其傳輸卡,即初始化這些卡片,并為其密鑰文件中寫入必需的管理密鑰,最后將用戶輸入的PIN碼寫入特定文件內:

1)獲取洗卡母卡、洗卡母卡傳輸卡、領導卡以領導卡傳輸卡的句柄;2)調用flow_ext_auth接口,洗卡母卡傳輸卡對洗卡母卡做外部認證;

3)調用ccreate_fs_leader_card和create_fs_leader_trans_card,建立領導卡和領導卡傳輸卡的文件結構;

4)利用get_challenge接口從領導卡芯片隨機數生成器中獲取隨機數,做為領導卡和其傳輸卡的卡號及卡片ID;5)寫入領導卡及領導卡傳輸卡中相應的管理密鑰;

6)將生成的隨機卡號及卡片ID寫入領導卡和領導卡傳輸卡中;

7)最后將用戶界面中用戶輸入的PIN碼寫入領導卡中指定的文件。以下是格式化領導卡過程示意圖:

2.3.2導入領導卡密鑰分量流程

此過程中要求不同的密鑰分量分別寫入不同的領導卡中:

1)獲取洗卡母卡、洗卡母卡傳輸卡、領導卡以領導卡傳輸卡的句柄;

2)調用flow_ext_auth接口,洗卡母卡傳輸卡對洗卡母卡做外部認證;

3)調用select_file和read_binary接口,選擇并讀出領導卡及其傳輸卡的卡號與ID;

4)調用verify_pin指令驗證用戶輸入的PIN是否真實;

5)初始化領導卡傳輸卡內的保護密鑰,對密鑰分量加密;

6)將加密后的密鑰分量密為源數據,利用洗卡母卡計算MAC(一種消息認證碼);并最終寫入領導卡特定文件內。

2.3.3領導卡模塊主要接口

1)格式化領導卡及領導卡傳輸卡主要函數

DWORD flow_format_leader_card (CCommSC *leader_card,

CCommSC *leader_trans_card,

CCommSC *wash_card,

CCommSC *wash_trans_card);

參數說明:

leader_card:領導卡句柄

leader_trans_card:領導卡傳輸卡句柄wash_card:洗卡母卡句柄

wash_trans_card:洗卡母卡傳輸卡句柄

該函數內封裝了建立領導卡及其傳輸卡文件結構的接口:

create_fs_leader_card以及create_fs_leader_trans_card;

負責向兩張管理卡中注入密鑰的接口

create_key_leader_card以及create_key_leader_trans_card;

以及負責將卡號和卡片ID寫入管理卡中的接口

update_binary_with_mac

2)導入領導卡密鑰分量的主要函數

DWORD flow_leader_card_read_key_component(CCommSC *leader_card, CCommSC*leader_trans_card, BYTE *pin, DWORD pin_len, BYTE *key_componnet,

DWORD *key_componnet_len);

參數說明:

leader_card:領導卡句柄

leader_trans_card:領導卡傳輸卡句柄pin:用戶輸入的PIN pin_len:PIN的長度key_componnet:密鑰分量

key_componnet_len:密鑰分量的長度

函數封裝了verify_pin對用戶輸入的PIN進行驗證,并通過psam_general_encrypt對密鑰分量加密后,寫入領導卡中。

2.4根密鑰卡模塊設計

根密鑰卡中存放由若干張領導卡中導出的密鑰分量經異或后的密鑰,也是密鑰管理系統中最為重要的一條密鑰,最后用于終端上的PSAM中的密鑰便來源于此密鑰,該模塊中首先需要確定領導卡的數量,隨后將這些密鑰運算后寫入根密鑰卡中。2.4.1生成根密鑰卡流程

1)用戶需首先設定參與生成根密鑰的領導卡的數量,即密鑰分量的數量;2)用工廠方式獲取領導卡、領導卡傳輸卡的句柄;

3)調用verify_pin接口,認證在領導卡模塊中用戶已經輸入的PIN;

4)導出一張領導卡中密鑰分量的密文;

5)用領導卡傳輸卡中已經約定好的保護密鑰對密鑰分量密文進行解密;

6)用以上步驟獲取所以領導卡中的根密鑰分量;

7)用工廠方式獲取洗卡母卡、洗卡母卡傳輸卡、根密鑰卡、根密鑰傳輸卡的句柄;

8)調用flow_ext_auth接口,洗卡母卡傳輸卡對洗卡母卡做外部認證;

9)建立根密鑰卡、根密鑰傳輸卡的文件結構;

10)調用get_challenger接口,為根密鑰卡和根密鑰傳輸卡生成隨機的卡號和卡片ID;11)寫入根密鑰卡和根密鑰傳輸卡中管理密鑰:即CCK和CMK;12)將生成的隨機卡號和卡片ID寫入根密鑰卡和根密鑰傳輸卡;

13)將所有的根密鑰分量經XOR方式后生成一條根密鑰,并寫入根密鑰卡密鑰文件中。

妥善的保管根密鑰卡,根密鑰是以后所有的管理卡及PSAM卡中密鑰的種子,圖4是生成根密鑰卡和根密鑰傳輸卡的示意圖。

2.4.2根密鑰卡模塊主要接口

1)讀領導卡中密鑰分量接口

DWORD flow_leader_card_read_key_component (CCommSC *leader_card, CCommSC *leader_trans_card, BYTE *pin, DWORD pin_len, BYTE * plain_key_component,

DWORD * plain_key_component_len);參數說明:

leader_card:領導卡句柄

leader_trans_card:領導卡傳輸卡句柄pin:用戶輸入的PIN碼pin_len:用戶輸入PIN碼的長度

plain_key_component:經領導卡傳輸卡解密后的明文

plain_key_component_len:經領導卡傳輸卡解密后明文長度

該接口內部封裝了verify_pin,首先認證用戶PIN碼,取得領導卡訪問權限;其次調用select_file和read_binary接口,讀出領導卡中的根密鑰分量的密文;接著調用領導卡傳輸卡的psam_general_encrypt加解密接口,將根密鑰分量密文解密,參數plain_key_com? ponent和plain_key_component_len負責將解密后的根密鑰分量明文和明文長度帶回。

2)生成根密鑰卡接口

DWORD flow_generate_root_card (CCommSC *root_key_card,

CCommSC *root_key_trans_card,

CCommSC *wash_card,

CCommSC *wash_trans_card, BYTE *key_components,

DWORD key_components_len,

DWORD key_len_per_component);

參數說明:

root_key_card:根密鑰卡句柄

root_key_trans_card:根密鑰傳輸卡句柄wash_card:洗卡母卡句柄

wash_trans_card:洗卡母卡傳輸卡句柄key_componnets:所有的密鑰分量

key_componnets_len:所有的密鑰分量的長度

key_len_per_component:每人密鑰分量的長度

該接口中封裝了:

create_fs_root_key_card和create_fs_root_key_trans_card接口用來建立根密鑰卡和根密鑰傳輸卡的文件結構;

create_key_root_key_card和create_key_root_key_trans_card接口用來生成根密鑰卡和根密鑰卡傳輸卡中必需的管理密鑰CCK和

CMK;

在create_root_key中所有的根密鑰分量進行XOR運行,并最終寫入根密鑰卡中。

2.5發卡母卡及PSAM卡模塊設計2.5.1生成發卡母卡及PSAM卡流程

用戶發卡母卡與PSAM卡的初始化過程、文件結構是完全一樣的,不同之處在于,前者的密鑰是可以導出的,而后者的密鑰禁止導出,這是因為發卡母卡要用來發行用戶卡,即需要將密鑰注入用戶卡,而PSAM是用來認證的,所以不能導出。因些兩種卡片的流 程也完全相同:

1)用工廠方式獲取洗卡母卡、洗卡母卡傳輸卡、根密鑰卡、根密鑰傳輸卡的句柄;2)調用flow_ext_auth接口,洗卡母卡傳輸卡對洗卡母卡做外部認證;3)調用flow_ext_auth接口,根密鑰傳輸卡對根密鑰卡做外部認證;4)獲取發卡母卡/PSAM卡的句柄;

5)建立發卡母卡/PSAM卡的文件結構;

6)寫入發卡母卡/PSAM卡中管理密鑰:即CCK和CMK;7)為發卡母卡/PSAM卡生成隨機的卡號和卡片ID;8)將生成的卡號和卡片ID寫入發卡母卡/PSAM卡;

9)根密鑰卡中的根密鑰對分散因子做分散,得到子密鑰,以密文方式導出;

10)洗卡母卡對子密鑰的密文進行轉加密,并將子密鑰寫入發卡母卡/PSAM卡的密鑰文件中;按上述步驟,將所有根密鑰對分散因子分散后的子密鑰寫入發卡母卡/PSAM卡中。

2.5.2發卡母卡及PSAM卡模塊主要接口

DWORD flow_psam_card (CCommSC *psam_card, PBYTE psam_card_no, DWORD psam_type, CCommSC *root_card, CCommSC*wash_card,

DWORD oper_code_num, oper_code_struct *oper_codes);參數說明:

psam_card:PSAM卡句柄psam_card_no:PSAM卡卡號psam_type:PSAM卡類型root_card:根密鑰卡句柄wash_card:洗卡母卡句柄oper_code_num:分散因子數目oper_codes:分散因子集合

根密鑰對分散因子進行分散后得到的子密鑰,需要經過一個轉加密的過程,才能注入發卡母卡/PSAM卡中,這是因為根密鑰卡與發卡母卡/PSAM卡之間沒有用來交互加密和解密的密鑰,換話句講,這兩者之間沒有交流的通道,只能通過與兩者都有關聯的洗卡母卡來進行一個轉換才可以。該轉加密指令是對輸入的數據進行解密,并把解密的明文用該指令指定生成的子密鑰進行加密,并把加密結果輸出。轉加密接口psam_transfer_encrypt置于PSAM專用接口庫中,

3結論

基于智能卡的密鑰管理系統設計上測重于考慮管理卡發行過程中的安全因素,為此,進行了如下的工作:

1)依據智能卡發行及使用過程中的安全協議及使用流程,對若干張智能卡進行級別和職能上的分類,并據此將整個密鑰管理系統按結構和功能設計為四大模塊。

2)系統設計并實現了一系列底層接口,如ISO7816協議接口等,并將這些接口予以安排和分類,讓程序的結構更加緊湊,同時四大應用程序共同使用這些接口,又增加了程序運行效率,提高了程序代碼的可讀性。

3)程序的流程設計全部符合國際、國內的相關規范和協議,而這些規范和協議全部封裝在相關的接口中,對用戶來講是透明的,使用戶在外部的操作更加清晰。

4)根密鑰對分散因子進行分散加密,得到的子密鑰注入下層管理卡中,實現了管理卡的一卡一密,并為每一張管理卡設計相應的傳輸卡,在對管理卡的訪問期間進行外部認證及數據加解密的操作。

這是一個高度發達的信息化社會,離開了信息科學技術,社會發展將會停滯不前。然而高度發達的信息科學技術也必然帶來更高效的攻擊手段。在電子商務、電子政務、企業一卡通等高速發展的今天,我們已經不用懷疑置身于一個卡時代,時時關注智能卡發展領域的安全狀況,是每個人應有的素質和意識。

在后續的優化過程中,還可以從以下方面入手來完善基于智能卡的密鑰管理系統:發行管理卡時可以加入UKey認證機制,即在起動系統時,對管理員身份予以驗證,排除系統的非法使用;指紋機設備也可以加入系統,作為另一種安全手段來加強操作階段的安全性。

參考文獻:

[1]王愛英.智能卡技術――IC卡[M].3版.北京:清華大學出版社,2009.

[2]張之津,李勝廣.智能卡安全與設計[M].北京:清華大學出版社,2010.

[3]中國智能卡網.智能卡在數字時代中的廣泛應用[EB/OL].(2010-01-20)[2011-12-13].省略.cn/date1/ page9524.ht?

ml.

[4] Schneier B.應用密碼學[M].北京:機械工業出版社,2000.

篇6

摘要:對學校浴室使用情況進行分析,介紹智能卡水控系統在學校公共浴室中的應用的優點。

一、前言:

水資源是人類生產生活的最關鍵資源,可是如今,生態環境遭到嚴重破壞,水體污染嚴重,水資源的保護和水污染的治理成為現代社會最關注的問題。 中國是一個干旱缺水嚴重的國家。淡水資源總量為28000億立方米,占全球水資源的6%,僅次于巴西、俄羅斯和加拿大,居世界第四位,但人均只有2200立方米,僅為世界平均水平的1/4、美國的1/5,是全球13個人均水資源最貧乏的國家之一。

在日常生活中,我們一擰水龍頭,水就源源不斷地流出來,可能絲毫感覺不到水的危機。但事實上,我們賴以生水,正日益短缺。而許多人并沒有意識到。目前,全世界還有超過10億的人口用不上清潔的水,人類每年有310萬人因飲用不潔水患病而死亡。越來越多的人認識到,應對“水荒”更需要進一步完善水資源管理,依靠市場機制以鼓勵全民節水。

二、學校浴室使用情況:

校園用水量很大,尤其淋浴用水浪費的現象很嚴重。如何在校園中完善和建立節水管理系統得到了大中院校的高度重視。

學生淋浴時,每人次用水半個小時左右,女生用水時間更長,希望一人一個噴頭,有人離開淋浴器而不關水龍頭,浪費水的情況比較嚴重,有些學校浴室也安裝了各式各樣的節水型淋浴器控制開關如:腳踏式的節水開關,紅外線感應式節水開關等等,這些裝置在一定程度上都起到節水的功效,但是由于這些裝置不具備計費功能,無論用水多少均統一計費,浪費現象依然不能徹底解決,現在,非接觸式IC 卡智能卡淋浴水控系統可結合校園一卡通彌補了這一不足,實現計費用水,用多少水收多少錢,使學生在洗澡過程中自覺節約用水。

三、 水控系統介紹:

1.水控系統的節水優點:

(1) 使用者按需用水,科學計費,有效節約了寶貴的水資源,提高學生的節水意識。從已使用的高校情況看,人均用水為55L/次,比未改造前人均用水140L/次,節約了40%。據統計大部分學生可以在13分鐘內完成沖淋,用水48L,最少的僅用6分鐘,用水22L。(由于各高校情況各異,以上數據僅供參考)

(2) 多用水需多付費,相對來說,使用者入浴時間減少,提高了淋浴使用周轉率,相當于浴室擴大了使用面積。

(3) 計費準確,有效的保證使用者的利益,避免原來“大鍋飯”的形式用多用少一個樣(如一次2 元,一次1.5 元)。

(4) 非接觸式射頻卡刷卡控水,方便可靠。

(5) 方便后勤部門管理,先買水后用水,簡化管理,浴室只需安排售卡人員。

(6) 可接入任何一卡通網絡系統,節約學校資源,方便學生使用。

四、結 語:

學生文明程度和節約用水意識的提高,新技術,新產品的應用以及合理的管理機制的建立,是解決浴室用水量過大的三個主要措施,校園一卡通水控系統可以很好地解決浴室用水量過大的問題,達到節約用水的目的。

五、參考文獻:

篇7

[關鍵詞]2G 3G SIM卡 USIM卡 手機終端 兼容性

1 引言

3G牌照的發放,標志著我國正式進入3G時代。從宏觀角度看,中國電信市場二元結構非常明顯:一方面,3G網絡建設初期,3G網絡可能只限于城區的連續覆蓋;另一方面,2G網絡資源及完善的覆蓋標志著中國2G和3G網絡將在很長時期內共同發展,互為補充,以滿足不同的市場需求、用戶質量要求,以及不同的業務能力要求。

智能卡的主要功能是用戶的認證鑒權。存儲用于認證鑒權的相關信息。并進行與認證鑒權相關的計算。在2G的GSM網絡中使用的叫做SIM(Subscriber Identity Module,用戶識別模塊)卡。在3G的UMTS中使用的叫做USIM(Universal Subscriber Identity Module,通用用戶識別模塊)卡。SIM卡和USIM卡是網絡認證鑒權的重要實體,用戶側的認證鑒權計算都在SIM卡和USIM卡中進行。而終端不參與鑒權的計算,智能卡生成的密鑰交給終端,終端在通信過程中使用密鑰對信號進行加密。此外,終端與智能卡之間有通信接口,智能卡與網絡之間的交互要通過終端來完成。

從用戶側來看,3G用戶將使用3G終端來體驗3G的便利,而2G用戶將繼續使用2G終端;同樣,用戶可以選擇2G的SIM卡,也可以使用3G的USIM卡。在2G與3G共存階段,終端與智能卡多種多樣,它們之間的搭配也多種多樣。因而兩者的兼容問題尤顯重要。

2 2G與3G的認證鑒權

智能卡的重要作用是實現網絡的認證鑒權,為了分析2G與3G的智能卡終端的兼容問題。我們首先從SIM卡對認證鑒權的支持出發,來比較2G與3G網絡認證鑒權的方法。

認證鑒權的前提是智能卡與網絡之間共享相同的密鑰。其中GSM中此密鑰為Ki,UMTS中此密鑰為K。

GSM網絡認證鑒權的方法如圖1所示:用戶開機準備接入網絡,網絡產生一個隨機數RAND。并使用A3算法,A3(RAND,Ki)=SRES,計算出SRES,用于認證鑒權,同時采用A8算法,A8(RAND,Kj)=Kc,用于數據加密。這里的A3和A8算法可以理解成一個單向函數,即知道輸入可以得到輸出,但知道輸出無法反推出輸入。

網絡將RAND發送給終端,終端將RAND轉交給SIM卡,SIM卡中也同樣采取A3算法,算出SRES,再傳回網絡,如果與網絡得到的SRES相同,網絡則接受終端的認證,否則網絡拒絕用戶接入;同時在SIM卡中用A8算法得到Kc用于數據加密。通過上述描述可見,2G的認證僅僅是單向認證,即僅僅網絡認證S1M卡。SIM卡不能認證網絡。如圖1所示。

UMTS使用AKA(認證與密鑰協商)機制進行網絡與用戶之間的雙向認證。如圖2所示,網絡產生五元組,并將RAND和AUTH發送給用戶,USIM卡認證網絡,并產生RES發送給網絡。從而完成雙向認證。AKA詳細過程參見3GPP TS 33.102。

由上可知。2G使用認證三元組(RAND、SRES和Kc),而3G使用認證五元組(RAND、AUTH、RES、CK和IK)。2G的SIM卡和USIM卡的SIM應用只能識別和使用認證三元組;3G的USIM應用只能識別和使用認證五元組。如果要讓2G的SIM接入3G網絡,或者讓3G的USIM接入2G網絡,就需要進行三元組和五元組之間的轉換:一般由KcCK、IK,SRESRES。轉換是通過特殊的算法完成,細節參見3GPP TS 33.102。

3 2G的SIM卡與3G的USIM卡

終端中插入的用戶卡統稱為智能卡,GSM中使用的智能卡稱為SIM卡,其中只能裝載SIM應用,以支持GSM網絡的鑒權接入,因此SIM既是平臺又是應用。3G的WCDMA和TD-SCDMA中使用的智能卡稱為USIM卡。USIM卡一般基于UICC架構(UICC是一個物理和邏輯平臺,上面可以裝載很多應用),至少要裝載USIM應用,以支持3G網絡的鑒權接入,SIM也可以作為UICC支持的一個應用,裝載到USIM卡中(SIM應用的處理流程見圖1的左邊,USIM應用的處理流程見圖2)。

這里需要特別指出的是,WCDMA和TD-SCDMA中使用的USIM卡都遵循同樣的國際標準,3GPP TS 31.101和31.102。只是在某些參數上有所不同,其鑒權機制相同。UICC上除了裝載SIM和USIM應用之外,還可以裝載其他應用,比如與IMS認證鑒權相關的應用ISIM,或者和移動銀行和移動電子商務相關的業務。

此外,智能卡還有存儲用戶電話簿,存儲用戶短消息的功能,一般來說SIM卡的容量較小,可存儲的數據量較小,而USIM卡容量較大,可存儲的數據量也更大。

4 終端對智能卡的支持情況

顯而易見,GSM和WCDMA/TD-SCDMA的空中接口技術完全不同,2G的GSM終端不可以接入3G網絡。但是。目前所有主流廠商的WCDMA終端都是支持GSM的雙模終端,同樣,所有的TD-SCDMA上市的終端也都是支持GSM的雙模終端,這是2G和3G共存時期的一個特征,在3G網絡覆蓋范圍有限的或沒有3G網絡覆蓋的地方。有,必要讓3G終端使用2G網絡。

4.1 2G終端

2G的終端與智能卡的兼容性符合規范3GPP TS51.011,版本不同,對認證鑒權以及智能卡的支持也不同。R98以及之前版本的終端,可以與SIM一起工作,也可以與UICC上的SIM應用工作;R99和R4版本的終端,除了可以與SIM、UICC上的SIM應用一起工作之外,還可選支持3G認證鑒權:R5以及之后版本的終端,可以執行2G認證鑒權和3G認證鑒權,可選支持SIM,即可選支持SIM卡接入,可以支持UICC上的SIM和USIM應用。

由上可知,大部分的GSM終端除了支持SIM卡之外。也支持3G的USIM卡,使用其中的SIM應用,通過2G的認證鑒權方式接入GSM網絡,有些版本較新的GSM終端甚至能支持USIM應用,通過3G的認證鑒權方式接入2G網絡。根據這些分析對比我們可以看出,未來2G和3G共存的情況下,運營商應考慮發行支持UICC的USIM卡,且其中至少應裝載SIM和USIM應用。

4.23G終端

3G終端可以在以下三種模式下工作:

普通3G模式,USIM接收RAND和AUTH計算出RES,CK和IK,使用標準的3G算法。

3G+Kc模式,USIM接收RAND和AUTH計算出 RES,CK,IK和Kc。其中Kc由CK和IK計算出,這需要USIM支持轉換功能c3來支持。

虛擬2G模式,USIM接收2G認證請求。接收到的參數為RAND,返回2G認證響應SRES(從RES推出)和加密密鑰Kc(由CK和IK計算出)。要實現這種模式。USIM除了要支持c2和c3轉換方法之外還要支持額外的算法。

從3G終端的工作模式來看,3G終端的設計是考慮了2G的認證鑒權方法的。根據規范3G TS 22.100[6],3G的終端中,R99和R4版本支持2G的SIM卡。可以接入3G和2G網絡;R5版本對2G SIM的支持是可選的,對于USIM的SIM應用和USIM應用都是支持的。

2G與3G終端對智能卡的支持情況見表1。

5 各種終端與卡搭配情況的分析

第一種情況,在2G終端中插入SIM卡,這種情況就是2G時代的情況,使用2G鑒權接入2G網絡,本文不作分析。

第二種情況,在2G終端中插入USIM卡,2G終端一般使用USIM卡中的SIM應用來進行2G認證鑒權。接2入2G網絡。此外,2G終端還可以使用USIM應用,即使用3G的認證鑒權來進行,這時候需要進行三元組與五元組的轉換。

第三種情況,3G終端中插入SIM卡,一般來說優選3G網絡,3G終端也可使用2G認證鑒權方法接入3G網絡,這時候必須三元組轉五元組;此外3G終端可以使用SIM認證鑒權接入2G網絡,此時3G終端當作2G終端來用。因此運營商提出使用3G“三不”原則(不換卡。不換號,不注冊)是可以實現的。依靠3G終端對SIM卡的支持,實現不換卡不換號,使用2G鑒權接入3G網絡。而“不注冊”,是通過后臺中負責認證鑒權的AuC的改造來辦到的,網絡側和終端側一樣,使用轉換方法來進行三元組和五元組之間的轉換,來實現使用2G認證鑒權接入3G網絡。

第四種情況,3G終端中插入USIM卡,此時擁有最大的自由度。終端可以通過SIM應用接入2G網絡,還可以通過USIM應用接入3G網絡,但在優選3G網絡的情況下,會首先選擇通過USIM應用接入3G網絡。

6 換號的問題

我們通常所撥打的手機號碼,術語稱為MSISDN(MS International ISDN Number),在SIM和USIM卡中都有專門的文件用來存儲MSISDN,SIM卡在電信目錄下的EFMSISDN文件用來存儲這個號碼;USIM卡在USIM ADF目錄下EFMSISDN文件用來存儲這個號碼。此外,在認證鑒權中心,有MSISDN、IMSI等認證鑒權信息的對應關系。

因此,要做到換卡不換號,相對比較簡單。一般來說,當用戶的SIM卡不能滿足業務發展的需求,需要更換USIM卡的時候,用戶來到營業廳,SIM卡回收作廢之后,將其中的MSISDN號寫入新的USIM卡,并在后臺的認證鑒權中心將相應的數據(如IMSI、各個密鑰之間的對應關系)進行修改之后,新的USIM卡就可以啟用了,而用戶還可以保留原先的號碼。

7 對運營商策略的建議

在3G中使用2G的SIM卡,能夠正常接入2G網絡和3G網絡,在網絡建設初期,智能卡的功能僅僅是網絡接入等基本功能的階段,尚看不到使用2G卡的弊端。但隨著業務的進一步部署,運營商可能會在USIM卡上裝載其他基于UICC的應用(如基于UICC的手機銀行業務、近場通信業務)的時候,SIM卡無法支持這些業務,其劣勢就凸顯出來了。此外USIM卡的其他功能也比SIM卡先進,如存儲量更大,電話號碼簿支持的項目更多(如EMAIL地址、分組),可以通過空中下載(OTA)來更新其中的程序。因此隨著網絡的進一步部署,業務的進一步發展,運營商有必要引導用戶,將SIM卡漸漸替換成USIM卡,以適應業務發展的需要。

根據以上分析,針對機卡兼容的問題,對運營商提出一些建議。首先,網絡建設初期應該多選擇能支持SIM卡的2G和3G手機,R5以后的2G和3G終端對SIM卡的支持為可選,運營商定制手機中應選中該選項為支持;其次,在網絡運營之后,利用用戶到營業廳的機會將用戶手中的SIM卡替換為USIM卡,以更好支持業務的發展。

篇8

關鍵詞:文件系統;空間回收;頁面映射;平均磨損;掉電保護;日志備份;數據一致性

中圖分類號: TP316

文獻標志碼:A

Research and design of 3G file system for smart card

YIN Wei,LI Daiping,GUO Hongzhi, MEI Xiaohu

College of Computer,Guangdong University of Technology, Guangzhou Guangdong 510006,China

)

Abstract: Research and design of three generation file system for smart card on flash memory were made, introducing log technology and power failure protection to assure smart cards file system reliability, data consistency and integrality. Memory space was assigned according to byte. Mechanisms of valid space collection and reuse improve the using rate of memory space. Technology of wear leveling and page mapped prolong the flash storage lifespan, and the design of efficiency memory management improves the rate of data retrieval. Consequently, the whole performance of smart card is strengthened. The simulation makes sure the file system fit 3G EVDO card.

Key words: file system; space collection; page mapping; wear levelling; power fail protection; log backup; data consistency

0 引言

隨著3G時代的到來,移動電子商務的發展,手機不再僅僅局限于語音和短信功能,基于卡上的應用顯得越來越突出。對于智能卡COS而言,文件系統是核心模塊。目前已經有很多成熟的文件系統,如FAT、UNIX、FTL、NFTL等,這些文件系統是基于大容量磁盤存儲而設計[1]的,對于智能卡開發有一些性能限制:1)智能卡系統的應用條件遠比大型機惡劣,電源電壓的不穩定以及突發性斷電將對存儲器造成嚴重的影響;2)通用文件系統大量使用緩存技術,在運行中要耗費較多的系統資源;3)智能卡文件系統數據多數是應用數據,這些數據安全性要求較高。

目前,Flash存儲器已經成為一種非常重要的非易失存儲介質,主要有NOR Flash和NAND Flash,在嵌入式移動平臺得到廣泛的應用,當前基于Flash設計的文件系統有JFFS2、YAFFS、CFFS等[1],但這些都是為NAND Flash而設計的,這些文件系統的研究主要放在NAND Flash的存儲特性上,研究領域也主要集中文件系統快速初始化、頁面分配、垃圾回收、日志管理、系統崩潰恢復技術等方面,而很少考慮文件系統本身的特性;并且在運行過程中要保存大量的節點信息,要消耗大量的內存,最重要的是這些文件系統是為NAND Flash而設計的,且都是基于數據塊的數據存儲,而沒有考慮小容量芯片,如NOR Flash。在當前智能卡開發中,綜合多方面的因素,Flash容量是有限制的,現在大部分使用的是 NOR Flash,其頁面大小是512Byte,本文就是基于NOR Flash進行文件系統的設計與研究。隨著3G EVDO卡業務多樣化及3G技術的發展,構造一個好的文件系統對智能卡至關重要。通過靈活的文件系統設計,達到更高效的數據檢索速度、更優化的空間利用及可靠的數據保證,來有效發揮智能卡的潛能,為構建完善的3G EVDO應用系統提供強有力的支持。

1 智能卡文件系統的概述

3G EVDO COS[2]系統是智能卡的靈魂,要求具有良好的可維護性、可擴展性和高安全性,其智能卡系統結構模型如┩1。其中文件管理模塊是智能卡操作系統的核心模塊,它負責組織、管理、維護智能卡內存儲的所有數據,它是一個承上啟下的模塊,對底層來說實現存儲空間的管理維護,對上層完全透明地實現了數據的管理功能。文件系統的設計和實現既是COS中最靈活、最有個性的部分也是對系統整體結構影響最大的部分,它的設計與實現直接關系到智能卡的整體性能。智能卡文件系統的結構[3-4]由主文件MF、專用文件DF、數據文件EF組成,其中MF是智能卡的整個入口,DF是一類數據或者一個應用在卡內的映射,EF文件是智能卡中應用數據的最終載體。

智能卡文件系統設計要達到以下目標:保證COS的可靠性、穩定性、安全性;保證數據的完整性、一致性;保證智能卡的時間、空間效率;保證智能卡的使用壽命;保證智能卡碎片空間的回收與重用。

圖片

圖1 3G COS系統結構模型圖

2 存儲空間的分配與相關數據結構的設計

為了有效合理地使用智能卡有限的存儲空間,采用了靜態的存儲管理方式,在存儲空間的分配上按字節來分配,而不是按塊分配。智能卡文件系統采用的是一種連續分配的存儲結構[5],文件中的數據都存放在連續的物理空間中,以減少查找文件、讀取、更新文件數據的所花的時間,在智能卡的生命周期內,寫入或讀出數據文件的數據量只能小于或等于所有規定的文件大小。主文件MF在智能卡初始化首先創建,其存儲空間為整個數據域的空間。DF的存儲空間也是連續分配的,文件的創建、刪除操作都是在DF的存儲空間內進行的,DF不能使用自身存儲空間以外的存儲空間。為了方便與快速地查找,在這引用了目錄項,目錄項就是把文件句柄部分屬性進行分離,目錄項數據結構如下描述所示:

程序前

Typedef struct{

unsigned char status;//1Byte,文件狀態

unsigned short fileId;//2Byte,文件標識名

unsigned short startAddr;//2Byte,文件起始地址

}dirNode;

程序后

status值的定義如下所示:F8H表示目錄文件;F0H表示基本數據文件;F2表示為無效文件;FFH表示空閑目錄項。文件句柄是用于描述文件和控制文件的數據結構,各文件數據結構如圖2,其中fileId表示文件標識名;availSize表示目錄下可用空間大小;fileSize表示文件大小;fileDes表示文件類型;noOfDF表示當前目錄下直接DF數目;noOfEF表示當前目錄下直接EF數目;accessCondiction表示安全訪問規則;recordLength表示記錄長度;firstRecordNum表示指向環形文件第一條記錄的記錄號;lifeCycstatus表示文件的生命周期;另外文件特征、PUK、CHV、ADM及后三者的數目存儲在Flash 特定的位置,以方便對文件的鑒權等操作。

圖片

圖2 各文件句柄數據結構

┑1期 ┮偉等:3G智能卡文件系統的研究與設計

┆撲慊應用 ┑30卷

創建文件分配存儲空間時,是從當前目錄下可用的存儲空間的起始地址開始分配的,而不理會當前目錄下無效文件碎片空間,直到當前目錄下無可用空間或可用空間不夠時,系統才去回收無效文件的碎片空間。在當前目錄文件的句柄中有一個控制參數:當前目錄下可用存儲空間,它是指在當前目錄下創建文件時可用的連續存儲空間,來決定是否滿足創建文件時所申請的空間大小,根據此參數與當前目錄文件存儲空間大小及首地址,可計算出當前創建文件時的起始地址,每創建一個文件后,該參數減去所創建文件分配空間,即為當前目錄下可用空間的大小。文件系統的數據結構采用靜態樹型目錄結構,靜態存儲管理時文件存儲的數據結構如圖3┧示。

圖片

圖3 靜態存儲數據結構

3 文件系統相關機制設計

3.1 碎片空間回收機制

由于所有的應用都可以進行刪除與創建,所以這就要求文件系統能夠動態地對多應用文件進刪除、創建等操作。考慮到文件的動態刪除可能會造成卡內一些空間碎片,所以在文件系統上增加了碎片空間的回收機制,該機制主要針對卡內由于刪除文件操作產生的碎片空間。空間回收機制是在創建文件且發生空間不足時被調用的,是為了有效與合理地使用存儲空間。

回收機制的實質是對空間碎片的整理與再利用的過程,要注重無效文件節點的合并,系統在不斷地進行分配和回收過程中,大的空閑區逐漸分割成小的占用區,為了更有效地利用存儲空間,需將相鄰關系的碎片空間進行合并。在回收過程中,主要的任務是查找刪除文件留下的碎片空間,具體算法如下所示:

1)查找碎片:從當前目錄開始,順序遍歷其目錄項,將一個有效文件作為起始,下一個相鄰的有效文件作為終止,如果前一個文件的大小小于兩文件的間隔,證明兩文件間存在碎片。

2)計算碎片大小,將兩文件的間隔大小減去前一個文件的空間的大小,則得到碎片空間大小。

3)如果碎片空間太小,則轉向1繼續查找。

4)遍歷碎片中無效文件,備份碎片起始地址。

5)回到碎片的起始地址。

3.2 壞損頁面的管理

對于NOR Flash,一般情況下擦寫次數是十萬次,在使用過程中,數據區某些頁面可能由于物理原因或者經常操作,可能出現某些頁面壞損的情況,這有可能導致整個Flash芯片不能正常工作。為了延長Flash的使用壽命,對于壞損頁面必須進行有效地管理,在這采用頁面映射技術[1],也就是將壞損頁面邏輯頁面號映射到的好的頁面上去。通過寫校驗來檢查當前頁面是否壞損,如果壞損,就將壞損頁面號和映射頁面號添加到壞損頁面映射管理表中,映射頁面號取值應為數據區可用頁面最大頁面號。在讀寫操作中,如果讀寫物理地址所在頁面是壞損頁面,那么就需對壞損頁面進行映射處理,其處理流程如下所述:

1)根據讀寫操作的邏輯地址,來確定數據區物理地址,從而來確定當前數據區頁面號。

2)根據頁面號來遍歷壞損頁面映射表,如果此頁面號在壞損頁面映射表中存在,那么就進行地址映射,修改讀寫┑刂貳

為了提高讀寫的速度,對讀寫數據長度進行比較處理,判斷所處理的地址涉及的頁面情況:一是所有處理的數據在一個頁面;二是所有處理的數據在兩個頁面。這樣在讀寫操作中最多核查壞損頁面映射表兩次,沒必要在讀寫操作時,頻繁判斷讀寫地址所在頁面情況,可大大提高讀寫的速度。

3.3 平均磨損技術

平均磨損就是使有壽命期限的Flash的各個部分同時到達壽命期限,平均磨損技術的主旨是在空間的使用上能夠均勻的使用Flash每個頁面,保證某些頁面不至于先于其他頁面達到磨損界限,平均磨損技術的引入提高了Flash 的使用壽命期限。平均磨損技術以碎片空間回收技術、存儲空間分配方式和頁面映射為基礎,來使Flash損耗達到平衡。在刪除文件時,它的物理內存空間并沒有立即釋放,即將當前目錄下該文件的目錄項狀態置為無效文件標志位,表明處于邏輯刪除狀態,所有被刪除文件并沒有在物理空間被清空,只改變文件的狀態。在分配空間時,并不是從當前目錄起始地址開始搜索空閑空間,而是從當前目錄下尋找可用空間,這樣可以最大限度地保證均衡使用每個頁面。

由于NOR Flash擦寫次數是有限的,對于特定的應用數據區,若經常擦寫,可能導致Flash局部區域過早老化,為了延長Flash的使用壽命,對特定應用文件的頁面進行頁面映射,在管理上與壞損頁面塊映射一致,不過在這對特定應用文件的頁面加入一個特定的計數器,如果計數器達到特定的峰值時,就需對這些特定應用的頁面進行頁面映射。在整個3GEVDO卡中,讀要比寫操作頻繁,而且少數特定文件存在經常擦寫的現象,如號薄文件、短信息文件等,對于這些特殊文件可以特殊處理,沒必要對整個數據區文件進行處理,這樣全面考慮能提高智能卡整體性能。

3.4 掉電保護機制

在數據的一次寫過程中,由于Flash物理特性,需要先擦除要改寫的地址空間所在的頁面,每次擦除的物理頁面大小為512Byte,所以要將這整個頁面備份,防止在改寫過程中出現突然掉電,導致數據丟失的情況發生。在這采用舊數據備份[4]的方式,數據在當前頁面得到全部更新以后才認為更新成功,否則自動恢復到原始狀態。備份區是個經常擦寫的地方,為了保證備份區的有效性,這配置了多個安全備份區,以達到循環使用,均衡擦寫。改寫Flash有兩種情況,如圖4所示(圖中斜線部分為改寫的數據段),一種情況改寫數據在一個Flash頁面;另一種情況改寫數據涉及了兩個Flash頁面。舊數據備份具體算法如下所示:

1)將要改寫數據段的Flash頁面的所有數據備份到備份區中。

2)數據備份完成后,將備份標志位置為有效,并將有效的標志位和改寫的地址保存到標志區。

3)數據開始更新,依次將數據寫入目標地址。

4)備份標志位復位,表示改寫成功,并將復位的標志寫入到標志區。

安全寫恢復流程算法:查看Flash備份標志位是否有效,如果無效表示不需要進行數據安全寫恢復操作,結束流程;如果有效,表示要進行數據安全寫的恢復操作,步驟如下所示:

1)讀取備份的數據,根據備份的地址,對數據進行恢復操作。

2)所有的數據恢復成功之后,將備份標志位復位,將復位的標志位寫入標志區。

圖片

圖4 掉電保護圖

3.5 日志備份機制

在智能卡一個完整的事務流程中,可能對多個頁面進行數據改寫操作,將此過程視為一個原子操作來完成,所有數據更新操作要么全部完成要么全部不做。當事務處理涉及到至少兩個頁面數據操作時,掉電保護機制并不能真正地保證數據的一致性,運行的事務在非正常狀態下終止,可能會導致操作系統數據不一致性,在這引用了日志備份技術,來保證數據的一致性、完整性[6-7]。在一個多次執行改寫操作事務中,對需要處理數據的數據段在日志備份區以日志記錄的方式對舊數據進行數據備份,記錄此次事務下的所有完成的寫操作,存儲在智能卡的日志區。當系統遭受不正常斷電后重新啟動時,系統將進行自檢,對非正常終止的事務進行回滾,自動恢復到斷電前最后一個穩定狀態,使系統恢復到一致狀態。在這采用以記錄為單位的日志文件,使用舊數據回寫的方式來恢復數據。在一個事務的執行過程中,記錄每個事務的開始標記、結束標記,同一事務的每次更新操作均作為一個日志記錄,具體執行流程如下所示:

1)事務的標志位,置為有效。

2)把要改寫的舊數據以TLV格式備份到日志區中,其中T表示此次事務中第幾次改寫Flash;L表示要改寫數據的長度與舊數據起始地址的長度和;V表示舊數據起始地址和舊數據。

3)數據備份完成后,將備份標志位置為有效,并將有效的標志位和數據改寫地址保存到指定的位置。

4)數據開始更新,依次將數據寫入目標地址。

5)如果事務未完成,還有其他寫操作,那么轉向步驟2)繼續執行,同一事務的備份數據應有序保存,以便數據的恢復。

6)事務標志位復位,表示事務執行成功,并將復位的標志寫入到Flash指定的位置。

數據恢復流程算法:系統進行自檢,查看事務標志位是否有效,如果無效表示不需要進行數據一致性寫恢復操作,結束流程;如果有效表示要進行寫恢復操作,步驟如下所示:

1)讀取最新事務的日志數據,根據備份的有效標志位,對數據進行有序的恢復操作。

2)所有的數據恢復成功之后,將事務標志位復位,將復位的標志位寫入Flash指定的位置。

在事務的一次處理過程中,可能涉及到多次的擦寫,這是非常耗時的,也很不安全,采用了日志備份,把事務的處理過程以日志的方式記錄下來,不需要頻繁擦寫;日志區是一個大的緩沖區,不過它也是容量限制的,當達到一定容量或關鍵值時,就需對日志備份區進行清理,這樣就減少寫操作的時間,提高了智能卡的整體性能。

4 仿真與測試

軟件環境:Keil Uvision2,在華大微電子提供HEDIC51仿真器對CIU51G256芯片進行仿真,仿真測試證實該文件系統設計的有效性與合理性。用VC++6.0開發的智能卡文件結構掃描工具對所研發3G EVDO卡進行掃描,其文件系統的樹型層次結構、文件句柄及基本數據如圖5所示,表明該文件系統結構的完整性。

圖片

圖5 文件結構掃描圖

在COS文件系統的設計過程中,不僅注重空間效率,更應注重時間效率,智能卡在生產和運行過程中,對時間效率要求非常高,命令執行因數據存儲位置、數據量等因素的影響,對不同文件操作響應時間也有所不同,為了更好地衡量命令執行的時間性能,以每次50條同樣APDU指令或命令對在同一個APDU軟件測試工具進行測試,獲取平均時間作為性能指標,與文件相關命令執行平均時間效率如表1,下載COS(即將整個COS原代碼轉化成APDU指令后,下載到卡片中的過程) 所需時間為16.031s;預個人化(構造COS所需的文件及文件所需數據的過程 )所需時間為16.843s,并且各方面的執行效率也達到相關電信測試部門認可。

表格(有表名)

表1 文件相關命令執行性能表ms

命令3G EVDO COS的數值

CREATE FILE84.7

DELETE FILE65.4

SELECT10

GET RESPONSE15

STATUS12.4

READ BINARY68.4(數據長度為0xFF)

UPDATE BINARY155.6(數據長度為0xFF)

READ RECORD68.7(記錄長度為0xFF)

UPDATE RECORD123.7(記錄長度為0xFF)

SEEK8

INCREASE112.5

INVALIDATE86.2

REHABILITATE(命令對)

5 性能評價

此文件系統的設計采用了按字節分配存儲空間,與采用FAT表[5,8]按塊靜態分配存儲空間的設計方式相比在空間、時間上有一定的優越性。所謂按塊靜態分配,指將智能卡的數據存儲區劃分為大小相等的若干塊,每塊由一個塊號作為地址標識,文件最小空間分配單元是一個邏輯塊。對這兩種設計方式在華大微電子CIU51G256芯片上進行測試。首先,比較存儲空間利用率,依照中國電信EVDO卡測試規范,個人化所需的標準文件為91個,其兩種設計方式下標準文件個人化所需數據空間如表2所示,通過表2可看出按字節存儲與按塊存儲存在明顯的不同,前者能大大節省智能卡有限的存儲空間,后者隨著邏輯塊容量的增大,其空間利用率越來越低,且前者不需要對FAT表進行維護,很明顯在空間利用上前者優于后者。

表格(有表名)

表2 字節和塊存儲所需數據的存儲空間對比

存儲方式存儲容量/KB

按字節存儲49.22

按塊存儲塊大小為128B56.75塊大小為256B67.50

從時間性能進行分析,兩種方式下讀寫數據平均所耗時間如表3所示(單位ms),其數據邏輯塊大小為128Byte。從表3可以發現:字節存儲與塊存儲下讀數據的所耗時間差別不是很大,前者略低于后者,因為后者在讀寫數據時要查看FAT表;寫數據所耗的時間前者大約是后者的二分之一,前者的時間性能明顯高于后者。

表格(有表名)

表3 字節和塊存儲下數據寫時間性能對比ms

存儲ち/B字節存儲讀時間寫時間塊存儲讀時間寫時間

1283110939273

2566712573339

512110316135646

1B0242136452751B182

2B0484321B3695162B229

從實驗結果可以看出此文件系統設計的高效性,但仍有不足之處,如空間回收、壞損頁面的管理,由于采用按字節存儲,增加一定的復雜度,還有待進一步的研究。

6 結語

本文基于對3G智能卡的應用需求、NOR Flash的物理特性及安全等多方面的考慮,設計了一種基于Flash的文件系統。此文件系統設計靈活,不僅注重了空間效率,更注重了時間效率,以盡可能小的代價,提高智能卡的數據存儲、讀寫、檢索的速度,有效地實現智能卡應用中存儲空間的釋放、回收、重用,延長了Flash的使用壽命,提供斷電保護和數據恢復機制,保證文件系統的可靠性、健壯性,數據完整性、一致性。該設計成功地應用到華大微電子CIU51G256芯片上,并投入生產。

參考文獻:[1] LIM S H, PARK K H.An efficient NAND flash file system for flash memory storage[J].IEEE Transactions on Computers,2006,55(7):906-912.

[2] 中國電信CDMA卡需求規范-UIM卡(1x增強型)分冊v1.0 [S],2009.

[3] 3GPP2C.S0023C.Removable user identity module for spread spectrum systems[S],2008.

[4] 李翔.智能卡研發技術與工程實踐[M].北京:人民郵電出版社,2003.

[5] 張魯國,馬自堂.智能卡操作系統中存儲管理設計[J].微計算機信息,2005,21(8):18-19.

[6] BOWEN N S, PRADHAN D K. The effort of merroymanagement policies on system reliability[J]. IEEE Transactions on Reliablity,1993,42(3):375-382.

篇9

關鍵詞:非接觸式智能IC卡;諧振頻率;LCRMeter;頻譜分析儀

1 引言

近年來,大到金融、公共交通和社會保障,小到圖書館、校園和門禁等,智能卡的應用領域日益多元化,相關的智能卡設計、生產企業越來越多。由于智能卡被完全密封,對其整體電氣參數L、C、R的測量造成了困難,而諧振頻率作為能夠反映智能卡天線端口部分電氣參數的重要指標,被各企業及研發單位廣泛用于設計或生產參考,長期以來被大量使用。但到目前為止,對于諧振頻率的測量方法,業界尚無統一標準。同時,業界在提及諧振頻率值的時候,往往忽略其測量方法以及明確的誤差范圍,因此在智能卡測量領域,諧振頻率這一參數的真實性和可靠性長期被忽視。

2 諧振頻率測量方法概述

以符合ISO/IEC14443標準的智能卡為例,協議規定了通信用載波頻率為13.56 MHz,但對智能卡本身的諧振頻率未規定標準值,因此,客觀上造成了目前流通的智能卡諧振頻率的多樣性。目前,按照智能卡的形態,業界常用的智能卡諧振頻率的測量方法主要有兩種:

1)公式計算加儀器測量。(測量出基本參數值,代入公式計算諧振頻率)

2)頻譜分析儀或網絡分析儀配合自制裝置測量。(直接測量密封智能卡的諧振頻率)

2.1 公式計算法

智能卡在物理結構上,主要由三部分組成,1:IC芯片,2:耦合天線,3:封裝材料,如圖1所示,其中封裝材料通常為絕緣材質,不引入電氣參數,故本文不做深入分析。智能卡的諧振頻率fres公式如下:fres=■,可見,fres取決于等效電路中的電感值和電容值。

圖1中,虛線La/Lb右邊,為IC芯片端口部分與諧振頻率相關的電氣參數,Rab為IC芯片端口電阻值的總和,Cic為IC芯片端口電容值的總和,Cmount其含義為IC芯片封裝成模塊時引入的電容值,如芯片不需要進行模塊封裝,則可忽略Cmount。虛線左邊,為耦合天線部分與諧振頻率相關的電氣參數,Lcoil為耦合天線的電感值,Rcoil為耦合天線的電阻值,Ccoil為耦合天線的電容值,Cpack其含義為耦合天線在制卡過程中引入的封裝電容值,其值與制卡過程中多種因素相關,視具體情況而定。依據圖1的等效電路結構,我們將智能卡fres的計算公式擴充如下:

當我們有了詳細的計算公式,是否就可以計算出準確的fres呢?實際情況并非如此。接下來,我們介紹各L、C參數的測量方法,以及誤差來源。

目前IC芯片較為常見的模塊封裝形式有XOA2和COB兩種,而且由于Cmount會受到各模塊加工廠的技術水平、用料以及靜電防護等綜合因素的影響,所以各模塊加工廠出產的模塊其Cmount存在差異,且無法給出準確值 ,至此,用智能卡的fres計算公式引入了第一個參數誤差;同時在智能卡的制卡環節,由于Cpack會受到各制卡廠的技術水平、用料以及加靜電防護等綜合因素的影響,所以各值卡廠出產的卡片其Cpack也存在差異,且無法給出準確值,由此引入了第二個參數誤差。在實際計算中,上述兩個參數通常采用經驗值,由此計算得到的fres就會存在誤差。因此要求我們在使用fres的時候,需明確其誤差范圍。特別要強調的是,對于不同的條件下加工得到的智能卡,上述兩個參數的經驗值是不可以通用的。

用Agilent 4285A(LCR Meter)配合測量夾具Agilent 16047E,對等效電路中的Cic、Lcoil和Ccoil進行測量。由于耦合天線和IC芯片的寄生參數都會給測量結果帶來誤差,所以選擇合適的等效電路模型,可以有效降低寄生參數的影響。(測量步驟略)通過測量得到Lcoil和Lm,代入公式計算出耦合天線的Ccoil。

我們對如圖2所示帶有模塊底座的耦合天線樣本進行了測試,為了說明模塊底座對測量結果的影響,我們分別測量耦合天線帶有模塊底座與去除模塊底座后的Lcoil和Ccoil,如表1所示(表中數據均為測量了10次以后的平均值,有效位數保留到小數點后2位,下同)。比較表1的數據可以發現,該模塊底座的存在對該耦合天線樣本的Lcoil無影響, 但會使Ccoil增加0.16 pf。

接下來,我們討論如何測量IC芯片的端口電容Cic,樣本如圖3所示,選用的芯片為NXP S50,左邊為模塊底座(同圖2中的底座模塊),右邊為完成完成模塊封裝(XOA2)后的樣本外觀,所以下文中得到的電容值構成為“Cic+ Cmount(Cmount中包含了C模塊底座)”。

由表2可見,測量頻率對于Cic+ Cmount之和的影響很小,但不同的測量電壓,對于Cic+ Cmount之和的影響很大,主要是因為Cic是各部分電容的總和,當測量電壓從小到大增加時,Cic隨著IC芯片內部電路的逐漸開啟而減小,當測量電壓增加到IC芯片電路能夠正常工作時,Cic將維持穩定。因此,以測量頻率13.56 MHz為例,測量電壓從0.5Vrms增加至2Vrms的過程中,IC芯片會處于3 種狀態,第一,IC芯片完全不工作(0.5Vrms),第二,IC芯片端口電路部分開啟(1~1.5Vrms),第三,IC芯片端口電路全部開啟(2Vrms)。

不同的測量電壓條件,反映到諧振頻率中又是如何?我們還需要對特定環境下加工的Cmount和Cpack給出經驗值,由于本文在IC芯片電容的測量結果中已經包含了Cmount,所以此處僅需給出Cpack,其經驗值為1.5 pf,然后分別將13.56 MHz頻率下,將各電容值和電感值帶入公式進行計算,可得到表3。

可見從0.5Vrms至2.0Vrms,fres出現了約0.83 MHz的波動,考慮到計算參數還中包含了經驗值Cpack,一方面經驗值的估算是否準確尚存疑問;另一方面測量值Ccoil、Lcoil和Cic+Cmount,目前業界尚無統一的測量方法,不同測量條件下,得到的結果相去甚遠;更有甚者,在fres的計算中直接忽略了Cmount和Cpack兩個參數。因此,同樣是采用計算公式,面對相同的樣本,大家得到的fres很難達到統一,那么我們在使用fres進行設計、驗證、生產時不得不小心謹慎,避免由于計算結果的不準確產生對產品特性的誤判。

2.2 使用儀器及相應測量裝置,直接測量諧振頻率

當我們的測量樣本為密封狀態的智能卡時,目前業界主要采用如下三種測量方法進行智能卡諧振頻率的測量:

1:帶跟蹤信號發生器(RF輸出)功能的頻譜分析儀,配合自制夾具。

2:不帶跟蹤信號發生器的頻譜儀(成本較低),配合信號發生器(相當于頻譜分析儀的跟蹤信號發生器)及自制夾具。

3:矢量網絡分析儀,配合自制夾具。

上述三種測量儀器,原理基本相同,即在某個頻率區間內以額定的功率發射信號,無諧振時,在測量儀器的屏幕上顯示的功率曲線為一條直線,當某個頻率恰好與待測智能卡的fres相吻合時,測量系統就會產生諧振,使得輸入端檢測到的功率值達到最大,此時觀察測量儀器的屏幕會出現一個波峰(或者波谷),該波峰對應的頻率值即被稱為智能卡的fres。下文中以頻譜分析儀HP8591E為例介紹第一種測量方法。

具體測量方法如下:

1)在HP8591E的輸出端和輸入端各接一個線圈(天線),將兩只線圈以水平方式上下疊加,制做成固定的測量夾具(如圖4所示,圖中智能卡樣本為上海公交卡)。

2)然后設定起始頻率和截止頻率。

3)設定發射功率,RF端有功率輸出。

4)然后將待測智能卡放置在夾具上方。(智能卡與天線的間距小于1 cm)

5)按PK SEARCH鍵,頻譜儀界面就會將MARKER點標記到頻譜中功率的最高點,如圖5所示。此波峰點對應的頻率即為智能卡的fres。

在了解了測量方法后,我們選取了部分目前上海市場中較常見的智能卡作為測量樣本,如圖6所示(包括上海市民卡1張、上海公交卡2張、上海地鐵單程票2張、世博海寶交通卡1張、杉德萬通卡1張和華虹餐廳就餐卡1張)。

在測量前,我們需要設定發射天線的功率值,為保證測量到的fres能夠真實反映各種智能卡的電氣特性,我們設置的起始頻率和截止頻率范圍是10 MHz 至20 MHz,設置的發射天線功率值通常在10 dbm以下,或者是控制輸出電流小于等于20 mA。在上述測量條件確定以后,我們得到了每張智能卡的fres。

表4中諧振頻率的測量結果,驗證了前文中提到的,目前流通的智能卡諧振頻率的多樣性。但本文強調的重點在于,我們采用上述方法,測量fres得到了表4中的結果,那么同樣的樣本,不同的測量儀器,諧振頻率的測量結果會相同嗎?對此,我們以上海公交卡為樣本,在如圖7所示的測量儀器及配套的測量夾具上進行了測量,測量原理同前,讀取儀器屏幕中波峰值對應的頻率點即為智能卡的fres(如表5所示)。但因為目前業界對測量夾具中天線的線徑、匝數、面積、間距、材料和相對位置等參數尚無統一的規格標準,因此使用圖7中的測量夾具時,智能卡需要放置于兩個天線之間。(我們稱該裝置為“方法4”,以區別于2.2節開始時提到的那三種方法。)

通過對表5的測量數據的分析,不難發現,對于上海公交卡1,使用方法1和方法4測量到的fres差值達到了2.02 MHz,波動比例分別達到12%和11%,,而對于上海公交卡2,fres差值達到了 1.7 MHz,波動比例分別達到10%和9%。至此,回答了前文中提出的疑問,同樣的智能卡在不同的測量方法下,fres測量結果相差極大,面對這樣的測量結果,顯然缺乏進行比較的基礎。此時,即使我們加入了測量方法的描述,但是由于測量儀器的不同,測量夾具不規范,很顯然,單純的討論fres是沒有意義的。

那么同樣的樣本,采用同樣的測量儀器,但是不同的測量方法,fres的測量結果會相同嗎?我們仍以上海公交卡為樣本,采用方法一及其配套測量夾具,僅改變測量方法中的第4點,即待測智能卡與測量夾具的間距,然后測量fres。如表6所示,以樣本與測量夾具的間距作為變量,隨著樣本遠離測量夾具,得到的fres呈現單調下降趨勢。盡管在表6中fres從 0 mm至20 mm僅降低了0.35 MHz,該差值的絕對值并不算大,但是亟待確認的是,在什么樣的測量間距下,得到的fres才最接近真實值?另外,測量環境的射頻噪聲對fres的影響也不容忽視,如果測量環境附近有高頻信號發射裝置,或者有大的金屬物體,都會對測量結果造成影響,作為實驗室測量環境應該避免射頻噪聲的影響,本文對此不再展開。

篇10

1 AT8xC5122的特性結構

Atmel公司最近又生產了一系列帶USB和智能讀卡器接口的微處理器(如AT83C5122、AT85C5122、AT89C5122等)。這些器件是由8位微處理器80C51優化派生出來的高性能CMOS微處理器,帶有USB和智能讀卡器接口,其中AT8xC5122保留了Atmel 80C51的特性,帶有32kB的ROM、768字節的內部RAM、一個四級中斷系統、兩個16位定時器/計數器(T0/T1)以及一個帶有波特率發生器和片內晶振器的全雙工增強型UART(EUART)。

另外,AT8xC5122還含有一個帶7個端點的USB2.0全速功能控制器、 一個多協議的智能卡接口、一對數據指針、7個可編程的LED電流源(2-4-10mA)和一個硬件看門狗電路。

帶32kB存儲器的AT89C5122閃速RAM版本和AT85C5122代碼RAM版本可以被駐留在片內的ROM在系統編程(ISP),并可通過USB或UART加載。

AT8xC5122有兩種軟件可選的降低功耗方式。圖1為AT8xC5122的內部功能框圖。

圖1 AT8xC5122的功能框圖

2 管腳配置說明

AT8xC5122有兩種封裝形式,分別為VQFP64封裝和PLCC28封裝,圖2所示是采用VQFP 64封裝的引腳排列。各引腳的功能說明如下:

P0~P5:I/O端口。

RST:復位輸入。當晶振復位器件時,此腳應保持64個晶振周期為低。無論晶振工作與否,只要有低于VIL的電壓出現,各種端口都將處于復位狀態。但在內部復位時,輸出要保持至少12個晶振周期。

D+:USB正向數據上行端口,該腳需要一個1.5kΩ的外部上拉電阻接到VREF,以達到全速。

D-:USB反向數據上行端口。

VREF:USB參考電壓輸入, 范圍為3.0~3.6 V。 VREF一般通過一個1.5kΩ的電阻連到D+上,VREF電壓可由軟件控制。

XTAL1:輸入到片內晶振放大器,使用內部晶振時,需要一個晶體/諧振電路連到這個管腳。使用外部晶振時,應將輸出端連到這個管腳。

XTAL2:片內晶振放大器輸出。

EA:外部存取使能,EA必須接地才能讀取外部存儲器0000h-FFFFh的代碼。如果程序設置為安全1級,EA鎖定為復位狀態。

    ALE:地址鎖定使能/程序脈沖端。在讀取外部存儲器時,輸出脈沖鎖定地址的低字節。在正常情況下,ALE發出持續的1/6晶振頻率以用作外部的定時或時鐘。應注意的是:每存取一次外部存儲器,都有一個ALE脈沖。此外,這個管腳還可作為閃存編程的輸入脈沖(PROG)。當特殊功能寄存器(SFR)的AUXR.0位設置為0時,ALE在整個內部存取過程中不起作用。

PSEN:編程選通使能,用于讀取選通外部程序存儲器。執行外部程序存儲器的代碼時,每個機器周期,PSEN出現兩次。存取內部程序存儲器時,PSEN不起作用。

PLLF:接到RC網絡的PLL低通濾波器。

AVCC:模擬電壓用于片內PLL和USB設備。

VCC :內部電壓調節器和I/O電源。

LI:DC/DC 輸入,LI必須通過一個電感(4.7μH)連到VCC上,以便為DC/DC 轉換器提供泵電流。

CVCC:卡信號電壓,該電壓可用于卡接口的編程,設計時需要連接一個去耦電容。

DVCC:數字電源,為數字核和內部I/O提供電壓,該腳內部連到一個3.3V電壓調節器的輸出,并外接一個去耦電容器。

CVSS:DC/DC 地,用于從外部電感接收電流。

VSS:數字地。

AVSS:模擬地。

圖3 典型應用的連接圖