CN111295861B - 多因素认证 - Google Patents

多因素认证 Download PDF

Info

Publication number
CN111295861B
CN111295861B CN201880070278.2A CN201880070278A CN111295861B CN 111295861 B CN111295861 B CN 111295861B CN 201880070278 A CN201880070278 A CN 201880070278A CN 111295861 B CN111295861 B CN 111295861B
Authority
CN
China
Prior art keywords
password
user device
computing device
discrete logarithm
user
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
CN201880070278.2A
Other languages
English (en)
Other versions
CN111295861A (zh
Inventor
陈逸群
纪文平
黃朝源
王婷仪
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN111295861A publication Critical patent/CN111295861A/zh
Application granted granted Critical
Publication of CN111295861B publication Critical patent/CN111295861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/31User authentication
    • G06F21/40User authentication by quorum, i.e. whereby two or more security principals are required
    • 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/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • 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/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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
    • 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/3215Cryptographic 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 plurality of channels
    • 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/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/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3271Cryptographic 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 challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

提供了一种认证用户的方法和系统。服务器从用户设备接收对资源的请求。从用户设备接收预定数字。创建第一个数字和第二个数字。向用户发送第一数字。基于质询码和第一数字确定第一离散对数,向用户设备发送第一离散对数。基于第一离散对数、预定数字和第一数字,通过第二离散对数计算第一密码。从用户设备接收基于第二离散对数的第二密码。将第一密码与第二密码进行比较。响应于确定第一密码与第二密码相同,允许用户设备访问与计算设备相关联的资源。

Description

多因素认证
技术领域
本公开总体上涉及电子通信,并且更具体地,涉及保护经由电子通信发送的数据。
背景技术
近年来,对数字数据安全性的关注已经增加。受影响的一些行业包括银行、医疗保健、政府组织、教育机构、社交媒体等。许多传统系统依靠静态密码来验证用户身份,这有时很容易通过社会工程手段猜出或确定。
一种改进的安全策略是基于两因素(two-factor)的认证。例如,网站可以让用户输入用户名或手机号码。如果已经注册了该用户名或手机号,则网站向用户的用户设备发送文本消息,例如短消息服务(SMS)文本消息,并提示用户手动将密码提供给网站。然后,网站将发送给用户设备的密码与用户输入的密码进行比较。如果它们匹配,则认为该用户已通过身份验证并已登录。
使用SMS的现有系统有几个缺点。最近已经确定,尽管使用了双重身份验证提高安全性,但是大多数用户设备并未得到充分的保护以防止黑客入侵和恶意软件入侵。例如,威胁参与者、黑客或攻击者(在本文中统称为恶意方)可以在不通知目标用户的情况下拦截或窃听SMS通信。换句话说,SMS依赖于服务器和用户设备之间的活动交易,该交易可以被拦截从而使用户面临安全风险。因此,旨在确保用户安全的信息可能是漏洞的来源。本公开讨论这些和其他考虑。
因此,在本领域中需要解决前述问题。
发明内容
从第一方面来看,本发明提供一种计算设备,包括:处理器;网络接口,与处理器耦合以实现网络通信;与处理器耦合的存储设备;存储在存储设备中的安全代理软件,其中,处理器对该软件的执行将计算设备配置为执行以下动作:从用户设备接收对资源的请求;从用户设备接收预定数字(s);创建第一数字(p);向用户设备发送第一数字(p);创建质询码(c);基于质询码(c)和第一数字(p)确定第一离散对数;向用户设备发送第一离散对数;基于第一离散对数、预定数字(s)和第一数字(p),通过第二离散对数计算第一密码(R1);从用户设备接收基于第二离散对数的第二密码(R2);比较第一密码(R1)和第二密码(R2);响应于确定第一密码(R1)与第二密码(R2)相同,允许用户设备访问资源。
从另一方面来看,本发明提供一种计算设备,包括:处理器;网络接口,与处理器耦合以实现网络通信;与处理器耦合的存储设备;存储在存储设备中的安全应用,其中,处理器对该软件的执行将计算设备配置为执行以下动作:从计算设备向服务器发送对资源的请求;向服务器发送预定数字(s);从服务器接收第一数字(p);从服务器接收基于质询码(c)以及第一数字(p)和第二数字(g)的第一离散对数;基于基于第一离散对数、预定数字(s)和第一数字(p)的第二离散对数计算第二密码(R2);向服务器发送第二密码(R2),以与第一密码(R1)进行比较;当第二密码(R2)与第一密码(R1)匹配时,接收对资源的访问。
从另一方面来看,本发明提供了一种保护数据的方法,方法包括:从用户设备接收对资源的请求;从用户设备接收预定数字(s);创建第一个数字(p);向用户设备发送第一数字(p);创建质询代码(c);基于质询码(c)和第一数字(p)确定第一离散对数;向用户设备发送第一离散对数;基于第一离散对数、预定数字(s)和第一数字(p),通过第二离散对数计算第一密码(R1);从用户设备接收基于第二离散对数的第二密码(R2);比较第一密码(R1)和第二密码(R2);响应于确定第一密码(R1)与第二密码(R2)相同,允许用户设备访问资源。
从另一方面来看,本发明提供了一种用于保护数据的计算机程序产品,该计算机程序产品包括计算机可读存储介质,可由处理电路读取并且存储指令以供处理电路执行,以执行用于执行本发明步骤的方法。
从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当程序在计算机上运行时用于执行本发明的步骤。
根据各种实施例,提供了一种计算设备,一种非暂时性计算机可读存储介质以及一种用于认证用户的方法。计算设备从用户设备接收对资源的请求。从用户设备接收预定数字(s)。创建第一数字(p)和第二数字(g)。向用户设备发送第一数字(p)。由计算设备创建质询码(c)。基于质询码(c)和第一数字(p)确定第一离散对数。向用户设备发送第一离散对数。基于第一离散对数、预定数字(s)和第一数字(p),通过第二离散对数计算第一密码(R1)。从用户设备接收基于第二离散对数的第二密码(R2)。将第一密码(R1)与第二密码(R2)进行比较。响应于确定第一密码(R1)与第二密码(R2)相同,允许用户设备访问与计算设备相关联的资源。通过这种架构,即使服务器和用户设备之间的通信可能被恶意第三方拦截,密码R1也受到保护。
在一个实施例中,第一数字(p)是质数。在一个实施例中,第一数字(p)大于第二数字(g)。
在一个实施例中,经由公共交换电话网(PSTN)信道向用户设备发送第一数字(p)。
在一个实施例中,计算设备对预定数字(s)的接收通过与向用户设备发送第一数字(p)不同的信道进行。
在一个实施例中,第一离散对数基于(gc mod p),第二离散对数基于((gc mod p)smod p)。
根据各个实施例,提供了一种计算设备,一种非暂时性计算机可读存储介质以及一种用于认证用户的方法。从计算设备向服务器发送对资源的请求。向服务器发送预定数字(s)。从服务器接收第一数字(p)。从服务器接收基于质询码(c)和第一数字(p)的第一离散对数。基于基于第一离散对数,预定数字(s)和第一数字(p)的第二离散对数计算第二密码(R2)。向服务器发送第二密码(R2),以便与第一密码(R1)进行比较。如果第二密码(R2)与第一密码(R1)相匹配,则将接收对与服务器关联的资源的访问。通过这种架构,即使服务器和用户设备之间的通信可能被恶意第三方拦截,密码R1也受到保护。
在一个实施例中,预定数字(s)是用户设备的标识(ID)号。
在一个实施例中,通过超文本传输协议安全(HTTPS)信道发送预定数字(s),第一数字(p)是质数,第一数字(p)大于第二数字(g)。
在一个实施例中,计算设备通过与从服务器接收第一数字(p)不同的信道来发送预定数字(s)。
在一个实施例中,第一离散对数基于(gc mod p)。第二个离散对数基于((gc modp)s mod p)。
附图说明
附图是说明性实施例。它们未示出所有实施例。可以附加或替代地使用其他实施例。为了节省空间或为了更有效地说明,可以省略可能显而易见或不必要的细节。一些实施例可以在附加部件或步骤和/或没有示出的所有部件或步骤的情况下实践。当相同的附图标记出现在不同的附图中时,它表示相同或相似的组件或步骤。
图1示出了用于提供安全的多因素认证的示例架构100。
图2在高层面上示出了示例性用户设备的各个组件的框图。
图3是在质询响应模式的上下文中安全服务器的安全代理与用户设备之间的示例呼叫流程。
图4是在交互模式的上下文中安全服务器的安全代理与用户设备之间的示例呼叫流程。
图5提供了计算机硬件平台的功能框图。
具体实施方式
在下面的详细描述中,通过示例方式阐述了许多具体细节,以提供对相关教导的透彻理解。然而显然的是,可以在没有这些细节的情况下实践本教导。在其他情况下,已经在相对较高的水平上描述了公知的方法、过程、组件和/或电路,而没有描述细节,以避免不必要地混淆本教导的各个方面。
本公开涉及保护经由电子通信发送的数据。数据通过多因素身份验证得到保护,即使身份验证期间的电子通信被恶意方拦截。即使在身份验证过程中通过数字通信传输的消息不会损害要保护数据的安全性,存储要保护数据的服务器以及请求受保护数据的用户设备都可以确定相同的密码。为此,执行认证的服务器不向请求者用户的用户设备发送密码。相反,服务器将与服务器已知的认证有关的参数的至少一部分保密,并且在用户侧将与用户设备已知的认证有关的参数的至少一部分保密。借助于本文讨论的概念,即使服务器和用户设备之间的通信被恶意第三方拦截,该密码也受到保护。现在详细参考附图中示出的并且在下面讨论的示例。
示例架构
图1示出了用于提供安全的多因素认证的示例架构100。架构100包括网络106,允许各种用户设备102(1)至102(n)相互通信,以及可以连接到网络106的任何其他资源,包括银行、政府组织、医疗保健门户、教育机构、社交媒体门户等,可用于存储用户打算保护的信息。这些机构和门户在这里通过具有安全服务器120的专用网络108表示。
网络106可以是但不限于局域网(“LAN”)、虚拟专用网(“VPN”),蜂窝网络、公共交换电话网(PTSN)、互联网或它们的组合。例如,网络106可以包括移动网络,通信地耦合到提供各种辅助服务的专用网络,例如与各种应用商店、图书馆和因特网通信。为了促进本讨论,将仅通过示例而非限制的方式将网络106描述为可以由运营商或服务提供商运营向订阅者客户和相关移动设备用户提供广泛的移动通信服务和补充服务或功能的移动网络。
网络106允许一个或多个用户101(1)至101(n)通过用户设备(UD)102(1)至102(n)与一个或多个专用网络108通信,以从专用网络安全地检索信息或将信息存储在专用网络中。如上所述,这些专用网络108可以代表用户可以订阅的不同机构和门户的网络。专用网络108包括安全服务器120,其上运行由安全代理103表示的软件应用。在一个实施例中,专用网络包括简档数据库110,该数据库可以包括订阅、付款状态信息、密码信息、标识信息、被授权使用专用网络108的用户及其各自的受保护数据113等。在一个实施例中,安全代理103可以将预定数字111A(例如用户设备的标识(ID)号码)存储在简档数据库110。然后,可以在认证过程中从简档数据库110中检索111B存储的信息。
为了以后的讨论目的,几个用户设备出现在附图中以表示可用于发起与专用网络108通信的设备的一些示例。如今,用户设备通常采用便携式手机、智能电话、平板电脑、个人数字助理(PDA)、虚拟现实(VR)设备、增强现实(AR)设备和智能手表的形式,尽管它们可以其他形式实现,包括消费类和商用电子设备。用户设备(例如102(1))可用于通过网络106与专用网络108进行交互,以接收由专用网络108提供的一个或多个资源,包括在与安全服务器120相关联的存储库112中检索和存储受保护的数据113。
在某些情况下,图1中由用户101(n)及其对应的用户设备102(n)表示的恶意方可能试图通过欺骗行为拦截授权用户(例如101(1)或101(2))之间的通信,欺骗行为可能很简单,例如在授权用户101(2)的用户设备102(2)上窃听通信,通过网络106电子拦截通信等。架构100被配置为尽管受到恶意方102(n)的拦截也保持了受保护数据113的安全性。
为此,安全代理103可操作地作为数据存储库112中的受保护数据113与一个或多个用户101(1)至101(n)之间的网关。例如,安全代理103被配置为经由用户各自的用户设备从用户接收对存储在(或打算存储)在专用网络108(例如,数据存储库112中)的数据的请求。安全代理103还被配置为确定用户是否被授权通过稍后更详细讨论的认证过程与专用网络108通信。在各个实施例中,由安全代理执行的认证过程可以包括向用户设备发送密码和从用户设备(例如102(1))接收密码。例如,安全代理103可以从用户设备102(1)接收预定数字,该预定数字以后可以基于模块化指数(在本文中称为离散对数)用于数据混淆。
离散对数是在乘法循环组的上下文中的对数。例如,如果G是一个乘法循环组,而g是G的生成器,那么根据循环组的定义,对于某些x,G中的每个元素h都可以写成gx。组G中h的基数g的离散对数定义为x。尽管可以基于已知参数计算离散对数,但混淆了根参数,使得离散对数固有的参数在计算上难以破解。
在一些实施例中,如果确定尝试访问专用网络108的用户未被授权,可以引发安全警报(即警报通知)并将其发送给接收者的一个或多个适当帐户。适当的接收者可以是受保护数据113的帐户持有者(即用户)、专用网络108的IT管理员、专用网络108的安全代理等。可以以各种方式发送警报通知,例如使用短消息服务(SMS)、彩信服务(MMS)、电子邮件、电话、社交媒体等的通用短代码(CSC)。
尽管通过示例的方式将安全服务器120、简档数据库110和数据存储库112示为在不同平台上,但是应当理解,在各种实施例中,安全服务器120、简档数据库110和数据存储库112可以以各种组合来组合。在其他实施例中,这些计算平台可以由虚拟计算设备以托管在云中的虚拟机或软件容器的形式来实现,从而提供用于处理和存储的弹性架构。
用户设备示例
如在图1的上下文中所讨论的,架构100的数据安全系统可能涉及不同类型的用户设备。为此,图2以更高层面上示出了说明性用户设备200的各个组件的框图。为了讨论的目的,该图示以无线计算设备的形式示出了用户设备200,但是将理解,也可以考虑其他计算设备。
用户设备200可以包括一个或多个天线202;收发器204,用于蜂窝、Wi-Fi通信、短距离通信技术和/或有线通信;用户界面206;一个或多个处理器208;硬件210和存储器。在一些实施例中,天线202可以包括向基站发送无线电信号的上行链路天线和从基站接收无线电信号的下行链路天线。在一些其他实施例中,单个天线可以发送和接收无线电信号。相同或其他天线可用于Wi-Fi通信。这些信号可以由收发器204处理,有时被统称为网络接口,被配置为接收和发送数字数据。在一个实施例中,用户设备200不包括天线202,并且与外部组件的通信是经由有线通信的。
在一个实施例中,用户设备200包括用户界面206,使用户能够提供输入并从用户设备200接收输出。例如,用户界面206可以包括数据输出设备(例如,视觉显示器、音频扬声器、触觉设备等)可用于传达来自安全服务器120的安全代理103的通知。
用户界面206还可以包括一个或多个数据输入设备。数据输入设备可以包括但不限于小键盘、键盘、鼠标设备、触摸屏、麦克风、语音识别包和任何其他合适的设备或其他电子/软件选择接口中的一个或多个的组合。例如,数据输入设备可以用于使用户输入被传送到安全服务器的安全代理的请求和代码。
用户设备200可以包括一个或多个处理器208,可以是单核处理器、多核处理器、复杂指令集计算(CISC)处理器或另一种类型的处理器。
硬件210可以包括电源和数字信号处理器(DSP),可以包括单核或多核处理器。硬件210还可包括管理高速通信接口的网络处理器,高速通信接口包括与外围组件交互的通信接口。网络处理器和外围组件可以通过交换结构链接。硬件210可以进一步包括硬件解码器和编码器、网络接口控制器和/或USB控制器。
存储器216可以使用诸如计算机存储介质之类的计算机可读介质来实现。存储介质包括以任何用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能磁盘(DVD)、高清视频存储磁盘或其他光学存储、磁带、磁盒磁带、磁盘存储或其他磁性存储设备,或可用于存储信息以供计算设备访问的任何其他非传输介质。
存储器216可以存储可由用户设备200的处理器208和控制器执行或访问的各种软件组件或模块。存储器216的各种组件可以包括软件和操作系统250。软件218可以包括各种应用程序220。软件218还可以包括具有几个模块的安全应用240。每个模块可以包括执行任务或实现抽象数据类型的例程、程序指令、对象和/或数据结构。
例如,用户设备200的安全应用240可以包括计算模块242,用于基于用户设备已知的参数来确定离散算法,这将在后面更详细地讨论。可能存在代码识别模块244,用于确定用于与安全代理103通信的用户设备的识别码。可能存在交互模块248,用于用户设备200与安全代理103交换数据。
操作系统250可以包括使用户设备200能够经由各种接口(例如,用户控件、通信接口和/或存储器输入/输出设备)接收和发送数据以及使用接口处理数据的组件。处理器208生成输出。操作系统250可以包括呈现输出(例如,在用户设备200的电子显示器上显示数据,将数据存储在存储器216中,将数据发送到另一电子设备等)的呈现组件。另外,操作系统250可以包括执行通常与操作系统250相关联的各种附加功能的其他组件。
示例流程
利用前面概述的架构100和示例用户设备200,现在考虑以呼叫流程的形式对示例过程进行更高层面的讨论可能是有帮助的。为此,图3和图4分别呈现了在安全服务器120的安全代理和用户设备102之间的说明性呼叫流程300和400。特别地,呼叫流程300描述了质询响应模式,而呼叫流程400描述了与说明性实施例一致的安全服务器和用户设备之间的交互模式。
呼叫流程300和400被图示为逻辑流程图中的处理的集合,表示可以以硬件、软件或其组合来实现的一系列操作。在软件的上下文中,过程表示计算机可执行指令,当由一个或多个处理器执行时,计算机可执行指令执行所列举的操作。通常,计算机可执行指令可以包括执行功能或实现抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不应被理解为限制,并且可以以任何顺序组合和/或并行执行任何数量的所描述的操作以实现该过程。为了讨论的目的,参考图1的体系结构100描述了过程300和400。
在呼叫流程300中,用户(例如,用户设备102的操作员)与安全服务器120进行交互以获取对安全服务器120保护的资源的访问。例如,用户设备102可以从中检索安全数据,或将安全数据存储到安全服务器120,可以存储在硬件或软件中。为了提供对由安全服务器120保护的资源的访问,安全设备通过以下描述的质询响应过程来认证用户设备102。
在步骤312,用户设备102向安全服务器120发送一个或多个预定数字(s),该预定数字(s)可以由安全服务器120存储在合适的存储器中。在各种实施例中,预定数字(s)可以是用户设备102的标识号(例如,代码)。在一个实施例中,步骤312的通信是通过非PSTN的信道进行的。PSTN通常与电话服务有关,包括电话线、微波传输链路、蜂窝网络等。代替PSTN,使用了诸如Internet协议电话和传输控制协议/互联网协议(TCP/IP)的技术。TCP/IP信号是PC、平板电脑、IOT和其他设备的常用Internet协议。因此,安全服务器120可以在WEB站点上接收通信。
例如,预定数字(s)可以是用户设备102的标识号和/或用户的生物识别符(从而提供一层硬件保护)。在一个实施例中,通过物理地访问专用网络108的本地分支(例如银行)并将用户设备102的标识号作为第一参数提供,将预定数字(s)(有时在本文中称为参数)注册到安全服务器120。例如,用户可以经由安全服务器120的专用网络108的本地分支处的终端来手动输入参数。在其他情况下,用户可以使用用户设备102通过短距离通信技术发送信息,例如蓝牙、Wi-Fi、近场通信(NFC)或其他合适的足够安全的通信技术。在一个实施例中,安全服务器120与简档数据库110交互,以将预定数字(s)存储在简档数据库110中,以随后提供用户的第一因素认证。
在步骤313,安全服务器120接收对专用网络108的资源的请求。例如,用户设备102的操作员可能希望从专用网络108的数据存储库112存储或检索信息。
在步骤314,安全服务器120创建第一数字(p)和第二数字(g),在本文中有时将其称为第一质询码。在一个实施例中,第一数字(p)是质数。响应于来自用户设备102的授权请求,将第一数字(p)发送给用户设备102。在一个实施例中,经由PSTN信道或经由https(或另一WEB协议)发送第一数字(p)。
在步骤316,安全服务器120创建第二数字(g)。在一个实施例中,第二数字(g)小于第一数字(p)(例如2或5)。注意,第二数字(参数)g可能受到计算设备的计算能力的限制。换句话说,如果g太大,则很难(如果不是几乎不可能)从此处提供的方程式计算结果。在一个实施方案中,g是质数。随着计算能力的增加,参数p可以是大于5的质数。安全服务器120还创建质询码(c),有时在此处称为第二质询码。在一个实施例中,质询码(c)是大于第二数字(g)的数字。在一个实施例中,质询码(c)在每次成功验证用户设备102时改变。
安全服务器120基于质询码(c)和第一数字(p)来确定第一离散对数。第一个离散对数由以下表达式提供:
第一离散对数→(gc mod p)等式1
在步骤314,将基于与上述表达式不同的第一离散对数通过与第一数字(p)的传输不同的信道发送到用户设备102。例如,参数p可以由SMS传输。因此,如框330所示,安全服务器120现在知道参数s,p,g和c。没有将参数g和c明确地发送给用户设备102。因此,用户设备102仅知道参数s和p。如框332所示。
在步骤318和320中,安全服务器120和用户设备102分别基于第一离散对数、预定数字(s)和第一数字(p),通过第二离散对数计算第一密码R。在各种实施例中,可以由安全服务器120和用户设备102同时(例如,以节省时间)或顺序地执行计算。在一个实施例中,第二离散对数由以下表达式提供:
密码R=第二离散对数→(gc mod p)s mod p等式2
因此,安全服务器120可以计算密码R(即,作为第一密码R1),因为它具有第二离散算法的所有相关参数(即s,p,g和c)。由于用户设备102之前已经从安全服务器120接收到第一离散对数并且知道参数s和p,因此它可以确定密码R(即,作为第二密码R2)。
在步骤322,安全服务器120从用户设备102接收第二密码R2,并与它已经计算出的第一密码R1进行比较。响应于确定第一密码R1与第二密码R2相同,安全服务器120向用户设备102提供对安全服务器120的所请求资源的访问。例如,安全服务器120现在可以从数据存储库112中检索受保护的数据并通过网络106发送到用户设备102。
响应于确定第一密码R1与第二密码R2不相同,安全服务器120将用户设备102识别为未授权。在一个实施例中,安全服务器120将警报通知发送给适当的接收者。
相应地,在过程300的质询-响应模式下,安全服务器120将参数g和c保密。除非所有三个参数p,s和c均被破坏,否则密码R1不受恶意程序的影响。此外,在认证过程期间,可以使用不同的通信信道来传输一些参数。这种方法极大地增加了恶意方破坏体系结构100的系统的难度。
现在参考图4,示出了与说明性实施例一致在安全服务器120和用户设备102之间的交互模式的上下文中的呼叫流程400。在呼叫流程400中,用户与安全服务器120交互以获得对由安全服务器120保护的资源的访问。为了提供对由安全服务器120保护的资源的访问,用户设备102通过下面描述的交互模式处理120由安全服务器认证。
在步骤410,用户设备102向安全服务器120发送预定数字(p),该预定数字可以由安全服务器120存储在专用网络108的合适的存储器中。在一个实施例中,步骤412的通信不经由PSTN的信道。例如,出于数据安全原因,使用了诸如TCP/IP之类的技术。因此,安全服务器120可以在WEB站点上接收通信。在其他实施例中,预定数字(p)可以是用户设备102的标识号和/或用户的生物识别符(从而提供一层硬件保护)。
在一个实施例中,通过物理地访问专用网络108的本地分支机构(例如银行),在安全服务器120中注册预定数字(p),有时在本文中称为第一参数(p),并将用户设备102的标识号作为第一参数(p)提供。例如,用户可以经由安全服务器120的专用网络108的本地分支处的终端来手动输入参数(p)。在其他情况下,用户可以使用用户设备102通过短距离通信技术(例如蓝牙、Wi-Fi、NFC等)来发送预定数字(p)信息。
在步骤412,安全服务器120接收对专用网络108的资源的请求。例如,用户设备102的运营商可能希望存储或从专用网络108的数据存储库112检索信息。
在步骤414,安全服务器120创建第一数字(c)和第二数字(g)。在一个实施例中,第一数字(c)大于第二数字(g)。安全服务器120基于第一数字(c)、第二数字(g)和预定大数字(p)确定第一离散对数。第一个离散对数由以下表达式提供:
第一离散对数→(gc mod p)等式3
响应于来自用户设备102的对专用网络108的资源的请求,将第二数字(g)和第一离散对数发送到用户设备102。在一个实施例中,第二数字(g)和第一个离散对数都通过PSTN通道或https(或其他WEB协议)在同一数字数据包中发送。
在步骤416,用户设备102生成第三数字(s)。在一个实施例中,第三数字(s)大于第二数字(g)。用户设备102还基于接收的第二数字(g)、生成的第三数字(s)和预定数字(p)来确定第二离散对数。下面的表达式提供了第二个离散对数:
第二个离散对数→(gs mod p)等式4
安全服务器120从用户设备102接收基于以上表达式的第二离散对数。
在步骤418和420,安全服务器120和用户设备102分别计算第一密码R1和第二密码R2。由安全服务器120确定的第一密码R1基于第二离散对数(步骤416从用户设备102接收的)、第一数字(c)和步骤410接收的预定数字(p)。第二密码内在固有的参数(s)参数被第二离散对数所掩盖。在一个实施例中,第一密码R1由下面提供的第三离散对数的表达式提供:
第一密码R1=第三离散对数→(gs mod p)c mod p等式5
相反,由用户设备102确定的第二密码R2基于第一离散对数(步骤414从安全服务器120接收)、第三数字(s)和预定数字(p)。在一个实施例中,第二密码R2基于第四离散对数的表达式,如下所示:
第二密码R2=第四离散对数→(gc mod p)s mod p等式6
在步骤422,安全服务器120从用户设备102接收第二密码R2并将其与先前已计算的第一密码R1进行比较。响应于确定第一密码R1与第二密码R2相同,安全服务器120向用户设备102提供对专用网络108的所请求资源的访问。例如,安全服务器120现在可以从数据存储库112中检索受保护的数据并通过网络106发送到用户设备102。
响应于确定第一密码R1与第二密码R2不相同,安全服务器120将用户设备102标识为未授权。在一个实施例中,安全服务器120将警报通知发送给适当的接收者。
因此,在过程400的交互模式下,安全服务器120将参数c保密。第一密码R1和第二密码R2不受恶意程序的侵害。此外,由于在认证过程期间可以将不同的通信信道用于某些参数的传输,因此大大增加了恶意方损害体系结构100的系统的难度。
示例计算机平台
如上所述,如图1所示并且根据图3和4的呼叫流程300和400,可以通过使用一个或多个通过无线或有线通信进行数据通信而连接的计算设备来执行与提供安全的多因素认证有关的功能。在上面已经关于图2讨论了以用户设备200的形式的示例性计算设备。图5提供了能够提供安全的多因素身份验证容的计算机硬件平台的功能框图。特别地,图5示出了网络或主机计算机平台500,可以用于实现服务器,例如图1的安全服务器120。
计算机平台500可以包括连接到系统总线502的中央处理单元(CPU)504、硬盘驱动器(HDD)506,、随机存取存储器(RAM)和/或只读存储器(ROM)508、键盘510、鼠标512、显示器514和通信接口516。
在一个实施例中,HDD 506具有包括以本文描述的方式存储可以执行各种过程的程序的功能,例如安全代理540。安全代理540可以具有被配置为执行不同功能的各种模块。
例如,可能存在交互模块542,可操作来从用户设备接收对专用网络的资源的请求。交互模块542还可以从用户设备接收各种参数并且向用户设备发送参数。交互模块542还可以与简档数据库交互以检索用户的简档信息,作为多因素认证过程中的第一步。在要保护的数据在单独的数据存储库中的实施例中,在确认用户被授权后,交互模块可以与该存储库通信以从数据存储库检索相关数据并将其发送给相应的用户。
在一个实施例中,存在计算模块546,用于在认证过程期间计算各种离散对数和密码。计算模块546还可以用于确定第一密码R1是否与第二密码R2相同。
在一个实施例中,存在一种质询码模块548,可操作地生成可以在认证过程中使用的各种质询码。在一个实施例中,质询码在与授权用户的每次交易中改变。换句话说,在与授权用户的每次成功交互中,都会用尽质询码。
在一个实施例中,存在一种授权模块550,用于在确定用户设备提供的密码与安全代理所计算的密码相对应时,允许用户设备的操作者接收专用网络108的资源。
在一个实施例中,存在通知模块556,可操作地在确定请求访问专用网络的用户未被授权时警告适当的接收者。适当的收件人可以是帐户所有者(即用户)、专用网络的IT管理员、专用网络的安全代理等。
在一个实施例中,可以存储诸如ApacheTM之类的程序以将系统作为Web服务器来进行操作。在一个实施例中,HDD 506可以存储包括一个或多个库软件模块的执行应用,例如用于实现JVM(JavaTM虚拟机)的JavaTM运行时环境程序的那些。
结论
为了说明的目的,已经给出了本教导的各种实施例的描述,但是并不意图是穷举性的或限于所公开的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择这里使用的术语是为了最好地解释实施例的原理,对市场上存在的技术的实际应用或技术上的改进,或者使本领域的其他普通技术人员能够理解这里公开的实施例。
尽管前面已经描述了被认为是最佳状态和/或其他示例,但是应当理解,可以在其中进行各种修改,并且可以以各种形式和示例来实现本文公开的主题,并且这些教导可以应用于许多应用中,这里仅描述了其中一些。所附权利要求书旨在要求落入本教导的真实范围内的任何和所有应用,修改和变化。
本文已经讨论的组件、步骤、特征、目的、益处和优点仅仅是示例性的。它们,有关它们的讨论均无意限制保护范围。尽管本文已经讨论了各种优点,但是应当理解,并非所有实施例都必须包括所有优点。除非另有说明,否则本说明书(包括所附权利要求书)中列出的所有尺寸、值、额定值、位置、大小、尺寸和其他规格均为近似值,并不精确。它们旨在具有与它们所涉及的功能以及它们所涉及的领域中的习惯相一致的合理范围。
还可以想到许多其他实施例。这些包括具有更少、额外和/或不同的组件,步骤、特征、目标、益处和优点的实施例。这些还包括其中部件和/或步骤被不同地布置和/或排序的实施例。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
尽管已经结合示例性实施例描述了前述内容,但是应当理解,术语“示例性”仅意味着示例,而不是最佳或最优的。除上述内容外,任何陈述或说明的内容均无意或不应解释为导致任何组成部分、步骤、特征、目的、利益、优势或对公众的贡献,无论是否在权利要求中叙述。
将理解的是,本文中使用的术语和表达关于其相应的各自的研究和研究领域具有与此类术语和表达相一致的普通含义,除非本文另外阐述了特定含义。诸如第一和第二等的关系术语可以仅用于区分一个实体或动作与另一个实体或动作,而不必要求或暗示在这些实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或其任何其他变体旨在覆盖非排他性包含,使得包括一系列元素的过程、方法、物品或装置不仅仅包括那些元素,还包括可以包括未明确列出或此类过程、方法、物品或设备所固有的其他元素。在没有其他限制的情况下,以“一个”开头的元素并不排除在包含该元素的过程、方法、物品或设备中存在其他相同元素。
提供本公开的摘要以允许读者快速地确定技术公开的性质。提交本文档时,应理解为不会将其用于解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看出,出于简化本公开的目的,在各个实施例中将各个特征分组在一起。本公开的方法不应被解释为反映了以下意图:所要求保护的实施例具有比每个权利要求中明确记载的特征更多的特征。相反,如所附权利要求所反映的,发明主题在于少于单个公开实施例的所有特征。因此,以下权利要求据此结合到详细描述中,每个权利要求独立地作为单独要求保护的主题。

Claims (26)

1.一种计算设备,包括:
处理器;
网络接口,与处理器耦合以实现网络通信;
存储设备,与处理器耦合;
安全代理软件,存储在存储设备中,其中处理器对该软件的执行将计算设备配置为执行以下动作:
从用户设备接收对资源的请求;
从用户设备接收预定数字(s);
创建第一数字(p)和第二数字(g);
向用户设备发送第一数字(p);
创建质询码(c);
基于质询码(c),第一数字(p)和第二数字(g)确定第一离散对数;
向用户设备发送第一离散对数;
基于第一离散对数、预定数字(s)和第一数字(p),通过第二离散对数计算第一密码(R1);
从用户设备接收基于第二离散对数的第二密码(R2);
比较第一密码(R1)和第二密码(R2);以及
响应于确定第一密码(R1)与第二密码(R2)相同,允许用户设备访问资源,
其中,用户设备不知道第二数字(g)和质询码(c)。
2.根据权利要求1所述的计算设备,其中,预定数字(s)是用户设备的标识(ID)号。
3.根据权利要求1或2所述的计算设备,其中,预定数字(s)通过超文本传输协议安全(HTTPS)信道接收。
4.根据权利要求1或2所述的计算设备,其中:
第一数字(p)是质数;
第一数字(p)大于第二数字(g);
第二数字(g)是2或5。
5.根据权利要求1或2所述的计算设备,其中,经由公共交换电话网(PSTN)信道向用户设备发送第一数字(p)。
6.根据权利要求1或2所述的计算设备,其中,计算设备对预定数字的接收是在与向第一用户发送第一数字(p)的信道不同的信道上进行的。
7.根据权利要求1或2所述的计算设备,其中,第一离散对数基于(gc mod p)。
8.根据权利要求7所述的计算设备,其中,第二离散对数基于((gc mod p)s mod p)。
9.根据权利要求1或2所述的计算设备,其中,处理器对所述安全代理的执行还配置所述计算设备以执行动作,包括:
响应于确定第一密码(R1)与第二密码(R2)不同,向与所请求资源相关联的用户的帐户发送警报。
10.根据权利要求1或2所述的计算设备,其中,处理器对所述安全代理的执行还配置所述计算设备以执行动作,包括:
响应于确定第一密码(R1)与第二密码(R2)相同,改变质询码。
11.一种计算设备,包括:
处理器;
网络接口,与处理器耦合以实现网络通信;
存储设备,与处理器耦合;
安全应用,存储在存储设备中,其中,处理器对该应用的执行将计算设备配置为执行以下动作:
从计算设备向服务器发送对资源的请求;
向服务器发送预定数字(s);
从服务器接收第一数字(p);
从服务器接收基于质询码(c)以及第一数字(p)和第二数字(g)的第一离散对数;
基于第一离散对数、预定数字(s)和第一数字(p)的第二离散对数计算第二密码(R2);
向服务器发送第二密码(R2),以与第一密码(R1)进行比较;以及
响应于第二密码(R2)与第一密码(R1)匹配,接收对资源的访问,
其中,计算设备不知道第二数字(g)和质询码(c)。
12.根据权利要求11所述的计算设备,其中,预定数字(s)是用户设备的标识(ID)号。
13.根据权利要求11或12所述的计算设备,其中:
预定数字(s)通过超文本传输协议安全(HTTPS)信道接收;
第一数字(p)是质数;
第一数字(p)大于第二数字(g)。
14.根据权利要求11或12所述的计算设备,计算设备对预定数字的发送是在与从服务器接收第一数字(p)的信道不同的信道上进行的。
15.根据权利要求11或12所述的计算设备,其中:
第一离散对数基于(gc mod p);以及
第二离散对数基于((gc mod p)s mod p)。
16.一种保护数据的方法,包括:
从用户设备接收对资源的请求;
从用户设备接收预定数字(s);
创建第一数字(p)和第二数字(g);
向用户设备发送第一数字(p);
创建质询码(c);
基于质询码(c),第一数字(p)和第二数字(g)确定第一离散对数;
向用户设备发送第一离散对数;
基于第一离散对数、预定数字(s)和第一数字(p),通过第二离散对数计算第一密码(R1);
从用户设备接收基于第二离散对数的第二密码(R2);
比较第一密码(R1)和第二密码(R2);以及
响应于确定第一密码(R1)与第二密码(R2)相同,允许用户设备访问资源,
其中,用户设备不知道第二数字(g)和质询码(c)。
17.如权利要求16所述的方法,其中,预定数字(s)是用户设备的标识(ID)号。
18.如权利要求16或17所述的方法,其中,预定数字(s)通过超文本传输协议安全(HTTPS)信道接收。
19.如权利要求16或17所述的方法,其中:
第一数字(p)是质数;
第一数字(p)大于第二数字(g);
第二数字(g)是2或5。
20.如权利要求16或17所述的方法,其中,经由公共交换电话网(PSTN)信道向用户设备发送第一数字(p)。
21.如权利要求16或17所述的方法,其中,计算设备对预定数字的接收是在与向第一用户发送第一数字(p)的信道不同的信道上进行的。
22.如权利要求16或17所述的方法,第一离散对数基于(gc mod p)。
23.如权利要求22所述的方法,其中,第二离散对数基于((gc mod p)s mod p)。
24.如权利要求16或17所述的方法,还包括:
响应于确定第一密码(R1)与第二密码(R2)不同,向与所请求资源相关联的用户的帐户发送警报。
25.如权利要求16或17所述的方法,还包括:
响应于确定第一密码(R1)与第二密码(R2)相同,改变质询码。
26.一种用于保护数据的计算机可读存储介质,可由处理电路读取并存储可由处理电路执行以执行根据权利要求16至25中任一项所述的方法的指令。
CN201880070278.2A 2017-12-19 2018-12-18 多因素认证 Active CN111295861B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/847,869 2017-12-19
US15/847,869 US11122033B2 (en) 2017-12-19 2017-12-19 Multi factor authentication
PCT/IB2018/060254 WO2019123249A1 (en) 2017-12-19 2018-12-18 Multifactor authentication

Publications (2)

Publication Number Publication Date
CN111295861A CN111295861A (zh) 2020-06-16
CN111295861B true CN111295861B (zh) 2023-07-14

Family

ID=66816610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880070278.2A Active CN111295861B (zh) 2017-12-19 2018-12-18 多因素认证

Country Status (6)

Country Link
US (1) US11122033B2 (zh)
JP (1) JP7300799B2 (zh)
CN (1) CN111295861B (zh)
DE (1) DE112018006443T5 (zh)
GB (1) GB2582877A (zh)
WO (1) WO2019123249A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947659B2 (en) 2020-05-28 2024-04-02 Red Hat, Inc. Data distribution across multiple devices using a trusted execution environment in a mobile device
US12093371B2 (en) 2020-05-28 2024-09-17 Red Hat, Inc. Data distribution using a trusted execution environment in an untrusted device
US11971980B2 (en) 2020-05-28 2024-04-30 Red Hat, Inc. Using trusted execution environments to perform a communal operation for mutually-untrusted devices
WO2022022739A1 (zh) * 2020-07-31 2022-02-03 维沃移动通信有限公司 接入控制方法、装置及通信设备
US11848924B2 (en) * 2020-10-12 2023-12-19 Red Hat, Inc. Multi-factor system-to-system authentication using secure execution environments
US20220294639A1 (en) * 2021-03-15 2022-09-15 Synamedia Limited Home context-aware authentication

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987134A (en) * 1996-02-23 1999-11-16 Fuji Xerox Co., Ltd. Device and method for authenticating user's access rights to resources
JP2001313634A (ja) * 2000-03-17 2001-11-09 Lucent Technol Inc 通信方法
JP2004228958A (ja) * 2003-01-23 2004-08-12 Nec Corp 署名方法および署名プログラム
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
CN104704769A (zh) * 2012-10-15 2015-06-10 皇家飞利浦有限公司 无线通信系统
CN106416123A (zh) * 2014-05-23 2017-02-15 国际商业机器公司 基于密码的认证

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497423A (en) * 1993-06-18 1996-03-05 Matsushita Electric Industrial Co., Ltd. Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication
NL9301348A (nl) * 1993-08-02 1995-03-01 Stefanus Alfonsus Brands Elektronisch betalingssysteem.
DE69704684T2 (de) * 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6282295B1 (en) * 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US6754820B1 (en) * 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
JP2001066989A (ja) * 1999-08-31 2001-03-16 Fuji Xerox Co Ltd 一方向性関数生成方法,一方向性関数値生成装置,証明装置,認証方法および認証装置
US6718467B1 (en) * 1999-10-28 2004-04-06 Cisco Technology, Inc. Password based protocol for secure communications
US20020025046A1 (en) * 2000-05-12 2002-02-28 Hung-Yu Lin Controlled proxy secure end to end communication
US7218734B2 (en) * 2001-05-02 2007-05-15 Nciper Corporation Limited Ring arithmetic method, system, and apparatus
JP4774650B2 (ja) * 2001-08-07 2011-09-14 日本電気株式会社 離散対数の一致または不一致を示すゼロ知識証明システム及び方法
US7296156B2 (en) 2002-06-20 2007-11-13 International Business Machines Corporation System and method for SMS authentication
KR20060020688A (ko) * 2003-06-17 2006-03-06 코닌클리케 필립스 일렉트로닉스 엔.브이. 개선된 안전 인증 채널
US7398550B2 (en) * 2003-06-18 2008-07-08 Microsoft Corporation Enhanced shared secret provisioning protocol
JP4457651B2 (ja) * 2003-11-27 2010-04-28 日本電気株式会社 証明装置及び証明方法並びにプログラム
GB0424052D0 (en) * 2004-10-29 2004-12-01 Nortel Networks Ltd Improvements in or relating to internet protocol (IP) location, privacy and presence
US20060126848A1 (en) * 2004-12-15 2006-06-15 Electronics And Telecommunications Research Institute Key authentication/service system and method using one-time authentication code
US20060215837A1 (en) * 2004-12-18 2006-09-28 Hewlett-Packard Development Company, L.P. Method and apparatus for generating an identifier-based public/private key pair
US7747865B2 (en) * 2005-02-10 2010-06-29 International Business Machines Corporation Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
US20070107050A1 (en) 2005-11-07 2007-05-10 Jexp, Inc. Simple two-factor authentication
JP4868131B2 (ja) 2006-06-15 2012-02-01 ネッツエスアイ東洋株式会社 電子割符照合システム
WO2009083109A1 (en) * 2008-01-02 2009-07-09 National University Of Ireland, Galway A method and apparatus for authenticating a user
US8543091B2 (en) 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
US8156334B2 (en) * 2008-08-12 2012-04-10 Texas Instruments Incorporated Public key out-of-band transfer for mutual authentication
IES20090506A2 (en) * 2009-07-02 2009-12-09 Newbay Res Ltd A challenge-response system and method
CN101662465B (zh) * 2009-08-26 2013-03-27 深圳市腾讯计算机系统有限公司 一种动态口令验证的方法及装置
US20120204242A1 (en) * 2011-02-03 2012-08-09 Activepath Ltd. Protecting web authentication using external module
CN102231666A (zh) * 2011-06-29 2011-11-02 电子科技大学 基于强素数的零知识身份认证方法
EP3700161B1 (en) * 2011-11-11 2020-12-30 Soprano Design Limited Secure messaging
FR2985127A1 (fr) * 2011-12-22 2013-06-28 France Telecom Procede d'authentification entre un lecteur et une etiquette radio
US8799165B2 (en) * 2012-01-11 2014-08-05 Rawllin International Inc. Electronic signature security algorithms
US10778659B2 (en) * 2012-05-24 2020-09-15 Smart Security Systems Llc System and method for protecting communications
US9088555B2 (en) * 2012-12-27 2015-07-21 International Business Machines Corporation Method and apparatus for server-side authentication and authorization for mobile clients without client-side application modification
US9203832B2 (en) * 2013-03-12 2015-12-01 Cable Television Laboratories, Inc. DTCP certificate authentication over TLS protocol
US9313198B2 (en) 2013-03-27 2016-04-12 Oracle International Corporation Multi-factor authentication using an authentication device
US9106644B2 (en) 2013-05-30 2015-08-11 CertiVox Ltd. Authentication
GB201309702D0 (en) * 2013-05-30 2013-07-17 Certivox Ltd Security
CN104243157A (zh) 2013-06-24 2014-12-24 阿里巴巴集团控股有限公司 一种用于用户身份认证的方法和装置
US20150134966A1 (en) * 2013-11-10 2015-05-14 Sypris Electronics, Llc Authentication System
US10432409B2 (en) * 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US10375063B2 (en) * 2014-07-29 2019-08-06 Lexisnexis Risk Solutions Inc. Systems and methods for combined OTP and KBA identity authentication utilizing academic publication data
GB2533095A (en) 2014-12-08 2016-06-15 Cryptomathic Ltd System and method
SG10201601937TA (en) * 2015-03-12 2016-10-28 18 Degrees Lab Pte Ltd Method and system for facilitating authentication
CN105260673A (zh) 2015-09-18 2016-01-20 小米科技有限责任公司 短信读取方法及装置
US9860237B2 (en) * 2015-10-08 2018-01-02 International Business Machines Corporation Password-based authentication in server systems
US10225283B2 (en) * 2015-10-22 2019-03-05 Oracle International Corporation Protection against end user account locking denial of service (DOS)
US10785210B2 (en) 2016-01-23 2020-09-22 Verizon Patent And Licensing Inc. User-enabled, two-factor authentication service
KR102549272B1 (ko) 2016-05-17 2023-06-30 한국전자통신연구원 패스워드와 id 기반 서명을 이용한 인증 키 합의 방법 및 장치
US10425224B1 (en) * 2017-06-30 2019-09-24 Salesforce.Com, Inc. Identity confirmation using private keys

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987134A (en) * 1996-02-23 1999-11-16 Fuji Xerox Co., Ltd. Device and method for authenticating user's access rights to resources
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
JP2001313634A (ja) * 2000-03-17 2001-11-09 Lucent Technol Inc 通信方法
JP2004228958A (ja) * 2003-01-23 2004-08-12 Nec Corp 署名方法および署名プログラム
CN104704769A (zh) * 2012-10-15 2015-06-10 皇家飞利浦有限公司 无线通信系统
CN106416123A (zh) * 2014-05-23 2017-02-15 国际商业机器公司 基于密码的认证

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
N. Harini等.2CAuth: A New Two Factor Authentication Scheme Using QR-Code.《International Journal of Engineering and Technology (IJET)》.2013,正文第2-4部分. *

Also Published As

Publication number Publication date
CN111295861A (zh) 2020-06-16
US11122033B2 (en) 2021-09-14
GB2582877A (en) 2020-10-07
WO2019123249A1 (en) 2019-06-27
US20190190903A1 (en) 2019-06-20
DE112018006443T5 (de) 2020-09-03
GB202010531D0 (en) 2020-08-26
JP7300799B2 (ja) 2023-06-30
JP2021507575A (ja) 2021-02-22

Similar Documents

Publication Publication Date Title
CN111295861B (zh) 多因素认证
JP7403020B2 (ja) 顧客サポート呼の第2の要素認証のためのシステムおよび方法
EP3420677B1 (en) System and method for service assisted mobile pairing of password-less computer login
US9258294B2 (en) Remote authentication method with single sign on credentials
US8719568B1 (en) Secure delivery of sensitive information from a non-communicative actor
US20170208049A1 (en) Key agreement method and device for verification information
US11564094B1 (en) Secondary device authentication proxied from authenticated primary device
US9344896B2 (en) Method and system for delivering a command to a mobile device
CA2744971A1 (en) Secure transaction authentication
CN204360381U (zh) 移动设备
CN110430167B (zh) 临时账户的管理方法、电子设备、管理终端及存储介质
KR101246339B1 (ko) 큐알 코드 보안인증 시스템 및 그 방법
US20190238532A1 (en) Authentication system utilizing secondary connection
CN112968892B (zh) 信息的验证方法、装置、计算设备和介质
CN112153038B (zh) 一种安全登录的方法、装置、验证终端及可读存储介质
CN111492614B (zh) 多因素认证
Huseynov et al. Context-aware multifactor authentication survey
CN116701831B (zh) 处理数据的方法、装置及存储介质
US9143510B2 (en) Secure identification of intranet network
Igor et al. Security Software Green Head for Mobile Devices Providing Comprehensive Protection from Malware and Illegal Activities of Cyber Criminals.
CN112966286A (zh) 用户登录的方法、系统、设备和计算机可读介质
CN114422270B (zh) 一种互联网平台系统安全的登录鉴权的方法及装置
Daneshgadeh et al. Security Issues of Smartphones Regarding M-Commerce
HAGOS MOBICLOUD DATA SECURITY FRAMEWORK FOR THE MOBILE BANKING INDUSTRY
CN117641338A (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