一种基于动态口令的双向身份认证方法及系统的制作方法

文档序号:7818676阅读:187来源:国知局
一种基于动态口令的双向身份认证方法及系统的制作方法
【专利摘要】本发明提供了一种基于动态口令的双向身份认证方法及系统,该方法包括:应用单元接收外部输入的用户标识和第一动态口令,将用户标识、第一动态口令和预先存储的用于验证应用单元的验证信息发送给认证单元;认证单元接收用户标识、第一动态口令和验证信息,根据用户标识对第一动态口令进行验证,验证通过后,根据验证信息对应用单元进行身份验证,如果验证通过,则根据所述用户标识生成第二动态口令,将第二动态口令发送给应用单元,否则,不生成第二动态口令;应用单元接收第二动态口令,输出所述第二动态口令。通过该方法及系统能够提高了应用系统的安全性。
【专利说明】—种基于动态口令的双向身份认证方法及系统

【技术领域】
[0001]本发明涉及信息安全【技术领域】,尤其涉及一种基于动态口令的双向身份认证方法及系统。

【背景技术】
[0002]动态口令是根据专门的算法生成一个不可预测的随机数字组合,每个密码只能使用一次。动态口令作为最安全的身份认证技术之一,目前已经被越来越多的行业所应用。由于它使用便捷,且与平台无关,随着移动互联网的发展,动态口令技术已成为身份认证技术的主流,被广泛应用于企业、网游、金融等领域。目前主流用于生成动态口令终端有硬件令牌、短信密码、手机令牌、软件令牌四种。
[0003]现有的基于动态口令的身份认证的方法是单向认证的。用户将用户标识和动态口令终端显示的动态口令输入到应用单元,应用单元将用户标识和动态口令发送给认证单元,认证单元根据用户标识和动态口令对用户身份进行认证,将认证结果反馈给用户。
[0004]通过上述描述可见,现有技术中只能对用户的身份进行认证,不能对应用单元进行认证,应用系统的安全性较低。


【发明内容】

