CN109417471A - 密码生成设备和密码验证设备 - Google Patents

密码生成设备和密码验证设备 Download PDF

Info

Publication number
CN109417471A
CN109417471A CN201780038998.6A CN201780038998A CN109417471A CN 109417471 A CN109417471 A CN 109417471A CN 201780038998 A CN201780038998 A CN 201780038998A CN 109417471 A CN109417471 A CN 109417471A
Authority
CN
China
Prior art keywords
password
identifier
user
computer
generating device
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.)
Granted
Application number
CN201780038998.6A
Other languages
English (en)
Other versions
CN109417471B (zh
Inventor
M·德扬
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.)
Mandel Youlpas Holdings Ltd
Original Assignee
Mandel Youlpas Holdings Ltd
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 Mandel Youlpas Holdings Ltd filed Critical Mandel Youlpas Holdings Ltd
Publication of CN109417471A publication Critical patent/CN109417471A/zh
Application granted granted Critical
Publication of CN109417471B publication Critical patent/CN109417471B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

提供了一种密码生成设备(100)。所述密码生成设备包括一个输入单元(110),被布置成从用户设备接收:‑用于访问计算机资源的计算机地址(310,URL1),‑指示所述用户设备的用户的用户标识符(320),以及‑用户密码(330);以及‑一个密码单元(140),被布置成:‑由基地址系统标识符、用户系统标识符和所述用户密码确定第一组合标识符(340)。此外,所述密码生成设备可以被配置用于密码验证和/或检验。

Description

