著录项信息
专利名称 | 一种密码分割式动态验证方法 |
申请号 | CN200910041096.5 | 申请日期 | 2009-07-13 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2009-12-16 | 公开/公告号 | CN101604366 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/30 | IPC分类号 | G;0;6;F;2;1;/;3;0;;;H;0;4;L;9;/;3;2;;;H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 中山爱科数字科技有限公司 | 申请人地址 | 广东省中山市三角镇三鑫路92号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中山爱科数字科技股份有限公司 | 当前权利人 | 中山爱科数字科技股份有限公司 |
发明人 | 余元龙;罗笑南;卢林发;叶灿才 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明涉及一种密码验证技术,特别是一种密码分割式动态验证方法和系统,其特征在于,该方法包括步骤:A.用户将已有密码分割为两组子密码,即第一子密码和第二子密码;B.用户于操作界面输入第一子密码或第二子密码并传送至系统接受验证;C.系统根据子密码对密码进行局部验证,如通过,则产生一随机密码组并发送至操作界面显示;D.用户根据操作界面的提示将随机密码组和剩余的另一子密码进行组合,并于操作界面输入组合后的密码并发送至系统接受验证;E.系统将从收到的组合密码中提取待验证的另一子密码并进行验证;通过则验证成功。本发明可以在用户输入密码的初始阶段就对密码进行保护,同时不改变用户原有的密码长度和内容,具有使用方便,安全性高等特点。
1.一种密码分割式动态验证方法,其特征在于,该方法包括步骤:
A.用户将已有密码分割为两组子密码,即第一子密码和第二子密码;
B.用户于操作界面输入第一子密码或第二子密码并传送至系统接受验证;
C.系统根据已输入的第一子密码或第二子密码对密码进行局部验证,如通过,则产生一随机密码组并发送至操作界面显示;
D.用户根据操作界面的提示将随机密码组和剩余的另一子密码进行组合,并于操作界面输入组合后的密码并发送至系统接受验证;
E.系统将从收到的组合密码中提取待验证的另一子密码并进行验证;通过则验证成功。
2.如权利要求1所述的密码验证方法,其特征在于:步骤E处验证不通过则提示输入错误,系统重新产生一随机密码组并发送至操作界面显示,并转到步骤D。
3.如权利要求1所述的密码验证方法,其特征在于:步骤C处验证不通过则提示输入错误并返回操作界面,用户重新输入子密码。
4.如权利要求1所述的密码验证方法,其特征在于:该方法还包括一安全审计策略,当步骤C或E处的输入错误次数达到设定值,系统自动对该用户的后续验证进行停止/锁定动作。
5.如权利要求1至4任一所述的密码验证方法,其特征在于:步骤A处的密码分割方法包括按顺序分割、等间隔分割和中间块抽取分割。
6.如权利要求1至4任一所述的密码验证方法,其特征在于:步骤D处所述的密码组合方法包括子密码整体安插于随机密码组中的任一位置、子密码按顺序分散安插于随机密码组内。
7.如权利要求5所述的密码验证方法,其特征在于:步骤D处所述的密码组合方法包括子密码整体安插于随机密码组中的任一位置、子密码按顺序分散安插于随机密码组内。
8.如权利要求7所述的密码验证方法,其特征在于:第一子密码和第二子密码为具有两位或以上的密码。
9.如权利要求8所述的密码验证方法,其特征在于:步骤C所述的随机密码组的位数为一随机数。
一种密码分割式动态验证方法\n技术领域:\n[0001] 本发明涉及密码验证验证技术,特别是一种对已有密码进行分段、动态验证的方法和系统。 \n背景技术\n[0002] 目前,用户在各种各样系统上面进行登陆、支付、修改等操作往往需要先进行密码验证。密码本身可能就是一串数字,但是却往往与各种形式的财富、资料、信息、资源等联系在一起,所以一旦密码被盗取,用户将造成或多或少的损失。 \n[0003] 随着计算机技术和通讯技术的发展,人们研究出了各种各样的保证密码安全的方法。例如利用各种各样的加密方式和算法来实现密码传送过程中的安全性保证;利用通过增加密码长度或类型来降低被破解释的风险;通过各种密码装置辅助来产生一次性密码;\n通过多次验证来确保用户的真实性;通过各种密码的交换策略来提高密码的安全性等。 [0004] 随着计算机技术的发展,各种木马病毒也应运而生。其中有一种木马它可以通过程序来实现对键盘等的操作进行监控,所以不管人们或系统对密码最后进行怎样的加密,也只是无济于事,因为如果原始密码已经被盗取,即使对密码采用了非常复杂的算法对密码进行千奇百怪的加密,或者大幅提高密码的位数等,别人一样可以通过盗得的原始密码获得各种权限。另外,日常生活中,人们在一些自动取款机进行操作时候,一些心存不轨的人通过远程监视并通过人们的操作手势及位置判断出其对应密码来,所以要切实保证密码的安全,一种良好的密码安全方案应该从输入密码的时刻起就发挥作用。现实中,由于忽 视了对用户进行密码输入阶段的密码保护,所以很多保证密码安全的方法也失去了保证密码安全的功能。 \n发明内容\n[0005] 本发明公开一种密码分割式动态验证方法和系统,通过该方法或系统,可以有效的解决键盘操作被监控、输入操作被监视等造成密码被盗问题。本发明的实施,一方面可以不改变用户已有密码的长度和内容,不增加人们记忆密码的难度,另一方面也适合与各种复杂的加密方法配合,真正发挥保护密码输入、传输、验证等过程的安全。 \n[0006] 本发明通过如下方案实现: \n[0007] 一种密码分割式动态验证方法,其特征在于,该方法包括: \n[0008] A.用户将已有密码分割为两组子密码,即第一子密码和第二子密码; [0009] B.用户于操作界面输入第一子密码或第二子密码并传送至系统接受验证; [0010] C.系统根据子密码对密码进行局部验证,如通过,则产生一随机密码组并发送至操作界面显示; \n[0011] D.用户根据操作界面的提示将随机密码组和剩余的另一子密码进行组合,并于操作界面输入组合后的密码并发送至系统接受验证; \n[0012] E.系统将从收到的组合密码中提取待验证的另一子密码并进行验证;通过则验证成功。 \n[0013] 作为补充,该方法还可以包括:步骤E处验证如果不通过则提示输入错误,系统重新产生一随机密码组并发送至操作界面显示,并转到步骤D; \n[0014] 步骤C处验证不通过则提示输入错误并返回操作界面,用户重新输入子密码; [0015] 一安全审计策略,当步骤C或E处的输入错误次数达到设定值,系统自动对该用户的后续验证进行停止/锁定动作。 \n[0016] 作为优化,上所述的步骤A处的密码分割方法包括按顺序分割、等间隔分割和中间块抽取分割; \n[0017] 步骤D处所述的密码组合方法包括子密码整体安插于随机密码组中的任一位置、子密码按顺序分散安插于随机密码组内。 \n[0018] 为了保证对子密码的验证质量,上所述的第一子密码和第二子密码为具有两位或以上的密码。 \n[0019] 进一步,步骤C所述的随机密码组的位数为一随机数,即随机密码组为不固定。 [0020] 一种采用密码分割式动态验证的登陆或支付系统,其包括一登陆/支付界面、一密码验证平台,特征在于:该系统登陆/支付时采用的密码验证方法为上所述的密码分割式动态验证方法。 \n[0021] 本发明对比于已有的密码验证方法,其突出的有益效果包括: \n[0022] 1.保留了用户原有密码的长度和内容,不额外增加方便了用户记忆难度,同时使用方便; \n[0023] 2.有效的解决了用户因输入密码时候被木马自动监控或人为监视等造成的密码被盗问题,从密码使用阶段就进行保护; \n[0024] 3.通过引进系统产生的随机密码组,并且该密码组的长短也是随机的,实现动态密码保护; \n[0025] 4.原有密码具有多种分割方案、子密码和随机密码组的组合也存在多种方案、具有一对输入错误次数进行计算的安全审计功能,即使子密码均被盗去,盗取者也无法在有限的次数内对原始密码进行还原。 \n具体实施方式\n[0026] 实施例一 \n[0027] 一种密码分割式动态验证方法,为一种用户根据服务方提供的或自行注册的密码于操作界面输入该密码并接受系统/服务方验证的方法。 \n[0028] 参考图1所示,为本密码验证方法中的一个验证流程。通过该流程,可以清晰的再现本发明方案的核心内容; \n[0029] 首先如图1的101所示,用户先将已经有的密码分割成两组子密码,即第一子密码和第二子密码;分割的方法可以包括按顺序分割、等间隔分割和中间块抽取分割等方法。 [0030] 例如,设用户已有的密码为六位的密码(X1 X2 X3 X4 X5 X6),其中X1、X2、X3、X4、X5、X6可以为数字、字母、标点符号甚至汉字等。第一子密码和第二子密码可根据不同的分割方法可以具有如下分割方案: \n[0031] 1.按顺序分割,即将密码按顺序分割成两分块,两分块的各密码位保留原有的相邻关系。即第一子密码和第二子密码分别对应为: \n[0032] \n第一子密码 第二子密码\nX1 X2 X3 X4 X5 X6\nX3 X4 X5 X6 X1 X2\nX1 X2 X3 X4 X5 X6\nX4 X5 X6 X1 X2 X3\nX1 X2 X3 X4 X5 X6\nX5 X6 X1 X2 X3 X4\n[0033] 2.等间隔分割,即从原密码中提取相隔一定间隔的密码元重新组合成子密码。即第一子密码和第二子密码分别对应为: \n[0034] \n 第一子密码 第二子密码\n X1 X3 X5 X2 X4 X6\n X2 X4 X6 X1 X3 X5\n[0035] [0035] 3.中间块抽取分割,即从原密码中提取相邻的若干位密码作为一子密码,剩余的为另一密码。即第一子密码和第二子密码分别对应为:\n[0036] \n 第一子密码 第二子密码\n X2 X3 X1 X4 X5 X6\n X1 X4 X5 X6 X2 X3\n X3 X4 X1 X2 X5 X6\n X1 X2 X5 X6 X3 X4\n X4 X5 X1 X2 X3 X6\n X1 X2 X3 X6 X4 X5\n X2 X3 X4 X1 X5 X6\n X1 X5 X6 X2 X3 X4\n X3 X4 X5 X1 X2 X6\n X1 X2 X6 X3 X4 X5\n[0037] 通过对比,可以知道,中间块抽取分割方法的组合形式更复杂,密码最后被盗取的风险也就越更低。 \n[0038] 如果为了使密码防盗功能达到最优,那验证系统可以对上述的任一分割方法都给予验证支持,这样即使两个子密码被盗,那成功将其组合成原密码的机率也降到最低。 [0039] 但是,如果出于用户使用的方便性考虑,可以仅通过第一种方法进行密码分割操作,即按顺序分割;这样操作的时候,操作界面再加以“请输入密码的前三位......”等提示,用户则能迅速明白其中的分割方法,并进行下一步操作。 \n[0040] 目前,银行的系统一般采用的是六位数字的密码验证方法。为了使用户知道如何对密码进行分割,如果本发明的方法应用于银行的取款机,则取款机操作界面可以作出相应的提示如“请按顺序输入原密码的前两位数字......”、“请按顺序输入原密码的前三位数字......”、“请按顺序输入原密码的任意三位数字......”等。 \n[0041] 目前,为了降低密码被盗取的风险,很多网上登陆系统都采用了六位以上的密码例如八位、十位等,而且密码可以由数字、字母、标点符号甚至汉字等 组成。所以对这些密码进行分割时候,其方案也就更多,第一子密码和第二子密码的组合形式也就越复杂,密码被盗取的风险就越低。 \n[0042] 为了保证对系统子密码的验证质量,即第一子密码和第二子密码应为具有两位或以上的密码。即假如已有的密码为六位密码(X1 X2 X3 X4 X5 X6)并且X1、X2、X3、X4、X5、X6均为数字。那么,按按顺序分割法分割,方案可以包括“2+4”、“3+3”(即X1 X2和X3 X4 X5 X6、X1 X2 X3和X4 X5 X6);如果是八位密码,则可以包括“2+6”、“3+5”、“4+4”(即X1 X2和X3 X4 X5 X6 X7 X8、X1 X2 X3和X4 X5 X6 X7 X8、X1 X2 X3 X4和X5 X6 X7 X8)。对于六位和八位密码,可以分别选择“3+3”、“3+5”为优选方案。如图1的102处输入的子密码为1位、则被猜对的几率为十分之一;如果是2位,则被猜对的几率为百分之一;如果是3位,则被猜对的几率为千分之一。所以为了保证图1的103处的验证质量,102处输入的子密码为2位或2位以上,即第一子密码和第二子密码为具有两位或以上的密码。 \n[0043] 如图1的102所示,用户自行将密码进行分割或者在操作界面的提示下进行分割后,于操作界面的密码输入框位置输入第一子密码或者第二子密码。其中输入第一子密码或者第二子密码的原理相同,为了描述方便,假设本处输入的为第一子密码,并且采用的是第一种分割方法。则用户输入第一子密码后,密码被传送至系统接受验证。密码被传送过程中还具有编码、加密、添加源地址和目的地址等过程,这些过程由于非本发明的重点,而且本领域的人均能容易的理解和实现所以不做详细描述。另外对子密码进行验证的系统可以为本地的验证平台(例如,如果是银行的取款机则指其系统软件后台)或者远程的验证系统(例如网络上的某个服务器件及配套的服务系统)。 \n[0044] 如图1的103和104所示,系统对用户输入的第一子密码(即102处输入 的密码)进行验证。如果符合条件则验证通过并转到108,否则转到105;所述的验证,是指系统最终获得的第一子密码与预存于系统的原密码进行对比,如果对比后判定第一子密码为原密码的分割出来的局部密码,那验证通过。即,假如原密码为(X1 X2 X3 X4 X5 X6),按照第一种分割方法,当输入的第一子密码为ABK,而(A=X1、B=X2、K=X3)或者(A=X4、B=X5、K=X6)时验证通过,否则不通过;又如,如果按照第二种分割方法进行分割,那么当输入的第一子密码为ABK,当为(A=X1、B=X3、K=X5)或者(A=X2、B=X4、K=X6)时候,验证通过,否则不通过。 \n[0045] 为了兼容各种密码分割方法(即不管怎么分割),则其通过验证的条件为可以定义为:只要输入的第一子密码的各组成密码位能分别在原密码找到与其对应的组成密码位并且各组成密码位的相对先后顺序与原来密码保持一致则通过验证。用程序实现时,可以通过两个循环语句(即两级循环)分别对子密码进行逐位读取,并与原保存的密码逐位对比实现。 \n[0046] 如图1的105所示,如果第一子密码验证不通过,则系统于操作界面提示输入错误,并记录输入错误的次数或该输入错误的次数加1并转向106处; \n[0047] 如图1的106所示,判断经105处后的输入错误次数是否达到设定值(可以根据实际需要设置,一般可设为3),如果是则停止/锁定该用户后续的密码验证操作,以防止密码被破解;输入错误次数没有达到设定值,则返回102处,用户重新输入第一子密码; [0048] 如图1的108所示,系统对第一子密码验证通过,则自动产生一随机密码数组,随机密码数组于系统存储后发送至操作界面显示。不同的系统,随机密码数组可以包括不同的组成元素,例如数字、字母、符号、标点甚至汉字等。随机密码数组的位数为随机数,即随机密码数组的长度不确定。理论上随机密 码数组及其位数的随机程度越高,密码的安全性也就越好,但实际使用可以对随机密码组的长度设一上限。 \n[0049] 如图1的109所示,用户根据操作界面的提示,将随机密码数组和剩余的另一子密码(即第二子密码)进行组合。随机密码数组与第二子密码组合的方式包括子密码整体安插于随机密码组中的任一位置、子密码按顺序分散安插于随机密码组内等。例如,假设原密码为(X1 X2 X3 X4 X5 X6),用户输入第一子密码(X1 X2 X3)已经通过系统验证,假设系统自动返回的随机密码组为六位的随机数(Y1 Y2 Y3 Y4 Y5 Y6),那么随机密码数组与第二子密码(X4 X5 X6)组合的形式可以为: \n[0050] 方法一.子密码整体安插于随机密码组中的任一位置; \n[0051] \nY1 X4 X5 X6 Y2 Y3 Y4 Y5 Y6\nY1 Y2 X4 X5 X6 Y3 Y4 Y5 Y6\nY1 Y2 Y3 X4 X5 X6 Y4 Y5 Y6\nY1 Y2 Y3 Y4 X4 X5 X6 Y5 Y6\nY1 Y2 Y3 Y4 Y5 X4 X5 X6 Y6\n[0052] 方法二.子密码按顺序分散安插于随机密码组内; \n[0053] \nY1 X4 Y2 X5 Y3 X6 Y4 Y5 Y6\nY1 Y2 X4 Y3 X5 Y4 X6 Y5 Y6\nY1 Y2 Y3 X4 Y4 X5 Y5 X6 Y6\nY1 Y2 Y3 Y4 X4 Y5 X5 Y6 X6\nY1 Y2 Y3 Y4 X4 Y5 X5 Y6 X6\nY1 X4 Y2 Y3 X5 Y4 X6 Y5 Y6\nY1 X4 Y2 Y3 X5 Y4 Y5 X6 Y6\n......\n[0054] 方法三.其它组合方式; \n[0055] 在系统的实际使用过程中,用户一般比较难理解如何进行随机密码数组与第二子密码的组合,所以操作界面可以做一些提示,例如:将随机密码组分两部分显示(假设为A部和B部,其中A部的位数为随机数,即A部的长度不固定),则可以提示用户按顺序输入“A+剩余密码+B”;又如,可以将随机密码 数组整体显示,需要填充第二子密码的位置留下空位,则提示用户按顺序输入看到的随机密码数组并在空余位置填入剩余的密码即可;这样可以使用户根据系统的提示进行组合,既方便用户操作,也方便系统对第二子密码的提取。 \n[0056] 如图1的110所示,用户按顺序于操作界面输入组合后的密码。 \n[0057] 如图1的111所示,系统收到组合后的密码,并从该组合后的密码中提取出剩余的另一子密码,即第二子密码。提取的方法,根据组合方式的不同,流程也不相同。例如,如果操作界面是以“A+剩余密码+B”的方式提示用户输入组合密码的,那提取第二子密码的方法比较简单,即只需将收到的组合密码与存储的随机密码组比较,组合密码中将A部和B部分离即可得到第二子密码;如果是其它组合方式,则可以用通用的提取方法,即逐位读取组合密码,并判断与随机密码组上是否相同,提取与随机密码组相同的组成,剩余的组成按原相对的先后顺序重新组合即可获得。 \n[0058] 如图1的112所示,系统对提取出来的第二子密码进行验证。验证方法为将第二子密码与已有的密码进行对比,如果可以判断第二子密码为已有密码的局部,则验证成功(即113处)。验证的原理与方法与103和104处相同。 \n[0059] 如图1的114和115处所示,如果112处的验证没有通过则对输入错误次数进行记录和计算输入错误次数,并判断输入错误次数是否达到设定值(可以根据实际需要设置,一般设为3次),如果达到设定值则停止/锁定该用户后续的密码验证操作(即116),以防止密码被破解;否则转到108,系统重新产生一随机密码组并显示于操作界面,然后重复\n109,110,111等的操作。 \n[0060] 实施例二 \n[0061] 一种采用密码分割式动态验证的登陆或支付系统,该系统由硬件支持和软件支持两大部分组成。其中,系统应该具有一登陆/支付界面和一操作面板,其 作用是方便用户进行密码输入操作;一密码验证平台,其作用是对用户的密码进行验证。 \n[0062] 系统可以是银行的支付系统如ATM自动取款机等,也可以是网上银行支付系统、网上登陆系统等。 \n[0063] 一种采用密码分割式动态验证的登陆或支付系统,它特征在于:该系统登陆/支付时采用的密码验证方法为实施例一所述的密码验证方法。 \n[0064] 下面以一网上银行支付系统为例对如何实现密码验证做进一步描述: [0065] 假设用户已经在网上银行支付系统注册了一用户名和支付密码,该密码为八位密码,记为(X1 X2 X3 X4 X5 X6 X7 X8),则其密码验证可以根据实施例一的发明核心采用如下方案实现: \n[0066] 1.用户根据界面提示(如图2所示)输入支付密码的前三位,即X1 X2 X3; [0067] 2.系统将用户输入的前三位密码与原有密码的前三位对比并判断是否一致。如果一致则产生一随机密码数组并显示于操作界面,假设随机密码数组为“87487654654”,并分两部分显示;界面提示用户输入随机密码数组和剩余的五位密码,(如图3所示);否则判断输入错误次数是否达到设定次数,未达则提示输入错误,并显示如图4的操作界面,用户重新输入支付密码的前三位,如果达到设定次数则显示图5所示界面,并停止该用户的后续的验证; \n[0068] 3.用户根据如图3所示的界面提示进行按顺序输入随机密码组和剩余的五位密码; \n[0069] 4.系统将用户输入的组合密码与存储的随机密码组进行比较提取出剩余的五位子密码,并将该五位子密码与原始密码进行对比判断其是否为原始密码分割出来的局部。如果是则验证成功,交易结束或进行后续的其它 操作;否则提示输入密码错误,并判断输入错误次数是否达到设定次数,达到设定次数则显示图5所示界面,并停止该用户的后续的验证,如果未达则显示如图6的操作界面,即系统自动产生另一随机密码组(如“6896685248”,并分两部分显示,即“689668”和“5248”),并发送至界面显示,提示用户重新输入密码;用户按提示重新输入密码; \n[0070] 上所述的操作界面和实现方式只是一简单模式,实际可以根据实施例一的说明进行增加内容、改变原始密码的分割方式、改变随机密码组与剩余密码的组合方式、改变界面的提示内容和风格、改变子密码的提取方式和验证流程,在不脱离本发明方法实现的核心内容则应视为于本发明的保护范围内。 \n[0071] 另外,本系统还可以具有一通过读取用户预先于该系统注册的联系方式(如手机号码、邮件、电话号码等)并通过短信、邮件、语音等方式通知该用户密码验证错误次数已经达到设定值,并通知注册用户进行解锁及修改密码等操作,这样可以进一步保证密码被盗取的风险。
法律信息
- 2019-07-05
未缴年费专利权终止
IPC(主分类): G06F 21/30
专利号: ZL 200910041096.5
申请日: 2009.07.13
授权公告日: 2013.03.06
- 2013-03-06
- 2012-06-20
著录事项变更
著录事项变更 IPC(主分类):G06F21/00 变更事项:申请人 变更前:中山爱科数字科技有限公司 变更后:中山爱科数字科技股份有限公司 变更事项:地址 变更前:528400 广东省中山市三角镇三鑫路92号 变更后:528400 广东省中山市三角镇三鑫路92号
- 2010-02-10
- 2009-12-16
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-10-18
|
2005-04-15
| | |
2
| |
2009-04-22
|
2007-10-17
| | |
3
| |
2008-10-22
|
2008-04-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |