用户可信设备的安全pin管理的制作方法

文档序号:6681828阅读:245来源:国知局
专利名称:用户可信设备的安全pin管理的制作方法
技术领域
本发明涉及使用个人识别码(PIN)保护的存储卡(例如,智能卡)的用户可信设备,例如,用于网上银行的那些用户可信设备。特别地,它涉及此类设备的安全PIN管理。
背景技术
PC的安全问题使它们不适用于许多功能,因为由用户输入的数据能够由攻击者操纵或复制。交易能够被改变以将钱发送到非意愿的接受者或者订购非意愿的商品,或者用户证书能够被复制以给攻击者提供对诸如用于网上银行的那些系统的访问权。为了解决这些问题中的一些问题,能够将用户可信设备(也称为“安全设备”) 与PC—起使用。此类解决方案之一,IBM公司的区域信任信息通道(Zone Trusted Information Channel)(参见 Thomas Weigold、Thorsten Kramp> Reto Hermann、
Frank Horing ·. Peter Buhler、Michael Baentsch, "The Zurich Trusted Information Channel -An E fficient Defence against Man-in-the-Middle and Malicious Software Attacks”,在 P. Lipp、A.-R. Sadeghi 及 K.-M. Koch (Eds.)中TRUST 2008,LNCS 4968, PP. 75-91,2008),允许用户在服务提供商(例如,银行)执行交易之前验证与交易关联的信息(例如,就网上银行交易的数量和接受者来说)。交易在设备上被验证,该设备是安全的并且能够以安全的方式将所验证的信息发送到后端系统。为了访问互联网服务,用户具有用来使他/她为该服务所识别的证书。此类证书有时存储于智能卡上。在这种情况下,安全设备具有智能卡读卡器以使这些证书得以使用。 为了确保证书只能够由预期的用户使用,智能卡由PIN来保护。PIN因而被保持为私密的; 否者它能够被其他人用来访问服务器。智能卡还可以用于除了为网上交易认证用户之外的用途。例如,同样的卡可以用于从ATM中提取现金。在这类情况下,卡的PIN需要甚至更强的保护。在安全设备中,存储器通常被分区成持久性(或非易失性)部分和瞬时(也称为非持久性或易失性)部分。持久性存储器独立于设备的操作模式地保留其所存储的信息, 例如,当设备“关闭”或者主电池被移除时。持久性存储器能够使用例如只读存储器(ROM)、 可编程ROM、电可擦除可编程ROM(EEPROM),使用带备用电池的静态随机存取存储器(SRAM) 或动态随机存取存储器(DRAM)来实现。瞬时存储器只在设备的有源操作期间保留存储于其上信息,并且典型地以SRAM或DRAM来实现。当在设备中运行应用时,常见的是执行保存操作,由此将在瞬时存储器中的内容存储于持久性存储器上。

发明内容
在一个实施例中,本发明提供一种用于用户可信设备的安全PIN管理的方法,该用户可信设备具有与持久性存储器、非持久性存储器耦接的计算装置,以及用于与用户、存储卡(例如,智能卡)及终端耦接或者交互的接口,该方法包括以下步骤提供与存储卡耦接的设备;在设备处接收外部PIN和卡的Placard PIN),卡的PIN能够解锁存储卡;经由计算装置以及所收到的PIN来生成密钥并将其存储于持久性存储器上,使得卡的PIN能够在将外部PIN和密钥作为自变数(argument)的情况下经由存储于持久性存储器上的函数来算出;在终端接收外部PIN的用户输入并且将外部PIN传递给设备,该设备与终端耦接; 以及指示计算装置使用所存储的函数来计算卡的PIN ;以及使用所算出的卡的PIN来解锁存储卡。在其他实施例中,该方法可以包括一个或更多个下列特征一在设备处所收到的卡的PIN由用户在设备上直接输入,并且优选地,外部PIN由用户在设备处直接输入;一该方法还包括步骤当在设备处接收之后,将所接收到的卡的PIN仅保留于非持久性存储器中;以及在密钥生成之后,从非持久性存储器上删除卡的PIN和外部PIN,外部PIN优选地仅存储于持久性存储器上;一如果检测到没有存储用于与设备耦接的存储卡的密钥,则执行接收卡的PIN和外部PIN、生成并存储密钥的步骤;一生成并存储密钥的步骤还包括存储用于指示密钥存储于与卡有关的设备处的标记值;一该方法还包括步骤提供与以另一个卡的PIN进行PIN保护的另一张卡耦接的设备;在设备处接收该另一个卡的PIN ;为该另一个存储卡生成另一个密钥并将其存储于持久性存储器中,使得该另一个卡的PIN能够在将该另一个密钥和外部PIN作为自变数的情况下经由函数来算出;一该方法还包括以下步骤生成另一个密钥使得该另一个卡的PIN能够在将该另一个密钥以及与用来生成并存储前一密钥的外部PIN相同的外部PIN作为自变数的情况下经由函数来算出;一该方法还包括以下步骤优选地使用存储于所解锁的卡上的数据,经由所述设备和所述终端在用户与至少一个服务器之间建立可信的连接;一所提供的设备具有存储于持久性存储器上的计算机化的方法,用于在该终端与服务器连接时经由所述终端在设备与至少一个服务器之间建立可信的连接,该方法还包括步骤在设备处触发用于建立可信的连接的计算机化的方法;一该方法还包括以下步骤经由终端来设置通过非安全性连接与服务器通信的设备;一用于建立可信连接的计算机化的方法在成功解锁卡时被触发;一该方法还包括步骤通过启动以非安全性连接设置的通信,以及优选地通过启动SSL/TLS通信来使设备为服务器所认证;以及一设置与服务器通信的设备的步骤还包括由设备启动位于终端处的代理客户端, 以便经由SSL/TLS通信连接服务器;以及使设备为服务器所认证的步骤包括以服务器进行的SSL/TLS认证。根据另一方面,本发明还被实现为可信设备,该可信设备具有与非持久性存储器、 持久性存储器耦接的计算装置,以及用于与存储卡(例如,智能卡)及终端耦接或者与用户交互的接口,并且被设计用于如果由卡的PIN进行PIN保护的存储卡与其耦接,则检测是否存储有用于该存储卡的密钥,如果没有,则接收外部PIN和卡的PIN两者,卡的PIN由用户在设备上直接输入;指示计算装置根据所接收到的外部PIN和卡的PIN来生成密钥并将其存储于持久性存储器中,使得卡的PIN能够在将外部PIN和密钥作为自变数的情况下经由存储于持久性存储器上的函数来算出;否则由与设备耦接的终端接收外部PIN;指示计算装置经由所存储的函数来计算卡的PIN ;以及以所算出的卡的PIN来解锁存储卡。优选地,可信设备还包括存储于持久性存储器上的计算机化方法,用于在以所算出的卡的PIN解锁存储卡时,通过经由终端来设置以非安全性连接与服务器通信的设备, 在设备与至少一个服务器之间建立可信的连接。用于实现本发明的方法及设备在此将作为非限制性的实例以及参照附图来描述。


