CN113056738B - 用于增加认证安全性的方法 - Google Patents

用于增加认证安全性的方法 Download PDF

Info

Publication number
CN113056738B
CN113056738B CN201980071849.9A CN201980071849A CN113056738B CN 113056738 B CN113056738 B CN 113056738B CN 201980071849 A CN201980071849 A CN 201980071849A CN 113056738 B CN113056738 B CN 113056738B
Authority
CN
China
Prior art keywords
characters
sequence
location
password
authentication attempt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980071849.9A
Other languages
English (en)
Other versions
CN113056738A (zh
Inventor
A·A·哈桑
E·C·贾伊莫三世
W-C·陈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113056738A publication Critical patent/CN113056738A/zh
Application granted granted Critical
Publication of CN113056738B publication Critical patent/CN113056738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

公开了用于基于密码来认证用户账户的方法和系统。在一个方面中,一种方法包括:接收定义被包含在输入密码中的字符序列的输入;忽略在所述字符序列中的第一位置与在所述字符序列中的第二位置之间的字符;以及基于在所述字符序列中的非忽略的字符来验证所述密码。

Description

用于增加认证安全性的方法
背景技术
随着计算在经济和个人生活两者中日益普及,保护计算信息的重要性已经变得至关重要。过去若干年的标题已经突出了弱的计算机安全性的危险,这可能导致信息窃取、经由恶意软件的安装的恶意计算机使用、以及其他问题。
许多计算机资源经由用户名与密码的组合来保护。在提供了与用于账户的有效用户名和密码相匹配的认证信息之后,可以授权访问与用户账户相关联的某些计算机资源。如果恶意行为者要获得用于计算机账户的有效用户名和密码,则那些计算机资源处于恶意使用的风险中。一种用于获得有效用户名和密码的方法是观察用户在其键盘上键入该信息。复杂的恶意行为者甚至可能采用诸如双筒望远镜或望远镜之类的放大设备,与视频记录装备相耦合,以使得能够从安全并且不起眼的距离处观察键入的用户名和密码。密钥记录器也可能被不恰当地安装以捕获由用户所键入的密钥。因此,期望保护该信息的经改进的方法。
附图说明
在不一定按比例绘制的附图中,相似的数字可以在不同的视图中描述相似的组件。具有不同字母后缀的相似数字可以表示相似组件的不同实例。附图通过示例而非限制的方式大体上图示了在本文档中所讨论的各种实施例。
图1是示出了可以忽略包括输入的密码的一些字符以形成第二密码的概览图。
图2示出了包括字段的示例性用户界面200,其中的一个或多个字段可以在所公开的实施例中的至少一些实施例中实现。
图3示出了提供用于定义用于应用忽略简档(profile)的条件的用户界面。
图4示出了可以定义用于应用忽略简档的时间标准的示例性用户界面。
图5示出了用于定义用于忽略简档的位置标准的用户界面。
图6示出了可以在所公开的实施例中的至少一些实施例中实现的示例性用户界面。
图7示出了用户简档表、设备简档表、简档表以及用户表。
图8是实现所公开的实施例中的一个或多个实施例的计算机系统的概览图。
图9是用于验证密码的方法的流程图。
图10图示了示例性机器的框图,在其上可以执行在本文中所讨论的技术中的任意一种或多种技术(例如,方法学)。
具体实施方式
以下描述和附图充分图示了特定实施例,以使得本领域技术人员能够实践所述实施例。其他实施例可以合并结构、逻辑、电气、过程和其他改变。一些实施例的部分和特征可以被包含在或者替代其他实施例的那些部分和特征。在权利要求中所阐述的实施例涵盖那些权利要求的所有可用的等效物。
如上文所讨论的,可能以不正当的方式获得用户名和/或密码信息,从而导致受损的计算机数据。所公开的实施例通过提供一种忽略被键入为计算机账户证书的一部分的某些字符的可配置方法来解决该技术问题。这些可能包括用户名和/或密码。例如,如在下文更详细讨论的,所公开的实施例中的一些实施例提供用于计算机账户的忽略简档的配置。所述忽略简档定义了一种用于确定要忽略在所输入的密码中的哪些字符的方法。例如,可以配置账户,使得忽略在密码内的第一位置与在密码内的第二位置之间输入的字符。替代地,所述忽略简档可以定义用信号通知应当忽略字符的开始的字符序列,以及用信号通知应当停止忽略字符的第二字符序列。在一些方面中,通过指定正则表达式来配置这些序列,诸如由Boost.Regex、Glib、Greta、Helios RXPF、ICU、Jakarta/Regexp、PCRE、Qt或者另一正则表达式库所定义的正则表达式。正则表达式通常能够被描述为用于描述搜索模式的文本字符串。
还可以基于日期和/或位置来应用所述忽略简档。因此,例如,商务旅行者当出差旅行时可以应用第一忽略简档,并且当位于其家或工作场所附近时可以应用第二忽略简档。另一忽略简档可能在星期五而不是在星期二应用。通过选择性地忽略输入密码的部分,能够使认证信息的不当挪用变得更加困难,并且因此而减少。
因此,本公开通过将额外的熵或可变性引入到密码中,即使当已经获得用户密码的至少一个实例时,所述密码可能难以猜测和/或再现,从而提供了对损害的认证证书的技术问题的技术解决方案。
图1是示出了可以忽略包括所输入的密码的一些字符以形成第二密码的概览图。图1示出了包括字符102a-h的字符序列102。字符102a-h可以由用户在键盘处输入。字符序列102可以包括开始序列103a和结束序列103b。所述开始序列可以用信号通知将从序列102中忽略的字符的开始。结束序列103b可以用信号通知将从序列102中忽略的字符的结束。在开始序列103a与结束序列103b之间的字符被忽略并且不被包括在第二密码104中。在一些实施例中,开始序列103a和结束序列103b也可以被忽略并且不被包括在第二密码104中。在一些其他实施例中,开始序列103a和结束序列103b可以被包含在第二密码104中。第二密码104然后可以被用于认证用户账户。
图2示出了包括字段的示例性用户界面200,其中的一个或多个字段可以在所公开的实施例中的至少一些实施例中实现。用户界面200包括用于对忽略简档进行命名的编辑字段202。忽略简档定义了可以如何忽略由用户所输入的密码的一个或多个字符以创建第二密码,其中所述第二密码被用于验证用户账户。
用户界面200提供了四个单选按钮204a-d,每个单选按钮定义了忽略在由用户输入的密码中的字符的不同方法。在选择单选按钮204a时所应用的第一种方法定义开始忽略字符的固定位置。还包括待忽略的字符的数量的计数205b。其他实施例可以接收第二固定位置以结束对字符的忽略而不是计数205b。
当选择单选按钮204b时应用第二种方法。第二种方法包括字符的开始序列206a和字符的结束序列206b。当选择了第二种方法时,可以忽略在开始序列206a与结束序列206b之间由用户输入的字符,诸如图1的字符l02d和l02e。用户界面200还被配置为接收输入,所述输入定义了是否必须分别经由复选框208a和208b来重复开始序列206a和结束序列206b。用户界面200被配置为接受输入,所述输入定义了针对开始序列206a的重复计数210a和针对结束序列206b的重复计数210b。
经由单选按钮204b来选择忽略由用户所输入的字符的第三种方法。利用这种方法,用户可以为开始序列定义第一正则表达式2l2a,并且为结束序列定义第二正则表达式212b。用户界面200还被配置为接受输入,所述输入经由包含性复选框213定义了由正则表达式所定义的序列对忽略的字符是包含性的还是对忽略的字符是排他性的。
可以经由单选按钮204c来选择忽略字符的第四种方法。第三种方法基于在字符之间的时间量来忽略字符。当选择单选按钮204c时,用户接口200被配置为接受输入,所述输入定义了在(经由216a或216b中的任意一个)开始忽略字符的字符之间的时间延迟以及(经由220a或220b中的任意一个)结束忽略字符的时间延迟。用户可以经由单选按钮2l4a-b来选择大于或小于指定时间的时间延迟,以选择开始序列时间标准,并且经由单选按钮218a-b来选择结束序列时间标准。
所公开的实施例可以提供忽略简档,诸如经由接口200所配置的那些忽略简档,其基于时间、日期或位置中的至少一项或多项来有条件地应用。为了设置这些条件,用户可以选择按钮240。确定按钮242a接受由用户界面200的字段所定义的忽略简档,并且取消按钮242b忽略在用户界面200中所输入的任何数据。
图3示出了提供用于定义用于应用忽略简档的条件的用户界面。在一些方面中,可以经由对用户界面200的按钮242a的选择来启动用户界面300。
用户界面300包括单选按钮302a-b。选择单选按钮302a无条件地应用所述忽略简档。选择单选按钮302b使得根据时间和/或位置条件来应用由301所标识的所述忽略简档。当选择复选框304a时,时间条件可以被应用于所述忽略简档,而当选择复选框304b时,位置条件可以被应用于所述忽略简档。可以经由按钮308来定义时间条件。可以经由按钮312来定义位置条件。列表框310显示用于该忽略简档(例如301)的位置条件信息。
图4示出了可以定义用于应用忽略简档的时间标准的示例性用户界面。在一些方面中,可以响应于用户界面300的按钮308来显示用户界面400。
用户界面400被配置为接受定义开始时间405a和结束时间405b的输入以应用被标识为402的忽略简档。用户界面400还被配置为接受定义用于应用忽略简档(例如402)的循环模式408的输入。循环模式408可以被定义为每周地(经由单选按钮410a)、每周地(经由单选按钮410b)、每月地(经由单选按钮410c)或者每年地(经由单选按钮410d)。循环模式408还可以被定义为重复特定周数415,和/或者经由复选框420在一周中的选定天重复。
可以将所述忽略简档的应用的循环(例如402)定义为在特定日期(经由425)开始、并且没有结束日期(经由单选按钮430a)、在特定次数的循环(由440定义)之后结束、或者以特定日期(由450定义)结束。
图5示出了用于定义用于忽略简档的位置标准的用户界面。用户界面500正在为由框402所标识的忽略简档定义位置标准。由用户界面500所定义的位置标准可以大于或小于距特定地理位置的距离。选择单选按钮502a(小于)或502b(大于)中的一个来确定所述标准的性质。用户界面500被配置为接受经由编辑框505来定义距离的输入。经由通过选择单选按钮506a并且经由列表框510输入地址的地址,或者通过选择单选按钮506b并且经由编辑框512a输入纬度以及经由编辑框512b输入经度的坐标,来指定地理位置。按钮520a将位置添加到列表框510,同时取消按钮520b退出用户界面500,而不保存所提供的任何信息。
图6示出了可以在所公开的实施例中的至少一些实施例中实现的示例性用户界面。图6的用户界面600提供了对忽略简档的创建和删除。可以通过选择单选按钮601a并且在编辑框602a中提供设备名称或地址来为设备创建忽略简档的列表。可以通过选择单选按钮601b并且在编辑框602b中提供用户名来创建用于用户的忽略简档的列表。在列表框604中列出了用于所选择的设备或用户名的所述忽略简档。由于列表框604中所列出的各种忽略简档的应用可能在某些时间段或位置上发生冲突,因此所述忽略简档以由列表框定义的次序被应用。一些实现方式可以从列表框604中最顶部的忽略简档开始搜索所述忽略简档,直到找到具有被满足的应用标准的忽略简档。然后,应用该忽略简档,其中,列表框604中下方的任何忽略简档均不被应用。可以经由向上和向下按钮606a-b来配置列表框604中的忽略简档的次序。按钮608a可以例如通过启动用户界面600来提供新的忽略简档。按钮608b可以删除在列表框604中突出显示的忽略简档。确定按钮610退出用户界面600。
在一些方面中,由用户界面600所显示的忽略简档可以在客户端与服务器设备之间同步,以提供由服务器对客户端的认证。例如,图2-6的用户界面可以在客户端设备上显示,并且将本地定义的数据显示给客户端设备。然后,可以将该数据与服务器同步,其中在将结果密码与被存储在服务器处的认证证书进行比较之前,所述服务器实际上执行所述忽略操作。替代地,所述客户端可以执行由所述数据定义的忽略功能以及被发送给服务器的结果密码。在这些实施例中,所述服务器不知道发生任何忽略操作。
图7示出了示例性数据结构,其中的一个或多个可以由所公开的实施例中的一个或多个实施例来维护。下文关于图7所讨论的数据结构在一些方面可以被实现为关系数据库表中的行。在其他实施例中,所述数据结构可以是被存储在易失性或非易失性存储器中的存储器数据结构。
图7示出了用户简档表700、设备简档表710、简档表720以及用户表730。用户简档表700包括用户标识符702、简档标识符704和优先级706。用户标识符702独有地标识特定用户。简档标识符704独有地标识特定的忽略简档。优先级706定义由简档标识符704所标识的忽略简档的评估的优先级(例如,如上文所讨论的列表框604中的简档的次序所定义的)。
所述设备简档包括设备标识符712、简档标识符714和优先级716。设备标识符712独有地标识设备。在各个方面中,设备标识符712可以是设备的站地址、UUID或IP地址。简档标识符714独有地标识忽略简档。优先级716定义了由简档标识符714所标识的忽略简档的评估的优先级(例如,如上文所讨论的列表框604中的简档的次序所定义的)。
忽略简档表720包括简档标识符722、方法标识符724、方法参数726以及应用标准728。简档标识符722独有地标识忽略简档。方法标识符724基于开始和结束序列(例如,经由控件204a)、正则表达式(例如,经由控件204b)、或者经由计时阈值(例如,经由控件204c)来识别所述忽略简档是否忽略字符。方法参数字段726定义参数以控制在方法id字段724中所标识的方法。例如,所述方法参数字段可以存储在用户界面200上所显示的字段中的一个或多个字段。应用标准字段728存储定义用于应用由简档id 722所标识的简档的标准的数据。所述应用标准可以存储指示关于图3-5所描述的字段中的任意一个或多个字段的数据。
用户表730包括用户标识符732、用户名734和密码736。用户表730可以为实现所公开的实施例的系统的用户来定义认证信息。用户标识符732可以与用户标识符702交叉引用。用户名字段734定义了用户账户名,并且密码736定义了由经由用户名734所标识的用户账户所标识的账户的密码。可以将密码736与如上文所描述的由于对忽略简档的应用而得到的密码进行比较。
图8是实现所公开的实施例中的一个或多个实施例的计算机系统的概览图。图8示出了计算设备802a和802b、服务器805以及云计算实现方式810。云计算实现方式810可以托管认证服务。所述认证服务可以将由计算设备802b和/或服务器805中的一个或多个所提供的认证证书与被存储在认证数据库(例如730)中的证书进行比较。如果证书相匹配,则云计算实现方式810可以与提交所述认证证书的所述设备建立用户账户的会话。
在本文中所公开的实施例可以由计算设备802b和/或服务器805中的一个或多个来实现。例如,在一些方面中,上文所讨论的所述忽略简档可以被配置在单个设备上并且在单个设备内操作,诸如计算设备802b。
在一些其他方面中,所公开的实施例可以在服务器设备805上实现。在这些实施例中,可以在客户端设备802a处输入密码。然后,可以经由网络将所输入的密码提供给服务器设备805。然后,服务器设备805可以将忽略简档应用于所接收到的输入密码以生成第二密码,然后服务器设备805将所述第二密码提供给由云计算实现方式810所实现的认证服务。在这些方面中,可以在客户端设备802a和服务器设备805中的每一个上单独地配置所述忽略简档。在其他实施例中,所述忽略简档可以仅经由服务器805可配置,并且可以被分发给(一个或多个)客户端设备802a-b。
在服务器805上实现忽略简档的一些方面中,在客户端设备(例如802a)上输入的密码可能需要以其原始形式被传输到服务器805。为防止完整输入的密码通过网络来传输,所述完整输入的密码在被发送给服务器之前可以被加密。例如,所述客户端可以利用服务器805的公共密钥对所述密码进行加密,然后使用服务器的私有密钥对所述密码进行解密。然后,服务器可以将忽略简档应用于经解密的完整输入的密码。
尽管在图8中示出并且在上文所讨论的示例性实施例被描述为在所描述的在云计算实现方式810上运行的认证服务上托管所述认证服务,但是在其他实施例中,所述认证服务可以在客户端设备802a或802b或者服务器805中的任意一个上运行。
图9是用于验证密码的方法的流程图。在一些方面中,下文关于图9所讨论的功能中的一项或多项功能可以由硬件处理电路来执行。例如,被存储在电子存储器中的指令可以将硬件处理电路配置为执行下文关于图9所讨论的功能中的一项或多项功能。
在操作910中,接收定义被包含在输入密码中的字符序列的输入。所述字符可以包括可以被包含在密码中的任意字符。所述字符可以被编码为ASCII字符或Unicode字符,或者任何其他字符格式。在一些方面中,所述字符可能已经由用户手动地键入到接受密码字段的“登录”用户界面中。在其他方面中,所述字符可以被包含在脚本中,或者经由登录API以编程方式来输入。在一些方面中,通过网络从客户端设备接收输入。在其他方面中,可以通过单个设备的第二组件从所述单个设备的第一组件接收所述输入。
在操作920中,忽略在所述序列中的第一位置与在所述序列中的第二部分之间的字符。如上文关于图1所讨论的,在一些方面中,可以基于在选项910中所接收到的字符序列来生成第二密码。所述第二密码可以包括输入密码的字符的子集,而输入密码的字符不被包含在表示“忽略”字符的第二密码中。
如上文所讨论的,在各个实施例中,使用多种技术来确定第一位置和第二位置。例如,在一些方面中,第一位置和第二位置可以位于密码内的第一字符位置处。例如,如上文关于图2所描述的,在一些实施例中,可以配置起始位置(例如205a)以及要忽略的字符数量(例如205b)。在一些其他方面中,可以定义具有字符串的明确的结束位置。在一些其他方面中,对字符的忽略可以基于对第一字符序列和第二(结束)字符序列的检测。在这些实施例中,忽略在输入密码内的第一字符序列与第二字符序列之间的字符。在各个方面中,可以忽略或者不忽略开始序列和结束序列本身。例如,如在用户界面200中所示的,包含性复选框(例如207和/或213)可以被用于定义开始序列和结束序列本身形成第二密码的一部分还是被忽略。在一些方面中,字符的开始序列和/或字符的结束序列可以包括重复字符。例如,在一些方面中,用户界面200定义字符序列,所述字符序列需要重复可配置的次数(例如,208a或208b)以形成开始序列和/或结束序列。
在一些方面中,可以经由正则表达式来定义第一序列和第二序列。如上文关于图2所讨论的,在一些方面中,可以选择用户界面控件(例如,204c),并且可以在用户界面200中接收定义开始序列(例如,212a)和/或结束序列(例如,212b)的正则表达式。然后,在输入密码上评估所提供的(一个或多个)正则表达式,以识别开始忽略字符的位置和/或结束忽略字符的第二位置。
如上文例如关于图3-5所讨论的,可以基于时间/日期和/或位置标准来应用定义待忽略密码中的哪些字符的特定忽略简档。例如,过程900可以识别在其上输入了所输入的密码的用户和/或设备中的一个或多个。然后,例如,可以获得用于用户和/或设备的忽略简档的列表,如可以经由列表框604来配置并且经由表700和/或710来存储的。从列表的顶部开始,过程900可以确定在给定可以被包含在所述忽略简档中的任何日期/时间和/或位置标准(例如720的728)的情况下,是否要应用第一列出的简档。如果列表中的第一忽略简档由于不满足这些条件中的一个或多个条件而未应用,则分析第二忽略简档,以确定在给定的时间/日期和设备/用户的位置的情况下是否应当应用所述第二忽略简档。
在操作930中,验证所述第二密码。验证所述密码可以包括将所述第二密码以及在一些实施例中的用户账户名一起传递给认证API。如果所提供的密码和用户账户名与系统上预先存在的账户相匹配,则认证API可以建立用户会话。
对于相同的用户账户,过程900的一些方面可能在第一密码中忽略的字符与在第二密码中忽略的那些字符之间强制执行一定量的差异。例如,过程900可以存储输入密码的被忽略部分,并且接收定义被包含在第二输入密码中的第二字符序列的第二输入。然后,过程900可以应用适当的忽略简档以忽略第二字符序列的第二字符。可以确定在所存储的第一输入密码的被忽略部分与在第二输入密码中被忽略的第二字符之间的相似性。如果在忽略的字符的第一集合与第二集合的之间的相似性太相似,则第二输入密码的验证可能失败,因为相似性分数满足一个或多个标准。如果相似性分数满足第二一个或多个标准,则验证可能成功。在一些方面中,如果相似性分数(例如,编辑距离)低于阈值,则验证失败。在一些方面中,可以使用Levenshtein距离。
一些实施例可以确定跨多个密码的忽略的字符的位置是否太相似。例如,一些方面可以存储在操作920中所确定的第一位置和/或第二位置。然后接收第二输入,所述第二输入定义被包含在第二输入密码中的第二字符序列。确定第二字符序列中的第三位置。例如,如上文所讨论的,可以基于经由诸如用户界面200之类的用户界面所输入的一个或多个参数来确定第三位置。然后基于第三位置来忽略在第二字符序列中的字符。注意,还可以确定第二密码内的第四位置,其中所述第四位置定义了停止忽略字符的位置。在一些方面中,可以如上文关于用户界面200所描述的那样来定义所述第四位置。可以比较所述第一位置与所述第三位置,并且如果所述第一位置与所述第三位置相等,则第二输入密码的验证失败。换言之,这些方面可以强制在输入密码内的忽略的字符的位置跨多次登录或登录尝试必须不同。
图10图示了可以在其上执行在本文中所讨论的技术中的任意一种或多种技术(例如,方法学)的示例性机器1000的框图。在替代实施例中,机器1000可以作为独立设备来操作,或者可以被连接(例如,联网)到其他机器。在网络部署中,机器1000可以在服务器-客户端网络环境中以服务器机器、客户端机器或者这两者的能力来操作。在示例中,机器1000可以在对等(P2P)(或者其他分布式)网络环境中充当对等机器。机器1000可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、智能电话、网络设备、网络路由器、交换机或桥、服务器计算机、数据库、会议室设备、或者能够运行指定了由该机器要执行的动作的指令(顺序的或者以其他方式)的任何机器。在各种实施例中,机器1000可以执行上文参照图1-9所描述的过程中的一个或多个过程。此外,尽管仅图示了单个机器,但是术语“机器”也应当被理解为包括机器的任何集合,所述机器个体地或共同地运行一个或多个指令集合以执行在本文中所讨论的任意一种或多种方法,诸如云计算、软件即服务(SaaS)、其他计算机集群配置。
如在本文中所描述的,示例可以包括逻辑或多个组件、模块或机构(以下均称为“模块”)或者在其上操作。模块是能够执行所指定的操作的有形实体(例如,硬件),并且可以以某种方式被配置或布置。在示例中,可以以指定的方式将电路布置(例如,内部地或者相对于诸如其他电路的外部实体)为模块。在示例中,一个或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或者一个或多个硬件处理器的全部或部分可以由固件或软件(例如,指令、应用部分或应用)配置为操作用于执行指定的操作的模块。在示例中,所述软件可以驻留在机器可读介质上。在示例中,软件当由模块的基础硬件来执行时,使得所述硬件执行所指定的操作。
因此,术语“模块”应当被理解为涵盖有形实体,该实体是被物理构造、具体配置(例如,硬接线)或临时(例如,暂时地)配置(例如,编程)以指定的方式操作或执行在本文中所描述的任何操作的部分或全部的实体。考虑其中模块被临时地配置的示例,所述模块中的每个模块都不需要在任何时刻被实例化。例如,在所述模块包括使用软件配置的通用硬件处理器的情况下,所述通用硬件处理器可以被配置为在不同时间的相应不同模块。软件可以因此配置硬件处理器,例如,以在一个时刻构成特定的模块,并且在不同的时刻构成不同的模块。
机器(例如,计算机系统)1000可以包括硬件处理器1002(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或者其任意组合)、主存储器1004和静态存储器1006,其中的一些或全部可以经由互连链路(例如,总线)1008彼此通信。机器1000还可以包括显示单元1010、字母数字输入设备1012(例如,键盘)、用户界面(UI)导航设备1014(例如,鼠标)。在示例中,显示单元1010、输入设备1012和UI导航设备1014可以是触摸屏显示器。机器1000可以另外地包括存储设备(例如,驱动单元)1016、信号生成设备1018(例如,扬声器)、网络接口设备1020以及一个或多个传感器1021,诸如全球定位系统(GPS)传感器、指南针、加速度计或者其他传感器。机器1000可以包括输出控制器1028,诸如串行(例如,通用串行总线(USB)、并行或者其他有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以通信或控制一个或多个外围设备(例如,打印机、读卡器等)。
存储设备1016可以包括机器可读介质1022,在其上存储了由在本文中所描述的任何一种或多种技术或功能体现或利用的一组或多组数据结构或指令1024(例如,软件)。在由机器1000执行指令1024期间,指令1024还可以全部或者至少部分地驻留在主存储器1004内、在静态存储器1006内、或者在硬件处理器1002内。在示例中,硬件处理器1002、主存储器1004、静态存储器1006或存储设备1016中的一个或者其任意组合可以构成机器可读介质。
尽管机器可读介质1022被图示单个介质,但是术语“机器可读介质”可以包括被配置为存储一个或多个指令1024的单个介质或多个介质(例如,中央或分布数据库,和/或相关联的高速缓存和服务器)。
术语“机器可读介质”可以包括能够存储、编码或承载由机器1000执行的指令并且使得机器1000执行本公开的技术中的任意一种或多种技术的任何介质,或者能够存储、编码或承载由这样的指令使用或者与之相关联的数据结构。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。机器可读介质的特定示例可以包括:非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;随机存取存储器(RAM);固态硬盘(SSD);以及CD-ROM和DVD-ROM磁盘。在一些示例中,机器可读介质可以包括非暂时性机器可读介质。在一些示例中,机器可读介质可以包括不是瞬时传播信号的机器可读介质。
指令1024还可以经由网络接口设备1020使用传输介质在通信网络1026上发送或接收。机器1000可以利用多种传输协议中的任意一种传输协议(例如,帧中继、互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)与一台或多台其他机器进行通信。示例性通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络、以及无线数据网络(例如,被称为的电气和电子工程师协会(IEEE)802.11族标准、被称为的IEEE 802.16族标准)、IEEE 802.15.4族标准、长期演进(LTE)族标准、通用移动电信系统(UMTS)族标准、对等(P2P)网络等。在示例中,网络接口设备1020可以包括一个或多个物理插孔(例如,以太网、同轴或电话插孔)或者一个或多个天线,以连接到通信网络1026。在示例中,网络接口设备1020可以包括多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或者多输入单输出(MISO)技术中的至少一种进行无线通信。在一些示例中,网络接口设备1020可以使用多用户MIMO技术进行无线通信。
如在本文中所描述的,示例可以包括逻辑或多个组件、模块或机构或者在其上操作。模块是能够执行指定的操作的有形实体(例如,硬件),并且可以以某种方式被配置或布置。在示例中,可以以指定的方式将电路布置(例如,内部地或者相对于诸如其他电路的外部实体)为模块。在示例中,一个或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或者一个或多个硬件处理器的全部或部分可以由固件或软件(例如,指令、应用部分或应用)配置为操作用于执行指定的操作的模块。在示例中,软件可以驻留在机器可读介质上。在示例中,软件当由模块的基础硬件来执行时,使所述硬件执行指定的操作。
例子1是一种用于验证密码的装置,包括:硬件处理电路;硬件存储器,其存储指令,所述指令当被运行时将所述硬件处理电路配置为执行包括以下的操作:接收定义被包含在输入密码中的字符序列的输入;忽略在所述字符序列中的第一位置与所述字符序列中的第二位置之间的字符;以及基于在所述字符序列中的非忽略的字符来验证所述密码。
在示例2中,示例1的主题可选地包括:其中,所述第一位置和所述第二位置是由配置数据定义的静态位置。
在示例3中,示例1-2中的任一项或多项的主题可选地包括:所述操作还包括:基于所述字符序列中的至少两个重复字符来识别所述第一位置。
在示例4中,示例1-3中的任一项或多项的主题可选地包括:所述操作还包括:基于日期或者一天中的时间来确定所述第一位置。
在示例5中,示例1-4中的任一项或多项的主题可选地包括:所述操作还包括:获得所述设备的位置,以及基于所述位置来确定所述第一位置。
在示例6中,示例1-5中的任一项或多项的主题可选地包括:所述操作还包括:在所述字符序列上评估正则表达式以识别所述第一位置。
在示例7中,示例6的主题可选地包括:所述操作还包括:在所述字符序列上评估第二正则表达式以识别所述第二位置。
在示例8中,示例1-7中的任一项或多项的主题可选地包括:所述操作还包括:存储忽略的字符;从所述设备接收第二输入,所述第二输入定义被包含在第二密码中的第二字符序列;忽略所述第二字符序列中的第二字符;确定在所存储的忽略的字符与所述第二字符之间的相似性;以及响应于所述相似性满足标准而使对所述第二密码的验证失败。
在示例9中,示例1-8中的任一项或多项的主题可选地包括:所述操作还包括:存储所述第一位置;从所述设备接收第二输入,所述第二输入定义被包含在第二密码中的第二字符序列;确定在所述第二字符序列中的第三位置;基于所述第三位置来忽略在所述第二字符序列中的字符;比较所述第一位置与所述第三位置;以及响应于所述第一位置与所述第三位置相等而使对所述第二密码的验证失败。
示例10是一种由数据处理系统执行以验证密码的方法,包括:接收定义被包含在输入密码中的字符序列的输入;忽略在所述字符序列中的第一位置与在所述字符序列中的第二位置之间的字符;以及基于在所述字符序列中的非忽略的字符来验证所述密码。
在示例11中,示例10的主题可选地包括:其中,所述第一位置和所述第二位置是由配置数据定义的静态位置。
在示例12中,示例10-11中的任一项或多项的主题可选地包括:基于在所述字符序列中的至少两个重复字符来识别所述第一位置。
在示例13中,示例10-12中的任一项或多项的主题可选地包括:基于日期或者一天中的时间来确定所述第一位置。
在示例14中,示例10-13中的任一项或多项的主题可选地包括:获得所述设备的位置,以及基于所述位置来确定所述第一位置。
在示例15中,示例10-14中的任一项或多项的主题可选地包括:在所述字符序列上评估正则表达式以识别所述第一位置。
在示例16中,示例15的主题可选地包括:在所述字符序列上评估第二正则表达式以识别所述第二位置。
在示例17中,示例10-16中的任一项或多项的主题可选地包括:存储忽略的字符;从所述设备接收第二输入,所述第二输入定义被包含在第二密码中的第二字符序列;忽略所述第二字符序列中的第二字符;确定在所存储的忽略的字符与所述第二字符之间的相似性;以及响应于所述相似性满足标准而使对所述第二密码的验证失败。
在示例18中,示例10-17中的任一项或多项的主题可选地包括:存储所述第一位置;从所述设备接收第二输入,所述第二输入定义被包含在第二密码中的第二字符序列;确定在所述第二字符序列中的第三位置;基于所述第三位置来忽略在所述第二字符序列中的字符;比较所述第一位置与所述第三位置;以及响应于所述第一位置与所述第三位置相等而使对所述第二密码的验证失败。
示例19是一种用于验证密码的装置,包括:用于接收定义被包含在输入密码中的字符序列的输入的单元;用于忽略在所述字符序列中的第一位置与在所述字符序列中的第二位置之间的字符的单元;以及用于基于在所述字符序列中的非忽略的字符来验证所述密码的单元。
在示例20中,示例19的主题可选地包括:用于基于所述字符序列中的至少两个重复字符来识别所述第一位置的单元。
因此,术语“模块”应当被理解为包括有形实体,所述有形实体是被物理构造、具体配置(例如,硬接线)或者临时(例如,暂时地)配置(例如,编程)以指定的方式操作或者执行在本文中所描述的任何操作的部分或全部的实体。考虑其中模块被临时配置的示例,所述模块中的每个模块都不需要在任何时刻被实例化。例如,在模块包括使用软件配置的通用硬件处理器的情况下,通用硬件处理器可以被配置为在不同时间的相应不同模块。软件可以因此配置硬件处理器,例如,以在一个时刻构成特定的模块,并且在不同的时刻构成不同的模块。
各种实施例可以全部或部分地以软件和/或固件来实现。该软件和/或固件可以采取包含在非暂时性计算机可读存储介质之内或之上的指令的形式。然后,可以由一个或多个处理器来读取和执行那些指令,以使得能够执行在本文中所描述的操作。指令可以是任何合适的形式,诸如但不限于源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等。这种计算机可读介质可以包括任何有形的非暂时性介质,用于以一台或多台计算机可读的形式存储信息,例如但不限于只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪存;等等。

Claims (10)

1.一种用于验证密码的装置,包括:
硬件处理电路;
硬件存储器,其存储指令,所述指令当被运行时将所述硬件处理电路配置为执行包括以下的操作:
接收定义针对第一认证尝试的字符序列的输入;
忽略在所述字符序列中的第一位置与在所述字符序列中的第二位置之间的字符;
通过验证所述字符序列中的非忽略的字符与存储的密码相匹配而批准所述第一认证尝试;
接收定义针对第二认证尝试的第二字符序列的第二输入;
忽略在所述第二字符序列中的第三位置与在所述第二字符序列中的第四位置之间的字符;
将所述第一位置与所述第三位置进行比较;以及
响应于所述第一位置与所述第三位置相等而使所述第二认证尝试失败。
2.根据权利要求1所述的装置,其中,所述第一位置和所述第二位置是由配置数据所定义的静态位置。
3.根据权利要求1所述的装置,所述操作还包括:基于在所述字符序列中的至少两个重复字符来识别所述第一位置。
4.根据权利要求1所述的装置,所述操作还包括:基于日期或者一天中的时间来确定所述第一位置。
5.根据权利要求1所述的装置,所述操作还包括:获得用户设备的位置,以及基于所述位置来确定所述第一位置。
6.根据权利要求1所述的装置,所述操作还包括:在所述字符序列上评估正则表达式以识别所述第一位置。
7.根据权利要求6所述的装置,所述操作还包括:在所述字符序列上评估第二正则表达式以识别所述第二位置。
8.一种由数据处理系统执行以验证密码的方法,包括:
接收定义针对第一认证尝试的字符序列的输入;
忽略在所述字符序列中的第一位置与在所述字符序列中的第二位置之间的字符;
通过验证所述字符序列中的非忽略的字符与存储的密码相匹配而批准所述第一认证尝试;
接收定义针对第二认证尝试的第二字符序列的第二输入;
忽略在所述第二字符序列中的第三位置与在所述第二字符序列中的第四位置之间的字符;
将所述第一位置与所述第三位置进行比较;以及
响应于所述第一位置与所述第三位置相等而使所述第二认证尝试失败。
9.根据权利要求8所述的方法,还包括:
在所述字符序列上评估正则表达式以识别所述第一位置;以及
在所述字符序列上评估第二正则表达式以识别所述第二位置。
10.一种包括指令的计算机可读存储介质,所述指令当被运行时将硬件处理电路配置为执行包括以下的操作:
接收定义针对第一认证尝试的字符序列的输入;
忽略在所述字符序列中的第一位置与在所述字符序列中的第二位置之间的字符;
通过验证所述字符序列中的非忽略的字符与存储的密码相匹配而批准所述第一认证尝试;
接收定义针对第二认证尝试的第二字符序列的第二输入;
忽略在所述第二字符序列中的第三位置与在所述第二字符序列中的第四位置之间的字符;
将所述第一位置与所述第三位置进行比较;以及
响应于所述第一位置与所述第三位置相等而使所述第二认证尝试失败。
CN201980071849.9A 2018-10-31 2019-10-21 用于增加认证安全性的方法 Active CN113056738B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/176,589 US10956558B2 (en) 2018-10-31 2018-10-31 Methods for increasing authentication security
US16/176,589 2018-10-31
PCT/US2019/057112 WO2020092028A1 (en) 2018-10-31 2019-10-21 Methods for increasing authentication security

Publications (2)

Publication Number Publication Date
CN113056738A CN113056738A (zh) 2021-06-29
CN113056738B true CN113056738B (zh) 2024-07-05

Family

ID=68503215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980071849.9A Active CN113056738B (zh) 2018-10-31 2019-10-21 用于增加认证安全性的方法

Country Status (4)

Country Link
US (1) US10956558B2 (zh)
EP (1) EP3874387B1 (zh)
CN (1) CN113056738B (zh)
WO (1) WO2020092028A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543371B (zh) * 2018-08-09 2020-09-08 湖州申脉科技有限公司 一种智能设备与社交软件的隐私管理方法和系统
JP7338386B2 (ja) * 2019-10-04 2023-09-05 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム
US11757865B2 (en) * 2020-10-23 2023-09-12 International Business Machines Corporations Rule-based filtering for securing password login

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108701183A (zh) * 2016-02-16 2018-10-23 工程409株式会社 利用垃圾数据是否一致的用户认证方法及认证系统

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990009965A (ko) 1997-07-14 1999-02-05 정명식 타자 패턴을 이용한 사용자 인증 방법
GB0229727D0 (en) 2002-12-19 2003-01-29 Ibm Improved password entry
US20090240949A9 (en) 2004-04-23 2009-09-24 Kitchens Fred L Identity authentication based on keystroke latencies using a genetic adaptive neural network
US7539874B2 (en) 2004-05-20 2009-05-26 International Business Machines Corporation Secure password entry
US7444517B2 (en) 2004-06-03 2008-10-28 International Business Machines Corporation Method for protecting a user's password
US8281147B2 (en) 2007-06-21 2012-10-02 Microsoft Corporation Image based shared secret proxy for secure password entry
KR20080112651A (ko) 2007-06-22 2008-12-26 심혁훈 숫자 암호 다중 입력을 통한 사용자 인증 방법
US20090144554A1 (en) * 2007-07-19 2009-06-04 Next Access Technologies, Llc Two-way authentication with non-disclosing password entry
US7921454B2 (en) 2007-10-22 2011-04-05 International Business Machines Corporation System and method for user password protection
JP5666114B2 (ja) * 2009-09-28 2015-02-12 京セラ株式会社 電子機器
US8731197B2 (en) 2010-03-09 2014-05-20 Ebay Inc. Secure randomized input
US8549314B2 (en) 2010-04-29 2013-10-01 King Saud University Password generation methods and systems
US8756712B2 (en) 2011-01-13 2014-06-24 Tamir Goodman Sports Consultant, Llc Tzitzit garment
US8590017B2 (en) 2011-02-28 2013-11-19 International Business Machines Corporation Partial authentication for access to incremental data
US20120246483A1 (en) 2011-03-25 2012-09-27 Netanel Raisch Authentication System With Time Attributes
US8886616B2 (en) * 2012-01-11 2014-11-11 Timothy STOAKES Blocklet pattern identification
SG194267A1 (en) 2012-05-03 2013-11-29 C3S Pte Ltd Method and system for protecting a password during an authentication process
US9184921B2 (en) 2012-12-14 2015-11-10 Microsoft Technology Licensing, Llc Input challenge based authentication
US9135427B2 (en) * 2013-01-30 2015-09-15 Arris Technology, Inc. Authentication using a subset of a user-known code sequence
US9721086B2 (en) 2013-03-15 2017-08-01 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
US9160729B2 (en) 2013-08-20 2015-10-13 Paypal, Inc. Systems and methods for location-based device security
US9172697B1 (en) 2013-09-16 2015-10-27 Kabam, Inc. Facilitating users to obfuscate user credentials in credential responses for user authentication
AU2014393629B2 (en) * 2014-05-08 2018-07-19 Thumbzup UK Limited Authentication code entry system and method
US9350548B2 (en) 2014-05-30 2016-05-24 Tokenym, LLC Two factor authentication using a protected pin-like passcode
US20170163625A1 (en) 2014-07-19 2017-06-08 Roland R. Brown Using timing of character input to verify password
US9407632B2 (en) 2014-09-15 2016-08-02 Ca, Inc. Transformation rules for one-time passwords
US9590808B2 (en) 2014-12-08 2017-03-07 International Business Machines Corporation Obfuscated passwords
US10027684B1 (en) * 2015-04-22 2018-07-17 United Services Automobile Association (Usaa) Method and system for user credential security
WO2017070600A1 (en) 2015-10-21 2017-04-27 Neurametrix, Inc. System and method for authenticating a user through unique aspects of the user's keyboard of typing cadence data
US9626506B1 (en) 2015-12-17 2017-04-18 International Business Machines Corporation Dynamic password generation
US10395065B2 (en) * 2015-12-28 2019-08-27 International Business Machines Corporation Password protection under close input observation based on dynamic multi-value keyboard mapping
KR101769119B1 (ko) * 2016-02-16 2017-08-17 주식회사 프로젝트사공구 정크 데이터 일치여부를 이용한 사용자 인증 시스템 및 방법
US10216311B2 (en) * 2017-02-03 2019-02-26 International Business Machines Corporation User authentication
US10404689B2 (en) 2017-02-09 2019-09-03 Microsoft Technology Licensing, Llc Password security
US10523648B2 (en) * 2017-04-03 2019-12-31 Microsoft Technology Licensing, Llc Password state machine for accessing protected resources

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108701183A (zh) * 2016-02-16 2018-10-23 工程409株式会社 利用垃圾数据是否一致的用户认证方法及认证系统

Also Published As

Publication number Publication date
EP3874387A1 (en) 2021-09-08
US10956558B2 (en) 2021-03-23
EP3874387B1 (en) 2023-11-29
US20200134166A1 (en) 2020-04-30
CN113056738A (zh) 2021-06-29
WO2020092028A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
US10419418B2 (en) Device fingerprint based authentication
CN113056738B (zh) 用于增加认证安全性的方法
EP2965253B1 (en) Security challenge assisted password proxy
US10447678B2 (en) Automated secret renegotiation
US8763101B2 (en) Multi-factor authentication using a unique identification header (UIDH)
CN107249004B (zh) 一种身份认证方法、装置及客户端
US11924197B1 (en) User authentication systems and methods
US9699656B2 (en) Systems and methods of authenticating and controlling access over customer data
US11132465B1 (en) Real-time feature level software security
US20160373422A1 (en) User identity based on location patterns of non-associated devices
US12003497B2 (en) Website verification service
CN113424161A (zh) 用于使用区块链来认证用户的方法、系统和介质
Owens et al. A Framework for Evaluating the Usability and Security of Smartphones as FIDO2 Roaming Authenticators
US20140157372A1 (en) Image forming apparatus, wireless communication system, control method, and computer-readable medium
EP3891629A1 (en) Methods for increasing authentication security
WO2021086390A1 (en) Methods for increasing authentication security
CA2805539C (en) System and method for secure remote access

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant