动态口令生成方法

文档序号:7596744阅读:406来源:国知局
专利名称:动态口令生成方法
技术领域
本发明涉及一种身份认证类产品,特别是应用系统的用户动态口令生成方法,它可以防止相应应用系统的用户口令被盗用、被猜测、被截取、被窃听等安全隐患。
背景技术
随着网络的飞速发展,网络已经深入到我们的生活中,全球信息化已成为人类发展的大趋势。对于国家来说,信息是社会发展的重要战略资源。而对于企业来说,联网信息和应用则是实现生产率和竞争优势最大化的关键所在。但是,在充分利用网络共享信息资源的同时,也意味着向员工、承包商、业务伙伴和客户开放了您的网络。
近几年来,世界各国有关计算机与信息的犯罪案件正在呈上升的趋势。根据国外CERT(Computer Emergency Response Team)的调查报告,2001年发生的网络安全事故几乎比万用户资料被盗,要求用户立即修改密码,其损失约850万元。从2001年9月下旬到10月12日,北京各大报纸的头版头条多次报道股民股票账户被恶意操纵事件,股民累计损失达126.56万元。2001年11月,我国江西省上饶市公安局破获了一起电脑黑客袭击证券公司案件。犯罪嫌疑人邬某在不到两个月的时间里,破解了申银万国上饶营业部的78个股民账号交易密码,共产生非法交易额530多万元。
我国所建的信息系统防护能力很差,许多应用系统处于低设防甚至不设防状态,完全受制于人。无论是局域网还是广域网,都存在着自然和人为等诸多安全隐患。综观现在的形形色色的计算机网络应用系统,最常见而简单的访问控制方法是通过检验输入的用户帐号、口令是否与数据库中存放的值匹配来确认用户的真实性。用户在没有更改口令时,口令是静止不变的,即所谓的“静态口令”,而调查表明,有60%的系统被攻击和突破的地方首先是这种静态口令。许多最具危害性的犯罪都拥有共同的特点即绕过口令保护以获取对信息或资金的访问权限。而系统对于非法入侵者无法知晓他是谁?他在干什么?他干了些什么?因此,要解决信息安全问题,就有必要从改进第一关——身份认证开始。
为此,美国专利中公开了RSA公司的产品SecureID为典型代表,其口令令牌每60秒变化一次,来实现动态口令。它采用单变量(即时间)的算法来产生动态口令。这种动态口令令牌由于为了保证时间认证同步,存在这样一种安全隐患这就是存在一个时间的漂移窗口。在该时间窗口内的口令都是有效的,因为考虑到令牌时钟与服务器时钟之间的漂移,在认证检验时实际的有效时间区间还要比60秒大几倍,因而给攻击者留下更大的攻击区间。

发明内容
本发明的目的是提供一种安全性更高,可靠性更好、使用方便、易于维护的动态口令生成方法。
本发明的目的是这样实现的,动态口令生成方法,它至少包括获得3DES算法输入参量,通过3DES算法产生动态口令,其特征是所述的输入参量是由随机的变量作为虚时间因子、通过事件计数器作为同步因子、从每次都在变化的用户个人密钥中得到特征因子组成,由三个变量因子作参量,调用3DES算法生成动态口令。
所述的口令是随事件计数因子变化而变化。
所述的三因子存贮在存贮器内。
本发明的优点是由于采用随机的变量得到虚时间因子,避免了时间同步的种种缺点;而口令是随事件计数因子变化一次调用一次3DES算法,保证了每个口令只能使用一次,即使立即再次输入也无法通过认证。也不需注意令牌上当前显示的口令还有多少秒就要变化,是否来得及输入到计算机中去,需要一个时间的等待过程。没有这种限制,可以极为随意。采用三因子作参量,调用3DES算法得到口令,更安全。


