一种口令认证方法及认证装置的制作方法

文档序号:7974908阅读:240来源:国知局
专利名称:一种口令认证方法及认证装置的制作方法
技术领域
本发明涉及网络信息安全领域,特别是涉及一种口令认证方法及认 证装置。
背景技术
在现在的计算机及网络系统中,经常需要一种安全措施来保护在计算 机或网络上的机密数据不被窃取或篡改,因此产生了加密技术。现有的
加密技术通常分为两大类对称式和非对称式。然而,现在出现了许多 盗取键盘输入、截屏、盗取文件功能的木马程序,这种木马程序多数有 恶意企图,例如盗取QQ帐号、游戏帐号甚至银行帐号,并且一般潜伏在 用户的电脑中,在用户的键盘输入过程中窃取用户的数据信息,给用户 的信息安全造成很大影响。
上述大多数的木马程序都是按照机械的时间排序法来截取密码,也 就是说,按照用户输入密码的时间先后顺序来截取密码。例如,用户先 后输入1、 2两个数字,截取到的密码即为12,但假设正确密码为21, 如果用户输入l,然后再移动到1前面输入2,那么按照输入密码的时间 先后顺序,木马程序截取到的密码为12而不是正确的密码21。
目前一般的防止这种密码截取木马的做法是通过专门的控件来阻 止,这种控件一般又分为2种类型。 一种类型是基于系统hook(钩子)来阻 止密码被截取,在实际中,往往由于windows在执行系统hook的时候没 有先后顺序,所以一旦木马程序也是用系统hook,就有可能截取到密码; 另 一种是用驱动程序来阻止密码被截取,但这种方法有潜在的副作用。 由于驱动程序往往被认为是搡作系统层面的功能,用户不能接受,另外, 一旦在操作系统层面上插入自己的代码,那么在理论上要实现其他作用 也是可行的,这样就容易导致被杀毒软件认为是病毒等恶意软件而清除。 这两种类型的反木马方案都是通过抢占优先级和制高点,使得木马程序 无法执行或者无法得到想要的结果,但是,这种优先级是由系统定义的。 对于第一种基于hook的方案,其成功几率有限,并且现在已经有了破解
方案。对于第二种基于驱动程序的方案,由于其开发成本较高,安装成 本也比较高,暂时不可能大规模推广使用。
现有技术还有 一种由工商银行推出的动态口令卡,它的实现原理是
设计2组口令, 一组是用户自己记住的, 一组是由发给每个用户的一张 不同的字母卡组合出来的,每次登陆的时候提示用户口令在字母卡上的 坐标位置,然后由用户找到后输入。然而这种动态口令卡实施的成本很 高,要给每个用户一张卡,并且用户在每次登陆的时候还要拿出这张卡 来找到对应的地方,用户体验非常差。
总之,在网络信息安全领域,如何提高信息识别的安全性,防止木 马程序的窃取,在不增加成本的基础上方便用户的操作,提高口令认证 的效率,是本领域技术人员迫切需要解决的技术问题。

发明内容
本发明所要解决的技术问题是提供一种口令认证方法,以提高信息 安全领域身份识别的安全性,防止木马程序恶意窃取用户身份信息。
本发明的另一个目的是将上述识别方法应用于实际中,提供一种口 令认证装置,可以使用户不需要通过键盘另外输入或额外购买或携带专 用的终端或设备,即可保证上述认证方法的实现和应用。
为解决上述技术问题,本发明提供了一种口令认证方法,包括
预置口令A,由位于客户端的口令控件按照预置算法生成口令B;
将所述口令A和口令B发送至服务器端;
接收用户名和口令A,所述口令控件根据所述用户名调用所述口令
B;
将所述用户名、口令A和口令B发送至服务器进行验证;
判断数据库中是否存在匹配的用户名、口令A和口令B,如果存在, 则向客户端返回验证通过。
优选的是,所述的方法,还包括
月良务器对所述口令A和口令B进行加密,将所述加密后的口令A和 口令B在数据库中进行匹配;所述数据库中存储的口令A和口令B是经 过加密后的口令A和口令B。
优选的是,所述的方法,还包括
对所述口令B进行加密并保存至所述口令控件中。
优选的是,所迷加密是采用所迷口令控件的私钥进行加密。
优选的是,所述的方法,还包括
采用所述口令控件的公钥对所述加密的口令B进行解密。
本发明还提供了一种口令认证装置,其特征在于,包括
预置单元用于预置口令A,由位于客户端的口令控件按照预置算 法生成口令B;
发送单元用于将所述口令A和口令B发送至服务器端; 调用单元用于接收用户名和口令A,所述口令控件根据所述用户名调用所述口令B;
通讯单元用于将所述用户名、口令A和口令B发送至服务器进行验证;
验证单元用于判断数据库中是否存在匹配的用户名、口令A和口 令B,如果存在,则向客户端返回-验证通过。
优选的是,所述的装置,还包括
服务器加密单元用于通过服务器对所述口令A和口令B进行加密, 将所述加密后的口令A和口令B在数据库中进行匹配;所述数据库中存 储的口令A和口令B是经过加密后的口令A和口令B。
优选的是,所述的装置,还包括
客户端加密单元用于在客户端对所述口令B进行加密并保存至所 述口令控件中。
优选的是,所述加密是采用所述口令控件的私钥进行加密。
优选的是,所述的装置,还包括
客户端解密单元用于对所述加密的口令B采用所述口令控件的公 钥进行解密。
与现有技术相比,本发明具有以下优点
首先,由于本发明的验证方法无需键盘输入,有效地防止了木马程 序恶意窃取的可能性。
其次,本发明通过生成口令B参与认证过程,有效提高了用户密码的安全性,并且口令B是一次生成的,在执行中可以大大提高系统的处
理效率;
再者,本发明通过对口令A和口令B进行加密匹配,进一步保证了 用户数据的安全性;口令B在客户端还进行单独加密,即使恶意软件获 得口令B,也不能通过验证。
最后,用户使用本发明的方法进行认证时,在现有操作的基础上不 需要进行额外操作也无需要额外购买设备,不影响用户体验;本发明还 可以与用户的手机、小灵通等常用通讯设备配合使用,进一步加强了本
发明对于用户数据保护的安全性。


