《用于管理密码的装置和方法.pdf》由会员分享,可在线阅读,更多相关《用于管理密码的装置和方法.pdf(12页完整版)》请在专利查询网上搜索。
1、10申请公布号CN104113413A43申请公布日20141022CN104113413A21申请号201410154769922申请日2014041713305520220130419EPH04L9/32200601G06F21/3120130171申请人汤姆逊许可公司地址法国伊西莱穆利诺72发明人马克埃鲁阿德维斯马特兹74专利代理机构中科专利商标代理有限责任公司11021代理人戎志敏54发明名称用于管理密码的装置和方法57摘要一种用于管理用户的密码的方法。存储至少一个已接收的不正确密码提交的装置110的处理器111经由用户接口113从用户接收S10另一密码提交;生成S11针对所述另一密码。
2、提交的散列值;向认证服务器120发送所述散列值;从所述认证服务器120接收指示所述散列值是与正确密码还是与不正确密码相对应的消息。如果所述消息指示所述散列值与正确密码相对应,则所述处理器对每一个不正确密码提交使用S13距离函数以获得表示不正确密码提交与正确密码之间的距离的距离值;并且向所述认证服务器120发送距离值小于或等于阈值的密码提交的散列值。还提供了装置110和计算机程序支持140。本公开可以提供对密码提交的键入错误的对抗。30优先权数据51INTCL权利要求书2页说明书6页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图3页10申请公布号CN1041。
3、13413ACN104113413A1/2页21一种用于管理密码的装置110,包括用户接口113,被配置为从用户接收密码提交;以及处理器111,被配置为生成针对所述密码提交的散列值;向认证服务器120发送所述散列值;从所述认证服务器120接收指示所述散列值是与正确密码相对应还是与不正确密码相对应的消息;其特征在于,所述处理器111被进一步配置为存储与不正确密码相对应的密码提交;以及如果所述消息指示所述散列值与正确密码相对应,则对与不正确密码相对应的每一个密码提交使用距离函数,以获得表示所述密码提交与所述正确密码之间的距离的距离值;以及向所述认证服务器120发送仅针对距离值满足距离标准的密码提交。
4、的散列值。2根据权利要求1所述的装置,其中,所述处理器111被进一步配置为响应于除了接收到指示正确密码的消息之外的事件,删除至少一个已存储的密码提交。3根据权利要求1所述的装置,其中,所述用户拥有至少一个密码的组,所述至少一个密码被所述认证服务器120视作正确密码,所述组包括一个主密码和零个或更多个辅密码;并且所述消息进一步指示所述散列值是与所述主密码相对应还是与所述辅密码之一相对应,并且所述处理器被进一步配置为仅当所述消息指示所述散列值与所述主密码相对应时,使用所述距离函数并且发送针对距离值小于或等于阈值的密码提交的散列值。4根据权利要求1所述的装置,其中,所述处理器111被进一步配置为如果。
5、所述消息指示所述散列值与正确密码相对应,则删除已存储的密码提交。5根据权利要求1所述的装置,其中,所述处理器111被配置为在接收到指示针对所述密码提交的所述散列值未与正确密码相对应的消息时,存储所述密码提交。6根据权利要求1所述的装置,其中,所述处理器111被配置为在接收到所述密码提交时,存储所述密码提交。7根据权利要求6所述的装置,其中,所述处理器111被进一步配置为还存储针对所述密码提交的所述散列值。8根据权利要求1所述的装置,其中,所述处理器111被进一步配置为实现所述认证服务器120。9一种用于管理用户的密码的方法,所述方法包括由存储至少一个已接收的不正确密码提交的装置110的处理器1。
6、11执行的以下步骤经由用户接口113从用户接收S10另一密码提交;生成S11针对所述另一密码提交的散列值;向认证服务器120发送所述散列值;从所述认证服务器120接收指示所述散列值是与正确密码相对应还是与不正确密码相对应的消息;以及如果所述消息指示所述散列值与正确密码相对应,则对每一个不正确密码提交使用S13距离函数,以获得表示所述不正确密码提交与权利要求书CN104113413A2/2页3所述正确密码之间的距离的距离值;以及向所述认证服务器120发送仅针对距离值满足距离标准的密码提交的散列值。10根据权利要求9所述的方法,还包括以下步骤响应于除了接收到指示正确密码的消息之外的事件,删除S18。
7、至少一个已接收的不正确密码提交。11根据权利要求9所述的方法,其中,所述用户拥有至少一个密码的组,所述至少一个密码被所述认证服务器120视作正确密码,所述组包括一个主密码和零个或更多个辅密码;并且所述消息进一步指示所述散列值是与所述主密码相对应还是与所述辅密码之一相对应,并且仅当所述消息指示所述散列值与所述主密码相对应时才执行使用所述距离函数以及发送针对距离值小于或等于阈值的密码提交的散列值的步骤。12根据权利要求9所述的方法,还包括以下步骤如果所述消息指示所述散列值与正确密码相对应,则删除S13;S16所述至少一个已接收的不正确密码提交。13根据权利要求9所述的方法,在接收到指示针对所述密码。
8、提交的所述散列值未与正确密码相对应的消息时,存储S17所述密码提交。14根据权利要求9所述的方法,还包括以下步骤在接收到所述密码提交时,存储所述密码提交。15一种存储有指令的非瞬时计算机程序支持140,当处理器111执行所述指令时,所述指令执行根据权利要求9至14中任意一项所述的方法。权利要求书CN104113413A1/6页4用于管理密码的装置和方法技术领域0001本公开大体上涉及计算机系统,具体地,涉及此类系统中的密码的处理。背景技术0002这部分旨在向读者介绍本领域的各个方面,这些方面可能涉及下面描述和/或要求保护的本公开的各个方面。该讨论被认为有助于向读者提供促进更好地理解本公开的各个。
9、方面的背景信息。因此,应当理解的是,这些陈述应当从这个角度来阅读,而不是作为现有技术的承认来阅读。0003在如今的计算机系统中,密码是普遍存在的,例如用以认证要登录的用户。在其一般定义中,密码是由预定义字母表中采用的一连串符号构成的例如,针对PIN码,四个数值。通常,密码越长,密码就越强,特别是如果密码是大写字母和小写字母、数字以及诸如、和等的字符的混合物的话。然而,通常,更复杂的密码的正确键入更加复杂,尤其因为键入的字符不出现在屏幕上。此外,因为用户可能必须一天多次输入密码,因此通常非常快速地键入密码。因而,输入密码可能包含键入错误也并不奇怪。此外,诸如智能电话和平板电脑等的基于触摸屏的设备。
10、使用虚拟键盘来输入包括密码的特定文本。通过利用这种类型的输入,键入错误可能非常频繁。0004现有技术包括多种提供对抗键入错误的密码的解决方案。0005工具PASSWORDVARIATOR使用密码的所有可能的变形构造文件,从而模仿了多达三种打字错误,例如,丢失的字符、重复的字符、额外的字符、错误的顺序和错误的大小写。ANDREWMEHLER和STEVENSKIENA在IMPROVINGUSABILITYTHROUGHPASSWORDCORRECTIVEHASHING中提供了不同的解决方案。其解决方案在散列之前例如通过按字母表顺序对输入密码进行分类以校正换位来处理密码,使得略微拼写错误的密码可以散。
11、列为与正确密码相同的散列值。显然,这种“可接受”密码的增加显著地降低了密码的强度。0006US7373516和JP2005/208763中的解决方案将输入密码与存储在“密码空间”中的密码进行比较,即,用明文,以确定前者是否与后者“类似”。然而,因为这些解决方案需要比较密码的明文版本,因此不能在用明文存储密码通常由于明显的安全原因而不可接受的真实系统中使用这些解决方案。通常,由服务器处理认证,其中,服务器存储密码的散列版本,以与用户键入的密码提交的散列版本进行比较。这是由于这样的事实,即,如果散列函数的两个输入不同,则输出通常完全不同,即使输入仅相差一个字母也是如此。0007JP20071149。
12、76教导了诸如PC等的设备,该设备尤其提供对输入错误键入密码的次数进行计数并且当次数足够大例如,十次时将错误键入密码作为可接受密码进行存储的功能。本领域技术人员将清楚的是,因为看起来不存在对错误键入密码的添加的任何控制,因此该解决方案是不安全的;当已经将错误密码输入十次时,将该错误密码作为可接受密码进行存储,这意味着黑客只需要将密码输入十次就使密码被接受。0008因此,可以清楚的是,需要可以允许认证系统允许错误键入密码而不具有现有解说明书CN104113413A2/6页5决方案的缺点的解决方案。本公开提供了这种解决方案。发明内容0009在第一方案中,本公开涉及一种用于管理密码的装置,包括用户接。
13、口,被配置为从用户接收密码提交;以及处理器,被配置为生成针对所述密码提交的散列值;向认证服务器发送所述散列值;从所述认证服务器接收指示所述散列值是与正确密码相对应还是与不正确密码相对应的消息。所述处理器被进一步配置为存储与不正确密码相对应的密码提交;以及如果所述消息指示所述散列值与正确密码相对应,则对与不正确密码相对应的每一个密码提交使用距离函数,以获得表示所述密码提交与所述正确密码之间的距离的距离值;以及向所述认证服务器发送仅针对距离值满足距离标准的密码提交的散列值。0010在第一实施例中,所述处理器被进一步配置为响应于除了接收到指示正确密码的消息之外的事件,删除至少一个已存储的密码提交。0。
14、011在第二实施例中,所述用户拥有具有至少一个密码的组,所述至少一个密码被所述认证服务器视作正确密码,所述组包括一个主密码和零个或更多个辅密码;并且所述消息进一步指示所述散列值是与所述主密码相对应还是与所述辅密码之一相对应,并且所述处理器被进一步配置为仅当所述消息指示所述散列值与所述主密码相对应时,才使用所述距离函数并且发送针对距离值小于或等于阈值的密码提交的散列值。0012在第三实施例中,所述处理器被进一步配置为如果所述消息指示所述散列值与正确密码相对应,则删除已存储的密码提交。0013在第四实施例中,所述处理器被配置为在接收到指示针对所述密码提交的所述散列值未与正确密码相对应的消息时,存储。
15、所述密码提交。0014在第五实施例中,所述处理器被配置为在接收到所述密码提交时,存储所述密码提交。有利的是,所述处理器被配置为还存储针对所述密码提交的所述散列值。0015在第六实施例中,所述处理器被进一步配置为实现所述认证服务器。0016在第二方案中,本公开涉及一种用于管理用户的密码的方法。存储至少一个已接收的不正确密码提交的装置的处理器经由用户接口从用户接收另一密码提交;生成针对所述另一密码提交的散列值;向认证服务器发送所述散列值;从所述认证服务器接收指示所述散列值是与正确密码相对应还是与不正确密码相对应的消息。如果所述消息指示所述散列值与正确密码相对应,则所述处理器对每一个不正确密码提交使。
16、用距离函数,以获得表示所述不正确密码提交与所述正确密码之间的距离的距离值;以及向所述认证服务器发送仅针对距离值满足距离标准的密码提交的散列值。0017在第一实施例中,所述处理器响应于除了接收到指示正确密码的消息之外的事件,删除至少一个已接收的不正确密码提交。0018在第二实施例中,所述用户拥有具有至少一个密码的组,所述至少一个密码被所述认证服务器视作正确密码,所述组包括一个主密码和零个或更多个辅密码;并且所述消息进一步指示所述散列值是与所述主密码相对应还是与所述辅密码之一相对应,并且仅当所述消息指示所述散列值与所述主密码相对应时,所述处理器才使用所述距离函数并且发送针对距离值小于或等于阈值的密。
17、码提交的散列值。0019在第三实施例中,如果所述消息指示所述散列值与正确密码相对应,则所述处理说明书CN104113413A3/6页6器删除所述至少一个已接收的不正确密码提交。0020在第四实施例中,所述处理器在接收到指示针对所述密码提交的所述散列值未与正确密码相对应的消息时存储所述密码提交。0021在第五实施例中,所述处理器在接收到所述密码提交时存储所述密码提交。0022在第三方案中,本公开涉及一种存储有指令的非瞬时计算机程序支持,当处理器执行所述指令时,所述指令执行第二方案的方法。附图说明0023现在将参照附图通过非限制性示例的方式来描述本公开的优选特征,在附图中0024图1示出了可以在其。
18、中实现本公开的示例性系统;0025图2示出了本公开的密码认证的第一示例性方法;以及0026图3示出了本公开的密码认证的第二示例性方法。具体实施方式0027图1示出了可以在其中实现本公开的示例性系统。该系统包括计算设备“计算机”110和认证服务器120。计算机110和认证服务器下文中的“服务器”120可以是能够执行计算的任意类型的适当计算机或设备,例如,标准个人计算机PC或工作站。计算机110和服务器120中的每一个优选地包括至少一个处理器111、121、RAM存储器112、122、用于与用户交互的用户接口113、123、以及用于通过连接130与其他设备交互的第二接口114、124。计算机110。
19、和服务器120中的每一个还优选地包括用于从存储指令的数字数据支持140读取软件程序的接口,其中,当处理器执行指令时,指令执行下文所描述的密码方法中的任意一个。本领域技术人员将清楚的是,为了清楚的原因充分简化了所示出的设备,并且真实设备还将包括诸如持久存储设备等的特征。本领域技术人员将清楚的是,如果密码仅提供对计算机自身的访问,则还可以仅在计算机110上实现本公开;在该情况下,服务器120在计算机中实现。0028图2示出了本公开的密码认证的第一示例性方法。在第一步骤中,用户通过计算机110的用户接口113输入S01其标识,即,用户名。计算机110将具有下文要解释的输入密码提交的组设置S02为空组。
20、并且将用户名转发给服务器120。用户名准许服务器120取回S03针对用户的一个或多个己存储的可接受密码主密码、以及至少一个辅密码如果存在的话,如在下文中将看到的的散列值。将清楚的是,如果仅在计算机110上实现本公开,则可能具有单个用户,在该情况下,不需要提供用户名;换言之,步骤S01至S03是自动的。0029用户使用计算机110的用户接口113输入S10密码提交PI下文称作提交,然后计算机110对提交PI进行散列S11以获得经散列的提交HPI,该经散列的提交HPI被发送到服务器120。计算机还临时存储提交PI。服务器将经散列的提交HPI与已存储的经散列的主密码HS进行比较S12。在匹配的情况下。
21、,向计算机110发送优选地向用户通知登录成功的消息。计算机还执行S13下文将描述的功能。0030如果经散列的提交HPI与已存储的经散列的主密码HS不匹配,则服务器120验证S15经散列的提交HPI是否与包含在下文进一步描述的HPS中的辅密码的散说明书CN104113413A4/6页7列值中的任意一个相匹配。如果是这种情况,则登录成功,并且优选地将消息发送到计算机110使得可以向用户通知。计算机110从具有已输入的不正确提交的组HP中删除S16该组中的所有提交,如下文将进一步解释的。0031然而,如果经散列的提交HPI未与包含在HPS中的辅密码的散列值中的任意一个相匹配,则服务器120发送消息以。
22、向计算机通知该情况。计算机将提交PI添加S17至具有已输入的不正确提交的组HP中,并且向用户通知输入提交是不正确的并且请求用户输入新的提交。当然,本公开可以与各种现有解决方案相结合以例如通过在三次不成功尝试之后阻止其他登录尝试来增加系统的安全性。0032然后,该方法可以在密码输入步骤S10、提交散列步骤S11、提交比较步骤S12、以及已经描述的其他步骤这取决于输入提交的正确性中迭代。因为在第二次迭代和后续迭代期间具有已输入的不正确提交的组HP包括至少一个输入提交,因此现在将可以通过例证的方式解释在步骤S13中由计算机执行的功能的解释。0033在步骤S13中,用户已经在一次或更多次尝试之后输入了。
23、正确的主密码,即,其散列HPI与主密码的散列HS相匹配的密码。然后,计算机110检查具有已输入的不正确提交的组HP中的任何提交PJ是否“接近”正确的主密码,并且生成具有“接近”密码的散列值的组HP”;HP”HPJ|PJHPDPI,PI,其中,D表示距离函数,表示针对相应距离值的阈值,即,什么被视为“接近”。换句话说,如果不正确提交满足距离标准,则认为该不正确提交是“接近的”。存在很多适合的现有距离函数,例如,计算LEVENSHTEIN距离、DAMERAULEVENSHTEIN或HAMMING距离的函数;本领域技术人员将清楚的是,距离的选择取决于被判断为可接受的“错误”例如,字符替换、换位、添加。
24、和删除。此外,根据错误键入的密码应当具有以便将来被接受的“接近”程度来选择阈值;例如,阈值1或可能2是优选值。此外,计算机110删除HP中的提交,即,计算机110将该组设置为空组。0034然后,计算机110向服务器120发送具有散列值的组HP”。有利的是,计算机110例如通过将主密码的散列值添加至消息的起始来提供散列值的可靠性的某一证据。服务器120将组HP”中的散列值添加S14至具有辅密码的组HPS。当然,服务器120还可以检查组HP”中的散列值中的任意一个是否已经存在于HPS中并且然后仅添加新的散列值。0035为了增加解决方案的安全性,优选的是,当经散列的提交与已存储的散列值相对应步骤S1。
25、2中的Y时,服务器120进入它等待用户的新的辅密码的状态。通过这种方式,仅当已经输入了正确密码时,服务器才将存储用户的辅密码。将该存储器与定时器相关联是有利的。0036因此,将清楚的是,如果错误键入的密码随后是正确主密码,则可以将错误键入的密码添加至具有辅密码的组,这意味着该错误键入的密码然后可以用于登录。0037在备选实施例中,组HP包括输入提交不一定是不正确提交,并且已经在步骤S11中而非在步骤S17中将该提交添加至该组。在该情况下,可以在步骤S13中生成具有接近密码的散列值的组HP”之前,从组HP中移除正确提交。0038将清楚的是,在任意一个实施例中,计算机110可以如所描述的将提交PI。
26、存储在组HP中,并且在步骤S11中将提交PI的散列值HPI存储在具有提交的散列值的组HP中,然后在步骤S13中将接近密码的散列值添加至具有接近密码的散列值的组HP”中,而与“远离”密码相对应的散列值未添加至该组中。换句话说,从组HP向组HP”仅传递针对接说明书CN104113413A5/6页8近密码的散列值。0039在另一变型中,服务器120将已接收的针对提交的散列值HPI存储在用户的组HPS”中,并且验证组HP”中的散列值是组HPS”的至少一个子集。这确保HP”中的散列值确实与输入提交相对应,并且它们还未被黑客使用中间人攻击而添加。0040在不同的实施例中,如果输入提交的散列值与辅密码的散列。
27、值相匹配,则计算机110也执行该功能;即,步骤S13也可以跟随步骤S15。0041在优选的实施例中,计算机将定时器与HP中的每一个已输入的不正确提交相关联,并且删除其定时器到期的提交。备选地,计算机可以使用定时器并且当定时器到期时删除HP中的所有输入提交,如图2中的步骤S18所示。这增加了系统的安全性,其原因在于这使得黑客不可能在用户到达并且输入将验证提交的正确密码之前输入多个提交。在可以与其他实施例相结合的变型中,组HP被限制为N个提交,并且以FIFO的形式操作使得当需要为新的提交留出空间时丢弃最早的提交。0042图3示出了可以在其中并入多个变型和实施例的本公开的密码认证的第二示例性方法。如。
28、先前所描述的,用户输入S01其标识。然后,计算机110将具有密码提交的散列值PI的HPC设置S002为空组,并且将用户名转发给服务器120。服务器120取回S03用户的一个或更多个已存储的可接受密码主密码、以及至少一个辅密码如果存在的话的散列值,并且将具有用户的已接收散列值的组HPS”设置为空组。0043用户输入S10提交PI。计算机110对提交PI进行散列S21以获得经散列的提交HPI,该经散列的提交HPI被发送到服务器120。计算机110还将提交数组PI,HPI存储在组HPC中。0044服务器将经散列的提交HPI与已存储的经散列的主密码HS进行比较S12。在匹配的情况下,向计算机110发送。
29、优选地向用户通知登录成功的消息。计算机还确定S23正确提交与组HPC中的其他提交之间的距离D,并且将与“接近”提交相对应的散列值放入组HPC”中。计算机110还将组HPC设置为空组,并且将组HPC”发送到服务器。服务器120将HPC”与HPS”之间的公共元素如下所述添加S24至具有辅密码的列表HPS,并且清空HPS”。0045如果经散列的提交HPI与已存储的经散列的主密码HS不匹配,则服务器120验证S15经散列的提交HPI是否与包含在HPS中的辅密码的散列值中的任意一个相匹配。如果是这种情况,则登录成功,并且优选地将消息发送到计算机110使得可以向用户通知。服务器120删除S20具有提交的散。
30、列值的HPS”中的所有值。计算机110删除S26具有提交的散列值的HPC中的所有值。0046然而,如果经散列的提交HPI未与包含在HPS中的辅密码的散列值中的任意一个相匹配,则服务器120发送消息以向计算机通知该情况,并且将散列值HPI添加S27至具有已接收的不正确散列值的组HPS”中。0047然后,该方法在这些步骤中迭代,如针对图2中所示的优选实施例所描述的。0048优选的是,使用定时器以在定时器到期时清空S28组HPC。优选的是,使用定时器以在定时器到期时清空S29组HPS”。0049本领域技术人员将清楚的是,优选的是例如通过使用盐SALT进行加密来保护计算机110与服务器120之间的消息。
31、具体地,散列值。保护消息的一种优选方式是通过说明书CN104113413A6/6页9使用WO2006/048043中所述的安全认证信道SECUREAUTHENTICATEDCHANNEL。0050将清楚的是,本公开可以提供对抗键入错误的密码系统,并且0051通过在传递期间和在存储期间进行散列来保护密码,0052通过接受密码的很多变型不会不必要地消弱系统,但是仅接受接近的并且实际上由用户输入的不正确密码。0053可以独立地或以任何适当的组合来提供说明书以及在适当的情况下权利要求和附图中公开的每一个特征。被描述为在硬件中实现的特征也可以在软件中实现,反之亦然。出现在权利要求中的附图标记仅是举例说明,而不对权利要求的范围起限制作用。说明书CN104113413A1/3页10图1说明书附图CN104113413A102/3页11图2说明书附图CN104113413A113/3页12图3说明书附图CN104113413A12。