密码生成设备和密码验证设备
技术领域
本发明涉及密码生成设备、密码验证设备和计算机程序。
背景技术
计算机用户必须记住大量密码,以获得对多种计算机资源的访问。甚至信息或新闻网站也越来越多地推动用户注册“账户”,用“账户”来获得对服务(诸如,个性化新闻等)的访问。同时,先前本地运行的许多应用正被在线型式取代,例如,文字处理、文件存储等。
为了解决密码的扩散,用户已经采用了多种应对策略。例如,一些用户针对他们所有的在线账户简单地使用相同的密码。此方法具有的优点是仅为用户的记忆带来很小的负担,且可能不要求他在本地存储他的密码。另一方面,此方法具有的缺点的是,一旦他的密码被破解,他的所有在线账户都有危险。破解密码甚至不必由用户的错误造成,而可能由于例如他在被非法侵入的网站上有一个账户。
另一种方法是使用密码管理器。密码管理器是帮助用户管理他的密码组的计算机应用。通常,它存储密码(例如,在本地中或在云中),且用一个主密码对它们加密。该应用登录在线账户且跨多个浏览器和设备同步密码。
在实践中,这样的密码管理器仍存在多种缺点。例如,一个被破解的网站仍意味着许多密码也被破解。虽然密码管理器使得使用不同的密码更容易,但是不能保证一个密码是本地唯一的,更不用说多个密码是全球唯一的。此外,密码管理器的非法侵入意味着所有本地密码被破解。无法使所有这些密码快速无效。
密码不仅造成用户的问题,而且造成计算机资源的问题,例如网站自身的问题。特别地,网站不能判断一个密码的质量。例如,网站不能确定一个密码是否也已经被用于一个不同的网站。
发明内容
提供了一种密码生成设备,解决在本文中所提及的一些问题。所述密码生成设备包括:
-一个输入单元,被布置成从用户设备接收:
-用于访问计算机资源的计算机地址,
-指示所述用户设备的用户的用户标识符,以及
-用户密码,
-一个计算机地址单元,被布置成将所述计算机地址映射到一个基地址,以使得多个计算机地址被映射到相同的基地址,
-一个标识符管理器,被布置成:
-确定所述基地址是否向所述标识符管理器注册,且
-如果未注册:将唯一的基地址系统标识符指派到所述基地址,且将所述基地址与所述基地址系统标识符一起存储,
-如果已注册:获得所述基地址系统标识符,
-确定所述用户标识符是否向所述标识符管理器注册,且
-如果未注册:将唯一的用户系统标识符指派到所述用户标识符,且将所述用户标识符与所述用户系统标识符一起存储,
-如果已注册:获得所述用户系统标识符,以及
-一个密码单元,被布置成
-由所述基地址系统标识符、所述用户系统标识符和所述用户密码确定第一组合标识符。
由所述密码生成设备所生成的密码可以是所述第一组合标识符或由所述第一组合标识符推导的,例如通过计算第二组合标识符。由所述密码生成设备所生成的密码具有大量优点,如在本文中所指出的。例如,通过改变系统标识符,可以使整类密码无效。
有利地,所述密码生成系统可以通过确定第二组合标识符来扩展,所述第二组合标识符也允许个体无效。如果需要,由网站强制实行的密码约束可以通过由满足所述密码约束的第一组合标识符和/或所述第二组合标识符推导最终密码来满足。
此外,通过具有用于生成密码的中央系统,可以获得全球安全性改进。例如,在一个实施方案中,所述密码生成设备包括一个验证单元,所述验证单元被布置成确定由网站所接收的密码是否是由所述密码生成系统生成的,且特别地确定它是否是针对该网站生成的。
所述密码生成是电子设备,例如计算机,诸如服务器等。
根据本发明的方法可以作为计算机实施的方法被实施在计算机上,或可以被实施在专用硬件中或可以被实施在这二者的组合中。用于根据本发明的方法的可执行代码可以被存储在计算机程序产品上。计算机程序产品的实施例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,所述计算机程序产品包括存储在计算机可读介质上的非暂时性程序代码,用于当在计算机上执行所述程序产品时执行根据本发明的方法。
在一个优选地实施方案中,所述计算机程序包括计算机程序代码,当所述计算机程序在计算机上运行时,所述计算机程序代码适于执行根据本发明的方法的所有步骤。优选地,所述计算机程序被实现在计算机可读介质上。
附图说明
将参考附图仅以实施例的方式描述本发明的其他细节、方面和实施方案。附图中的元件出于简单明了目的而被例示,并且不必按比例绘制。在图中,与已经描述的元件所对应的元件可以具有相同的附图标记。在附图中,
图1a示意性地示出了密码生成设备的一个实施方案的一个实施例,
图1b示意性地示出了密码单元的一个实施方案的一个实施例,
图2示意性地示出了推导最终密码的一个实施例,
图3示意性地示出了密码生成设备的一个实施方案的一个实施例,
图4示意性地示出了密码生成方法的一个实施方案的一个实施例,
图5a示意性地示出了具有包括根据一个实施方案的计算机程序的可写部分的计算机可读介质,
图5b示意性地示出了根据一个实施方案的处理器系统的表示。
图1a至图3中的附图标记的列表:
100,101 密码生成设备
110 输入单元
120 计算机地址单元
130 标识符管理器
132 数据库
140 密码单元
142 第一组合标识符单元
144 第二组合标识符单元
146 密码校正单元
148 密码约束单元
150 登录提供商单元
160 验证单元
170 票据单元
200 用户设备
210 网络浏览器
250 第一登录提供商
260 第二登录提供商
310 计算机地址
312 基地址
315 基地址系统标识符
320 用户标识符
325 唯一的用户系统标识符
330 用户密码
340 第一组合标识符
345 第一组合系统标识符
350 第二组合标识符
355 最终密码
具体实施方式
虽然本发明可能有许多不同形式的实施方案,但是一个或多个具体实施方案在附图中示出且将在本文中详细描述,应理解的是,本公开内容应被认为是本发明的原理的示例,而不意在将本发明限于所示出的和所描述的具体实施方案。
在下文中,为了理解起见,在操作中描述了实施方案的元件。然而,很明显,相应的元件被布置成执行所描述的由它们执行的功能。
图1a示意性地示出了密码生成设备100的一个实施方案的一个实施例。下面的描述还参考图2,图2例示了在密码生成设备的一个实施方案中所采用的一些数据项之间的可能关系。
密码生成设备100可以与用户设备200一起使用。密码生成设备100被布置成生成密码,该密码可以被用来访问计算机资源。在此方面,密码生成设备100提供了许多优点。例如,相比于无辅助用户通常所生成的密码,密码生成设备100生成更强大的密码,从而降低用户的密码被攻击者猜到的可能性。此外,可以使特定用户的所有密码或特定网站的所有密码快速失效。因此,如果用户或者网站被破解,则可以很容易地使攻击者可能已经获得的任何密码失效。有趣的是,此功能可以在无需存储密码自身的情况下被实施。
密码生成设备100包括输入单元110,该输入单元110被布置成从用户设备200接收计算机地址310、用户密码330和指示该用户设备的用户的用户标识符320。通常,用户密码是原始用户密码的散列(hash),以避免传输原始用户密码。然而,原始用户密码的散列不是必要的,例如,如果用户设备和密码生成设备之间的传输是安全的。
例如,输入单元110可以经由计算机网络(例如,因特网、LAN、WAN等)接收信息。所述计算机网络可以完全地或部分地是有线的或无线的等。
在一个实施方案中,用户设备是运行网络浏览器210的计算机。计算机地址310可以是URL(统一资源定位符),例如,第一url URL1。计算机地址310可以被用来访问网页的登录页面。例如,URL1可以是:https://myaccount.nytimes.com/auth/login。
在一个实施方案中,网络浏览器210被布置成获得用户密码、用户标识符和网页(例如,在其上检测密码字段的网页)的计算机地址。网络浏览器210被布置成将用户密码330、用户标识符320和计算机地址310发送到密码生成设备100,例如,经由计算机网络。例如,上述功能可以所谓的插件形式被实施在网络浏览器中。网络浏览器210可以使用任何附加的期望的通信手段,例如用于进一步保护网络浏览器210和密码生成设备100之间的通信的https协议。
在一个实施方案中,应避免的是,在用户设备200处获得和/或存储原始用户密码,例如,通过网络浏览器210以简单方式发送到密码生成单元。例如,网络浏览器210可以直接从用户接收用户密码,例如,通过键入密码,然而网络浏览器210可以接收原始用户密码且将散列函数应用到该原始密码以获得用户密码。散列函数优选地是单向散列函数,特别是加密散列函数。加密散列函数的实施例包括SHA-2套件。如果需要,可以截断散列输出,例如,截断到64比特或更多等。浏览器210被布置成将用户密码、计算机地址和用户标识符发送到密码生成设备100,但是不发送原始密码。
在一个实施方案中,用户设备200(例如,网络浏览器210)从密码生成设备接收最终密码。用户设备200然后可以使用该最终密码来访问计算机资源。例如,网络浏览器210可以将最终密码录入到密码字段中。用户设备(例如,浏览器210)然后将密码发送到用户资源,以获得访问。密码的通信可以加密,例如使用https。下面给出了一个实施方案,其中密码不传递通过用户设备200,而是直接在密码生成设备100和计算机资源之间直接通信,例如,使用票据。
密码生成设备100没有必要是通过计算机网络与用户设备200连接的外部计算机。例如,密码生成设备100可以被包括在用户设备200中。计算机资源可以是用户设备200经由计算机网络(例如,网络服务(例如,银行服务)、在线编辑器、新闻服务、社交网络站点等)可访问的资源。计算机资源还可以是用户设备200上本地可访问的资源;例如,通过密码来保护的计算机应用。为了解释本发明,将在下面假设,密码生成设备100是用户设备200外部的设备,条件是这不是必要的。
在一个实施方案中,用户设备200可以访问多个计算机资源,例如,多个网站或多个本地应用或它们的组合。具有不同计算机地址(例如,不同的URL)的不同资源通常造成密码生成设备100计算不同的密码。
在一个实施方案中,用户标识符可以向密码生成设备100标识出用户和/或用户设备200。例如,用户标识符可以对于密码生成设备100的所有用户都是唯一的。替代地,用户标识符可以是用来向计算机资源标识出用户的用户标识符。在此情况下,密码生成设备100可以被布置成确保基地址和用户标识符的组合是唯一的,例如,对于密码生成设备100是唯一的。
下面将假设的是,相同的用户将使用相同的用户标识符或有限数量的用户标识符,以访问更大数量的计算机资源。密码生成设备100可以被布置成基于用户标识符来标识用户。
在一个实施方案中,密码生成设备100存储注册用户的用户标识符320的名单。密码生成设备100还可以存储注册用户的设备的设备标识符的名单。例如,名单可以被存储例如在计算机文件、数据库、云中等。输入单元110可以被布置成除了接收用户标识符之外,还接收用户设备标识符。用户设备200可以被布置成如果所接收的用户设备标识符未注册或被阻挡,则拒绝生成密码。同样地,用户设备200可以被布置成如果所接收的用户标识符未注册或被阻挡,则拒绝生成密码。例如,用户设备200可以存储白名单,该白名单具有被接受的用户标识符和/或设备标识符。例如,用户设备可以存储黑名单,该黑名单具有被阻挡的用户标识符和/或设备标识符。白名单和黑名单的组合也是可以的。例如,用户设备200的MAC地址或IP地址可以被用作用户设备标识符。
在一个实施方案中,用户密码包括与用户或用户设备相关联的属性,例如,从生物计量传感器所获得的生物计量标识符。例如,用户设备200可以包括生物计量传感器,该生物计量传感器被布置成产生可再现标识符。生物计量传感器包括指纹传感器和面部生物计量传感器,例如,被布置成将指纹或面部映射到标识符。与用户设备相关联的属性可以例如包括设备配置文档、设备序列号等。与用户相关联的属性可以包括密码、生物计量标识、双因子认证等。
密码生成设备100还包括计算机地址单元120,该计算机地址单元120被布置成将计算机地址映射到基地址312,以使得多个计算机地址被映射到相同的基地址。可能发生的是,在不同的计算机地址下,可访问相同的计算机资源。例如,如果第一计算机地址(URL1)是https://myaccount.nytimes.com/auth/login,第二计算机地址(URL2)是https://nytimes.com/auth/login,第三计算机地址(URL3)是https://nytimes.com/login,则所有三个计算机地址允许访问相同的计算机资源,例如,网站;在此情况下,访问新闻网站的登录页面。尽管两个计算机地址是不同的,但是它们接受相同的登录凭据。计算机地址单元120将不同的计算机地址映射到共同的基地址,以使得将为两个计算机地址生成相同的密码。在一个实施方案中,计算机地址单元120被布置成从计算机地址中选择一个或多个元素作为基地址。例如,计算机地址单元120可以选择URL的域名作为基地址。在上面的实施例中,计算机地址单元120可以被布置成将nytimes.com作为基地址。
另一方面,在一个实施方案中,计算机地址单元120可以被布置成从计算机地址中移除一个或多个元素,以获得基地址。例如,计算机基地址单元120可以移除计算机地址的选定部分,以获得基地址。例如,计算机地址单元可以移除协议指示符(例如,上面实施例中的https)和/或移除共同部分,诸如www等。例如,用后面一种方法,人们可以布置URL1和URL2仍指向相同的基地址,例如nytimes.com/auth/login,但是URL3不指向该基地址。
密码生成设备100还包括标识符管理器130。标识符管理器130被布置成将多个数据项映射到系统标识符。例如,数据项可以向标识符管理器130注册,以获得系统标识符。如果该数据项之前未被注册,则指派一个新的系统标识符。如果该数据项之前已经被注册,则检索一个新的系统标识符。系统标识符优选地是唯一的,例如在系统中注册的特定类型的数据项内是唯一的,或在由标识符管理器130所指派的所有标识符内是唯一的。这可以通过使用序列号、时间戳来实现,所述序列号、时间戳可能被(例如,加密的或散列的等)抗碰撞函数修改。更严格的要求是,系统标识符是全球唯一的。后者可以通过指派足够长度的随机数来实现;例如,80比特的随机数、120比特的随机数等。可以通过估计系统寿命内世界范围所使用的系统标识符的最大数量来计算足够的长度。期望的是,随机系统标识符将足以是全球唯一的。例如,系统标识符可以是所谓的“全球唯一标识符”,也被称为GUID。随机数生成器可以被包含在密码生成系统100中。
在一个实施方案中,标识符管理器130被用来获得用于基地址且用于用户标识符的系统标识符:
例如,标识符管理器130被布置成确定基地址是否向标识符管理器注册,且
-如果未注册:将唯一的基地址系统标识符315指派到该基地址,且将该基地址与该基地址系统标识符一起存储,
-如果已注册:获得该基地址系统标识符315,
例如,标识符管理器130被布置成确定所接收的用户标识符是否向标识符管理器注册,并且
-如果未注册:将唯一的用户系统标识符325指派到该用户标识符,且将该用户标识符与该用户系统标识符一起存储,
-如果已注册:获得该用户系统标识符325。
密码生成设备100包括密码单元140。密码单元140被布置成计算密码。密码单元被布置成由基地址系统标识符、用户系统标识符和所接收的用户密码来确定第一组合标识符340。例如,密码单元140可以被布置有第一组合标识符函数,密码单元140将该第一组合标识符函数应用于基地址系统标识符、用户系统标识符和用户密码。该函数优选地是抗碰撞的且单向的。例如,该函数可以包括加密散列函数。可以由第一组合标识符340例如通过密码约束单元(下面进一步解释的)直接计算最终密码。第一组合标识符340还可以被直接用作密码。注意到,通常数字可以根据需要被表达为位串、字符串等。密码约束可以包括对字符的数量、字母的数量、数字的数量、标点符号的数量等的限制。
因为密码是由几个元素构成的,所以个体元素不需要很强大。例如,人们可以生成安全的密码,而用户仅需要记住一个相对简单的密码。此外,他甚至可以将此密码重复使用于所有计算机资源,例如,他的所有账户。猜测密码对于攻击者是困难的,因为他不允许访问系统标识符。
由第一组合标识符340推导最终密码(例如,如上面公开的)或经由第二组合标识符推导最终密码(如下面示出的)具有许多优点。通过改变基地址系统标识符可以将用于特定计算机资源(例如,用于特定网站(例如,用于nytimes.com))的所有密码一起重置。同样地,通过改变用户系统标识符,可以将特定用户的所有密码一起重置。在一个实施方案中,所述标识符管理器被布置成改变所述基地址系统标识符,从而更新用于所述计算机资源的所有密码,和/或改变所述用户系统标识符,从而更新用于所述用户标识符的所有密码。例如,密码生成设备100可以包括标识符管理器接口,以用于实现所述改变。标识符管理器接口优选地被保护。例如,标识符管理器接口可以受密码保护、仅本地可访问(经由计算机网络不可访问)等。
例如,一旦站点被破解,可以立刻使该站点的所有密码无效。因为第一组合标识符340是使用抗碰撞函数计算的,所以密码生成设备100不可能再次生成无效的密码。
注意到,为了改变用于特定资源和/或用于特定用户的所有密码,所有所接收的组分(例如,用户标识符、计算机地址和用户密码)都不需要被改变。这允许人们在没有用户影响的情况下使密码无效。
在一个实施方案中,标识符管理器130也被用于第一组合标识符340,以获得第一组合系统标识符345。例如,标识符管理器130可以被布置成确定第一组合标识符是否向标识符管理器注册,且
-如果未注册:将唯一的第一组合系统标识符345指派到第一组合标识符340,且将第一组合标识符340与第一组合系统标识符345一起存储,
-如果已注册:获得指派给第一组合标识符340的第一组合系统标识符345。
密码单元140被进一步布置成由至少第一组合系统标识符345确定第二组合标识符350。密码单元140可以使用附加的输入来确定第二组合标识符350。在一个实施方案中,密码单元140使用用户标识符、基地址和用户密码中的一个或多个作为附加输入。例如,密码单元140可以被布置有第二组合标识符函数,密码单元140将该第二组合标识符函数应用到其输入。第二组合标识符函数可以具有与第一组合标识符函数相同的要求。例如,两个函数可以是相同的。例如,第二组合标识符函数可以包括加密散列函数。在一个实施方案中,第二组合标识符函数接收至少第一组合系统标识符345和用户密码作为输入。在一个实施方案中,可能除了上面的输入(诸如,用户密码)以外,密码单元140可以使用第一组合标识符340作为附加输入。
在一个实施方案中,如果都未注册,则通过存储第一组合标识符340的散列来存储第一组合标识符340。这提高了数据库被破解情况下的安全性。例如,标识符管理器可以被布置成通过使第一组合标识符340散列和使用该散列作为密钥(key)寻找存储器(例如,本地存储器、数据库132、云存储器等)中的第一组合系统标识符345,来确定第一组合标识符340是否向标识符管理器注册。如果作为密钥的第一组合标识符340的散列未被找到(例如,对应的第一组合系统标识符345先前未被指派),则将唯一的第一组合系统标识符345指派到第一组合标识符340。在此情况下,第一组合系统标识符345可以被存储在与作为密钥的第一组合标识符340的散列相关联的存储器中。密钥有时也被称为数据库密钥。除了数据库,关联阵列也可以被用来存储密钥值对。例如,对(h(x),y)可以被存储,其中x是第一组合标识符340,y是第一组合系统标识符345,且h是(可能加盐)散列函数。
在使用所接收的用户输入和系统标识符的阶段中计算密码具有的效果是,可以更有选择性地取消密码。在一个实施方案中,标识符管理器130被布置成改变第一组合系统标识符345,从而更新用于所述用户标识符和所述计算机资源的第二组合标识符350和/或最终密码。这允许仅改变用于特定计算机资源的密码,而不重置用于该用户的所有密码或用于该计算机资源的所有密码。
在一个实施方案中,密码生成设备100包括一个密码约束单元148。密码约束单元148被布置成获得(例如,检索)用于计算机资源的密码约束。例如,密码约束可以从本地存储器(例如,数据库132)检索,或者可以从计算机资源检索等。
密码约束单元148由第二组合标识符350(或者,如果没有使用第二组合标识符,则由第一组合标识符340)来确定满足密码约束的最终密码。例如,第二组合标识符350可以是512-位串,例如,作为散列函数的输出。密码约束可以是密码的长度。密码约束可以是在密码中所使用最大8个字母-数字字符。可以检索此约束,且可以生成满足此条件的密码。例如,第二组合标识符350可以被映射到62个基数(26+26+10),该基数转而被映射到字母数字串。然后,该串可以被截断成8个字符。许多约束可以以此方式被采用。注意到的是,替代约束单元,计算机资源可以适于直接接受位串作为密码,比方说,512位串。另一约束可以是,最终密码包含至少一个数字。这可以通过如下方式来完成:首先基于第二组合标识符350选择数字和位置,随后基于第二组合标识符350填充剩余的位置。这同样可以用于前述字母、标点等。
满足最终密码包含至少一个数字的另一约束也可以通过如下方式来完成:首先基于一个字符在第二组合标识符350中出现的频率,从该第二组合标识符中选择该字符,随后将它用一个数字取代。所选定的字符例如通过使用模函数来确定哪个数字被选择。此程序可以被用来满足所有所规定的字母、标点等,且如果需要不止一个数字等,此程序可以被重复。
在图1a中所示出的实施方案中,标识符管理器130使用数据库132。例如,标识符管理器130可以在数据库132中存储记录,所述记录包含数据项和系统标识符以及可能地另外的信息,诸如数据类型。数据类型可以包括例如基地址和用户标识符等。在一个实施方案中,数据库132使用一个以上的关联阵列,所述关联阵列将数据项与系统标识符相关联。例如,数据库132可以包括用于基地址、用于用户标识符等的关联阵列。
图1b示意性地示出了密码单元140的一个实施方案的一个实施例。
密码单元140包括第一组合标识符单元142,该第一组合标识符单元142被布置成从输入单元110接收输入(例如,用户密码330),且从标识符管理器130接收输入(例如,基地址系统标识符315和用户系统标识符325)。第一组合标识符单元142可以被布置成应用第一组合标识符函数。密码单元140还包括第二组合标识符单元144。第二组合标识符单元144被布置成从标识符管理器130接收输入(例如,第一组合系统标识符345)。第二组合标识符单元144可以接收附加的输入(例如,第一组合标识符340),或从输入单元110接收输入(例如,用户密码等)。密码单元140还可以包括密码约束单元148,用于计算满足由计算机资源所施加的约束的最终密码。
在一个实施方案中,密码生成设备100可以被布置成存储一个密码校正因子。密码单元140可以包括密码校正单元146,该密码校正单元146被布置在第二组合标识符单元144和密码约束单元148之间,且被布置成将密码校正因子应用于第二组合标识符350,以将它映射到先前针对一个不同的用户标识符所生成的另一第二组合标识符。例如,密码校正因子可以被存储在数据库132中,例如,与第二组合系统标识符等一起。不能够从校正因子来确定任一组合标识符。
密码校正单元146允许两个不同的用户以安全的方式共享一个账户。用户共享他们的密码并不罕见,例如,联合使用同一账户。如果两个用户具有不同的用户标识符,则如上面所述的系统将为两个用户计算不同的密码。例如,如果第一用户具有为他所计算的第一第二组合标识符,而第二用户具有为他所计算的第二第二组合标识符。通过存储例如第一第二组合标识符和第二第二组合标识符之间的差异作为校正因子,密码校正单元146可以例如将第二第二组合标识符映射到第一第二组合标识符。通过移除校正因子,账户之间的链接被移除。可以以许多方式计算该差异,例如作为算术差、XOR等。
密码校正单元146还可以被用来强制密码保持相同,即使比方说计算机资源的基地址、用户标识符或用户密码改变了。
图2示意性地示出了推导最终密码的一个实施例。图2中示出了计算机地址310、用户标识符320和用户密码330。这些可以例如从用户设备200接收。
计算机地址310被映射到一个基地址312,基地址312转而被映射到唯一的基地址系统标识符315。用户标识符320被映射到唯一的用户系统标识符325上。这三个数据项:基地址系统标识符315、用户系统标识符325和用户密码330被映射到第一组合标识符340上。第一组合标识符340被映射到第一组合系统标识符345。注意到,通过改变系统标识符的映射中的任何一个映射,可以使对应的密码无效。
第一组合系统标识符345可能地与另一输入一起被映射到第二组合标识符350。例如,图2示出了在此映射中也使用用户密码330。最终,第二组合标识符350被映射到满足密码约束的最终密码355。
图3示意性地示出了密码生成设备101的一个实施方案的一个实施例。密码生成设备101是密码生成单元100的改进且包括大量附加可选特征。
密码生成设备101包括登录提供商单元150,该登录提供商单元150被布置成连接在第一登录提供商250和用户设备200之间。第一登录提供商250被布置成提供第一原始用户标识符。例如,第一登录提供商可以是例如使用OpenID Connect协议的登录提供商,诸如Google、Facebook、LinkedIn等。登录提供商单元150被布置成从所述第一原始用户标识符获得所述用户标识符且将它发送到所述用户设备。例如,登录提供商单元150可以将用户标识符函数应用于原始用户标识符。用户标识符函数可以包括散列函数,例如,加密散列。
使用OpenID Connect协议可以按照如下方式工作。首先,用户尝试在登录提供商单元150处登录。如果不存在先前的登录仍然有效,则登录提供商单元150将登录尝试重新指向到第一登录供应商250。在登录供应商250(例如,Google)处,用户使用他的常规登录凭据来登录。随后,他被重新指向回到登录提供商单元150。在登录提供商单元150处,如由登录供应商250所提供的原始用户标识符被接收。从该原始用户标识符获得用户标识符。例如,此映射可以是一个函数,例如使用散列的,但是它也可以使用标识符管理器130。该用户标识符然后被发送到用户设备200上。最终,用户设备200使用该用户标识符来从密码生成设备101获取密码。
注意,如果不存在先前的登录仍然有效,则登录提供商单元150还可以将用户重新指向到菜单,他可以在菜单中选择一个登录提供商。在用户进行选择之后,登录提供商单元150将用户重新指向到所选定的登录提供商。
使用OpenID Connect标准,在无需密码生成设备101存储用户账户和凭据的情况下获得用户标识符。事实上,用户不需要在密码生成设备101处创建一个账户。OpenIDConnect协议使得可以使用这些所谓的登录提供商的基础设施来认证用户。密码生成设备101被赋予登录提供商的唯一的用户标识符,该唯一的用户标识符然后以散列的形式或加密的形式等被用作所生成的密码的三个组成部分中的一个,例如用户标识符320。因此,既不需要存储用户密码,也不需要存储源自登录提供商250的原始用户标识符。
此方法增加了用户的信任,因为他/她不需要委托密码生成设备101存储密码或原始用户标识符。此外,可以使用多个登录提供商,且用户可以选择他/她想使用哪个。目前,例如Google、Facebook、LinkedIn和Microsoft提供能与密码生成设备101一起使用的登录服务。因此,密码生成设备101可以利用登录提供商的安全基础设施。例如,如由例如Google提供的双因子认证因此可用于密码生成设备101。多个登录提供商可以通过合适的登录协议(例如,OpenID Connect协议)被连接。
在一个实施方案中,登录提供商单元150被布置成与多个登录提供商(例如,第一登录提供商250和第二登录提供商260)一起工作。例如,如果用户使用第二登录提供商260登录,则密码生成设备101将设有另一原始用户标识符。如果此第二原始用户标识符被散列成另一用户标识符,则该用户的所有密码将是不同的。在一个实施方案中,标识符管理器130被布置成存储用户标识符校正因子,密码生成设备101将该用户标识符校正因子应用到另一用户标识符,以将它映射到用户标识符,例如在输入单元、密码生成单元等中。与用于密码的校正因子一样,用户标识符校正因子可以是另一用户标识符和该用户标识符之间的差异。与用于密码的校正因子一样,不可能从校正因子来确定任一用户标识符。
用户标识符校正因子的一个作用是用户不需要追踪针对哪些站点他使用了哪个登录提供商。此外,用户可以使用选择的登录提供商,即使计算机资源不支持特定的登录提供商。密码生成设备101支持特定的登录提供商就足够了。以此方式,许多登录提供商可以通过密码生成设备101而被网站支持,甚至在它们自身仅支持简单的密码登录的情况下。例如,网站A除了支持用密码手动登录之外,还可以支持登录提供商250,且网站B除了支持用密码手动登录之外,还可以支持登录提供商260。但是,登录提供商150可以支持登录提供商250和登录提供商260这二者。这意味着,用户可以根据需要而登录到登录提供商250或260,接收(原始)用户标识符,且接收用于网站A或网站B的密码。此外,通过使用校正因子,用户将获取相同的密码,而不论使用登录提供商250或260登录。这意味着,即使用户使用网站A,他也可以使用登录提供商260,或者即使他使用网站B,他也可以使用登录提供商250。在两种情况下,网站A和网站B的手动登录选项被用来录入由密码生成设备所生成的密码。因此,密码生成设备101充当计算机资源(例如,网站)和用户之间的中介者(broker)。用户仅需要允许密码生成设备101经由登录提供商登录。
在一个实施方案中,标识符管理器130被布置成存储所生成的密码的散列,可选地用随机盐(random salt)加盐。此散列在本文中被称为所生成的密码的签名(signature)。签名用作密钥来存储关于所生成的密码的附加信息。此附加信息可以包括对应的计算机地址或基地址、所施加的密码约束等。最终,具有所生成的密码或其散列允许查找相关联的信息,且例如允许验证对应的计算机地址或基地址是否正确。
例如,在一个实施方案中,密码生成设备101可以包括一个验证单元160。验证单元160包括一个接口,该接口被布置成接收密码以及可选地计算机地址。验证单元160被布置成确定密码是否以散列的形式被存储,且可选地确定所接收的地址是否匹配与所存储的散列的密码相关联的基地址。验证单元160可以在接口上接收散列形式或非散列形式的密码,其中前者是优选的。因此,计算机资源可以通过接口询问验证单元160,以验证是否针对该特定的资源而生成了一个特定的密码。例如,验证单元160可以按照如下方式操作。如果已经在接口上接收了非散列形式的密码,则使密码散列以获得签名;如果已经接收散列形式的密码,则所接收的散列形式的密码可以直接形成签名。然后,验证单元160通过查看散列的所接收的密码(例如,通过查看签名)来验证密码是否先前被标识符管理器130存储。如果发现了签名,则检索包括计算机地址或基地址的相关联的附加信息。如果未发现签名,则所接收的密码不是由密码生成器生成的。然后,将所检索到的计算机地址与所接收的计算机地址进行比较。如果两个地址相等,则所接收的所生成的密码是针对所接收的计算机地址而生成的,否则,所接收的所生成的密码被用在错误的网站,这可能指向一个攻击或系统中的一个错误等。
在一个实施方案中,验证单元160的接口被布置成例如从计算机资源接收非散列的形式的密码,使用验证单元160来验证密码。在此实施方案中,标识符管理器130可以存储元组(h(pi),aj,…,ak)。在这些公式中,pi表示所生成的密码,h表示散列函数(可能地包括盐),αj,..,αk表示与所生成的密码相关联的属性。在这些公式中,第一条目是用作密钥的签名。在验证单元160接收密码p和计算机地址ca之后,验证单元160可以计算签名h(p)、检索相关联的所存储的属性,且将所接收的计算机地址与所检索到的计算机地址进行比较,以验证它们是否相等。
在一个实施方案中,验证单元160的接口被布置成从例如希望验证密码的计算机资源接收散列形式的密码。在此实施方案中,标识符管理器130可以存储元组(h(pi),aj,...,ak)。在验证单元160接收了散列的密码p和计算机地址ca之后,它可以使用签名h(p)作为密钥,且检索相关联的所存储的属性且将所接收的计算机地址与所检索到的计算机地址进行比较,以验证它们是否相等。在上面的实施方案中,属性可以存储基地址,且所接收的计算机地址在比较之前被映射到一个基地址。
如果在验证单元160的接口上接收了简单形式的密码,则第一种选择是可用的,如果在验证单元160的接口上接收了散列形式(h(pi))的密码,则后一种选择是可用的。
验证单元160可以确定攻击者是否正在不正确的网站上使用所捕获的密码来查看密码是否工作。如果做出这样的确定,则可以使密码失效,例如通过改变第一组合系统标识符,或者甚至改变与所存储的散列的密码相关联的基地址系统标识符和/或用户系统标识符;例如,根据升级(escalation)的水平。散列的密码可以被标识符管理器130存储,例如与第一组合系统标识符一起。即使对应的系统标识符改变了,散列的密码也可以被存储,以使得还可以检测旧密码的滥用。在本文中给出的实施方案是例示性的,但是要强调的是,可以以此方式识别不同的使用模式,且可以适当地以不同的方式采取行动。
密码生成设备101自身不存储密码。然而,验证单元160可以存储密码的签名。签名可以是由密码生成设备101所生成的密码的散列,可选地与盐组合。前面可以与附加信息关联。附加信息可以包括网站,针对该网站生成密码。所生成的密码的签名可以被用作密钥,所述密钥用来检索附加信息。因为散列是单向的,所以不可能从签名获得所产生的密码自身或用户密码或登录提供商的用户ID。
计算机资源(例如,网站)可以将优选地散列形式的密码发送到密码生成设备101,且验证单元160可以检验:
1.所接收的密码的签名是否对应于由密码生成设备101所生成的密码。如果是,则可知网站从用户接收了很强大的全球唯一的密码。如果不是,则网站可以拒绝该密码,例如因为不能够给出该密码的质量保证。例如,网站可以警告用户和/或提供他/她应当使用密码生成设备101的信息。
2.所接收的密码的签名是否对应于针对该特定网站所生成的密码。如果不是,则必须处理滥用或用户错误。
3.所接收的密码的签名是否对应于活动密码,例如未被阻挡的。如果是,则该密码是强大的,且旨在用于该站点且是活动的。如果不是,则这可能是滥用的,或者可能对应于将旧密码存储在某处且现在使用它的用户。这样的用户可以直接通过验证单元160来通知。
在一个实施方案中,密码生成设备可以被匿名地使用,且可能没有办法联系用户。但是,验证单元160可以被布置成例如通过电子邮件通知滥用或用户错误的密码的拥有者。例如,用户可以选择在初始注册期间注册他的/她的联系信息,例如邮件地址。签名可能与注册用户相关联,以使得验证单元160可以经由签名获得用户的联系信息。
因此,验证单元160提供密码检验能力,具有提供直接反馈给用户的选择。通过验证单元160可以监测不正确的或无效的密码的使用。可以通过不正确的密码尝试的验证单元160通知这样的网站:针对该网站生成密码的网站,以及将密码报告到验证单元160的接口上的网站。
因此,密码生成设备101可以超出网站的界限来检验密码的强大性。这使由一些网站所强制实行的密码约束变得多余。网站可以确信,如果密码是由密码生成设备101生成的,则密码很强大且是全球唯一的。注意到,目前的密码约束不能验证密码是否是全球唯一的。事实上,使用密码生成设备100或101的网站不需要使用用户标识符来登录。因为密码很强大且至少对于该网站是唯一的,且优选地是全球唯一的,所以用户可以唯一地被其密码识别。
在一个实施方案中,密码生成设备101包括票据单元170。票据单元170被布置成将票据标识符指派到所生成的密码,且存储:票据标识符、票据约束和所生成的密码。票据单元170被布置成将票据标识符发送给用户设备200。
票据单元170被布置成:
-从计算机资源接收所接收的票据标识符和所接收的计算机地址,且
-验证票据标识符被票据单元170指派,且验证所接收的计算机地址是否与票据约束和所生成的密码相关联的基地址相匹配,且如果是这样,则将所生成的密码发送到所述计算机资源。
使用票据,避免了最终密码需要通过用户设备传递。用户设备以及用户设备与资源之间的连接可能是恶意软件的主要来源,从而是密码被破解的最可能的点。以此方式,增加了密码的安全性。
在此认证方法中,密码生成设备101照常生成最终密码,但是不会将密码发送到用户设备200。票据标识符可以是随机数。票据被(至少临时地)存储。当计算机资源发送票据标识符时,密码生成设备101验证多种约束,例如票据是否还未被使用、是否已经针对该站点生成了票据、是否已经在与票据相关联的时间帧中接收了票据等。票据和/或其密码可以加密通信,例如,使用https。
在一个实施方案中,票据以及所存储的所生成的密码具有有效期。在有效期之后,该密码从系统被删除。这意味着,在有效期之后,票据不能被使用。还意味着,密码的暴露是有限的。在一个实施方案中,以加密的形式存储密码,例如使用存储在系统中(例如,在易失性存储器中)的密钥。
在一个实施方案中,票据单元被进一步扩展为管理关于用户的个人信息。例如,密码生成设备可以存储一个或多个与用户相关联的个人信息项。票据单元170被布置成生成另一票据标识符,且将该另一票据标识符与用户关联。在某种意义上说,创建两个票据,例如同时生成密码。第一票据被用来将密码传输到正确的计算机资源,例如网站,而无需仔细检查用户设备;第二票据被用来管理个人信息。初始地,仅第一票据被传输到计算机资源,例如通过用户设备。
当第一票据被使用时,例如如上所指出的被正确地验证,所生成的密码被发送(可能地,在本地解密和/或加密之后以用于传输)到计算机资源。第二票据(例如,另一票据标识符)也被发送到计算机资源,例如与所生成的密码一起。
稍后,如果计算机资源需要访问个人信息项,则计算机资源可以将第二票据(例如,另一票据标识符)发送到系统100。票据单元170被布置成接收另一所接收的票据标识符,且验证另一所接收的票据标识符是否与所存储的另一票据标识符相匹配。如果后面的验证是正确的,则与用户相关联的个人信息被发送到计算机资源。
第二票据可以被用来请求关于用户的附加信息。例如,电子邮件地址或手机号码等。以此方式,用户能够管理可以检索关于他的信息的站点。用户可以在一个位置(例如,设备100)上跟踪此信息。如果用户停止使用计算机资源,则他可以拒绝在设备100上进一步访问他的信息。
通常,设备100、101、200、250和260各自包括一个微处理器(未示出),该微处理器执行存储在设备处的适当软件;例如,该软件可能已经被下载和/或被存储在对应的存储器内,例如,易失性存储器(诸如,RAM)或非易失性存储器(诸如,设备的Flash(未分立示出))。替代地,设备可以整体地或部分地以可编程逻辑实施为例如现场可编程门阵列(FPGA)。设备可以整体地或部分地被实施为所谓的专用集成电路(ASIC),即针对它们的特定用途所定制的集成电路(IC)。例如,所述电路可以被实施在CMOS中,例如使用硬件描述语言(诸如Verilog、VHDL等)。
在一个实施方案中,密码生成设备101包括输入电路、计算机地址电路、标识符管理器电路、密码电路、登录提供商电路、验证电路、票据电路等。所述电路实施本文所描述的对应的单元。所述电路可以是处理器电路和存储电路,该处理器电路执行该存储电路中以电子形式表示的指令。所述电路还可以是FPGA、ASIC等。
图4以流程图的形式示意性地示出了密码生成方法400的一个实施方案的一个实施例。
密码生成方法400包括:
-从用户设备接收410:
-用于访问计算机资源的计算机地址310、URL1,
-指示所述用户设备的用户的用户标识符320,以及
-用户密码330,
-将该计算机地址映射420到基地址312,以使得多个计算机地址URL1、URL2被映射到相同的基地址,
-确定430该基地址是否向标识符管理器注册,并且,
-如果未注册:将唯一的基地址系统标识符315指派432到所述基地址,且将所述基地址与所述基地址系统标识符一起存储,
-如果已注册:获得434所述基地址系统标识符,
-确定440所述用户标识符是否向所述标识符管理器注册,并且
-如果未注册:将唯一的用户系统标识符325指派442到所述用户标识符,且将所述用户标识符与所述用户系统标识符一起存储,
-如果已注册:获得444所述用户系统标识符,以及
-由所述基地址系统标识符、所述用户系统标识符和所述用户密码确定450第一组合标识符340。
-确定460第一组合标识符340是否向所述标识符管理器注册,且
-如果未注册:将唯一的第一组合系统标识符指派462到第一组合标识符340,且将第一组合标识符340与所述第一组合系统标识符一起存储,
-如果已注册:获得464指派给第一组合标识符340的第一组合系统标识符,以及
-由至少所述第一组合系统标识符确定470第二组合标识符,以及
-由满足资源的密码约束的第二组合标识符350确定480最终密码。
注意到,方法400包括可选步骤460-480。
如本领域的技术人员将明了的,许多不同的执行所述方法的方式是可能的。例如,所述步骤的顺序可以变化或一些步骤可以并行执行。此外,在步骤中间可以插入其他方法步骤。所插入的步骤可以表示诸如本文所描述的所述方法的改进,或可以与所述方法无关。例如,步骤430-434和步骤440-444可以颠倒或者至少部分地并行执行。此外,在开始下一步骤之前,一个给定的步骤可能尚未完全完成。
可使用软件执行根据本发明的方法,该软件包括用于使处理器系统执行方法400的指令。软件可以仅包括所述系统的特定子实体所采用的那些步骤。该软件可以被存储在合适的存储介质(诸如,硬盘、软盘、存储器、光盘等)中。该软件可以作为信号沿着缆线或无线地或使用数据网络(例如,因特网)被发送。该软件可供下载和/或供在服务器上远程使用。可以使用被布置成配置可编程逻辑(例如,现场可编程门阵列(FPGA))以执行所述方法的比特流来执行根据本发明的方法。
应理解,本发明还扩展到适于将本发明付诸实践的计算机程序,特别是位于载体上或位于载体中的计算机程序。该程序可以是源代码形式、目标代码形式、源代码和目标代码之间的中间代码形式(诸如,部分编译形式),或适合用于在实施根据本发明的方法中使用的任何其他形式。涉及计算机程序产品的实施方案包括对应于所阐明的方法中的至少一个的每个处理步骤的计算机可执行指令。这些指令可以被细分成子例程和/或可以被存储在可被静态或动态链接的一个或多个文件中。涉及计算机程序产品的另一实施方案包括对应于所阐明的系统和/或产品中的至少一个系统和/或产品的每个装置的计算机可执行指令。
图5a示出了计算机可读介质1000,该计算机可读介质1000具有包括计算机程序1020的可写部分1010,计算机程序1020包括用于使处理器系统执行根据一个实施方案的密码生成方法的指令。计算机程序1020可以作为物理标记或借助于计算机可读介质1000的磁化而在计算机可读介质1000上实现。然而,还可想到任何其他合适的实施方案。此外,应理解,尽管计算机可读介质1000在此被示出为光盘,但是计算机可读介质1000可以是任何合适的计算机可读介质(诸如硬盘、固态存储器、闪速存储器等),并且可以是不可记录的或可记录的。计算机程序1020包括用于使处理器系统执行所述密码生成方法的指令。
图5b示出了根据一个实施方案的处理器系统1140的示意性表示。该处理器系统包括一个或多个集成电路1110。一个或多个集成电路1110的架构被示意性地示出在图5b中。电路1110包括处理单元1120,例如CPU,用于使计算机程序部件运行,以执行根据一个实施方案的方法和/或以实施它的模块或单元。电路1110包括用于存储程序代码、数据等的存储器1122。存储器1122的一部分可以是只读的。电路1110可以包括通信元件1126,例如天线、连接器或这二者等。电路1110可以包括用于执行在所述密码生成方法中所定义的处理的部分或全部的专用集成电路1124。处理器1120、存储器1122、专用IC 1124和通信元件1126可以经由互连件1130(比如说,总线)而被相互连接。处理器系统1110可以被布置成分别使用天线和/或连接器来实现接触通信和/或非接触通信。
应注意,上文提及的实施方案例示而非限制本发明,且本领域技术人员将能够设计许多替代实施方案。
在权利要求中,放置在括号中的任何参考标记都不应被解释为限制权利要求。动词“包括”以及其词形变化的使用不排除存在权利要求中所列元件或步骤之外的其他元件或步骤。元件前面的冠词“一(a)”或“一个(an)”不排除存在多个这样的元件。本发明可以通过硬件(包括若干分立元件)以及通过适当编程的计算机实现。在列举了若干设备的装置权利要求中,这些设备中的若干可以通过同一项硬件实现。某些措施被记载在相互不同的从属权利要求中这一纯粹事实并不指示不能有利地使用这些措施的组合。
在权利要求中,括号中的参考指实施方案的图中的参考标记或实施方案的公式,因此增加了权利要求的可理解性。这些参考不被解释为限制权利要求。