图1是本发明 一种口令认证方法的流程图2是是本发明的方法一种优选的实施方式的流程图3是本发明 一 种实现上述口令方法的口令认证装置的结构框图。
具体实施例方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合
附图和具体实施方式
对本发明作进一步详细的说明。
参加图1,是本发明一种口令认证方法的流程图,包括以下步骤
步骤IOI、预置口令A,由位于客户端的口令控件按照预置算法生成
口令B;
使用本发明初次登录系统时,用户需要在客户端输入用户名,并预 置口令A进行注册。此时,客户端中的口令控件会按照预置算法随机生 成口令B。其中,所述口令控件是浏览器支持的控件类型,例如,Active X控件,并且,所述口令控件配合网站实现相关网页功能。
所述口令B是利用简单的随机数和字母产生,例如,可以采用系统/ 编程语言提供的随机函数生成随机数字的方法生成,具体为
先随才几生成一个8位的数字,比如12345678;
然后再随机生成1-5的随机数字,比如3,表示接下来随机产生几
个字母;
然后才艮据前一个随机数字,分别生成3个1 - 26之间的随机数字,并按照字母顺序替换为对应的字母,比如a、 e、 z;
然后再对每个字母生成一个1 - 8的随机数字,表示该字母插入最开始的8位数字的哪个位置后,比如l, 5, 8;
最后得到一个随机数字和字母串,比如la2345e678z。
当然,采用系统/编程语言提供的随机函数生成随机数字的方法仅仅是本发明采用的 一种方式,本领域技术人员可以采用其他方式生成所述口令B,本发明对此不加以限制。
步骤102、将所述口令A和口令B发送至服务器端。
优选的是,服务器接收到所述口令A和口令B后,对所述口令A和口令B进行合法性判断。
步骤103、接收用户名和口令A,所述口令控件根据所述用户名调用所述口令B。
在这种情况下, 一组用户名和口令A对应于一个口令B,由于所述 口令B是由口令控件生成的,而不是通过用户键盘输入的,因而不可能 被盗取键盘输入的木马程序窃,具有较高的安全性。
步骤104、将所述用户名、口令A和口令B发送至服务器进行验证;
步骤105、判断数据库中是否存在匹配的用户名、口令A和口令B, 如果存在,则向客户端返回验证通过。
特别的是,本发明将所述口令B发送至服务端后,如果服务器确认 所述口令B是合法的,则对所述口令B进行加密,并保存在所述口令控 件中。优选的是,所述加密为采用非对称加密的公钥体系来进行加密。 非对称式加密的加密和解密所使用的不是同一个密钥,通常需要两个密 钥公钥(public key)和私钥(private key )。公钥与私钥是一对,私钥 由加密方保存,公钥向所有用户公开,这种公开公钥的方式解决了密钥 交换过程中的安全问题。如果用私有密钥对数据进行加密,那么只有用 对应的公开密钥才能解密。当加密方使用自己的私钥进行数据加密,相 当于在数据上做数字签名,解密方用公钥解密数据,由于私钥只有加密 方才有,如果解密方能够正常解密,则表明数据一定来自加密方,加密 方不能否认,并且保证了数据并非假冒和没有在传输过程中被修改。这 种方式比对称加密算法的具有更好安全性。
本发明采用公钥和私钥的非对称加密体系,生成一 系列的公钥私钥 对,在所述口令控件中生成一系列的公钥私钥对,优选的是,所述口令
控件用自己的私钥加密口令B,其日的是将所迷口令B保存为本地的一 个文件,当下次机器重启再访问这个口令控件的时候,所述口令控件采 用自己相应的公钥对加密的口令B进行解密,如果能正确解密,则将解 密的口令B发送至服务器,即发送至服务器的是已经解密的口令B。
然后,服务器将用户名、口令A和所述口令B在数据库中进行匹配。 如果数据库中存在匹配的用户名、口令A和口令B,则向客户端返回验 证通过,如果不存在,则向客户端返回—睑证失败。
为进一步保证用户数据的安全性,优选的是,本发明的服务器对所 述口令A和口令B进行加密,并将所述加密后的口令A和口令B在数据 库中进行匹配;在这种情况下,所述数据库中存储的口令A和口令B是 经过加密后的口令A和口令B。其中,进行加密的算法优选为采用MD5 算法,当然,采用现有技术中的其它加密算法也是可行的,本领域技术 人员根据需要选择即可,本发明对此不作限制。
参考图2,是本发明的方法一种优选的实施方式的流程图,包括以下 步骤
一、注册步骤。
步骤201、用户预置口令A,由位于客户端的口令控件按照预置算法 生成口令B。
其中,所述口令控件中设置了私钥和相应的公钥,并且还加载了生 成口令B的预置算法。
生成口令B的方法可以采用上文中用系统/编程语言4是供的随机函数 生成随机数字的方法,也可以采用现有技术中的其它方法。优选的是, 所述口令B为一组大于5字节的随机字符串。
步骤202、将所述口令A和口令B发送至服务器,由服务器确认所 述口令A和口令B的合法性后,对合法的口令A和口令B采用MD5算 法进行加密并保存至数据库中。
对于口令合法性的判断可以采用现有技术的正则式表达或其他方法,本领域技术人员根据需要选择即可,本发明对此不作限制。
步骤203、采用所述口令控件的私钥对合法的口令B进行加密。
二、登录步骤。
步骤204、用户输入用户名及口令A,触发所述口令控件在客户端调 用所述口令B。
步骤205、 口令控件采用步骤201中设置的公钥对所述口令B进行解 密,再将解密后的口令B、以及用户名和口令A发送至服务器进行验证。
步骤206、服务器对所述口令A和口令B采用MD5算法进行加密, 并将用户名、加密后的口令A与口令B在^:据库中匹配。如果该数据库 中存在匹配的用户名、口令A和口令B,则向客户端返回—验正通过,如 果不存在匹配的用户名、口令A和口令B,,则向客户端返回验证失败。
由于本发明在凄t据库中匹配的是加密后的口令A和口令B,从而可 以进一步防止恶意软件地窃取,保证用户数据的安全性。需要注意的是, 服务器进行加密的方法与保存至数据库中进行加密的方法必须一致,即, 如果服务器对所述口令A和口令B采用MD5算法进行加密并保存至数 据库中,那么,在匹配时对所述口令A和口令B进行加密也必须采用 MD5算法。当然,采用现有技术中的其它算法对所述口令A和口令B进 行加密也是可行的,本发明对此不需要对此进行限定。
在实际中,如果用户更换新的口令A,由于前述口令A与口令B的 对应关系,所以本发明的口令控件会按照上述方法重新随机生成 一 个新 的口令B,那么在用户以后的操作中,应用的就是新的口令B。
事实上,本发明真正起加密作用的是口令B,而口令B是不需要通 过键盘输入的,因此可以有效防止木马程序的攻击。并且,在用户体验 上,用户无需执行另外的操作或使用额外的设备,只需要按照现有的操 作即可,因此本发明用户体验好,实现成本低。
再者,即使有其它恶意程序窃取到客户端的控件,但由于控件可以 隐藏自己的检查机制,即使被窃取也不可能窃取到完整的程序文件,从 而导致无法正常运行,也不会使用户受到影响。
参考图3,是本发明一种实现上述口令方法的口令认证装置的结构框图,包括以下单元
预置单元301:用于预置口令A,由位于客户端的口令控件按照预置算法生成口令B;
发送单元302:用于将所述口令A和口令B发送至服务器端;
调用单元303:用亍接收用户名和口令A,所迷口令控件根椐所述用 户名调用所述口令B;
通讯单元304:用于将所述用户名、口令A和口令B发送至服务器 进行验证;
验证单元305:用于判断数据库中是否存在匹配的用户名、口令A 和口令B,如果存在,则向客户端返回验证通过。
优选的是,本发明的装置还包括服务器加密单元305:用于通过服务 器对所述口令A和口令B进行加密,将所述加密后的口令A和口令B在 数据库中进行匹配;所述数据库中存储的口令A和口令B是经过加密后 的口令A和口令B。
优选的是,本发明的装置还包括客户端加密单元306:用于在客户端 对所述口令B进行加密并保存至所述口令控件中。所述加密是采用所述 口令控件的私钥进行加密。
优选的是,本发明的装置还包括客户端解密单元307:用于对所述加 密的口令B采用所述口令控件的公钥进行解密。
由于图3所示的装置可以通过图1和图2所示的步骤完成,相关内 容和详细的实施过程已经在前述部分进行了详细描述,因此,在此就不 再赘述。
本发明的另一个应用方向是与用户的手机、小灵通等通讯设备绑定, 实现口令提取功能。例如,如果用户更换机器或用户更新口令A,导致 口令B变更,本发明的装置还可以通过相关页面提示用户"缺少口令B", 并提供给用户"申请提取口令"的功能。具体为
用户输入用户名及口令A请求提取口令,并将所述用户名及口令A 发送至服务器进行验证;
如果所述用户名和口令A与数据库中的数据匹配,则生成一个一次 性提取口令给该用户注册的通讯设备;
用户在相关页面输入该一次性提取口令后,口令控件连接服务器提 取口令B并存储到所述口令控件中,即在客户端重新存储了原口令B。
本发明在实际应用中通过与用户的手机、小灵通等常用通讯设备配 合使用,进一步加强了本发明对于用户数据保护的安全性。
以上对本发明所提供的 一种口令认证方法及口令认证装置进行了详 细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,
以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时, 对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应 用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发 明的限制。
权利要求
1、一种口令认证方法,其特征在于,包括预置口令A,由位于客户端的口令控件按照预置算法生成口令B;将所述口令A和口令B发送至服务器端;接收用户名和口令A,所述口令控件根据所述用户名调用所述口令B;将所述用户名、口令A和口令B发送至服务器进行验证;判断数据库中是否存在匹配的用户名、口令A和口令B,如果存在,则向客户端返回验证通过。
2、 如权利要求l所述的方法,其特征在于,还包括 服务器对所述口令A和口令B进行加密,将所述加密后的口令A和口令B在数据库中进行匹配;所述数据库中存储的口令A和口令B是经 过加密后的口令A和口令B。
3、 如权利要求1或2所述的方法,其特征在于,还包括 对所述口令B进行加密并保存至所述口令控件中。
4、 如权利要求3所述的方法,其特征在于,所述加密是采用所述口 令控件的私钥进行加密。
5、 如权利要求4所述的方法,其特征在于,还包括 采用所述口令控件的公钥对所述加密的口令B进行解密。
6、 一种口令认证装置,其特征在于,包括预置单元用于预置口令A,由位于客户端的口令控件按照预置算 法生成口令B;发送单元用于将所述口令A和口令B发送至服务器端; 调用单元用于接收用户名和口令A,所述口令控件根据所述用户名调用所述口令B;通讯单元用于将所述用户名、口令A和口令B发送至服务器进行验证;验证单元用于判断数据库中是否存在匹配的用卢名、口令A和口 令B,如果存在,则向客户端返回验证通过。
7、 如权利要求6所述的装置,其特征在于,还包括 服务器加密单元用于通过服务器对所述口令A和口令B进行加密,将所述加密后的口令A和口令B在数据库中进行匹配;所迷数椐库中存储的口令A和口令B是经过加密后的口令A和口令B。
8、 如权利要求6或7所述的装置,其特征在于,还包括 客户端加密单元用于在客户端对所述口令B进行加密并保存至所述口令控件中。
9、 如权利要求8所述的装置,其特征在于,所述加密是采用所述口 令控件的私钥进行加密。
10、 如权利要求9所述的装置,其特征在于,还包括 客户端解密单元用于对所述加密的口令B采用所述口令控件的公钥进行解密。
全文摘要
本发明公开了一种口令认证方法,其特征在于,包括预置口令A和口令B,所述口令B由位于客户端的口令控件在用户注册时随机生成并发送至服务器端;接收用户名和口令A,所述口令控件根据所述用户名调用所述口令B;将所述用户名、口令A和口令B发送至服务器进行验证;判断数据库中是否存在匹配的用户名、口令A和口令B,如果存在,则向客户端返回验证通过。本发明的验证方法无需键盘输入,有效地防止了木马程序恶意窃取的可能性,有效提高了用户密码的安全性,并且大大提高系统的处理效率;本发明还不需要特殊的输入方式,在一般况下也不需要携带额外的硬件设备,技术实现简单,无技术障碍,无特殊保密算法,成本和风险较低。
文档编号H04L9/00GK101202619SQ20061016803
公开日2008年6月18日 申请日期2006年12月15日 优先权日2006年12月15日
发明者沈少峰 申请人:阿里巴巴公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1