身份认证方法、系统以及密码保护装置制造方法
【专利摘要】本发明提出一种身份认证方法、系统以及密码保护装置,其中,该身份认证方法包括以下步骤:密码保护装置与服务器同步更新动态序列函数;密码保护装置接收用户输入的用户密码;密码保护装置使用动态序列函数对用户密码进行变换以生成第一动态口令,并输出第一动态口令;服务器使用动态序列函数对存储在服务器中的用户密码进行变换以生成第二动态口令;服务器接收第一动态口令,并将第一动态口令与第二动态口令进行比对,并在第一动态口令与第二动态口令一致时确认通过身份认证。上述方法减轻了用户记忆密码的负担、提高了身份认证效率和用户身份信息的安全性。
【专利说明】身份认证方法、系统以及密码保护装置
【技术领域】
[0001]本发明涉及数字信息传输领域,特别涉及一种身份认证方法、系统以及密码保护
装直。
【背景技术】
[0002]当前互联网身份认证普遍采用用户名/密码的认证方式。用户设置唯一的用户名和一个只有自己知道的密码。用户登录时输入用户名和密码,并通过明文或者加密的方式传给服务器,服务器将用户发送的密码与服务器中存储的密码进行比对,若一致则通过用户身份认证,允许用户登录,若不一致则拒绝用户登录。
[0003]但是在现有的静态密码技术中,由于用户于每次登录验证时输入的密码都是相同的,并且需要在计算机内存中和网络中传输,因而很容易被木马程序或网络监听设备截获。而且,用户为避免忘记密码,往往采用诸如生日、电话号码等容易记忆的信息作为密码,或者采用较简单的字符串作为密码,这些都增加了密码被窃取或破解的可能。
[0004]目前常用的一种安全措施是采用对称加密算法或非对称加密算法对密码加密后再进行传输。但是由于加密算法是固定且公开的,存在被破解的危险,而且要对密钥进行管理,有时还要涉及到第三方认证,操作方法复杂,且成本高。另一种安全措施是采用动态口令卡生成动态口令,用户可输入当前的动态口令进行登录,这虽然在一定程度上提高了用户身份信息的安全性。但是动态口令卡本身并没有安全措施,仍然存在用户身份被盗用的危险。
【发明内容】
[0005]本发明旨在至少在一定程度上解决上述技术问题。
[0006]为此,本发明的第一个目的在于提出一种身份认证方法,该方法能够减轻用户密码记忆的负担,同时降低用户密码被窃取或破解的风险,进而提高用户身份信息的安全性。
[0007]为达上述目的,本发明第一方面的实施例提出了一种身份认证方法,包括以下步骤:密码保护装置与服务器同步更新动态序列函数;密码保护装置接收用户输入的用户密码;密码保护装置使用动态序列函数对用户密码进行变换以生成第一动态口令,并输出第一动态口令;服务器使用动态序列函数对存储在服务器中的所述用户密码进行变换以生成第二动态口令;服务器接收第一动态口令,并将第一动态口令与第二动态口令进行比对,并在第一动态口令与第二动态口令一致时确认通过身份认证。
[0008]本发明实施例的身份认证方法,通过在服务器与密码保护装置中分别使用同步动态序列函数对用户密码进行变换,然后将生成的两个动态口令进行比对,从而完成身份认证。认证过程中无需第三方认证,操作简便,提高了认证效率,用户密码和动态序列函数始终不在信道中传输,降低了密码和密码变换方式被窃取的可能性。通过同步动态序列函数对用户密码进行变换,将简单密码转换为复杂的动态口令,增大了破解难度,提高了用户身份信息安全性的同时,减轻了用户的记忆负担,提升了用户体验。[0009]进一步地,在一些示例中,所述密码保护装置为在用户向服务器注册成功后,领取到的与用户名绑定的密码保护装置。
[0010]进一步地,在一些示例中,所述动态序列函数包括函数序号序列、与所述函数序号序列对应的变换函数序列以及变换所需的函数参数序列;所述密码保护装置使用所述动态序列函数对所述用户密码进行变换以生成第一动态口令,具体包括:所述密码保护装置同步与所述用户名相关联的第一动态函数序列的函数序号序列和函数变换参数序列;根据所述函数序号序列得到所述变换函数序列;根据所述变换函数序列和函数参数序列将所述用户密码变换为所述第一动态口令;所述服务器使用所述动态序列函数对存储在所述服务器中的所述用户密码进行变换以生成第二动态口令,具体包括:所述服务器与所述密码保护装置同步与所述用户名相关联的第二动态函数序列的函数序号序列和函数变换参数序列;根据所述函数序号序列得到所述变换函数序列;根据所述变换函数序列和函数参数序列对预存的所述用户密码变换为所述第二动态口令。
[0011]进一步地,在一些示例中,所述根据所述动态函数序号序列得到所述变换函数序列,具体包括:根据所述动态函数序号序列中的每个动态函数序号查找对应的变换函数;依次将查找到的变换函数组合为所述变换函数序列。
[0012]进一步地,在一些示例中,所述密码保护装置输出所述第一动态口令具体包括:所述密码保护装置显示所述第一动态口令,以使所述用户将所述第一动态口令通过用户客户端发送至所述服务器。
[0013]进一步地,在一些示例中,所述密码保护装置输出所述第一动态口令具体包括:所述密码保护装置通过数据传输接口将所述第一动态口令输出至用户客户端,以进一步通过所述用户客户端将所述第一动态口令发送至所述服务器。
[0014]进一步地,在一些示例中,所述密码保护装置与所述服务器每隔预设时间同步更新所述动态序列函数。
[0015]本发明第二方面的实施例提供了一种密码保护装置,包括:函数更新模块,用于与服务器同步更新动态序列函数;接收模块,用于接收用户输入的用户密码;口令生成模块,用于使用动态序列函数对用户密码进行变换以生成动态口令;以及口令输出模块,用于输出动态口令。
[0016]本发明实施例的密码保护装置,根据与服务器同步的动态序列函数对用户密码进行变换,然后将生成并输出动态口令,能够将简单密码转换为复杂的动态口令,增大了破解难度,提高了用户身份信息安全性的同时,减轻了用户的记忆负担,认证过程中无需第三方认证,操作简便,提高了认证效率,提升了用户体验。
[0017]进一步地,在一些示例中,所述口令输出模块为显示模块,用于显示所述第一动态口令,以使所述用户将所述第一动态口令通过用户客户端发送至所述服务器。
[0018]进一步地,在一些示例中,所述口令输出模块为数据传输模块,用于将所述第一动态口令输出至用户客户端,以进一步通过所述用户客户端将所述第一动态口令发送至所述服务器。
[0019]进一步地,在一些示例中,所述函数更新模块与所述服务器每隔预设时间同步更新所述动态序列函数。
[0020]本发明第三方面的实施例提供了一种身份认证系统,包括:密码保护装置、客户端和服务器,其中,密码保护装置,用于密码保护装置与服务器同步更新动态序列函数,以及接收用户输入的用户密码,并使用动态序列函数对用户密码进行变换以生成第一动态口令,以及输入第一动态口令;客户端,用于接收第一动态口令,并将第一动态口令发送至服务器;服务器,用于与密码保护装置同步更新动态序列函数,并使用动态序列函数对存储在服务器中的用户密码进行变换以生成第二动态口令,以及接收客户端发送的第一动态口令,并将第一动态口令与第二动态口令进行比对,以及在第一动态口令与第二动态口令一致时确认通过身份认证。
[0021]本发明实施例的身份认证系统,通过在服务器与密码保护装置中分别使用同步动态序列函数对用户密码进行变换,然后将生成的两个动态口令进行比对,从而完成身份认证,认证过程中无需第三方认证,操作简便,提高了认证效率,用户密码和动态序列函数始终不在信道中传输,降低了密码和密码变换方式被窃取的可能性;通过同步动态序列函数对用户密码进行变换,将简单密码转换为复杂的动态口令,增大了破解难度,提高了用户身份信息安全性的同时,减轻了用户的记忆负担,提升了用户体验。
[0022]进一步地,在一些示例中,所述密码保护装置具体用于显示所述第一动态口令,以使所述用户将所述第一动态口令通过所述客户端发送至所述服务器。
[0023]进一步地,在一些示例中,所述密码保护装置具体用于通过数据传输接口将所述第一动态口令输出至所述客户端,以进一步通过所述客户端将所述第一动态口令发送至所述服务器。
[0024]进一步地,在一些示例中,所述密码保护装置与所述服务器每隔预设时间同步更新所述动态序列函数。
[0025]本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】
【附图说明】
[0026]本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0027]图1为根据本发明一个实施例的身份认证方法的流程图;
[0028]图2为根据本发明一个实施例的密码保护装置的结构框图;和
[0029]图3为根据本发明一个具体实施例的身份认证系统的结构示意图。
【具体实施方式】
[0030]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0031]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0032]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0033]为了解决的问题,本发明提出了一种身份认证方法、系统以及密码保护装置。下面参考附图描述根据本发明实施例的身份认证方法、系统以及密码保护装置。
[0034]一种身份认证方法,包括以下步骤:密码保护装置与服务器同步更新动态序列函数;密码保护装置接收用户输入的用户密码;密码保护装置使用动态序列函数对用户密码进行变换以生成第一动态口令,并输出第一动态口令;服务器使用动态序列函数对存储在服务器中的用户密码进行变换以生成第二动态口令;服务器接收第一动态口令,并将第一动态口令与第二动态口令进行比对,并在第一动态口令与第二动态口令一致时确认通过身份认证。
[0035]图1为根据本发明一个实施例的身份认证方法的流程图。如图1所示,该身份认证方法包括以下步骤。
[0036]步骤S101,密码保护装置与服务器同步更新动态序列函数。
[0037]具体地,用户在服务器上注册一个唯一的用户名标识身份,同时设置一个只有本人知道的静态密码,服务器根据不同的用户名绑定对应的动态序列函数,并通过预设的动态时间参数和种子密钥等可能的加密形式实现密码保护装置与服务器的动态序列函数同
止/J/ O
[0038]在本发明的一个实施例中,密码保护装置与服务器可每隔预设时间同步更新动态序列函数。例如,密码保护装置可与服务器同步更新一个动态序列函数A,并每隔固定时间(如I分钟)变化一次。
[0039]步骤S102,密码保护装置接收用户输入的用户密码。
[0040]具体地,在每次登录前用户需要先在密码保护装置上输入用户密码,密码保护装置可通过键盘等接收设备接收用户输入的用户密码。
[0041]步骤S103,密码保护装置使用动态序列函数对用户密码进行变换以生成第一动态口令,并输出第一动态口令。
[0042]具体地,密码保护装置在接收用户输入的用户密码后,可使用动态序列函数对用户密码进行变换以生成第一动态口令。用于生成第一动态口令的第一动态函数序列包括一个函数序号序列(XI)、与函数序号序列(Xl)对应的变换函数序列(F)和一个函数变换参数序列(X2)。第一动态口令的生成过程具体如下:
[0043](I)密码保护装置与服务器同步第一动态函数序列;
[0044](2)密码保护装置根据动态函数序号序列中的每个动态函数序号查找对应的变换函数,依次将查找到的变换函数组合为变换函数序列;
[0045](3)用户在每次登录前先在密码保护装置上输入用户密码,密码保护装置会用当前的函数序号序列和函数变换参数序列将输入的密码进行转换,以获取第一动态口令。
[0046]例如,用户密码P为332167,当前的函数序号序列Xl为(1,2,3,4,5,6),对应的变换函数序列F为(加,减,乘,除,乘方,开方),当前函数参数序列X2为(6, 5,4, 3, 2,1)。则变换过程为:
[0047]第一步,332167加上 6,得到 332173 ;
[0048]第二步,332173减去 5,得到 332168 ;
[0049]第三步,332168乘以 4,得到 1328672 ;
[0050]第四步,1328672除以3,得到442891 (四舍五入取整);
[0051]第五步,442890平方,得到 196152437881 ;
[0052]第六步,196152437881开 I 次方,得到 196152437881。
[0053]最后得到的196152437881为第一动态口令,即为用户此次登录应该输入的正确密码。
[0054]在上述的例子中,使用的函数序号序列Xl和函数参数序列X2均为6位序列,相应的密码变化过程也为6步,使用的同步方法为基于时间同步方法。但是在具体的应用中,本领域的技术人员可根据需要将Xl和X2设定为其他位数,相应地,密码变换步数也可以是其他次数,也可采用基于事件的同步方法或其他同步方法。使用的变换函数序列F是加,减,乘,除,乘方,开方等常见函数。事实上,在具体的应用中,所采用的变换函数序列还可以包括其他各种函数,如三角函数、对数函数等。
[0055]另外,用户登录使用的密码位数,取决于变换使用的函数序号序列和函数参数序列。根据实际情况可对变换后的第一动态口令处理为固定位数,如固定为前6位,超过6位则舍弃后面的数字,不足6位则补零。
[0056]在本发明的实施例中,密码保护装置可显示第一动态口令,以使用户将第一动态口令通过用户客户端发送至服务器,作为本次身份认证的密码。此外,密码保护装置还可以通过数据传输接口将第一动态口令输出至用户客户端,以进一步通过用户客户端将第一动态口令发送至服务器。
[0057]步骤S104,服务器使用动态序列函数对存储在服务器中的用户密码进行变换以生成第二动态口令。
[0058]具体地,服务器接收到用户名和第一动态口令后,根据用户名同步与第一动态函数序列相匹配的第二动态函数序列。第二动态函数序列包括一个函数序号序列(Yi)、与函数序号序列(Yl)对应的变换函数序列(F,)和一个函数变换参数序列(Y2)。使用该相应的第二动态序列函数对存储在服务器中的用户密码进行变换,以生成第二动态口令。应当注意的是,该变换应该与步骤S103中密码保护装置对用户密码所作的变换相同,从而当服务器中的用户密码与用户在客户端输入的密码一致时,服务器生成的第二动态口令与密码保护装置生成的第一动态口令相同。
[0059]步骤S105,服务器接收第一动态口令,并将第一动态口令与第二动态口令进行比对,并在第一动态口令与第二动态口令一致时确认通过身份认证。
[0060]具体地,服务器将接收到的第一动态口令和服务器计算产生的第二动态口令进行比对,如果一致,则判定身份认证成功,反之,则判定身份认证失败。
[0061]本发明实施例的身份认证方法,通过在服务器与密码保护装置中分别使用同步动态序列函数对用户密码进行变换,然后将生成的两个动态口令进行比对,从而完成身份认证,认证过程中无需第三方认证,操作简便,提高了认证效率,用户密码和动态序列函数始终不在信道中传输,降低了密码和密码变换方式被窃取的可能性;通过同步动态序列函数对用户密码进行变换,将简单密码转换为复杂的动态口令,增大了破解难度,提高了用户身份信息安全性的同时,减轻了用户的记忆负担,提升了用户体验。
[0062]为了实现上述实施例,本发明还提出一种密码保护装置。
[0063]图2为根据本发明一个实施例的密码保护装置的结构框图。
[0064]如图2所示,根据本发明实施例的密码保护装置包括:函数更新模块10、接收模块20、口令生成模块30和口令输出模块40。
[0065]具体地,函数更新模块10用于与服务器同步更新动态序列函数。更具体地,用户在服务器上注册一个唯一的用户名标识身份,同时设置一个只有本人知道的静态密码,月艮务器根据不同的用户名绑定对应的动态序列函数,并通过预设的动态时间参数和种子密钥等可能的加密形式实现矩阵更新模块10与服务器的动态序列函数同步。在本发明的一个实施例中,函数更新模块10与服务器可每隔预设时间同步更新动态序列函数,例如函数更新模块10可与服务器同步更新一个动态序列函数A,并每隔固定时间(如I分钟)变化一次。
[0066]接收模块20用于接收用户输入的用户密码。更具体地,在每次身份认证前用户需要先在密码保护装置上输入用户密码,密码保护装置可通过接收模块20接收用户输入的用户密码。
[0067]口令生成模块30用于使用动态序列函数对用户密码进行变换以生成动态口令。更具体地,口令生成模块30在接收用户输入的用户密码后,可使用动态序列函数对用户密码进行变换以生成第一动态口令。
[0068]在本发明的一个实施例中,口令生成模块30具体用于应用动态序列函对用户密码进行变换。例如,用户密码P为332167,当前的函数序号序列Xl为(1,2,3,4,5,6),对应的变换函数序列F为(加,减,乘,除,乘方,开方),当前函数参数序列X2为(6,5,4,3,2,1)。则变换过程为:
[0069]第一步,332167加上 6,得到 332173 ;
[0070]第二步,332173减去 5,得到 332168 ;
[0071]第三步,332168乘以 4,得到 1328672 ;
[0072]第四步,1328672除以3,得到442891 (四舍五入取整);
[0073]第五步,442890平方,得到 196152437881 ;
[0074]第六步,196152437881开 I 次方,得到 196152437881。
[0075]最后得到的196152437881为第一动态口令,即为用户此次登录应该输入的正确密码。
[0076]在上述的例子中,使用的函数序号序列Xl和函数参数序列X2均为6位序列,相应的密码变化过程也为6步,使用的同步方法为基于时间同步方法。但是在具体的应用中,本领域的技术人员可根据需要将Xl和X2设定为其他位数,相应地,密码变换步数也可以是其他次数,也可采用基于事件的同步方法或其他同步方法。使用的变换函数序列F是加,减,乘,除,乘方,开方等常见函数。事实上,在具体的应用中,所采用的变换函数序列还可以包括其他各种函数,如三角函数、对数函数等。
[0077]另外,用户登录使用的密码位数,取决于变换使用的函数序号序列和函数参数序列。根据实际情况可对变换后的第一动态口令处理为固定位数,如固定为前6位,超过6位则舍弃后面的数字,不足6位则补零。
[0078]口令输出模块40用于输出动态口令。在本发明的一个实施例中,口令输出模块40为显示模块,用于显示第一动态口令,以使用户将第一动态口令通过用户客户端发送至服务器,作为本次身份认证的密码。
[0079]在本发明的一个实施例中,口令输出模块40还可以为数据传输模块,用于将第一动态口令输出至用户客户端,以进一步通过用户客户端将第一动态口令发送至服务器。
[0080]本发明实施例的密码保护装置,根据与服务器同步的动态序列函数对用户密码进行变换,然后将生成并输出动态口令,能够将简单密码转换为复杂的动态口令,增大了破解难度,提高了用户身份信息安全性的同时,减轻了用户的记忆负担,认证过程中无需第三方认证,操作简便,提高了认证效率,提升了用户体验。
[0081]为了实现上述实施例,本发明还提出一种身份认证系统。
[0082]图3为根据本发明一个具体实施例的身份认证系统的结构示意图。如图3所示,根据本发明实施例的身份认证系统包括:上述任一项实施例的密码保护装置100、客户端200和服务器300,其中,密码保护装置100用于密码保护装置与服务器同步更新动态序列函数,以及接收用户输入的用户密码,并使用动态序列函数对用户密码进行变换以生成第一动态口令,以及输入第一动态口令;客户端200用于接收第一动态口令,并将第一动态口令发送至服务器;服务器300用于与密码保护装置同步更新动态序列函数,并使用动态序列函数对存储在服务器中的用户密码进行变换以生成第二动态口令,以及接收客户端发送的第一动态口令,并将第一动态口令与第二动态口令进行比对,以及在第一动态口令与第二动态口令一致时确认通过身份认证。
[0083]具体地,用户在服务器300上注册一个唯一的用户名标识身份,同时设置一个只有本人知道的静态密码,服务器300根据不同的用户名绑定对应的动态序列函数,并通过预设的动态时间参数和种子密钥等可能的加密形式实现密码保护装置100与服务器300的动态序列函数同步。在本发明的一个实施例中,密码保护装置100与服务器300可每隔预设时间同步更新动态序列函数。例如,密码保护装置100可与服务器300同步更新一个动态序列函数A,并每隔固定时间(如I分钟)变化一次。
[0084]密码保护装置100具体用于应用动态序列函数对用户密码进行变换。例如,用户密码P为332167,当前的函数序号序列Xl为(1,2,3,4,5,6),对应的变换函数序列F为(加,减,乘,除,乘方,开方),当前函数参数序列X2为(6, 5,4, 3, 2,1)。则变换过程为:
[0085]第一步,332167加上 6,得到 332173 ;
[0086]第二步,332173减去 5,得到 332168 ;
[0087]第三步,332168乘以 4,得到 1328672 ;
[0088]第四步,1328672除以3,得到442891 (四舍五入取整);
[0089]第五步,442890平方,得到 196152437881 ;
[0090]第六步,196152437881开 I 次方,得到 196152437881。
[0091]最后得到的196152437881为第一动态口令,即为用户此次登录应该输入的正确密码。
[0092]在上述的例子中,使用的函数序号序列Xl和函数参数序列X2均为6位序列,相应的密码变化过程也为6步,使用的同步方法为基于时间同步方法。但是在具体的应用中,本领域的技术人员可根据需要将Xl和X2设定为其他位数,相应地,密码变换步数也可以是其他次数,也可采用基于事件的同步方法或其他同步方法。使用的变换函数序列F是加,减,乘,除,乘方,开方等常见函数。事实上,在具体的应用中,所采用的变换函数序列还可以包括其他各种函数,如三角函数、对数函数等。
[0093]另外,用户登录使用的密码位数,取决于变换使用的函数序号序列和函数参数序列。根据实际情况可对变换后的第一动态口令动态处理为固定位数,如固定为前6位,超过6位则舍弃后面的数字,不足6位则补零。
[0094]在本发明的实施例中,密码保护装置100可显示第一动态口令,以使用户将第一动态口令通过客户端200发送至服务器300,作为本次身份认证的密码。此外,密码保护装置100还可以通过数据传输接口将第一动态口令输出至客户端200,以进一步通过客户端200将第一动态口令发送至服务器300。
[0095]密码保护装置100具体用于显示第一动态口令,以使用户将第一动态口令通过客户端200发送至服务器300。密码保护装置100还用于通过数据传输接口将第一动态口令输出至客户端,以进一步通过客户端200将第一动态口令发送至服务器300。
[0096]具体地,服务器300根据接收的用户名获取相应的动态序列函数和生成第一动态口令所用到的参数(如密码位数等),以及存储在服务器300中的对应的用户密码,使用相应的动态序列函数和参数对存储在服务器300中的用户密码进行变换,以生成第二动态口令。应当注意的是,该变换应该与密码保护装置100对用户密码所作的变换相同,从而当服务器300中的用户密码与用户输入的密码一致时,服务器300生成的第二动态口令与密码保护装置100生成的第一动态口令相同。服务器300将接收到的第一动态口令和服务器计算产生的第二动态口令进行比对,如果一致,则判定身份认证成功,反之,则判定身份认证失败。
[0097]本发明实施例的身份认证系统,通过在服务器与密码保护装置中分别使用同步动态序列函数对用户密码进行变换,然后将生成的两个动态口令进行比对,从而完成身份认证,认证过程中无需第三方认证,操作简便,提高了认证效率,用户密码和动态序列函数始终不在信道中传输,降低了密码和密码变换方式被窃取的可能性;通过同步动态序列函数对用户密码进行变换,将简单密码转换为复杂的动态口令,增大了破解难度,提高了用户身份信息安全性的同时,减轻了用户的记忆负担,提升了用户体验。
[0098]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0099]在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(⑶ROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0100]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0101]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0102]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0103]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0104]尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
【权利要求】
1.一种身份认证方法,其特征在于,包括以下步骤: 密码保护装置与服务器同步更新动态序列函数; 所述密码保护装置接收用户输入的用户密码; 所述密码保护装置使用所述动态序列函数对所述用户密码进行变换以生成第一动态口令,并输出所述第一动态口令; 所述服务器使用所述动态序列函数对存储在所述服务器中的所述用户密码进行变换以生成第二动态口令; 所述服务器接收所述第一动态口令,并将所述第一动态口令与所述第二动态口令进行比对,并在所述第一动态口令与所述第二动态口令一致时确认通过身份认证。
2.根据权利要求1所述的方法,其特征在于,所述密码保护装置为在用户向服务器注册成功后,领取到的与用户名绑定的密码保护装置。
3.根据权利要求1或2所述的方法,其特征在于,所述动态序列函数包括函数序号序列、与所述函数序号序列对应的变换函数序列以及变换所需的函数参数序列; 所述密码保护装置使用所述动态序列函数对所述用户密码进行变换以生成第一动态口令,具体包括: 所述密码保护装置同步与所述用户名相关联的第一动态函数序列的函数序号序列和函数变换参数序列; 根据所述函数序号序列得到所述变换函数序列; 根据所述变换函数序列和函数参数序列将所述密码变换为所述第一动态口令; 所述服务器使用所述动态序列函数对存储在所述服务器中的所述用户密码进行变换以生成第二动态口令,具体包括: 所述服务器与所述密码保护装置同步与所述用户名相关联的第二动态函数序列的函数序号序列和函数变换参数序列; 根据所述函数序号序列得到所述变换函数序列; 根据所述变换函数序列和函数参数序列对预存的所述用户密码变换为所述第二动态口令。
4.根据权利要求3所述的方法,其特征在于,所述根据所述动态函数序号序列得到所述变换函数序列,具体包括: 根据所述动态函数序号序列中的每个动态函数序号查找对应的变换函数; 依次将查找到的变换函数组合为所述变换函数序列。
5.如权利要求1或2所述的方法,其特征在于,所述密码保护装置输出所述第一动态口令具体包括: 所述密码保护装置显示所述第一动态口令,以使所述用户将所述第一动态口令通过用户客户端发送至所述服务器。
6.如权利要求1或2所述的方法,其特征在于,所述密码保护装置输出所述第一动态口令具体包括: 所述密码保护装置通过数据传输接口将所述第一动态口令输出至用户客户端,以进一步通过所述用户客户端将所述第一动态口令发送至所述服务器。
7.如权利要求1所述的方法,其特征在于,所述密码保护装置与所述服务器每隔预设时间同步更新所述动态序列函数。
8.—种密码保护装置,其特征在于,包括: 函数更新模块,用于与服务器同步更新动态序列函数; 接收模块,用于接收用户输入的用户密码; 口令生成模块,用于使用所述动态序列函数对所述用户密码进行变换以生成动态口令;以及 口令输出模块,用于输出所述动态口令。
9.如权利要求8所述的装置,其特征在于,所述口令输出模块为显示模块,用于显示所述第一动态口令,以使所述用户将所述第一动态口令通过用户客户端发送至所述服务器。
10.如权利要求8或9所述的装置,其特征在于,所述口令输出模块为数据传输模块,用于将所述第一动态口令输出至用户客户端,以进一步通过所述用户客户端将所述第一动态口令发送至所述服务器。
11.如权利要求8所述的装置,其特征在于,所述函数更新模块与所述服务器每隔预设时间同步更新所述动态序列函数。
12.—种身份认证系统,其特征在于,包括密码保护装置、客户端和服务器,其中, 所述密码保护装置,用于密码保护装置与服务器同步更新动态序列函数,以及接收用户输入的用户密码,并使用所述动态序列函数对所述用户密码进行变换以生成第一动态口令,以及输出所述第一动态口令;所述客户端,用于接收所述第一动态口令,并将所述第一动态口令发送至所述服务器; 所述服务器,用于与所述密码保护装置同步更新动态序列函数,并使用所述动态序列函数对存储在所述服务器中的所述用户的用户密码进行变换以生成第二动态口令,以及接收所述客户端发送的所述第一动态口令,并将所述第一动态口令与所述第二动态口令进行比对,以及在所述第一动态口令与所述第二动态口令一致时确认通过身份认证。
13.如权利要求12所述的系统,其特征在于,所述密码保护装置具体用于显示所述第一动态口令,以使所述用户将所述第一动态口令通过所述客户端发送至所述服务器。
14.如权利要求12所述的系统,其特征在于,所述密码保护装置具体用于通过数据传输接口将所述第一动态口令输出至所述客户端,以进一步通过所述客户端将所述第一动态口令发送至所述服务器。
15.如权利要求12所述的系统,其特征在于,所述密码保护装置与所述服务器每隔预设时间同步更新所述动态 序列函数。
【文档编号】H04L9/32GK103580874SQ201310575051
【公开日】2014年2月12日 申请日期:2013年11月15日 优先权日:2013年11月15日
【发明者】刘义, 陈炬, 柴跃廷 申请人:清华大学