动态密码认证系统、方法及其用途
技术领域
本发明涉及一种动态密码认证系统、认证方法及其用途,尤其涉及一种基于移动令牌的动态密码认证系统、认证方法及其用途。
背景技术
身份认证是保证系统安全、稳定运行不可缺少和至关重要的一个环节。用户在访问应用系统时,需要首先通过某种身份验证机制来验证用户的身份与所宣称的是否一致,身份验证成功后才能根据用户的身份和授权数据库决定用户是否能够访问系统的某个资源或进行某项操作,否则系统将会拒绝其访问。
目前,常用的身份认证技术主要有固定密码评语和动态密码认证两种方式。
固定密码认证方式采用“用户名/帐号+密码=用户身份”的认证方式,密码由自设,记忆在脑子里,登录时先输入用户名/帐号,再输入密码,两串数字与后台系统预留的一致即可确认为合法授权用户,反之则为非法用户。这种采用帐号加密码的方式对授权对象的身份进行认证的技术因其极大的方便性一直以来是一项在很多领域被普遍采用的一种成熟技术。但是这种认证方式的缺点在于:由于客户的帐号是固定的明文(一般是不加密的阿拉伯数字与字母),密码又是静态的,客户在很长一段时间内不会修改,随着异地登录越来越频繁,应用环境的变化和高科技犯罪手段的发展,窃取这两项后假冒合法授权用户进入其帐户进行恶意操作的案件越来越多。总之,用用户名加静态密码(固定密码)对客户的身份进行确认的安全强度已经远远不够。
动态密码认证是提高密码安全强度的后种有效手段。现有的动态密码认证系统主要由动态密码产生/认证服务器、动态密码产生/认证备份服务器、客户端接收器和管理工作站等组成。它是基于动态密码产生/认证服务器端产生一个动态密码,发送到客户端接收器(通讯终端,如手机等),客户登录时同时输入静态密码和接收到的动态密码,以解决静态密码被破译的问题。但是这种动态密码认证方式也有其不可避免的缺点,客户必须有一个移动终端来接收动态密码,而且需要借且无线通讯系统,具有一定的不可靠性。
发明内容
为了解决目前密码验证系统的缺陷,本发明提供了一种更为安全,使用更为方便的动态密码身份认证系统、方法及其用途。
本发明的动态密码认证系统基于互联网进行传输,包括应用系统服务器,应用系统服务器终端,动态密码卡。动态密码卡产生随机动态密码,用户通过应用系统终端将该动态密码发送给应用系统服务器,应用系统服务器对该动态密码进行认证,并根据认证结果确定用户是否能够登录。
所述应用系统服务器包括一动态密码认证服务器,其根据计算规则计算出认证密码,与用户输入的密码进行比较,然后将认证结果返回应用系统服务器。
动态密码卡有输入按键,根据输入的数字的不同和时间的不同会产生不同的动态密码。
所述应用系统服务器还包括管理工作站,其对动态密码卡的用户操作、查询、参数设计、备份进行管理。
所述应用系统服务器还包括一数据库服务器,用于存储系统数据。
应用系统服务器设置一时间窗口,允许该时间窗口内的动态密码卡登录。
动态密码卡与应用系统服务器之间的时间窗口可以根据登录间隔时间或不同调用而进行动态调整的。
用户使用动态密码卡的时间超过了设定的时间窗口,系统则会要求用户输入当前密码以及下一动态密码。
每一动态密码卡在应用系统服务器上启用时与一用户名绑定。
用户在启用动态密码卡时申请绑定,应用系统服务器设定一验证期,对用户身份进行验证。
用户在启用动态密码卡时申请绑定,应用系统服务器还设定一确认期,用户须在确认期内对该绑定进行确认。
所述应用系统服务器是网络游戏服务器。
本发明的动态密码认证方法,包括如下步骤:
用户开启动态密码卡,根据应用系统服务器终端提示的随机数输入动态密码卡,动态密码卡会根据这个输入运算出一个动态密码,将其上显示的动态密码输入应用系统服务器终端;
应用系统服务器终端将动态密码发送至应用系统服务器;
系统对动态密码进行验证,并确定用户是否能够登录。
对动态密码进行验证是由应用系统内嵌入的认证服务器来完成的,认证服务器将认证结果返回应用系统服务器。
对动态密码进行验证是由一认证服务器来完成的,认证服务器将认证结果返回应用系统服务器。
认证服务器对一定时间窗口内的动态密码进行验证。
认证服务器的时间窗口是动态调整的。
用户使用动态密码卡的时间超过了设定的时间窗口,系统则会连续提示用户两个随机数,用户分别用这两个随机数输入密码卡,产生两个动态密码。用户连续依次输入这两个动态密码进行验证。
用户在启用动态密码卡(应加上)时,系统提示先对动态密码卡与用户的帐户进行绑定。
系统对绑定申请进行验证,并设定一确认期,用户在该确认期内对绑定进行确认。
所述应用系统服务器是网络游戏服务器。
管理工作站对动态密码卡的用户操作、查询、参数设置、备份进行管理。
本发明的动态密码认证系统和方法可以用于游戏、金融、证券、企业管理和电子商务等多种领域。
本发明实行双因素认证机制来鉴别用户身份,动态密码随时间和输入的随机数的不同而改变,不易被剽窃,具有独特的算法,也不易被推测出后续密码,可以有效地防止用户名被盗用。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的密码认证系统的一种实施例的架构示意图。
图2是本发明的密码认证系统的另一种实施例的架构示意图。
图3是本发明的密码认证方法的主流程图。
图4是本发明的密码认证方法的认证分支流程图。
图5是本发明的密码认证方法的绑定流程图。
图6是本发明的密码认证方法的解绑流程图。
具体实施方式
如图1所示,在本发明的一个实施例中,应用系统服务器是网络游戏应用服务器,应用系统服务器终端即网络游戏用户终端,用户终端和游戏服务器之间基于互联网交换数据。
还可以设有一个或多个数据库服务器,用于存储系统数据,也可以采用嵌入游戏应用服务器的数据库。
还包括管理工作站,其对动态密码卡的用户操作、查询、参数设置、备份进行管理。
如图2所示的本发明的系统的另一种实施例,其架构分层设计,用户终端为第一层,通过互联网与第二层的游戏登录服务器和密宝网站相联,第二层也是通过互联网与令牌认证服务器相联。
在启用动态密码卡时,用户访问游戏应用服务器,输入用户帐号,静态密码,动态密码卡(令牌)的产品序列号,申请将用户帐号与动态密码卡进行绑定,系统设置一个验证期,验证期的长短可以任意设定,一般设置成为用户登录服务器的周期,约12天左右。用户如果在验证期内要求找回密码,则绑定关系自动解除。设置验证期的目的是为了防止恶意绑定。
对于新注册的的帐户申请绑定立即完成,不设验证期和确认期,不需要确认绑定。
如图3、图4所示的用户密码认证流程,用户(在游戏客户端或网页上)接通应用系统服务器,游戏客户端或网页提示用户一个随机数,用户输入这个随机数到动态密码卡,动态密码卡产生动态密码,在用户终端输入用户名、静态密码和动态密码卡上显示的数字作为此时的动态登录密码;登录服务器从数据库中得到该用户的有关数据,判断静态密码是否正确,通过验证,系统再进行密宝绑定状态判断,如果未绑定,则按正常的流程登录,如果已绑定,系统将动态密码卡的序列号和动态密码提交到令牌认证服务器,由令牌服务器认证动态密码是否正确,认证服务器根据由用户身份确定的秘密数据计算出认证密码,与用户输入密码比较,并返回认证结果;如果不出现连接异常等信息,则通过验证,允许登录服务器;如果该用户已挂失,则根据用户选择的挂失后可以登录或不可以登录通知客户端;如果该令牌已停用、已到期、绑定不存在或不存在这个序列号,则通知客户端,更改数据库,置未绑定状态,让客户正常登录;如果出现其它失败信息,发送具体失败信息给客户端,通知客户正常登录;如果需要输入第二次口令进行验证,则提示用户到密宝的网站上校正时间。如果用户申请之后的一定时间内(可任意确定,一般设为12天)通过网页要求找回过密码,则发送解绑相关信息到令牌服务器解绑。
如图5所示,用户要将动态密码卡与游戏帐户绑定,需要进入应用系统服务器,输入绑定相关信息、动态密码,系统验证静态密码是否正确,如果正确,则将绑定相关信息、动态密码提交到令牌认证服务器,并得到令牌服务器返回值,如果动态密码正确,令牌的状态正确,系统更改登录服务器数据库中相应数据,通知客户端绑定成功。如果动态密码验证未通过,则通知客户绑定失败或要求客户输入下一动态密码,重新验证,并重复上述步骤。
如图6所示,用户要解除游戏帐号和动态密码卡的绑定,进入应用系统服务器,输入解绑相关信息、动态密码,系统验证静态密码是否正确,如果正确,系统判断数据库中的帐号是否已经绑定,如果已绑定,将解绑相关信息、动态密码提交到令牌认证服务器,并得到令牌服务器返回值,如果动态密码正确,令牌的状态正确,系统解除数据库中的绑定关系并通知客户端解除绑定成功。如果动态密码验证未通过,则通知客户绑定失败或要求客户输入下一动态密码,重新验证,并重复上述步骤。
认证服务器可以是独立模式,也可以嵌入于游戏应用服务器;
游戏应用服务器设置一时间窗口,允许该时间窗口内的动态密码登录。考虑到已显示过的密码会有泄露的可能性,而后续的密码则很难被推测出,因此采用非对称的时间窗口,如前1分钟后2分钟的动态密码都允许登录;
对登录间隔时间不同的卡采用不同的时间窗口,如一周未登录的卡时间窗口为1分钟,两周未登录的卡时间窗口为2分钟;
当用户在使用动态密码时,超过了时间窗口所允许的范围,系统则要求用户输入当前的密码以及下一分钟的密码进行校准;
对每块卡的偏差量进行动态调整:用户每次使用动态密码时,系统会根据其偏差量进行调整;
由于对每个调用的安全要求不同,采用不同的时间窗口大小,如在产品启用时允许10分钟的误差范围,在登录时允许1分钟的误差范围。
如果用户遗失动态密码卡,可以向系统申请挂失。挂失有两种选择,一种是挂失后可以用静态码登录帐号,一种是挂失后帐号禁止登录。
如果用户遗失动态密码卡并向系统申请挂失后又找回动态密码卡,用户可以申请解除挂失。解除挂失后,动态密码卡对帐号的保护重新生效。
如果用户不想再使用动态密码卡,可以向系统申请停用。停用后的动态密码卡对帐号不再有保护作用。
如果用户想用新的动态密码卡替代旧的动态密码卡,可以向系统申请替换。替换后用户所有的认证、绑定、解绑等操作都可以直接使用新动态密码卡。
本发明的密码认证系统和方法还可以用于银行、证券、企业管理和电子商务等多种需要登录密码验证的领域。