具备多应用程序的智能卡与终端机间的数据处理方法

文档序号:6421387阅读:164来源:国知局
专利名称:具备多应用程序的智能卡与终端机间的数据处理方法
技术领域
本发明是有关于一种金融交易系统,特别是有关于一种利用终端机(terminal)与智能卡(smart card)来进行金融交易,并具备有分布式处理架构的金融交易系统。
背景技术
智能卡即是一芯片卡(IC card),是在一张信用卡大小的塑料卡片上内嵌一集成电路芯片,除了具备有记忆储存功能以外,更可以进行数据的处理、计算等功能,由于其安全性与功能性相较于以往的磁条式卡片为佳,因此已逐渐被广泛地应用在例如电话卡、储值卡,个人身份认证卡等各式卡片上。特别是在金融交易系统中,一般商家常是利用终端机(或称卡片阅读机)来读取智能卡上的数据,以便进行金钱的交易以及数据的记录等动作。
在以往的金融交易系统架构中,由于智能卡上仅具备有个人的基本认证数据,因此是以终端机作为主角(master),并在其中建置许多不同功能的应用程序,以便利用每一应用程序来取得智能卡上的数据后进行特定的计算与执行功能,例如红利积点、分期付款等,并在数据处理的过程中,通过远程的主机进行个人身份的认证与查验动作。然而,上述架构的缺点在于当商家欲进行新的促销活动,或是因为需求提高,而需要进行应用程序的更新、升级时,必需分别针对每一台终端机进行应用程序的更新,因此需要耗费大量的时间与人力。
随着智能卡的逐渐演进,现今智能卡上除了具有内存来储存个人基本认证数据外,更具有微处理器、卡片操作系统(card operating system,COS),以及非易失性内存(non-volatile memory)等,因此亦可将多个应用程序安装在智能卡上,并通过应用程序接口(API)来与操作系统进行通信,使得智能卡本身犹如一小型计算机,故当智能卡插设于终端机中时,其自身即能进行数据的计算与处理工作。
因此,以往「终端机」对「智能卡」的主从(master-slave)架构,已转而由「智能卡」对「终端机」的主从架构,换言之,终端机的角色变为智能卡与远程主机间的传输接口,关于将智能卡作为主动角色以及其相关的通信协议,已揭露于美国专利第6,157,966号专利案中,在此不再赘述。由于此种作法是将所有的应用程序皆安装在智能卡上,碍于智能卡的储存容量有限以及与操作系统间的兼容性等问题,因此程序的开发必需花费较长时间,且当应用程序的大小逐渐增加时,更显出其困扰。

发明内容
因此,本发明的目的在于提供一种便于应用程序开发、撰写,并容易进行应用程序的升级、更新的金融交易系统。
于是,本发明的金融交易系统的一较佳实施例主要包含有一智能卡与一终端机。该智能卡具有一处理器,以及多个供该处理器执行的应用程序,该终端机具有一以ISO 7816协议与该等应用程序进行通信的应用程序接口,该应用程序接口能受使用者的控制而选择该等应用程序其中之一。
因此,在该较佳实施例中,本发明亦提供一种终端机与智能卡间数据处理的方法,其步骤是A)通过该终端机的一应用程序接口选择该等应用程序其中之一。B)通过该终端机输入一参数,以初始化被择定的该应用程序。C)由被择定的该应用程序处理该参数,且该终端机处于一等待状态。D)由被择定的该应用程序所执行的一状态响应信息至该终端机。E)该终端机依据该信息执行特定功能。
本发明利用该应用程序接口来选择该智能卡上特定的该应用程序后,并再利用该应用程序接口即把相关参数传送至已被择定的应用程序,并等待应用程序执行状态的响应,再依据应用程序回传的运行状态执行特定的功能,换言之,本发明内容乃将有关加值服务的运算内容与过程(如红利积点的运算,特惠内容与赠品的运算决定…等等)放在智能卡的应用程序里,而终端机的应用程序则只负责根据回传值判断应命令终端机本身做何动作或者再次触发智能卡程序做下一个运算。如此一来,数据处理的工作将被有效地分散至终端机与智能卡上,故不论终端机的应用程序接口或智能卡上的应用程序,其程序开发、撰写的时间大为缩短,进行程序更新、升级的动作时更可省却大量时间。
附图简述