[0005]本发明提供了一种基于动态口令的双向身份认证方法及系统,能够对应用单元进行身份认证,提高了应用系统的安全性。
[0006]一方面,本发明提供了一种基于动态口令的双向身份认证方法,包括:
[0007]S1:应用单元接收外部输入的用户标识和第一动态口令;
[0008]S2:所述应用单元将所述用户标识、所述第一动态口令和预先存储的用于验证应用单元的验证信息发送给认证单元;
[0009]S3:所述认证单元接收所述用户标识、所述第一动态口令和所述验证信息;
[0010]S4:所述认证单元根据所述用户标识对所述第一动态口令进行验证;
[0011]S5:所述第一动态口令验证通过后,所述认证单元根据所述验证信息对所述应用单元进行身份验证,如果验证通过,则所述认证单元根据所述用户标识生成第二动态口令,将所述第二动态口令发送给所述应用单元,依次执行S6、S7,否则,所述认证单元不生成第二动态口令;
[0012]S6:所述应用单元接收所述第二动态口令;
[0013]S7:所述应用单元输出所述第二动态口令。
[0014]进一步地,所述S4包括:
[0015]S41:所述认证单元根据所述用户标识和预先设置的用户标识与第一验证动态口令的种子的对应关系确定所述第一验证动态口令的种子;
[0016]S42:所述认证单元根据所述第一验证动态口令的种子、时间,通过哈希算法生成第一验证动态口令;
[0017]S43:所述认证单元判断所述第一验证动态口令与所述第一动态口令是否相同,如果是,则验证通过,执行步骤S5,否则,验证失败,所述认证单元发送验证失败信息给所述应用单元,以使所述应用单元输出所述验证失败消息。
[0018]进一步地,所述认证单元根据所述用户标识生成第二动态口令,包括:
[0019]S51:所述认证单元根据所述用户标识和预先设置的用户标识与第二动态口令的种子的对应关系确定所述第二动态口令的第二种子;
[0020]S52:所述认证单元根据所述第二种子、时间,通过哈希算法生成所述第二动态口令。
[0021]进一步地,所述S7包括:
[0022]所述应用单元输出所述第二动态口令,以使外部根据动态口令终端中的第二验证动态口令对所述第二动态口令进行验证,其中,所述第一动态口令和第二验证动态口令均在所述动态口令终端中。
[0023]进一步地,所述S5还包括:如果验证通过,则所述认证单元将验证附加信息发送给所述应用单元,以使所述应用单元输出所述验证附加信息,其中,所述验证附加信息,包括:所述应用单元的身份标识信息。
[0024]另一方面,本发明提供了一种基于动态口令的双向身份认证系统,包括:应用单元、认证单元;
[0025]所述应用单元,用于接收外部输入的用户标识和第一动态口令,将所述用户标识、所述第一动态口令和预先存储的用于验证应用单元的验证信息发送给所述认证单元,接收所述认证单元发来的第二动态口令,输出所述第二动态口令;
[0026]所述认证单元,用于接收所述用户标识、所述第一动态口令和所述验证信息,根据所述用户标识对所述第一动态口令进行验证,所述第一动态口令验证通过后,根据所述验证信息对所述应用单元进行身份验证,如果对所述应用单元的身份验证通过,则所述认证单元根据所述用户标识生成第二动态口令,将所述第二动态口令发送给所述应用单元,否则,所述认证单元不生成第二动态口令。
[0027]进一步地,所述认证单元包括:
[0028]第一确定子单元,用于根据所述用户标识和预先设置的用户标识与第一验证动态口令的种子的对应关系确定所述第一验证动态口令的种子;
[0029]第一生成子单元,用于根据所述第一验证动态口令的种子、时间,通过哈希算法生成第一验证动态口令;
[0030]判断子单元,用于判断所述第一验证动态口令与所述第一动态口令是否相同,如果是,则判定验证通过,根据所述验证信息对所述应用单元进行身份验证,否则,判定验证失败,发送验证失败信息给所述应用单元,以使所述应用单元输出所述验证失败消息。
[0031]进一步地,所述认证单元,包括:
[0032]第二确定子单元,用于根据所述用户标识和预先设置的用户标识与第二动态口令的种子的对应关系确定所述第二动态口令的第二种子;
[0033]第二生成子单元,用于根据所述第二种子、时间,通过哈希算法生成所述第二动态口令。
[0034]进一步地,所述应用单元具体用于输出所述第二动态口令,以使外部根据动态口令终端中的第二验证动态口令对所述第二动态口令进行验证,其中,所述第一动态口令和第二验证动态口令均在所述动态口令终端中。
[0035]进一步地,所述认证单元,还用于如果对所述应用单元的身份验证通过,则将验证附加信息发送给所述应用单元,以使所述应用单元输出所述验证附加信息,其中,所述验证附加信息,包括:所述应用单元的身份标识信息。
[0036]通过本发明提供的一种基于动态口令的双向身份认证方法及系统,在认证单元对应用单元的身份验证通过后,可以生成第二动态口令,并将生成的第二动态口令输出给用户,使用户能够对应用单元进行验证,提高了应用系统的安全性。

【专利附图】

【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是本发明实施例提供的一种基于动态口令的双向身份认证方法流程图;
[0039]图2是本发明实施例提供的一种基于动态口令的双向身份认证系统结构示意图。

