互动认证过程的制作方法

文档序号:6480781阅读:143来源:国知局
专利名称:互动认证过程的制作方法
技术领域
本发明涉及到对人或装置的认证,特别是关于使用智能卡无需认证个人或装置的应用。
近年来,由私人和公司所进行的非现金金融交易都有大量的增长。非现金金融交易的例子包括透过信用卡或预付卡(或是由个人通过电话或互联网)来支付商品和服务,以及电话和互联网银行事务。而电子付款(e-cash)将会在未来加入这一行列。
对进行交易的个人(或公司)的认证始终是非现金交易所面临的一个问题,要确认试图使用非现金支付手段的他或她是不是有权使用的个人。随着互联网使用率和第三者截取交易数据的可能性日增,公众对这一问题日益关注。许多人不愿意在互联网上提供信用卡资料,而商家也关注“骇客”的犯罪活动,因为他们能非法窃取个人信用卡资料。
某些信用卡行业的领导者(包括Visa和万事达)正积极地推广名为[SET]的安全标准。

图1表示SET方案,其工作方式如下。
互联网上的一宗交易要通过用数字证书执行的一系列安全检查。所有参与者必须拥有用于识别的数字证书。顾客将使用有时被称为“钱包(Wallet)”的持卡人申请(Cardholder Application)来付款。付款信息经加密后与数字证书一起传送。
商户的服务器接收加密的付款信息。它在加密的顾客资料上加入商户的付款资料,并传送给一个付款网关(Payment Gateway)由持卡人审核并确认付款。付款网关通常是由收款银行(即持有商户帐户的那个银行)来运作的。网关要审核顾客(付款人)和商户(收款人)的数字证书。只有确认了顾客和商户身份,才批准该宗交易。因为这是由信用卡的收款银行来操作的,网关还需要与发卡银行确认这宗交易。
SET有这样一个问题,如果一方没有数字证书,系统就不能工作。另外,骇客能闯入顾客的计算机或商户的服务器并获得证书信息的概率很高,这种安全漏洞始终存在。既然有遭受攻击的可能性,不诚实者会利用这个机会谎称他或她没有亲自使用信用卡做这宗交易,也会谎称其计算机曾被越权者使用过。
为了扩展非现金交易(特别是在互联网上)的使用,不少国家已订立或正考虑制定法律给予数字签名与亲笔签名同等的法律效力。可以按以下方式使用数字签名。
把已存储用户的数字签名的智能卡提供给用户。它是用户实际亲笔签名的一种数字形式。当用户购物时,他将卡放入商户的读卡器。系统会要求用户将他或她的签名写入系统(例如是使用触摸感应屏幕)。然后由系统核实两个签名是否相同。如果相同,就授权用户继续进行交易。
该方法有以下的潜在问题1)第三者能窃取实际签名的副本并印在纸上以欺骗系统;2)人们能修改读卡器设备,使它总产生确认信号来蒙骗中央计算机。这样,商户的服务器很容易被欺骗,因为认证仅仅是依赖智能卡;3)商户的计算机很可能留下‘痕迹’被骇客发现并复制。
另一发展是以指纹识别程序来确定卡的用户是不是卡的真正拥有者。该系统与上述数字签名系统类似,但是使用指纹而不是签名,即在卡中存储持卡人指纹的数字形式。当用户试图购物时,商户的系统要求用户把手指放在一个阅读器上扫描指纹。系统将扫描的图像与从卡中读出的主人图像相比较。与数字签名方案类似,这种方案仍然有潜在的问题。
为了完成金融交易还有人采用了许多其它方法来认证个人和公司。其中不少都是依赖于复杂的加密和认证算法,例如是公共-私人密钥对。然而,在提供了高级安全性的同时,它们缺乏上述方案的便利性,并且往往在用户一侧和确认一侧双方都需要大量的处理能力。这些问题不仅限于金融交易,在需要个人或机构认证在其它场合下也会出现,例如是个人必须经授权才能通过远程连接访问机密或限制性信息的情况,例如是接收(电缆或卫星)。电视广播,或者是访问一个公司的局域网。
本发明的目的是克服或者至少是缓解上述用户认证方案的缺点。本发明的目的特别在于提供一种对个人,机构或装置等等进行认证的手段,它需要比较低级的处理能力,而同时又能有效地防范骇客,欺诈等等行为。
按照本发明的第一方面提供了一种对个人或装置进行认证的方法,该方法包括以下步骤
在第一计算机系统中存储多个公式;在第二计算机系统中存储上述公式的副本;在上述第一或第二计算机系统中确定或识别用来识别一个上述公式的至少一个号码;将上述号码传送给其它计算机系统;在第一计算机系统中用该号码识别出的至少一个公式计算出一个结果;将计算结果传送给第二计算机系统;并且在第二计算机系统中对个人进行认证,将接收的结果与第二计算机系统用上述号码和存储在第二计算机系统中的公式计算出的结果相比较。
该方法的步骤显然还可以依照指定的或任何其它适当的次序来执行。
本文中使用的术语“个人”可代表个人,群体,公司和其它组织。而术语“系统”特别包括代表计算机终端,诸如移动电话等无线设备,以及计算机系统。
上述至少一个号码最好是随机号码。由第二计算机系统产生这至少一个随机号码,然后传送给第一计算机系统。
除以上公式之外,在第一计算机系统和第二计算机系统中最好还存储多个数值。由上述第二计算机系统产生至少一对随机号码,将其传送给第一计算机系统。用上述一对随机号码当中的一个识别一个上述公式,而另一个识别一个上述数值。用识别出的公式和数值来计算上述结果。上述数值可更为优选地包括对应着先前计算结果的一或多个数值。
上述第一计算机系统最好是诸如智能卡一类的手持装置。第一计算机系统也可以是一台移动电话或其它无线设备,PC机等等。数值和公式可以存储在可插入系统中的一个存储卡或芯片上,例如是移动电话的SIM卡。第二计算机系统最好是由负责签发智能卡的组织来操作的一个中央服务器。该组织例如可以是银行。
在有许多人需要由上述中央服务器来认证的一个系统中,由不同个人拥有的装置各自存储着不同的公式和数值。
最好是在完成了认证阶段之后用一种不可预料的方式来更新由系统和中央服务器存储的公式和/或数值。例如,中央服务器可以向手持设备发送用于重组或重新计算上述公式和数值的指令。这其中例如包括在中央服务器上随机产生的指令,并且发送给手持设备,为公式和数值确定一个新的次序,其中的上述一对随机号码是公式和数值序号。
最好是在认证成功之后将上述计算结果添加到存储在第一和第二计算机系统中的数值序列中。先前存储的数值可以从序列中删除。
在本发明的某些实施例中,由第二系统产生多对随机号码并且传送给第一系统。每一对包括用来识别一个上述数值的第一号码和用来识别一个上述数值的第二号码。用识别出的数值和公式为每一对计算中间结果。然后将中间结果加以组合计算出最终结果。
可以用另外的随机号码补充上述成对的随机号码,用来选择数值或公式以便计算出一个结果。
最好在第一和第二计算机系统之间不加密地传送上述成对随机号码和上述计算结果。即使这一数据在途中被“中间人”窃取,他也无法使用,因为他不知道由第一和第二计算机系统持有的公式和数值。当然,如果需要高级保密,可以对数据加密。这时就需要两个系统具有更强的处理能力。
上述第一和第二系统最好通过互联网相互通信。这其中可能包括也可能不包括无线链接。然而,系统也可以通过专用电话连接来通信。其它形式的连接也是容易实现的。
对上述第一系统的访问组合最好由一个口令来保护。当系统被一个人所拥有,并且用该系统认证这个人时,他就需要向系统输入口令才能进行认证过程。
本发明的方法最好在金融交易方面用于个人认证。这种交易可以是信用卡或预付卡交易。认证过程的结果可以由第二计算机系统传送给与其达成交易的商户,或者是传送给第一系统。第一计算机系统可以实际连接到商户的服务器,或者通过诸如互联网等通信网络与商户的服务器连通。本发明还可供除金融交易之外的用途来认证个人或机构,这其中包括但是不仅限于远程访问例如一个网址的机密或限制性信息。
按照本发明的第二方面所提供的装置包括用于存储多个公式的存储器;用来接收由该装置或远程系统随机产生的至少一个标识符的输入装置,用该标识符识别一个上述公式;用上述识别出的公式计算出一个结果的处理装置;以及输出装置,用于将计算结果传送给一个远程系统以便对该装置或是其用户进行认证。
计算机系统最好是包括一种智能卡。
按照本发明的第三方面提供了一种对个人或装置进行认证的方法,该方法包括以下步骤在第一计算机系统中存储一序列公式和一序列数值,每次都需要一次认证;在各个序列中选择位于特定位置上的至少一个公式和至少一个数值,并且用选择的公式和数值计算出一个结果;用计算的结果认证个人或装置;以及重新排列和/或更新公式和/或数值的顺序。
按照本发明的第四方面提供了一种对个人进行认证的方法,该方法包括以下步骤从上述个人所访问的计算机系统向一个认证计算机系统和一个可信赖的计算机系统传送一个标识符;在可信赖的计算机系统中核实该标识符,如果该标识符得到核实,就将该标识符传送给认证计算机系统;并且在认证计算机系统中核实从上述计算机系统接收到的标识符,将其与从可信赖的计算机系统接收到的标识符相比较。
最好是以加密的形式从上述被访问计算机系统向可信赖的计算机系统传送标识符,由可信赖的计算机系统来解密并核实后传送给认证计算机系统。更为优选地,用个人的公共密钥和一种对称的加密算法来执行加密。可信赖的服务器知道个人的私人密钥,因此它能够解密和核实该标识符,并且将其以不加密的形式提供给认证服务器。标识符以不加密的形式从上述终端传送到认证服务器。
按照本发明的第五方面提供了一种对个人进行认证的方法,该方法包括以下步骤在一个认证计算机系统上存储多个公式;在上述个人所访问的系统中存储上述公式的副本;从上述被访问系统向上述认证计算机系统和一个可信赖的计算机系统传送一个标识符;
在可信赖的计算机系统中核实该标识符,如果该标识符得到核实,就将该标识符传送给认证计算机系统;在认证计算机系统中核实从上述被访问计算机系统接收到的标识符,将其与从可信赖的计算机系统接收到的标识符相比较;如果上述标识符在认证计算系统中得到核实,就由认证计算系统随机产生用来识别一个上述公式的至少一个号码;将上述随机号码传送给上述被访问系统;在被访问系统中用接收到的随机号码所识别出的至少一个公式计算出一个结果;将计算结果传送给认证计算机系统;以及在认证计算机系统中对个人进行认证,将接收到的结果和认证计算机系统用存储在认证计算机系统中的上述随机号码和公式计算出的结果相比较。
为了更好地理解本发明及其实现的方式,以下要参照附图用实施例来描述,在附图中图1表示被称为SET的一种认证方案的示意图;图2是用来认证执行非现金金融交易的个人的一种系统的示意图;图3的流程图表示在图2系统中执行的认证过程;以及图4是另一种非现金金融交易系统的示意图。
上文已经参照图1说明了所谓的SET方案。以下要参照图2说明对个人(或团体,公司等等)进行认证的方案,图中表示了属于个人(客户)的一个智能卡1。智能卡可以由夹在两个金属板(形成一个法拉第盒以防电子“泄密”)之间的部件构成。具有智能卡阅读器/写入器3的一个服务器2由商户来管理,并且通过一个访问网络5(例如是PSTN网)连接到互联网4上。属于银行的一个服务器6(通过图2中没有表示的访问网络)被连接到互联网4。
智能卡1包括一个存储器8(例如是ROM,RAM,NVM,EPROM),在其中存储着客户的唯一识别代码(帐户号码)。在智能卡存储器8中还存有一组公式和一组数值(或者是历史记录)
表1每个公式和数值由一个序号1到N来识别。在将智能卡提供给客户时或者是此后可以将公式,数值和序号存储在智能卡中。数据是以不允许客户随意删改的形式来存储的。一般来说,智能卡1是由客户的银行发出的,并且存储的数据来自该银行。数据的副本被存储在银行的服务器6中,并且该数据对客户来说是唯一的。
以下要解释一种典型的非现金金融交易,假设客户希望在商户操作的服务器2上购物。由客户本人向商户提出购物要求。将智能卡1插入服务器2的读卡器3。客户可能被要求通过读卡器的键盘输入一个口令(或PIN号码),并且将其与从卡1中读出的口令相比较,以便认证要进行的交易。这种方式首先是安全性较差。然后由读卡器3从卡1中读出客户的身份代码。该代码被用来识别客户所属的银行,例如是图2中由银行操作的服务器6(并且向银行识别该客户)。然后由商户的服务器2通过互联网4向服务器6传送一个包括读取的身份代码的认证请求。
一旦接收到这一请求,服务器6就产生成对随机号码的一种号码,每个号码的范围从1到N;也就是{X1;Y1},{X2;Y2},…,{XM;YM}等等。所产生的对码从银行服务器6传送给商户服务器2,在那里用写卡器3传送给智能卡1。每个随机号码X确定存储在智能卡存储器8中的一个对应的公式,而每个随机号码Y确定一个对应的数值。智能卡1包含用来计算各随机号码对的电路(它例如可以包括一个CPU或硬件的逻辑),得到结果s=公式x{Y}。也就是说,由随机号码Y确定的数值在由随机号码Y确定的公式中被用做变量。结果(s1到sM)被加在一起提供一个“签名”数值。
签名数值由读卡器3提供给服务器2,并且传送给银行服务器6。银行服务器存储上述表1中所包含的信息的副本,并且用这一数据和产生的随机号码对{X,Y}来计算上述的签名。将服务器6所产生的签名与从商户服务器2接收的签名相比较。如果签名相符,就从银行服务器6向商户服务器2返回一个授权确认消息。一旦接收到这一消息,商户服务器2就允许交易进行。如果服务器6确定该签名不符,就向商户服务器2返回一个认证拒绝消息,而商户服务器2就终止交易。
为了降低恶意的第三方对客户的当前公式/数值表(即表1)进行重组,一旦接收到返回商户服务器2的授权确认消息就更新智能卡1存储的公式/数值表。特别是用对应的结果s也就是数值Y1=s1,数值Y2=s2,数值Y3=s3等等来替换由随机号码对的第二个数值Y表示的历史记录。保存在银行服务器6上的数据也严格地按照同一方式更新。当然也可以采用其它重组算法。
图3是说明这种非现金金融交易过程的一个流程图。
参照图4说明另外一种认证过程,其中涉及到客户装置9,认证服务器10,商户服务器11和一个可信赖的服务器12,它们全部通过互联网相互连通。客户装置9例如是一台其中插有Subscriber Identity Module(SIM)卡的移动电话。SIM卡中存储诸如上述表1的一个表,而表的副本被存储在由客户的银行操作的认证服务器10上。(或者是客户装置可以具有与SIM卡分开的用来接收一个认证智能卡的第二读卡器)。可信赖的服务器12由认证服务器和客户双方所信赖的一个团体来操作。认证过程包括以下的步骤(在图4中表示了各步骤的编号),它是在客户接触到商户服务器11并且指示要购买物品或服务之后执行的。
1.商户11向客户装置9返回他的帐户号码(A/C#)和该支付的数量;2.客户插入他的SIM(或认证)智能卡并输入程序口令;一旦接收到口令,就将用户A/C#、商户A/C#和数量传送给认证服务器。同时用属于客户的私人密钥对同样的数据加密(加密算法是对称的加密算法)。加密的数据被传送给可信赖的服务器12;3.认证服务器从客户那里接收数据并等待来自可信赖的服务器的响应;4.可信赖的服务器知道客户的私人密钥,并且能够对加密的数据解密以确认用户(和商户)的A/C#;解密的数据被传送给认证服务器10。
5.认证服务器10比较从移动电话9接收到的数据和从可信赖的服务器12接收的数据,提供对客户的初级认证。认证服务器10产生所需的随机号码对并将其参数给移动电话9;6.移动电话9按照接收的随机对计算计算出结果并核实总和(签名),并且将结果传送给认证服务器10;7.认证服务器10按照产生的随机对计算该签名,以延迟方式从客户那里接收响应,并且对签名进行比较;8.如果签名相符,认证服务器10就用指令更新SIM卡数据;9.更新SIM卡数据;10.更新认证服务器数据;11.将确认的认证消息从认证服务器10传送给商户服务器11;12.商户服务器11向客户的电话1确认交易已经完成。
上述的“回声”方案为参照图2和3所述的实施例增加了一层安全性。特别是该过程能够防止骇客仅仅传送给认证服务器大量的号码对认证服务器进行尝试,希望有一个号码能够符合正确的签名。
本领域的技术人员显然可以看出,无需脱离本发明的范围就能对上述实施例进行各种各样的修改。例如智能卡可以由移动电话中使用的SIM卡来实现。尽管数值和公式被存储在卡上,对结果的计算却可以在卡上或是由电话来执行。本发明还可以在带有或是没有智能卡的计算机(PC,手提电脑,掌上计算机)上实现。
可以用认证服务器产生一系列随机号码对,将其存储在有关的存储器中供以后使用。如果认证服务器从商户服务器上接收到一个认证请求,就从存储的系列中选择一组随机号码对,并且通过商户服务器返回给客户装置。存储的系列随机号码对可以具有一个时限(例如是一天)。
按照上述实施例的另一种变形,随机号码对可以由客户装置来产生。然后在认证消息中将产生的号码对传送给认证服务器。由客户装置产生的签名可以包括在认证消息中,或者是留待以后再传送。
还可以看出,除了对客户进行认证的银行(或其它机构)之外,客户还可以用类似或相同的交换过程来核实银行。这些认证过程可以几乎在同时或是按顺序执行。
权利要求
1.一种对个人或装置进行认证的方法,该方法包括以下步骤在第一计算机系统中存储多个公式;在第二计算机系统中存储上述公式的副本;在上述第一或第二计算机系统中确定或识别用来识别一个上述公式的至少一个号码;将上述号码传送给其它计算机系统;在第一计算机系统中用该号码识别出的至少一个公式计算出一个结果;将计算结果传送给第二计算机系统;并且在第二计算机系统中对个人进行认证,将接收的结果与第二计算机系统用上述号码和存储在第二计算机系统中的公式计算出的结果相比较。
2.按照权利要求1的方法,其特征是确定或识别至少一个号码的步骤包括产生一个随机号码。
3.按照权利要求1或2的方法,其特征是至少一个号码是在第二计算机系统中产生的,然后传送给第一计算机系统。
4.按照权利要求1至3之一的方法,其特征是,除了上述公式之外,在第一计算机系统和第二计算机系统中还存储有多个数值,由第一或第二计算机系统产生至少一对随机号码,并传送给第一和第二计算机系统的另外一方,用上述一对随机号码之一识别一个上述公式,而另一个用来识别上述数值,并且用识别出的公式和数值计算上述结果。
5.按照权利要求4的方法,其特征是上述数值包括对应着先前计算结果的一或多个数值。
6.按照权利要求5的方法,其特征是上述计算结果被包括在存储于第一和第二计算机系统中的数值序列中。
7.按照权利要求6的方法,其特征是用计算结果替换数值序列中现有的数值。
8.按照前述任何一项权利要求的方法,其特征是上述第一计算机系统是一个手持装置,例如是智能卡,PDA,移动电话或其它无线设备。
9.按照权利要求1至7之一的方法,其特征是上述第一计算机系统包括可拆卸的存储媒体,在上面存储着上述多个公式,以及用来读出和写入可拆卸存储媒体的装置。
10.按照权利要求1至7之一的方法,其特征是第一计算机系统是一种非手持设备,例如是一台PC或服务器。
11.按照前述任何一项权利要求的方法,其特征是上述第二计算机系统是由负责签发智能卡的机构来操作的中央服务器。
12.按照权利要求4或从属于权利要求4的权利要求5到11之一的方法,其特征是存储在第一计算机系统上的公式和数值的组合对于该系统是唯一的。
13.按照权利要求12的方法,其特征是由第二系统产生一或多对随机号码,并且传送给第一系统,每一对包括用来识别一个上述公式的第一号码和用来识别一个上述数值的第二号码,用识别出的数值和公式为每一对计算一个中间结果,然后将中间结果加以组合计算出最终结果。
14.按照前述任何一项权利要求的方法,其特征是在认证过程中或之后用一种不可预料的方式来更新和/或重组由第一和第二计算机系统存储的公式。
15.按照权利要求1至14之一的方法,其特征是每个上述公式可以按不同的方法来解释,该方法包括在认证程序中为每一个公式定义一种解释,并且在认证程序之后为一或多个公式重新定义其解释。
16.按照前述任何一项权利要求的方法,其特征是在第一和第二计算机系统之间不加密地传送上述号码和上述计算结果。
17.按照前述任何一项权利要求的方法,其特征是用一个口令来保护对上述第一系统的访问。
18.一种装置包括用于存储多个公式的存储器;用来接收由该装置或远程系统随机产生的至少一个标识符的输入装置,用该标识符识别一个上述公式;用上述识别出的公式计算出一个结果的处理装置;以及输出装置,用于将计算结果传送给一个远程系统以便对该装置或是其用户进行认证。
19.按照情况一起8的装置,其特征是该装置包括一个智能卡。
20.一种对个人或装置进行认证的方法,该方法包括以下步骤在第一计算机系统中存储一序列公式和一序列数值且每次都需一次认证;在各个序列中选择位于特定位置上的至少一个公式和至少一个数值,并且用选择的公式和数值计算出一个结果;用计算的结果认证个人或装置;以及重新排列和/或更新公式和/或数值的顺序。
21.一种对个人进行认证的方法,该方法包括以下步骤从上述个人所访问的计算机系统向一个认证计算机系统和一个可信赖的计算机系统传送一个标识符;在可信赖的计算机系统中核实该标识符,如果该标识符得到核实,就将该标识符传送给认证计算机系统;并且在认证计算机系统中核实从上述计算机系统接收到的标识符,将其与从可信赖的计算机系统接收到的标识符相比较。
22.按照权利要求21的方法,其特征是以加密的形式从上述被访问计算机系统向可信赖的计算机系统传送标识符,由可信赖的计算机系统来解密并核实后传送给认证计算机系统。
23.一种对个人进行认证的方法,该方法包括以下步骤在一个认证计算机系统上存储多个公式;在上述个人所访问的系统中存储上述公式的副本;从上述被访问系统向上述认证计算机系统和一个可信赖的计算机系统传送一个标识符;在可信赖的计算机系统中核实该标识符,如果该标识符得到核实,就将该标识符传送给认证计算机系统;在认证计算机系统中核实从上述被访问计算机系统接收到的标识符,将其与从可信赖的计算机系统接收到的标识符相比较;如果上述标识符在认证计算系统中得到核实,就由认证计算系统随机产生用来识别一个上述公式的至少一个号码;将上述随机号码传送给上述被访问系统;在被访问系统中用接收到的随机号码所识别出的至少一个公式计算出一个结果;将计算结果传送给认证计算机系统;以及在认证计算机系统中对个人进行认证,将接收到的结果和认证计算机系统用存储在认证计算机系统中的上述随机号码和公式计算出的结果相比较。
24.一种方法,用于第一个人或机构与第二个人或机构的相互认证,并且包括双向执行权利要求1到17或20到23之一所述的方法。
全文摘要
用于认证个人或装置的一种方法,该方法包括以下步骤,用智能卡1和中央计算机6存储多个公式。由中央计算机6产生一个随机号码并且识别一个上述公式。然后将随机号码传送给智能卡1。在智能卡1上用接收到的随机号码所识别出的至少一个公式计算出一个结果。将计算结果传送给中央计算机6。在中央计算机6上认证个人或装置,将接收到的结果与中央计算机6用上述随机号码和存储在中央计算机上的公式计算出的一个结果相比较。
文档编号G06F12/14GK1437125SQ02103549
公开日2003年8月20日 申请日期2002年2月7日 优先权日2002年2月7日
发明者朱栋雄, 张振宇 申请人:朱栋雄, 张振宇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1