图1是根据本发明的方法的高阶实施例的流程图;图2是示出一个实施例中的在初始化阶段期间执行的操作的流程图;图3是示出根据一个实施例的在使用阶段期间执行的操作的流程图;以及图4是根据本发明的一个特定实施例的用于启动与服务器的可信连接的,与终端和服务器耦接的可信设备的示意图。
具体实施例方式作为以下描述的开始,首先应指向本发明的一般方面,针对用于用户可信设备的安全PIN管理的计算机实现的方法。代替使用卡的PIN,外部PIN由用户在外部终端(例如,PC)输入,以代替实际的卡的PIN来使用。在初始化阶段期间,设备使用外部PIN和卡的PIN来生成密钥,该密钥在后面将允许在使用阶段期间检索卡的PIN并且解锁该卡。例如,与服务器的后续可信连接能够基于例如存储于卡上的用户证书来启动。更具体地,图1-3示出了用于示出可信设备的安全PIN管理的方法的一种给定的实施例的流程图。图1指向图2和图3两者,图2和图3分别涉及初始化阶段及使用阶段。 在下面,实施例将共同参照图1-3来描述。首先,假定安全设备具有与持久性存储器及非持久性存储器耦接的计算装置(例如,处理单元),这是本身已知的。它还拥有用于与存储卡(例如,智能卡)及终端耦接的适合的接口。附加的接口允许与用户交互。其次,一旦耦接至存储卡,设备就可以被设置为初始化模式(步骤S200)或者使用模式(步骤S300)。典型地,设备识别卡。然后,如果还没有找到为该卡所存储的密钥(判定S102:否),则设置初始化模式,否则(判定S102:是)它直接设置为使用模式。因而,如果还没有寄存外部PIN,则工作流程继续进行于图2上(初始化时间)。在此,用户输入两个PIN,步骤S201、S203 它们中的一个是卡的PIN(或card_PIN),即能够解锁卡的;另一个是外部PIN,优选地在外部终端上输入(在附图中由ext_PIN表示)。优选地,为了安全起见,卡的PIN由用户直接在设备上输入。外部PIN也可以在设备上输入,尽管作为变型(in a variant),它能够由PC输入。然而,由PC输入的越少,则安全性越好。而且,卡的PIN和外部PIN在由设备接收之后被优选地仅保留于非持久性存储器内。在这种情况下,PIN应当在生成密钥时保留并且在生成密钥之后删除,确保短的暴露时间。作为变型,外部PIN被存储于持久性存储器上,以便后面使用。最一般地,这两个PIN可以按任何顺序来输入。但是优选地,用户在插入卡后首先被提示输入卡的PIN(步骤S201)。然后,如果输入成功(设备解锁了卡),则用户然后被邀请输入外部PIN。例如,该邀请在设备或PC处提出。第三,所收到的PIN允许经由计算装置来生成密钥K(步骤S204)。该密钥随后存储于设备的持久性存储器上。此外,它还被这样生成,使得卡的PIN能够在后面经由存储于持久性存储器上的函数f来计算,即card_PIN = f (K, ext_PIN),其中f将外部PIN和密钥作为自变数。因而,能够将卡的PIN看作是PC的PIN的加密版本。函数f能够是如同密钥和ext_PIN的XOR加密那样简单的,其中XOR是在第一位或第二位中仅一位的值为1时返回例如1的异或算符。结果,如果X XOR y = Z,则Z XOR χ等于y。因而,在不知道两个自变数之一的初始值的情况下是不可能反求该运算的,从而假定该函数为XOR是没有帮助的。但是,如果某人知道了 χ或y,则该运算是可反求的。例如,如果χ XOR 1返回1,则χ = 0,并且如果它返回0,则χ = 1。类似地,密钥K能够首先根据ext_PIN和card_PIN来生成。然后,如果某人具有加密的字符串和密钥,则有可能正确地解密,从而能够在后面从K和ext_PIN开始来检索card_PIN。没有K,则在不构造随机的密钥并且尝试每个密钥的情况下是不可能解密的。加密密钥越长,则要破解它是越困难的。出于完整性起见,PIN的XOR加密能够通过重复地将密钥应用于PIN的连续字段(例如,数量)并存储输出来获得。作为变型,可以另外将密钥与外部PIN进行结合以产生例如用来加密Card_PIN的另一个密钥。一旦生成,密钥就能够存储于持久性存储器上,以便后面使用。现在,能够删除之前保留于非持久性存储器内的卡的PIN(步骤S2(^)。因而,卡的PIN仅在存储器中保留一小段时间。也可以删除外部PIN(可能在它已经存储于持久性存储器上之后,根据前面所提及的变型)。现在,对于与其耦接的卡来使设备进行PIN个人化。例如,能够存储用于指示外部 PIN现在正寄存于与该卡相关的设备上的标记值。在后面,如果检测到已经寄存了用于卡的外部PIN(例如,基于所存储的标记值),则设备可以跳过初始化步骤。相反地,它进入使用模式,这将在后面参照图3来讨论。类似地,如果设备在后面与另一张卡(同样,PIN保护的)耦接,则新卡的PIN和外部PIN同样被用来生成新的密钥。因而,新卡的PIN能够在将新的密钥和外部PIN作为自变数的情况下在后面使用相同的函数f来算出。例如,用户可能想要使用总是相同的外部PIN ;否则他(她)必须在每次需要生成密钥时输入它。因而,外部PIN不需要存储于非持久性存储器上。然而,在前面所提及的变型中,参考外部PIN能够存储于设备上(例如,混乱的),使得用户不需要被提示输入新的外部PIN。在这种情况下,输入新卡的PIN就足够了。但是,该变型并不是优选的,因为那样就保留一种可能外部PIN和密钥两者都从设备的存储器读出并且被用来生成卡的PIN(假定攻击者知道函数)。
该过程能够针对所需要的多张卡来重复。然后,在使用阶段期间,在将设备与卡耦接时,首先提示用户输入外部PIN(步骤 S301)。外部PIN优选地在终端输入,由于很可能更适合的人机界面(human interface),因而这通常是更实际的。然后,外部PIN能够被传递给设备,在设备中它仅优选地保留于非持久性存储器内。其次,指示在设备上的计算装置使用存储于持久性存储器中的与卡相关的函数f 和密钥来计算630 卡的PIN。同样,卡的PIN仅优选地保留于非持久性存储器内(步骤 S303)。最后,能够将(重新)计算的卡的PIN用来解锁卡(步骤S304)。现在,作为变型,如果用户忘记了他/她的外部PIN,则还能够直接在设备上输入卡的PIN,即使该设备处于PIN个人化的状态。在设备上输入卡的PIN而不是外部PIN优先于卡的PIN的重新计算并且能够导致解锁卡。优选地,当在设备上输入卡的PIN之后,用户被提示输入新的外部PIN,从而能够生成新的密钥。注意,以上所描述的多种变型能够进行有利地结合。例如,在一种特别有利的实施例中,将发生下列情况。初始地,设备没有关于卡的PIN的信息;它还是非PIN个人化的。然后,当用户将智能卡插入设备的读卡器之内时,他(她)被提示在设备上输入卡的PIN。如果后一输入是成功的,则用户被提示输入新的PIN,即外部PIN。外部PIN在PC或设备上输入。然后,设备针对外部PIN执行多个检查(例如,检查它是否与卡的PIN不同)。而且,设备生成密钥,使得在给定的外部PIN和密钥的情况下,卡的PIN能够使用函数f来计算。然后,将密钥存储于设备上并且可以说设备现在正处于PIN个人化的状态。没有PIN永久地存储于设备上。然后,当用户将智能卡插入设备(现在是PIN个人化的)之内时,他(她) 被提示在PC上输入外部PIN。外部PIN被传递给设备,该设备然后能够使用外部PIN和密钥来计算卡的PIN。如果外部PIN被准确地输入,则设备计算该准确的卡的PIN,并从而在希望时解锁用户的卡。现在,如果用户忘记了他/她的外部PIN,则仍然能够在设备上直接输入卡的PIN,即使该设备处于PIN个人化的状态,并且然后能够设置新的外部PIN。同样的过程能够被用来在任何时候改变外部PIN。如果用户拥有能够以单个设备来使用的多张智能卡,则该设备能够确定哪张卡被插入,并从而将会知道使用哪个密钥,以便计算准确的卡的PIN。然而,与每张卡都具有一个外部PIN的情形相对的是,能够使用单个外部PIN,如同前面所讨论的。注意,对用户而言,在PC上输入外部PIN比在安全设备上输入卡的PIN更方便。然而,这并不会危及系统的安全,因为用户的卡的PIN没有暴露并且不能够由攻击者来计算 (攻击者至少不知道用来计算卡的PIN的密钥)。 如果攻击者设法盗取了外部PIN并且知道函数f,则对密钥的暴力攻击(猜测可能的密钥)将会导致攻击者必须逐一尝试的大量合理的明文(plain text)。但是,这不是问题,因为智能卡在封锁卡的功能之前只允许非常少量的重试(例如,3或5)。此外,能够选择函数f,使得它为任何猜测的密钥生成可行的结果,从而有效地使该攻击变得不可能。目前,适合的使用能够从数据(例如,存储于卡上的用户证书)中安全地得出。特别地,能够借助于终端并使用此类数据在用户(或者,严格来说是设备)与服务器之间建立可信的连接(步骤S305)。更具体地,设备优选地设置有存储于持久性存储器上的计算机化的方法,用于在设备与服务器之间建立(参见S304)可信的连接。下面将参照图4进行更多的说明,其中图4示出了与终端和服务器耦接的可信设备的示意图。如上所述,安全设备10具有与非持久性存储器15’、持久性存储器15”稱接的计算装置15。它还具有用于与存储卡16和终端30通信的适合的接口 17、20。更多的接口(如控制按钮18和显示器1 允许与用户1交互。设备还被设计用于检测是否已经存储了用于当前耦接的卡的密钥。如果不是,则它将提示用户输入外部PIN和卡的PIN两者。卡的PIN(特别地)借助于便利的输入装置 18 (例如,按钮/选择器)直接在设备上输入。依次,逻辑电路能够指示计算装置生成密钥并将其存储于持久性存储器15”内。然后,在使用阶段期间,设备能够接收来自终端30的外部PIN,重新计算卡的PIN并由此解锁卡。设备10能够调用存储于其上的计算机化的方法来触发到服务器40的可信连接。 例如,它可以在解锁卡时经由终端30通过非安全性连接92建立与服务器的通信91。使设备为服务器所认证能够在通过非安全性连接92启动通信91的同时通过例如使用存储于卡上的用户证书来启动到服务器的SSL/TLS认证而完成。在这方面,设置与服务器通信的设备可以有利地包括由设备启动位于终端的代理客户端,以便该设备经由终端连接到服务器 (注意,代理可能同样可以位于设备上)。代理将从设备接收到的位传递到互联网,以及反过来。使设备为服务器所认证能够通过例如双向地启动从设备到服务器的SSL/TLS认证来实现。因而,SSL/TLS通道被设置于服务器与设备之间。敏感的用户_服务器通信被传递通过设备并在设备上处理,由代理接入到服务器的通路之内。设备截取通信流。例如,它可以为敏感的操作连续扫描所交换的数据。由此能够提取关键的信息,用于在设备上的后续显示。因此,用户能够验证所显示的信息。代替地,允许非敏感的操作沿着设备传递以达至Ij PC0同时,存储于存储卡上的敏感的个人信息(例如,在SSL/TLS中使用的私人密钥) 被保存于设备上。私人数据受到保护,以免被从器件内的智能卡中提取和复制。由此,在设备端点获得了可信的且抗干扰的安全通信。更特别地参照图4,可以将设备看作例如普通的USB设备10,包括使用一个或更多个处理器并且与非持久性存储器15’和持久性存储器15”两者耦接的计算单元15。持久性存储器特别地存储了用于生成和存储前面所提及的密钥的适合的代码。用于卡的PIN的重新计算的函数也存储于持久性存储器上。还存储了允许重新计算卡的PIN以及解锁存储卡的代码。存储器15”还可以具有存储于其上的安全软件栈,包括加密算法,例如用于SSL/ TLS认证的TLS引擎14。用于建立到服务器的可信连接的计算机化的方法也存储于持久性存储器上。它还可以包括可执行的HTTP解析器11 (用于解析数据并且由此扫描它们)、 USB管理软件(实现USB海量存储设备或MSD简档20),以及可能包括以上所提及的预装载的网络代理。同样如上所述,用户证书能够存储于存储卡(例如,智能卡16)上,例如,允许TLS客户端认证的客户端-服务器证书(例如,X. 509)。智能卡可以保存敏感的个人信息并且具有加密装置。作为变型,卡不能够加密,但是被用来以信号提示敏感的操作。设备优选地装配有标准的智能卡读卡器17。最后,设备具有控制按钮18 (例如,确定(OK)、取消 (Cancel)等选择器)和显示器12,用于显示敏感的信息。所需的计算机程序代码可以用高级(例如,过程的或面向对象的)编程语言,或者在需要时用汇编或机器语言来实现;并且无论如何,该语言都可以是编译语言或解释语言。 适合的处理器包括,例如,通用微处理器和专用微处理器两者。注意,设备、终端或服务器所执行的指令操作可以存储于以机器可读的存储设备有形地实现的计算机程序产品上,以便由可编程的处理器执行;以及本发明的方法步骤可以由用于执行指令的一个或更多个可编程的处理器来执行,以执行本发明的函数。在所有情况下,本发明不仅包括设备而且还包括计算机系统,其扩展有终端以及至少一个服务器。更一般地,本发明可以用数字电子电路,或者用计算机硬件、固件、软件或它们的组合来实现。一般地,处理器将接收来自只读存储器和/或随机存取存储器的指令和数据。适用于有形地实现的计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,举例来说,包括半导体存储设备,例如,EPROM、EEPROM和闪速存储设备;磁盘,例如,内置硬盘和移动硬盘;磁光盘;以及⑶-ROM光盘等。虽然本发明已经参照某些实施例进行了描述,但是本领域技术人员应当理解,在不脱离本发明的范围的情况下可以进行各种改变以及可以替换为等价物。另外,在没有脱离本发明的范围的情况下,可以进行许多修改以使特定的情形或材料适应于本发明的教导。因此,希望本发明不限于所公开的特定实施例,而是本发明应当包括属于所附权利要求的范围之内的所有实施例。例如,如果设备设置有电池,则可以在输入卡的PIN时要求它不与PC连接。
权利要求
1.一种用于用户可信设备(10)的安全PIN管理的方法,所述用户可信设备(10)具有与持久性存储器(15”)、非持久性存储器(15’)耦接的计算装置(15)以及用于与用户(1)、 诸如智能卡的存储卡(16)及终端(30)耦接或者交互的接口(17、18、20),所述方法包括以下步骤一提供(SlOl)与所述存储卡(16)耦接的所述设备;一在所述设备处接收(S201、S203)外部PIN(ext_PIN)和卡的PIN(card_PIN),所述卡的PIN能够解锁所述存储卡;一经由所述计算装置以及所收到的PIN来生成密钥(K)并将其存储于持久性存储器上 (S204),使得所述卡的PIN能够在将所述外部PIN和所述密钥作为自变数的情况下经由存储于所述持久性存储器上的函数(f)来算出;一在所述终端处接收(S301)所述外部PIN的用户输入并且将所述外部PIN传递给所述设备,所述设备与所述终端耦接;以及一指示所述计算装置使用所存储的所述函数来计算(S30》所述卡的PIN;一使用所算出的卡的PIN来解锁(S304)所述存储卡。
2.根据权利要求1所述的方法,其中在所述设备处接收到的所述卡的PIN由用户在所述设备上直接输入,并且优选地,所述外部PIN由所述用户在所述设备处直接输入。
3.根据权利要求1或2所述的方法,还包括以下步骤一当在所述设备处接收之后,将所接收到的所述卡的PIN仅保留于所述非持久性存储器中;一在所述密钥生成之后,从所述非持久性存储器上删除(S20O所述卡的PIN和所述外部PIN,所述外部PIN优选地仅存储于所述持久性存储器上。
4.根据权利要求1、2或3所述的方法,其中如果检测到(S102)没有存储用于与所述设备耦接的所述存储卡的密钥,则执行接收所述卡的PIN和所述外部PIN、生成并存储所述密钥的步骤。
5.根据权利要求1到4中的任一权利要求所述的方法,其中所述生成并存储所述密钥的步骤还包括存储用于指示密钥存储于与所述卡有关的所述设备处的标记值。
6.根据权利要求1到5中的任一权利要求所述的方法,还包括以下步骤一提供与以另一个卡的PIN进行PIN保护的另一张卡耦接的所述设备(S100);一在所述设备处接收(S201、S203)所述另一个卡的PIN;一为所述另一个存储卡生成另一个密钥并将其存储于所述持久性存储器中(S204),使得所述另一个卡的PIN能够在将所述另一个密钥和外部PIN作为自变数的情况下经由所述函数来算出。
7.根据权利要求6所述的方法,还包括以下步骤一生成(S204)所述另一个密钥使得所述另一个卡的PIN能够在将所述另一个密钥以及与用来生成并存储(S204)前一密钥(K)的外部PIN相同的外部PIN作为自变数的情况下经由所述函数来算出。
8.根据权利要求1到7中的任一权利要求所述的方法,还包括以下步骤一优选地使用存储于所解锁的卡上的数据,经由所述设备(10)和所述终端(30)在用户(1)与至少一个服务器GO)之间建立(S305)可信的连接。
9.根据权利要求1到8中的任一权利要求所述的方法,其中所提供的设备具有存储于所述持久性存储器上的计算机化的方法,用于在所述终端与至少一个服务器GO)连接时经由所述终端(30)在所述设备与所述服务器GO)之间建立(S304)可信的连接,所述方法还包括以下步骤一在所述设备处触发用于建立所述可信连接的所述计算机化的方法。
10.根据权利要求9所述的方法,还包括以下步骤一经由所述终端(30)来设置通过非安全性连接(9 与服务器GO)通信(91)的所述设备(10)。
11.根据权利要求9或10所述的方法,其中用于建立所述可信连接的所述计算机化的方法在成功解锁所述卡时被触发。
12.根据权利要求10或11所述的方法,还包括以下步骤一通过启动以所述非安全性连接(92)设置的所述通信(91),以及优选地通过启动 SSL/TLS通信(91)来使所述设备为所述服务器所认证。
13.根据权利要求10、11或12所述的方法,其中一所述设置与所述服务器通信的所述设备的步骤还包括由所述设备启动位于所述终端处的代理客户端,以便经由SSL/TLS通信与所述服务器连接;以及一所述使所述设备为所述服务器所认证的步骤包括以所述服务器进行的SSL/TLS认证。
14.一种可信设备(10),所述可信设备(10)具有与非持久性存储器(15’)、持久性存储器(15”)耦接的计算装置(15)以及用于与用户(1)、诸如智能卡的存储卡(16)及终端 (30)耦接或者交互的接口(17、18、20),并且被设计用于一如果由卡的PIN(Card_PIN)进行PIN保护的存储卡(16)与其耦接(SlOl),则检测 (S102)是否存储有用于所述存储卡的密钥(K),一如果没有,则一接收(S201、S203)外部PIN(ext_PIN)和所述卡的PIN两者,所述卡的PIN由所述用户在所述设备上直接输入;一指示所述计算装置根据所接收到的外部PIN和卡的PIN来生成(S204)密钥(K)并将其存储于所述持久性存储器中,使得所述卡的PIN能够在将所述外部PIN和所述密钥作为自变数的情况下经由存储于所述持久性存储器上的函数(f)来算出;以及一否则一由与所述设备耦接的终端(30)接收(S301)所述外部PIN;一指示所述计算装置经由所存储的函数来计算(S302)所述卡的PIN;以及一以所算出的卡的PIN来解锁(S304)所述存储卡。
15.根据权利要求14所述的可信设备,还包括存储于所述持久性存储器上的计算机化方法,用于在以所算出的卡的PIN解锁(S304)所述存储卡时,通过经由所述终端(30)来设置以非安全连接(9 与至少一个服务器GO)通信(91)的所述设备(10),在所述设备与所述服务器GO)之间建立630 可信的连接。
全文摘要
本发明特别地涉及一种用于用户可信设备(10)的安全PIN管理的方法,该用户可信设备(10)具有与持久性存储器(15”)、非持久性存储器(15’)耦接的计算装置(15),以及用于与用户(1)、存储卡(16)及终端(30)耦接的或者交互的接口(17、18、20),该方法包括步骤提供与存储卡(16)耦接的设备;在设备处接收外部PIN和卡的PIN,卡的PIN能够解锁存储卡;经由计算装置以及所收到的PIN来生成密钥并将其存储于持久性存储器上,使得卡的PIN能够在将外部PIN和密钥作为自变数的情况下经由存储于持久性存储器上的函数来算出;在终端接收外部PIN的用户输入并且将外部PIN传递给设备;以及指示计算装置使用所存储的函数来计算卡的PIN;以及使用所算出的卡的PIN来解锁存储卡。
文档编号G07F7/10GK102576398SQ201080047084
公开日2012年7月11日 申请日期2010年11月22日 优先权日2009年11月27日
发明者H·D·迪克曼, M·凯塞尔斯沃斯, P·布勒尔, T·埃里奇, T·科兰普 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1