物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  支付  >  正文

智能射頻卡的工作原理

作者:劉天華 杜梅 孫陽
來源:RFID世界網
日期:2011-04-28 10:35:48
摘要:本文概要介紹了智能射頻卡的工作原理,并重點闡述了該卡在校園一卡通系統中的應用以及銀行接口子系統的實現方法。
關鍵詞:智能射頻卡
    一 、引言  

    智能射頻卡(簡稱射頻卡或RF卡)是世界上最近幾年發展起來的一項新技術,它成功地將射頻識別技術和IC卡技術結合起來,將具有微處理器及大容量存儲器的集成電路芯片和天線封裝于塑料基片之中,以無線方式傳送數據。外形與普通的信用卡基本相同,信息是靠卡中的集成電路進行存儲和處理。RF卡在讀寫時處于非接觸操作狀態,避免了由于接觸不良所造成的讀寫錯誤等誤操作,同時避免了灰塵、油污等外部惡劣環境對讀寫卡的影響。它具有下述優良性能:

    1 、操作簡單、快捷。RF卡采取無線通迅方式,使用時無方向要求,所以使用起來十分方便。

    2 、防沖突。RF卡中存有快速防沖突機制,能防止卡片之間出現數據干擾,因此終端可以同時處理多張卡片。

    3 、便于一卡多用。RF卡中有多個分區,每個分區又各自有自己的密碼,所以可以將不同的分區用于不同的應用,實現一卡多用。 

    目前射頻卡中的主流主要為Philips公司的Mifare技術。本文將針對近年來出現的高頻非接觸式Mifare 1卡的特點、結構、應用等方面予以具體介紹,并給出具體應用實例。 

    二、 Mifare 1 卡的存儲結構

    Mifare 1卡(簡稱M1卡)為8k位的IC卡。M1卡的存儲結構如下。 

    M1卡分為16個扇區,每個扇區4塊(塊0~3),共64塊,按塊號編址為0~63,除了第0扇區的塊0(即絕對地址0塊)用于存放廠商代碼不可更改外,其他各扇區的塊0、塊1、塊2為數據塊,用于存儲數據;塊3為控制塊,存放密碼A、存取控制、密碼B,其結構如表1: 

表1 各扇區塊3存儲結構

    每個扇區的密碼和存取控制都是獨立的,可以根據實際需要設定各自的密碼及存取控制,在存取控制中每個塊都有相應的三個控制位,分別以正和反兩種形式存在于存取控制字節中,決定了該塊的訪問權限(如進行減值操作必須驗證KEY A,進行加值操作必須驗證KEY B,等等)。三個控制位在存取控制字節中的位置如表2所示(字節9為備用字節,默認值為0x69)。 

表2 控制位在存取控制字節中的位置  (注:_b表示取反)

    每個扇區的密碼和存取控制都是獨立的,可以根據實際需要設定各自的密碼及存取控制,扇區中的每個數據塊的存取條件由密碼和存取控制共同決定,他們的關系如表3所示。 

表3 數據塊存取控制條件

    據此通過授權機制,對特定操作用戶實現不同級別的讀寫控制。只有知道特定密碼組合的操作用戶才能更新卡中數據,從而大大增強了系統的安全性。 

    射頻卡的存儲實現技術和工作原理決定了其良好特性,可適用于多種應用。其中射頻卡具多個分區、適合一卡多用的特性,使得射頻卡在各種一卡通系統中得到廣泛應用。 

    三、在校園一卡通中的應用 

    以智能射頻卡為信息載體來構建適用于校園管理和消費的校園一卡通系統,在各所大中小學得到了普遍應用。用智能卡取代學校目前使用的學生證、借書證、體育設施用卡、餐票、醫療證件、計算機房的機時票、通道出入證件等,消除了師生攜帶各種證件的煩惱。與銀行聯網的校園智能卡可以在校內外銀行網點和指定商戶圈存、圈提、取現、消費,真正做到在校園內一卡通用。根據工程應用的用戶需求,本文在局域網環境中開發了一個基于Client/Server模式的校園一卡通管理系統,通過對不同讀寫扇區的控制,實現客戶對一卡多用的需求。系統中各對象間的主要關系如圖1所示。 