图1是一示意图,说明本发明金融交易系统的一较佳实施例;图2是一示意图,说明该较佳实施例中的一智能卡;图3是一示意图,说明该智能卡的软件架构;图4是一示意图,说明该较佳实施例中的一终端机;图5是一示意图,说明APDU的数据格式;图6是一示意图,说明本发明智能卡与终端机间的数据处理方法;以及图7是一流程图,说明本发明智能卡与终端机间的数据处理方法的步骤。
附图符号说明1-智能卡;2-终端机;3-远程主机;11-微处理器;12-随机存取内存13-只读存储器;14-非易失性内存;15-卡片接口单元;16-加密模块;111-卡片操作系统;112-应用程序接口;113-应用程序;21-处理器;22-只读存储器;23-显示器;24-第一接口单元;25-第二接口单元;26-输入单元;701~707-步骤。
具体实施例方式
有关本发明的前述及其它技术内容、特点与功效,在以下配合参考附图的一较佳实施例的详细说明中,将可清楚的明白。
参阅图1与图2,本发明金融交易系统的较佳实施例包含一智能卡1、一终端机2,以及一远程主机3。智能卡1具有一微处理器11、一随机存取内存(RAM)12、一只读存储器(ROM)13、一非易失性内存(non-violatememory)14、一卡片接口单元15,以及一加密模块(cryptographic module)16。
只读存储器13中储存有多个计算机程序码,包含有卡片操作系统(COS)111(见图3)、JCRE(java card runtime environment),以及必要的驱动程序等等,可供微处理器11加以捉取、执行。非易失性内存14,例如EEPROM,是用来储存应用程序113(见图3)。卡片接口单元15则可以是一接触式的接口,或是一近接式接口,或一无线接口等等。本实施例中,卡片接口单元15即是指一接触式接口,可以直接与终端机2相接触,以进行数据或信号的传递。加密模块16是用来执行加密逻辑演算,以提高金融交易的安全性。
参阅图3,在本实施例中,由于智能卡1中的计算机程序码是依据javacard 2.1.1的规范,因此,其应用程序113是以applet的型式存在,并通过java card应用程序接口(API)112来对卡片操作系统111进行函数的呼叫等动作。卡片操作系统111的功能一般包含例如档案管理、输入/输出(I/O),以及安全性的管理与控制等等。此外,每一应用程序113是用来执行一项特定的功能,例如储值、信用、红利积点计算等功能。
参阅图4,终端机2具有一处理器21、一只读存储器22、一显示器23、一第一接口单元24、一第二接口单元25,以及一输入单元26。只读存储器22中亦储存有多个计算机程序码,可供处理器21执行以控制显示器23以及其它外围。第一接口单元24是指一应用程序接口(API),是用来与智能卡1进行通信,其遵循ISO 7816的协议,特别是,ISO7816-3中定义了智能卡1的电信号和传输协议,而ISO7816-4则定义了智能卡1与外界交互的界面等,由于此为国际标准,并为熟习此技者所能轻易了解者,故在此不再赘述。
要说明的是,在ISO 7816-3的协议架构下,定义了T=0与T=1两种通信方法,本实施例中,特别是指T=0的异步(asynchronous)、半双工(half-duplex)与字节导向(byte oriented)的通信标准。此外,ISO 7816-4亦定义了应用程序数据单元(Application Protocol Data Unit,以下简称APDU)。
参阅图5,APDU是智能卡1与终端机2间的数据通信格式,不论是从智能卡1或终端机2发出的命令,或者是响应信息均称为APDU,换言之,APDU包含了命令(command)格式的APDU以及回应(response)格式的APDU两种,命令格式的APDU封包具有「CLA、INS、P1、P2、Lc、Data Field及Le」字段,而回应格式的APDU封包则具有「Data Field、SW1及SW2」字段。
在命令格式的APDU中,「CLA」是指class byte,是用来识别命令的类别,「INS」是指instruction code,是用来下达给予应用程序的指令,「P1」、「P2」分别是指第一、第二个指令参数,「Lc」是说明下一字段「Data Field」的长度,「Data field」是数据字段,「Le」是回传数据的长度。
在回应格式的APDU中,「Data Field」是回传的数据字段,当然,若无需回传数据,此栏即为空白,「SW1」与「SW2」是指执行状态参数(statusword),可以藉此告知达行的结果,例如成功、无错误(no error)、失败…等等。
如下表所示,为一般常被使用的命令格式的APDU,第一接口单元24即会通过这此命令来下达指令给智能卡1,以进行特定的功能,其中例如「PutData」是用来将终端机2所读入的数据传送至智能卡1上,「Get Data」是用来将智能卡1上的数据读出,「Select AID」是用来选择应用程序,而「verifyPIN」是用来进行个人识别码(PIN)的认证…。