Claims (16)

1.一种密码生成设备(100),包括:
-一个输入单元(110),被布置成从用户设备接收:
-用于访问计算机资源的计算机地址(310,URL1),
-指示所述用户设备的用户的用户标识符(320),以及
-用户密码(330),
-一个计算机地址单元(120),被布置成将所述计算机地址映射到一个基地址(312),以使得多个计算机地址(URL1、URL2)被映射到相同的基地址,
-一个标识符管理器(130),被布置成:
-确定所述基地址是否向所述标识符管理器注册,且
-如果未注册:将唯一的基地址系统标识符(315)指派到所述基地址,且将所述基地址与所述基地址系统标识符一起存储,
-如果已注册:获得所述基地址系统标识符,
-确定所述用户标识符是否向所述标识符管理器注册,且
-如果未注册:将唯一的用户系统标识符(325)指派到所述用户标识符,且将所述用户标识符与所述用户系统标识符一起存储,
-如果已注册:获得所述用户系统标识符,以及
-一个密码单元(140),被布置成:
-由所述基地址系统标识符、所述用户系统标识符和所述用户密码来确定第一组合标识符(340)。
2.根据权利要求1所述的密码生成设备,其中,
-所述标识符管理器被进一步布置成:
-确定所述第一组合标识符是否向所述标识符管理器注册,且
-如果未注册:将唯一的第一组合系统标识符指派到所述第一组合标识符,且将所述第一组合标识符与所述第一组合系统标识符一起存储,
-如果已注册:获得指派给所述第一组合标识符的第一组合系统标识符,以及
-所述密码单元被进一步布置成由至少所述第一组合系统标识符确定第二组合标识符。
3.根据前述权利要求中的任一项所述的密码生成设备,其中,
-所述密码单元被进一步布置成检索用于所述计算机资源的密码约束,且由所述第二组合标识符和/或所述第一组合标识符确定最终密码,所述最终密码满足所检索到的密码约束。
4.根据前述权利要求中的任一项所述的密码生成设备,其中,
-所述标识符管理器被布置成:
-改变所述基地址系统标识符,从而更新用于所述计算机资源的所有密码,和/或
-改变所述用户系统标识符,从而更新用于所述用户标识符的所有密码,和/或
-改变所述第一组合系统标识符,从而更新用于所述用户标识符和所述计算机资源的所述第二组合标识符和/或最终密码。
5.根据前述权利要求中的任一项所述的密码生成设备,其中所述密码生成设备包括:
-一个登录提供商单元(150),被布置成连接在第一登录提供商(250)和所述用户设备之间,所述第一登录提供商提供第一原始用户标识符,所述登录提供商单元被布置成从所述第一原始用户标识符获得所述用户标识符且将所述用户标识符发送到所述用户设备。
6.根据前述权利要求中的任一项所述的密码生成设备,其中所述登录提供商单元被布置成连接在第二登录提供商(260)和所述用户设备之间,所述第二登录提供商提供第二原始用户标识符,所述登录提供商单元被布置成从所述第二原始用户标识符获得另一用户标识符且将所述另一用户标识符发送到所述用户设备,所述标识符管理器被布置成存储用户标识符校正因子,所述密码生成设备将所述用户标识符校正因子应用到另一用户标识符,以将该另一用户标识符映射到所述用户标识符。
7.根据前述权利要求中的任一项所述的密码生成设备,其中所述标识符管理器存储密码校正因子,所述密码生成设备将所述密码校正因子应用到所述第二组合标识符,以将所述第二组合标识符映射到先前针对一个不同的用户标识符所生成的另一第二组合标识符。
8.根据前述权利要求中的任一项所述的密码生成设备,其中所述标识符管理器被布置成存储所生成的密码的散列,可选地与所述计算机地址或所述基地址一起存储,所述密码生成设备包括:
-一个验证单元(160),
-所述验证单元包括一个接口,该接口被布置成接收密码以及可选地计算机地址,
-所述验证单元被布置成:
-确定密码是否以散列的形式被存储,且可选地确定所接收的地址是否匹配与所存储的散列的密码相关联的基地址。
9.根据前述权利要求中的任一项所述的密码生成设备,其中所述验证单元被进一步布置成:
-以散列的形式存储密码以及可选地存储计算机地址,
-确定相同的密码是否被多次接收。
10.根据前述权利要求中的任一项所述的密码生成设备,包括:
-票据单元(170),所述票据单元被布置成将票据标识符指派到所生成的密码,且存储所述票据标识符、票据约束和所生成的密码,所述票据单元被布置成将所述票据标识符发送给所述用户设备,
-所述票据单元被布置成:
-从所述计算机资源接收所接收的票据标识符和所接收的计算机地址,且
-验证票据标识符由所述票据单元指派,且验证所接收的计算机地址和与所生成的密码和所述票据约束相关联的基地址相匹配,且如果票据标识符由所述票据单元指派以及所接收的计算机地址和与所生成的密码和所述票据约束相关联的基地址相匹配,则将所生成的密码发送到所述计算机资源。
11.根据权利要求10所述的密码生成设备,其中所述密码生成设备存储与所述用户相关联的个人信息,
-所述票据单元(170)被布置成生成另一票据标识符,且将该另一票据标识符与所述用户关联,且被布置成在成功验证之后,将该另一票据标识符发送到所述计算机资源,
-所述票据单元被布置成:
-接收另一所接收的票据标识符,验证该另一所接收的票据标识符与所存储的另一票据标识符相匹配,且如果该另一所接收的票据标识符与所存储的另一票据标识符相匹配,则将与所述用户相关联的个人信息发送到所述计算机资源。
12.根据前述权利要求中的任一项所述的密码生成设备,存储注册的设备标识符的名单,所述输入单元被进一步布置成接收用户设备标识符,所述密码生成设备被布置成如果所述用户设备标识符未注册或被阻挡,则拒绝生成密码。
13.根据前述权利要求中的任一项所述的密码生成设备,其中所述用户密码包括与所述用户或所述用户设备相关联的属性,例如从生物计量传感器获得的生物计量标识符。
14.一种密码生成系统,包括用户设备和根据前述权利要求中的任一项所述的密码生成设备,所述用户设备包括一个网络浏览器,所述网络浏览器被布置成:
-接收原始用户密码,
-将所述原始密码散列,以获得所述用户密码,
-检测网页中的密码域,
-将所述用户标识符、所述网页的计算机地址和所述用户密码发送到所述密码生成设备。
15.一种密码生成方法(400),包括:
-从用户设备接收(410):
-用于访问计算机资源的计算机地址(310、URL1),
-指示所述用户设备的用户的用户标识符(320),以及
-用户密码(330),
-将所述计算机地址映射(420)到一个基地址(312),以使得多个计算机地址(URL1、URL2)被映射到相同的基地址,
-确定(430)所述基地址是否向标识符管理器注册,且
-如果未注册:将唯一的基地址系统标识符(315)指派到所述基地址,且将所述基地址与所述基地址系统标识符一起存储,
-如果已注册:获得所述基地址系统标识符,
-确定(440)所述用户标识符是否向所述标识符管理器注册,且
-如果未注册:将唯一的用户系统标识符(325)指派到所述用户标识符,且将所述用户标识符与所述用户系统标识符一起存储,
-如果已注册:获得所述用户系统标识符,以及
-由所述基地址系统标识符、所述用户系统标识符和所述用户密码确定(450)第一组合标识符(340)。
16.一种计算机程序(120),所述计算机程序包括计算机程序指令,所述计算机程序指令被布置成当所述计算机程序在计算机上运行时执行根据权利要求15所述的方法。
CN201780038998.6A 2016-06-23 2017-06-21 密码生成设备和密码验证设备 Active CN109417471B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NL2017032A NL2017032B1 (en) 2016-06-23 2016-06-23 Password generation device and password verification device
NL2017032 2016-06-23
PCT/EP2017/065199 WO2017220636A1 (en) 2016-06-23 2017-06-21 Password generation device and password verification device