下面结合实施例附图对本发明作进一步说明图1是本发明实施例流程图;图2是3DES算法框图;图3是一个实现动态口令的生成装置框图。
具体实施例方式图1给出了算法的流程过程,算法从100步骤开始,进入键扫描程序101,检测是否有模式选择键按下,如模式选择键没有打开时,程序是处在低功耗,即节电模式102。在节电模式102时定时检测模式选择键没有打开,没有在此巡回检测,如有乒乓键打开,由节电模式102进入正常模式103;在进入正常模式103后,程序进入初始化操作104,对计数器、计时寄存器进行清除;然后读取初始化的数据包(主要包括虚时间变量、初始个人密钥值和事件计数器,即3因子),完成步骤105;接着执行步骤106,对上述参数进行校验,当数据校验通不过时,执行步骤108,给出出错信息,停止使用。当数据校验能通过时,执行步骤107,将数据表示成16进制的ASCII;在此之后,以这些数据作参量,执行109步骤进行3DES运算,得到准密文;然后执行步骤110、111、112,由准密文进行运算分离,得到6字节的密文,也就是得到口令,并将口令进行显示。到此所需使用的新口令已经产生完成,而在随后的步骤中,将会产生下一口令的参量值。
程序将执行步骤113、114,生成新的数据包(主要包括事件计数器值和虚时间因子以及个人密钥值),并将这个数据包存贮于EEPROM中,等待下一次键操作,产生下一口令。在完成上述操作后,程序接着执行步骤115、116,产生一计时标志信息,并检测是否有键按下,如时间检测步骤117在10分钟内没有检测到键按下,程序返回到开始的节电模式102。如在10分钟内检测到键按下,执行步骤118,清除计时标志信息,停止计时;并进入步骤119进一步判断是否是模式选择键,当是模式选择键时,程序同样返回到开始的节电模式102。如不是,程序进入功能键120、121、122的操作,读功能计数寄存器的值S,功能键有三种分别代表1、2、0。如值S值=0,则执行124显示高8位的事件计数器值(加密的);如值S值=1,则执行125显示低8位的事件计数器值(加密的);如值S值=2,则执行126显示上一次口令值;无论是S值是多少,完成的功能键操作后,将执行步骤127的程序,运行S=(S+1)MOD3,在此之后返回到步骤115,置计时标志,重新开始计时。
如图2所示,从提高安全性、经济性和方便使用出发,本发明中的动态口令技术的核心借助3DES算法,它由虚时间因子、事件计数因子、个人密钥因子三变量通过3DES算法来产生动态口令。3DES算法使得用户的口令每次使用时产生的都不一样,具有不可预测性,而且每个口令的有效期就是输入的瞬间,从而不易受重发攻击和试探性攻击,而且网络截取也无效。
本发明中利用称为“虚时间”的变量作为变动的因子,事件计数器作为同步因子,用户密钥作为特征因子;采用虚时间是为了避免实时间的漂移同步问题;口令产生的事件计数器其初始值为一个随机数。这样由每次都变化的个人密钥因子和虚时间变量因子、事件计数器因子通过3DES算法,将产生一个密文数据包。
图3给出了动态口令的生成装置框图,它至少由一个处理单元5、一个存贮单元7、功能键9、模式选择键8、显示单元6、时钟芯片11和电源电路组成,由图3的硬件完成动态口令生成将以开始步骤100进行,处理单元5不断读取模式选择键8,检测是否有模式选择键8按下,如模式选择键8处于高时,处理单元5处在低功耗模式,即节电模式102。在节电模式102时定时检测模式选择键8,没有始终处在节电模式102,如模式选择键8为低,并经确认,由节电模式102进入正常模式103;在进入正常模式103后,处理单元5进入初始化操作104,对计数器、计时寄存器进行清除;然后读取读取初始化的数据包(主要包括虚时间变量、初始个人密钥值和事件计数器,即3因子),完成步骤105;接着处理单元5对上述参数进行校验,当数据校验通不过时,执行步骤108,给出出错信息,停止使用。当数据校验能通过时,将数据表示成16进制的ASCII;在此之后,以这些数据作参量,进行3DES运算,得到8字节的准密文;由准密文进行运算分离,得到6字节的密文,也就是得到口令,并将口令进行显示。到此所需使用的新口令已经产生。而在随后处理单元5将会产生下一口令的参量值并执行步骤113、114,生成新的数据包(主要包括虚时间变量、初始个人密钥值和事件计数器,即3因子)存贮于存贮单元7中,等待下一次键操作,产生下一口令。在完成上述操作后,程序接着执行步骤115、116,产生一计时标志信息,并检测是否有功能键9、模式选择键8按下,如在10分钟内没有检测到键按下,程序返回到开始的节电模式102。如在10分钟内检测到键按下,清除计时标志信息,停止计时;并判断是否是模式选择键8,当是模式选择键8时,处理单元5同样进入节电模式。否则是功能键9,进行菜单显示,0、显示高8位的事件计数器值(加密的);1、显示低8位的事件计数器值(加密的);2、显示上一次口令值。
权利要求
1.动态口令生成方法,它至少包括获得3DES算法输入参量,通过3DES算法产生动态口令,其特征是它通过随机的变量作为虚时间因子;通过事件计数器作为同步因子;从每次都在变化的用户个人密钥中得到特征因子,由上述的三个变量因子作参量,调用3DES算法生成动态口令。
2.根据权利要求1所述的动态口令生成方法,其特征是所述的口令是随事件计数因子变化而变化。
3.根据权利要求1所述的动态口令生成方法,其特征是所述的三因子存贮在存贮器内。
4.根据权利要求1所述的动态口令生成方法,其特征是所述的获得3DES算法输入参量,通过3DES算法产生动态口包括如下步骤算法从100步骤开始,进入键扫描程序101,检测是否有模式选择键按下,如模式选择键没有打开时,程序是处在低功耗,即节电模式102;在节电模式102时定时检测模式选择键没有打开,没有在此巡回检测,如有模式选择键打开,由节电模式102进入正常模式103;在进入正常模式103后,程序进入初始化操作104,对计数器、计时寄存器进行清除;然后读取初始化的数据包(主要包括虚时间变量、初始个人密钥值和事件计数器,即3因子),完成步骤105;接着执行步骤106,对上述参数进行校验,当数据校验通不过时,执行步骤108,给出出错信息,停止使用;当数据校验能通过时,执行步骤107,将数据表示成16进制的ASCII;在此之后,以这些数据作参量,执行109步骤进行3DES运算,得到准密文;然后执行步骤110、111、112,由准密文进行运算分离,得到6字节的密文,也就是得到口令,并将口令进行显示;到此所需使用的新口令已经产生完成,而在随后的步骤中,将会产生下一口令的参量值;程序将执行步骤113、114,生成新的数据包(主要包括虚时间变量、初始个人密钥值和事件计数器,即3因子),并将这些值存贮于EEPROM中,等待下一次键操作,产生下一口令;在完成上述操作后,程序接着执行步骤115、116,产生一计时标志信息,并检测是否有键按下,如时间检测步骤117在10分钟内没有检测到键按下,程序返回到开始的节电模式102;如在10分钟内检测到键按下,执行步骤118,清除计时标志信息,停止计时;并进入步骤119进一步判断是否是模式选择键,当是模式选择键时,程序同样返回到开始的节电模式102;如不是,程序进入功能键120、121、122的操作,读功能计数寄存器的值S,功能键有三种分别代表1、2、0;如值S值=0,则执行124显示高8位的事件计数器值(加密的);如值S值=1,则执行125显示低8位的事件计数器值(加密的);如值S值=2,则执行126显示上一次口令值;无论是S值是多少,完成的功能键操作后,将执行步骤127的程序,运行S=(S+1)MOD3,在此之后返回到步骤115,置计时标志,重新开始计时。
全文摘要
本发明涉及一种身份认证类产品,特别是应用系统的用户动态口令生成方法,它可以防止相应应用系统的用户口令被盗用、被猜测、被截取、被窃听等安全隐患,它至少包括获得3DES算法输入参量,通过3DES算法产生动态口令,其特征是它通过随机的变量作为虚时间因子;通过事件计数器作为同步因子;从每次都在变化的用户个人密钥中得到特征因子,由上述的三个变量因子作参量,调用3DES算法生成动态口令。所述的口令是随事件计数因子变化而变化。所述的三因子存贮在存贮器内。这种动态口令生成方法安全性更高,可靠性更好、使用方便、易于维护。
文档编号H04L9/06GK1731721SQ20041007303
公开日2006年2月8日 申请日期2004年8月22日 优先权日2004年8月22日
发明者王以和, 冯虞, 陈超 申请人:西安海星现代科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1