专利名称:基于动态口令进行身份认证的方法和系统的制作方法
技术领域:
本发明涉及信息安全领域,特别涉及一种基于动态口令进行身份认证的方法和系统。
背景技术:
目前,为了提高网上银行、电话银行、网上证券、电话证券、网上购物、网络游戏等网络应用系统的身份认证安全性,各行业、各企业纷纷推出比传统静态密码具有更高安全性的动态口令身份认证系统。
采用动态口令身份认证系统进行身份认证,极大提高了网络应用系统的安全性。但是,由于当前不同网络应用系统之间所使用的动态口令令牌不同,认证服务器也不相同,因此会对最终用户和服务提供商带来不利的影响。
对最终用户而言, 一个用户通常会使用多个网络应用系统,比如一个用户在3个不同的银行拥有银行账户,在两个不同的证券公司拥有两个证券账户,另外还拥有网上购物账户、网络游戏账户等。如果该用户希望采用安全性更高的动态口令来保护其账户的安全性,那么需要所有的服务提供商都能提供基于动态口令的身份认证系统,而且该用户还得为每个账户购买个动态口令令牌,结果是用户为了得到一个更安全的网络应用环境,需要购买多个动态口令令牌,这样不但增加了用户的使用成本,而且给用户的使用、携带、维护等造成很大的不便。
对于服务提供商而言,如果不能提供满足用户需求的动态口令身份认证系统,则会降低其竞争力,这是每个服务提供商都不愿意看到的。
综上所述,当前基于动态口令身份认证技术的应用系统具有以下缺点-
1、 大幅提高了用户使用动态口令身份认证系统的成本;
2、 增加了用户使用动态口令身份认证系统的复杂性、繁琐性和不便性;
3、 不利于服务提供商积极采取行动应用动态口令身份认证系统来提升其服务的安全性。
发明内容
本发明提供了一种基于动态口令进行身份认证的方法和系统,降低了成本和用户使用动态口令进行身份认证的复杂度,容易实现,方便操作,便于维护。所述技术方案如下
一种基于动态口令进行身份认证的方法,所述方法包括绑定过程和登录过程;所述绑定过程包括
第一服务终端接收用户输入的个人信息、账户、动态口令令牌的编号和动态口令,向第三方认证终端发送所述动态口令令牌的编号和动态口令,请求验证所述动态口令;
所述第三方认证终端收到后,根据所述动态口令令牌的编号查找到发放所述动态口令令牌的第二服务终端,将所述动态口令令牌的编号和动态口令发送给所述第二服务终端,请求验证所述动态口令;
所述第二服务终端收到后,根据所述动态口令令牌的编号查找到所述动态口令令牌的种子和状态信息,根据所述种子和状态信息生成第一临时动态口令,比对所述第一临时动态口令和所述动态口令是否一致,并通过所述第三方认证终端返回比对的结果给所述第一服务终端;
所述第一服务终端收到后,如果所述结果为比对一致,则所述账户和动态口令令牌绑定成功,所述第一服务终端建立并保存所述个人信息、账户和动态口令令牌的编号的对应关系,如果所述结果为比对不一致,则所述账户和动态口令令牌绑定失败;
所述登录过程包括
当所述用户在绑定成功后登录所述第一服务终端时,所述第一服务终端接收所述用户输入的所述账户的登录信息和动态口令,根据本地保存的对应关系査找与所述登录信息对应的动态口令令牌的编号,将所述动态口令令牌的编号和所述用户在登录时输入的动态口令发送给所述第三方认证终端,请求验证所述动态口令;
所述第三方认证终端收到后,根据所述动态口令令牌的编号査找到发放所述动态口令令牌的所述第二服务终端,将所述动态口令令牌的编号和所述用户在登录时输入的动态口令发送给所述第二服务终端,请求验证所述用户在登录时输入的动态口令;
所述第二服务终端收到后,根据所述动态口令令牌的编号查找到所述动态口令令牌的种子和状态信息,根据所述种子和状态信息生成第二临时动态口令,比对所述第二临时动态口令与所述用户在登录时输入的动态口令是否一致,并通过所述第三方认证终端返回比对的结果给所述第一服务终端;
所述第一服务终端收到后,如果所述结果为比对一致,则所述用户登录成功,如果所述结果为比对不一致,则所述用户登录失败。向第三方认证终端发送所述动态口令令牌的编号和动态口令之前,还包括所述第一服务终端判断所述动态口令令牌是否为自身发放;
如果是,则所述第一服务终端根据所述动态口令令牌的编号在本地査找到所述动态口令令牌的种子和状态信息,将根据所述种子和状态信息生成的临时动态口令与所述动态口令进行比对,如果一致,则所述账户和动态口令令牌绑定成功,所述第一服务终端建立并保存所述个人信息、账户和动态口令令牌的编号的对应关系,绑定流程结束,如果不一致,则所述账户和动态口令令牌绑定失败,绑定流程结束
如果不是,则执行所述向第三方认证终端发送所述动态口令令牌的编号和动态口令的步骤。
将所述动态口令令牌的编号和所述用户在登录时输入的动态口令发送给所述第三方认证终端之前,还包括
所述第一服务终端判断所述动态口令令牌是否为自身发放;
如果是,则所述第一服务终端根据所述动态口令令牌的编号在本地査找到所述动态口令令牌的种子和状态信息,将根据所述种子和状态信息生成的临时动态口令与所述用户在登录时输入的动态口令进行比对,如果一致,则所述用户登录成功,登录流程结束,如果不一致,则所述用户登录失败,登录流程结束;
如果不是,则执行将所述动态口令令牌的编号和所述用户在登录时输入的动态口令发送给所述第三方认证终端的步骤。
所述第一服务终端判断所述动态口令令牌是否为自身发放,具体包括
所述第一服务终端在本地查找是否存有所述动态口令令牌的种子和状态信息,如果存在,则所述动态口令令牌为本地发放,如果不存在,则所述动态口令令牌不是本地发放;
或,
所述第一服务终端判断所述动态口令令牌的编号是否符合预设的动态口令令牌发放规则,如果是,则所述动态口令令牌为本地发放,否则,所述动态口令令牌不是本地发放。所述绑定过程之前,还包括
所述第二服务终端将所述动态口令令牌发放给所述用户。
所述个人信息包括用户的姓名、身份证号、电话号码、地址和电子邮箱中的至少一种。所述登录信息包括账户和动态密码,还包括用户姓名、静态密码、动态口令令牌的编号、身份证号和电子邮箱中的至少一种。
所述状态信息包括所述动态口令令牌生成动态口令时所需的动态参数和所述动态口令令牌的状态类型,所述状态类型包括锁定、挂失、注册和绑定。
所述用户在绑定过程中还输入静态密码,则所述向第三方认证终端发送所述动态口令令牌的编号和动态口令,请求验证所述动态口令之前,还包括
所述第一服务终端验证所述静态密码是否正确,如果正确,则执行所述向第三方认证终端发送所述动态口令令牌的编号和动态口令,请求验证所述动态口令的步骤,如果不正确,则禁止所述用户绑定。
所述登录信息还包括静态密码,则所述根据本地保存的对应关系査找与所述登录信息对应的动态口令令牌的编号之前,还包括
所述第一服务终端验证所述静态密码是否正确,如果正确,则执行所述根据本地保存的对应关系查找与所述登录信息对应的动态口令令牌的编号的歩骤,如果不正确,则禁止所述用户登录。
所述账户和动态口令令牌绑定成功之后,还包括所述第一服务终端将所述个人信息发送给所述第三方认证终端;
所述第三方认证终端建立并保存所述个人信息和动态口令令牌的编号的对应关系;所述用户在登录过程中还输入个人信息,所述第一服务终端还将所述个人信息发送给所述第三方认证终端;
根据所述动态口令令牌的编号查找到发放所述动态口令令牌的所述第二服务终端之前,还包括
所述第三方认证终端根据收到的所述动态口令令牌的编号,在保存的对应关系中找到对应的个人信息,将找到的个人信息与所述第一服务终端发来的个人信息进行比对,如果一致,则执行根据所述动态口令令牌的编号査找到发放所述动态口令令牌的所述第二服务终端的步骤;如果不一致,则禁止所述用户登录。
所述第一临时动态口令具体为一个动态口令,或一组动态口令;
当所述第一临时动态口令为一组动态口令时,在所述绑定过程中,所述服务终端比对所述第一临时动态口令和所述动态口令是否一致,具体包括
所述服务终端比对所述一组动态口令中是否有一个动态口令与所述用户输入的动态口令一致,如果有,则确认所述第一临时动态口令与所述用户输入的动态口令一致。
所述第二临时动态口令具体为一个动态口令,或一组动态口令;
当所述第二临时动态口令为一组动态口令时,在所述登录过程中,所述服务终端比对所述第二临时动态口令与用户登录时输入的动态口令是否一致,具体包括如果所述一组动态口令中有一个与所述用户登录时输入的动态口令一致,则确认所述第二临时动态口令与用户登录时输入的动态口令一致。
所述方法还包括
所述账户和动态口令令牌绑定成功后,所述第二服务终端更新本地保存的所述动态口令令牌的状态信息;
相应地,所述用户登录成功后,所述第二服务终端更新本地保存的所述动态口令令牌的状态信息。
一种基于动态口令进行身份认证的系统,所述系统包括客户端、第一服务终端、第三方认证终端和第二服务终端;所述客户端包括
输入模块,用于在绑定过程中,接收用户输入的个人信息、账户、动态口令令牌的编号和动态口令,当所述用户在绑定成功后登录所述第一服务终端时,接收所述用户输入的所述账户的登录信息和动态口令;
通信模块,用于将所述输入模块收到的所有信息发送给所述第一服务终端,接收所述第一服务终端返回的绑定结果和登录结果;
输出模块,用于在绑定过程中,输出所述绑定结果给用户,在用户登录过程中,提示用户输入登录信息和动态口令,输出所述登录结果给用户;
所述第一服务终端包括
通信模块,用于与所述客户端进行通信,接收所述用户在绑定和登录时输入的信息,还与所述第三方认证终端进行通信,接收所述第三方认证终端返回的绑定验证结果和登录验证结果;
绑定处理模块,用于当所述第一服务终端的通信模块收到所述个人信息、账户、动态口令令牌的编号和所述用户在绑定时输入的动态口令后,将所述用户在绑定时输入的动态口令作为待验证口令,通过所述第一服务终端的通信模块向所述第三方认证终端发送所述动态口令令牌的编号和所述待验证口令,请求验证所述待验证口令,通过所述第一服务终端的通信模块接收所述第三方认证终端返回的结果,如果所述结果为比对一致,则建立并保存所述个人信息、账户和动态口令令牌的编号的对应关系,通过所述第一服务终端的通信模块通知所述客户端所述账户和动态口令令牌绑定成功,如果所述结果为不一致,则通过所述第一服务终端的通信模块通知所述客户端所述账户和动态口令令牌绑定失败;
登录处理模块,用于当所述第一服务终端的通信模块收到所述登录信息和所述用户在登录时输入的动态口令后,将所述用户在登录时输入的动态口令作为待验证口令,根据所述第 一服务终端保存的对应关系查找与所述登录信息对应的动态口令令牌的编号,通过所述第一 服务终端的通信模块将所述动态口令令牌的编号和所述待验证口令发送给所述第三方认证终 端,请求验证所述待验证口令,通过所述第一服务终端的通信模块接收所述第三方认证终端 返回的结果,如果所述结果为比对一致,则通过所述第一服务终端的通信模块通知所述客户 端所述用户登录成功,如果所述结果为比对不一致,则通过所述第一服务终端的通信模块通 知所述客户端所述用户登录失败; 所述第三方认证终端包括
通信模块,用于与所述第一服务终端和第二服务终端进行通信;
处理模块,用于当所述第三方认证终端的通信模块收到所述第一服务终端发来的所述动 态口令令牌的编号和待验证口令后,根据所述动态口令令牌的编号査找到发放所述动态口令 令牌的所述第二服务终端,通过所述第三方认证终端的通信模块将所述动态口令令牌的编号 和所述待验证口令发送给所述第二服务终端,请求验证所述待验证动态口令,通过所述第三 方认证终端的通信模块接收所述第二服务终端返回的结果,将所述结果返回给所述第一服务 终端;
所述第二服务终端包括
通信模块,用于与所述第三方认证终端进行通信;
存储模块,用于存储已发放的动态口令令牌的编号、种子和状态信息的对应关系,所述 已发放的动态口令令牌包括所述用户使用的所述动态口令令牌;
验证模块,用于在所述第二服务终端的通信模块收到所述动态口令令牌的编号和待验证 口令后,根据所述动态口令令牌的编号在所述第二服务终端的存储模块存储的对应关系中, 找到所述动态口令令牌的种子和状态信息,根据所述种子和状态信息生成临时动态口令,比 对所述临时动态口令与所述待验证口令是否一致,通过所述第二服务终端的通信模块将比对 的结果返回给所述第三方认证终端。
所述第一服务终端还包括-
第一判断模块,用于当所述用户绑定时,判断所述用户使用的动态口令令牌是否为所述 第一服务终端发放;
第一验证模块,用于当所述第一判断模块判断的结果为是时,根据所述动态口令令牌的 编号在本地查找到所述动态口令令牌的种子和状态信息,将根据所述种子和状态信息生成的 临时动态口令与所述用户在绑定使输入的动态口令进行比对,如果一致,则所述账户和动态口令令牌绑定成功,建立并保存所述个人信息、账户和动态口令令牌的编号的对应关系,如 果不一致,则所述账户和动态口令令牌绑定失败,当所述判断模块判断的结果为否时,触发 所述绑定处理模块工作。
所述第一服务终端还包括
第二判断模块,用于当所述用户登录时,判断所述动态口令令牌是否为所述第一服务终 端发放;
第二验证模块,用于当所述第二判断模块判断的结果为是时,根据所述动态口令令牌的 编号在本地査找到所述动态口令令牌的种子和状态信息,将根据所述种子和状态信息生成的 临时动态口令与所述用户在登录时输入的动态口令进行比对,如果一致,则所述用户登录成 功,如果不一致,则所述用户登录失败,当所述判断模块判断的结果为否时,触发所述登录 处理模块工作。
所述个人信息包括用户的姓名、身份证号、电话号码、地址和电子邮箱中的至少一种。
所述登录信息包括账户和动态密码,还包括用户姓名、静态密码、动态口令令牌的编号、 身份证号和电子邮箱中的至少一种。
所述状态信息包括所述动态口令令牌生成动态口令时所需的动态参数和所述动态口令令 牌的状态类型,所述状态类型包括锁定、挂失、注册和绑定。
所述第一服务终端还包括
第一静态密码验证模块,用于当所述用户在绑定过程中输入静态密码时,先验证所述静 态密码是否正确,如果正确,则触发所述绑定处理模块工作,如果不正确,则禁止所述用户 绑定。
所述第一服务终端还包括
第二静态密码验证模块,用于当所述登录信息包括静态密码时,先验证所述静态密码是 否正确,如果正确,则触发所述登录处理模块工作,如果不正确,则禁止所述用户登录。
所述第一服务终端的通信模块还用于在所述账户和动态口令令牌绑定成功之后,发送所 述个人信息给所述第三方认证终端;
所述第三方认证终端还包括
存储模块,用于在所述第三方认证终端的通信模块收到所述个人信息后,建立并存储所 述个人信息和动态口令令牌的编号的对应关系;
当所述用户在登录过程中输入个人信息时,所述第一服务终端的通信模块还用于将所述 用户在登录过程中输入的个人信息发送给所述第三方认证终端;所述第三方认证终端还包括
验证模块,用于根据收到的所述动态口令令牌的编号,在保存的对应关系中找到对应的 个人信息,将找到的个人信息与所述第三方认证终端的通信模块收到的个人信息进行比对, 如果一致,则触发所述处理模块工作;如果不一致,则禁止所述用户登录。
本发明提供的上述技术方案,降低了用户使用动态口令令牌进行身份认证的成本、复杂 度和繁琐性,有利于服务终端提供推广动态口令认证系统的应用,提升服务的安全性,用户 只需一个动态口令令牌就可以注册登录多个服务终端的身份认证系统,极大地方便用户使用, 容易实现,操作简单,并且动态口令令牌的种子由第三方认证终端集中管理,便于维护。
图1是本发明实施例提供的基于动态口令进行身份认证的应用示意图; 图2是本发明实施例提供的基于动态口令进行身份认证的方法流程图; 图3是本发明实施例提供的基于动态口令进行身份认证的系统结构图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进 一步地详细描述。
本发明实施例提供了一种漫游式的基于动态口令进行身份认证的方法,引入第三方认证 终端与多个服务终端相连,每个服务终端都可以发放动态口令令牌给用户,发放动态口令令 牌的服务终端存储有该动态口令令牌的编号、种子和状态信息,通过发放动态口令令牌的服 务终端对用户进行绑定过程和登录过程的认证,方便用户使用动态口令令牌登录已绑定的服 务终端,尤其是可以实现用户使用一个动态口令令牌,就可以登录多个服务终端进行身份认 证,极大地方便了用户使用。
参见图1,为本发明实施例提供的用户使用一个动态口令令牌分别登录多个服务终端的 应用示意图。第三方认证终端与第一服务终端、第二服务终端和第三服务终端进行通信,用 户使用一个动态口令令牌可以分别登录该三个服务终端,该动态口令令牌中保存有种子和编 号,该种子和编号是发放该动态口令令牌的服务终端分配的,通常在动态口令令牌出厂时写 入。而且,每个动态口令令牌的种子都是唯一的,编号也是唯一的。第三方认证终端利用数 据库保存动态口令令牌的编号和发放该动态口令令牌的服务终端的对应关系,以方便在绑定
和登录时根据用户使用的动态口令令牌的编号确定相应的发放服务终端。服务终端利用种子数据库保存自身已发放的动态口令令牌的编号、种子和状态信息。图中的每个服务终端都有 一个认证服务器和一个业务服务器,该认证服务器具体用于在用户绑定和登录时,为用户提 供认证服务,业务服务器用于给用户提供各种业务。当用户登录时,通过客户端来登录服务 终端,并且使用用户已获得的动态口令令牌来进行登录,该客户端和动态口令令牌在图中未 画出。下面以用户登录一个服务终端为例具体说明绑定过程和登录过程。
参见图2,本发明实施例提供了一种基于动态口令进行身份认证的方法,具体包括
步骤201:用户通过客户端输入个人信息、账户、动态口令令牌的编号和动态口令给第 一服务终端,请求对该账户和动态口令令牌进行绑定,用户使用的该动态口令令牌为用户在 第二服务终端申请并获得的;
其中,该个人信息具体包括用户的姓名、身份证号、电话号码、地址和电子邮箱中的至 少一种。用户输入的动态口令为使用该动态口令令牌生成的。
在本实施例中,用户在申请获取动态口令令牌时会登记个人信息,以便发放动态口令令 牌的服务终端保存该个人信息,可以在后续挂失等过程中使用。
步骤202:第一服务终端收到用户输入的个人信息、账户、动态口令令牌的编号和动态 口令后,向第三方认证终端发送动态口令令牌的编号和动态口令,请求验证该动态口令;
进一步地,如果用户在步骤201中还输入静态密码,则本步骤中第一服务终端可以先对 该静态密码进行验证,如果正确,则确保该用户拥有该账户的使用权,再向第三方认证终端 发送该动态口令令牌的编号和动态口令,请求验证该动态口令,如果不正确,则禁止用户绑 定,返回错误信息,结束操作。
步骤203:第三方认证终端收到该动态口令令牌的编号和动态口令后,在本地存储的动 态口令令牌的编号和发放服务终端的对应关系中,找到发放该动态口令令牌的第二服务终端, 将该动态口令令牌的编号和动态口令发送给第二服务终端,请求验证该动态口令;
步骤204:第二服务终端收到第三方认证终端发来的动态口令令牌的编号和动态口令后, 在本地保存的己发放的动态口令令牌的编号、种子和状态信息的对应关系中,找到与收到的 动态口令令牌的编号对应的种子和状态信息,根据该种子和状态信息生成第一临时动态口令, 比对该第一临时动态口令与用户输入的动态口令是否一致,返回比对的结果给第三方认证终 端,第三分认证终端收到该结果后,将该结果返回给第一服务终端;
其中,状态信息包括动态口令令牌生成动态口令时所需的动态参数和动态口令令牌的状 态类型。该动态参数包括时间因子、事件因子等等。例如,利用当前系统的时间作为时间因子进行生成动态口令的计算,或者利用生成动态口令的次数作为事件因子进行生成动态口 令的计算。所述状态类型包括锁定、挂失、注册和绑定。
在本实施例中,第一临时动态口令可以为一个动态口令或一组动态口令,当第二服务终 端对用户输入的动态口令进行比对时,可以生成一组动态口令作为第一临时动态口令,如果 这一组动态口令中至少有一个(可以是任一个)与用户输入的动态口令相同时,就认为第一 临时动态口令与用户输入的动态口令比对一致。
步骤205:第一服务终端收到该结果后,判断该结果是否为比对一致,如果是,则用户 的账户和动态口令令牌绑定成功,建立并保存用户的个人信息、账户和动态口令令牌的编号 的对应关系,否则,用户的账户和动态口令令牌绑定失败。
在歩骤205中,当用户的账户和动态口令令牌绑定成功后,即判断结果为上述第一临时 动态口令与用户输入的动态口令一致时,第二服务终端还可以更新上述动态口令令牌的状态 信息,以达到生成的动态口令为一次性动态口令的目的,保证每次生成的动态口令均不相同;
其中,在步骤205中,还可以包括,在判断该结果为比对一致后,第一服务终端将用户 的个人信息发送给第三方认证终端,第三方认证终端接收后保存并建立用户的动态口令令牌 的编号与个人信息的对应关系。
服务终端可以通过客户端将绑定的结果通知给用户。
以上步骤为绑定的过程,当用户完成账户与动态口令令牌在第一服务终端的绑定后,后 续可以利用该动态口令令牌登录第一服务终端,执行登录的流程。
步骤206:当用户在绑定成功后登录第一服务终端时,第一服务终端接收用户通过客户 端输入的上述账户的登录信息和动态口令;
其中,用户输入的登录信息包括账户和动态密码,还可以包括用户姓名、静态密码、动 态口令令牌的编号、身份证号和电子邮箱中的至少一种。用户输入的动态口令为用户利用动 态口令令牌生成的。
步骤207:第一服务终端根据本地保存的用户的个人信息、账户和动态口令令牌的编号 的对应关系,查找与该登录信息对应的动态口令令牌的编号,并将查找到的动态口令令牌的 编号和用户在登录时输入的动态口令发送给第三方认证终端,请求验证该动态口令。
进一步地,如果用户在步骤207中输入的登录信息包括静态密码,则本步骤中第一服务 终端在将査找到的动态口令令牌的编号和用户在登录时输入的动态口令发送给第三方认证终 端之前,可以先对该静态密码进行验证,如果正确,则确保该用户拥有该账户的使用权,再 向第三方认证终端发送查找到的动态口令令牌的编号和用户在登录时输入的动态口令,请求验证该动态口令,如果不正确,则禁止用户登录,返回错误信息,结束操作。
如果在本歩骤中,服务终端在本地未查找到与该登录信息对应的动态口令令牌的编号, 则返回该登录信息对应的账户未绑定动态口令令牌的错误信息给客户端。
步骤208:第三方认证终端收到该动态口令令牌的编号和用户在登录时输入的动态口令 后,在本地存储的动态口令令牌的编号和发放服务终端的对应关系中,找到发放该动态口令 令牌的第二服务终端,将该动态口令令牌的编号和用户在登录时输入的动态口令发送给第二 服务终端,请求验证该动态口令;
在步骤205中,如果第三方认证终端保存并建立用户的动态口令令牌编号与个人信息的 对应关系,本步骤还可以包括第三方认证终端对用户的个人信息进行验证,如果验证通过, 则第三方认证终端查找该动态口令令牌的发放地第二服务终端,并继续执行后续步骤,如果 验证失败,则终止操作,返回错误。
步骤209:第二服务终端收到第三方认证终端发来的动态口令令牌的编号和动态口令后, 在本地保存的已发放的动态口令令牌的编号、种子和状态信息的对应关系中,找到与收到的 动态口令令牌的编号对应的种子和状态信息,根据该种子和状态信息生成第二临时动态口令, 比对该第二临时动态口令与用户在登录时输入的动态口令是否一致,返回比对的结果给第三 方认证终端,第三方认证终端收到该结果后,将该结果返回给第一服务终端;
在步骤209中,第二临时动态口令也可以为一个动态口令或一组动态口令,当为一组动 态口令时,第二服务终端比对第二临时动态口令与用户登录时输入的动态口令的过程同步骤 204中的描述,这里不再赘述。
步骤210:第一服务终端收到该结果后,判断该结果是否为比对一致,如果是,则用户 登录第一服务终端成功,登录流程结束,否则,用户登录第一服务终端失败,提示相应的错 误,登录流程结束。
在步骤210中,若判断结果为比对一致,则第二服务终端还可以更新本地保存的上述动 态口令令牌的状态信息。
在本实施例中,步骤201 205的绑定过程中采用基于时间或事件的方式生成动态口令, 该方式还可以由以下挑战应答的方式来替换
用户通过客户端输入账户和动态口令令牌的编号给第一服务终端,第一服务终端向第三 方认证终端发送动态口令令牌的编号,第三方认证终端根据该动态口令令牌的编号查找到发 放该动态口令令牌的第二服务终端,将该动态口令令牌的编号发送给第二服务终端,第二服 务终端收到后,生成一个挑战码并通过第三方认证终端返回给第一服务终端,用户通过客户端在第一服务终端得到该挑战码后,利用该挑战码和动态口令令牌生成动态口令并通过客户 端输入给第一服务终端,第一服务终端通过第三方认证终端将该动态口令发送给第二服务终 端,第二服务终端收到后,第二服务终端利用该挑战码生成动态口令,与用户输入的动态口 令进行比对以进行验证,并通过第三方认证终端返回验证结果给第一服务终端,第一服务终 端收到该结果后,如果该结果为验证通过,则用户的账户与动态口令令牌绑定成功,第一服 务终端建立并保存用户的个人信息、账户和动态口令令牌的编号的对应关系,如果该结果为 验证未通过,则绑定失败。其中,第一服务终端也可以先判断自身是否为发放该动态口令令 牌的服务终端,如果是,则直接采用挑战码方式对该动态口令进行验证,如果不是,则通过 第三方认证终端请求发放该动态口令令牌的第二服务终端进行验证。
在本实施例中,用户还可以使用挑战码方式生成动态口令并进行登录,具体如下-用户通过客户端向第一服务终端输入账户信息,第一服务终端査找该账户对应的动态口 令令牌的编号,将该编号发送给第三方认证终端,第三方认证终端收到后,査找到发放该动 态口令令牌的第二服务终端,将该动态口令令牌的编号发送给第二服务终端,第二服务终端 收到后,生成挑战码通过第三方认证终端发送给第一服务终端,用户通过客户端在第一服务 终端得到该挑战码后,利用该挑战码和动态口令令牌生成动态口令并通过客户端输入给第一 服务终端进行登录,第一服务终端通过第三方认证终端将该动态口令发送给第二服务终端, 第二服务终端收到后,第二服务终端利用该挑战码生成动态口令,与用户输入的动态口令进 行比对以进行验证,并通过第三方认证终端返回验证结果给第一服务终端,第一服务终端收 到该结果后,如果该结果为验证通过,则用户登录成功,如果该结果为验证未通过,则用户 登录失败。
本实施例中,进一步地,步骤202中第一服务终端向第三方认证终端发送动态口令令牌 的编号和用户在绑定输入的动态口令之前,还可以执行以下步骤-第一服务终端判断该动态口令令牌是否为自身发放;
如果是自身发放,则第一服务终端根据该动态口令令牌的编号在本地査找到该动态口令 令牌的种子和状态信息,将根据该种子和状态信息生成的临时动态口令与用户在绑定时输入 的动态口令进行比对,如果一致,则该账户和动态口令令牌绑定成功,第一服务终端建立并 保存上述个人信息、账户和动态口令令牌的编号的对应关系,绑定流程结束,如果不一致, 则上述账户和动态口令令牌绑定失败,绑定流程结束;
如果不是自身发放,则向第三方认证终端发送该动态口令令牌的编号和用户在绑定时输 入的动态口令,请求验证该动态口令,并继续执行步骤202后续的歩骤。另外,本实施例中,进一步地,步骤207中第一服务终端将査找到的动态口令令牌的编 号和用户在登录时输入的动态口令发送给第三方认证终端之前,还可以执行以下步骤 第一服务终端判断该动态口令令牌是否为自身发放;
如果是自身发放,则第一服务终端根据该动态口令令牌的编号在本地査找到该动态口令 令牌的种子和状态信息,将根据该种子和状态信息生成的临时动态口令与用户在登录时输入 的动态口令进行比对,如果一致,则用户登录成功,登录流程结束,如果不一致,则用户登 录失败,登录流程结束;
如果不是自身发放,则将查找到的动态口令令牌的编号和用户在登录时输入的动态口令 发送给第三方认证终端,请求验证该动态口令,并继续执行步骤206后续的步骤。
其中,以上所述第一服务终端判断动态口令令牌是否为自身发放(包括绑定过程和登录 过程),均可以采用如下的方法
第一服务终端在本地査找上述编号的动态口令令牌的种子和状态信息,如果本地存在该 动态口令令牌的种子和状态信息,则该动态口令令牌为本地发放,否则,为其他服务终端发 放;
或,第一服务终端判断该动态令牌令牌的编号是否符合预设的动态口令令牌发放规则, 如果是,则该动态口令令牌为本地发放,否则,为其他服务终端发放。其中,预设的动态口 令令牌发放规则用于在动态口令令牌生产时,以预先约定的规则发放动态口令令牌。例如, 将所有动态口令令牌的编号划分为多个号码段,将第一号码段内的所有编号对应的所有动态 口令令牌分配给第一服务终端,将第二号码段内的所有编号对应的所有动态口令令牌分配给 第二服务终端,等等。当第一服务终端接收到用户输入的动态口令令牌的编号后,根据上述 发放规则,可以判断收到的动态口令令牌编号是否在预设的第一号码段内,如果是,则为本 地发放。
本发明实施例中, 一个动态口令令牌可以绑定多个账户。
在本实施例中,歩骤205中账户和动态口令令牌在第一服务终端绑定成功之后,第一服 务终端还可以将用户的个人信息发送给第三方认证终端,第三方认证终端收到后,建立并保 存该个人信息和动态口令令牌的编号的对应关系。相应地,如果步骤206中用户在登录时还 输入个人信息,则步骤207中第一服务终端可以将该个人信息和动态口令令牌的编号以及动 态口令一起发送给第三方认证终端,步骤208中第三方认证终端在根据该动态口令令牌的编 号查找到发放该动态口令令牌的第二服务终端之前,还可以执行以下步骤
第三方认证终端根据收到的动态口令令牌的编号,在保存的对应关系中找到对应的个人信息,将找到的个人信息与第一服务终端发来的个人信息进行比对,如果一致,则根据该动 态口令令牌的编号査找到发放该动态口令令牌的第二服务终端,并继续执行后续的步骤;如
果不一致,则禁止用户登录。
在本实施例中,如果用户的动态口令令牌遗失,则用户可以在第三方认证终端或服务终 端通过注册时的登记的关键身份信息对动态口令令牌进行挂失,第三方认证终端会将该动态 口令令牌标记为挂失,在解除挂失之前该编号的动态口令令牌则不能使用。
在本实施例中,动态口令令牌由第三方认证终端生产并为每一个动态口令令牌分配种子 和编号,第三方认证终端将动态口令令牌分配给各个服务终端,同时将相对应的种子发放给 相应的服务终端,其中,第三方认证终端可以保存所有动态口令令牌的种子和编号,以方便 进行管理。
上述流程是针对绑定并登录一个服务终端的情况进行说明的,当用户登录多个服务终端 进行身份认证时,登录其中每个服务终端进行身份认证的过程均与上述流程相同,此处不再 赘述。
参见图3,本发明实施例还提供了一种基于动态口令进行身份认证的系统,包括客户端1、 第一服务终端2、第三方认证终端3和第二服务终端4; 客户端1包括
输入模块ll,用于在绑定过程中,接收用户输入的个人信息、账户、动态口令令牌的编 号和动态口令,当用户在绑定成功后登录第一服务终端时,接收用户输入的账户的登录信息 和动态口令;
通信模块12,用于将输入模块11收到的所有信息发送给第一服务终端,接收第一服务 终端返回的绑定结果和登录结果;
输出模块13,用于在绑定过程中,输出绑定结果给用户,在用户登录过程中,提示用户 输入登录信息和动态口令,输出登录结果给用户;
第一服务终端2包括
通信模块21,用于与客户端l进行通信,接收用户在绑定和登录时输入的信息,还与第 三方认证终端3进行通信,接收第三方认证终端3返回的绑定验证结果和登录验证结果;
绑定处理模块22,用于当第一服务终端2的通信模块21收到个人信息、账户、动态口 令令牌的编号和用户在绑定时输入的动态口令后,将用户在绑定时输入的动态口令作为待验 证口令,通过第一服务终端2的通信模块21向第三方认证终端3发送动态口令令牌的编号和待验证口令,请求验证待验证口令,通过第一服务终端2的通信模块21接收第三方认证终端 3返回的结果,如果结果为比对一致,则建立并保存个人信息、账户和动态口令令牌的编号 的对应关系,通过第一服务终端2的通信模块21通知客户端账户和动态口令令牌绑定成功, 如果结果为不一致,则通过第一服务终端的通信模块通知客户端账户和动态口令令牌绑定失 败;
登录处理模块23,用于当第一服务终端3的通信模块21收到登录信息和用户在登录时 输入的动态口令后,将用户在登录时输入的动态口令作为待验证口令,根据第一服务终端2 保存的对应关系査找与登录信息对应的动态口令令牌的编号,通过第一服务终端2的通信模 块21将动态口令令牌的编号和待验证口令发送给第三方认证终端3,请求验证待验证口令, 通过第一服务终端2的通信模块21接收第三方认证终端3返回的结果,如果结果为比对一致, 则通过第一服务终端2的通信模块21通知客户端用户登录成功,如果结果为比对不一致,则 通过第一服务终端2的通信模块21通知客户端1用户登录失败;
第三方认证终端3包括
通信模块31,用于与第一服务终端2和第二服务终端4进行通信; 处理模块32,用于当第三方认证终端3的通信模块31收到第一服务终端2发来的动态 口令令牌的编号和待验证口令后,根据动态口令令牌的编号査找到发放动态口令令牌的第二 服务终端4,通过第三方认证终端3的通信模块31将动态口令令牌的编号和待验证口令发送 给第二服务终端,请求验证待验证动态口令,通过第三方认证终端3的通信模块31接收第二 服务终端4返回的结果,将结果返回给第一服务终端2; 第二服务终端4包括
通信模块41,用于与第三方认证终端3进行通信;
存储模块42,用于存储已发放的动态口令令牌的编号、种子和状态信息的对应关系,已 发放的动态口令令牌包括用户使用的动态口令令牌;
验证模块43,用于在第二服务终端4的通信模块41收到动态口令令牌的编号和待验证 口令后,根据动态口令令牌的编号在第二服务终端4的存储模块42存储的对应关系中,找到 动态口令令牌的种子和状态信息,根据种子和状态信息生成临时动态口令,比对临时动态口 令与待验证口令是否一致,通过第二服务终端4的通信模块41将比对的结果返回给第三方认 证终端3。
本实施例中,第一服务终端还可以包括-
第一判断模块,用于当用户绑定时,判断用户使用的动态口令令牌是否为第一服务终端发放;
第一验证模块,用于当第一判断模块判断的结果为是时,根据动态口令令牌的编号在本 地查找到动态口令令牌的种子和状态信息,将根据种子和状态信息生成的临时动态口令与用 户在绑定使输入的动态口令进行比对,如果一致,则账户和动态口令令牌绑定成功,建立并 保存个人信息、账户和动态口令令牌的编号的对应关系,如果不一致,则账户和动态口令令 牌绑定失败,当判断模块判断的结果为否时,触发绑定处理模块22工作。
和/或,第一服务终端还包括
第二判断模块,用于当用户登录时,判断用户使用的动态口令令牌是否为第一服务终端 发放;
第二验证模块,用于当第二判断模块判断的结果为是时,根据动态口令令牌的编号在本 地査找到动态口令令牌的种子和状态信息,将根据种子和状态信息生成的临时动态口令与用 户在登录时输入的动态口令进行比对,如果一致,则用户登录成功,如果不一致,则用户登 录失败,当判断模块判断的结果为否时,触发登录处理模块23工作。
本实施例中,个人信息包括用户的姓名、身份证号、电话号码、地址和电子邮箱中的至 少一种。
本实施例中,登录信息包括账户和动态密码,还包括用户姓名、静态密码、动态口令令 牌的编号、身份证号和电子邮箱中的至少一种。
本实施例中,状态信息包括动态口令令牌生成动态口令时所需的动态参数和动态口令令 牌的状态类型,状态类型包括锁定、挂失、注册和绑定。
本实施例中,进一歩地,第一服务终端还可以包括
第一静态密码验证模块,用于当用户在绑定过程中输入静态密码时,先验证静态密码是 否正确,如果正确,则触发绑定处理模块22工作,如果不正确,则禁止用户绑定。 和/或,第一服务终端还包括
第二静态密码验证模块,用于当登录信息包括静态密码时,先验证静态密码是否正确, 如果正确,则触发登录处理模块23工作,如果不正确,则禁止用户登录。
本实施例中,第一服务终端的通信模块21还用于在账户和动态口令令牌绑定成功之后, 发送个人信息给第三方认证终端;相应地,第三方认证终端还包括
存储模块,用于在第三方认证终端的通信模块31收到个人信息后,建立并存储个人信息 和动态口令令牌的编号的对应关系;相应地,当用户在登录过程中输入个人信息时,第一服 务终端的通信模块21还用于将用户在登录过程中输入的个人信息发送给第三方认证终端;第三方认证终端还包括
验证模块,用于根据收到的动态口令令牌的编号,在保存的对应关系中找到对应的个人 信息,将找到的个人信息与第三方认证终端的通信模块31收到的个人信息进行比对,如果一 致,则触发处理模块32工作;如果不一致,则禁止用户登录。
另外,本实施例提供的上述系统还可以包括与上述服务终端相同的一个或多个其他服 务终端。
本发明实施例提供的上述方法和系统均可以支持多个服务终端的场景,本发明对服务终 端的个数不做具体限定。本发明实施例提供的上述方法和系统,降低了用户使用动态口令令 牌进行身份认证的成本、复杂度和繁琐性,有利于服务终端提供推广动态口令认证系统的应 用,提升服务的安全性,用户只需一个动态口令令牌就可以注册登录多个服务终端的身份认 证系统,极大地方便用户使用,容易实现,操作简单,并且动态口令令牌的种子由第三方认 证终端集中管理,便于维护。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之 内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种基于动态口令进行身份认证的方法,其特征在于,所述方法包括绑定过程和登录过程;所述绑定过程包括第一服务终端接收用户输入的个人信息、账户、动态口令令牌的编号和动态口令,向第三方认证终端发送所述动态口令令牌的编号和动态口令,请求验证所述动态口令;所述第三方认证终端收到后,根据所述动态口令令牌的编号查找到发放所述动态口令令牌的第二服务终端,将所述动态口令令牌的编号和动态口令发送给所述第二服务终端,请求验证所述动态口令;所述第二服务终端收到后,根据所述动态口令令牌的编号查找到所述动态口令令牌的种子和状态信息,根据所述种子和状态信息生成第一临时动态口令,比对所述第一临时动态口令和所述动态口令是否一致,并通过所述第三方认证终端返回比对的结果给所述第一服务终端;所述第一服务终端收到后,如果所述结果为比对一致,则所述账户和动态口令令牌绑定成功,所述第一服务终端建立并保存所述个人信息、账户和动态口令令牌的编号的对应关系,如果所述结果为比对不一致,则所述账户和动态口令令牌绑定失败;所述登录过程包括当所述用户在绑定成功后登录所述第一服务终端时,所述第一服务终端接收所述用户输入的所述账户的登录信息和动态口令,根据本地保存的对应关系查找与所述登录信息对应的动态口令令牌的编号,将所述动态口令令牌的编号和所述用户在登录时输入的动态口令发送给所述第三方认证终端,请求验证所述动态口令;所述第三方认证终端收到后,根据所述动态口令令牌的编号查找到发放所述动态口令令牌的所述第二服务终端,将所述动态口令令牌的编号和所述用户在登录时输入的动态口令发送给所述第二服务终端,请求验证所述用户在登录时输入的动态口令;所述第二服务终端收到后,根据所述动态口令令牌的编号查找到所述动态口令令牌的种子和状态信息,根据所述种子和状态信息生成第二临时动态口令,比对所述第二临时动态口令与所述用户在登录时输入的动态口令是否一致,并通过所述第三方认证终端返回比对的结果给所述第一服务终端;所述第一服务终端收到后,如果所述结果为比对一致,则所述用户登录成功,如果所述结果为比对不一致,则所述用户登录失败。
2、 根据权利要求l所述的基于动态口令进行身份认证的方法,其特征在于,向第三方认 证终端发送所述动态口令令牌的编号和动态口令之前,还包括所述第一服务终端判断所述动态口令令牌是否为自身发放;如果是,则所述第一服务终端根据所述动态口令令牌的编号在本地査找到所述动态口令 令牌的种子和状态信息,将根据所述种子和状态信息生成的临时动态口令与所述动态口令进 行比对,如果一致,则所述账户和动态口令令牌绑定成功,所述第一服务终端建立并保存所 述个人信息、账户和动态口令令牌的编号的对应关系,绑定流程结束,如果不一致,则所述 账户和动态口令令牌绑定失败,绑定流程结束;如果不是,则执行所述向第三方认证终端发送所述动态口令令牌的编号和动态口令的步骤。
3、 根据权利要求l所述的基于动态口令进行身份认证的方法,其特征在于,将所述动态 口令令牌的编号和所述用户在登录时输入的动态口令发送给所述第三方认证终端之前,还包 括所述第一服务终端判断所述动态口令令牌是否为自身发放;如果是,则所述第一服务终端根据所述动态口令令牌的编号在本地查找到所述动态口令 令牌的种子和状态信息,将根据所述种子和状态信息生成的临时动态口令与所述用户在登录 时输入的动态口令进行比对,如果一致,则所述用户登录成功,登录流程结束,如果不一致, 则所述用户登录失败,登录流程结束;如果不是,则执行将所述动态口令令牌的编号和所述用户在登录时输入的动态口令发送 给所述第三方认证终端的步骤。
4、 根据权利要求2或3所述的基于动态口令进行身份认证的方法,其特征在于,所述第 一服务终端判断所述动态口令令牌是否为自身发放,具体包括所述第一服务终端在本地査找是否存有所述动态口令令牌的种子和状态信息,如果存在, 则所述动态口令令牌为本地发放,如果不存在,则所述动态口令令牌不是本地发放; 或,所述第一服务终端判断所述动态口令令牌的编号是否符合预设的动态口令令牌发放规则,如果是,则所述动态口令令牌为本地发放,否则,所述动态口令令牌不是本地发放。
5、 根据权利要求l所述的基于动态口令进行身份认证的方法,其特征在于,所述绑定过 程之前,还包括所述第二服务终端将所述动态口令令牌发放给所述用户。
6、 根据权利要求l所述的基于动态口令进行身份认证的方法,其特征在于,所述个人信 息包括用户的姓名、身份证号、电话号码、地址和电子邮箱中的至少一种。
7、 根据权利要求l所述的基于动态口令进行身份认证的方法,其特征在于,所述登录信 息包括账户和动态密码,还包括用户姓名、静态密码、动态口令令牌的编号、身份证号和电 子邮箱中的至少一种。
8、 根据权利要求l所述的基于动态口令进行身份认证的方法,其特征在于,所述状态信息包括所述动态口令令牌生成动态口令时所需的动态参数和所述动态口令令牌的状态类型, 所述状态类型包括锁定、挂失、注册和绑定。
9、 根据权利要求l所述的基于动态口令进行身份认证的方法,其特征在于,所述用户在 绑定过程中还输入静态密码,则所述向第三方认证终端发送所述动态口令令牌的编号和动态口令,请求验证所述动态口令之前,还包括所述第一服务终端验证所述静态密码是否正确,如果正确,则执行所述向第三方认证终 端发送所述动态口令令牌的编号和动态口令,请求验证所述动态口令的步骤,如果不正确, 则禁止所述用户绑定。
10、 根据权利要求1所述的基于动态口令进行身份认证的方法,其特征在于,所述登录信息还包括静态密码,则所述根据本地保存的对应关系査找与所述登录信息对应的动态口令 令牌的编号之前,还包括-所述第一服务终端验证所述静态密码是否正确,如果正确,则执行所述根据本地保存的 对应关系查找与所述登录信息对应的动态口令令牌的编号的步骤,如果不正确,则禁止所述 用户登录。
11、 根据权利要求1所述的基于动态口令进行身份认证的方法,其特征在于,所述账户 和动态口令令牌绑定成功之后,还包括所述第一服务终端将所述个人信息发送给所述第三方认证终端; 所述第三方认证终端建立并保存所述个人信息和动态口令令牌的编号的对应关系; 所述用户在登录过程中还输入个人信息,所述第一服务终端还将所述个人信息发送给所 述第三方认证终端;根据所述动态口令令牌的编号査找到发放所述动态口令令牌的所述第二服务终端之前, 还包括所述第三方认证终端根据收到的所述动态口令令牌的编号,在保存的对应关系中找到对 应的个人信息,将找到的个人信息与所述第一服务终端发来的个人信息进行比对,如果一致, 则执行根据所述动态口令令牌的编号査找到发放所述动态口令令牌的所述第二服务终端的步 骤;如果不一致,则禁止所述用户登录。
12、 根据权利要求1所述的基于动态口令进行身份认证的方法,其特征在于,所述第一 临时动态口令具体为一个动态口令,或一组动态口令;当所述第一临时动态口令为一组动态口令吋,在所述绑定过程中,所述服务终端比对所 述第一临时动态口令和所述动态口令是否一致,具体包括所述服务终端比对所述一组动态口令中是否有一个动态口令与所述用户输入的动态口令 一致,如果有,则确认所述第一临时动态口令与所述用户输入的动态口令一致。
13、 根据权利要求1所述的基于动态口令进行身份认证的方法,其特征在于,所述第二 临时动态口令具体为一个动态口令,或一组动态口令;当所述第二临时动态口令为一组动态口令时,在所述登录过程中,所述服务终端比对所 述第二临时动态口令与用户登录时输入的动态口令是否一致,具体包括如果所述一组动态口令中有一个与所述用户登录时输入的动态口令一致,则确认所述第 二临时动态口令与用户登录时输入的动态口令一致。
14、 根据权利要求1所述的基于动态口令进行身份认证的方法,其特征在于,所述方法 还包括所述账户和动态口令令牌绑定成功后,所述第二服务终端更新本地保存的所述动态口令 令牌的状态信息;相应地,所述用户登录成功后,所述第二服务终端更新本地保存的所述动态口令令牌的 状态信息。
15、 一种基于动态口令进行身份认证的系统,其特征在于,所述系统包括客户端、第一 服务终端、第三方认证终端和第二服务终端 所述客户端包括输入模块,用于在绑定过程中,接收用户输入的个人信息、账户、动态口令令牌的编号 和动态口令,当所述用户在绑定成功后登录所述第一服务终端时,接收所述用户输入的所述 账户的登录信息和动态口令;通信模块,用于将所述输入模块收到的所有信息发送给所述第一服务终端,接收所述第 一服务终端返回的绑定结果和登录结果;输出模块,用于在绑定过程中,输出所述绑定结果给用户,在用户登录过程中,提示用 户输入登录信息和动态口令,输出所述登录结果给用户;所述第一服务终端包括通信模块,用于与所述客户端进行通信,接收所述用户在绑定和登录时输入的信息,还 与所述第三方认证终端进行通信,接收所述第三方认证终端返回的绑定验证结果和登录验证 结果;绑定处理模块,用于当所述第一服务终端的通信模块收到所述个人信息、账户、动态口 令令牌的编号和所述用户在绑定时输入的动态口令后,将所述用户在绑定时输入的动态口令 作为待验证口令,通过所述第一服务终端的通信模块向所述第三方认证终端发送所述动态口 令令牌的编号和所述待验证口令,请求验证所述待验证口令,通过所述第一服务终端的通信 模块接收所述第三方认证终端返回的结果,如果所述结果为比对一致,则建立并保存所述个 人信息、账户和动态口令令牌的编号的对应关系,通过所述第一服务终端的通信模块通知所 述客户端所述账户和动态口令令牌绑定成功,如果所述结果为不一致,则通过所述第一服务 终端的通信模块通知所述客户端所述账户和动态口令令牌绑定失败;登录处理模块,用于当所述第一服务终端的通信模块收到所述登录信息和所述用户在登 录时输入的动态口令后,将所述用户在登录时输入的动态口令作为待验证口令,根据所述第 一服务终端保存的对应关系查找与所述登录信息对应的动态口令令牌的编号,通过所述第一服务终端的通信模块将所述动态口令令牌的编号和所述待验证口令发送给所述第三方认证终 端,请求验证所述待验证口令,通过所述第一服务终端的通信模块接收所述第三方认证终端 返回的结果,如果所述结果为比对一致,则通过所述第一服务终端的通信模块通知所述客户 端所述用户登录成功,如果所述结果为比对不一致,则通过所述第一服务终端的通信模块通 知所述客户端所述用户登录失败; 所述第三方认证终端包括-通信模块,用于与所述第一服务终端和第二服务终端进行通信;处理模块,用于当所述第三方认证终端的通信模块收到所述第一服务终端发来的所述动 态口令令牌的编号和待验证口令后,根据所述动态口令令牌的编号査找到发放所述动态口令 令牌的所述第二服务终端,通过所述第三方认证终端的通信模块将所述动态口令令牌的编号 和所述待验证口令发送给所述第二服务终端,请求验证所述待验证动态口令,通过所述第三 方认证终端的通信模块接收所述第二服务终端返回的结果,将所述结果返回给所述第一服务 终端;所述第二服务终端包括通信模块,用于与所述第三方认证终端进行通信;存储模块,用于存储已发放的动态口令令牌的编号、种子和状态信息的对应关系,所述 已发放的动态口令令牌包括所述用户使用的所述动态口令令牌;验证模块,用于在所述第二服务终端的通信模块收到所述动态口令令牌的编号和待验证 口令后,根据所述动态口令令牌的编号在所述第二服务终端的存储模块存储的对应关系中, 找到所述动态口令令牌的种子和状态信息,根据所述种子和状态信息生成临时动态口令,比 对所述临时动态口令与所述待验证口令是否一致,通过所述第二服务终端的通信模块将比对 的结果返回给所述第三方认证终端。
16、根据权利要求15所述的基于动态口令进行身份认证的系统,其特征在于,所述第一 服务终端还包括第一判断模块,用于当所述用户绑定时,判断所述用户使用的动态口令令牌是否为所述 第一服务终端发放;第一验证模块,用于当所述第一判断模块判断的结果为是时,根据所述动态口令令牌的 编号在本地査找到所述动态口令令牌的种子和状态信息,将根据所述种子和状态信息生成的 临时动态口令与所述用户在绑定使输入的动态口令进行比对,如果一致,则所述账户和动态口令令牌绑定成功,建立并保存所述个人信息、账户和动态口令令牌的编号的对应关系,如 果不一致,则所述账户和动态口令令牌绑定失败,当所述判断模块判断的结果为否时,触发 所述绑定处理模块工作。
17、 根据权利要求15所述的基于动态口令进行身份认证的系统,其特征在于,所述第一 服务终端还包括第二判断模块,用于当所述用户登录时,判断所述动态口令令牌是否为所述第一服务终 端发放;第二验证模块,用于当所述第二判断模块判断的结果为是时,根据所述动态口令令牌的 编号在本地査找到所述动态口令令牌的种子和状态信息,将根据所述种子和状态信息生成的 临时动态口令与所述用户在登录时输入的动态口令进行比对,如果一致,则所述用户登录成 功,如果不一致,则所述用户登录失败,当所述判断模块判断的结果为否时,触发所述登录 处理模块工作。
18、 根据权利要求15所述的基于动态口令进行身份认证的系统,其特征在于,所述个人 信息包括用户的姓名、身份证号、电话号码、地址和电子邮箱中的至少一种。
19、 根据权利要求15所述的基于动态口令进行身份认证的系统,其特征在于,所述登录 信息包括账户和动态密码,还包括用户姓名、静态密码、动态口令令牌的编号、身份证号和 电子邮箱中的至少一种。
20、 根据权利要求15所述的基于动态口令进行身份认证的系统,其特征在于,所述状态 信息包括所述动态口令令牌生成动态口令时所需的动态参数和所述动态口令令牌的状态类 型,所述状态类型包括锁定、挂失、注册和绑定。
21、 根据权利要求15所述的基于动态口令进行身份认证的系统,其特征在于,所述第一服务终端还包括第一静态密码验证模块,用于当所述用户在绑定过程中输入静态密码时,先验证所述静 态密码是否正确,如果正确,则触发所述绑定处理模块工作,如果不正确,则禁止所述用户绑定。
22、 根据权利要求15所述的基于动态口令进行身份认证的系统,其特征在于,所述第一 服务终端还包括第二静态密码验证模块,用于当所述登录信息包括静态密码时,先验证所述静态密码是 否正确,如果正确,则触发所述登录处理模块工作,如果不正确,则禁止所述用户登录。
23、 根据权利要求15所述的基于动态口令进行身份认证的系统,其特征在于,所述第一 服务终端的通信模块还用于在所述账户和动态口令令牌绑定成功之后,发送所述个人信息给 所述第三方认证终端;所述第三方认证终端还包括存储模块,用于在所述第三方认证终端的通信模块收到所述个人信息后,建立并存储所 述个人信息和动态口令令牌的编号的对应关系;当所述用户在登录过程中输入个人信息时,所述第一服务终端的通信模块还用于将所述 用户在登录过程中输入的个人信息发送给所述第三方认证终端;所述第三方认证终端还包括验证模块,用于根据收到的所述动态口令令牌的编号,在保存的对应关系中找到对应的 个人信息,将找到的个人信息与所述第三方认证终端的通信模块收到的个人信息进行比对, 如果一致,则触发所述处理模块工作;如果不一致,则禁止所述用户登录。
全文摘要
本发明公开了一种基于动态口令进行身份认证的方法和系统,属于信息安全领域。所述方法包括绑定时,第一服务终端通过第三方认证终端请求发放动态口令令牌的第二服务终端验证用户的动态口令,如果正确,则账户和动态口令令牌绑定成功,第一服务终端建立并保存个人信息、账户和动态口令令牌的编号的对应关系,否则绑定失败;当用户登录第一服务终端时,第一服务终端通过第三方认证终端请求第二服务终端验证用户的动态口令,如果正确,则登录成功,否则登录失败。所述系统包括客户端、服务终端和第三方认证终端。本发明降低了成本和用户使用动态口令进行身份认证的复杂度,容易实现,方便操作,便于维护。
文档编号G06Q40/00GK101582762SQ20091008112
公开日2009年11月18日 申请日期2009年4月2日 优先权日2009年4月2日
发明者于华章, 舟 陆 申请人:北京飞天诚信科技有限公司