利用安全令牌链的双重认证的制作方法

文档序号:6569242阅读:190来源:国知局
专利名称:利用安全令牌链的双重认证的制作方法
技术领域
本发明涉及一个改进的数据处理系统。更特别地,本发明涉及一种提 高数据处理系统内认证效率的方法和系统。
背景技术
公钥基础结构(PKI)是指一种使用公钥密码学(Public Key Cryptography)概念和技术而实施和提供普及性安全结构的技术。鉴于用 户对安全数据交换或互连网络上(如互联网)的用户和/或相关数据的验证 要求,PKI服务如雨后春^般地激增。
公钥密码学已经被用来提供加密和签名功能。在PKI内,用户有一对 密钥私钥(Private Key)和公钥(Public Key),其中私钥是由用户秘密 保管,而公钥则是公开的。任何人都可以使用该用户的公钥,对给该用户 的信息进行加密,因此,只有该用户可以使用其私钥解密此信息。另一方 面,该用户可以使用他或她的私钥对信息进行数字签名,从而其它人可以 使用他或她的公钥去验证数字签名的有效性。
由于这对私钥和公钥与用户身份有关,就要求有一个组织来证明用户 密钥的所有权。这个组织通常被称为认证中心(CA)。
现有PKI系统面对两个主要的挑战。第一个挑战是加密和签名过程的 计算量非常高。第二个挑战是用户从CA获得证书的过程非常复杂。这个 过程是一个离线的人工过程,需要高级技术知识。这两个挑战使PKI还没 没有成为一个流行解决方案供普通公众使用。
发明概述
本发明提供了一种当客户机登陆服务器(servicing server)时对客户机 进行认证的方法。 一方面,从客户机递交第一认证码和第二认证码给服务 器。第一认证码可以是一个密码或一对登陆名和密码。第二认证码包括一个散列函数(Hash Function)的逆安全令牌链中的安全令牌和该安全令牌 在该逆安全令牌链中的一个索引。然后,在服务器上验证第一认证码。通 过比较该安全令牌的一个散列值和一个之前获得的安全令牌或逆安全令牌 链的一个根值,也可以在服务器上验证安全令牌。特别地,如果安全令牌 索引大于1,比较安全令牌的散列值和一个最后获得的安全令牌,如果安 全令牌索引等于1,比较安全令牌的散列值和逆安全令牌链的根。最后,
如果第一认证码和第二认证码是相关的,确认登陆。逆安全令牌链的安全 令牌通常依照升序被使用。
在发送第一认证码和第二认证码到服务器之前,通常涉及一个设置阶 段。设置阶段可以包括两种设置。第一种被称为"关系设置",第二种被称 为"链设置"。
在关系设置期间,分别通过服务器和客户机获得服务器证书和客户机 证书。关系设置只进行一次或直到客户机和服务器证书中的一个期满或取 消时再进行。客户机证书通常包括服务器名称、客户机名称、客户机公钥 和客户机证书的期满日期。客户机证书也可以包括客户机的联系信息。客 户机证书是由服务器的私钥签发。
在链设置期间,创建散列函数的逆安全令牌链。建立一个提交 (commitment)并递交给服务器。在服务器上使用客户机公钥验证该提交。 每次当一个新的逆安全令牌链在客户机上建立时,进行链设置。
逆安全令牌链和提交可以由用户程序建立,用户程序可以从下载服务 器下载到客户机。提交通常包括逆安全令牌链的用途、客户机证书、逆安 全令牌链的根值、以及当前日期。提交也可以包括一个使用该逆安全令牌 链的时间周期。提交是由客户机私钥签发。
另一方面,从客户机递交一个散列函数的逆安全令牌链的安全令牌和 该安全令牌在逆安全令牌链中的一个索引到服务器。通过比较安全令牌的 一个散列值和一个之前获得的安全令牌或逆安全令牌链的一个根值,在服 务器上验证安全令牌。特别地,如果安全令牌索引大于1,比较安全令牌 的散列值和一个最后获得的安全令牌,而如果安全令牌索引等于1,比较安全令牌的散列值和逆安全令牌链的根值。逆安全令牌链的安全令牌通常 依照升序被消耗使用。