Publications (2)

Publication Number Publication Date
CN109417471A true CN109417471A (zh) 2019-03-01
CN109417471B CN109417471B (zh) 2022-05-27

Family

ID=57042939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780038998.6A Active CN109417471B (zh) 2016-06-23 2017-06-21 密码生成设备和密码验证设备

Country Status (8)

Country Link
US (1) US11947658B2 (zh)
EP (1) EP3476077B1 (zh)
KR (1) KR102387865B1 (zh)
CN (1) CN109417471B (zh)
DK (1) DK3476077T3 (zh)
ES (1) ES2807213T3 (zh)
NL (1) NL2017032B1 (zh)
WO (1) WO2017220636A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10645086B1 (en) * 2016-12-30 2020-05-05 Charles Schwab & Co., Inc. System and method for handling user requests for web services
JP6903529B2 (ja) * 2017-09-11 2021-07-14 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11405375B2 (en) * 2018-09-27 2022-08-02 Lenovo (Singapore) Pte. Ltd. Device and method for receiving a temporary credit token
WO2020098842A2 (en) * 2020-03-06 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and devices for generating and verifying passwords
US20220070000A1 (en) * 2020-08-28 2022-03-03 Red Hat, Inc. Managing passwords for network-accessible service accounts
NL2027136B1 (en) 2020-12-17 2022-07-11 Mindyourpass Holding B V Password management system, device and method of the same

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006333A (en) * 1996-03-13 1999-12-21 Sun Microsystems, Inc. Password helper using a client-side master password which automatically presents the appropriate server-side password to a particular remote server
US20030005299A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corporation User authorization management system using a meta-password and method for same
CN1545023A (zh) * 2003-11-21 2004-11-10 苏州国芯科技有限公司 一种用于信息安全的嵌入式cpu
US6996718B1 (en) * 2000-04-21 2006-02-07 At&T Corp. System and method for providing access to multiple user accounts via a common password
CN101030856A (zh) * 2006-07-19 2007-09-05 王李琰 一种基于标识的密码技术的短消息认证及可靠分类传递方法
US20120297190A1 (en) * 2011-05-19 2012-11-22 Microsoft Corporation Usable security of online password management with sensor-based authentication
CN103997445A (zh) * 2014-05-16 2014-08-20 江苏新瑞峰信息科技有限公司 基于rfid的办公物联网控制方法及系统
CN104283875A (zh) * 2014-09-28 2015-01-14 深圳市中科无软件有限公司 云盘权限管理方法
US9009817B1 (en) * 2013-03-12 2015-04-14 Open Invention Network, Llc Virtual smart card to perform security-critical operations
CN104620556A (zh) * 2012-09-11 2015-05-13 汤姆逊许可公司 用于将客户端注册到服务器的方法和设备
WO2015080556A1 (en) * 2013-11-27 2015-06-04 Mimos Berhad Method for booting an embedded device from an external usb device
CN105009140A (zh) * 2012-12-24 2015-10-28 罗文有限公司 密码管理方法和装置
CN105164689A (zh) * 2013-04-30 2015-12-16 令牌一号控股有限公司 用户认证

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774551A (en) * 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
GB2375414B (en) 2000-01-10 2004-08-11 Sun Microsystems Inc Sharing user names across multiple services
US20020083012A1 (en) * 2000-11-16 2002-06-27 Steve Bush Method and system for account management
US7373515B2 (en) * 2001-10-09 2008-05-13 Wireless Key Identification Systems, Inc. Multi-factor authentication system
US20040025026A1 (en) * 2002-08-02 2004-02-05 Karp Alan H. System-specific passwords
WO2004053667A2 (en) * 2002-12-12 2004-06-24 Encentuate Pte Ltd Identity management system for automatic user authentication
US20040158746A1 (en) * 2003-02-07 2004-08-12 Limin Hu Automatic log-in processing and password management system for multiple target web sites
US7809130B1 (en) * 2006-06-11 2010-10-05 Elcomsoft Co. Ltd. Password recovery system and method
CA2695439A1 (en) * 2007-07-12 2009-01-15 Innovation Investments, Llc Identity authentication and secured access systems, components, and methods
US8397077B2 (en) * 2007-12-07 2013-03-12 Pistolstar, Inc. Client side authentication redirection
CA2665832C (en) * 2009-05-11 2015-12-29 Diversinet Corp. Method and system for authenticating a user of a mobile device
US8443202B2 (en) * 2009-08-05 2013-05-14 Daon Holdings Limited Methods and systems for authenticating users
WO2011063014A1 (en) * 2009-11-17 2011-05-26 Secureauth Corporation Single sign on with multiple authentication factors
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US8868921B2 (en) * 2011-07-20 2014-10-21 Daon Holdings Limited Methods and systems for authenticating users over networks
US8826398B2 (en) * 2011-09-29 2014-09-02 Hewlett-Packard Development Company, L.P. Password changing
KR101513694B1 (ko) * 2013-02-26 2015-04-22 (주)이스톰 Otp 인증 시스템 및 방법
US9197632B2 (en) * 2013-03-15 2015-11-24 Kaarya Llc System and method for account access
US9225704B1 (en) * 2013-06-13 2015-12-29 Amazon Technologies, Inc. Unified management of third-party accounts
WO2015035396A1 (en) * 2013-09-09 2015-03-12 Layer, Inc. Federated authentication of client computers in networked data communications services callable by applications
US10475018B1 (en) * 2013-11-29 2019-11-12 Amazon Technologies, Inc. Updating account data for multiple account providers
US9705871B2 (en) * 2013-12-13 2017-07-11 T-Mobile U.S.A., Inc Identity and access management
US9305160B2 (en) * 2014-04-04 2016-04-05 PassedWord LLC Method and system for automatic updating of randomly generated user passwords
JP5690030B1 (ja) * 2014-04-30 2015-03-25 楽天株式会社 情報処理装置、情報処理方法、プログラム及び記録媒体
US9363260B2 (en) * 2014-07-07 2016-06-07 Oracle International Corporation Detecting sharing of passwords for password protected user accounts
US10423776B1 (en) * 2015-06-14 2019-09-24 Pepperword Inc. Systems and methods for password-based authentication
US9882887B2 (en) * 2015-06-15 2018-01-30 Airwatch Llc Single sign-on for managed mobile devices
US9824208B2 (en) * 2015-07-06 2017-11-21 Unisys Corporation Cloud-based active password manager
US9652606B2 (en) * 2015-07-06 2017-05-16 Unisys Corporation Cloud-based active password manager
US10462135B2 (en) * 2015-10-23 2019-10-29 Intel Corporation Systems and methods for providing confidentiality and privacy of user data for web browsers
US10055575B2 (en) * 2016-04-22 2018-08-21 Blackberry Limited Smart random password generation
US10469497B2 (en) * 2016-05-26 2019-11-05 Dropbox, Inc. Identifying accounts having shared credentials

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006333A (en) * 1996-03-13 1999-12-21 Sun Microsystems, Inc. Password helper using a client-side master password which automatically presents the appropriate server-side password to a particular remote server
US6996718B1 (en) * 2000-04-21 2006-02-07 At&T Corp. System and method for providing access to multiple user accounts via a common password
US20030005299A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corporation User authorization management system using a meta-password and method for same
CN1545023A (zh) * 2003-11-21 2004-11-10 苏州国芯科技有限公司 一种用于信息安全的嵌入式cpu
CN101030856A (zh) * 2006-07-19 2007-09-05 王李琰 一种基于标识的密码技术的短消息认证及可靠分类传递方法
US20120297190A1 (en) * 2011-05-19 2012-11-22 Microsoft Corporation Usable security of online password management with sensor-based authentication
CN104620556A (zh) * 2012-09-11 2015-05-13 汤姆逊许可公司 用于将客户端注册到服务器的方法和设备
CN105009140A (zh) * 2012-12-24 2015-10-28 罗文有限公司 密码管理方法和装置
US9009817B1 (en) * 2013-03-12 2015-04-14 Open Invention Network, Llc Virtual smart card to perform security-critical operations
CN105164689A (zh) * 2013-04-30 2015-12-16 令牌一号控股有限公司 用户认证
WO2015080556A1 (en) * 2013-11-27 2015-06-04 Mimos Berhad Method for booting an embedded device from an external usb device
CN103997445A (zh) * 2014-05-16 2014-08-20 江苏新瑞峰信息科技有限公司 基于rfid的办公物联网控制方法及系统
CN104283875A (zh) * 2014-09-28 2015-01-14 深圳市中科无软件有限公司 云盘权限管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SEYED HASAN MORTAZAVI ZARCH ECT.: "ENHACE THE SECURITY OF PASSWORD BY FUZZY CONTROLLER", 《2014 IRANIAN CONFERENCE ON INTELLIGENT SYSTEMS (ICIS)》 *
吕远方: "基于秘密共享的无线传感器网络组密钥管理方案", 《微计算机应用》 *

