一种手机令牌动态口令生成方法、客户端、服务器以及系统技术方案

技术编号:8802969 阅读:259 留言:0更新日期:2013-06-13 07:04
本发明专利技术提出一种手机令牌动态口令生成方法、客户端、服务器以及系统。动态口令客户端初始化时生成随机码和信息码,根据随机码,并结合即时产生的信息码以及当前时间参数,根据动态口令算法生成动态口令,上传到动态口令服务器;动态口令服务器每次验证动态口令客户端生成的动态口令时,读取保存在服务器内的该动态口令客户端名下的随机码和信息码,根据当前时间值,采用与动态口令客户端相同的动态口令算法计算设定时间内的动态口令验证码;当动态口令与设定时间内的计算的任一动态口令验证码相同时,通过验证。从而达到手机令牌动态口令系统安全应用的目的。

【技术实现步骤摘要】
一种手机令牌动态口令生成方法、客户端、服务器以及系统
本专利技术属于互联网信息安全领域,特别是动态口令和身份认证技术。
技术介绍
动态口令(DynamicPassword)也称一次性口令(One-timePassword),是一种随时间或事件变化而产生的在一定时间间隔内有效的且不可预测的口令,一般会通过动态口令的生成载体显示出来,如刮刮卡、手机令牌等。在Internet高速发展的今天,动态口令技术结合身份认证技术已经广泛应用于网上购物、电子交易、网上炒股等业务,为用户提供安全身份认证功能。例如,在网上银行环境中,在登陆网上银行交易系统时,网上银行系统会要求用户输入动态口令载体生成的动态口令,然后传输到动态口令验证服务器进行验证。由于每次生成的口令是随机变化的,每个口令只能使用一次,彻底防止了各种窃听、重放、假冒、猜测等攻击方式。而用户也省去了记忆各种口令的苦恼。但是,随着移动互联网的发展,手机病毒也日益增多。对于手机令牌动态口令系统,其种子信息一般是保存在手机内存的某个文件夹内,因此,存在容易被手机病毒盗取并传播到其它手机上的可能。这样,其它手机用户就可以利用该种子信息以及动态口令客户端软件生成动态口令,假冒合法用户进行身份认证,给手机令牌动态口令的应用带来了一定的安全隐患。
技术实现思路
鉴于以上,本专利技术提出一种手机令牌动态口令生成方法、客户端、服务器以及系统。本专利技术提出的一种生成手机令牌的动态口令客户端,包括:随机码单元,用于生成并保存随机码;信息码单元,用于根据手机终端本身信息生成信息码;动态口令生成单元,用于根据随机码、信息码以及当前时间参数,通过动态口令生成算法即时生成动态口令;发送单元,用于将随机码、信息码以及动态口令上传到动态口令服务器。进一步,所述生成手机令牌的动态口令客户端,其中:所述信息码单元根据手机终端本身信息,包括IMEI、手机厂商标识码、手机屏幕分辨率以及手机操作系统版本号产生信息码。进一步,所述生成手机令牌的动态口令客户端,其中:所述信息码单元计算IMEI、手机厂商标识码、手机分辨率以及手机操作系统版本号连接所得字符串的哈希值,将哈希值转换成6个有效数字的整数,将所述整数转换成32进制表示,即可得长度为4个字符串的信息码。进一步,所述生成手机令牌的动态口令客户端,其中:所述动态口令生成单元生成动态口令使用HMAC-SHA1算法,计算hash=HMAC-SHA1(key,data),其中:key=sha1(随机码+信息码),data=fun1(随机码+信息码,时间参数)。本专利技术提出的一种手机终端,安装有上述任一所述生成手机令牌的动态口令客户端。本专利技术提出的一种验证手机令牌的动态口令服务器,包括:接收单元,用于接收并保存动态口令客户端上传的、信息码以及动态口令;验证码生成单元,用于根据随机码、信息码以及当前时间参数,通过与动态口令客户端相同的动态口令生成算法生成验证码;比对单元,比对动态口令客户端上传的动态口令与生成的验证码是否一致,如果一致,则验证通过。本专利技术提出的一种生成手机令牌动态口令的系统,包括:上述所述手机终端以及上述所述动态口令服务器。本专利技术提出的一种验证手机令牌动态口令的方法,包括:动态口令客户端初始化时生成随机码和信息码,将其发送给动态口令服务器并保存;动态口令客户端读取保存在手机本地的随机码,并结合即时产生的信息码以及当前时间参数,根据动态口令算法生成动态口令,上传到动态口令服务器;动态口令服务器每次验证动态口令客户端生成的动态口令时,读取保存在服务器内的该动态口令客户端名下的随机码和信息码,根据当前时间值,采用与动态口令客户端相同的动态口令算法计算设定时间内的动态口令验证码;判断输入的动态口令与设定时间内的计算的任一动态口令验证码是否相同,如果相同则认为是通过了验证,否则未通过验证。进一步,所述验证手机令牌动态口令的方法,生成信息码,包括以下步骤:计算IMEI、手机厂商标识码、手机分辨率以及手机操作系统版本号连接所得字符串的哈希值,将哈希值转换成6个有效数字的整数,将所述整数转换成32进制表示,即可得长度为4个字符串的信息码。进一步,所述验证手机令牌动态口令的方法,读取保存在手机本地的随机码,并结合即时产生的信息码以及当前时间参数,根据动态口令算法生成动态口令,包括以下步骤:生成动态口令使用HMAC-SHA1算法,计算hash=HMAC-SHA1(key,data),其中:key=sha1(随机码+信息码),data=fun1(随机码+信息码,时间参数)。本专利技术通过在手机令牌动态口令系统中设计一种安全的种子生成和保护方法,即使手机上保存的密钥信息泄漏和加密算法被公开破解,盗用者也无法生成相应的动态口令,从而达到手机令牌动态口令系统安全应用的目的。本专利技术用于各种需要安全业务认证的应用。附图说明图1所示为本专利技术的一种手机令牌动态口令生成系统。图2所示为本专利技术中动态口令客户端的结构示意图。图3所示为本专利技术中验证手机令牌的动态口令服务器的示意图。图4所示为本专利技术的一种手机令牌动态口令生成方法。图5为本专利技术手机令牌动态口令生成方法中动态口令客户端初始化流程。图6为本专利技术手机令牌动态口令使用方法的一个实施例的流程图。具体实施方式如图1所示,本专利技术提出了一种手机令牌动态口令生成系统,包括动态口令客户端、短信网关及动态口令服务器,该系统还可以包括第三方应用系统等,第三方应用系统是指采用动态口令实现安全业务认证的应用系统,如网上银行、网络游戏等。动态口令客户端用于生成动态口令种子信息,种子信息包括随机码和信息码,以及采用动态口令生成算法即时生成动态口令并显示,并将动态口令种子信息上传到动态口令服务器。动态口令服务器用于使用动态口令进行安全业务认证的应用管理、采用与动态口令客户端相同的算法进行动态口令验证等功能。其中,动态口令客户端与动态口令服务器之间的信息交互均通过短信方式实现,通过短信网关在动态口令客户端与动态口令服务器之间进行短信转发。如图2所示,为本专利技术中动态口令客户端的结构示意图。所述客户端安装在手机终端中。随机码单元,用于生成并保存随机码;信息码单元,用于根据手机终端本身信息生成信息码;动态口令生成单元,用于根据随机码、信息码以及当前时间参数,通过动态口令生成算法即时生成动态口令;发送单元,用于将随机码、信息码以及动态口令上传到动态口令服务器。如图3所示,为本专利技术中验证手机令牌的动态口令服务器的结构示意图。接收单元,用于接收并保存动态口令客户端上传的、信息码以及动态口令;验证码生成单元,用于根据随机码、信息码以及当前时间参数,通过与动态口令客户端相同的动态口令生成算法生成验证码;比对单元,比对动态口令客户端上传的动态口令与生成的验证码是否一致,如果一致,则验证通过。如图4所示,为本专利技术提出的一种手机令牌动态口令生成方法,包括以下步骤:在步骤401,动态口令客户端初始化时产生生成动态口令种子信息,种子信息包括随机码和信息码,随机码由动态口令客户端在初始化时随机产生,并保证不重复。信息码根据手机本身的软硬件信息产生,例如,根据IMEI、手机厂商标识码、手机屏幕分辨率以及手机操作系统版本号产生,所述信息码可以是4个字符。在本专利技术的一个实施例中,信息码的生成算法为:计本文档来自技高网...
一种手机令牌动态口令生成方法、客户端、服务器以及系统