特别的是,除了上述的命令之外,本发明的第一接口单元24另行定义了四个指令「AOC_Display」、「AOC_Getkey」、「AOC_Print」、「AOC_GetPad」。这些指令只有在智能卡1上的应用程序113被选择后,才能够被执行,其中,「AOC_Display」是能使得终端机2中的处理器21将数据显示在显示器23上。「AOC_Getkey」是用来读入输入单元26所输入的数据。「AOC_Print」是使处理器21将数据交由打印机4打印。「AOC_GetPad」用以将输入数据加密后再读入。关于本段中各个指令的发送与执行,将在下文中作进一步说明。
另一方面,第二接口单元25指的是用来与远程主机3进行通信的网络接口单元,其遵循ISO 8583的金融交易卡信息交换格式标准,此标准是用来便于远程主机3对于广域网络中传输的信用卡、现金卡、金融卡等交易信息进行监测、撷取和译码等动作,由于此非本发明的重点,因此不再赘述。输入单元26则是指一控制面板,可供操作而选择终端机2所要进行的功能,例如开、关机、扣款…等动作。
远程主机3是通过一网络与终端机2相联机,例如因特网,但并不以此为限,远程主机3亦包含许多后端处理的应用程序以及一数据库(图未示),此数据库中存有许多使用者的个人数据,可供进行身份认证、比对,因此远程主机3可以依据终端机2所发出的要求进行后端处理,并将结果回传给终端机2。
参阅图6,显示的是终端机2上的第一接口单元24、智能卡1上的应用程序113,以及应用程序113执行后的各个状态三者间的相互关系,以下并配合图7进行说明当进行金融交易时,例如一位女士购买了一笔款项总额为1500元的物品,且目前她所消费的商店中,举办有特殊的优惠活动,其特惠对象为女性且婚姻状态为已婚。特惠内容为于「母亲节」当日,消费一千元以下者,商品六折优待,若消费一千元以上者,除商品六折优待之外,另赠送奖品一个。
因此如步骤701,当店员将此智能卡1插设入终端机2后,终端机2会对智能卡1进行认证动作,并同时得知智能卡1上的应用程序113,例如智能卡1上现建置有三个不同的应用程序113,一个应用程序是「母亲节」优惠活动的应用程序、另一个应用程序是计算红利积点的应用程序,最后一个应用程序则是年终折扣的应用程序,因此在显示器23上会显示出三种应用程序113,因此店员能通过终端机2上的输入单元26来选择「母亲节」特惠活动的应用程序112,此时终端机2内的第一接口单元24即发出命令格式的APDU(「Select AID」)来选择应用程序113,在智能卡1接到此指令后,即会以响应格式的APDU来进行响应。
在应用程序113被选择后,第一接口单元24即发出APDU指令,询问智能卡1下一步骤为何。另一方面,在智能卡1的应用程序113被选择后,即会撷取储存于智能卡1的非易失性内存14中的个人基本数据,以确认卡友的身份是否符合于「女性」以及「已婚」两个条件。
接着,步骤702为一选择性的步骤,在选择完应用程序之后,智能卡1会进行认证的动作,其目的是在避免不合法的存取,以确保智能卡1上数据的安全性。通过第一接口单元24,智能卡1上的加密模块16会要求终端机2进行识别码的认证,当然,在认证的过程中,可以采用对称性或非对称性的解密机制来进行。
在应用程序113已对使用者的身份进行确认后,确认使用者符合于特惠活动所欲实施的对象,因此应用程序113即以响应格式的APDU进行响应,同时要求输入消费金额,步骤703,当店员通过输入单元26输入交易金额1500元后,此一数据即会藉由第一接口单元24传送至前述已被择定的应用程序113上,以进行应用程序113的初始化(initialization),以及相关的计算、处理动作,如步骤704,。
当然,若尚需其它数据,例如需要终端机2的只读存储器22中所存有的机型、地点数据,或是消费时间(由定时器得知,图未示)等数据,则智能卡1上的应用程序113会再发出命令格式的APDU,以便再由终端机2回传所需的数据至智能卡1上,上述步骤会反复进行,如步骤705,直至此应用程序113已接收到所有需要的数据后,即会依据此应用程序113所设定的规则,例如一定的消费总额、一定期间的消费时间点、消费者的等级等,对于数据进行处理、计算,若当数据达到一定条件后,即提供特定的优惠活动。
在处理的过程中,如图6所示,终端机2是处于等待状态,待应用程序113执行至程序编写所设定的其中的一状态时,即回应目前的执行状态(status word)至终端机2,告知终端机2下一步要执行的动作(例如输入参数、打印或显示等等),直至所有动作已被执行完毕为止。
步骤706亦是一选择性的步骤,若在数据处理的过程中,或是数据处理完成后,尚需进行身份的确认或是需要进行后端的处理,应用程序113可以利用APDU发出后端处理的要求给终端机2,终端机2即会将此要求以ISO 8583的协议传送至远程主机3上,由当远程主机3上的应用程序(图未示)进行处理后,再将结果回传至终端机2,最后再由终端机2以预定的APDU回传数据至智能卡1。
步骤707,当智能卡1上的应用程序113已将数据处理完毕后,即回传结果(以APDU型式)至终端机2的第一接口单元24上,本实施例中,第一接口单元24的功能,除了能够撷取输入单元26所输入的数据以及将数据传送至智能卡1外,当智能卡1的应用程序113将结果回传后,第一接口单元24即将数据传送至处理器21上,使得处理器21能将处理结果显示在显示器23上,或是利用一外接于终端机2的打印机4(如图1所示)直接打印输出。
上述终端机2与智能卡1间的数据处理与交递,有别于传统上以终端机为主角的处理模式,亦有别于以智能卡为主角的处理模式。换言之,传统上以终端机为主角时,所有的应用程序皆建置在终端机上,智能卡仅作提供数据之用。以智能卡为主角时,终端机仅响应智能卡上应用程序进行数据处理后的命令要求。根据前例,当终端机程序(第一接口单元24)收到智能卡1一回传值后,经过事先定好的规则,仍然再次发出询问智能卡1下一步骤的APDU命令(只要回传值不是End of Service,仍需继续询问智能卡下一步骤),智能卡1收到这一命令后,经过内部运算,发现还需输入交易金额,于是将此信息包含在响应的APDU里;终端机程序(第一接口单元24)收到此回应值,经过事先定好的规则,要求操作人员输入交易金额并发出APDU命令将交易金额传给智能卡1,智能卡1收到这一命令后,经过内部运算,完成整个特惠服务,并于响应APDU中包含服务中了及其它信息(如特惠结果)的信号;终端机程序(第一接口单元24)收到此一回传值后,经过事先定好的规则,判读回传值为服务中了及要求打印账单,因此便发出命令要求终端机动作。
本发明利用设置在终端机2上的第一接口单元24,当选择智能卡1上特定的应用程序113后,第一接口单元24即把输入单元26所输入的数据传送至已被择定的应用程序113(第一接口单元24毋需了解数据代表的意义),并等待应用程序113执行状态的响应,再依据应用程序113回传的达行状态执行特定的功能,例如打印、显示、提供进一步数据等等,因此终端机2上的程序仅需储存基本的状态判别规则,即是依据智能卡1的应用程序113的回传值来判断下一步骤,此步骤可能是继续要求智能卡1的应用程序113进行运算,或是使终端机2进行打印、显示或上传数据至远程主机3等功能,且终端机2程序是以应用程序接口的形式存在于终端机上2,即第一接口单元24。本发明内容乃将有关加值服务的运算内容与过程(如红利积点的运算,特惠内容与赠品的运算决定…等等)放在智能卡的应用程序里,而终端机的应用程序则只负责根据回传值判断应命令终端机本身做何动作或者再次触发智能卡程序做下一个运算。如此一来,数据处理的工作将被有效地分散至终端机与智能卡上。因此,不论终端机2的第一接口单元24或智能卡1上的应用程序113,其程序开发、撰写的时间大为缩短,进行程序更新、升级的动作时更可省却大量时间,确实达到本发明的目的。
惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明申请专利范围及发明说明书内容所作的简单的等效变化与修饰,皆应仍属本发明专利涵盖的范围内。
权利要求
1.一种智能卡与终端机间的数据处理方法,该智能卡具有至少一应用程序,该方法包含下列步骤A)通过该终端机的确一应用程序接口选择该应用程序其中之一;B)通过该终端机输入一参数,以初始化被择定的确该应用程序;C)由被择定的确该应用程序处理该参数,且该终端机处于一等待状态;D)由被择定的该应用程序所执行的一状态响应信息至该终端机;以及E)该终端机依据该信息执行特定功能。
2.如权利要求1所述的数据处理方法,更包含一反复进行该步骤D)与该步骤E),直至被择定的该应用程序执行完所有状态的步骤F)。
3.如权利要求1所述的数据处理方法,其中,该特定功能是在该终端机上显示被择定的该应用程序处理后的结果。
4.如权利要求1所述的数据处理方法,其中,该特定功能是打印出被择定的该应用程序处理后的结果。
5.如权利要求1所述的数据处理方法,其中,该特定功能是传送被择定的该应用程序所需的数据至被择定的该应用程序。
6.如权利要求1所述的数据处理方法,更包含在该步骤A)与该步骤B)之间,一验证该智能卡的步骤G)。
7.如权利要求1所述的数据处理方法,其中,该步骤C)中,当被择定的该应用程序处理该参数时,更具有下列次步骤C1)被择定的该应用程序经由该终端机,对一远程主机发出后端处理要求;以及C2)该终端机接收该远程主机处理后的结果并回传至被择定的该应用程序。
8.一种金融交易系统,包含一智能卡,具有一处理器,以及多个供该处理器执行的应用程序;及一终端机,具有一以ISO 7816协议与该等应用程序进行通信的应用程序接口,该应用程序接口能受使用者的控制而选择该等应用程序其中之一并进行下列步骤传送一参数至被择定的该应用程序,以进行初始化;由被择定的该应用程序处理该参数,且此时该终端机处于一等待状态;由被择定的该应用程序所执行的一状态响应信息至该终端机;以及该终端机依据该信息执行特定功能。
9.如权利要求8所述的金融交易系统,更包含一与该终端机以ISO 8583协议进行通信的远程主机,该远程主机是用以供被择定的该应用程序要求,以进行后端处理
10.如权利要求8所述的金融交易系统,其中,该特定功能是显示被择定的该应用程序处理该参数的结果。
11.如权利要求8所述的金融交易系统,其中,该特定功能是打印被择定的该应用程序处理该参数的结果。
12.一种终端机,用于与一智能卡进行数据传输,该智能卡具有至少一应用程序,该终端机包含一应用程序接口,能与该应用程序相通信,以传送ISO 7816协议的命令与响应信息,并能依据该命令信息选择该应用程序;一处理器,与该应用程序接口相耦接;以及一输入单元,供使用者操作以控制该处理器,并通过该处理器发送该命令信息以选择该应用程序,并能传送一参数至该应用程序以进行该应用程序的初始化;该应用程序接口能依据该应用程序所回传的响应信息,进一步传送相关数据至该应用程序,并依据该响应信息,使该处理器执行特定功能。
13.如权利要求12所述的金融交易系统,其中,该特定功能是显示该应用程序处理该参数的结果。
14.如权利要求12所述的金融交易系统,其中,该特定功能是打印该应用程序处理该参数的结果。
全文摘要
一种智能卡与终端机间的数据处理方法,该智能卡具有多个应用程序,该方法是先通过该终端机的一应用程序接口选择该等应用程序其中之一,并通过该终端机输入一参数,以初始化被择定的该应用程序,再由被择定的该应用程序处理该参数,且该终端机处于一等待状态,最后由被择定的该应用程序所执行的一状态响应信息至该终端机,使该该终端机依据该信息执行特定功能。
文档编号G06F9/46GK1635475SQ20031012404
公开日2005年7月6日 申请日期2003年12月31日 优先权日2003年12月31日
发明者周少刚, 许乃杰 申请人:宏碁股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1