使用智能卡的安全转移货币技术的制作方法

文档序号:6408939阅读:184来源:国知局
专利名称:使用智能卡的安全转移货币技术的制作方法
技术领域
本发明总体上讲是涉及智能卡(smart card),更具体地讲是涉及在智能卡和金融机构之间提供安全转移货币的系统和方法。
最近已经对用作储存和转移货币装置的智能卡做了许多研究工作(智能卡是包括板上微处理器和存储器的信用卡大小的装置)。由于几个原因,使用电子货币比传统的纸币和硬币有许多优点。由于丢失和失窃的危险总是存在的,携带大量的现金常常是不方便的。纸币和硬币的生产成本昂贵,并且容易被伪造。尽管一些商人接受个人支票,但是这些支票的交割处理一般说很浪费时间。实际上对所收取的支票进行核实需要花费一些时间,这足以使在销售商的销售终端处排队等待的顾客感到烦躁、不满和(或)不舒服。
依靠智能卡这种装置对货币进行电子储存和转移,在现有技术状态下是可能的。然而,仅能电子储存和转移货币的系统在许多实际应用中是不实用的。当使用任何电子数据储存和转移系统时,不安全的因素是有的。如果电子货币的概念被普遍接受的话,那么制造电子货币者或其他使用者如商人或顾客就不能使电子货币丢失。尽管电子货币一定数量的丢失是可以接受和不可避免的,但丢失的量必须比现在使用的信用卡、现金或支票的丢失量要少。现有技术水平下的电子安全措施不能提供所要求安全等级的电子货币系统。
目前的智能卡装置并不是完全无懈可击的,例如,持卡者可能会忘记从他(她)衣兜里取出智能卡,而使卡随衣物一起在洗衣机/干洗机中运转,使卡受到热、机械振动、水和诸如漂白、洗涤等化学腐蚀剂的影响,这些将导致智能卡失效。装置失效时,不幸的智能卡持有者存于失效智能卡上的钱不会丢失。需要一种用在已经失效的智能卡上的恢复技术,以使智能卡持有者不因卡的失效而遭受经济上的损失。
许多现有的电子金融交易系统很少或不考虑顾客隐私。它源于这样一个事实,现有的系统结构对丢失/失窃的卡付息和/或提供保护。结果要求隐私的顾客必须付现金进行匿名交易。由于常规的纸币实际上是一种有效的匿名方式,电子货币系统应提供一种类似程度的匿名。至少,一个电子货币系统应该根据顾客的要求提供匿名保护。
提供安全电子金融交易的系统和方法具有这样的特征,货币价值被电子化地储存在一张包括具有开状态和闭状态的电子安全锁的卡上。在关闭状态,锁使智能卡对任何货币量的交易不起作用,在打开状态,智能卡可以对货币量的全部或部分进行转移。该智能卡有一个电子密码键,此密码键用于使电子安全锁从打开状态变到关闭状态和用于使电子安全锁从关闭状态变到打开状态。