图1是显示双重认证机制的示意图2是显示用户程序和服务器程序存储逆散列链以提供安全认证能力 的示意图3是显示图2认证过程的流程图4是显示下载用户程序的方案示意图5是用户依照图4方案使用移动电话获得下载码的典型过程的流程
图6是用户依照图4方案使用下载码获得用户程序的过程的流程图7是显示下载用户程序和使用用户程序而自己产生PKI密钥的另一 个方案的示意图8是用户依照图7方案使用移动电话获得下载码的典型过程的流程
图9是用户依照图7方案使用下载码获得通用用户程序的过程的流程图。
优选实施例详述
现在请参考本发明 一个优选实施例,在以下描述里也将提供其中 一些 例子。本发明的典型实施例被详细描述,尽管对相关领域的那些有经验的 技术人员来说有些描述是很显然的,为了脉络清晰, 一些对理解本发明不 是特别重要的特征将不作显示。而且,应该理解,本发明不受制于以下准确描述的实施例,本领域有 经验的技术人员可以在不偏移本发明的精祌和范围内对其做出各种变化和 修改。例如,在本披露和附加权利要求的范围内,不同所述实施例的要素 和/或特征可以被相互结合和/或相互替换。
图1是显示一个双重认证机制的示意图。在服务器11和客户机10之 间的关系如示意图所示。客户机10可以使用登陆名/密码和一个安全令牌 (secure token)进行自我认证。安全令牌可以是依照特定安全算法产生的 一系列字母和/或数字。如果攻击方(adversary party)只获得这两个凭证中 的其中一个,将不能获准进入服务器ll。
与图1有关的方案有一个机制,用户获得并安装一个唯一的用户程序 32,用户程序包括一个特定用户到服务器的安全令牌模块在客户机10上。 如在此使用的,"用户程序"是指一个在客户端上运行的应用程序。用户程 序32通常提供一个用户界面,以便用户能够远程登陆到服务器11,如一 个提供银行服务的服务器和一个提供在线购物服务的服务器。用户程序32 也产生和验证安全令牌,与服务器11交互作用。用户程序首先在客户端 IO上运行初始设置,然后再进行认证。在设置过程期间,客户机10和服 务器11交换身份和凭证信息,从而基于交换的信息,使用同一客户机的用 户被认证生效。服务器11包括一个登陆名和密码验证模块34以及一个服 务器程序36,其包括一个服务器到特定用户的安全令牌。如在此使用的, "服务器程序"是指一个在服务器端运行的应用程序。服务器程序通常倾 听来自客户端的请求、验证客户机、产生和验证安全令牌而与客户机10 交互作用。然后,服务器11发送一个特定的安全ACK到客户机10,以显 示一个认证结果。特定安全ACK包括一个由服务器11产生的安全令牌, 并可以由用户程序32验证。用户程序32能够验证该特定安全ACK,因为 在用户程序32安装期间,在用户程序32和服务器11之间有交换的身份和 凭证信息。图la是显示以上所述图1认证过程的流程图。
现参照图2,图2描述用户程序74和服务器程序72存储有逆散列链 (reversal hashed chain)以提供安全认证能力。 一个逆散列链是一个令牌 序列。链上的每个令牌都是由序列上的前一个令牌而得到的。在序列上的令牌以逆次序的方式被使用作为安全令牌。服务器101和客户机100之间
的关系如示意图所示。服务器101包括服务器程序72,而客户机100包括 用户程序74。
在一个安全令牌链^。,1,巧,...,^上,每个安全令牌被分配有特定含义, 例如,每个令牌是代表用来兌换物品的优惠券。安全令牌也可以有不同的 含义。例如,拥有一个安全令牌意味着有权访问系统。安全令牌链是以逆 次序的方式产生的,随机选择上次的安全令牌^,然后计算
<formula>formula see original document page 10</formula>
其中z'=n-l,n-2,...,0; A"是一个强密码散列函数(harsh fUnction),如 MD5或SHA; m。是安全令牌链的根值(root)。
强密码散列函数是一种转换函数,它选用一个输入值m,然后返回一 个固定长度的被称为散列值(hash value) v的串,即^ = /^附)。用于密码 学的散列函数具有单向型(one-wayness)和无碰撞(collision-free)的特性。
散列函数是单向性的,因为其很难被反转换(iiwert)。当给定一个散 列值v时,是不可能依照^ = /^ 计算得出柳值的。散列函数也是无碰撞 的。当给定一个x值时,是不可能计算找到满足/2(^二/7(^但不等于;c的;; 值。
在服务器使用一个安全令牌来鉴别客户机之前,通常有一个设置阶段。 在所述实施例里,设置阶段包括两种设置。第一种被称为"关系设置",第 二种被称为"链设置"。
关系设置是关于分别由服务器和客户机获得两个PKI证书。对服务器, 服务器证书是由公共CA发出,因此,任何人可以查对要求成为服务器所 有者的那个人的身份。对客户机,与安全令牌一起使用的客户机证书是由 服务器发出,服务器是客户机可以相信的一方。在服务器发出客户机证书 给客户机之前,它确认产生一对密钥并适当地发送,使得客户机能存储密 钥对中的私钥,而服务器保留相应的公钥。这个密钥发送过程的不同方法 与发送客户机程序的方法有关,其将在图4到9中讨论。在完成关系设置之后,客户机获得由服务器发出的客户机证书。在一 个实施例里,客户机证书C;可以有以下格式
客户机证书c;是专门用于客户机c,由服务器S发出。证书C。通常包
括客户机P&的公钥和期满日期五。它是由服务器的密钥(私钥)S&签发。
如果必需的话,客户机证书c;也可以包括其它的信息A,如客户机的联系 信息。
优选地,关系设置只进行一次,或者直到客户机和服务器证书其中之 一到期或者取消。
每次进行链设置时,在用户程序上建立一个新的逆的安全令牌链。在 一个实施例里,通过客户机的用户程序,产生一个新链的提交
(commitment) M:
如在此使用的,"提交"是指一系列和相应令牌链有关的可信任的信息。
提交M包括相应的逆令牌链的用途户、客户机证书C。根数令牌w。和当前 日期D。它是由客户机的密钥(私钥)Si^签发。如果必需的话,提交也
包括其它的信息/m,如链必须被使用的时间周期。
在链设置阶段期间,该提交被发送到服务器。当服务器接收到一个提 交时,它使用客户机的公钥验证该提交。然后,提交内的信息可以被用来 将来验证来自客户机相应链的安全令牌。
在完成两种设置之后,客户机在任何时候请求特定服务时,可以发送 逆安全链里的一个安全令牌给服务器。安全令牌依照索引的升序(从l到
n)被消耗使用。从客户机发送一个消息P到服务器。消息P包括一个安 全令牌巧和其索引"为了验证由客户机发送的安全令牌是否有效,使用,服务器计算/<巧) 并检查结果与之前获得的安全令牌巧—,。服务器保留有之前获得的安全令 牌,因此可以进行验证。如果索引/是l,将根据在提交M内找到的^7。进 行验证。
一些应用可能需要客户机验证服务器的确认是否有效。这可以通过采 取上述过程并将服务器和客户机的角色相互掉转得以实现。所以,由服务 器产生一个逆的安全令牌链,而客户机保留来自服务器的提交。服务器发 送一个附有安全令牌的确认消息给客户机。然后,通过证实附有的安全令 牌,客户机验证该确认消息。
使用上述过程,由于散列法(hashing)比在PKI内使用的不对称密码 学更加迅速,所以,客户机从服务器获得服务的过程比使用PKI密码学更 有效率,虽然通信仍然取决于PKI的安全性。逆安全令牌链内的令牌是通 过常规PKI方法的提交验证来保证安全。
假设一个叫丄/m的客户将进入由服务器^7W提供的银行服务。假设 /oA"己经获得一个内嵌有私钥的客户机程序。私钥是由B朋A产生,而万^^ 知道对应Jo/m的私钥的公钥。在关系设置期间,发出一个客户证书C,.
给Jo/^:
Cc =仏朋/t, Jo/z", 00112233445566778899^1122334455,2006/12/31, _/o/z"@a6c.owj} U4朋CC朋五五F扁11}
客户证书c;是特别给客户^/z"使用,由服务器s"w发出。客户Jo/z"
的公钥是6W72"3W556677S卵9X4I/22""",其是一个128位的密钥。 客户证书的期满日期是2006年12月31日。可选信息包括北A"的email 地址。同时附带客户证书的签名^45BCCDD五五FFO0"。
/o/m需要使用一个安全令牌以进入服务器客户/o/m的客户程 序使用散列函数/7^产生一个逆的安全令牌链。如果链长度是100,且令牌 长度是8位,链看起来如{cr100 =9988776611223344, cr99 =8899123456780011,,cr2 二
巧=01234567A4ABCCZ)A w。 = 98765432A8CD£P00}
巧。。是随机产生,而其它令牌是由散列函数Ag产生,例如, cr99 =/z(9988776611223344) = 8899123456780011 。
在使用令牌链之前,令牌链的提交必须被5"^:认可。产生的提交M 看起来如
M = /S朋/c丄ogz", /Ba"/c:' Jb/m, 00J72"WW(5(577S砂A^""J3^05,
提交M包括相应逆令牌链的用途5a"^: fog/"(银行登陆)、客户证书C。、 根令牌M76M3245CaEF00、和当前日期2005年12月14日。有其他信 息显示相应逆令牌链必须在90天内被消耗使用。同时附带有该提交的签名
现在Jo/rn可以使用第一安全令牌巧,开始发送请求到由^m&提供的 银行服务。登陆消息包括索引1和令牌值W23"(5Z^45万CCZ)D。 Sa";t将 从散列根令牌0。找出散列值来验证此令牌。根令牌泣。仅有^/w和S朋A知 道,J^"产生根令牌tzr。,而5flwAr接收从Jo/m发出的包括根令牌的提交。 所以,仅有Jo/w和Sa"^:能够计算巧(01234567AABBCCDD)的正确值。通过 比较分别从北/m (0"^56;^4S万Ca〕D)和5a"A: (A(cr。))得到的值,可以验 证递交的令牌巧。接下来,^/z"将发送另一个包括索引2和巧的登陆消息。 通过从巧找出散列值来验证^。巧被Jo/m和BaW知道,因为其是从仅有 丄/m和&^:知道的根令牌n7。导出的。所以,仅有Jo/m和Sanyt能够计算 zr2 (341256AABB0987EF)的正确值。通过比较分别从Jo/m (W"56^45B0站7五 0和O(巧))得到的值,可以验证递交的令牌t^ 。
现参照图3,图3显示图2认证过程的流程图。当一个用户登陆时, 客户机发送用户的第一认证码和第二认证码给服务器以验证用户(步骤 702)。在所述实施例里,第一认证码是用户的登陆名和密码或只是用户的密码,而第二认证码是一个安全令牌。然后,服务器验证第一认证码和第
二认证码的有效性,并检查这两个认证码是否相关(步骤704)。如果第一 认证码和第二认证码是相关的,接着服务器回应一个服务器的安全令牌给 客户机以确认登陆(步骤706)。如果第一认证码和第二认证码不是相关的, 服务器通知客户机登陆失败(步骤708)。
用户程序和服务器程序可以建立安全令牌链用于特定用途,如转账命 令。当服务器程序被应用到一个网上银行(e-banking)服务器、而用户程 序被应用到一个网上银行(e-banking)客户机时,例如,用户程序可以发 送一个转账安全令牌给服务器程序以保证这个交易。
为了解决在使用PKI协议效率上的第一个挑战(在本专利申请的发明 背景部分内有描述),当应用在认证流程上时,图2和3的方案可以被用来 增强效率。
图4-9将讨论从下载服务器下载用户程序到客户机的两个方案。下载 的用户程序可以由图1内的客户机10使用。下载的用户程序也可以由图2 内的客户机100使用,如果其包括逆安全令牌链。
图4是显示从下载服务器12下载用户程序到客户机16的第一种方案 的示意图。下载服务器12、下载码发放机构14和客户机16之间的关系如 图所示。用户在下载用户程序时被识别出来。最初,下载服务器12和下载 码发放机构14预先约定相同的用户专用下载码。如在此使用的,"下载服 务器"是指一个主处理可被用户下载文件的服务器;"下载码"是指一个密 码或代码,其可以被用来访问下载服务器上的某些文件;"下载码发放机构" 是指一个产生和分配下载码的实体。下载服务器12包括具有用户PKI密 钥的用户程序用于下载42,下载码发放机构14包括下载码44。用户需要 他或她的下载码去下载他或她的用户程序。
为了下载用户程序,用户需要获得该用户专用的下载码。用户专用下 载码可以从下载码发放机构14获得。用户可以使用通信方法如投递邮件、 电话交谈、呼叫一个交互式语音应答系统(IVRS)、发送短消息服务(SMS)、或其它可以验证用户身份的方法到下载码发放机构14,来核实私密信息或 证明特定通信设备所有权,请求获得下载码。
下载码发放机构14可以使用能够准确确定用户为正确接收方的通信 方法如投递邮件、SMS或电话呼叫,发送用户专用下载码给用户。
例如,最初,用户通过在下载码发放机构14的客户服务中心上的邮件 或电话,可以在下载码发放机构14注册他/她的移动电话号码。当用户请 求获得下载码时,下载码发放机构14可以使用SMS发送下载码到该用户 的移动电话。
图5是依照图4方案用户使用移动电话获得下载码的典型过程的流程 图。最初,下载服务器12创建一个有预装入用户PKI密钥的用户程序, 如步骤302所示。然后,下载服务器12和下载码发放机构14预先约定用 户专用下载码,如步骤304所示。用户在下载码发放机构14注册他/她的 移动电话号码之后,可以使用他/她的移动电话呼叫下载码发放机构14 (步 骤306和步骤308)。然后,下载码发放机构14在从电话呼叫获得移动电 话号码之后,检查拨叫用户的电话号码是否与用户注册的电话号码吻合(步 骤310和312)。如果两个号码吻合,下载码发放机构14将通过SMS发送 下载码到用户的移动电话。否则,下载码发放机构14将不发送下载码给用 户。
尽管在此描述的获得下载码的过程与使用移动电话获得下载码的过程 有关,但应该理解,也可以使用其它的通信方式来获得下载码。
参照图4,在获得下载码之后,用户可以递交下载码到下载服务器12。 下载服务器12可以发送相应的用户程序给用户,PKI密钥被嵌入在此用户 程序内。然后,用户可以安装程序到客户机16。
图6是显示用户依照图4方案使用下载码获得用户程序的过程的流程 图。最初,如歩骤402所示,用户发出一个请求给下载服务器12要下载他 /她的用户程序。然后,如歩骤404所示,该用户递交他/她的下载码到下载服务器12。同时,用户的身份也可以被发送给下载服务器12。下载服务
器检査用户递交的下载码是否与下载服务器12和下载码发放机构14预先 约定的下载码吻合(步骤406)。如果这两个下载码吻合,下载服务器12 可以发送用户程序给用户(歩骤408)。其后,用户可以在客户机16上安 装嵌有PKI密钥的用户程序(步骤410)。否则,不发送用户程序给用户。
在有关图4所述的方案里,系统可以有多个预先约定的用户专用下载 码和用户专用安全令牌程序,因此,用户能够在多个客户机系统里下载和 安装程序。
在用户程序内的用户到服务器的安全令牌模块包括一对遵从PKI的密 钥,其包括公钥和私钥。公钥和私钥都被下载服务器12获悉。服务器程序 包括此对遵从PKI的包含公钥和私钥的密钥。公钥被客户机16的用户获 悉,而私钥则是由下载服务器12的所有者保留。下载码发放机构14可以 在PKI系统里执行相同的CA职责,以处理用户程序的公钥取消和恢复。 应该理解,如图4所示的下载码发放机构14和下载服务器12以及如图1 和2所示的服务器11和101可以由相同实体或不同实体拥有,取决于安全 需要和安排。
有关图4所述的方法允许一个机构提供一个用户程序给用户,此用户 程序预装有该用户的一对密钥包括私钥和公钥的。当该用户下载和安装 用户程序到他或她的计算机上时,PKI性能和该机构的程序已经准备好供 用户使用。使用这种方案,该机构知道用户的私钥。这种方案通常适合这 种服务机构需要鉴别用户身份。并不需要来自用户的认可。
现参照图7,图7显示从下载服务器22下载用户程序到客户机26的 第二方案。这个方案允许机构提供用户程序给客户机26,所以,用户的私 钥是由他/她自己秘密保留。服务器程序不知道用户程序的私钥。所以,这 种方案需要来自用户的认可。使用这种方案,用户从下载服务器22获得一 个普通用户程序。如在此使用的,与图4的每个用户获得一个特定的客户 机程序的副本相比,"普通的"意味着所有用户获得客户机程序的相同副本。 普通的用户程序可以自动产生一对PKI密钥给用户,并向机构注册公钥。其后,用户可以自动安装PKI性能并使用该机构的服务。
下载服务器22、下载码发放机构24和客户机26之间的关系如图7所 示。下载服务器22包括一个没有用户PKI密钥的普通用户程序用于下载 52以及一个公钥证明模块54,而下载码发放机构24包括下载码56。用户 需要他或她的下载码来下载用户程序。下载服务器22和下载码发放机构 24预先约定用户专用下载码。
通过使用如下通信方法到下载码发放机构24,如投递邮件、电话通话、 呼叫一个交互式语音应答系统(IVRS)、发送短消息服务(SMS)、或其它
可以通过验证私密信息或证明特定通信设备所有权来识别用户身份的其他 方法,用户可以请求获得下载码。
通过使用诸如邮件、SMS或电话呼叫这些可以正确识别用户作为正确 接收方的通信方法,下载码发放机构24可以发送用户专用下载码给用户。
例如,最初,用户通过在下载码发放机构24的客户服务中心上的邮件 或电话,向下载码发放机构24注册他/她的移动电话号码。当用户请求获 得下载码时,下载码发放机构24可以使用SMS发送下载码到用户的移动 电话。
图8是用户依照图7的方案使用移动电话获得下载码的典型过程的流 程图。最初,下载服务器22创建一个普通用户程序,如步骤502所示。接 着,下载服务器22和下载码发放机构24预先约定用户专用下载码,如步 骤304所示。用户在向下载码发放机构24预注册他或她的移动电话号码之 后,可以使用他或她的移动电话呼叫下载码发放机构24 (步骤506和步骤 508)。然后,下载码发放机构24在从该电话呼叫中获得移动电话号码之后, 检查拨叫用户的电话号码是否与用户注册的电话号码吻合(步骤510和 512)。如果两个号码吻合,下载码发放机构24将通过SMS发送下载码给 用户的移动电话。否则,下载码发放机构24将不发送下载码给用户。
尽管在此所述的获得下载码的过程是与使用移动电话获得下载码的过程有关,但应该理解,也可以使用其它通信方式获得下载码。
参照图7,在获得下载码之后,用户可以从下载服务器22请求获得一 个普通用户程序。用户程序可以自己产生一对PKI密钥,并安全保管私钥。 用户可以发送相应的公钥和之前步骤里获得的下载码,给服务器程序。对 照用户ID,服务器程序可以核对该下载,然后,使用公钥证明模块证明接 收到的公钥和用户ID。
图9是显示用户依照图7方案使用下载码获得普通用户程序的过程的 流程图。最初,如步骤602所示,用户向下载服务器22请求以下载一个普 通用户程序。然后,下载服务器22发送普通用户程序给该用户(步骤604)。 该用户安装普通用户程序在他或她的计算机里(步骤604)。其后,普通用 户程序发送用户的下载码以及一个自动产生的公钥给下载服务器22(步骤 606)。同时,用户身份也可以被发送到下载服务器22。下载服务器检查被 递交到下载服务器22的下载码是否与下载服务器22和下载码发放结构24 预先约定的下载码吻合(步骤608)。如果两个下载码吻合,下载服务器22 注册用户的公钥,并发送一个公钥证书给用户程序(步骤610)。否则,下 载服务器22不注册用户公钥,也不并发送公钥证书给用户程序。
在有关图7所述的方案里,系统可以有多个预先约定的用户专用下载 码。根据不同的PKI密钥使用在不同系统里,用户可以下载代码并安装程 序在多个客户机系统里。
下载服务器在PKI系统里可以执行CA的相同职责,以处理用户程序 的公钥取消和恢复。应该理解,如图7所示的下载码发放机构24和下载服 务器22以及如图1所示的服务器11可以由相同实体或不同实体拥有,取 决于安全需要和安排。
有关之前图4和图7描述的第一种和第二种方案可以被机构用来提供 其程序给其用户,因此,该程序可以使用具有自动安装的PKI能力。第一 种方案和第二种方案之间的区别是在密钥交换上。使用第一种方案,私钥 和公钥的这对密钥口J"以被嵌入到用户程序里,该用户程序对每个用户是唯一的。使用第二种方案,当用户程序被安装在客户端时,产生私钥和公钥 的这对密钥,接着公钥被提交给服务器端。由于在密钥交换上的差别,设 置客户机的过程以及客户机和服务器之间的交互是不同的。
在获得和设置PKI密钥的用户友好上,有关之前图4和图7描述的第 一种和第二种方案可以被用来解决在发明背景里描述的第二个挑战。
尽管已经参照优选实施例描述了本发明,但本领域有经验的工作人员 将认识到在没有偏离本发明的精神和范围内可以在形式和细节上作出变 化。另外,不能拿本发明来限制所有细节,在没有偏离本发明的精神和范 围内可以对其作出修改和变化。
权利要求
1 .一种当客户机登陆服务器时对客户机进行认证的方法,本方法包括(A)从客户机递交第一认证码和第二认证码给服务器,第二认证码包括一个散列函数的逆安全令牌链中的一个安全令牌和该安全令牌在该逆安全令牌链中的索引;(B)在服务器上验证第一认证码;(C)通过比较该安全令牌的散列值和之前获得的安全令牌或逆安全令牌链的根数,在服务器上验证该安全令牌;和(D)如果第一认证码和第二认证码是相关的,确认登陆。
2. 根据权利要求1所述的方法,其中第一认证码包括一个密码或一对登陆 名和密码。
3. 根据权利要求1所述的方法,还包括在步骤(A)之前的关系设置,其 中关系设置包括获得服务器证书和客户机证书,且其中关系设置只进行一 次或直到客户机和服务器证书中的其中 一个期满或被取消时才进行。
4. 根据权利要求3所述的方法,其中客户机证书包括服务器名称、客户机 名称、客户机的公钥、以及客户机证书的期满日期,且其中客户机证书是 由服务器的私钥签发。
5. 根据权利要求4所述的方法,其中客户机证书包括客户机的联系信息。
6. 根据权利要求3所述的方法,还包括在步骤(A)之前的链设置,其中 链设置包括(a) 使用散列函数建立逆安全令牌链;(b) 创建一个提交;(C)递交该提交给服务器;和(d)在服务器上使用客户机公钥验证该提交;和其中每次在客户机上创建一个新的逆安全令牌链时,进行链设置。
7. 根据权利要求6所述的方法,其中逆安全令牌链和提交是由用户程序在 客户机上创建的。
8. 根据权利要求7所述的方法,其中在客户机上的用户程序是从下载服务 器上下载的。
9. 根据权利要求8所述的方法,其中下载用户程序包括的步骤有(a) 获得一个用户专用的下载码;(b) 向下载服务器作出一个下载请求;(c) 递交用户专用的下载码给下载服务器;(d) 在下载服务器上,检査用户专用的下载码是否与下载服务器和下 载码发放机构约定的一个预先约定的下载码吻合;(e) 如果用户专用的下载码与预先约定的下载码吻合,从下载服务器 接收用户程序;和(f) 安装用户程序在客户机上;和 其中用户程序预装有PKI密钥。
10. 根据权利要求8所述的方法,其中下载用户程序包括的步骤有(a) 获得一个用户专用的下载码;(b) 对下载服务器作出一个下载请求;(c) 从下载服务器接收用户程序;(d) 安装用户程序在客户机上;(e) 从用户程序发送用户专用的下载码和一个公钥给下载服务器;(f) 在下载服务器上,检査用户专用的下载码是否与下载服务器和下 载码发放机构约定的一个预先约定下载码吻合;和(g) 注册该公钥,并发送一个公钥证书给用户程序;和其中用户程序是一个普通用户程序。
11. 根据权利要求6所述的方法,其中提交包括逆安全令牌链的用途、客 户机证书、逆安全令牌链的根值、以及当前日期,且其中提交是由客户机 私钥签发。
12. 根据权利要求11所述的方法,其中提交包括使用逆安全令牌链的一个 时间周期。
13. 根据权利要求1所述的方法,其中逆安全令牌链的安全令牌按照升序被消耗使用。
14. 根据权利要求1所述的方法,其中步骤(C)包括如果安全令牌索引 大于1,比较该安全令牌的散列值和一个上次获得的安全令牌。
15. 根据权利要求1所述的方法,其中步骤(C)包括如果安全令牌索引 等于1,比较该安全令牌的散列值和逆安全令牌链的根值。
16. —种当客户机登陆服务器时对客户机进行验证的方法,本方法包括(A) 从客户机递交一个散列函数的逆安全令牌链中的安全令牌和该安 全令牌在该逆安全令牌链中的一个索引给服务器;(B) 通过比较该安全令牌的散列值和一个之前获得的安全令牌或该逆 安全令牌链的一个根值,在服务器上验证该安全令牌。
17. 根据权利要求16所述的方法,还包括(a) 从客户机递交一个密码或一对登陆名和密码给服务器;和(b) 在服务器上验证该密码或这对登陆名和密码。
18.根据权利要求16所述的方法,其中步骤(B)包括如果该安全令牌的索引大于1,比较该安全令牌的散列值和一个上次获得的安全令牌。
19. 根据权利要求16所述的方法,其中步骤(B)包括如果该安全令牌索引等于1,比较该安全令牌的散列值和逆安全令牌链的根值。
20. —个当客户机登陆服务器上对客户机进行验证的系统,本系统包括(A) 从客户机递交第一认证码和第二认证码给服务器的装置,第二认证码包括一个散列函数的逆安全令牌链的安全令牌和该安全令牌在该逆安全令牌链中的索引;(B) 在服务器上验证第一验证码的装置;(c)通过比较该安全令牌的一个散列值和一个之前获得的安全令牌或 该逆安全令牌链的根值,在服务器上验证该安全令牌的装置;和 (D)如果第一认证码和第二认证码是相关的,确认登陆的装置。
全文摘要
本发明提供一种当客户机(10,100)登陆服务器(11,101)时对客户机(10,100)进行认证的方法。依照本方法,从客户机(10,100)递交第一认证码和第二认证码给服务器(11,101)。第二认证码包括一个散列函数的逆安全令牌链的安全令牌和该安全令牌在逆安全令牌链中的索引。然后,在服务器(11,101)上验证第一认证码。通过比较安全令牌的散列值和之前获得的安全令牌或逆安全令牌链的根值,也可以在服务器(11,101)上验证安全令牌。如果第一认证码和第二认证码是相关的,确认登陆。
文档编号G06F15/00GK101288059SQ200680038422
公开日2008年10月15日 申请日期2006年12月21日 优先权日2005年12月22日
发明者刘锦兴, 王夏妍, 郑小龙 申请人:香港应用科技研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1