带保密性的身份识别方法和系统的制作方法

文档序号:7952112阅读:205来源:国知局
专利名称:带保密性的身份识别方法和系统的制作方法
技术领域
本发明一般涉及诸如计算机和网络安全等电子安全领域,尤其涉及认证计算机系统和用户的身份。
背景技术
典型的电子安全可利用公钥/私钥系统来认证通过诸如因特网等网络访问资源的各方。这些公钥/私钥系统用一个公钥和一个私钥来操作,该公钥是不变的,且可用于诸如网站等许多不同的资源,而该私钥仅可由诸如访问资源的客户机计算机等始发者访问。该电子安全密钥系统具有显著的缺点,包括标识始发者的固定密钥可能由许多不同的网站用于获取关于始发者及其习惯、参考等许多信息。这可以由各种网站操作者通过匹配公钥,并交换对应于所匹配的公钥的信息来实现。此外,一旦匹配了公钥,网站操作者可在进行中的基础上自由地交换关于始发者的信息,获得关于用户习惯等的更多信息。

发明内容
此处所揭示的示例性实施例包括用于减轻上述以及其它缺点的方法和系统。此处所揭示的示例性实施例涉及一种用于创建非对称密钥对的方法和系统,包括生成主密钥,从服务器接收身份密钥,通过使用身份密钥、主密钥和常量的加密或散列函数来创建种子,并使用该种子作为对创建密钥或密钥对的过程的输入。在此处所揭示的一个示例性实施例中,该种子被用来创建非对称密钥对,且所得的非对称公钥储存在服务器处。
其它实施例涉及一种用于认证网站和/或服务器或用户系统的系统和方法,包括在客户机计算机上产生非对称公钥,确定该非对称公钥是否匹配服务器上可用的对应的非对称密钥,以及如果该非对称密钥匹配,则认证服务器和/或客户机。
还有一些其它实施例涉及一种用于认证网站和/或服务器或用户系统的系统和方法,包括生成主密钥,从服务器接收身份密钥,通过利用身份密钥、主密钥和常量的加密函数来创建种子,并将该种子用作对创建安全对称密钥的过程的输入,以及通过在服务器和客户机之间启动对称认证过程来确定该对称密钥是否匹配服务器上可用的对应的对称密钥。
此处所揭示的示例性实施例可以被实现为计算机进程、计算系统或诸如计算机程序产品等制品。计算机程序产品可以是计算机系统可读,且编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品也可以是计算系统可读,且编码了用于执行计算机进程的指令的计算机程序的载波上的传播信号。
通过参考以下简要概述的附图以及以下本发明的当前较佳实施例的详细描述和所附权利要求书,可以获得对本发明及其改进的更完整理解。


