用于密码认证的装置和方法

文档序号:9524435阅读:663来源:国知局
用于密码认证的装置和方法
【技术领域】
[0001] 本公开总体上设及计算机系统,具体设及运些系统中的密码处理。
【背景技术】
[0002] 本节旨在向读者介绍技术的各个方面,其可能设及下文描述和/或请求保护的本 公开的各个方面。相信运部分讨论能够为读者提供有助于更好理解本公开的各个方面的背 景信息。因此,应当理解,运些陈述应从运一角度理解,而非承认其为现有技术。
[0003] 密码在如今的计算机系统中随处可见,例如,用于认证用户登录。在其一般性的定 义中,密码由具有预定字母的连续符号("字符")构成(例如,PIN码具有四个数值)。一 般来说,密码越长也就越强,尤其是当密码是大小写字母、数字及特殊字符(例如,&、"、#) 的混合时。然而,越复杂的密码一般也越难W正确敲入,尤其是当所输入的字符不在屏幕上 显示时。此外,由于用户可能必须在一天内输入密码很多次,密码往往都是快速敲入的。那 么,输入密码可能包括打字错误就不奇怪了。此外,基于触摸屏的设备(例如智能电话和平 板计算机)使用虚拟键盘来输入包括密码在内的一些文本。在运种输入方式中,打字错误 可能更为常见。
[0004] 现有技术包括很多种提供对抗(resistant)打字错误的密码的方案。 阳0化]密码变化器(PasswordVariator)工具建立包括密码所有可能变化的文件,模 拟Ξ种打字错误,例如遗漏字符、重复字符、多余字符、错误顺序和错误大小写。Amlrew Mehler和StevenSkiena提供了一种不同的方案,通过密码校正散列来改进可用性 (ImprovingUs油ilityT虹OU曲Password-Corrective化shing)。他们的方案在散列前 处理密码,例如,按照字母表顺序将输入密码排序W校正移位,从而轻度拼写错误的密码可 能与正确密码具有相同的散列值。可W清楚看出,运种"可接受"密码的倍增将大大降低密 码的强度,因为很多不同的密码的散列值相同,其中包括了区别远不止一两个拼写错误的 密码。
[0006] US7373516和JP2005-208763中的方案将输入密码与"密码空间"中的存储的密 码(即,明文)相比较,W确定前者是否与后者相似。然而,由于运些方案要求密码的纯文 本比较,它们无法在现实系统中使用,在现实系统中因显而易见的安全原因一般不接受W 明文存储密码。一般地,处理认证的服务器存储密码的散列版本,将其与用户敲入的密码条 目的散列版本进行比较。运样的话盗取密码文件意义不大。
[0007] JP2007-114976公开了一种具有W下功能的设备(例如PC等),记录输入打字错 误密码的次数,并且当次数足够大时(例如十次),保存打字错误密码作为可接受密码。本 领域技术人员能够理解,由于对打字错误密码的增加没有加W任何控制,运个方案是不安 全的;当错误密码被输入十次时,其被存储为可接受密码,运意味着黑客只要将密码输入十 次就能使其被接受。
[0008] 因此,可W理解,需要一种使认证系统能够允许打字错误密码且没有现有技术缺 陷的方案。本公开提供了一种运样的方案。

【发明内容】

[0009] 在第一方面中,发明原理设及用于处理密码条目的装置,所述装置包括:接口,被 配置为接收包括字符串的密码条目;W及,处理器,被配置为,根据所述密码条目生成多个 子条目,其中每个子条目等于所述字符串减去k个字符的不同组合,其中k为整数,W及分 别对每个子条目使用函数,生成密码校验符。
[0010] 在第一实施例中,所述函数是单向散列函数或者加密函数。
[0011] 在第二实施例中,所述处理器还被配置为:填充所述密码条目,W获得长度为L的 经填充的密码条目,其中L为整数;W及,根据所述经填充的密码条目生成所述多个子条 目。
[0012] 在第Ξ实施例中,所述装置是用户设备并且所述接口是用户接口,并且其中所述 用户设备还包括被配置为向认证装置输出所述密码检验符的通信接口。
[0013] 在第二方面中,本发明原理设及一种用于处理密码条目的方法,包括:通过接口, 接收包括字符串的密码条目;通过处理器,从所述密码条目生成多个子条目,其中每个子条 目等于所述字符串减去k个字符的不同组合,k为整数;W及,通过处理器,分别对每个子条 目使用函数,生成密码校验符
[0014] 在第Ξ方面中,发明原理设及一种认证用户输入的密码条目的装置,所述装置包 括:存储器,被配置为存储用户的Μ个密码校验符,Μ为整数;W及处理器,被配置为,获得表 示所述密码条目的Ν个获得的密码校验符,其中Ν为整数,将所获得的密码校验符的每一个 与所存密码校验符进行比较,W及当确定至少一个所获得的密码校验符与所存密码校验符 相匹配时,认证所述密码条目。
[0015] 在第一实施例中,所述装置还包括:接口,被配置为从用户设备接收所获得的密码 校验符并向所述处理器发送所获得的密码校验符。
[0016] 在第二实施例中,所述装置还包括:接口,被配置为从用户设备接收所述密码条目 并向所述处理器发送所述密码条目,其中所述处理器还被配置为使用函数生成所存密码校 验符。
[0017] 在第Ξ实施例中,所存密码校验符和所获得的密码校验符是有序排列的,并且其 中所述处理器被配置为将每个获得密码校验符只和相同位序的所存密码校验符进行比较。
[0018] 在第四方面中,发明原理设及一种认证用户输入的密码条目的方法,包括:通过处 理器,获得表示所述密码条目的Ν个获得的密码校验符;通过处理器,将所获得的密码校验 符与Μ个所存密码校验符进行比较;W及当确定至少一个所述获得密码校验符与存储密码 校验符相匹配时,通过处理器认证所述密码条目。
【附图说明】
[0019] 现将参考附图通过非限制性示例描述本公开的优选特征,其中
[0020] 图1示出了可实现本公开的示例性系统;W及
[0021] 图2示出了一种本公开的密码认证的示例性方法。
【具体实施方式】
[0022] 图1示出了可实现本公开的示例性系统。系统包括计算设备("计算机")110和 认证服务器120。计算机110和认证服务器(W下称为"服务器")120可W是能够执行计 算的任何一种合适的计算机或设备,例如标准个人计算机(PC)或工作站。计算机110和服 务器120每一个都优选包括至少一个处理器111/121,用于存储密码校验符的内部或外部 RAM存储器112/122,与用户交互的用户接口 113,W及通过连接130与其他设备交互的第 二接口 114/124。计算机110和服务器120每一个还优选包括用于从非瞬态数字数据支持 140/150读取软件程序的接口,非瞬态数字数据支持140/150包括指令,当所述指令被执行 时实现下文描述的任何一种密码方法。本领域技术人员可W理解,为简洁目的,所示设备被 高度简化,真实设备还将包括诸如永久存储器之类的特征。本领域技术人员可W理解,如果 密码仅仅提供对计算机自身的访问,本发明还可W只实现在计算机110上,该情况下,服务 器120实现在计算机中。
[0023] 图2示出了本公开的密码认证的第一示例性方法。假设用户已具有用户名和参照 密码。需要注意的是,在用户名是隐含的情形,诸如只有一个用户时(例如在智能电话或平 板电脑的情形中),用户名是不必要的。还假设存储用户名(如果需要的话)和多个密码校 验符,所述密码校验符是通过"对抗(resistance)"函数从参照密码生成的。优选地,对抗 函数的逆在计算上是困难的,换句话说,给出值X和对抗函数f(),计算f(x)是容易的,但是 给出y=f(x),则难W计算求出值X或者产生相同结果的不同值。当服务器120能够从参 照密码生成多个密码校验符时,优选地,用户设备110 (或者用户输入创建新密码的另一个 设备)生成密码校验符并将其发送给服务器120供存储(优选地,经认证)。
[0024] 多个密码校验符旨在:一旦参照密码已经创建,使系统对用户输入密码时的错误 具有抵抗力。其可通过不同方式生成,如下所述:
[00巧]?填充:在进一步处理前,对抗函数可将参照密码填充至一定长度。
[00%] ?可接受打字错误的最大数目:对抗函数可生成旨在接受输入密码中的多达1、2、 3......个打字错误的密码校验符。
[0027] ?子函数:可W使用不同的子函数,例如,填充或去填充的散列函数(SHA-1、 SHA-3、MD5等)或加密函数巧SA、楠圆曲线密码)。
[0028] W下说明性示例使用等于TECHNICOLOR的填充至12个字符的参照密码,最多接受 1个打字错误,W及表示为hO的散列函数。
[0029] 对抗函数首先通过添加一些字符(例如星号:TECHNICOLOR*)将参照密码填充至 12个字符。
[0030] 为接受最多1个打字错误,运时对抗函数生成12个(等于填充长度的值)子密码, 其中每个子密码省略填充后的参照密码中的一个字符:
[0031] ECHNICOLOR*
[0032] TCHNICOLOR*
[0033] TEHNICOLOR水
[0034] TECNICOLOR水
[00
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1