【具体实施方式】
[0040]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]本发明实施例提供了一种基于动态口令的双向身份认证方法,参见图1,该方法包括:
[0042]步骤101:应用单元接收外部输入的用户标识和第一动态口令;
[0043]步骤102:所述应用单元将所述用户标识、所述第一动态口令和预先存储的用于验证应用单元的验证信息发送给认证单元;
[0044]步骤103:所述认证单元接收所述用户标识、所述第一动态口令和所述验证信息;
[0045]步骤104:所述认证单元根据所述用户标识对所述第一动态口令进行验证;
[0046]步骤105:所述第一动态口令验证通过后,所述认证单元根据所述验证信息对所述应用单元进行身份验证,如果验证通过,则依次执行步骤106、107、108、109,如果验证未通过,则执行步骤110;
[0047]步骤106:所述认证单元根据所述用户标识生成第二动态口令;
[0048]步骤107:所述认证单元将所述第二动态口令发送给所述应用单元;
[0049]步骤108:所述应用单元接收所述第二动态口令;
[0050]步骤109:所述应用单元输出所述第二动态口令;
[0051]步骤110:所述认证单元不生成第二动态口令。
[0052]通过上述实施例提供的方法,在认证单元对应用单元的身份验证通过后,可以生成第二动态口令,并将生成的第二动态口令输出给用户,使用户能够对应用单元进行验证,提高了应用系统的安全性。
[0053]本实施例中的应用单元可以是网站、应用软件、应用服务器等,本实施例中的认证单元可以是认证服务器、认证软件、认证模块等。
[0054]在步骤109中,应用单元可以将第二动态口令显示出来,也可以通过声音信号输出。用户获知该第二动态口令后,与自己的动态口令终端上的用于验证第二动态口令的验证动态口令进行比较,如果相同,则证明应用单元通过了认证单元的验证,应用单元是安全的,避免了的钓鱼网站等网络危险。其中,所述第一动态口令和用于验证第二动态口令的验证动态口令均在同一个动态口令终端中。用户的动态口令终端可以是硬件形态、APP(Applicat1n,应用软件)形态等。
[0055]上述实施方式中,认证单元将对应用单元的验证通过的消息通过动态口令告知用户,避免了未通过验证的应用单元向用户输出假的验证消息。举例来说,如果认证单元通过一条文本消息来告知用户验证通过,则未通过验证的应用单元可以很容易的伪造一条文本消息来告知用户验证通过;如果采用动态口令来告知用户,则未通过验证的应用单元难以伪造,提高了应用系统的安全性。
[0056]在一种可能的实现方式中,所述步骤104包括图中未示出的步骤1041、步骤1042、步骤1043:
[0057]步骤1041:所述认证单元根据所述用户标识和预先设置的用户标识与第一验证动态口令的种子的对应关系确定所述第一验证动态口令的种子;
[0058]步骤1042:所述认证单元根据所述第一验证动态口令的种子、时间,通过哈希算法生成第一验证动态口令;
[0059]步骤1043:所述认证单元判断所述第一验证动态口令与所述第一动态口令是否相同,如果是,则验证通过,执行步骤105,否则,验证失败,所述认证单元发送验证失败信息给所述应用单元,以使所述应用单元输出所述验证失败消息。
[0060]在步骤106中,所述认证单元根据所述用户标识生成第二动态口令,包括图中未示出的步骤1061、步骤1062:
[0061]步骤1061:所述认证单元根据所述用户标识和预先设置的用户标识与第二动态口令的种子的对应关系确定所述第二动态口令的第二种子;
[0062]步骤1062:所述认证单元根据所述第二种子、时间,通过哈希算法生成所述第二动态口令。
[0063]所述S7包括:
[0064]所述应用单元输出所述第二动态口令,以使外部根据动态口令终端中的第二验证动态口令对所述第二动态口令进行验证,其中,所述第一动态口令和第二验证动态口令均在所述动态口令终端中。
[0065]举例来说,外部根据动态口令终端中的第二验证动态口令对所述第二动态口令进行验证,具体包括:获取应用终端输出的第二动态口令和动态口令终端中的第二验证动态口令;对比所述第二动态口令和所述第二验证动态口令,如果相同则通过验证,否则验证失败。
[0066]另外,所述步骤105还包括:如果验证通过,则所述认证单元将验证附加信息发送给所述应用单元,以使所述应用单元输出所述验证附加信息,其中,所述验证附加信息,包括:所述应用单元的身份标识信息。
[0067]其中,应用单元的身份标识信息包括:应用单元的DNS (Domain Name System,域名系统)地址、IP (Internet Protocol,网络协议)地址、MAC (Media Access Control,介质访问控制)地址等。第二动态口令可以是数字、字母、符号、或者数字字母符号的组合,返回的第二动态口令和验证附加信息可以是文本、图像、二维码等表示形式。
[0068]所述验证附加信息,还可以包括一个验证URL (统一资源定位符,UniformResource Locator),该验证URL指向认证单元,用户点击该验证URL,用户可以在认证单元查看应用单元的身份标识信息,以及可以查看该验证点击的次数等。
[0069]图2示出了一种基于动态口令的双向身份认证系统,该系统包括:应用单元201、认证单元202 ;
[0070]所述应用单元201,用于接收外部输入的用户标识和第一动态口令,将所述用户标识、所述第一动态口令和预先存储的用于验证应用单元的验证信息发送给所述认证单元,接收所述认证单元发来的第二动态口令,输出所述第二动态口令;
[0071]所述认证单元202,用于接收所述用户标识、所述第一动态口令和所述验证信息,根据所述用户标识对所述第一动态口令进行验证,所述第一动态口令验证通过后,根据所述验证信息对所述应用单元进行身份验证,如果对所述应用单元的身份验证通过,则所述认证单元根据所述用户标识生成第二动态口令,将所述第二动态口令发送给所述应用单元,否则,所述认证单元不生成第二动态口令。
[0072]在一种可能的实现方式中,所述认证单元包括图中未示出的:
[0073]第一确定子单元,用于根据所述用户标识和预先设置的用户标识与第一验证动态口令的种子的对应关系确定所述第一验证动态口令的种子;
[0074]第一生成子单元,用于根据所述第一验证动态口令的种子、时间,通过哈希算法生成第一验证动态口令;
[0075]判断子单元,用于判断所述第一验证动态口令与所述第一动态口令是否相同,如果是,则判定验证通过,根据所述验证信息对所述应用单元进行身份验证,否则,判定验证失败,发送验证失败信息给所述应用单元,以使所述应用单元输出所述验证失败消息。
[0076]在另一种可能的实现方式中,所述认证单元,包括图中未示出的:
[0077]第二确定子单元,用于根据所述用户标识和预先设置的用户标识与第二动态口令的种子的对应关系确定所述第二动态口令的第二种子;
[0078]第二生成子单元,用于根据所述第二种子、时间,通过哈希算法生成所述第二动态口令。
[0079]其中,所述第二生成子单元具体用于根据所述第二种子,通过哈希算法生成所述第二动态口令。
[0080]所述应用单元具体用于输出所述第二动态口令,以使外部根据动态口令终端中的第二验证动态口令对所述第二动态口令进行验证,其中,所述第一动态口令和第二验证动态口令均在所述动态口令终端中。
[0081]另外,所述认证单元,还用于如果对所述应用单元的身份验证通过,则将验证附加信息发送给所述应用单元,以使所述应用单元输出所述验证附加信息,其中,所述验证附加信息,包括:所述应用单元的身份标识信息。
[0082]上述设备内的各单元、子单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0083]需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0084]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
[0085]最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种基于动态口令的双向身份认证方法,其特征在于,包括: S1:应用单元接收外部输入的用户标识和第一动态口令; 52:所述应用单元将所述用户标识、所述第一动态口令和预先存储的用于验证应用单元的验证信息发送给认证单元; 53:所述认证单元接收所述用户标识、所述第一动态口令和所述验证信息; 54:所述认证单元根据所述用户标识对所述第一动态口令进行验证; 55:所述第一动态口令验证通过后,所述认证单元根据所述验证信息对所述应用单元进行身份验证,如果验证通过,则所述认证单元根据所述用户标识生成第二动态口令,将所述第二动态口令发送给所述应用单元,依次执行S6、S7,否则,所述认证单元不生成第二动态口令; 56:所述应用单元接收所述第二动态口令; 57:所述应用单元输出所述第二动态口令。
2.根据权利要求1所述的方法,其特征在于,所述S4包括: 541:所述认证单元根据所述用户标识和预先设置的用户标识与第一验证动态口令的种子的对应关系确定所述第一验证动态口令的种子; 542:所述认证单元根据所述第一验证动态口令的种子、时间,通过哈希算法生成第一验证动态口令; S43:所述认证单元判断所述第一验证动态口令与所述第一动态口令是否相同,如果是,则验证通过,执行步骤S5,否则,验证失败,所述认证单元发送验证失败信息给所述应用单元,以使所述应用单元输出所述验证失败消息。
3.根据权利要求1所述的方法,其特征在于,所述认证单元根据所述用户标识生成第二动态口令,包括: 551:所述认证单元根据所述用户标识和预先设置的用户标识与第二动态口令的种子的对应关系确定所述第二动态口令的第二种子; 552:所述认证单元根据所述第二种子、时间,通过哈希算法生成所述第二动态口令。
4.根据权利要求1所述的方法,其特征在于,所述S7包括: 所述应用单元输出所述第二动态口令,以使外部根据动态口令终端中的第二验证动态口令对所述第二动态口令进行验证,其中,所述第一动态口令和第二验证动态口令均在所述动态口令终端中。
5.根据权利要求1所述的方法,其特征在于,所述S5还包括:如果验证通过,则所述认证单元将验证附加信息发送给所述应用单元,以使所述应用单元输出所述验证附加信息,其中,所述验证附加信息,包括:所述应用单元的身份标识信息。
6.一种基于动态口令的双向身份认证系统,其特征在于,包括:应用单元、认证单元; 所述应用单元,用于接收外部输入的用户标识和第一动态口令,将所述用户标识、所述第一动态口令和预先存储的用于验证应用单元的验证信息发送给所述认证单元,接收所述认证单元发来的第二动态口令,输出所述第二动态口令; 所述认证单元,用于接收所述用户标识、所述第一动态口令和所述验证信息,根据所述用户标识对所述第一动态口令进行验证,所述第一动态口令验证通过后,根据所述验证信息对所述应用单元进行身份验证,如果对所述应用单元的身份验证通过,则所述认证单元根据所述用户标识生成第二动态口令,将所述第二动态口令发送给所述应用单元,否则,所述认证单元不生成第二动态口令。
7.根据权利要求6所述的系统,其特征在于,所述认证单元包括: 第一确定子单元,用于根据所述用户标识和预先设置的用户标识与第一验证动态口令的种子的对应关系确定所述第一验证动态口令的种子; 第一生成子单元,用于根据所述第一验证动态口令的种子、时间,通过哈希算法生成第一验证动态口令; 判断子单元,用于判断所述第一验证动态口令与所述第一动态口令是否相同,如果是,则判定验证通过,根据所述验证信息对所述应用单元进行身份验证,否则,判定验证失败,发送验证失败信息给所述应用单元,以使所述应用单元输出所述验证失败消息。
8.根据权利要求6所述的系统,其特征在于,所述认证单元,包括: 第二确定子单元,用于根据所述用户标识和预先设置的用户标识与第二动态口令的种子的对应关系确定所述第二动态口令的第二种子; 第二生成子单元,用于根据所述第二种子、时间,通过哈希算法生成所述第二动态口令。
9.根据权利要求8所述的系统,其特征在于,所述应用单元具体用于输出所述第二动态口令,以使外部根据动态口令终端中的第二验证动态口令对所述第二动态口令进行验证,其中,所述第一动态口令和第二验证动态口令均在所述动态口令终端中。
10.根据权利要求6所述的系统,其特征在于,所述认证单元,还用于如果对所述应用单元的身份验证通过,则将验证附加信息发送给所述应用单元,以使所述应用单元输出所述验证附加信息,其中,所述验证附加信息,包括:所述应用单元的身份标识信息。
【文档编号】H04L29/06GK104283691SQ201410609697
【公开日】2015年1月14日 申请日期:2014年11月3日 优先权日:2014年11月3日
【发明者】李勇奇 申请人:北京云安世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1