图1是依照一个示例性实施例用于创建非对称密钥对以及识别进行中的数字关系的系统的框图。
图2示出了其上可实现示例性实施例的合适的计算系统环境的示例。
图3是依照一个示例性实施例用于创建非对称密钥对以及认证系统的系统的框图。
图4是示出依照一个示例性实施例,在创建非对称密钥对和识别进行中的数字关系时所涉及的操作特征的流程图。
图5是示出依照一个示例性实施例,在创建非对称密钥对和识别进行中的数字关系时所涉及的其它操作特征的流程图。
图6是示出依照一个实施例,在认证系统时所涉及的操作特征的流程图。
具体实施例方式
图1是依照一个示例性实施例可用于创建非对称密钥对和认证身份的系统的框图,一般在100处示出。在该实施例中,系统100具有客户机102、104。客户机102、104连接到网络112,网络112进而连接到服务器1 106、服务器2 108以及服务器3、110。网络112可以是因特网,或可用于在客户机102和104以及服务器106、108、110之间通信的其它信道。本领域的技术人员可以理解,系统100仅是具有客户机和服务器的一个示例性通信系统,且可使用许多替换和不同的配置。
在该实施例中,客户机102和104分别具有密钥创建模块114和115。密钥创建模块114和115能够创建对称密钥和/或非对称密钥对。
在涉及非对称密钥的一个示例性实施例中,非对称密钥对是基于已知输入计算的唯一值,使得其值可通过对相同的输入值重复相同的函数来再现。服务器的固定身份密钥和/或由客户机上的密钥创建模块生成的公钥然后用于进行相互认证。即,客户机可确认服务器,反之亦然。
客户机102和104向服务器106、108、110请求并发送信息。同样,服务器106、108、110接收对信息的请求并试图响应于该请求。此外,服务器本身可向客户机请求信息。有时,敏感信息被发送到服务器。为保护服务器和客户机,系统100结合了对称或非对称密钥安全。使用这些安全特征。相对地保护了客户机系统免遭试图盗取信息的非正当服务器技术的攻击。
客户机102可请求与服务器1 106相关联的身份密钥116。客户机102然后可创建主密钥,并利用身份密钥116、主密钥和常量,利用创建模块114来创建非对称密钥对,它包括非对称公钥(APK)1 120。非对称公钥1 120然后可储存在服务器1 106上,且对应的非对称私钥可储存在客户机102处,使得当客户机102再次访问服务器1 106时,和/或客户机102的用户再次访问服务器1 106时,它可请求对非对称公钥1 120的获知证明,使得它可确定它先前是否访问了服务器1 106。该实施例也可用于通过非对称公钥1 120来确定服务器1 106和/或相关联的网站的真实性。此外,客户机102可丢弃该对称私钥,而在稍后当再次访问服务器时重新创建该非对称密钥对并呈现非对称公钥,以向服务器证明存在进行中的数字关系。
客户机102可在再次访问服务器1 106时呈现重新创建的非对称公钥,以向服务器1 106确认客户机102。客户机102和服务器1 106都可进一步要求来自对方的保证来确认身份。这些进一步的保证可以是这样一种形式,使得仅来自该密钥对的公钥或私钥的任一个的持有者可解密、理解和/或能够响应。
当使用非对称密钥机制时,由于客户机102为每一服务器106、108和110生成不同的密钥对,并使用加密信道来传递公钥,因此仅呈现非对称公钥的获知证明足以确认身份。这意味着非对称公钥可在方便时担当对称密钥。在其它情况下,服务器可选择要求相关联的私钥的拥有证明。
类似地,另一客户机104也可访问服务器1 106并请求服务器1ID密钥116。服务器1ID密钥116也可以通过向第三方请求证书或安全证书,并解析该证书来获取身份密钥或其它身份信息来获得。可以理解,可使用用于获取身份密钥和/或安全证书的其它方法和系统,而不会脱离此处所揭示的概念。类似地,客户机104也可利用ID密钥116、不同的主密钥以及可任选的常量来创建非对称公钥(APK)2 122。客户机2 104然后可将非对称公钥2 122与服务器1 106相关联。客户机104然后可保存对应的非对称私钥,或丢弃它并在随后访问服务器时重新创建密钥对。
非对称公钥2 122可以由与客户机104相关联的密钥创建模块114来创建。类似于先前所描述的方法,当客户机104随后访问服务器1 106时,它可请求非对称公钥2 122的获知证明,使得它可确定它先前是否访问了服务器1 106和/或向服务器1 106提供某些身份信息。类似地,客户机104可重新创建非对称公钥2 122的获知证明并向服务器1 106证实该证明,以认证客户机104的身份,或可要求相关联的私钥的拥有证明。
此外,客户机1 102可访问服务器2 108并请求服务器2ID密钥118。在接收到ID密钥118之后,客户机102然后可利用ID密钥118和另一或同一主密钥以及常量来创建对称密钥3(SK)124(在这一情况下,将种子输入生成对称密钥而非非对称密钥对的模块)。对称密钥然后使用加密信道被传递给服务器2 108。
客户机102然后可在再次访问服务器2 108时请求对称密钥3 124的获知证明。类似地,服务器可要求客户机对密钥的获知证明。仅用户将具有例如用于创建非对称密钥的主密钥。客户机102可在每一访问过的网站和/或服务器处储存不同的对称密钥,且能够请求那些密钥的获知证明来确定先前是否访问了服务器。此外,对称密钥可用于认证服务器、客户机和/或网站,因为仅在服务器处储存了对称密钥的特定客户机或用户才能够通过所要求的相互认证。
类似地,客户机104可访问服务器3 110并请求服务器3身份密钥120。客户机104然后可利用密钥创建模块114来生成随机主密钥,该主密钥将连同服务器3ID密钥120和可任选的常量一起用于创建非对称公钥(APK)4 126,APK 4 126然后可储存在服务器3 110处或与其相关联。客户机104也可加密对称密钥下的非对称密钥对,诸如从主密钥、服务器3身份密钥和某一常量导出的非对称密钥对,将利用非对称密钥对作为种子(SKAK)127而做出的对称密钥与非对称公钥APK4 126和相关联的服务器身份相关联地储存在服务器3上。由于加密了利用非对称密钥127的对称密钥,因此仅客户机104能够解密它,或使用该信息来检索非对称密钥对。因此,利用非对称密钥127的对称密钥可由客户机104用于确定客户机104先前是否访问了服务器3 110。此外,该配置可用于认证网站和/或服务器,因为仅先前访问过的服务器具有来自特定客户机的、利用非对称密钥的相关联的对称密钥。另外,能够在访问服务器时解密利用非对称密钥的对称密钥的客户机可利用非对称公钥来向服务器认证其自己的身份。
如上所述,不诚实的人可能试图哄骗客户机和/或客户机的用户提供个人信息。未标识的欺诈方130可试图复制或看上去像合法服务器和/或网站,来从客户机102、104获得身份和/或其它信息。采用此处所揭示的示例性实施例,当客户机请求身份密钥时,未标识的欺诈方ID密钥132将被提供给客户机,由此客户机可辨别出它不是先前所访问的服务器。此外,当客户机请求非对称公钥时,未标识的欺诈方没有非对称公钥(APK)134,因为客户机和/或用户先前未访问该未标识的欺诈方的网站。这些情形中的任一个都向客户机102、104的用户警告该网站和/或服务器不是可信的,且用户应当谨防公开身份或其它信息。
类似地,如果未标识的欺诈方130试图访问任一服务器来获取客户机的身份信息,则未标识的欺诈方130无法证实装作客户机或服务器所需的对称或非对称密钥的知识。
采用该示例性实施例,服务器、用户和/或客户机可具有另一级或两级安全性,该安全性可阻止未标识的欺诈方通过欺骗网站来获得个人信息。此外,这也可阻止信息的“中间人”截取以提供进一步的安全性。
由于站点专用非对称公钥或对称密钥是储存在服务器和/或网站处的,因此用户可将其主密钥带到许多不同的客户机并访问网站,而在他们与真实网站交涉的这一事实下,在某种程度上仍是安全的。他们也可利用服务器身份密钥及其主密钥以及常量来请求站点的对称或非对称公钥的获知证明;或者他们可请求并解密储存在网站上或与其相关联的不透明密钥块(blob),以确定他们先前是否访问过该服务器和/或网站。这对在家里、办公室、图书馆中使用多个机器的用户也是有吸引力的,因为他们可能在与网站交涉时会感到舒适得多。该系统的一个显著且主要的特征是主密钥只需被传输到新设备或计算机一次。从中可导出所有的站点专用密钥和进行中的数字关系的证明。这消除了对于进行中的重新同步的需求。
这对于关注欺诈的网站服务器和操作者是有吸引力的。这可提供额外级别的用户生成的安全性,它可阻止未标识的用户获得机密信息。
图2示出了其上可实现本发明的各实施例的合适的计算系统环境的一个示例。系统200表示可用作上述客户机和/或服务器的一个系统。在其最基本的配置中,系统200通常包括至少一个处理单元202和系统存储器204。根据计算设备的确切配置和类型,系统存储器204可以是易失性(如RAM)、非易失性(如ROM、闪存等)或两者的某一组合。这一最基本配置在图2中由虚线206内的组件示出。另外,系统200可具有其它特征/功能。例如,设备200也可包括另外的存储(可移动和/或不可移动),包括但不限于,磁盘、光盘或磁带。这类另外的存储在图2中由可移动存储208和不可移动存储210示出。计算机存储介质可包括以用于储存如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法和技术实现的易失性和非易失性、可移动和不可移动介质。存储器204、可移动存储208和不可移动存储210都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存期望的信息并可由系统200访问的任一其它介质。任一这类计算机存储介质可以是系统200的一部分。
系统200也包含允许系统与其它设备进行通信的通信连接212。通信连接212是通信介质的一个示例。通信介质通常可以具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。本发明使用的术语计算机可读介质包括存储介质和通信介质。
系统200也可具有(多个)输入设备214,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括(多个)输出设备216,如显示器、扬声器、打印机等等。所有这些设备在本领域中是公知的,且无需在此详细描述。
诸如系统200等计算设备通常包括至少某种形式的计算机可读介质。计算机可读介质可以是可由系统200访问的任何可用介质。作为示例而非局限,计算机可读介质可包括计算机存储介质和通信介质。
图3在概念级上一般在300处示出了依照一个示例性实施例用于非对称安全密钥交换的系统。该示例示出了系统300,包括通过网络314或其它信道连接的客户机301和服务器306。如可以清楚的,大多数设备在各种时刻可同时担当客户机301和服务器306两者。然而,为简明起见,这些功能在此单独示出。另外,网络314可以几乎是包括因特网的任何类型的网络,或者可以是适用于在客户机301和服务器306之间建立通信的某一其它类型的信道。
客户机301可以是诸如通过因特网访问网站或服务器306的个人PC等客户机。然而,可以理解,可以使用其它设备和配置,而不脱离此处所揭示的概念。类似地,服务器306可以是用于网站的主机、设备或其它系统,或其它配置。
服务器306具有相关联的身份密钥307。身份密钥307具有关于服务器的信息以及其它信息。在一个实施例中,信息涉及URL的组成部分、拥有或操纵系统的主体的名称、和/或其它“身份”信息。当访问服务器306时,客户机301可请求身份密钥307,和/或可由服务器或其它实体向客户机301提供身份密钥307。尽管身份密钥307在此被示为驻留在服务器306上或源自服务器306,然而可以理解,身份密钥307可驻留在另一源上或源自另一源,包括但不限于验证实体等等。
在另一示例性实施例中,客户机301接收包含关于服务器306的信息的证书。包含在证书内的信息包括身份密钥307或其它身份信息。客户机301解析该证书,以访问身份密钥307。如上所述,证书可源自服务器、验证实体和/或其它实体。
身份信息然后由客户机用于创建储存在服务器处的唯一非对称公钥(或对称密钥)309。密钥309是服务器的身份信息、由客户机生成的主密钥以及可任选的常量的函数。该函数可以是这样的使得用于创建该函数的分量可能无法从最终的产物中辨别出来(即,加密的)。
客户机301先前可能已经创建了主密钥302。主密钥302可以是随机生成的数字和/或各种不同类型的信息,包括但不限于,时间戳、身份信息等等,或其它信息或其组合。客户机301然后可利用主密钥302和身份密钥307以及常量的组合的加密函数,来创建用于生成包括私钥308和公钥309的非对称密钥对的一个或多个种子。由此,可对访问的每一服务器306和/或网站创建非对称密钥308和309。或者,一个或多个种子可用于生成可通过的加密信道传递的对称密钥,该对称密钥同样被示为309。
密钥309然后可被储存在服务器306上。在非对称情况下,非对称私钥可被储存在客户机301处或可被丢弃并当随后访问服务器时重新创建密钥。当客户机301再次访问服务器306时,客户机301可请求和/或接收服务器306对密钥309的获知证明,并将其与其自己系统上的重新创建的密钥进行比较,以确定客户机301先前是否已访问过服务器306。服务器306也可使用该方法来确定客户机301先前是否访问过服务器306,或在非对称情况下,可要求客户机示出私钥308的获知证明。
该信息也可用于确定服务器306的真实性,使得客户机301和使用客户机301的主体可以对服务器306和/或相关联的网站是真实和/或合法的感到更信任。这可在用户向服务器306公开身份信息或其它信息之前减少欺诈,且提高用户信任感,并且还有许多其它的好处。
获知证明可包括通过采用秘密的某一信息提交数字签名,该秘密可由获知该秘密和/或具有种子和密钥的实体验证和/或理解。通过请求先前储存在服务器处的密钥的获知证明,用户可标识服务器/网站,然后可以在向服务器公开信息时更确定。示例性实施例可降低未标识系统312试图通过假扮为先前已访问的服务器306来向客户机301获取身份信息的可能性。此外,服务器306也可使用非对称密钥308来确定试图访问服务器306和/或改变或获取关于特定客户机的信息的客户机301的真实性。
一旦被创建,非对称公钥或对称密钥被储存在web服务器上,或与对其创建该密钥的网站相关联。结果,用户可访问该站点,并通过站点质询来证实密钥获知而快速验证/识别该站点。此外,由于访问的每一系统可被给予唯一的成对密钥,因此不同系统的操作者可以不比较密钥来协作和共享关于客户机或用户的信息。
取决于情况,用于获知证明的加密可以是AES 256函数,或可以基于诸如RSA等公钥算法。然而,可以理解,可使用其它加密算法、函数和配置,而不脱离此处揭示的概念。
信息也可用于确定服务器306的真实性,使得客户机301和客户机301的用户可以对服务器306和/或相关联的网站和系统是真实和/或合法的感到更信任。这可在用户向服务器306公开身份信息或其它敏感信息之前减少欺诈并提高用户信任感,以及还有其它好处。该认证可提供进行中的数字关系的一致识别。
如果客户机301接收到除期望的密钥309的拥有证明之外的任何东西,则这可指示客户机301先前未访问过该服务器306。这也可指示正在假扮合法站点,或者服务器306丢失了密钥,以及其它情形。这可向客户机301的用户指示服务器306不是可信的,且用户应当从服务器306断开,或谨慎地继续和/或不要泄漏任何敏感、机密和/或身份信息。
图3所示的实施例的另一好处是用户可从具有原始主密钥的许多不同的客户机访问网站和/或服务器306,而仍具有网站合法的确信级别。
图4是一般在400处示出依照一个示例性实施例用于创建成对的安全密钥的方法的示例性实施例的流程图。方法400包括接收操作402。接收操作402包括从服务器或其它实体接收身份密钥。身份密钥可包括关于服务器的身份信息,包括但不限于,唯一URL、拥有系统的主体、和/或标识信息。此外,身份密钥可以是诸如安全证书或其它证书等与服务器相关联的证书的一部分。身份密钥可从证书中解析出来。控制然后传递到生成操作404。
生成操作404可包括生成主密钥。主密钥可以是随机数、身份信息或其它唯一信息和/或其组合。主密钥也可以是先前已生成的,且重用于不同的应用程序。可以理解,主密钥应当被储存在一个非常安全的地方,该地方不允许非授权的人或实体闯入并查看和/或盗取信息。控制然后传递到获取操作406。
获取操作406包括获取常量。常量可以是随机创建的数字或其它信息,和/或其组合。常量可以仅对创建该常量的用户是已知的,使得它们可在稍后需要时再现。控制然后传递到创建操作408。
创建操作408可包括根据身份密钥、主密钥和常量的函数来创建种子。可以理解,可以使用其它信息和/或信息组合,而不脱离此处所揭示的概念。该函数可以是上述信息的单向加密,使得原始信息不能从所得的种子中辨别出来。该函数可以是AES加密函数或其它加密函数或算法,和/或其组合。如果需要产生一个范围内的种子,则控制被传递回获取操作406,以获取要用于利用不同的常量来创建另一种子的另一常量。种子然后可由非对称密钥对生成器用于创建非对称密钥对,或由对称密钥生成或确认函数用于创建对称密钥。
图5是一般在500处示出依照一个示例性实施例,用于创建非对称密钥对和识别进行中的数字关系的其它操作特征的流程图。
方法500包括502处的接收操作502。接收操作502包括接收先前创建的种子。种子如上所述地创建。控制然后传递到创建操作504。
创建操作504包括利用所接收的种子创建非对称密钥对。一个或多个种子可用于创建非对称密钥对。所使用的种子的数量可取决于使用的非对称密钥对生成器的特定类型。控制然后传递到储存操作506。
储存操作506可包括将非对称公钥储存在服务器处和/或将非对称公钥与服务器或网站相关联。非对称公钥与服务器相关联,使得当客户机再次访问服务器时它可由该客户机访问。此外,它也可由用户从另一系统访问,使得用户可从许多不同的设备或系统来认证或识别系统或网站。客户机也可在随后再次访问服务器时重新创建非对称公钥并呈现它,以确认客户机的身份。以此方式,客户机可确定服务器先前是否已被访问过。此外,该信息可用于确定服务器和/或客户机的真实性和/或合法性。
图6是一般在600处示出依照一个示例性实施例用于确定服务器、客户机、系统或网站的真实性的方法的流程图。依照方法600的各方面,处理在产生操作602开始。产生操作602可包括用户/客户机向服务器产生非对称公钥的获知证明,以验证用户/客户机的身份。客户机和/或服务器的非对称公钥的获知证明的产生可构成进行中的关系的证明。即,客户机和服务器先前可能已交换过了信息。客户机也可利用对应的非对称私钥来指示对服务器的先前访问和/或信息交换。此外,客户机可通过具有储存的密钥对或通过使用原始用于创建非对称公钥的信息重新创建非对称密钥对,来证实非对称公钥的获知。控制然后传递到查询操作604。
查询操作604包括确定所产生的非对称公钥是否与客户机所保存和/或重新创建和/或解密和/或先前储存的非对称公钥匹配。由于客户机可能已保存了对应的非对称公钥,因此可比较该非对称公钥,以确定服务器先前是否已被访问过。此外,客户机可利用身份密钥和原始的主密钥以及其它信息来重新创建非对称公钥,以确定服务器先前是否已被访问过。
如果非对称公钥匹配,则控制传递到系统被认证606。这指示客户机先前已访问过服务器,且储存了非对称公钥和/或将非对称公钥与服务器相关联。被认证的系统可以是服务器和/或客户机。客户机和/或服务器在认证对方的身份之前可任选地请求对方的身份的进一步保证。这可以是确定未标识的欺诈方是否暗中取得了密钥。该进一步保证可包括向对方发送消息或质询及其他信息,该消息或质询只能使用先前所公开的对应密钥或信息等来解密和/或答复。
如果非对称公钥不匹配,或者未产生非对称公钥,则控制被传递到请求操作610。请求操作610可包括向服务器请求身份密钥,或服务器向客户机请求更多信息。如果客户机先前已访问了服务器或网站,且启动了该功能,则用户和/或服务器可具有关于该网站不真实或客户机不是它们所声称的客户机的指示。这也可向用户或服务器指示另一实体正在试图获取来自主体的身份信息。这也可指示服务器或客户机丢失了非对称公钥或私钥,或者服务器或客户机已被篡改。对于这些情形中的任一个,客户机或服务器的用户可具有关于该系统不是可信的指示,并且可在向对方公开信息时谨慎对待。
示例性实施例的各种实施例的逻辑操作可以被实现为(1)运行在计算系统上的计算机实现的动作或程序模块的序列,和/或(2)计算系统内互连的机器逻辑电路或电路模块。实现是取决于实现本发明的计算系统的性能要求的选择问题。因此,构成此处所描述的示例性实施例的实施例的逻辑操作以不同的方式被称为操作、结构设备、动作或模块。本领域的技术人员可以认识到,这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑和/或其任何组合来实现,而不脱离如所附权利要求书中所述的本发明精神和范围。
尽管以对计算机结构特征、方法动作和计算机可读介质专用的语言描述了示例性实施例,然而可以理解,所附权利要求书中定义的示例性实施例不必限于所描述的具体结构、动作或介质。作为一个示例,可使用与XML不同的格式来对标识信息进行编码。因此,这些具体结构特征、动作和介质是作为实现所要求保护的本发明的示例性实施例来揭示的。
上述各种实施例是仅作为说明来提供的,并且不应被解释为限制本发明。本领域的技术人员可以容易地认识到,可不遵循此处所示和描述的示例性实施例和应用对本发明做出各种修改和改变,而不脱离所附权利要求书中所述的本发明的真实精神和范围。
权利要求
1.一种创建对称或非对称安全密钥的方法,包括接收与服务器相关联的身份密钥;生成主密钥;通过使用所述身份密钥和所述主密钥的加密函数创建一个或多个种子;使用所述种子来创建公钥和私钥对;以及在所述服务器处储存所述公钥。
2.如权利要求1所述的方法,其特征在于,创建种子还包括使用一个或多个常量。
3.如权利要求1所述的方法,其特征在于,还包括当随后访问所述服务器时呈现所述公钥的获知证明。
4.如权利要求1所述的方法,其特征在于,还包括使用所述公钥来确定所述客户机先前是否已访问过所述服务器。
5.如权利要求1所述的方法,其特征在于,还包括响应于确定所述客户机先前已访问过所述服务器,允许所述客户机和所述服务器之间的进一步交互;以及响应于确定所述客户机先前未访问过所述服务器,向所述客户机请求信息。
6.如权利要求1所述的方法,其特征在于,还包括使用所述公钥来认证所述服务器。
7.如权利要求1所述的方法,其特征在于,还包括使用所述公钥来认证所述客户机。
8.如权利要求1所述的方法,其特征在于,生成主密钥包括生成随机数。
9.如权利要求1所述的方法,其特征在于,生成种子包括使用所述身份密钥、所述主密钥和常量的散列函数。
10.如权利要求1所述的方法,其特征在于,所述服务器包括web服务器。
11.如权利要求1所述的方法,其特征在于,还包括使用所述非对称密钥对作为种子,来创建对称密钥。
12.如权利要求1所述的方法,其特征在于,所述公钥至少部分地基于所述身份密钥。
13.如权利要求1所述的方法,其特征在于,接收身份密钥包括接收与网站相关联的证书。
14.一种用于使用非对称或对称密钥对来认证系统的方法,包括处理器;与所述处理器连接的信道;以及与所述处理器耦合且所述处理器可读的存储器,所述存储器包含一系列指令,当所述指令由所述处理器执行时,使所述处理器接收与服务器相关联的身份密钥;生成主密钥;通过使用所述身份密钥和所述主密钥的加密函数来创建种子;使用所述种子来创建私钥和公钥对;以及在所述服务器处储存所述公钥。
15.如权利要求14所述的系统,其特征在于,生成主密钥包括生成随机数。
16.如权利要求14所述的系统,其特征在于,创建种子包括使用所述身份密钥、所述主密钥和一个或多个常量的散列函数。
17.如权利要求14所述的系统,其特征在于,还包括至少部分地基于所述非对称公钥或对称密钥来认证所述客户机。
18.一种编码了执行一种用于认证系统的计算机实现的方法的指令的计算机程序的计算机程序产品,所述方法包括接收与服务器相关联的身份密钥;生成主密钥;通过使用所述身份密钥、所述主密钥和一个或多个常量的加密函数创建一个或多个种子;使用所述一个或多个种子来创建密钥;在所述服务器处储存公钥;向所述服务器呈现所述公钥的获知证明;确定所述公钥是否与储存的密钥匹配;以及至少部分地基于所述公钥认证所述服务器或所述客户机的身份。
19.如权利要求18所述的计算机可读介质,其特征在于,使用创建密钥的一个或多个种子所创建的密钥包括对称密钥。
20.如权利要求18所述的计算机可读介质,其特征在于,使用创建密钥的一个或多个种子所创建的密钥包括非对称密钥。
全文摘要
此处所公开的示例性实施例可包括一种用于创建成对的安全密钥的方法和系统,包括从网站接收身份密钥,生成主密钥,通过使用身份密钥和主密钥的加密函数来生成成对的对称密钥或非对称密钥对,以及在客户机和网站处储存成对的公钥或对称密钥。
文档编号H04L9/08GK1832394SQ200610003730
公开日2006年9月13日 申请日期2006年2月7日 优先权日2005年3月7日
发明者A·伯兹, A·K·楠达, D·R·希蒙, J·P·休丘科, J·D·本纳龙, K·卡麦龙 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1