IC卡和计费系统的设计

    IC卡和计费系统的设计


    “金卡工程”是“三金工程”的重要内容之一,是迈向信息化社会的必由之路,与我国金融电子化和现代化支付系统的建设密切相关。使用IC卡作为支付方式已经进入千家万户。但是往往各不兼容,使用起来很不方便,严重阻碍了“金卡工程”实施。“一卡在手,走遍全国”在欧洲和美国已经变成现实。我国“一卡在手,走遍神州”势在必行。本文介绍各类IC卡和一种计费系统的设计方案。
      “金卡工程”是“三金工程”的重要内容之一,是迈向信息化社会的必由之路,与我国金融电子化和现代化支付系统的建设密切相关。使用IC卡作为支付方式已经进入千家万户。但是往往各不兼容,使用起来很不方便,严重阻碍了“金卡工程”实施。“一卡在手,走遍全国”在欧洲和美国已经变成现实。我国“一卡在手,走遍神州”势在必行。本文介绍各类IC卡和一种计费系统的设计方案。
    IC卡
    IC卡是集成电路卡(Integrated Circuit Card)的简称,它把集成电路芯片镶在塑料卡片上。IC卡大小与磁卡相同。芯片一般是由不易挥发性存储器(ROM,EPROM,E 2PROM)、保护逻辑电路、甚至于CPU(中央处理单元)等组成,故又称为微电路卡。
    以下对各种IC卡作一简单描述;
    接触型IC卡
    所谓接触型IC卡就是在使用时,通过有型的电术触点将卡内的集成电路与外部接口设备进行通信的IC卡。如常见的电话卡、手机中的SIM卡等。这种IC卡最常用,其尺寸大小符合国际标准。 
    非接触型IC卡
    这种IC卡是通过无线电波(如射频卡)和电磁感应的方式将卡内集成电路的数据与外部接口的设备进行通信的。避免了刷卡的麻烦,适用于不便用人体与接口设备接触的场合(如停车场等)。
    串行传输型IC卡
    这种卡的集成电路芯片与外部接口设备之间数据以串行传输方式进行。这种卡的引脚数或称电极数一般只有8到6个。国际标准ISO7816所定义的IC卡属于此种卡。传输方式常见的有异步传输方式和I2C总线方式。以上的IC卡均属于串行传输型。
    并行传输型IC卡
    IC卡的集成电路芯片与外部接口设备的数据传输以并行方式进行。这种IC卡的电极个数较多,一般为28~68个之间。能高速地读/写信息。
    存储型IC卡(Memory Card)
    这种卡的主要功能是作为一种数据载体。实际上就是一种存储器。数据是随机读定,读写比较随便。数据保密性差,极易被篡改。如ATMEL公司生产的AT24CXX系列。
    加密存储型IC卡(Memory Card With Security Logic)
    它是在存储型IC卡上,再增加一部分加密控制逻辑。实行对数据区开放/关闭控制;对数据区的读/写控制;对数据区的擦除控制和对输入的密码进行校验和错误计数及锁完备功能,如电话卡、德国SIEMENS公司的SLE4442;ATMEL公司的AT88SG1604等。
    智能型IC卡(又称CPU卡)
    其内部结构有ROM、RAM、E2PROM和CPU。
    ROM:用于存放智能卡的操作系统。程序是在厂家制造时一次性写入的。
    RAM:用于存放运算过程中的中间数据和结果数据。
    E2PROM:这是IC卡的主要存储器,用于存放持卡人的有关个人信息和发行单位的有关信息,如身份证号、交易时间、交易金额、交易地点、钱包文件、公共信息等。
    与加密存储卡相比,CPU卡是主动型的卡。它不仅能够管理各种输入/输出数据、校验来自接口设备输入的个人密码(PIN),而且能够根据应用系统的要求主动识别与之联接的接口设备。因此,在智能IC卡中能够建立多种应用系统的授权,存放多个应用系统的相关数据,并实现对存取的高可靠性、高安全性控制,可进行复杂的信息处理和计算。它相当于“黑匣子”操作,保密性极强,可在上建立大额存折、小额钱包,完全取代现金进行消费和支付,成为真正的电子货币。
    COS操作系统
    如果使用CPU卡,就必须配有COS(Chip Operating System)即芯片操作系统。它与微型机的DOS极为相似。COS将用户(包括开发人员)与数据信息完全分开。避免对数据信息进行恶意的篡改和攻击。
    通过COS,我们可以在卡上建立文件、对持卡人身份的合法性校验、对卡的合法性、终端的合法性进行认证。可以在非常保密的情况下进行信息的传递、进行现金的存取、进行电子签名、实现交易的不可否认性。总之进行一切商务活动。
    终端硬件电路的设计
    卡头 卡头是电路设计考虑存储卡、加密存储卡和CPU卡的兼容性。主要的指标是保证与卡片的集成电路电极有良好的接触和经欠耐用性。(见图1) AVR单片机 与MCS-51系列单片机相比,AVR单片机工作速度快、功能强。最主要是是在休眠状态耗电省。耗电量是该系统极重要的指标,因为终端系统要采用电池供电。
    SAM模块 在IC卡应用终端中必须采用SAM卡或SAM模块。以使卡与卡终端设备进行信息交换时,可以实施“数字签名”和双向认证等措施。
    系统软件
    上层软件 上层软件是管理机构对持卡人进行交易管理的软件。可以用VFP、VB、VC等各种语言编写。运行环境必须是配有Windows 95的486以上微机一台和IC卡读写器一部。对微机的配置要求不高。上层软件主要完成如下几个功能:
    (1)PIN鉴别:以证明持卡人是合法的持卡人。主要是通过校验持卡人的个人密码来完成。
    (2)操作员密码校验,以证明管理软件的使用者是合法的使用者,防止管理系统被恶意篡改和非法攻击。
    (3)系统修改密码校验。
    (4)交易管理,包括交易人、交易项目、交易金额、交易日期、时间、数字签名、实现交易的不可否认性。
    (5)交易检索和查询。
    (6)网上交易。为了防止非法交易,保证交易安全,软件必须保证核心数据与操作员隔离。
    底层软件 软件应包括主模块、卡识别与卡读/写模块、认证模块、交易模块、欠压保护和报警模块、显示模块。一般流程见图2。
    认证模块
    在IC卡的应用系统中,为了保证交易安全,IC卡和处理终端(如IC卡读写器)之间需完成如下两种鉴别:
    PIN鉴别 又称个人鉴别,持卡人证明自己是IC卡的合法主人。
    节点鉴别 节点鉴别完成两项功能:一是终端需确认IC卡是合法的而不是伪造的;二是IC卡需确认终端及其相联的主机系统是合法的,是真正的发卡方或合法代理方而不是冒充的。
    除了以上两个鉴别以外,还要考虑IC卡和终端之间的信道是安全的。即报文传送的保密性和完整性可以得到保证。
    就鉴别而言,每次交易开始时都必须首先进行,二者通过后,才能开始传送正式的交易报文。PIN鉴别在硬件上需一个小键盘与上位机安装在一起,通常在上位机进行。节点鉴别不但在上位机而且在下位机都要进行。是最重要的安全处理过程。
    节点鉴别实际上是进行IC卡和终端之间相互认证的过程。通常,IC卡向终端及其相联的主机证明自己是合法的,称为内部认证;卡终端及其相联的主机向IC卡证明自己合法具有唯一性,称为外部认证。