用户设备、认证服务器和身份认证方法及系统的制作方法

文档序号:10666300阅读:608来源:国知局
用户设备、认证服务器和身份认证方法及系统的制作方法
【专利摘要】本发明公开了一种用户设备、认证服务器和身份认证方法及系统。身份认证方法包括:用户设备从第一存储区域读取第一密钥,用户设备包括用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,第一存储区域为用于存储认证密钥的多个数据区域中的一个数据区域,多个数据区域中的每个数据区域用于存储一个认证密钥;用户设备向第一认证服务器发送第一认证请求,第一认证服务器利用第一密钥对用户设备进行认证并向用户设备返回第一认证结果;以及用户设备接收第一认证服务器返回的第一认证结果。通过本发明,解决了现有技术中用户对多个认证服务器认证不方便的问题,达到了便于用户采用单一用户设备对多个认证服务器进行认证的效果。
【专利说明】
用户设备、认证服务器和身份认证方法及系统
技术领域
[0001]本发明涉及计算机领域,具体而言,涉及一种用户设备、认证服务器和身份认证方法及系统。
【背景技术】
[0002]现有的身份认证技术,通常需要采用多个设备分别对多个认证服务器进行认证。发明人发现,由于现有的身份认证技术所存在的缺陷,使得用户在对多个不同的认证服务器进行认证时,需要持有多个设备,这给用户带来了不便。
[0003]针对现有技术中用户对多个认证服务器认证不方便的问题,目前尚未提出有效的解决方案。

【发明内容】