【技术保护点】
一种生成手机令牌的动态口令客户端,包括:随机码单元,用于生成并保存随机码;信息码单元,用于根据手机终端本身信息生成信息码;动态口令生成单元,用于根据随机码、信息码以及当前时间参数,通过动态口令生成算法即时生成动态口令;发送单元,用于将随机码、信息码以及动态口令上传到动态口令服务器。

【技术特征摘要】
1.一种生成手机令牌的动态口令客户端,包括:随机码单元,用于生成并保存随机码,将随机码信息保存在手机本地的文件夹内;信息码单元,用于根据手机终端本身信息生成信息码,不保存所述信息码,其中手机终端本身信息包括IMEI、手机厂商标识码、手机屏幕分辨率以及手机操作系统版本号;动态口令生成单元,用于根据保存在手机本地的随机码、即时产生的信息码以及当前时间参数,通过动态口令生成算法即时生成动态口令;发送单元,用于将随机码、信息码以及动态口令上传到动态口令服务器,以便动态口令服务器接收并保存动态口令客户端上传的随机码、信息码以及动态口令,将随机码和信息码保存在相应动态口令客户端名下,根据随机码、信息码以及当前时间参数,通过与动态口令客户端相同的动态口令生成算法计算设定时间内的多个动态口令验证码,并判断输入的动态口令与设定时间内计算的多个动态口令验证码中的任一动态口令验证码是否相同,如果相同则认为是通过了验证,否则未通过验证。2.根据权利要求1所述生成手机令牌的动态口令客户端,其中:所述信息码单元计算IMEI、手机厂商标识码、手机分辨率以及手机操作系统版本号连接所得字符串的哈希值,将哈希值转换成6位有效数字的整数,将所述整数转换成32进制表示,即可得长度为4个字符的串的信息码。3.根据权利要求1或2所述生成手机令牌的动态口令客户端,其中:所述动态口令生成单元生成动态口令使用HMAC-SHA1算法,计算hash=HMAC-SHA1(key,data),其中:key=sha1(随机码+信息码),data=fun1(随机码+信息码,时间参数)。4.一种手机终端,安装有如权利要求1至3中任一所述生成手机令牌的动态口令客户端。5.一种验证手机令牌的动态口令服务器,包括:接收单元,用于接收并保存动态口令客户端上传的随机码、信息码以及动态口令,将随机码和信息码保存在相应动态口令客户端名下,其中动态口令客户端根据手机终端本身信息生成信息码,动态口令客户端不保存所述信息码,手机终端本身信息包括IMEI、手机厂商标识码、手机屏幕分辨率以及手机操作系统版本号;验证码生成单元,用于根据随机...

【专利技术属性】
技术研发人员:郭建昌郭茂文黎艳杨敏维
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1