Also Published As

Publication number Publication date
KR102387865B1 (ko) 2022-04-15
NL2017032B1 (en) 2018-01-19
NL2017032A (en) 2018-01-08
KR20190021367A (ko) 2019-03-05
DK3476077T3 (en) 2020-07-06
US20190220590A1 (en) 2019-07-18
ES2807213T3 (es) 2021-02-22
WO2017220636A1 (en) 2017-12-28
EP3476077A1 (en) 2019-05-01
CN109417471B (zh) 2022-05-27
EP3476077B1 (en) 2020-04-22
US11947658B2 (en) 2024-04-02

Similar Documents

Publication Publication Date Title
US20210344711A1 (en) Phishing Detection Method And System
CN109417471A (zh) 密码生成设备和密码验证设备
Tian et al. Needle in a haystack: Tracking down elite phishing domains in the wild
Wu et al. Effective defense schemes for phishing attacks on mobile computing platforms
US8079087B1 (en) Universal resource locator verification service with cross-branding detection
KR101851686B1 (ko) 거래 인증을 위하여 추출된 무작위 일회용 패스워드
CN106789939B (zh) 一种钓鱼网站检测方法和装置
US9026788B2 (en) Managing credentials
CN101375546B (zh) 用于欺骗监控、检测和分层用户鉴权的系统和方法
KR101589192B1 (ko) 신원 인증 관리 장치 및 신원 인증 관리 방법
CN109690547A (zh) 用于检测在线欺诈的系统和方法
CN109005142B (zh) 网站安全检测方法、装置、系统、计算机设备和存储介质
US20180007066A1 (en) Detection of phishing dropboxes
CN102073822A (zh) 防止用户信息泄漏的方法及系统
CN105743905A (zh) 一种实现安全登录的方法、设备、装置及系统
JP4781922B2 (ja) リンク情報検証方法、システム、装置、およびプログラム
Calzavara et al. Machine learning for web vulnerability detection: the case of cross-site request forgery
Singh et al. Detection and prevention of phishing attack using dynamic watermarking
US9648011B1 (en) Tokenization-driven password generation
Rao et al. Multi factor user authentication mechanism using internet of things
CN112583600B (zh) 用户鉴权的方法、装置、电子设备及介质
JP2008269096A (ja) 認証システム及び認証プログラム
JP5718857B2 (ja) 認証用装置及び認証方法
CN117574368A (zh) 离线静态代码分析与云端解析漏洞扫描报告结合的方法
CN115695371A (zh) 域名注册与域名解析方法、装置、系统、设备及存储介质

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
GR01 Patent grant