[0004]本发明的主要目的在于提供一种用户设备、认证服务器和身份认证方法及系统,以解决现有技术中用户对多个认证服务器认证不方便的问题。
[0005]为了实现上述目的,根据本发明的一个方面,提供了一种身份认证方法。根据本发明的身份认证方法包括:用户设备从第一存储区域读取第一密钥,其中,所述第一密钥为所述用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥,所述用户设备包括用于存储认证密钥的多个数据区域和用于存储所述设备密钥的数据区域,所述第一存储区域为所述用于存储认证密钥的多个数据区域中的一个数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥;所述用户设备向所述第一认证服务器发送第一认证请求,其中,所述第一认证请求携带有根据所述第一密钥得到的一次性信息,所述第一认证服务器利用所述第一密钥对所述用户设备进行认证并向所述用户设备返回第一认证结果;以及所述用户设备接收所述第一认证服务器返回的第一认证结果。
[0006]进一步地,在用户设备从第一存储区域读取第一密钥之前,所述方法还包括:所述用户设备与所述设备服务器进行注册;以及在所述用户设备和所述设备服务器中建立对称密钥,将所述用户设备中的对称密钥作为所述设备密钥。
[0007]进一步地,在用户设备从第一存储区域读取第一密钥之前,所述方法还包括:所述用户设备向所述第一认证服务器发送注册请求,所述注册请求携带有用于表示所述用户设备的公开名和根据所述设备密钥和所述用户设备自身的机密信息计算得到的第一认证信息,其中,所述第一认证服务器接收到所述注册请求之后,根据所述第一认证信息和选定的所述第一认证服务器自身的第一机密信息计算得到第二认证信息,并向所述设备服务器发送所述公开名和所述第二认证信息,所述设备服务器基于所述公开名从本地提取与所述公开名对应的密钥,并利用与所述公开名对应的密钥对所述第二认证信息进行验证,验证通过后根据所述第二认证信息计算得到第三认证信息,以及向所述第一认证服务器返回第三认证信息,所述第一认证服务器根据所述第一认证信息、所述第二认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到所述第一密钥,并根据所述第一认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第四认证信息,并将所述第四认证信息返回给所述用户设备;所述用户设备接收所述第四认证信息;所述用户设备利用所述第四认证信息计算得到所述第一密钥;以及所述用户设备将所述第一密钥存储在所述第一存储区域。
[0008]进一步地,所述用户设备具有唯一的公开名,所述公开名对应多个认证服务器;或者,所述用户设备具有多个公开名,所述多个公开名与多个认证服务器一一对应。
[0009]进一步地,所述方法还包括:所述用户设备从第二存储区域读取第二密钥,其中,所述第二密钥为所述用户设备利用设备密钥在设备服务器的协助下向第二认证服务器注册后得到的认证密钥,所述第二存储区域为所述用户设备中用于存储设备密钥的多个数据区域中的一个数据区域;所述用户设备向所述第二认证服务器发送第二认证请求,其中,所述第二认证请求携带有根据所述第二密钥得到的一次性信息,所述第二认证服务器为与所述第一认证服务器相互独立的认证服务器,所述第二认证服务器利用所述第二密钥对所述用户设备进行认证并向所述用户设备返回第二认证结果;以及所述用户设备接收所述第二认证服务器返回的第二认证结果。
[0010]为了实现上述目的,根据本发明的另一方面,提供了一种身份认证方法。根据本发明的身份认证方法包括:认证服务器接收用户设备发送的第一认证请求,其中,所述第一认证请求携带有根据第一密钥得到的一次性信息,所述第一密钥为所述用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥,所述用户设备包括用于存储认证密钥的多个数据区域和用于存储所述设备密钥的数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥;所述认证服务器利用所述第一密钥对所述用户设备进行认证,得到认证结果;以及所述认证服务器向所述用户设备发送所述认证结果。
[0011]进一步地,在认证服务器接收用户设备发送的第一认证请求之前,所述方法还包括:所述认证服务器接收所述用户设备发送的注册请求,其中,所述注册请求携带有用于表示所述用户设备的公开名和根据所述设备密钥和所述用户设备自身的机密信息计算得到的第一认证信息;所述认证服务器接收到所述注册请求之后,根据所述第一认证信息和选定的所述认证服务器自身的第一机密信息计算得到第二认证信息;所述认证服务器向所述设备服务器发送所述公开名和所述第二认证信息,其中,所述设备服务器基于所述公开名从本地提取与所述公开名对应的密钥,并利用与所述公开名对应的密钥对所述第二认证信息进行验证,验证通过后根据所述第二认证信息计算得到第三认证信息,以及向所述认证服务器返回所述第三认证信息;所述认证服务器根据所述第一认证信息、所述第二认证信息、所述第三认证信息和和选定的所述第一认证服务器自身的第二机密信息计算得到所述第一密钥;所述认证服务器根据所述第一认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第四认证信息;所述认证服务器将所述第四认证信息发送给所述用户设备,其中,所述用户设备利用所述第四认证信息计算得到所述第一密钥,并将所述第一密钥存储在第一存储区域。
[0012]为了实现上述目的,根据本发明的另一方面,提供了一种用户设备。根据本发明的用户设备包括:第一读取单元,用于使得所述用户设备从第一存储区域读取第一密钥,其中,所述第一密钥为所述用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥,所述用户设备包括用于存储认证密钥的多个数据区域和用于存储所述设备密钥的数据区域,所述第一存储区域为所述用于存储认证密钥的多个数据区域中的一个数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥;第一发送单元,用于使得所述用户设备向所述第一认证服务器发送第一认证请求,其中,所述第一认证请求携带有根据所述第一密钥得到的一次性信息,所述第一认证服务器利用所述第一密钥对所述用户设备进行认证并向所述用户设备返回第一认证结果;以及第一接收单元,用于使得所述用户设备接收所述第一认证服务器返回的第一认证结果。
[0013]进一步地,所述用户设备还包括:第二发送单元,用于在用户设备从第一存储区域读取第一密钥之前,使得所述用户设备向所述第一认证服务器发送注册请求,所述注册请求携带有用于表示所述用户设备的公开名和根据所述设备密钥和所述用户设备自身的机密信息计算得到的第一认证信息,其中,所述第一认证服务器接收到所述注册请求之后,根据所述第一认证信息和选定的所述第一认证服务器自身的第一机密信息计算得到第二认证信息,并向所述设备服务器发送所述公开名和所述第二认证信息,所述设备服务器基于所述公开名从本地提取与所述公开名对应的密钥,并利用与所述公开名对应的密钥对所述第二认证信息进行验证,验证通过后根据所述第二认证信息计算得到第三认证信息,以及向所述第一认证服务器返回所述第三认证信息,所述第一认证服务器根据所述第一认证信息、得到第二认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到所述第一密钥,并根据所述第一认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第四认证信息,并将所述第四认证信息返回给所述用户设备;第二接收单元,用于使得所述用户设备接收所述第四认证信息;计算单元,用于使得所述用户设备利用所述第四认证信息计算得到所述第一密钥;以及存储单元,用于使得所述用户设备将所述第一密钥存储在所述第一存储区域。
[0014]进一步地,所述用户设备还包括:第二读取单元,用于使得所述用户设备从第二存储区域读取第二密钥,其中,所述第二密钥为所述用户设备利用设备密钥在设备服务器的协助下向第二认证服务器注册后得到的认证密钥,所述第二存储区域为所述用户设备中用于存储设备密钥的多个数据区域中的一个数据区域;第三发送单元,用于使得所述用户设备向所述第二认证服务器发送第二认证请求,其中,所述第二认证请求携带有根据所述第二密钥得到的一次性信息,所述第二认证服务器为与所述第一认证服务器相互独立的认证服务器,所述第二认证服务器利用所述第二密钥对所述用户设备进行认证并向所述用户设备返回第二认证结果;以及第三接收单元,用于使得所述用户设备接收所述第二认证服务器返回的第二认证结果。
[0015]为了实现上述目的,根据本发明的另一方面,提供了一种认证服务器。根据本发明的认证服务器包括:第一接收单元,用于使得所述认证服务器接收用户设备发送的第一认证请求,其中,所述第一认证请求携带有根据第一密钥得到的一次性信息,所述第一密钥为所述用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥,所述用户设备包括用于存储认证密钥的多个数据区域和用于存储所述设备密钥的数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥;认证单元,用于使得所述认证服务器利用所述第一密钥对所述用户设备进行认证,得到认证结果;以及第一发送单元,用于使得所述认证服务器向所述用户设备发送认证结果。
[0016]进一步地,所述认证服务器还包括:第二接收单元,用于在认证服务器接收用户设备发送的第一认证请求之前,使得所述认证服务器接收所述用户设备发送的注册请求,其中,其中,所述注册请求携带有用于表示所述用户设备的公开名和根据所述设备密钥和所述用户设备自身的机密信息计算得到的第一认证信息;第一计算单元,用于使得所述认证服务器接收到所述注册请求之后,根据所述第一认证信息和选定的所述认证服务器自身的第一机密信息计算得到第二认证信息;第二发送单元,用于使得所述认证服务器向所述设备服务器发送所述公开名和所述第二认证信息,其中,所述设备服务器基于所述公开名从本地提取与所述公开名对应的密钥,并利用与所述公开名对应的密钥对所述第二认证信息进行验证,验证通过后根据所述第二认证信息计算得到第三认证信息,以及向所述认证服务器返回所述第三认证信息;第二计算单元,用于使得所述认证服务器根据所述第一认证信息、所述第二认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到所述第一密钥;第三计算单元,用于使得所述认证服务器根据所述第一认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第四认证信息;第三发送单元,用于使得所述认证服务器将所述第四认证信息发送给所述用户设备,其中,所述用户设备利用所述第四认证信息计算得到所述第一密钥,并将所述第一密钥存储在第一存储区域。
[0017]为了实现上述目的,根据本发明的另一方面,提供了一种身份认证系统。根据本发明的身份认证系统包括:用户设备,包括用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥,所述用户设备用于向认证服务器发送认证请求,所述认证请求携带有根据认证密钥得到的一次性信息,其中,所述认证密钥为所述用户设备利用所述设备密钥在设备服务器的协助下向第一认证服务器注册后得到的设备密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥;所述认证服务器,用于接收所述用户设备发送的认证请求;以及所述设备服务器,用于对所述用户设备和所述认证服务器进行注册。
[0018]本发明实施例中,由于用户设备中包含有用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,这样,对应于不同的认证服务器,用户设备可以从不同的区域读取相应的密钥,并利用该密钥向认证服务器发送认证请求,从而可以利用单一用户设备对多个认证服务器进行认证,解决了现有技术中用户对多个认证服务器认证不方便的问题,达到了便于用户采用单一用户设备对多个认证服务器进行认证的效果。
【附图说明】
[0019]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0020]图1是根据本发明第一实施例的身份认证方法的流程图;
[0021]图2是根据本发明第二实施例的身份认证方法的流程图;
[0022]图3是根据本发明实施例的用户设备的示意图;
[0023]图4是根据本发明实施例的认证服务器的示意图;以及
[0024]图5是根据本发明实施例的身份认证系统的示意图。
【具体实施方式】
[0025]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0026]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0027]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0028]本发明实施例提供了一种身份认证方法。
[0029]图1是根据本发明第一实施例的身份认证方法的流程图。如图1所示,该身份认证方法包括步骤如下:
[0030]步骤S102,用户设备从第一存储区域读取第一密钥。其中,第一密钥为用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,设备密钥为用户设备向设备服务器注册后得到的密钥,用户设备包括用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,第一存储区域为用于存储认证密钥的多个数据区域中的一个数据区域,多个数据区域中的每个数据区域用于存储一个认证密钥。
[0031]用户设备即可以是软件实现,也可以是硬件实现的,还可以是软硬件结合实现的,具体地,硬件实现的用户设备可以是一种卡、认证用的器械等,软件实现的用户设备则可以是通过软件应用来实现。用户设备用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,其中,用于存储认证密钥和设备密钥的数据区域相互隔离,存储不同的认证密钥的数据区域也相互隔离。在使用用户设备进行认证之前,需要用户设备和设备服务器进行注册,以及用户设备与认证服务器进行注册,则注册完之后才能够进行认证。
[0032]步骤S104,用户设备向第一认证服务器发送第一认证请求,其中,第一认证请求携带有根据第一密钥得到的一次性信息,第一认证服务器利用第一密钥对用户设备进行认证并向用户设备返回第一认证结果。
[0033]用户设备在读取到第一密钥之后,利用第一密钥计算产生一次性信息,该一次性信息只在当次认证时有效,过期无效。具体地,该一次性信息可以是利用第一密钥计算得到的,还可以是利用第一密钥和其他信息(例如指纹等生物信息)一起计算得到的。用户设备产生上述一次性信息之后,将携带有该信息的认证请求发送给第一认证服务器,用于请求其进行认证。第一认证服务器自身存储有与用户设备中的第一密钥相应的对称密钥,也即是第一认证服务器中也存储有第一密钥。因此,第一认证服务器可以利用该第一密钥对用户设备进行认证,得到第一认证结果,并发送给用户设备。
[0034]步骤S106,用户设备接收第一认证服务器返回的第一认证结果。
[0035]用户设备接收到第一认证结果之后,确定是否认证通过。
[0036]本发明实施例中,由于用户设备中包含有用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,这样,对应于不同的认证服务器,用户设备可以从不同的区域读取相应的密钥,并利用该密钥向认证服务器发送认证请求,从而可以利用单一用户设备对多个认证服务器进行认证,解决了现有技术中用户对多个认证服务器认证不方便的问题,达到了便于用户采用单一用户设备对多个认证服务器进行认证的效果。
[0037]优选地,在用户设备从第一存储区域读取第一密钥之前,方法还包括:用户设备与设备服务器进行注册;以及在用户设备和设备服务器中建立对称密钥,将用户设备中的对称密钥作为设备密钥。
[0038]在用户设备进行认证之前,设备和设备服务器先要做注册。注册可以有以下方式:I)设备在生产时就已经和设备服务器做了注册;2)设备在生产时没有和设备服务器注册,而是之后做的注册。这个注册是先于其他的一起活动的。具体地,注册是在设备服务器中和设备的设备服务器密钥区中建立对称密钥,也即是用户设备和设备服务器中分别存储设备密钥。
[0039]优选地,在用户设备从第一存储区域读取第一密钥之前,方法还包括:用户设备向第一认证服务器发送注册请求,注册请求携带有用于表示用户设备的公开名和根据设备密钥和用户设备自身的机密信息计算得到的第一认证信息,其中,第一认证服务器接收到注册请求之后,根据第一认证信息和选定的第一认证服务器自身的第一机密信息计算得到第二认证信息,并向设备服务器发送公开名和第二认证信息,设备服务器基于公开名从本地提取与公开名对应的密钥,并利用与公开名对应的密钥对第二认证信息进行验证,验证通过后根据第二认证信息计算得到第三认证信息,以及向第一认证服务器返回第三认证信息,第一认证服务器根据第一认证信息、第二认证信息、第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第一密钥,并根据第一认证信息、第三认证信息和选定的第一认证服务器自身的第二机密信息计算得到第四认证信息,并将第四认证信息返回给用户设备;用户设备接收第四认证信息;用户设备利用第四认证信息计算得到第一密钥;以及用户设备将第一密钥存储在第一存储区域。
[0040]在进行身份认证之前,用户设备还需要向第一认证服务器注册,具体地,对第一认证服务器注册的过程中,包括以下步骤:
[0041]a)设备向第一认证服务器提交注册请求,该注册请求携带有表示用户设备的公开名和第一认证信息。其中,第一认证信息可以是由用户设备利用设备密钥和其自身选定的机密信息计算得到的,该机密信息为能够被用户设备识别的信息,该机密信息可以是随机生成的。也可以是按照预先设定的规则生成的。
[0042]b)第一认证服务器获得上述第一认证信息,并且自己选定一定的机密信息(还不是密钥,是以后生产密钥的成分)即第一机密信息,该第一机密信息可以是能够被第一认证服务器识别的信息,可以是随机生成的,也可以是按照一定规则生成的。利用第一机密信息和第一认证信息进行计算,产生一段信息,即第二认证信息,然后第一认证服务器提交公开名和第二认证信息到设备服务器。
[0043]c)设备服务器获取公开名后,按照自身存储的公开名与设备密钥的对应关系,从自身提取与公开名对应的设备密钥,将提取的密钥(这个设备密钥和用户设备中的设备密钥一致),然后用这个密钥对第二认证信息做验证,如果不能通过验证,就通知第一认证服务器;如果能通过验证,就对第二认证信息进行计算,获得第三认证信息,然后把第三认证信息提交给第一认证服务器。
[0044]d)第一认证服务器再次选定不同的机密信息即第二机密信息,该机密信息与第一机密信息具有向类型的属性,然后对第一认证信息和第三认证信息做计算,产生第一密钥和第四认证信息。
[0045]e)第一认证服务器提交第四认证信息给用户设备。
[0046]f)用户设备利用自有的对称密钥即设备密钥,对第四认证信息做计算,获得第一密钥,这个第一密钥和第一认证服务器中的第一密钥一致。
[0047]g)用户设备和第一认证服务器都分别存储第一密钥,以及其他的机密信息。
[0048]h)然后用户设备和第一认证服务器做注册成功的交互,确认注册成功。
[0049]i)设备服务器也应对本次交易做记录。
[0050]其中,第一认证信息生成过程:用户设备选定机密信息(通常是随机数),并且结合公开名,结合其他和设备服务器共享的机密信息,也可能含有生物特征信息,用设备密钥进行密码学计算,产生第一认证信息。
[0051]第二认证信息生成过程:认证服务器选定机密信息,然后和第一认证信息做密码学计算,也可能采用认证服务器和设备服务器之间在以前就约定的密钥(但是多数情况下不需要如此),产生第二认证信息。
[0052]第三认证信息生成过程:设备服务器首先获得第二认证信息,然后做密码学计算,重新获得第一认证信息中的部分,然后利用设备密钥,对上述第一认证信息中的部分做验证。如果验证通过,就计算第三认证信息。计算中,要使用这些信息:设备密钥,第一认证信息,第二认证信息。
[0053]第四认证信息生成过程:认证服务器,再次选择机密信息,结合第三认证信息,第一认证信息,第二认证信息,做密码学计算,产生第四认证信息。
[0054]本发明实施例中,可以达到如下效果:
[0055]a)可以保证认证服务器的安全,仅有设备持有者才可以申请,才可能注册。
[0056]b)可以保证对称密钥(设备密钥)完全机密。认证密钥的产生依赖于设备选定的机密数据,也依赖于认证服务器选定的机密数据,就是说认证密钥的产生,充分反映了两者的意志。
[0057]c)可以保证设备服务器的安全和减少设备服务器的流量,设备服务器仅和认证服务器交流。
[0058]d)整个过程中,所有的数据(认证信息)传输都完全可以公开,也不对安全形成任何伤害,虽然这些信息中事实上含有机密信息。这些机密信息的获取和处理,必须依赖于设备密钥。
[0059]e)认证服务器和设备之间建立了他们自己的信任的机制,即相互之间有认证密钥。而且,认证服务器可以确保这个设备不是伪装的,必须是设备服务器认可的设备。这是安全的第一层次。建立认证密钥是安全第二层次。
[0060]进一步地,用户设备具有唯一的公开名,公开名对应多个认证服务器;或者,用户设备具有多个公开名,多个公开名与多个认证服务器对应。
[0061]对公开名的解释:每一个设备有一个特殊的名称,使得其可以和其他的任何设备区分开,而且这个名可以对外公布,并不泄露任何信息。通常这个公开名是数字串,字母串,一组文字,等。在设备服务器中,有公开名和设备密钥的对应表。设备服务器可以用公开名查找到相应的设备密钥。
[0062]优选地,方法还包括:用户设备从第二存储区域读取第二密钥,其中,第二密钥为用户设备利用设备密钥在设备服务器的协助下向第二认证服务器注册后得到的认证密钥,第二存储区域为用户设备中用于存储设备密钥的多个数据区域中的一个数据区域;用户设备向第二认证服务器发送第二认证请求,其中,第二认证请求携带有根据第二密钥得到的一次性信息,第二认证服务器为与第一认证服务器相互独立的认证服务器,第二认证服务器利用第二密钥对用户设备进行认证并向用户设备返回第二认证结果;以及用户设备接收第二认证服务器返回的第二认证结果。
[0063]第二认证服务器为与第一认证服务器不相同的认证服务器,用户设备中存储第二密钥的数据区域与存储第一密钥的数据区域完全隔离,用户设备向第二认证服务器认证过程与用户设备向第一认证服务器认证的过程相似,以及用户设备向第二认证服务器注册的过程也与用户设备向第一认证服务器注册的过程相似,这里不做赘述。
[0064]本发明实施例还提供了另一种身份认证方法。
[0065]图2是根据本发明第二实施例的身份认证方法的流程图。如图2所示,该身份认证方法包括步骤如下:
[0066]步骤S202,认证服务器接收用户设备发送的第一认证请求,其中,第一认证请求携带有根据第一密钥得到的一次性信息,第一密钥为用户设备利用设备密钥通过第一认证服务器向设备服务器注册后得到的认证密钥,设备密钥为用户设备向设备服务器注册后得到的密钥,用户设备包括用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,多个数据区域中的每个数据区域用于存储一个认证密钥。
[0067]步骤S204,认证服务器利用第一密钥对用户设备进行认证,得到认证结果。
[0068]步骤S206,认证服务器向用户设备发送认证结果。
[0069]用户设备即可以是软件实现,也可以是硬件实现的,还可以是软硬件结合实现的,具体地,硬件实现的用户设备可以是一种卡、认证用的器械等,软件实现的用户设备则可以是通过软件应用来实现。用户设备用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,其中,用于存储认证密钥和设备密钥的数据区域相互隔离,存储不同的认证密钥的数据区域也相互隔离。在使用用户设备进行认证之前,需要用户设备和设备服务器进行注册,以及用户设备与认证服务器进行注册,则注册完之后才能够进行认证。
[0070]用户设备在读取到第一密钥之后,利用第一密钥计算产生一次性信息,该一次性信息只在当次认证时有效,过期无效。具体地,该一次性信息可以是利用第一密钥计算得到的,还可以是利用第一密钥和其他信息(例如指纹等生物信息)一起计算得到的。用户设备产生上述一次性信息之后,将携带有该信息的认证请求发送给第一认证服务器,用于请求其进行认证。第一认证服务器自身存储有与用户设备中的第一密钥相应的对称密钥,也即是第一认证服务器中也存储有第一密钥。因此,第一认证服务器可以利用该第一密钥对用户设备进行认证,得到第一认证结果,并发送给用户设备。
[0071]本发明实施例中,由于用户设备中包含有用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,这样,对应于不同的认证服务器,用户设备可以从不同的区域读取相应的密钥,并利用该密钥向认证服务器发送认证请求,从而可以利用单一用户设备对多个认证服务器进行认证,解决了现有技术中用户对多个认证服务器认证不方便的问题,达到了便于用户采用单一用户设备对多个认证服务器进行认证的效果。
[0072]优选地,在认证服务器接收用户设备发送的第一认证请求之前,方法还包括:认证服务器接收用户设备发送的注册请求,其中,注册请求携带有用于表示用户设备的公开名和根据设备密钥和用户设备自身的机密信息计算得到的第一认证信息;认证服务器接收到注册请求之后,根据第一认证信息和选定的认证服务器自身的第一机密信息计算得到第二认证信息;认证服务器向设备服务器发送公开名和第二认证信息,其中,设备服务器基于公开名从本地提取与公开名对应的密钥,并利用与公开名对应的密钥对第二认证信息进行验证,验证通过后根据第二认证信息计算得到第三认证信息,以及向认证服务器返回第三认证信息;认证服务器根据第一认证信息、第二认证信息、第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第一密钥;认证服务器根据第一认证信息、第三认证信息和选定的第一认证服务器自身的第二机密信息计算得到第四认证信息;认证服务器将第四认证信息发送给用户设备,其中,用户设备利用第四认证信息计算得到第一密钥,并将第一密钥存储在第一存储区域。
[0073]在进行身份认证之前,用户设备还需要向第一认证服务器注册,具体地,对第一认证服务器注册的过程中,包括以下:
[0074]a)设备向第一认证服务器提交注册请求,该注册请求携带有表示用户设备的公开名和第一认证信息。其中,第一认证信息可以是由用户设备利用设备密钥和其自身选定的机密信息计算得到的,该机密信息为能够被用户设备识别的信息,该机密信息可以是随机生成的。也可以是按照预先设定的规则生成的。
[0075]b)第一认证服务器获得上述第一认证信息,并且自己选定一定的机密信息(还不是密钥,是以后生产密钥的成分)即第一机密信息,该第一机密信息可以是能够被第一认证服务器识别的信息,可以是随机生成的,也可以是按照一定规则生成的。利用第一机密信息和第一认证信息进行计算,产生一段信息,即第二认证信息,然后第一认证服务器提交公开名和第二认证信息到设备服务器。
[0076]c)设备服务器获取公开名后,按照自身存储的公开名与设备密钥的对应关系,从自身提取与公开名对应的设备密钥,将提取的密钥(这个设备密钥和用户设备中的设备密钥一致),然后用这个密钥对第二认证信息做验证,如果不能通过验证,就通知第一认证服务器;如果能通过验证,就对第二认证信息进行计算,获得第三认证信息,然后把第三认证信息提交给第一认证服务器。
[0077]d)第一认证服务器再次选定不同的机密信息即第二机密信息,该机密信息与第一机密信息具有向类型的属性,然后对第一认证信息和第三认证信息做计算,产生第一密钥和第四认证信息。
[0078]e)第一认证服务器提交第四认证信息给用户设备。
[0079]f)用户设备利用自有的对称密钥即设备密钥,对第四认证信息做计算,获得第一密钥,这个第一密钥和第一认证服务器中的第一密钥一致。
[0080]g)用户设备和第一认证服务器都分别存储第一密钥,以及其他的机密信息。
[0081]h)然后用户设备和第一认证服务器做注册成功的交互,确认注册成功。
[0082]i)设备服务器也应对本次交易做记录。
[0083]其中,第一认证信息生成过程:用户设备选定机密信息(通常是随机数),并且结合公开名,结合其他和设备服务器共享的机密信息,也可能含有生物特征信息,用设备密钥进行密码学计算,产生第一认证信息。
[0084]第二认证信息生成过程:认证服务器选定机密信息,然后和第一认证信息做密码学计算,也可能采用认证服务器和设备服务器之间在以前就约定的密钥(但是多数情况下不需要如此),产生第二认证信息。
[0085]第三认证信息生成过程:设备服务器首先获得第二认证信息,然后做密码学计算,重新获得第一认证信息中的部分,然后利用设备密钥,对上述第一认证信息中的部分做验证。如果验证通过,就计算第三认证信息。计算中,要使用这些信息:设备密钥,第一认证信息,第二认证信息。
[0086]第四认证信息生成过程:认证服务器,再次选择机密信息,结合第三认证信息,第一认证信息,第二认证信息,做密码学计算,产生第四认证信息。
[0087]本发明实施例中,可以达到如下效果:
[0088]a)可以保证认证服务器的安全,仅有设备持有者才可以申请,才可能注册。
[0089]b)可以保证对称密钥(设备密钥)完全机密。认证密钥的产生依赖于设备选定的机密数据,也依赖于认证服务器选定的机密数据,就是说认证密钥的产生,充分反映了两者的意志。
[0090]c)可以保证设备服务器的安全和减少设备服务器的流量,设备服务器仅和认证服务器交流。
[0091]d)整个过程中,所有的数据(认证信息)传输都完全可以公开,也不对安全形成任何伤害,虽然这些信息中事实上含有机密信息。这些机密信息的获取和处理,必须依赖于设备密钥。
[0092]e)认证服务器和设备之间建立了他们自己的信任的机制,即相互之间有认证密钥。而且,认证服务器可以确保这个设备不是伪装的,必须是设备服务器认可的设备。这是安全的第一层次。建立认证密钥是安全第二层次。
[0093]本发明实施例还提供一种用户设备。
[0094]图3是根据本发明实施例的用户设备的示意图。如图3所示,该用户设备包括:第一读取单元301、第一发送单元302和第一接收单元303。
[0095]第一读取单元301用于使得用户设备从第一存储区域读取第一密钥,其中,第一密钥为用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,设备密钥为用户设备向设备服务器注册后得到的密钥,用户设备包括用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,第一存储区域为用于存储认证密钥的多个数据区域中的一个数据区域,多个数据区域中的每个数据区域用于存储一个认证密钥。
[0096]第一发送单元302用于使得用户设备向第一认证服务器发送第一认证请求,其中,第一认证请求携带有根据第一密钥得到的一次性信息,第一认证服务器利用第一密钥对用户设备进行认证并向用户设备返回第一认证结果。
[0097]第一接收单元303用于使得用户设备接收第一认证服务器返回的第一认证结果。
[0098]用户设备即可以是软件实现,也可以是硬件实现的,还可以是软硬件结合实现的,具体地,硬件实现的用户设备可以是一种卡、认证用的器械等,软件实现的用户设备则可以是通过软件应用来实现。用户设备用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,其中,用于存储认证密钥和设备密钥的数据区域相互隔离,存储不同的认证密钥的数据区域也相互隔离。在使用用户设备进行认证之前,需要用户设备和设备服务器进行注册,以及用户设备与认证服务器进行注册,则注册完之后才能够进行认证。
[0099]用户设备在读取到第一密钥之后,利用第一密钥计算产生一次性信息,该一次性信息只在当次认证时有效,过期无效。具体地,该一次性信息可以是利用第一密钥计算得到的,还可以是利用第一密钥和其他信息(例如指纹等生物信息)一起计算得到的。用户设备产生上述一次性信息之后,将携带有该信息的认证请求发送给第一认证服务器,用于请求其进行认证。第一认证服务器自身存储有与用户设备中的第一密钥相应的对称密钥,也即是第一认证服务器中也存储有第一密钥。因此,第一认证服务器可以利用该第一密钥对用户设备进行认证,得到第一认证结果,并发送给用户设备。
[0100]用户设备接收到第一认证结果之后,确定是否认证通过。
[0101]本发明实施例中,由于用户设备中包含有用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,这样,对应于不同的认证服务器,用户设备可以从不同的区域读取相应的密钥,并利用该密钥向认证服务器发送认证请求,从而可以利用单一用户设备对多个认证服务器进行认证,解决了现有技术中用户对多个认证服务器认证不方便的问题,达到了便于用户采用单一用户设备对多个认证服务器进行认证的效果。
[0102]优选地,用户设备还包括:第二发送单元,用于在用户设备从第一存储区域读取第一密钥之前,使得用户设备向第一认证服务器发送注册请求,注册请求携带有用于表示用户设备的公开名和根据设备密钥和用户设备自身的机密信息计算得到的第一认证信息,其中,第一认证服务器接收到注册请求之后,根据第一认证信息和选定的第一认证服务器自身的第一机密信息计算得到第二认证信息,并向设备服务器发送公开名和第二认证信息,设备服务器基于公开名从本地提取与公开名对应的密钥,并利用与公开名对应的密钥对第二认证信息进行验证,验证通过后根据第二认证信息计算得到第三认证信息,以及向第一认证服务器返回第三认证信息,第一认证服务器根据第一认证信息、第二认证信息、第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第一密钥,并根据第一认证信息、第三认证信息和选定的第一认证服务器自身的第二机密信息计算得到第四认证信息,并将第四认证信息返回给用户设备;第二接收单元,用于使得用户设备接收第四认证信息;计算单元,用于使得用户设备利用第四认证信息计算得到第一密钥;以及存储单元,用于使得用户设备将第一密钥存储在第一存储区域。
[0103]该部分内容可以参见本发明第一实施例的身份认证方法部分,这里不做赘述。
[0104]本发明实施例中,可以达到如下效果:
[0105]a)可以保证认证服务器的安全,仅有设备持有者才可以申请,才可能注册。
[0106]b)可以保证对称密钥(设备密钥)完全机密。认证密钥的产生依赖于设备选定的机密数据,也依赖于认证服务器选定的机密数据,就是说认证密钥的产生,充分反映了两者的意志。
[0107]c)可以保证设备服务器的安全和减少设备服务器的流量,设备服务器仅和认证服务器交流。
[0108]d)整个过程中,所有的数据(认证信息)传输都完全可以公开,也不对安全形成任何伤害,虽然这些信息中事实上含有机密信息。这些机密信息的获取和处理,必须依赖于设备密钥。
[0109]e)认证服务器和设备之间建立了他们自己的信任的机制,即相互之间有认证密钥。而且,认证服务器可以确保这个设备不是伪装的,必须是设备服务器认可的设备。这是安全的第一层次。建立认证密钥是安全第二层次。
[0110]优选地,用户设备还包括:第二读取单元,用于使得用户设备从第二存储区域读取第二密钥,其中,第二密钥为用户设备利用设备密钥在设备服务器的协助下向第二认证服务器注册后得到的认证密钥,第二存储区域为用户设备中用于存储设备密钥的多个数据区域中的一个数据区域;第三发送单元,用于使得用户设备向第二认证服务器发送第二认证请求,其中,第二认证请求携带有根据第二密钥得到的一次性信息,第二认证服务器为与第一认证服务器相互独立的认证服务器,第二认证服务器利用第二密钥对用户设备进行认证并向用户设备返回第二认证结果;以及第三接收单元,用于使得用户设备接收第二认证服务器返回的第二认证结果。
[0111]第二认证服务器为与第一认证服务器不相同的认证服务器,用户设备中存储第二密钥的数据区域与存储第一密钥的数据区域完全隔离,用户设备向第二认证服务器认证过程与用户设备向第一认证服务器认证的过程相似,以及用户设备向第二认证服务器注册的过程也与用户设备向第一认证服务器注册的过程相似,这里不做赘述。
[0112]本发明实施例还提供了一种认证服务器。图4是根据本发明实施例的认证服务器的示意图。如图4所示,该认证服务器包括:第一接收单元401、认证单元402和第一发送单元403。
[0113]第一接收单元401用于使得认证服务器接收用户设备发送的第一认证请求,其中,第一认证请求携带有根据第一密钥得到的一次性信息,第一密钥为用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,设备密钥为用户设备向设备服务器注册后得到的密钥,用户设备包括用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,多个数据区域中的每个数据区域用于存储一个认证密钥。
[0114]认证单元402用于使得认证服务器利用第一密钥对用户设备进行认证,得到认证结果。
[0115]第一发送单元403用于使得认证服务器向用户设备发送认证结果。
[0116]用户设备即可以是软件实现,也可以是硬件实现的,还可以是软硬件结合实现的,具体地,硬件实现的用户设备可以是一种卡、认证用的器械等,软件实现的用户设备则可以是通过软件应用来实现。用户设备用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,其中,用于存储认证密钥和设备密钥的数据区域相互隔离,存储不同的认证密钥的数据区域也相互隔离。在使用用户设备进行认证之前,需要用户设备和设备服务器进行注册,以及用户设备与认证服务器进行注册,则注册完之后才能够进行认证。
[0117]用户设备在读取到第一密钥之后,利用第一密钥计算产生一次性信息,该一次性信息只在当次认证时有效,过期无效。具体地,该一次性信息可以是利用第一密钥计算得到的,还可以是利用第一密钥和其他信息(例如指纹等生物信息)一起计算得到的。用户设备产生上述一次性信息之后,将携带有该信息的认证请求发送给第一认证服务器,用于请求其进行认证。第一认证服务器自身存储有与用户设备中的第一密钥相应的对称密钥,也即是第一认证服务器中也存储有第一密钥。因此,第一认证服务器可以利用该第一密钥对用户设备进行认证,得到第一认证结果,并发送给用户设备。
[0118]本发明实施例中,由于用户设备中包含有用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,这样,对应于不同的认证服务器,用户设备可以从不同的区域读取相应的密钥,并利用该密钥向认证服务器发送认证请求,从而可以利用单一用户设备对多个认证服务器进行认证,解决了现有技术中用户对多个认证服务器认证不方便的问题,达到了便于用户采用单一用户设备对多个认证服务器进行认证的效果。
[0119]优选地,认证服务器还包括:第二接收单元,用于在认证服务器接收用户设备发送的第一认证请求之前,使得认证服务器接收用户设备发送的注册请求,其中,其中,注册请求携带有用于表示用户设备的公开名和根据设备密钥和用户设备自身的机密信息计算得到的第一认证信息;第一计算单元,用于使得认证服务器接收到注册请求之后,根据第一认证信息和选定的认证服务器自身的第一机密信息计算得到第二认证信息;第二发送单元,用于使得认证服务器向设备服务器发送公开名和第二认证信息,其中,设备服务器基于公开名从本地提取与公开名对应的密钥,并利用与公开名对应的密钥对第二认证信息进行验证,验证通过后根据第二认证信息计算得到第三认证信息,以及向认证服务器返回第三认证信息;第二计算单元,用于使得认证服务器根据第一认证信息、第二认证信息、第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第一密钥;第三计算单元,用于使得认证服务器根据第一认证信息、第三认证信息和选定的第一认证服务器自身的第二机密信息计算得到第四认证信息;第三发送单元,用于使得认证服务器将第四认证信息发送给用户设备,其中,用户设备利用第四认证信息计算得到第一密钥,并将第一密钥存储在第一存储区域。
[0120]在进行身份认证之前,用户设备还需要向第一认证服务器注册,具体地,对第一认证服务器注册的过程中,包括以下:
[0121]a)设备向第一认证服务器提交注册请求,该注册请求携带有表示用户设备的公开名和第一认证信息。其中,第一认证信息可以是由用户设备利用设备密钥和其自身选定的机密信息计算得到的,该机密信息为能够被用户设备识别的信息,该机密信息可以是随机生成的。也可以是按照预先设定的规则生成的。
[0122]b)第一认证服务器获得上述第一认证信息,并且自己选定一定的机密信息(还不是密钥,是以后生产密钥的成分)即第一机密信息,该第一机密信息可以是能够被第一认证服务器识别的信息,可以是随机生成的,也可以是按照一定规则生成的。利用第一机密信息和第一认证信息进行计算,产生一段信息,即第二认证信息,然后第一认证服务器提交公开名和第二认证信息到设备服务器。
[0123]c)设备服务器获取公开名后,按照自身存储的公开名与设备密钥的对应关系,从自身提取与公开名对应的设备密钥,将提取的密钥(这个设备密钥和用户设备中的设备密钥一致),然后用这个密钥对第二认证信息做验证,如果不能通过验证,就通知第一认证服务器;如果能通过验证,就对第二认证信息进行计算,获得第三认证信息,然后把第三认证信息提交给第一认证服务器。
[0124]d)第一认证服务器再次选定不同的机密信息即第二机密信息,该机密信息与第一机密信息具有向类型的属性,然后对第一认证信息和第三认证信息做计算,产生第一密钥和第四认证信息。
[0125]e)第一认证服务器提交第四认证信息给用户设备。
[0126]f)用户设备利用自有的对称密钥即设备密钥,对第四认证信息做计算,获得第一密钥,这个第一密钥和第一认证服务器中的第一密钥一致。
[0127]g)用户设备和第一认证服务器都分别存储第一密钥,以及其他的机密信息。
[0128]h)然后用户设备和第一认证服务器做注册成功的交互,确认注册成功。
[0129]i)设备服务器也应对本次交易做记录。
[0130]其中,第一认证信息生成过程:用户设备选定机密信息(通常是随机数),并且结合公开名,结合其他和设备服务器共享的机密信息,也可能含有生物特征信息,用设备密钥进行密码学计算,产生第一认证信息。
[0131]第二认证信息生成过程:认证服务器选定机密信息,然后和第一认证信息做密码学计算,也可能采用认证服务器和设备服务器之间在以前就约定的密钥(但是多数情况下不需要如此),产生第二认证信息。
[0132]第三认证信息生成过程:设备服务器首先获得第二认证信息,然后做密码学计算,重新获得第一认证信息中的部分,然后利用设备密钥,对上述第一认证信息中的部分做验证。如果验证通过,就计算第三认证信息。计算中,要使用这些信息:设备密钥,第一认证信息,第二认证信息。
[0133]第四认证信息生成过程:认证服务器,再次选择机密信息,结合第三认证信息,第一认证信息,第二认证信息,做密码学计算,产生第四认证信息。
[0134]本发明实施例中,可以达到如下效果:
[0135]a)可以保证认证服务器的安全,仅有设备持有者才可以申请,才可能注册。
[0136]b)可以保证对称密钥(设备密钥)完全机密。认证密钥的产生依赖于设备选定的机密数据,也依赖于认证服务器选定的机密数据,就是说认证密钥的产生,充分反映了两者的意志。
[0137]c)可以保证设备服务器的安全和减少设备服务器的流量,设备服务器仅和认证服务器交流。
[0138]d)整个过程中,所有的数据(认证信息)传输都完全可以公开,也不对安全形成任何伤害,虽然这些信息中事实上含有机密信息。这些机密信息的获取和处理,必须依赖于设备密钥。
[0139]e)认证服务器和设备之间建立了他们自己的信任的机制,即相互之间有认证密钥。而且,认证服务器可以确保这个设备不是伪装的,必须是设备服务器认可的设备。这是安全的第一层次。建立认证密钥是安全第二层次。
[0140]本发明实施例还提供了一种身份认证系统。图5是根据本发明实施例的身份认证系统。如图5所示,身份认证系统包括:用户设备501、认证服务器502和设备服务器503。
[0141]用户设备501包括用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,多个数据区域中的每个数据区域用于存储一个认证密钥,用户设备用于向认证服务器发送认证请求,认证请求携带有根据认证密钥得到的一次性信息,其中,认证密钥为用户设备利用设备密钥在设备服务器的协助下向认证服务器注册后得到的设备密钥,设备密钥为用户设备向设备服务器注册后得到的密钥。
[0142]认证服务器502用于接收用户设备发送的认证请求。
[0143]设备服务器503用于对用户设备和认证服务器进行注册。
[0144]对于身份认证系统的描述,可以具体参见本发明实施例中关于身份认证方法的部分,这里不做赘述。
[0145]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0146]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0147]在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0148]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0149]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0150]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0151]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种身份认证方法,其特征在于,包括: 用户设备从第一存储区域读取第一密钥,其中,所述第一密钥为所述用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥,所述用户设备包括用于存储认证密钥的多个数据区域和用于存储所述设备密钥的数据区域,所述第一存储区域为所述用于存储认证密钥的多个数据区域中的一个数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥; 所述用户设备向所述第一认证服务器发送第一认证请求,其中,所述第一认证请求携带有根据所述第一密钥得到的一次性信息,所述第一认证服务器利用所述第一密钥对所述用户设备进行认证并向所述用户设备返回第一认证结果;以及 所述用户设备接收所述第一认证服务器返回的第一认证结果。2.根据权利要求1所述的身份认证方法,其特征在于,在用户设备从第一存储区域读取第一密钥之前,所述方法还包括: 所述用户设备与所述设备服务器进行注册;以及 在所述用户设备和所述设备服务器中建立对称密钥,将所述用户设备中的对称密钥作为所述设备密钥。3.根据权利要求1所述的身份认证方法,其特征在于,在用户设备从第一存储区域读取第一密钥之前,所述方法还包括: 所述用户设备向所述第一认证服务器发送注册请求,所述注册请求携带有用于表示所述用户设备的公开名和根据所述设备密钥和所述用户设备自身的机密信息计算得到的第一认证信息,其中,所述第一认证服务器接收到所述注册请求之后,根据所述第一认证信息和选定的所述第一认证服务器自身的第一机密信息计算得到第二认证信息,并向所述设备服务器发送所述公开名和所述第二认证信息,所述设备服务器基于所述公开名从本地提取与所述公开名对应的密钥,并利用与所述公开名对应的密钥对所述第二认证信息进行验证,验证通过后根据所述第二认证信息计算得到第三认证信息,以及向所述第一认证服务器返回第三认证信息,所述第一认证服务器根据所述第一认证信息、所述第二认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到所述第一密钥,并根据所述第一认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第四认证信息,并将所述第四认证信息返回给所述用户设备; 所述用户设备接收所述第四认证信息; 所述用户设备利用所述第四认证信息计算得到所述第一密钥;以及 所述用户设备将所述第一密钥存储在所述第一存储区域。4.根据权利要求3所述的身份认证方法,其特征在于,所述用户设备具有唯一的公开名,所述公开名对应多个认证服务器;或者,所述用户设备具有多个公开名,所述多个公开名与多个认证服务器 对应。5.根据权利要求1所述的身份认证方法,其特征在于,所述方法还包括: 所述用户设备从第二存储区域读取第二密钥,其中,所述第二密钥为所述用户设备利用设备密钥在设备服务器的协助下向第二认证服务器注册后得到的认证密钥,所述第二存储区域为所述用户设备中用于存储设备密钥的多个数据区域中的一个数据区域; 所述用户设备向所述第二认证服务器发送第二认证请求,其中,所述第二认证请求携带有根据所述第二密钥得到的一次性信息,所述第二认证服务器为与所述第一认证服务器相互独立的认证服务器,所述第二认证服务器利用所述第二密钥对所述用户设备进行认证并向所述用户设备返回第二认证结果;以及 所述用户设备接收所述第二认证服务器返回的第二认证结果。6.一种身份认证方法,其特征在于,包括: 认证服务器接收用户设备发送的第一认证请求,其中,所述第一认证请求携带有根据第一密钥得到的一次性信息,所述第一密钥为所述用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥,所述用户设备包括用于存储认证密钥的多个数据区域和用于存储所述设备密钥的数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥; 所述认证服务器利用所述第一密钥对所述用户设备进行认证,得到认证结果;以及 所述认证服务器向所述用户设备发送所述认证结果。7.根据权利要求6所述的身份认证方法,其特征在于,在认证服务器接收用户设备发送的第一认证请求之前,所述方法还包括: 所述认证服务器接收所述用户设备发送的注册请求,其中,所述注册请求携带有用于表示所述用户设备的公开名和根据所述设备密钥和所述用户设备自身的机密信息计算得到的第一认证信息; 所述认证服务器接收到所述注册请求之后,根据所述第一认证信息和选定的所述认证服务器自身的第一机密信息计算得到第二认证信息; 所述认证服务器向所述设备服务器发送所述公开名和所述第二认证信息,其中,所述设备服务器基于所述公开名从本地提取与所述公开名对应的密钥,并利用与所述公开名对应的密钥对所述第二认证信息进行验证,验证通过后根据所述第二认证信息计算得到第三认证信息,以及向所述认证服务器返回所述第三认证信息; 所述认证服务器根据所述第一认证信息、所述第二认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到所述第一密钥; 所述认证服务器根据所述第一认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第四认证信息; 所述认证服务器将所述第四认证信息发送给所述用户设备,其中,所述用户设备利用所述第四认证信息计算得到所述第一密钥,并将所述第一密钥存储在第一存储区域。8.一种用户设备,其特征在于,包括: 第一读取单元,用于使得用户设备从第一存储区域读取第一密钥,其中,所述第一密钥为所述用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥,所述用户设备包括用于存储认证密钥的多个数据区域和用于存储所述设备密钥的数据区域,所述第一存储区域为所述用于存储认证密钥的多个数据区域中的一个数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥; 第一发送单元,用于使得所述用户设备向所述第一认证服务器发送第一认证请求,其中,所述第一认证请求携带有根据所述第一密钥得到的一次性信息,所述第一认证服务器利用所述第一密钥对所述用户设备进行认证并向所述用户设备返回第一认证结果;以及第一接收单元,用于使得所述用户设备接收所述第一认证服务器返回的第一认证结果O9.跟据权利要求8述的用户设备,其特征在于,所述用户设备还包括: 第二发送单元,用于在用户设备从第一存储区域读取第一密钥之前,使得所述用户设备向所述第一认证服务器发送注册请求,所述注册请求携带有用于表示所述用户设备的公开名和根据所述设备密钥和所述用户设备自身的机密信息计算得到的第一认证信息,其中,所述第一认证服务器接收到所述注册请求之后,根据所述第一认证信息和选定的所述第一认证服务器自身的第一机密信息计算得到第二认证信息,并向所述设备服务器发送所述公开名和所述第二认证信息,所述设备服务器基于所述公开名从本地提取与所述公开名对应的密钥,并利用与所述公开名对应的密钥对所述第二认证信息进行验证,验证通过后根据所述第二认证信息计算得到第三认证信息,以及向所述第一认证服务器返回所述第三认证信息,所述第一认证服务器根据所述第一认证信息、所述第二认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到所述第一密钥,并根据所述第一认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第四认证信息,并将所述第四认证信息返回给所述用户设备; 第二接收单元,用于使得所述用户设备接收所述第四认证信息; 计算单元,用于使得所述用户设备利用所述第四认证信息计算得到所述第一密钥;以及 存储单元,用于使得所述用户设备将所述第一密钥存储在所述第一存储区域。10.根据权利要求8述的用户设备,其特征在于,所述用户设备还包括: 第二读取单元,用于使得所述用户设备从第二存储区域读取第二密钥,其中,所述第二密钥为所述用户设备利用设备密钥在设备服务器的协助下向第二认证服务器注册后得到的认证密钥,所述第二存储区域为所述用户设备中用于存储设备密钥的多个数据区域中的一个数据区域; 第三发送单元,用于使得所述用户设备向所述第二认证服务器发送第二认证请求,其中,所述第二认证请求携带有根据所述第二密钥得到的一次性信息,所述第二认证服务器为与所述第一认证服务器相互独立的认证服务器,所述第二认证服务器利用所述第二密钥对所述用户设备进行认证并向所述用户设备返回第二认证结果;以及 第三接收单元,用于使得所述用户设备接收所述第二认证服务器返回的第二认证结果O11.一种认证服务器,其特征在于,包括: 第一接收单元,用于使得认证服务器接收用户设备发送的第一认证请求,其中,所述第一认证请求携带有根据第一密钥得到的一次性信息,所述第一密钥为所述用户设备利用设备密钥在设备服务器的协助下向第一认证服务器注册后得到的认证密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥,所述用户设备包括用于存储认证密钥的多个数据区域和用于存储所述设备密钥的数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥; 认证单元,用于使得所述认证服务器利用所述第一密钥对所述用户设备进行认证,得到认证结果;以及 第一发送单元,用于使得所述认证服务器向所述用户设备发送认证结果。12.根据权利要求11所述的认证服务器,其特征在于,所述认证服务器还包括: 第二接收单元,用于在认证服务器接收用户设备发送的第一认证请求之前,使得所述认证服务器接收所述用户设备发送的注册请求,其中,其中,所述注册请求携带有用于表示所述用户设备的公开名和根据所述设备密钥和所述用户设备自身的机密信息计算得到的第一认证信息; 第一计算单元,用于使得所述认证服务器接收到所述注册请求之后,根据所述第一认证信息和选定的所述认证服务器自身的第一机密信息计算得到第二认证信息; 第二发送单元,用于使得所述认证服务器向所述设备服务器发送所述公开名和所述第二认证信息,其中,所述设备服务器基于所述公开名从本地提取与所述公开名对应的密钥,并利用与所述公开名对应的密钥对所述第二认证信息进行验证,验证通过后根据所述第二认证信息计算得到第三认证信息,以及向所述认证服务器返回所述第三认证信息; 第二计算单元,用于使得所述认证服务器根据所述第一认证信息、所述第二认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到所述第一密钥; 第三计算单元,用于使得所述认证服务器根据所述第一认证信息、所述第三认证信息和选定的所述第一认证服务器自身的第二机密信息计算得到第四认证信息; 第三发送单元,用于使得所述认证服务器将所述第四认证信息发送给所述用户设备,其中,所述用户设备利用所述第四认证信息计算得到所述第一密钥,并将所述第一密钥存储在第一存储区域。13.一种身份认证系统,其特征在于,包括: 用户设备,包括用于存储认证密钥的多个数据区域和用于存储设备密钥的数据区域,所述多个数据区域中的每个数据区域用于存储一个所述认证密钥,所述用户设备用于向认证服务器发送认证请求,所述认证请求携带有根据认证密钥得到的一次性信息,其中,所述认证密钥为所述用户设备利用所述设备密钥在设备服务器的协助下向第一认证服务器注册后得到的设备密钥,所述设备密钥为所述用户设备向所述设备服务器注册后得到的密钥; 所述认证服务器,用于接收所述用户设备发送的认证请求;以及 所述设备服务器,用于对所述用户设备和所述认证服务器进行注册。
【文档编号】H04L9/32GK106034023SQ201510102034
【公开日】2016年10月19日
【申请日】2015年3月9日
【发明人】熊楚渝
【申请人】成都天钥科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1