圖1 校園一卡通系統中各對象之間關系

    從業務功能上看,系統主要由以下幾部分組成。 

    1 、卡管理中心。卡管理子系統是“校園一卡通”系統的核心應用模塊之一,它負責整個系統所有涉及卡片管理的業務處理,即管理從卡片發行到卡片回收、注銷的整個卡片生命周期過程。 

    2 、身份認證中心。完成的功能主要包括:身份注冊、賬號關聯、身份鑒別、會話令牌等。 

    3 、卡結算中心(財務中心)。本方案中財務結算子系統負責涉及校園卡資金應用的商戶、部門與“校園一卡通”賬戶之間的結算以及系統與銀行之間資金往來的結算。 

    4 、銀行接口子系統。它提供“校園一卡通”系統到銀行系統的接口。 

    其他管理系統如消費管理子系統、教務管理子系統等,也以子系統方式接入“一卡通”系統。 

    四、銀行接口子系統的實現 

    銀行接口子系統是校園一卡通系統實現通過電子貨幣進行各種結算的紐帶。利用計算機網絡和銀行接口終端設備實現持卡人的銀行帳戶資金向校園卡帳戶劃轉,將校園卡系統原有手工現金存款方式轉變為持卡人自主操作的銀行卡與校園卡之間的資金轉帳,減少現金流動,延長服務時間,方便了持卡人。通過銀行接口終端主要完成圈存、圈提服務、查詢“電子錢包”的余額及明細服務、查詢銀行賬號的余額及明細服務、轉賬服務、繳費服務、“未登項”查詢和轉賬服務、掛失服務、日結等功能。 

    由于銀行有關電子交易的嚴格規定,致使使用本子系統的用戶比較少,因此本文給出了銀行接口程序的部分程序代碼,供大家參考。對應的主要程序代碼如下: 

//獲取信息碼和處理碼 

    char szMsgCode[5]; 

    memset(szMsgCode,0,sizeof(szMsgCode)); 

       memcpy(szMsgCode,m_pRecordGet->MessageCode,4); 

       szMsgCode[4]=’\0’; 

       … … 

       //由信息碼分類處理 

       switch(atol(szMsgCode)) 

       {case 200: 

              //由處理碼分類處理 

              switch(atol(szProceCode)) 

              {case 210001://銀行卡余額查詢 

                     nRet = Bank_QueryBalance(); 

                     break; 

              case 210002://未登項查詢 

                     nRet = Camp_PendingQuery(); 

                     break; 

              … … 

              default: 

                     nRet = -1; 

                     break; 

              } 

              break; 

              case 400: 

                     switch(atol(szProceCode)) 

                     {case 210101://圈存沖正 

                            nRet = Bank_ConveyIn_Reversal(); 

                            break; 

                     case 210102://未登項圈存沖正 

                            nRet = Camp_PatchSave_Reversal(); 

                            break; 

                     default: 

                            nRet = -1; 

                            break; 

                     }  

                     break; 

                     case 500: 

                            switch(atol(szProceCode)) 

                            {case 920000:  //結算 

                                   nRet = POS_Settle(); 

                                   break; 

                            case 940000:  //結算2 

                                   nRet = POS_Settle2(); 

                                   break; 

                            … … 

                            default: 

                                   nRet = -1; 

                                   break; 

                            } 

                            break; 

                            case 800: //簽到 

                                   nRet=POS_Signin(); 

                                   break; 

                            case 900: //POS自動檢測 

                                   switch(atol(szProceCode)) 

                                   {case 90001: 

                                          nRet = POS_AutoDetect(); 

                                          break; 

                                   default: 

                                          nRet = -1; 

                                          break; 

                                   } 

                                   break; 

                                   default: 

                                          nRet = -1; 

                                          break; 

       } 

       SetMsg("終端空閑"); 

       return nRet; 

    五、小結 

    由于智能射頻卡支持一卡多用的存儲結構,因此除了在“一卡通”方面的應用,它還可應用在電子錢包、無票旅行系統、身份證卡、零售系統、工業自動化系統、設備管理自動化系統等應用場合,以滿足不同使用功能的款項交易以及多信息管理。由于具有高可靠的數據傳輸和極強的防偽保密性,更好的應用環境適應性,讀寫設備簡單,操作速度快等優點,智能射頻卡技術發展十分迅速。隨著大規模集成電路和制造工藝的發展及開發工具的日漸成熟, 智能卡在我國各個領域必將會得到越來越廣泛的應用。 

    本文作者創新點:智能射頻卡應用于校園一卡通系統,并且用銀行接口子系統實現銀行信用卡與校園一卡通系統的對接。 

    本項目受遼寧省教育廳科研基金資助,編號:05L420 

    參考文獻: 

    [1] 楊文虎. PC機與PLC在一卡通系統中的應用[J]. 微計算機信息,2003,19(8):63~64. 

    [2] 王愛英. 智能卡技術[M] . 北京:清華大學出版社,2000,212~217. 

    [3] 張建. 校園一卡通項目實施分析[J]. 合肥工業大學學報,2003,17(5):58~61.