物联传媒 旗下网站
登录 注册
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.