图1所示的方框图显示了一种安全智能卡货币转移系统;图2所示的表描述了在两个智能卡之间进行的安全金融交易;图3是用安全智能卡进行金融交易的操作程序的流程图;图4A和4B一起组成了描述持卡者与持卡者进行交易的步骤的流程图;图5A和5B一起组成了描述校正/改变密码键和加利息于储存在智能卡上的货币中的程序的流程图;图6是显示在金融交易期间从第一张智能卡转移到第二张智能卡的数据结构的方框图;图7是描述用户智能卡和银行智能卡所用的数据结构的方框图。
本发明公开了在智能卡之间进行货币量(下文称“货币”)安全转移的技术。图1所示方框图描述了智能卡货币安全转移系统的硬件组成和数据结构。这个系统也可为储存在智能卡上的货币支付利息,并检查储存在智能卡上的货币量(帐户余额)。诸如在智能卡之间的货币转移、为智能卡增加利息和检查帐户余额等活动被称为金融交易。
智能卡102、104提供给众多持卡者,包括第一张智能卡102提供给了第一个持卡者,第二张智能卡104提供给第二个持卡者,每一智能卡102、104均能参与一种或多种对储存在智能卡上的电子货币进行的金融交易。第一持卡者可以是例如银行、商人或顾客。与第一个持卡者的身份无关,第二持卡者可以是银行、商人或顾客。如果持卡者是商人或顾客,这个持卡者拥有的智能卡称为用户智能卡。
如果持卡者是银行,提供给银行的智能卡称为银行智能卡。银行可以分布在许多地区,每一个地区有一个或多个支行。此情况下,可以使用诸如银行中心智能卡、银行地区智能卡和支行智能卡三种子类型的银行智能卡。银行中心智能卡用于为其他的智能卡例如其他的银行智能卡、商人持有的智能卡和/或顾客持有的智能卡提供一个或多个电子密码键。这些密码键可以被更新(即周期性改变)以允许和/或不允许货币转入/转出智能卡。
银行中心智能卡用于为其他智能卡,例如其他银行智能卡和用户智能卡(由商人或顾客持有的卡)支付利息。利息的支付可以按与预先确定的智能卡等级相关的一种等级方式进行。例如,银行中心智能卡可以用于为银行地区智能卡支付利息。类似地,银行地区智能卡可以用于为分行智能卡支付利息,同样分行智能卡可以为顾客和商人持有的智能卡支付利息。因此,本例中的智能卡的等级是这样划分的,银行中心智能卡处于最高级,其次是银行地区智能卡和分行智能卡,用户智能卡处于最低级。下文将根据图1对支付利息的机制做更详细地描述。
每个智能卡102、104包括下面结合图1描述的数据结构和硬件方框图,不管智能卡是用户智能卡或银行智能卡。智能卡102、104分别带有一个密码键存储寄存器112、128,用于电子密码键的存储。密码键存储寄存器112、128可以以随机存取存储器(RAM)的形式构成。密码键寄存器112、128被耦合到密码键寄存器输入装置118、124,输入装置118、124分别从智能卡读入网络106接受输入。用这种方式,可以使电子密码键从智能卡读入网络106转入这个智能卡的密码键寄存器112。密码键寄存器输入装置118、124是装备用来根据现有的智能卡输入/输出(I/O)技术接收输入数据,这些技术为那些熟悉本技术领域的人所共知。
密码键寄存器输出装置114、130各自耦合到密码键寄存器112、128上。输出装置114、130是配备用来分别拷贝密码键寄存器112、128的内容到智能卡读入网络106的。密码键寄存器112、128分别耦合到密码键比较装置110、126的第一输入端上。密码键比较装置110、126的第二输入端分别连接到密码键比较输入装置116、122。
密码键比较装置110、126装备用来对第一输入和第二输入进行比较,并根据比较结果在比较装置输出端产生一个信号。如果第一输入和第二个输入是一致的,密码键比较装置110、126在比较装置输出端产生一个匹配信号。如果第一和第二输入不一致,密码键比较装置在比较装置的输出端产生一个不匹配信号。
比较装置110、126的输出各自耦合到电子密码锁108、120。密码锁108、120可以处于两种互斥状态中的任何一种。第一种是关闭状态,密码锁108、120使智能卡102、104不能把货币转移到其他智能卡上。第二种是打开状态,密码锁108、120允许把货币转移到另一张智能卡上。密码锁108、120各自耦合到比较装置110、126的输出端。当比较装置110、126产生匹配信号时,密码锁108、120处于第二种即打开状态,当从比较器110、126收到不匹配信号时,密码锁108、120处于第一种即关闭状态。
电子密码锁108、120和密码键比较装置110、126的功能可以通过使用为熟知这方面技术的人所共知类型的微处理器装置来实现并可用于现有的各种智能卡设计中。密码键寄存器112、128的功能可以利用上面提到的微处理器来完成,和/或可以以随机存取存储器(RAM)的形式提供。密码键寄存器输入装置118、124,密码键比较输入装置116、122和密码键寄存器输出装置114、130在上述微处理器的控制下工作,通过使用用于智能卡102、104和智能卡读入网络106之间进行数据交换的常规的智能卡数据输入/输出装置完成运行。常规的智能卡数据输入/输出装置和智能卡102、104为熟悉本技术领域的人所共知的。
智能卡读入网络106由2个或多个常规智能卡读入接口的结构组成,例如第一智能卡读入接口141和第二智能卡读入接口143。第一和第二智能卡读入接口141、143是为那些熟悉本领域技术的人所共知的类型,且允许在智能卡102和104之间基本上同时进行数据交换。第一智能卡读入接口141相对于第二智能卡读入接口143来说,可以处在很远的地方。因此,第一和第二智能卡读入接口141、143通过通信链150连接在一起。在智能卡读入接口141、143分开很远的情况下,通信链150可以包括利用常规的电话线进行通信的调制解调器。另一种方式是,可以把智能卡读入接口141、143集成为一个单体结构并通过通信链150进行连接,通信链150由例如简单的线对组成。第一和第二智能卡读入接口141、143还可以包括允许智能卡持有者输入诸如PINs(个人身份号码)等数据的智能卡持有者输入装置,例如一个小键盘。这些智能卡读入接口141、143包括数据输入装置149、151和数据输出装置145、147,它们分别各自从一个智能卡接收数据和为这个智能卡提供数据。智能卡读入接口141的数据输出装置145连接在智能卡读入接口143的数据输入装置151上。同样,智能卡读入接口141的数据输入装置149连接到智能卡读入接口143的数据输出装置147上。
在智能卡读入接口141和143之间的数据流通可以通过一个可选的智能卡读入网络106内部的智能卡读入微处理器进行控制。该智能卡读入微处理器是为熟悉本技术领域的人共知的类型。如果没有使用一个智能卡读入微处理器,那么智能卡102、104内的微处理器被用来控制在智能卡读入网络106上的数据流通。
为了实现智能卡102和104之间的货币交换,图1系统按如下方式工作。假设货币从卡102转移到卡104。卡102插入智能卡读入接口141,卡104插入读入接口143。卡102的微处理器和卡104的微处理器进行初始的握手数据交换,以确定两个智能卡是否正在通过智能卡读入网络106进行通信。其次,智能卡102的密码键寄存器输出装置114送出一个代表电子密码键的信号到智能卡读入网络106的数据输入装置149。密码键被转移到数据输出装置147,并传送到智能卡104的密码键比较输入装置122。
密码键比较设备126取出存储在智能卡104的密码存储寄存器128中的密码键。如果比较装置确认从智能卡102接收的密码键与存储在密码键存储寄存器128中的密码键相匹配,智能卡104中的电子密码锁120被打开,使智能卡104能参与同智能卡102的一种或多种金融交易。然而,如果从密码键存储寄存器128中得到的密码键与从智能卡102中收到的密码键不匹配,智能卡104就不能参与所有的金融交易。
由智能卡104进行的密码键比较过程也同样在智能卡102中进行。智能卡104取出存储在密码键寄存器128中的密码键,并传送这个密码键到密码键寄存器输出装置130。该密码键被智能卡读入网络106的数据输入装置151接收,并传送到数据输出装置145。密码键由数据输出装置145向前传送到智能卡102的密码键比较输入装置116。密码键比较输入装置116送密码键到密码键比较装置110。同时,存储于密码键存储寄存器112中的密码键也被送至密码键比较装置110,从寄存器112中取出的密码键在这里与从智能卡104收到密码键进行比较。如果密码键匹配,密码键比较装置110给电子密码锁108发出一个“打开”信号,打开密码锁,允许智能卡102与智能卡104进行一种或多种金融交易。如果密码键不匹配,比较装置110向电子密码锁108发出“关闭”信号,电子密码锁108通过使智能卡102不能参与任何金融交易来对关闭信号做出响应。
上述例子中,为了这些智能卡之间的金融交易能够进行,智能卡102、104的电子密码锁108、120必须打开。如果上述密码键的交换结果使电子密码锁108、120中的一个或两个关闭,智能卡102和104之间就不能进行金融交易。
以上举出的例子假设每个智能卡102、104各自有一个密码键在密码键存储寄存器112、128中。然而,一个密码键的例子是为了举例的方便。为满足特殊设计应用的要求,可以使用任何要求的密码键数量。根据这里举出的一个实施例,每个智能卡102、104使用4个密码键,这些密码键分别储存在密码键存储寄存器112、128中。密码键比较装置110把储存在智能卡102中的所有4个密码键与从智能卡104接收到的所有4个密码键进行比较。同样地,密码键比较装置126把储存在智能卡104中的所有4个密码键与从智能卡102收到的所有4个密码键进行比较。如果这些密码键中有至少两个密码相匹配,各自的电子密码锁108、120打开。如果4个密码键中相匹配的少于2个,各自电子密码锁108、120关闭。
在每一智能卡使用4个密码键的实施例中,可以对密码键进行更新和/或改变以对系统安全做出改善。银行智能卡被用来更新和/或改变储存在用户智能卡中的密码键。更具体地说,为说明这个实例,假设智能卡102是银行智能卡。银行智能卡用于从银行智能卡密码键存储寄存器112中获取一个密码键,并传送这个密码键给银行智能卡密码键寄存器输出装置114(用户智能卡也是这样装备的)。输出装置114把该密码键发送到智能卡读入网络106的数据输入装置149。同时发送一个银行智能卡信号,此银行智能卡信号起着把诸如用户智能卡的其他类型的智能卡与银行智能卡区分开的作用。
密码键和银行智能卡信号被传送到数据输出装置147。智能卡104的微处理器对输出装置147的银行智能卡信号进行辨别,并为响应这一信号,使数据输出装置147的密码键存储在密码键存储存器中。当新收到密码键存入了密码键存储寄存器128中时,它就取代了存入在寄存器128中的诸先前存在的密码键中的一个。用这种方法,在用户智能卡和银行智能卡之间的交换被用来更新/改变用户智能卡中的一个或多个密码键。密码键的不时改变,为安全提供了改进措施。如果需要,密码键可以定期改变,例如根据规律的或随机的时间间隔改变密码键。
图1的智能卡货币转移系统使用了三种类型的软件,它们是交换软件、利息/键校正软件和管理软件。交换软件(例如在后面图7(702)中称为EXCH.EXE的程序)使货币能够从一个智能卡向另一个智能卡转移。利息/键软件使向智能卡支付利息成为可能。管理软件使得各种各样的管理功能得以实施。这些管理功能可以包括,例如,校正一个显示和确认全部“废”的智能卡的文件,和/或校正一个含有要对特定智能卡支付的当前利率的文件。“废”智能卡包括有陷的、失效的、失窃的、“外部的”(非系统的)和/或伪造的智能卡。一种专门设计的管理智能卡与一种卡读入装置和一台计算机一起,可以用来完成上述的管理功能。这种管理卡包括图1的硬件和数据结构。所有软件在常规个人计算机和/或带有处理装置的智能卡读入软件平台(palt form)上均可使用。
一些由智能卡货币转移系统使用的软件能驻留在智能卡102、104上。如果需要,这个软件能够装入这个智能卡的ROM装置中。例如,三个程序可以方便地装在智能卡102、104上。第一个是名称为EXCH.INI的程序,它为实施金融交易提供必须的数据结构和功能。这个程序还使智能卡能接收电子密码键和支付利息的信息,这个可执行的程序最好驻留在所有的用户智能卡、包括银行中心智能卡上。
可以驻留在智能卡102、104中的第二个程序名称为INT.EXE,它用来为更新电子密码键提供必要的数据结构和功能。这个程序也执行提供利息给另一个银行智能卡或诸如由商人或顾客持有的用户智能卡的处理过程。可以安装在智能卡上的第三程序叫做issue.exe,它允许管理智能卡发行银行或用户智能卡。
智能卡货币转移系统(图1)执行涉及诸如货币从一张卡到另一张卡转移的金融交易。然而,货币只有用一张专门设计的具有如图1所示的硬件和数据结构的银行中心智能卡才能“创造”出来。货币的“创造”是指这样一种事实,在这种情况下,货币被加到一个智能卡上,没有从另一个卡上取得货币。对电子密码键来说同样的基本概念也是适用的。这些密码键由系统管理者输入银行中心智能卡,并通过卡读入网络106电子转移到其他智能卡。
智能卡可以按一个等级结构编组。例如,最高级包括一个或多个银行中心智能卡,第二级包括一个或多个银行地区智能卡,第三级是分行智能卡,第四级是包括商人和顾客智能卡的用户智能卡。密码键和利息支付沿着从高级到低级的等级阶梯方向流动。
智能卡金融交易系统的安全功能是由一个或多个电子密码键来完成的。除密码键外,也可以把专有信息引入系统中以提高安全水平。然而,安全是相对的概念。实际上,不管使用的技术水有多高,像无懈可击的安全系统这样的东西是不存在的。作为举例,人们自己制造钞票当然是可能的,但成本高,并且被抓获后的处罚是严厉的。考虑到以上提到的成本和处罚,密码键112、114、116采用了一种类似美钞采用的防伪技术。
由密码键提供的安全水平是这样的,即,完成了智能卡金融交易系统密码功能操作的所有人都可能离开这个系统,但在没有检测和立即校正的情况下,这些人均不能闯入此系统。为提供这种水平的安全,仅仅依靠专有信息是不可能的。但是专有信息在防止与本系统无关的外部人员的闯入方面是有价值的。从这点出发,把专有信息和其他密码形式相结合可以提供其它方法所不能提供的改善的安全水平。
密码键是以四个操作键的形式储存在智能卡102、104中的,这些操作键以号码值的形式存储在智能卡102、104的存储器中。在和一个银行中心智能卡进行一笔金融交易期间,对储存在一个操作键上的号码值进行更新。为成功地完成一笔金融交易,需要两个有效的操作键。储存在银行中心智能卡中的操作键不时被更新,例如,每个操作键的有效期仅为一个月。照这种方式,持卡者不进行银行交易的最长时间为三个月。但是,可以通过为每个智能卡增加更多的操作键,和/或通过改变每一个操作键号码值的有效期,来改变这个数量以满足特殊系统要求的需要。银行可以使用八个键并每天改变一个键。这种情况下每一位持卡者不得不一周至少一次与银行进行一次金融交易。虽然操作键可以按规律的时间间隔周期性地更新,但这种周期性是不需要。操作键可以按不规律的时间间隔动态地更新。
为使用操作键,智能卡102、104可以各自装备一个称为KEY-NUMBER的文件。这个文件指定与特定操作键相对应的号码值。KEY-NUMBER也存贮更新键的最近日期。例如,可以分别用数值51、52、53、54与51-54月相对应,对操作键的号码值每月改变一次。
要使两个智能卡102、104实施一次成功的货币转移,这些智能卡必须至少具有两个相同的操作键。如果智能卡102包含49、50、51和52操作键,而智能卡104包含51、52、53和54操作键,那么由于两个相同的键,即51和52的存在,货币转移能顺利地实施。但是,如果智能卡102的操作键是51、52、53和54,而智能卡104的操作键是54、55、56和57,那么在这两个智能卡102和104之间就不可能进行一次成功的货币转移。
每个用户智能卡102、104各被指定有一个16位数(8个字节)的帐号。智能卡102、104中的一个或多个可能遗失或失窃,这样的卡称为“废”卡,不允许接受操作键更新。与上面提到的智能卡银行等级的每一个等级相对应的银行智能卡可以是配备能储存直至600个废卡帐号的8K智能卡。假如在一个给定系统中,用户智能卡102、104的10%遗失或失窃(这个数字与信用卡行业标准一致),那么,一个银行中心智能卡可以管理一组6000个用户智能卡。
一组6000个用户智能卡102、104的管理可以按银行地区等级水平进行。用这种方法,一个或多个特定操作键的更新被限于预先确定的帐号区域,例如40000至46000,以使这些帐号与一个指定的地区银行和/或一个指定的分行服务的智能卡相对应。为对这个分行方案进行改进,可以假定每一个分行仅仅处理帐号分布在某一个范围内的智能卡。如果这个假设有效,那么只需将帐号的最后4个字节(最后4位)储存在银行分行等级中。
管理“废”卡的技术是重要的,因为这些技术的效率能够决定一个给定智能卡系统总的赢利或亏损。如果智能卡系统操作者粗心和如果使用了不适当的废卡管理技术,与可能挽回的钱相比,操作者可能会最终使每位顾客损失更多的钱。
废卡上的这些操作键期限满后,可以从废卡清单中将这个卡除去。假设在任一时间,在废卡清单上的用户智能卡仅有5%,那么,一张分行卡能够储存1200张废卡帐号和管理一组24000个用户卡。
如果与一个特定银行分行相对应的用户智能卡失窃不超过10%,那么下一个等级(称为“银行地区”)将能够管理6000张银行分行智能卡。这个方案中顾客的总数能达到144百万。因为这需要提供较大的总系统容量,因此可以使用叫做“银行中心”的另一等级。银行中心智能卡103能处理6000张银行地区卡,这样就提供了大量的总系统容量。
关于智能卡的更新时间,假设最多花10秒钟时间更新一张智能卡。进一步假设在同一小时内有24000人要对他们的密码键进行更新。那么这个系统必须有等量的24张分行卡进行满负荷的工作。如果银行分行智能卡被复制,这些卡的每一个被分别给予一个不同的帐号以使产生过程能够由一张智能卡执行和管理。一个特定的智能卡帐号绝不能多次发行,考虑到这种限制,在一个地区的用户智能卡102、104的最大数量为600百万张。因为银行分行卡可以被指定更新次数,所以银行地区卡就不需要进行复制。
所有密码键由具有智能卡102的结构并含有一个随机数发生器的一张银行中心智能卡产生。银行中心智能卡的密码键存储寄存器装有产生和更新所有其他智能卡所需的密码键。在原始卡发行过程结束以后,就是如何对密码键进行更新的过程了。一个更新日期和密码键的命令被送入银行中心智能卡,银行中心智能卡用它的随机数发生器产生一个新的密码键并对与这个新密码键相对应的第一个操作键进行更新,同时使KEY-NUMBER文件的内容增加。以一个新的日期对KEY-NUMBER文件进行更新。同时一个新的利率也能被送入银行中心智能卡。
在这个银行中心智能卡更新完自己的密码键后,它就排定了与所有银行地区智能卡进行交易的计划表,以对他们的密码键进行更新。这些银行地区智能卡然后再对银行分行智能卡进行更新,最后分行智能卡对用户智能卡进行更新。
一般来说,当货币从一张智能卡中取出时,只能转到另一张智能卡上。但对银行中心智能卡是个例外。存在一种带有与存储在银行中心智能卡中的操作键值相匹配的键值的银行中心卡键。无论谁得到这个键,都可以通过修改这张卡的余额文件来创造货币。这个人不能读这张银行中心卡上的操作键。为了沿着从银行中心智能卡到用户智能卡102、104的卡的金字塔方向得到这笔货币,一个银行地区卡持有者要请求卡上的一笔比如说100万美元的转移,以另一种形式同类似的创造货币转移进行交换。只要银行中心卡持有者正确地按下这个键,这笔交易就能进行(很可能是与过去用的创造货币键不同的键)。这笔货币沿着卡的金字塔方向一直流到持卡者自己手中。如果这个操作进行下去,那么卡币向下流动,其他货币向上流动。例如,在一个涉及两张卡(智能卡102和智能卡104)的卡币交换中,卡102、104可以是图2所示的任何一张卡。对两张指定的智能卡102、104,图2描述了可能发生的这种金融交易的特点。
现在将对金融交易的流通过程进行描述。这些交易能够通过一个远距离通信链路来完成。交易总是在两张卡之间进行,智能卡读入装置和PC软件仅仅起连接这些卡和提供用户输入的作用。常规的智能卡读入装置设在通信链路的两端,每个发送者设有一个用于PIN或键输入的键盘(与ATM或带有小键盘的电话转换器相似)。这些读入装置为熟悉本领域的人所共知。
金融交易按图3所示的步骤进行。首先,在方框301中,智能卡102(第一智能卡)插入第一智能卡读入接口141(第一智能卡读入装置)中。其次,与第一智能卡102对应的持卡者拨电话号码(如果读入装置带有电话适配器的话)或选择正确的菜单条目(如果用ATM或以PC为基础的卡读入装置)来访问一台主计算机和/或另一个电话适配器。这使得形成与主计算机或与另一个电话适配器的连接(方框302)。
在方框303中,第二智能卡104插入第二个智能卡读入接口143(第二智能卡读入装置),然后智能卡102的卡持有者输入“ENCH.”或等效的码到读入装置的第一个智能卡读入接口141小键盘(方框304)。
在方框305中,第一智能卡读入接口141提示完成这项金融交易所需的信息,这个信息可以包括a.贷方/借方/利息b.要转移的货币数量c.卡PIN或密码键号码值然后,第一智能卡读入接口141送一个详述这笔金融交易(方框306)的数据包给第二智能卡读入接口143。
在方框307中,第二智能卡读入接口143为与智能卡104相对应的持卡者提示完成这笔金融交易所需的信息。这个信息可以包括a.贷方/借方/利息b.要转移的货币数量c.卡PIN或密码键号码值在方框308中,第二智能卡读入接口143送一个详述这笔金融交易的数据包到第一智能卡读入接口141。如果在方框306和308中的所送数据包是一样的,那么通过输入一个密码键号码值,由下面表格确定的卡读入装置就开始进行金融交易。因此,哪一个持卡人开始这笔金融交易无关紧要,从这时起,将根据进行的金融交易的类型按一个标准的流程进行。
金融交易 第一读入装置智能卡102送卡币到智 第二智能卡读入接口143能卡104智能卡102从智能卡104 第一智能卡读入接口141接收卡币智能卡102从智能卡104 第一智能卡读入接口141接收利息和密码键智能卡102送利息和密码 第二智能卡读入接口143键到智能卡104下面部分详述列在上表的第一和最后一种金融交易。如果智能卡102、104被转换,那么剩下的两笔金融交易是同样的。
图4A和4B叙述了持卡者之间进行金融交易的步骤。智能卡102代表卡1,是一张“花钱”人的卡,智能卡104代表卡2,是一张“收钱”人的卡。在方框401中,插入智能卡102,并对卡PIN进行检验(这个检验子步骤对少于存储在MIN-TRANS文件中的量的金融交易是任意选择的)。下一步,插入智能卡104并进行PIN检验(这项检验子步骤可对所有情况任意选择)(方框402)。在方框403中,第二智能卡读入接口143通过确定贷方和数量A1的输入的变量,执行前面叙述过的智能卡104的C-EXCH.EXE程序,智能卡104以第一键的密码键号码作出反应。然后第二智能卡读入接口143把这个密码键号码送到第一智能卡读入接口141(方框404)。
第一智能卡读入接口141通过确定借方、数量(A1)和智能卡104的键号码的输入变量来执行智能卡102的C-EXCH.EXE程序。智能卡102以一个与智能卡104的第一、第二或第三密码键相等的键号码作出反应。如果智能卡102和104中没有一个键号码相匹配,智能卡102用这套智能卡104预设的键不能工作,这样智能卡102使金融交易中断并对BAD-KEY文件进行校正(方框405)。在方框406中,第一智能卡读入接口(141)把反应送到第二智能卡读入接口143。第二智能卡读入接口143把这个键号码的反应送到智能卡104。这个键对这笔交易的其余部分来说成为第一个密码键(APPKEY0,或缩写为AP0)(方框407),智能卡102继续以被编成密码APPKEY0(AK0)的数据包1(P1)作出反应,这对智能卡104起着查询的作用。智能卡102也对它的PASSBOOK文件(方框408)进行校正。第一智能卡读入接口141送这个数据包到第二智能卡读入接口143(方框409)。智能卡104以编成密码AK0的数据包2(P2)作出反应。这是对该查询的反应,同时智能卡102检查,以确认第三区域(公共名)已经从P1进行变化并且是一个有效名(在一定范围内只包含ASCII码)。智能卡104也对它的PASSBOOK文件进行校正(方框410)。第二智能卡读入接口143送这个数据包到第一智能卡读入接口141(方框411)。智能卡104继续以编成密码APPKEY1(AK1)的数据包3(P3)作出反应,这对智能卡102起查询作用(方框412)。第二智能卡读入接口143把这个数据包送到第一智能卡读入接口141(方框413)。智能卡102从卡的余额中将这笔钱记入借方并对PASSBOOK文件进行校正(方框414)。智能卡102以被编成密码AK1的数据包4(P4)作出反应,这是对查询的反应,智能卡104检查以确认第三区域(贷方数量)已经从P3变化为P4,并且是一个有效的区域(含有正确的不同于借方码的贷方码和含有与P3中相同的数量)。如果这些区域不正确,就校正BAD-KEY文件(方框415)。第一智能卡读入接口141送这个数据包到第二智能卡读入接口143(方框416)。智能卡104把这笔钱记入其卡的余额中的贷方,并对PASSBOOK文件进行校正(方框417)。
密码键更新和利息交易将根据图5A和5B进行叙述。这些交易是在一个用户卡和一个银行分行卡(或同样地在这张分行卡和地区卡之间或在这张地区卡和中心卡)之间进行。下面叙述一个持卡人与分行卡交易的步骤。智能卡102代表卡1,这里是指银行分行,这张卡是“花钱”人的卡。智能卡104代表卡2,这里是指持卡人,这是一张“收钱”人的卡,在这个交易过程中,有时智能卡104的PASSBOOK文件需要被读入、储存和清除。
方框501智能卡102插入并检验PIN。这个步骤与某人在银行把分行卡装入一个卡读入装置是相同的。方框502智能卡104插入并检验PIN。这个步骤确保持卡人自己拥有这张卡,类似与在一个ATM(你可能被拍照以证明这张卡是你的)上用你的通用卡。方框503第二智能卡读入接口143用自变量2(接收利息)执行智能卡104的C-EXCH.EXE文件。智能卡104以它的APPKEY0(0到255)的键号码作出反应。方框504第二智能卡读入接口143把这个键号码送到第一智能卡读入接口141。方框505第一智能卡读入接口141用自变量3(付出利息)和智能卡104的键号码执行智能卡102的C-INT.EXE文件。智能卡102以与智能卡104的APPKEY0、APPKEY1或APPKEY2相同的一个键号码作出反应。如果智能卡102用这套设定的键不能工作,那么这笔交易中断,同时建立一个失效键文件交易。方框506第一智能卡读入接口141把反应传到第二智能卡读入接口143。方框507第二智能卡读入接口143把这个键号码反应送到智能卡104。这个键对这笔交易的其余部分成就了APPKEY0。方框508智能卡102继续以被编成密码APPKEY0(AK0)数据包1(P1)作出反应。这起着对智能卡104的查询作用。智能卡102也对它的PASSBOOK文件进行校正。方框509第一智能卡读入接口141把这个数据包送到第二智能卡读入接口143。方框510智能卡104以被编成密码AK0的数据包2(P2)作出反应。这是对查询的反应,智能卡102检查以确认这个第三区域(公共名)已经根据P1进行了改变并且是一个有效名(在一定范围内仅仅包含ASCII码)。智能卡104也对它的APSSBOOK文件进行校正。方框511第二智能卡读入接口143把这个数据包送到第一智能卡读入接口141。方框512智能卡104继续以被编成APPKEY1(AK1)的数据包5(P5)作出反应。这起着对智能卡102的查询作用。方框513第二智能卡读入接口143把这个数据包送到第一智能卡读入接口141。方框514智能卡102检查以确认第三区域(余额)存在经检验有效的货币总额和符合逻辑的日期和利息率,同时也对照BAD-CARD文件对第四区域(帐号)进行检验,(如果发现在BAD-CARD文件中有此号码,它就起动一个无效卡传送)。利用它的时间文件,计算贷给智能卡104的利息数量、从智能卡102的余额中借出的数量并对PASSBOOK文件进行校正。智能卡102还查看智能卡104是否需要一个新键,如果需要,用P6提供。方框515智能卡102以被编成密码AK1的数据包6(P6)作出反应,这是对查询的反应,智能卡104检查确认第三至第五区域已经从P5进行改变并有效。方框516第一智能卡读入接口141把这个数据包送到第二智能卡读入接口143。方框517智能卡104把贷款的数量记入卡的余额贷方,如果需要,改变数据并对利息率进行校正。如果一个新键在第五区域内,通过用这个新键取代最老的键(APPKEY0)对操作键进行校正,KEY-NUMBER文件中数增加。它也对PASSBOOK文件进行校正。
图6所示的数据包在一笔金融交易期间可以从第一智能卡转移到第二智能卡。数据包1包括以下区域和信息区域601随机数。第一区域是由智能卡102产生的一个八字节的随机数。区域602操作数。第二区域是对所有持卡者的卡都一样的八字节的操作身份证号。区域603公共名。第三区域是持卡人智能卡102的一个八字节的ASCII码名。区域604帐号或签名。第四区域或者是由智能卡102用APPKEY0产生的最初三个区域的一个八字节的签名或者仅仅是智能卡102的帐号(如果不要求保密的话)。这四个互相交叉(每个区域每次有两个字节)并被编成密码APPKEY0,且从智能卡102送到智能卡104。
数据包2包含以下区域和信息区域611随机数。第一区域是由智能卡102产生并被接收在数据包1中的八字节随机数。区域612操作数。第二区域是对所有持卡人的卡相同的八字节操作身份证号。区域613公共名。第三区域是持卡人智能卡104的一个八字节ASCII码名。区域614帐号或签名。第四区域或者是智能卡104利用这个卡的键0产生的最初三个区域的一个八字节签名,或者仅仅是智能卡104的帐号(如果不要求保密的话)。这四个区域互相交叉(每个区域每次有两个字节)并被编成密码APPKEY0,且从智能卡104送到智能卡102。
数据包3含以下区域和信息区域621随机数。第一区域是由智能卡104产生的八字节随机数。区域622操作数。第二区域是对所有持卡者的卡都相同的八字节操作身份证号。区域623借款数量。第三区域是要从智能卡102的余额文件中借款的数量。区域624帐号或签名。第四区域或者是由智能卡104利用卡的键0产生的最初三个区域的一个八字节签名或者仅仅是智能卡104的帐号(如果不要求保密的话)。这四个区域互相交叉(每个区域每次有两个字节)并被编成密码APPKEY1,且从智能卡104送到智能卡102。
数据包4含有以下区域和信息区域631随机数。第一区域是由智能卡104产生并被数据包3接收的八个字节的随机数。区域632操作数。第二区域是对所有持卡者的卡同样的八个字节的操作身份证数。区域633贷款数。第三区域是记入智能卡104余额文件的贷款数。区域634帐号或签名。第四区域或者是由智能卡102利用卡的键0产生的最初三个区域的一个八字节的签名或者仅仅是智能卡102的帐号(如果不要求保密的话)。这四个区域互相交叉(每个区域每次有两个字节)并被编成密码APPKEY1,且从智能卡102送到智能卡104。
数据包5含有以下区域和信息区域641随机数。第一区域是由智能卡102产生并被数据包1接收的一个八个字节的随机数。区域642操作数。第二区域是对所有持卡者的卡同样的八个字节的操作身份证号。区域643余额。第三区域包含智能卡104的余额文件,有24个字节长。区域644帐号或签名。第四区域或者是由智能卡104利用卡的键0(AK0)产生的最初三个区域的一个八字节的签名或者仅仅是智能卡104的帐号(如果不要求保密的话)。这四个区域被混合成8个字节的6组,并被编成密码APPKEY0,且从智能卡104送到智能卡102。
数据包6含有以下区域和信息区域651随机数。第一区域是由智能卡104产生并被数据包5接收的八个字节的随机数。区域652操作数。第二区域是对所有持卡者的卡同样的八个字节的操作身份证号。区域653贷款数。第三区域是记入智能卡104BALANCE文件的贷款数。区域654日期。第四区域是智能卡104BALANCE文件的新日期和利息率。区域655新操作键。第五区域有八个字节长,包含一个新的操作键,如果智能卡104没有这个最新的键的话。区域656帐号或签名,第六区域是智能卡102的帐号,因为保密和利息是相互排斥的。这六个区域混合成8个字节的6组,并被编成密码APPKEY1,且从智能卡102送到智能卡104。
用户智能卡102、104使用的数据结构示于图7中。每个用户智能卡包括以下文件ACCOUNT-NUMBER 701,这个文件包含一个专有的占8个字节的16位的帐号。C-EXCH.EXE702。这个执行文件在上面描述过。
BALANCE703。这个文件包含卡的余额数量、余额币种、最后一次记录的利息、币种序号和余额校验和。余额数量有4个字节长,每个字节的6位用于储存数值,2位用作校验和。余额币种有一个字节长,每一币种有一不同的码。最后一次利息的日期有4个字节长,月份2位、日2位、年4位。利息率占3个字节。币种序号占4个字节,代表一个为这张卡所专有的数(可能是用主密钥编码的帐号)。余额校验和有8个字节长,表示被文件的第二个8字节编码然后用主密钥编码的文件的第一个8字节,这样余额文件长度24个字节。
APPKEY0 704到APPKEY3 707,这些文件包含四个操作键,每个占8个字节。PASSBOOK 708,这个文件包含类似于一个银行存款帐户的检查跟踪。每个记录占36字节,总计可储存50个记录。每个记录包括对方帐号(或签名,如果要求保密的话)(8个字节)、对方的共用名(8个字节)、由对方卡产生的随机数(8个字节)、日期(如果已知)(4个字节)、贷方或借方或利息(1个字节)、交易数量(3个字节)和新帐户余额(4个字节)。这个文件总的大小是1800字节。除非要求保密,这个文件当进行有效的银行交易时,下装到这个银行。如果对商人用户卡需要较大的文件,可以提供8K的卡,PASSBOOK文件可以大大地扩展。
KEY-INFO 709。这个文件存储当前的APPKEY数和键被银行更新的最后日期。它有5个字节长(1个用作这个数,4个用作日期)。BAD-KEY 710,这个文件储存无效键尝试次数,有2个字节长,在进行一次有效的银行交易后便复位。当这个数达到一个设定的极限时,这个卡便被关闭。MIN-TRANS 711,这个文件储存上面提到的要求PIN的交易数量,有3个字节长。MAX-TRAN712,这个文件储存上述的要求一个键的交易数量,有4个字节长。RANDOM-NUMBER 713,这个文件带有随机数的数根以确保这些数在任何一个可预见的模式中不被重复。如果这个执行文件有700个字节长(与TCAs相同),这个卡所需要的总的容量约为2700字节。
除了上面根据图7叙述的文件,每一银行智能卡还包括在图7中示出的下述附加文件BAD-CARD 801,这个文件储存了一个4字节废卡帐号数,它能储存总文件量为4800字节的共1200个数。VALID ACCOUNT 802,这个文件储存能进行键更新的卡的最高和最低有效帐号,有32字节长。C-INT.EXE 803,这个执行文件使卡能给付利息和更新键。INTEREST 804,这个文件储存日利息率,有4个字节长。
关于系统诈骗和诈骗的防范。如果智能卡系统操作员有钱,诈骗者是存在的,诈骗者是那些想把操作员的钱取走的人。现在介绍诈骗和防范的可能方法。ATT ACK#1,企图把钱放入一张没有从其他卡取钱的卡上。要做到这一点,必须把一个数据包送到这个卡上,包括贷方的正确信息。有三种可能的诈骗方法A.重现诈骗,这将行不通,因为每一数据包包含一个专有随机数,系统操作员必须确认各个卡以一个不同的随机数根启动,不能以任何方法重新设定到它的原始数根。因为这些随机数没有一个是以显式文本形式输入的,这样就提供了某种保护。B.以传送数据包到这张卡上的方式随机尝试,这将不会成功,因为经过多次猜试后,BAD-KEY文件将使这张卡关闭,这就是对付试图对这个键进行猜测的。C.直接的键盘尝试。在上面叙述的操作中,诈骗者应该有一个好的数据包,并用随机键对它进行解码,直到得到一个有效的操作数,这要花每个数据包的平均两次解码和263次指望成功的不同键的尝试或584年的每秒10亿次编码时间的平均时间。这直接与国家标准局数据密码标准(DES)有关,安全就是建立在这个基础之上的。在减慢交易速度和减小诈骗次数的情况下,可以在存在风险的环境中使用两次编码。
ATTACK#2,偷一张有效卡。对进行较小交易的所有卡作了PINs保护,对进行较大交易的所有卡作了键保护。小偷能用这张卡在MIN-TRANS文件的限制下进行交易,但当下一次利息/键更新出现时,这张卡就失效了。如果担心持卡者的PINs或密码键被盗,这个失效的过程在大量购货的销售终端上也可以发生。如果小偷试图(通过购买现金而不是货物或许,通过与另一持卡者进行交易)把卡币转换成现金,那么小偷必须有PIN或密码键或受储存在PASSBOOK文件(50)中的交易数量的限制。因此,如果这位用户没有丢失PIN,可能损失的最大金额为250美元(如果MIN-TRANS文件设定为5美元并且没有交易储存在PASSBOOK文件中),这个损失可以通过把MIN-TRANS文件中的数降为0而变为0。如果PIN文件丢失,那么潜在的有危险的金额数量是MAX-TRANS文件或储存在这张卡上的数量的50倍。如果MAX-TRANS文件设定在100美元,那么有5千美元处于潜在危险中。因此这张卡更象现金而不是一张普通的信用卡,需要比信用卡更小心的对待。
不言而喻,上面叙述的实施例仅仅是对本发明的原理进行说明,那些熟悉本技术领域的人不需脱离本发明的范围就能设计出许多变化,因此在下述的权利要求中将包括这些变化。
权利要求
1.一种实施金融交易的方法,其特征在于具有以下步骤(1)在包括至少一个第一智能卡和一个第二智能卡的多个智能卡上存储币值的电子表示;(2)为提供系统安全,为第一和第二智能卡的至少一个装备一个电子密码锁;这个密码锁具有一个关闭状态和一个打开状态,关闭状态使智能卡不能参与至少一种金融交易,打开状态使智能卡可以参与至少一种金融交易;(3)为第一智能卡配备第一密码键,为第二智能卡配备第二密码键;(4)如果第一密码键与第二密码键匹配,将第一密码键与第二密码键比较后发出一个匹配信号;如果第一密码键与第二密码键不匹配,就发出一个不匹配信号;电子密码锁对匹配信号的反应是进入打开状态,对不匹配信号的反应是进入关闭状态。
2.如权利要求1所述的实施金融交易的方法,其特征在于金融交易包括把一个货币值的电子表示从第一智能卡转移到第二智能卡。
3.如权利要求1所述的实施金融交易的方法,其特征在于所述金融交易包括下列一项或多项(1)从一个银行电子转移货币到多个智能卡中的一个;(2)从多个智能卡中的一个电子转移货币到一个银行;(3)从第一智能卡电子转移货币到第二智能卡;(4)从第二智能卡电子转移货币到第一智能卡;(5)检验一个智能卡余额,其包括电子储存在若干智能卡中的任一卡中的货币数量;(6)加利息到该智能卡余额中。
4.如权利要求1所述的实施金融交易的方法,其特征在于一智能卡包括若干第一密码键,第二智能卡包括若干第二密码键,如果若干第一密码键中的若干键与若干第二密码键中的若干键匹配,比较步骤便产生一个匹配信号。
5.一种实施安全金融交易的设备,其特征在于(1)第一智能卡包括①储存币值的一个电子表示的币值储存装置;和②储存一个第一电子密码键的密码键储存装置;(2)第二智能卡包括①储存币值的一个电子表示的币值储存装置;和②储存一个第二电子密码键的密码键储存装置;第一和第二智能卡均还包括③比较第一电子密码键和第二电子密码键的密码键比较装置,如果第一电子密码键与第二电子密码键匹配,比较装置产生一个匹配信号;如果第一电子密码键与第二电子密码键不匹配,比较装置产生一个不匹配信号;和④耦合到密码键比较装置上的电子密码锁装置,用于使智能卡在收到匹配信号后能参与一金融交易,收到不匹配信号后不能参与一金融交易。
6.如权利要求5所述的实施安全金融交易的设备,其特征在于第一智能卡密码键存储装置包括存储若干第一电子密码键的密码储存装置,第二智能卡包括用于存储若干第二电子密码键的密码键存储装置;密码键比较装置用于将所述若干第一电子密码键中的任一键与所述若干第二电子密码键中的任一键进行比较;如果所述若干第一电子密码键中的多个键与所述若干第二电子密码键中的多个键相匹配,比较装置产生一个匹配信号;如果所述若干第一电子密码键中的多个键与所述若干第二电子密码键中的多个键不相匹配,比较装置产生一个非匹配信号。
7.如权利要求5所述的实施金融交易的设备,其特征在于还包括(1)第一智能卡读写装置,用于从第一智能卡读取数据和写入数据;(2)第二智能卡读写装置,用于从第二智能卡读取数据和写入数据;(3)通信链装置,与第一智能卡读写装置和第二智能卡读写装置相连,用于在第一智能卡和第二智能卡之间交换数据。
8.如权利要求7所述的实施金融交易的设备,其特征在于所述数据包括至少一个密码键。
9.如权利要求5所述的实施金融交易的设备,其特征在于还包括(1)第三智能卡;(2)第一智能卡读写装置,用于向第一智能卡、第二智能卡和第三智能卡中的至少一个读取数据和写入数据;(3)第二智能卡读写装置,用于向第一智能卡、第二智能卡和第三智能卡中的至少一个读取数据和写入数据;和(4)连接第一智能卡读写装置和第二智能卡读写装置的通信链装置,用于在第一智能卡、第二智能卡和第三智能卡之间交换数据。
10.如权利要求9所述的实施金融交易的设备,其特征在于第一智能卡是一银行中心智能卡,第二智能卡是一个商人智能卡,第三智能卡是一个顾客智能卡,数据包括金融交换数据以及一个或多个密码键,金融交换数据指定包括电子货币量和/或利息率的金融参数,金融交易包括以下一项或多项(1)将货币从银行中心转移到第一、第二和第三智能卡中的任意一个,(2)将货币从第一、第二和第三智能卡中的任意一个转移到银行中心,(3)在第一、第二和第三智能卡的任意两个之间转移货币,(4)检验智能卡余额,该余额包括存储在第一、第二和第三智能卡的任意一个中的货币数额,和(5)在智能卡余额中加入利息。
11.一种实现安全金融交易的智能卡,其特征在于包括(1)用于存储一个币值的电子表示的币值存储装置;(2)用于存储一个第一电子密码键的密码键存储装置;(3)密码键比较装置,用于接收一个第二电子密码键,并将第一电子密码键与第二电子密码键进行比较,如果第一电子密码键与第二电子密码键相匹配,比较装置产生一个匹配信号,如果第一电子密码键与第二电子密码键不相匹配,比较装置产生一个非匹配信号;和(4)耦合到比较装置的电子密码锁装置,用于响应匹配信号使智能卡参与一个金融交易,并响应非匹配信号禁止智能卡参与金融交易。
全文摘要
用于提供安全电子金融交易的系统和方法,其特征在于货币被电子储存在若干智能卡中,每个智能卡装备有一个具有闭合状态和打开状态的电子安全壁。处于闭合状态时,智能卡不能参与金融交易,处于打开状态时,智能卡可以参与金融交易。密码键智能卡装备有用于将电子安全壁从打开状态改变为闭合状态的第一密码键和用于将电子安全壁从闭合状态改变为打开状态的第二密码键。
文档编号G06K17/00GK1120203SQ95101908
公开日1996年4月10日 申请日期1995年2月6日 优先权日1994年2月8日
发明者戴维·迈克尔·克劳斯 申请人:美国电报电话公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1