在多工作站环境中的智能卡个人化方法 【发明领域】
本发明一般涉及数据存储设备,特别涉及在多工作站环境中的智能卡个人化的控制方法。
【发明背景】
向用户、客户或者雇员发出交易卡的组织机构不断增加,他们需要专用于满足其特殊服务或者应用的要求的卡片。这些组织机构还要求该卡片包含关于持卡人的数据。现有的交易卡把这种数据编码在卡背面的磁条上,但是可以由磁条所保存的数据量非常有限。一种新型的交易卡在卡的塑料中嵌入微处理器计算机芯片,以大大增加卡的数据存储容量。另外,专用于卡片发行人的复杂的卡片应用程序可以在特定的多种芯片中执行,并且该芯片还可以包含一种操作系统。具有内嵌芯片的交易卡在本领域内称为便携式可编程数据载体,更加一般地称为“智能卡”。在智能卡中的芯片一般在对该卡片的表面进行压印和/或打印的同时用初始化和/或个人化的数据进行编程。
初始化数据包括三种主要的信息:应用程序数据、保密数据和打印数据。应用程序数据是对用于给定卡的应用的所有卡所共有的,并且包括应用程序代码和变量。保密数据防止对该卡地盗用,并且以“安全密钥”的形式提供。打印数据,例如标识、调码和各种类型的数字信息,被置于卡的表面时。一些或所有相同的数据还可以压印在表面上。还可以采用光学技术使得该卡的部分或所有表面成为一种存储介质,其中具有可由适当的光学读取器所读取的数据。
智能卡通过称为“个人化”的处理,用对各个磁卡的所专用的信息进行编程。智能卡的个人化信息类似于先前包含在非智能卡上的个人化信息,例如持卡人名字、帐号、卡的失效日期、以及照片。由于存储容量增加,因此在智能卡中的芯片可以包含除了关于标准交易卡的基本信息之外的其它数据,包括各个签名的图像表示、确定持卡人所享有的服务种类的数据、以及对这些服务的帐目限制。
用于执行智能卡初始化和/或个人化的当前系统包括连接到个人化工作站的控制器或个人计算机。所有个人化处理所需的智能卡编程数据从控制器或个人计算机器发送到对智能卡编程的个人化工作站。运行在个人化工作站上的应用程序控制智能卡的编程。随着智能卡计算机芯片的尺寸和功能增加,许多当前的个人化工作站对于进行日益复杂的个人化处理的能力有限。这种限制包括个人化工作站的存储器、处理能力和缓冲器的大小。
另外,个人化工作站可能需要访问提供安全服务的外部资源,或或访问卡数据。特别是关于安全服务的外部资源是对于每个个人化工作站重复提供的昂贵的基础设施。并且,在个人化工作站与外部资源之间的通信受到它们之间通信链路的速度的限制。另外,可以在个人化工作站上获得的应用程序的开发环境通常是独特的,并且缺少开发工具。
因此,需要一种解决当前个人化工作站在存储容量和处理灵活性方面的限制的个人化系统。还需要一种可以在多个个人化工作站之间共享外部资源的个人化系统。
发明概要
本发明解决上述缺点以及其它缺点,这将通过阅读和研究下文的说明书而得到理解。本发明是一种计算机化系统,用于通过多个个人化工作站控制便携式编程数据载体的编程。该系统包括个人化服务器接口,用于从一个或多个资源获得服务,把卡信息传送到其中一个个人化工作站,并且控制便携式编程数据载体的编程。该系统还包括一个个人化工作站接口,用于从个人化服务器接口接收卡信息,以及用于对便携式编程数据载体进行编程。
本发明还关于一种在具有多个编程工作站的系统中控制便携式编程数据载体的编程的方法。该方法包括从一个卡发行人管理系统接收一个或多个卡对象。该方法还包括从编程工作站接收编程请求,以及当编程工作站对便携式编程数据载体进行编程时,利用该卡对象控制编程工作站。
另外,本发明关于一种计算机化系统,其中包括用于从卡发行人管理系统接收一个或多个卡对象的装置。该计算机化系统还包括用于从编程工作站接收编程请求的装置,以及当编程工作站对便携式编程数据载体进行编程时,利用卡对象来控制编程工作站。
智能卡个人化系统使用一种数据结构,其中包括数据字段,表示包含用于编程便携式编程数据载体的信息的卡对象;以及附加数据字段,包含用于认别该卡对象的唯一卡对象标识符。
因此,本发明的智能卡个人化系统在多个个人化工作站之间共享外部资源。通过参照附图并阅读下文的具体描述,本发明的其它方面和优点将变得更加清楚。
附图简述
图1为表示包含本发明的智能卡个人化服务器的智能卡发行过程的一个实施例的方框图。
图2为用于图1中所示的智能卡个人化服务器的实施例的输入输出连接的功能框图。
图3为示出本发明的智能卡个人化软件的一个实施例的方框图。
图4为用于实现智能卡个人化服务器的功能的软件的一个实例的流程图。
实施例的描述
在下文中实施例的描述中,参照附图进行说明,其中示出可以实现本发明的具体实施例。这一实施例被充分具体地描述,使得本领域内的专业人员能够实现本发明,并且应当知道可以采用其它实施例,并且可以作出结构、逻辑和电路上的改变而不脱离本发明的精神范围。因此,下文的具体描述不是限制性的,并且本发明的范围仅仅由所附权利要求来确定。
除了在多幅图中出现的相同部件由相同的参考标号所表示之外,在图中出现的参考标号的开头数字通常对应于图号。
本发明的系统在具有多个个人化工作站的环境中利用个人化服务器来控制智能卡的个人化。个人化服务器具有通向多个卡个人化工作站以及通讯外部计算或数据源的接口,该外部计算或数据源不直接由卡个人化工作站所使用,或者不重复对每个卡个人化工作站提供。
本发明的具体描述被分为四个部分。第一部分提供对用于发行智能卡并且包含本发明的智能卡个人化服务器的系统的一个实施的概述。第二部分描述用于智能卡个人化信息的实施例的软件部分的功能特点。第三部分说明个人化工作站接口软件和用于智能卡个人化处理的个人化服务器软件之间的通信序列的一个例子。第四部分是一个推论,其中包括对本发明优点的总结。
智能卡个人化系统概述
图1示出智能卡发行处理的部件,其中包括本发明的智能卡个人服务器的一个实施例。智能卡个人化服务器100从卡发行人管理系统150接收卡对象。智能卡个人化控制器120从卡发行人管理系统150接收用于每一个传送到智能卡个人化服务器100的卡对象的卡对象标识符。智能卡个人化控制器120把每个卡对象标识符传送到多个个人化工作站130中。每个个人化工作站130使用该卡对象标识符来从智能卡个人化服务器100请求数据和服务,以对智能卡160进行个人化。
卡发行人管理系统150管理持卡人数据,并且确定要发行的卡片类型、要嵌入在该卡中的卡应用程序、以及确定用于对特定持卡人发出卡片的个人化设备。
智能卡个人化服务器100在图1中示出,作为计算机执行的个人化服务器软件,其在下文中进一步具体描述。该个人化应用软件在一种操作系统中执行,例如Unix、Windows 95、或者Windows NT,并且在工业标准工作站和/或个人计算机硬件上执行。如下文所述,智能卡个人化服务器100提供一个通向个人化工作站130和外部计算或数据资源180的接口。
服务器100控制卡打印机、压印设备以及集成或附加智能卡接口设备,它们在图1中总体表现为多个个人化工作站130。个人化工作站130还表示这样的设备,例如大型卡打印机/压印机、小型卡打印机/压印机、自动取款机(ATM)、销售点终端、无人售货机、个人计算机、网络计算机、以及在线通信设备。该设备与智能卡个人化服务器100之间的物理连接根据该设备的制造商和型号而变化。普通工业标准连接包括RS232、SCSI(小型计算机系统接口)、以太网、以及串联TTL(晶体管-晶体管逻辑电路)。另外,一些设备需要专用总线连接。
智能卡个人化服务器100与卡发行人管理系统150和工作站130之间的连接还通过标准局域网、广域网、专用电话线路、或者其它用于传输数据的远程通信基础设备来实现。其它连接对于本领域内的专业人员来说是显而易见的,并且在本发明的范围之内。
图2为示出用于智能卡个人化服务器100的逻辑输入和输出的连接的智能卡个人化系统的一个实施例的方框图。由卡发行机构所输入和维护的持卡人数据202包含关于每个持卡人的信息,例如姓名、帐号、卡失效日期、以及可应用的服务。卡发行人管理系统150组合每个卡个人化工作所需的数据。用于每个工作的数据可以存储在卡对象数据存储器中,例如存储在数据库中,每个卡对象208可通过唯一的卡对象标识符来访问。
卡对象208例如包括用于磁条编码、压印、打印、封装和智能卡个人化的数据和命令,但是不限于此。卡对象的一个例子在下文示出。
卡对象
EMB=″123456789″,″Your Name″,″1/1/1999″
ENC=%B123456789^Y/Name^01011999?;123456789=01011999?
PIC=www.photos.com/YourName
SCRD=this_unique_card_object_identifier
该示例的卡对象以压印指令“EMB”为开始,随后跟着要压印到卡上的相应持卡人数据。在上文所示的示例卡对象的第二行中是编码指令“ENC”,随后跟着要编码在卡的磁条上作为相应持卡人数据的相应数据。在示例对象的第三行是要在卡上打印图像的指令“PIC”,随后跟着持卡人图像的位置。在示意卡对象的第四行是卡对象的智能卡位置“SCRD”。卡对象208的智能卡部分由唯一的卡对象标识符所构成。
卡发行人管理系统150把卡对象208传送到智能卡个人化服务器100。智能卡个人化服务器100要求该个人化数据以特殊的格式出现。由于卡对象208按照由卡发行人所定义的格式,该格式通常与服务器100所需格式不同,卡对象208在需要时由服务器100来转换。转换卡对象的一个例子在1996年11月22日申请的名为“用于智能卡个人化的系统和设备”的美国专利申请第08/755,459号中描述。
智能卡个人化服务器100具有通向外部安全服务204和附加数据源206的接口,以执行智能卡个人化工作。用于智能卡个人化服务器100的软件程序可以通过标准数据查询命令连接到数据源206,该命令用于提供对存储在数据源中数据的访问。用于智能卡个人化服务器100和外部安全服务204以及数据源206的软件程序之间的通信协议根据所采用的下层数据管理系统或安全系统的不同而变化。
智能卡个人化服务器100还具有通向每个卡个人化工作站130的接口。智能卡个人化控制器120把卡对象标识符传送到其中一个等待中的个人化工作站130。个人化工作站130把该卡对象标识符提供给服务器100,以启动对完成智能卡个人化所需的数据服务、安全服务或支持服务的访问。在从个人化工作站130接收卡对象标识符之后,智能卡个人化服务器100转换由卡对象标识符所表示的卡对象。由智能卡个人化服务器100转换卡对象得出一串传送到个人化工作站130的命令和/或数据。个人化工作站130把从服务器100接收的数据和命令直接传送到智能卡160。下面描述服务器100如何控制实际的卡编程的一个例子。
个人化软件说明
图3为示出图2的智能卡个人化服务器100的一个实施例的方框图。本发明的系统利用智能卡个人化服务器100来在具有多个连接到智能卡个人化服务器100的个人化工作站130的环境中控制智能卡个人化。智能卡个人化服务器100提供通向个人化工作站130和图2中所示的外部计算或数据资源204、206的接口。
在卡发行人管理系统150上执行的应用程序准备一个卡对象303,并把卡对象标识符分配给每个对象。关于卡对象的信息在卡对象数据库302中存档,直到由个人化服务器100所调用,以对智能卡进行个人化。
本发明的个人化环境包括两个互补的软件组件。第一个是个人化工作站接口软件304,其在个人化工作站130的服务器中执行。第二个是在个人化服务器100的处理器中执行的个人化服务器软件305,其处理个人化卡对象,并且利用本地和外部资源。
初始化处理306通过启动个人化服务器100并且有选择地把例如压印或磁条编码数据这样的数据发送个人化工作站130,而启动个人化工作。个人化服务器软件300用于多个卡个人化处理308。每个卡个人化处理308表示在一个个人化工作站130处进行的个人化工作。每个卡个人化处理308逻辑地链接到其中一个个人化工作站130。
个人化工作站接口软件304提供对个人化服务器软件305唯一的卡对象标识符,以通过服务器软件305启动对可用服务的访问。个人化服务器软件305获得所有必要的工作信息,以及要用于智能卡的个人化的数据单元。在被要求时,个人化工作站接口软件304利用通过个人化服务器软件305可以获得的服务执行卡个人化处理,直到个人化结束为止。在该工作结束时,由服务器软件305把该工作完成的消息通知个人化工作站接口软件304。
由服务器软件305所提供的服务包括数据服务312、安全服务310和支持服务314。数据服务312执行每个个人化工作所需要数据的获取,并且包括访问数据的任何公知方法。数据服务312检索在卡发行人管理系统150上的卡对象数据库302中存档的数据,以及检索来自图2中所示的附加外部数据源的数据。该数据例如以文件、数据库、或数据结构的形式出现。
安全服务310与提供安全功能的多种外部资源相连接。由外部资源所提供的安全功能包括保密信息以及限制对智能卡芯片的访问的任何公知方法。安全功能的一个例子是利用一个或多个被编程到芯片中的“密钥”来防止对卡的盗用。适当的密钥数据由智能卡个人化服务器软件305从卡发行人维护的密钥记录或者外部安全资源所获得,然后传送到个人化工作站接口软件304。安全服务310还提供可以用于保证数据在与个人化工作站130之间来回传送过程中的完整性和保密性。
支持服务314执行在原有系统中由个人化工作站130所执行或者由于工作站的限制而完全不能被执行的处理任务。支持服务314包括例如可以在数据转换和确认的处理之间共享的任何公用功能。支持服务314的一个例子是2000年日期确认处理。支持服务314的一个附加例子是格式化表示电话号码的十进制数字串,使得地区号码用括号括起来。
个人化服务器软件305工作于一个计算机系统中,该计算机系统包括一个或多个高速处理器的,数据通信能力与目标个人化工作站相兼容,访问例如安全或文件服务器这样的外部资源以及多任务操作系统。作为个人化服务器软件305的一个组件的智能卡个人化处理308利用其自身的虚拟存储器并且通过本领域所通知的连线(threading)或其它公众技术适当地共享资源。
总而言之,个人化服务器软件把用于智能卡的初始化和个人化的处理任何从个化工作站转移到个人化服务器。个人化工作站接口软件负责处理来自个人化服务器软件的各个命令。
个人化软件通信处理
图4示出用于完成智能卡个人化的在个人化工作站接口软件304和个人化服务器软件305之间的通信时序。当个人化工作站接口软件304从图2中所示的智能卡个人化控制器接收唯一的卡对象标识符时,智能卡个人化处理从步骤402开始。在步骤404,个人化工作站接口软件304通过把卡对象标识符传送到服务器软件305来请求对该卡进行个人化所需的命令和数据。在接收卡对象标识符之后,服务器软件305在步骤406启动与个人化工作站接口软件304一同进行的个人化阶段。
根据卡对象标识符,服务器软件305在步骤408取得对被个人化的卡唯一的数据和命令,并发送到个人化工作站接口软件304。该数据和命令被局部地从智能卡个化服务器或从图2中所示的附加外部数据源获得,该数据源例如包括卡发行人管理系统150。
在一个实施例中,个人化工作站接口软件304在步骤410中等待,直到从个人化服务器软件305接收命令和数据为止。在接收命令和数据之后,个人化工作站接口软件304在步骤412把该命令和数据直接传送到智能卡,并且把数据和/或状态信号返回到服务器软件305作为一个确认。由个人化工作站接口软件304所返回的数据的一个例子是对该卡唯一的序号和一个随机数。在这种情况中的数据可以被用作为由安全服务所提供的一个功能部分,例如认证算法。在步骤414,服务器软件305处理由个人化工作站接口软件304所返回的状态信号和/或数据。
例如,在步骤408,服务器软件305返回一个“选择”命令。个人化工作站接口软件304在步骤410处等待,直到从服务器接收该“选择”命令为止。在步骤412,个人化工作站接口软件304把该“选择”命令传送到智能卡,并且把一个状态信号返回到服务器软件305,作为一个确认。在步骤414接收该确认之后,服务器软件305在步骤408向个人化工作站接口软件304发送“写入”命令和相关数据。个人化工作站接口软件304在步骤410处等待,直到从服务器软件305接收“写入”命令为止。在步骤412,个人化工作站把“选择”命令传送到智能卡,并且把一个状态信号返回到服务器软件305,作为一个确认。从步骤408到步骤410到步骤412到步骤414循环执行,直到完成个人化处理为止。
在智能卡的个人化的完成之后,服务器软件305在步骤416把“格式化完成”命令发送到个人化工作站接口软件304。个人化工作站接口软件304在步骤418处等待,直到从服务器软件305接收“格式化完成”命令为止。在步骤420,个人化工作站接口软件304把“格式化完成”命令的确认发送到服务器软件305,并发送到智能卡。当服务器软件305接收该确认时,在步骤422完成个人化处理。
结论
总而言之,本发明的系统利用个人化服务器来在具有多个个人化工作站的环境中控制智能卡的个人化处理。个人化服务器具有通向多个卡个人化工作站和外部计算或数据资源的接口,该外部计算或数据资源通常不能直接由卡个人化工作站所获得,或者在每个卡个人化工作站重复提供该资源是不合算的。个人化服务器把用于把智能化的初始化和个人化的任务的处理从个人化工作站转移到个人化服务器。个人化工作站负责处理来自个人化服务器的各个命令。
本发明的一个优点是个人化服务器可以支持多个有效的个人化工作站的工作。另一个优点是在个人化工作站中所需的编程逻辑被减少为管理数据传输。
用于控制智能卡个人化处理的其它机构是本领域中的专业人员所显而易见的。应当知道,上文描述是说明性的而不是限制性的。本领域内的专业人员显然在阅读上文之后可以作出许多其它实施例。因此本发明的范围应当由所附权利要求以及与这些权利要求等价的范围来确定。