CN112154636A - 深度链接认证 - Google Patents
深度链接认证 Download PDFInfo
- Publication number
- CN112154636A CN112154636A CN201880093654.XA CN201880093654A CN112154636A CN 112154636 A CN112154636 A CN 112154636A CN 201880093654 A CN201880093654 A CN 201880093654A CN 112154636 A CN112154636 A CN 112154636A
- Authority
- CN
- China
- Prior art keywords
- communication device
- link
- remote server
- server computer
- time password
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/134—Hyperlinking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/385—Payment protocols; Details thereof using an alias or single-use codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3228—One-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开提供一种用于通过深度链接进行认证的方法和系统。通信装置可以向远程服务器计算机提供凭证以作为认证过程的部分。所述远程服务器计算机可以通过向所述通信装置传输包含一次性密码的深度链接来质询所述通信装置。所述通信装置可以激活并解析所述深度链接以确定所述一次性密码。所述一次性密码可以由所述通信装置传输回所述远程服务器计算机。所述远程服务器计算机可以验证接收到的一次性密码与发送的一次性密码匹配,以完成所述认证过程。
Description
背景技术
在典型的单因子认证程序中,用户向服务提供一些凭证,以通过所述服务进行认证。例如,基于网络的电子邮件客户端可以请求用户名和密码形式的凭证。当用户提供用户名和密码时,电子邮件客户端会对用户进行认证,并允许用户访问他们的电子邮件。
然而,存在许多与单因子认证相关联的安全性问题。对于诈骗犯来说,获得凭证并以用户身份而非他们自身的身份来进行认证是相当容易的。引入双因子认证作为处理这种问题的一种方式。
使用双因子认证时,用户不仅提供凭证,还提供一些其它形式的证据以证明自己是其所声称的身份。例如,在双因子认证系统中,用户可以将其凭证提供给远程服务器,然后从所述远程服务器接收质询。所述质询可能是用户例如在注册过程中提前设置或提出的质询问题。另一种常见的质询是一次性密码。提供凭证后,远程服务器可以通过用户的电子邮件地址向用户发送质询密码。用户可以访问他们的电子邮件,记住密码,然后将所述密码传回到远程服务器计算机以作为第二认证因子。
一次性密码是有用的,因为它们是动态的。例如质询问题的其它常见的双因子认证形式不会经常改变,且一旦被破解就可以被轻易地利用。相比之下,一次性密码在每次认证尝试时都会改变,使得欺诈用户更难以利用和破解基于一次性密码的认证系统。然而,使用一次性密码对用户来说常常是不方便的。用户通常必须退出他们当前作用中的应用程序、导航到其电子邮件、阅读电子邮件以找到密码、记住密码、打开应用程序,然后输入密码。尽管所述一次性密码提供了许多安全性益处,但许多网络服务因为双因子认证给用户带来不便而不愿意实施所述双因子认证。
本发明的实施例单独地和共同地解决这些和其它问题。
发明内容
实施例提供使用深度链接的双因子认证的方法。用户可以在其通信装置上使用文本发送或电子邮件应用程序等通信应用程序从认证远程服务器计算机接收深度链接。深度链接可以包含一次性密码。用户可以例如通过使用触摸屏点击或选择深度链接来激活所述深度链接。当深度链接被激活时,通信装置可以使用主机应用程序自动解析深度链接,以确定一次性密码。一次性密码可以被传输到远程服务器计算机,且远程服务器计算机可以验证接收到的一次性密码与生成的一次性密码匹配,从而完成多因子认证过程。
与传统双因子认证方法相比,实施例具有许多优点。根据实施例的方法比传统方法更简单且更安全。用户无须记住密码并重新输入,只需简单地选择链接,其余的认证过程会自动执行。此外,由于在向远程服务器计算机传输一次性密码的通信装置上接收到链接,所以实施例提供了额外的安全性益处,因为所述实施例允许远程服务器计算机验证用户正持有发出请求的通信装置。另外,与传统的基于一次性密码的双因子认证系统相比,点击或选择链接具有优点。在传统系统中,用户必须记住一次性密码,且在不同窗口中重新输入密码。对于用户来说这可能是困难的,他们可能会记错一次性密码或在重新输入所述一次性密码时出现输入错误。另外,一些系统会在用户错误地输入一次性密码时将其锁定。由于根据实施例的方法不需要用户自己重新输入一次性密码,因此用户不会面临错误地输入一次性密码的风险,从而减少了用户摩擦并提高了用户体验。
一个实施例涉及一种方法,包括:由通信装置经由通信应用程序从远程服务器计算机接收链接;由通信装置接收激活链接的指令;由通信装置基于链接确定一次性密码;由通信装置经由在通信装置上运行的主机应用程序向远程服务器计算机传输一次性密码;并且由通信装置从远程服务器计算机接收认证消息。
另一实施例涉及一种通信装置,包括:处理器;以及耦合到处理器的非瞬态计算机可读介质,所述非瞬态计算机可读介质包括处理器可执行以用于执行上述方法的代码。
另一实施例涉及一种方法,包括:由远程服务器计算机生成一次性密码;由远程服务器计算机存储一次性密码或一次性密码的派生内容(derivative);由远程服务器计算机基于一次性密码生成链接;由远程服务器计算机向与通信装置相关联的通信应用程序传输链接,其中通信装置使用链接确定一次性密码;由远程服务器计算机从通信装置接收一次性密码;由远程服务器计算机验证从通信装置接收的一次性密码与存储的一次性密码或存储的一次性密码的派生内容匹配;以及向通信装置传输认证消息。
在一些实施例中,认证消息可以用于交易,并且交易的唯一认证形式是通过使用认证消息。
在论述具体实施例之前,可详细描述一些术语。
术语
“服务器计算机”可以包括功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机集群或作为一个单元起作用的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可包括一个或多个计算设备,并且可使用多种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。
“存储器”可以是可存储电子数据的任何合适的装置或多个装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可以由处理器执行以实施所期望的方法的指令。存储器的实例可包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可使用任何合适的电气、光学和/或磁性操作模式来操作。
“处理器”可指任何合适的数据计算装置或多个数据计算装置。处理器可包括一起工作以实现所期望的功能的一个或多个微处理器。处理器可包括CPU,所述CPU包括足以执行用于执行用户和/或系统生成的请求的程序组件的至少一个高速数据处理器。所述CPU可以是微处理器,例如AMD的速龙(Athlon)、钻龙(Duron)和/或皓龙(Opteron);IBM和/或摩托罗拉(Motorola)的PowerPC;IBM和索尼(Sony)的Cell处理器;英特尔(Intel)的赛扬(Celeron)、安腾(Itanium)、奔腾(Pentium)、至强(Xeon)和/或XScale;和/或类似处理器。
“通信装置”可包括可用于通信的任何合适的装置。通信装置可提供远程或直接通信能力。远程通信能力的实例包括使用移动电话(无线)网络、无线数据网络(例如,3G、4G或类似网络)、Wi-Fi、Wi-Max,或可以提供对例如因特网或专用网络的网络的访问的任何其它通信介质。通信装置的实例包括台式计算机、视频游戏控制台、移动电话(例如,蜂窝电话)、PDA、平板计算机、上网本、笔记本电脑、个人音乐播放器、手持式专用读取器等。通信装置的其它实例包括可穿戴装置,例如智能手表、健身手环、脚链、戒指、耳环等,以及具有远程或直接通信能力的汽车。通信装置可包括用于执行此类功能的任何合适的硬件和软件,且还可包括多个装置或组件(例如,当装置通过系链到另一装置而远程访问网络时,即,使用另一装置作为调制解调器,两个装置一起被视为单个通信装置)。通信装置可以操作通信应用程序。
“链接”或“超链接”可以在电子文档或消息中包括使用户显示或激活另一文档或程序的引用。链接的实例是超文本标记语言(HTML)链接,常见于网页中。链接可以呈现为有颜色的、带下划线的文本部分。链接也可以呈现为按钮或其它图形指示符。链接可以包括地址,例如统一资源定位符(URL),以及指向链接内容、数据查询和标识符的路径。例如,MyApp://support?key1=value1;key2=value2是指向页面“support”上的应用程序“MyApp”的链接,其中查询指定“key1”等于“value1”且“key2”等于“value2”。例如一次性密码的数据可以嵌入或包括在链接中,例如作为查询标识符的部分。
除程序本身之外,“深度链接”可以包括指向、引用或连接到文档或程序内的内容的链接。例如,网页或应用程序可以托管例如图像的内容。深度链接可能会将用户直接带到所述图像或托管所述图像的页面,而不仅仅是应用程序。
“链接格式”可以包括布置或设置链接的方式。链接格式可以定义链接的特性,使得应用程序或操作系统可以解释链接。链接格式可以包括例如指定链接的目标或目的地的方式、哪些字符或符号界定链接中的数据、适当的标签或标识符、链接的最大或最小长度等。链接格式还可以包括通信装置特性(例如,品牌、型号、操作系统和版本号)。
“一次性密码”(OTP)可以包括仅可以使用一次的密码。一次性密码可以是包括任何数量的字母、数字和特殊字符的字母数字代码。一次性密码可以按程序生成或随机生成,并且可以用作双因子认证的部分。一次性密码是凭证的实例。
“凭证”可以包括提供有关实体特性的证据的某物。凭证可以提供实体是其所声称的实体的证据。例如,用户名和密码表明提供用户名和密码的实体是分配有所述用户名和密码的用户。可以提供凭证以作为认证过程的部分。
“通信应用程序”可以包括可以用于通信的软件应用程序。例如,通信应用程序可以指通信装置上允许用户与其它用户或实体进行通信的应用程序,例如电子邮件应用程序、文本发送应用程序或安全通讯应用程序。通信应用程序可以发送、接收、显示和处理消息,以促进用户与例如远程服务器计算机的其它实体之间的通信。
“主机应用程序”可以包括可以托管内容或额外的软件的软件应用程序。例如,主机应用程序可以托管来自远程服务器计算机的内容,例如托管来自与线上商家相关联的外部网络服务器的内容的购物应用程序。主机应用程序还可以托管应用程序编程接口,其允许主机应用程序与例如通信应用程序的其它软件组件进行通信。主机应用程序和内容,无论托管与否,都可以经由链接和深度链接访问。主机应用程序可以解析或以其它方式处理深度链接,以便导航到主机应用程序的正确页面或部分,或确定存储在深度链接中的任何信息,例如OTP。
“认证消息”可以包括与实体的认证状态有关的消息。认证消息可以指示实体是否已经进行认证。例如,认证消息可以向主机应用程序指示用户已经进行认证且可以访问主机应用程序上托管的内容。认证消息可以另外包括认证cookie(由万维网服务器建立、存储在用户存储设备中的记录)。
“认证cookie”可以包括从外部服务器发送且存储在装置上的数据。认证cookie指示装置的认证状态,即装置是否已经进行认证。认证cookie可以指示对装置进行认证的时间或持续时间。认证cookie到期后,装置可能需要进行重新认证。认证cookie可以允许远程服务器计算机经由通信装置向用户提供受保护内容,而无需在每次用户想要访问受保护内容时向用户请求凭证。
“链接确认消息”可以指确认使用链接或深度链接作为认证方法的消息。可以响应于经由通信装置从用户接收凭证而传输链接确认消息。例如,试图登录在远程服务器计算机上托管的网络服务的用户可以向远程服务器计算机提供凭证,例如用户名和密码。远程服务器计算机可以确定出于安全性目的而需要额外的认证,并且可以传输链接确认消息,以确认用户愿意经由链接或深度链接认证方法参与额外的认证。“链接确认响应”可以包括来自用户的通信装置的响应,其指示用户是否同意经由链接或深度链接参与额外的认证。链接确认响应可以包括链接格式和电子地址。
“电子地址”可以包括可以用电子方式到达的实体或资源的地址。例如,电子地址可以指可以用于通过因特网到达装置的因特网协议(IP)地址。电子地址的另一实例是电子邮件地址,收件人可以在其中接收电子邮件消息。电话号码是电子地址的另一实例。
“资源”是指可以由实体使用或在实体之间转移的某物。资源的实例包括商品、服务、信息和/或对受限位置的访问。
“资源提供商”是指可以提供资源的实体。资源提供商的实例包括商家、政府机构等。
附图说明
图1示出根据一些实施例的示例性认证系统的系统框图。
图2示出根据一些实施例的示例性通信装置的框图。
图3示出根据一些实施例的示例性远程服务器计算机的框图。
图4示出根据一些实施例的通信装置与远程服务器计算机之间的示例性通信的图。
具体实施方式
实施例涉及用于深度链接认证的方法和系统。操作通信应用程序(例如电子邮件或通讯应用程序)以及主机应用程序的通信装置(例如智能手机)可以接收深度链接且传输一次性密码作为认证过程的部分。例如,通信装置可以操作例如电子商务应用程序的主机应用程序,其与经由电子商务应用程序销售商品或服务的资源提供商(即,商家)相关联。为了保护用户的账户和资金,资源提供商可能会要求用户提供凭证(即,用户名和密码)以及一次性密码作为双因子认证过程的部分。可以由资源提供商操作的远程服务器计算机可以从通信装置接收凭证。远程服务器计算机可以通过向通信装置,例如向所述通信装置上的通信应用程序或向与所述通信装置相关联的电子邮件地址或电话号码发送深度链接来验证所述凭证并质询所述通信装置。深度链接包括或具有嵌入其内的一次性密码,例如数字或字母数字代码。替代地,远程服务器计算机可以不接收凭证,并且可以改为使用深度链接作为用于通信装置的唯一认证形式。
用户可以选择或激活深度链接(例如,使用通信装置上的触摸屏)。选择深度链接会使通信装置将焦点移动到主机应用程序(例如,通过将主机应用程序窗口移动到前台)或执行主机应用程序。主机应用程序可以解析深度链接以确定一次性密码,并向远程服务器计算机传输所述一次性密码。远程服务器计算机可以验证一次性密码与由远程服务器计算机发送的一次性密码匹配,并认证通信装置。通过使用通信装置和主机应用程序,用户现在可以使用通信装置访问受保护资源(例如,由资源提供商提供的网络内容)。
图1示出根据一些实施例的例示性系统100的框图,其包括用户102、通信装置104、通信网络106以及远程服务器计算机108。通信装置104和远程服务器计算机108可以通过通信网络106以可操作方式彼此通信。
用户102可以是通信装置104的属主或操作者。用户102可以是客户或消费者,并且可以使用通信装置104来访问由资源提供商和/或远程服务器计算机108提供的资源。
通信装置104可以是智能手机或任何其它适当的通信装置。通信装置104能够经由任何适当的输入/输出装置或外围设备与例如远程服务器计算机108或用户102的其它装置进行通信。
通信网络106可以采取任何合适的通信网络形式,所述通信网络可以是以下各项中的任一个和/或组合:直接互连;因特网;局域网(LAN);城域网(MAN);作为因特网上节点的运行任务(OMNI);安全自定义连接;广域网(WAN);无线网络(例如,采用例如但不限于无线应用程序协议(WAP)、I-模式和/或其类似者的协议);和/或类似者。
实体、提供商、网络和装置之间的消息可以使用安全通信协议来传输,所述安全通信协议例如但不限于:文件传送协议(FTP);超文本传送协议(HTTP);安全超文本传送协议(HTTPS),安全套接层(SSL),ISO(例如,ISO 8583)和/或类似者。
图2示出根据一些实施例的示例性通信装置200。通信装置200可以包括用于启用例如无线通信或电话的某些装置功能的电路系统。负责启用那些功能的功能元件可以包括处理器202,所述处理器可以执行实施装置的功能和操作的指令。处理器202可以访问数据存储装置210(或另一合适的存储器区域或元件)以检取指令或用于执行指令的数据。例如键盘或触摸屏的数据输入/输出元件206可以用于使用户能够操作通信装置200(例如,允许用户导航到通信应用程序214、主机应用程序216,输入例如用户名和密码的凭证,或激活嵌入在文档、应用程序或消息中的链接或深度链接)。数据输入/输出206还可以被配置成输出数据(例如,经由扬声器)。显示器204也可用于向用户输出数据。通信元件208可以用于实现通信装置200与有线或无线网络之间的数据传送(例如,经由天线222)、启用数据传送功能,以及辅助将通信装置200连接到因特网或另一网络。通信装置200还可以包括非接触式元件接口218,以启用非接触式元件220与装置的其它元件之间的数据传送,其中非接触式元件220可以包括安全存储器和近场通信数据传送元件(或另一形式的短程通信技术)。如所指出,蜂窝电话、可穿戴装置、笔记本电脑或其它类似装置是可根据实施例使用的通信装置200的实例。
数据存储装置210可以包括计算机可读介质,其包括可以由处理器202执行以实施方法的代码。这种方法可以涉及通信装置200与远程服务器计算机之间的通信。所述方法可以包括:由通信装置200经由通信应用程序214从远程服务器计算机接收链接;由通信装置200接收激活链接的指令;由通信装置200基于链接确定一次性密码;由通信装置经由在通信装置200上运行的主机应用程序216向远程服务器计算机传输一次性密码;并且由通信装置200从远程服务器计算机接收认证消息。参考图4可以进一步详细理解这种方法。
数据存储装置210可以包括计算机可读介质,其也可以包括许多软件模块,例如通信模块212、通信应用程序214和主机应用程序216。
通信模块212可以包括使处理器202能够实施或启用通信装置200与其它装置之间的通信的代码,所述其它装置例如其它通信装置或远程服务器计算机。通信模块212可以允许根据任何适当的协议的通信,所述协议例如传输控制协议(TCP)或用户数据报协议(UDP)。所述通信模块可以通过在通信装置200与远程服务器计算机之间建立安全或加密的通信信道来实现安全通信。通信模块212可以进一步允许接收和传输凭证、链接确认消息、链接确认响应、链接、深度链接、一次性密码以及认证消息等。
通信应用程序214可以包括处理器202可执行的代码,用于使用户能够经由通信装置200接收、发送和格式化各种消息。例如,通信应用程序214可以包括使处理器202能够生成图形用户界面(GUI)的代码,所述图形用户界面使用户能够草拟消息、删除消息、区分已读取的消息与未读取的消息、将消息分类到不同文件夹或子文件夹中、维护消息接收者的地址簿等。通信应用程序的实例包括用于接收和发送电子邮件、文本消息、或图片和视频的应用程序以及社交网络应用程序。
通信应用程序214可以与处理器302一起接收一个或多个消息,所述消息包含链接到存储在应用程序/数据存储装置/存储器210上的其它应用程序的一个或多个深度链接,包括到主机应用程序的深度链接。通信应用程序214可以提供处理器202可执行的代码,使得用户能够选择或激活消息中接收的深度链接。例如,通信应用程序214可以提供代码以使处理器202能够解释经由数据输入/输出206的输入数据,例如在触摸屏上点击深度链接以作为深度链接的选择。
通信应用程序214或其它软件(例如操作系统)可以使处理器202运行与深度链接相关联的应用程序。例如,对于链接到主机应用程序216内的内容的深度链接,激活深度链接可使处理器202在显示器204上显示与主机应用程序216相关联的GUI。处理器202可以将焦点切换到主机应用程序216,并且可以将额外的处理力分配到主机应用程序216。另外,激活链接可使链接或链接中包含的数据(例如一次性密码)传递到主机应用程序216,或由主机应用程序216解释。
主机应用程序216可以包括处理器202可执行的代码,用于执行与主机应用程序或托管内容相关的功能。这可以包括经由显示器204显示主机应用程序的图形用户界面。主机应用程序216可以采用多种形式,并且以下形式仅旨在作为非限制性实例。作为一个实例,主机应用程序可以是与给定资源提供商或商家相关联的商务应用程序。结合处理器202,主机应用程序216提供与执行交易和组织进行已购买商品的发货或退回相关的功能。主机应用程序216可以提供商品或服务的图形显示以及价格,并且可以使用户能够输入凭证,例如用户名和密码或支付凭证(例如支付账号),以购买商品或服务。主机应用程序216可以托管处理支付信息的安全处理的服务或其它应用程序。作为另一实例,主机应用程序216可以是线上银行应用程序,并且可以显示与账户、账户或信用卡账单的内容相关的信息,并且可以促进账户之间的资金转移。作为又一实例,主机应用程序可以是基于云的安全存储应用程序,所述应用程序存储用户希望保护以免于未授权访问的敏感文档(例如,医疗记录)。
主机应用程序216可以经由处理器202、通信元件208、通信模块212和天线222与远程服务器计算机进行通信。作为根据一些实施例的方法的部分,主机应用程序216可以向远程服务器计算机发送和接收凭证、链接确认响应和一次性密码。参考图4可以更好地理解这些方法。
图3示出根据本发明的一些实施例的示例性远程服务器计算机300。远程服务器计算机300可以包括用于启用某些功能的电路系统或编程,所述功能例如接收凭证和一次性密码、存储凭证和一次性密码、生成一次性密码、验证凭证和一次性密码等。负责启用那些功能的功能元件可以包括处理器302,所述处理器可以执行实施装置的功能和操作的指令。处理器302可以访问计算机可读介质310(或另一合适的存储器区域或元件),以检取指令或用于执行指令的数据。通信元件304可以用于实现远程服务器计算机300与有线或无线网络之间的数据传送,启用数据传送功能,和/或用于辅助连接到因特网或另一网络。
凭证数据库306可以包括凭证的存储库或存储装置,所述凭证例如用户名和密码或用户名和密码的派生内容。例如,凭证数据库306可以包括加密凭证或凭证的密码散列的存储库或存储装置。凭证数据库306可以存储与额外的信息相关联的凭证。例如,凭证数据库306可以存储与账户相关联的凭证,例如与也与所述凭证相关联的用户相关联的账户。凭证数据库306可以用任何适当的数据库软件或硬件来实施,并且可以由处理器302使用例如凭证验证模块318的适当的代码或指令来访问。凭证数据库306可以是加密或未加密形式。
一次性密码数据库308可以包括一次性密码的存储库或存储装置。一次性密码数据库308可以与凭证数据库306连接或相关联,使得一次性密码数据库308中的一次性密码与凭证和与那些凭证相关联的用户相关联。处理器302可以执行代码以解析一次性密码数据库308并执行与一次性密码相关的功能。此类功能可以包括例如验证经由通信元件304接收的一次性密码与存储在一次性密码数据库308中的一次性密码匹配、在一次性密码数据库308中生成并存储新的一次性密码,或从一次性密码数据库308中删除使用过的一次性密码。
每一数据库306、308可以是常规的、容错的、相关的、可缩放的安全数据库,例如那些可购自OracleTM或SybaseTM的数据库。在一些实施例中,任一数据库可以组合成单个数据库,或者可以分成多个数据库。
计算机可读介质310可以包括许多软件模块,例如一次性密码生成模块312、一次性密码关联模块314、一次性密码验证模块316、凭证验证模块318、内容模块320以及通信模块322。
一次性密码生成模块312可以包括处理器302可执行的代码,用于生成一次性密码。生成一次性密码可以通过多种方式完成。作为非限制性实例,一次性密码生成模块312可以包括处理器302可执行的代码,用于生成随机字母数字序列、验证字母数字序列尚未在一次性密码数据库308中进行分配以及将那些随机字母数字序列分配成一次性密码。
一次性密码生成模块312可以另外包括代码,所述代码使得能够根据一次性密码和远程服务器计算机接收的其它信息(例如,链接格式)生成链接和深度链接。例如,在生成一次性密码“ALG123”之后,一次性密码生成模块312可以生成例如“MyApp://?OTP=ALG123”的深度链接。这种深度链接指示应该打开或操作应用程序“MyApp”并且应将字符串“OTP=ALG123”作为查询传递给所述应用程序。当在通信装置上激活深度链接时,应用程序“MyApp”可以接收字符串并解释所述字符串以确定一次性密码(OTP)是“ALG123”。
希望包括链接格式,因为运行不同操作系统、主机应用程序和通信应用程序的不同通信装置可能具有用于链接和深度链接的特定格式。通过使用一次性密码和链接格式生成链接或深度链接,一次性密码生成模块312确保接收到的链接或深度链接可以被接收通信装置理解。
一次性密码关联模块314可以包括处理器302可执行的代码,用于在一次性密码数据库308中存储一次性密码。在一些实施例中,一次性密码关联模块314可以包括处理器可执行的代码,用于将一次性密码数据库308中存储的一次性密码与存储在凭证数据库306或一次性密码数据库308中的凭证或其它用户信息相关联。
一次性密码验证模块316可以包括处理器302可执行的代码,用于确定远程服务器计算机300经由通信元件304接收的一次性密码与存储在一次性密码数据库308中的一次性密码是否匹配。例如,作为认证用户的部分,远程服务器计算机300可以经由通信装置从用户接收凭证,例如用户名和密码。远程服务器计算机300可以使用凭证验证模块318验证凭证,并且可以使用链接或深度链接向用户发出第二认证步骤的质询。在(分别使用模块312和314)生成一次性密码且存储与用户信息或凭证相关联的一次性密码之后,远程服务器计算机300可以向通信装置传输深度链接。在从通信装置接收回一次性密码后,处理器302可以使用来自一次性密码验证模块316的代码搜索或解析一次性密码数据库308,并确定接收到的一次性密码与针对所述特定用户和通信装置生成的一次性密码是否匹配。
凭证验证模块318可以包括处理器302可执行的代码,用于验证接收到的凭证。这可以包括搜索凭证数据库306,以确定接收到的凭证与存储在凭证数据库306中的凭证匹配。例如,凭证验证模块318可以包括处理器302可执行的代码,用于针对接收到的用户名搜索或解析凭证数据库,然后将相关联的密码或密码的派生内容与接收到的密码、接收到的密码的派生内容或接收到的密码派生内容进行比较,以确定所述用户名与数据库中的相关联实体匹配。
内容模块320可以包括处理器302可执行的代码,用于向在例如通信装置的装置上运行的主机应用程序传递内容、资源或其它数据。例如,如果远程服务器计算机300管理电子商务主机应用程序的内容,则远程服务器计算机300可以提供内容,例如商品或服务的图像、统计值(例如,其重量、大小、库存剩余量、价格等)、有关过去订单、退货、发货地点、交易、折扣、评价、建议等的信息。
通信模块322可以包括使处理器302能够实施或启用远程服务器计算机300与例如通信装置的其它装置之间的通信的代码。通信模块322可以允许根据任何适当的协议的通信,所述协议例如传输控制协议(TCP)或用户数据报协议(UDP)。所述通信模块可以通过在远程服务器计算机300与通信装置之间建立安全或加密的通信信道来实现安全通信。通信模块322可以进一步允许接收和传输凭证、链接确认消息、链接确认响应、链接、深度链接、一次性密码以及认证消息。
图4示出通信装置402与远程服务器计算机404之间的通信流程图400。
在步骤S406,通信装置402可以向远程服务器计算机404传输凭证。凭证可以包括用户名和密码或另一适当的凭证,例如PIN、电话号码、装置标识号或类似者。作为登录尝试的部分,通信装置402可以向远程服务器计算机404传输凭证。例如,用户可以尝试登录通信装置402上运行的主机应用程序(例如,个人银行应用程序)。作为登录过程的部分,用户可以输入由通信装置402向远程服务器计算机404传输的用户名和密码(即,凭证)。
在步骤S408,远程服务器计算机404可以验证接收到的凭证与凭证数据库中的对应凭证匹配。例如,远程服务器计算机404可以维护注册了服务的所有用户的数据库或其它记录。远程服务器计算机404可以搜索、解析或以其它方式查询数据库,以确定提供的凭证与存储在与用户相关联的数据库中的凭证是否匹配。例如,对于个人银行应用程序,远程服务器计算机404可以验证用户在操作远程服务器计算机404的银行具有账户,并且凭证与存档的(即,在凭证数据库中的)凭证匹配。这可以是多因子认证方法中的第一认证步骤。在一些实施例中,链接或深度链接可以是唯一的认证形式,在这种情况下,步骤S406和S408是任选的。
在步骤S410,远程服务器计算机404可以向通信装置402传送链接确认消息。链接确认消息可以向操作通信装置402的用户指示远程服务器计算机404希望使用链接或深度链接以第二认证因子来质询用户。链接确认消息允许用户选择接受质询并使用深度链接提供第二凭证(即,一次性密码),或者拒绝质询并通过不同的第二凭证(例如,回答质询问题或提供个人信息)进行认证或终止其登录尝试。在一些实施例中,链接或深度链接可以是第一认证因子,且因此,一次性密码可以是第一凭证。
在步骤S412,通信装置402可以向远程服务器计算机404传输链接确认响应。链接确认响应指示用户是否将使用链接或深度链接进行认证。链接确认响应还可以包括电子地址(例如,电子邮件地址或电话号码),其中可以发送包含一次性密码的链接或深度链接。链接确认响应还可以包括链接格式,指示用于通信装置402的链接或深度链接的正确格式。在一些实施例中,链接格式可以仅仅是与通信装置相关的装置或操作系统信息(例如,制造商的名称、安装的操作系统和版本号)。在一些实施例中,链接确认响应可以不包括链接格式或电子地址,替代地,远程服务器计算机404可以查看注册用户的数据库,并从与给定用户相关的数据库条目确定链接格式和电子地址。例如,在注册过程中,用户可能已被要求提供他们的电话号码以及他们的通信装置402的品牌和型号。在接收到确认响应后,远程服务器计算机404可以查找与所述用户相关的数据库条目,并确定与所述通信装置402相关联的通信装置品牌和型号(且因此,链接格式)以及电子地址(例如,电话号码)。
在步骤S414,远程服务器计算机404可以生成一次性密码,并将所述一次性密码或派生内容(例如,一次性密码的加密版本或一次性密码的密码散列)存储为存储的一次性密码。这可以用例如一次性密码生成模块的专用软件模块来实现,如图3所示。可以使用任何合适的方式生成一次性密码,且以下方式仅旨在作为非限制性实例。
作为第一实例,可以通过生成一定长度(例如,6个字符)的随机字母数字序列来生成一次性密码。另外,可以对照数据库中维护的一次性密码列表来检查一次性密码,以验证所述一次性密码尚未分配给另一用户。作为另一实例,在早些时候,远程服务器计算机404可能已经生成大量的一次性密码。远程服务器计算机404可以维护已分配和未分配密码的列表。当远程服务器计算机404将密码分配给通信装置402时,远程服务器计算机404可以随机地从未分配密码的列表中选择密码,并且将所述密码存储成与接收所述密码的用户或通信装置402关联。可以从未分配密码列表中删除所述密码,并将其插入已分配密码列表中。当使用一次性密码时,所述密码对于所述用户不再有效。可以清除存储成与用户或通信装置关联的一次性密码条目,并且可以从已分配密码列表中删除所述一次性密码并将其传回到未分配密码列表中。
如上所述,还存在可以生成一次性密码或将一次性密码分配给用户的许多其它方法。前述内容仅旨在作为非限制性实例。此外,可以包括额外的步骤或特征,以改进一次性密码生成或一次性密码的安全性。例如,一次性密码可以通过密码安全随机数生成器生成,或以加密形式存储或传输等。
在步骤S416,远程服务器计算机404可以基于一次性密码生成链接。在一些实施例中,远程服务器计算机404还基于随链接确认消息接收的链接格式或由远程服务器计算机404确定的链接格式来生成链接。链接格式可以对应于一个或多个装置特性(例如,通信装置402的操作系统、版本号、制造商、品牌和型号)。链接或深度链接可以是包含一次性密码的信息包,所述信息包可以由用户经由通信装置402和其中的通信应用程序激活,以导航到通信装置402上的主机应用程序。作为深度链接认证的部分,主机应用程序可以解析链接并确定一次性密码,然后将所述一次性密码发送回远程服务器计算机404。
为此,远程服务器计算机404可以生成可以遵循通信装置402可以解释的格式的链接、参考主机应用程序并传送一次性密码。网页(例如,HTTP://...)以及不同操作系统中都有许多不同链接格式的实例。作为一个非限制性实例,远程服务器计算机404可以将一次性密码作为查询附加到默认链接上,例如HostApplication://onetimepasscode/?OTP=1ALG93。该链接向通信装置402指示:所述通信装置应打开名为“HostApplication”的应用程序、导航到页面“onetimepasscode”并将字符串“1ALG93”存储在名为“OTP”(即,一次性密码)的变量中。
在步骤S418,远程服务器计算机404可以向与通信装置402相关联的通信应用程序传输链接。例如,远程服务器计算机404可以格式化包含链接的电子邮件消息,并向与用户和通信装置402相关联的电子邮件地址传输所述电子邮件消息。作为另一实例,远程服务器计算机404可以生成包含链接的文本消息,并向与通信装置402相关联的电话号码传输所述文本消息。
在步骤S420,通信装置402可以接收激活链接的指令。这可以包括用户经由以可操作方式耦合到通信装置402的输入装置来选择通信装置402上的链接,例如,通过点击触摸屏或将光标移动到链接上并按下确认按钮,例如键入键(enter key)。通信装置402、其操作系统或通信应用程序(例如,用于显示电子邮件或文本消息的客户端应用程序)可以包括关于解释链接选择和激活的代码或指令。一旦激活链接,通信装置402就可以基于链接导航到主机应用程序以及主机应用程序的特定页面、段或子例程。例如,对于链接“HostApplication://onetimepasscode/?OTP=1ALG93”,激活所述链接可以使通信装置402导航到名为“HostApplication”的应用程序、导航到名为“onetimepasscode”的页面,并向“onetimepasscode”页面提供变量“OTP”,从而将“1ALG93”的值分配给所述变量。
在步骤S422,通信装置402可以基于步骤S418中接收的链接确定一次性密码。通信装置402可以经由通信装置402上运行的主机应用程序确定一次性密码。例如,主机应用程序可以解析链接并基于所述解析确定一次性密码。主机应用程序可以循环访问链接,并寻找指示一次性密码开始的特殊字符或一系列字符。例如,主机应用程序可以循环访问链接,直到主机应用程序标识出字符串“?OTP=”。主机应用程序可以确定一次性密码是“?OTP=”之后的字符集,例如以上实例中的“1ALG93”。
在步骤S424,通信装置402可以经由通信装置402上运行的主机应用程序向远程服务器计算机404传输一次性密码。例如,可以在远程服务器计算机404与通信装置402之间建立安全通信信道,并且可以经由所述通信通道传输一次性密码。在一些实施例中,可以经由网络即,例如因特网的图1的通信网络106,传输一次性密码。
在步骤S426,远程服务器计算机404可以验证从通信装置402接收的一次性密码或从通信装置402接收的一次性密码的派生内容与存储的一次性密码或存储的一次性密码的派生内容匹配。远程服务器计算机404可以在一次性密码数据库中维护一次性密码的集合,并且可以解析或查询数据库,以确定给定的通信装置402是否接收到一次性密码,以及由通信装置402传回的密码与由远程服务器计算机404接收的一次性密码是否匹配。
如果接收到的密码与存储的密码匹配,则远程服务器计算机404可以确定通信装置402成功完成质询认证步骤且因此得到认证。然后,远程服务器计算机404可以向用户提供对需要认证才能访问的内容或功能的访问。例如,对于个人银行主机应用程序,在通信装置402可以用于在账户之间转移资金之前,可能需要对通信装置402进行认证。
在步骤S430,远程服务器计算机404可以向通信装置402传输认证消息。认证消息可以向通信装置402指示通信装置402已经被成功认证,并且可以用于访问任何内容或执行需要认证的任何功能。认证消息还可以包括使通信装置402能够访问资源(例如,托管内容或商品或服务)的认证cookie。在与远程服务器计算机404的进一步通信中,通信装置402可以向远程服务器计算机404提供认证cookie,以指示通信装置402已经被成功认证。
总之,实施例提供使用链接和/或深度链接的双因子认证的方便方法。在接收凭证之后,远程服务器计算机可以生成一次性密码,并基于所述一次性密码生成链接。链接可以发送到通信装置(例如,智能手机),且用户可以点击或选择链接以激活所述链接。选择链接后,通信装置可以打开主机应用程序,所述主机应用程序可以解析链接以确定一次性密码,并将所述一次性密码传输回远程服务器计算机。远程服务器计算机可以通过验证接收到的一次性密码与生成的一次性密码匹配来认证通信装置,并将认证消息传输回通信装置,认证消息指示通信装置是否已经被成功认证。
本文中提及的任何计算机系统都可利用任何合适数目个子系统。在一些实施例中,计算机系统包括单个计算机设备,其中子系统可以是计算机设备的组件。在其它实施例中,计算机系统可包括具有内部组件的多个计算机设备,每个计算机设备是子系统。
计算机系统可以包括例如通过外部接口或通过内部接口连接在一起的多个组件或子系统。在一些实施例中,计算机系统、子系统或设备可通过网络进行通信。在此类情况下,一个计算机可以视为客户端且另一计算机视为服务器,其中每一者可以是同一计算机系统的部分。客户端和服务器可各自包括多个系统、子系统或组件。
应理解,本发明的实施例中的任一个都可使用硬件(例如,专用集成电路或现场可编程门阵列)和/或使用计算机软件以控制逻辑的形式实施,其中通用可编程处理器是模块化的或集成的。如本文中所使用,处理器包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或网络化的多个处理单元。基于本文中提供的公开内容和教示,本领域普通技术人员将知道并了解到使用硬件及硬件和软件的组合实施本发明的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可以被实施为要使用例如Java、C、C++、C#、Objective-C、Swift的任何合适计算机语言或例如Perl或Python的脚本语言,使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可以作为一系列指令或命令存储在用于存储和/或传输的计算机可读介质上,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁介质,或例如光盘(CD)或数字通用盘(DVD)的光学介质、快闪存储器及类似者。计算机可读介质可以是此类存储或传输装置的任何组合。
此类程序也可以使用载波信号来编码和传输,所述载波信号适合于经由符合多种协议的有线、光学和/或无线网络来传输,包括因特网。因此,根据本发明的实施例的计算机可读介质可以使用以此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可以与兼容装置一起封装或与其它装置分开地提供(例如,经由因特网下载)。任何此类计算机可读介质可以驻存在单个计算机产品(例如,硬盘驱动器,CD或整个计算机系统)之上或之内,并且可以存在于系统或网络内的不同计算机产品之上或之内。计算机系统可以包括监视器、打印机或用于向用户提供本文中提及的任何结果的其它合适的显示器。
本文中所描述的任何方法可以完全或部分地通过计算机系统执行,所述计算机系统包括可以被配置成执行所述步骤的一个或多个处理器。因此,实施例可以涉及被配置成执行本文中所描述的任何方法的步骤的计算机系统,可能具有执行相应步骤或相应步骤组的不同组件。尽管以编号的步骤呈现,但是本文中的方法步骤也可以同时执行或按不同的顺序执行。另外,这些步骤的部分可与其它方法的其它步骤的部分一起使用。另外,步骤的全部或部分可以是任选的。另外,任何方法的步骤可用模块、电路或用于执行这些步骤的其它方式来执行。
特定实施例的具体细节可在不脱离本发明实施例的精神和范围的情况下按任何适合的方式组合。然而,本发明的其它实施例可以涉及与每个单独方面或这些单独方面的特定组合相关的具体实施例。出于说明和描述的目的呈现本发明的示例性实施例的以上描述。不旨在是详尽的,或将本发明限制于描述的精确形式,且根据上文的教示许多修改和变形是可能的。所述实施例经过选择和描述以便最佳地解释本发明的原理和其实际应用,由此使得本领域的其它技术人员能够在各种实施例中并且以适于所预期的特定用途的各种修改最佳地利用本发明。
除非明确指示为相反情况,否则“一(a/an)”或“所述(the)”的叙述旨在表示“一个或多个”。除非明确指示为相反情况,否则“或”的使用旨在表示“包括性的或”,而不是“排除性的或”。
本文中所提及的所有专利、专利申请、公开和描述出于所有目的以全文引用的方式并入。并非承认它们是现有技术。
Claims (20)
1.一种方法,包括:
由通信装置经由通信应用程序从远程服务器计算机接收链接;
由所述通信装置接收激活所述链接的指令;
由所述通信装置基于所述链接确定一次性密码;
由所述通信装置经由在所述通信装置上运行的主机应用程序向所述远程服务器计算机传输所述一次性密码;以及
由所述通信装置从所述远程服务器计算机接收认证消息。
2.根据权利要求1所述的方法,其中所述认证消息包括认证cookie,所述认证cookie使得所述通信装置能够访问与所述远程服务器计算机相关联的资源。
3.根据权利要求1所述的方法,其中接收激活所述链接的指令包括用户经由以可操作方式耦合到所述通信装置的输入装置选择所述链接。
4.根据权利要求1所述的方法,其中所述认证消息用于交易,并且其中所述交易的唯一认证形式是通过使用所述认证消息。
5.根据权利要求1所述的方法,进一步包括在接收所述链接之前:
由所述通信装置向所述远程服务器计算机传输凭证。
6.根据权利要求5所述的方法,其中所述凭证包括用户名和密码。
7.根据权利要求5所述的方法,进一步包括,在接收所述链接之前且在传输所述凭证之后:
由所述通信装置从所述远程服务器计算机接收链接确认消息;以及
由所述通信装置向所述远程服务器计算机传输链接确认响应,其中所述链接确认响应包括电子地址和链接格式,其中所述电子地址是电子邮件地址或电话号码。
8.一种通信装置,包括:
处理器;以及
非瞬态计算机可读介质,其耦合到所述处理器,所述非瞬态计算机可读介质包括能由所述处理器执行以用于执行方法的代码,所述方法包括:
经由通信应用程序从远程服务器计算机接收链接;
接收激活所述链接的指令;
基于所述链接确定一次性密码;
经由在所述通信装置上运行的主机应用程序向所述远程服务器计算机传输所述一次性密码;以及
从所述远程服务器计算机接收认证消息。
9.根据权利要求8所述的通信装置,其中所述认证消息包括认证cookie,所述认证cookie使得所述通信装置能够访问与所述远程服务器计算机相关联的资源。
10.根据权利要求8所述的通信装置,其中接收激活所述链接的指令包括用户经由以可操作方式耦合到所述通信装置的输入装置选择所述链接。
11.根据权利要求8所述的通信装置,其中所述认证消息用于交易,并且其中所述交易的唯一认证形式是通过使用所述认证消息。
12.根据权利要求8所述的通信装置,其中所述方法进一步包括:
向所述远程服务器计算机传输凭证;
从所述远程服务器计算机接收链接确认消息;以及
向所述远程服务器计算机传输链接确认响应,其中所述链接确认响应包括电子地址,其中所述电子地址是电子邮件地址或电话号码。
13.根据权利要求12所述的通信装置,其中接收所述链接包括经由与所述电子地址相关联的通信应用程序接收所述链接,其中激活所述链接包括操作与所述链接相关联的主机应用程序,并且其中基于所述链接确定一次性密码包括使用所述主机应用程序解析所述链接。
14.根据权利要求12所述的通信装置,其中所述凭证包括用户名和密码。
15.一种方法,包括:
由远程服务器计算机生成一次性密码;
由所述远程服务器计算机将所述一次性密码或所述一次性密码的派生内容存储为存储的一次性密码;
由所述远程服务器计算机基于所述一次性密码或所述派生内容生成链接;
由所述远程服务器计算机向与通信装置相关联的通信应用程序传输所述链接,其中所述通信装置使用所述链接确定所述一次性密码;
由所述远程服务器计算机从所述通信装置接收所述一次性密码;
由所述远程服务器计算机验证从所述通信装置接收的所述一次性密码或从所述通信装置接收的所述一次性密码的派生内容与所述存储的一次性密码或所述存储的一次性密码的派生内容匹配;以及
向所述通信装置传输认证消息。
16.根据权利要求15所述的方法,其中所述认证消息包括认证cookie,所述认证cookie使得所述通信装置能够访问与所述远程服务器计算机相关联的资源。
17.根据权利要求15所述的方法,进一步包括:
由所述远程服务器计算机从所述通信装置接收凭证;
由所述远程服务器计算机验证所述凭证与凭证数据库中的对应凭证匹配;
由所述远程服务器计算机向所述通信装置传输链接确认消息;以及
从所述通信装置接收链接确认响应,其中所述链接确认响应包括与所述通信装置相关联的电子地址,其中所述电子地址是电子邮件地址或电话号码。
18.根据权利要求17所述的方法,其中所述一次性密码或所述一次性密码的所述派生内容被存储成与所述凭证关联。
19.根据权利要求17所述的方法,其中所述链接确认响应另外包括链接格式,其中所述链接是基于所述链接格式和所述一次性密码而生成。
20.根据权利要求19所述的方法,其中所述链接格式与一个或多个通信装置特性相对应。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2018/026898 WO2019199282A1 (en) | 2018-04-10 | 2018-04-10 | Deep link authentication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112154636A true CN112154636A (zh) | 2020-12-29 |
CN112154636B CN112154636B (zh) | 2023-06-02 |
Family
ID=68164374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880093654.XA Active CN112154636B (zh) | 2018-04-10 | 2018-04-10 | 深度链接认证 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210166226A1 (zh) |
EP (1) | EP3777070B1 (zh) |
CN (1) | CN112154636B (zh) |
SG (1) | SG11202009985WA (zh) |
WO (1) | WO2019199282A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB202102838D0 (en) | 2021-02-27 | 2021-04-14 | Polydigi Tech Ltd | Methods, systems and computer program products, for authenticating individual service users |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019199282A1 (en) * | 2018-04-10 | 2019-10-17 | Visa International Service Association | Deep link authentication |
WO2020037013A2 (en) * | 2018-08-14 | 2020-02-20 | Traitware, Inc. | System and method for automatically registering a verified identity in an on-line environment |
CN114039754B (zh) * | 2021-10-28 | 2023-07-18 | 中国联合网络通信集团有限公司 | 一种安全验证方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662364A (zh) * | 2009-09-17 | 2010-03-03 | 北京飞天诚信科技有限公司 | 一种安全登陆的方法和系统 |
CN102202067A (zh) * | 2011-07-15 | 2011-09-28 | 席勇良 | 动态随机密码登录方法 |
US20130055368A1 (en) * | 2011-08-23 | 2013-02-28 | Zixcorp Systems, Inc. | Multi-Factor Authentication |
CN105357242A (zh) * | 2014-08-22 | 2016-02-24 | 中国电信股份有限公司 | 接入无线局域网的方法和系统、短信推送平台、门户系统 |
US20170325089A1 (en) * | 2016-05-03 | 2017-11-09 | Praneet Sharma | Method and system of user authentication and end to end encryption using device synchronization |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002207680A (ja) * | 2001-01-12 | 2002-07-26 | Casio Comput Co Ltd | 電子会議支援システムおよび方法、並びにプログラム |
ITRM20010067A1 (it) * | 2001-02-09 | 2002-08-09 | Alberto Maria Canesi | Metodo di composizione e trasmissione e metodo di ricezione e consultazione di un messaggio elettronico. |
US7346048B1 (en) * | 2001-07-31 | 2008-03-18 | Lsi Logic Corporation | Efficient high density voice processor |
US7590859B2 (en) * | 2001-08-24 | 2009-09-15 | Secure Computing Corporation | System and method for accomplishing two-factor user authentication using the internet |
EP1349359A1 (de) * | 2002-03-27 | 2003-10-01 | Siemens Aktiengesellschaft | Verfahren zum Vergebühren einer Kommunikationsverbindung zwischen Kommunikationsendgeräten |
US20070055867A1 (en) * | 2003-03-14 | 2007-03-08 | Rajesh Kanungo | System and method for secure provisioning of encryption keys |
WO2005082101A2 (en) * | 2004-02-26 | 2005-09-09 | Truefire, Inc. | Systems and methods for producing, managing, delivering, retrieving, and/or tracking permission based communications |
US20060136739A1 (en) * | 2004-12-18 | 2006-06-22 | Christian Brock | Method and apparatus for generating one-time password on hand-held mobile device |
EP2230622B1 (en) * | 2005-07-08 | 2014-08-20 | SanDisk Technologies Inc. | Mass storage device with automated credentials loading |
US7684835B1 (en) * | 2005-07-12 | 2010-03-23 | Marvell Interntional Ltd. | Wake on wireless LAN schemes |
US7778926B1 (en) * | 2006-03-29 | 2010-08-17 | Amazon Technologies, Inc. | Processes for verifying, and accepting content postings from, creators of works represented in an electronic catalog |
CN101803272B (zh) * | 2007-06-26 | 2013-08-14 | 豌豆制造技术有限公司 | 认证系统和方法 |
US9318114B2 (en) * | 2010-11-24 | 2016-04-19 | At&T Intellectual Property I, L.P. | System and method for generating challenge utterances for speaker verification |
JP5845742B2 (ja) * | 2011-09-07 | 2016-01-20 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
GB201309577D0 (en) * | 2013-05-29 | 2013-07-10 | Barclays Bank Plc | Linked registration |
WO2015130700A1 (en) | 2014-02-26 | 2015-09-03 | Secureauth Corporation | Security object creation, validation, and assertion for single sign on authentication |
RU2016144305A (ru) * | 2014-05-12 | 2018-05-14 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Подключение публичного облака к ресурсам частной сети |
US9350548B2 (en) * | 2014-05-30 | 2016-05-24 | Tokenym, LLC | Two factor authentication using a protected pin-like passcode |
US20220188914A1 (en) * | 2014-06-28 | 2022-06-16 | Rupak Kumar Choudhury | A system and method for automated bid configuration and search engine |
US20150379626A1 (en) * | 2014-06-28 | 2015-12-31 | Rupak Kumar Choudhury | Web Based My Budget My Choice Automated Bid Search Engine |
CN105207777B (zh) * | 2014-06-30 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 网络信息验证的方法和装置 |
WO2016153398A1 (en) * | 2015-03-23 | 2016-09-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and user device and authenticator device for authentication of the user device |
US20170054789A1 (en) * | 2015-08-19 | 2017-02-23 | Legist, Llc | System and method for sending electronic files in response to inbound file requests |
US10255589B1 (en) * | 2015-10-23 | 2019-04-09 | Wells Fargo Bank, N.A. | Access controls for transfer transactions |
US10552823B1 (en) * | 2016-03-25 | 2020-02-04 | Early Warning Services, Llc | System and method for authentication of a mobile device |
WO2018042321A1 (en) * | 2016-09-03 | 2018-03-08 | Amberkar Himanshu R | Trusted network development system and method |
US10523675B2 (en) * | 2017-11-08 | 2019-12-31 | Ca, Inc. | Remote direct memory access authorization |
US10693648B2 (en) * | 2018-03-26 | 2020-06-23 | Ca, Inc. | System and method for dynamic grid authentication |
US20190306153A1 (en) * | 2018-03-27 | 2019-10-03 | Ca, Inc. | Adaptive risk-based password syncronization |
US20190312861A1 (en) * | 2018-04-09 | 2019-10-10 | Ca, Inc. | System and method for grid-based one-time password |
WO2019199282A1 (en) * | 2018-04-10 | 2019-10-17 | Visa International Service Association | Deep link authentication |
-
2018
- 2018-04-10 WO PCT/US2018/026898 patent/WO2019199282A1/en unknown
- 2018-04-10 EP EP18914896.8A patent/EP3777070B1/en active Active
- 2018-04-10 CN CN201880093654.XA patent/CN112154636B/zh active Active
- 2018-04-10 SG SG11202009985WA patent/SG11202009985WA/en unknown
- 2018-04-10 US US17/046,721 patent/US20210166226A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662364A (zh) * | 2009-09-17 | 2010-03-03 | 北京飞天诚信科技有限公司 | 一种安全登陆的方法和系统 |
CN102202067A (zh) * | 2011-07-15 | 2011-09-28 | 席勇良 | 动态随机密码登录方法 |
US20130055368A1 (en) * | 2011-08-23 | 2013-02-28 | Zixcorp Systems, Inc. | Multi-Factor Authentication |
CN105357242A (zh) * | 2014-08-22 | 2016-02-24 | 中国电信股份有限公司 | 接入无线局域网的方法和系统、短信推送平台、门户系统 |
US20170325089A1 (en) * | 2016-05-03 | 2017-11-09 | Praneet Sharma | Method and system of user authentication and end to end encryption using device synchronization |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB202102838D0 (en) | 2021-02-27 | 2021-04-14 | Polydigi Tech Ltd | Methods, systems and computer program products, for authenticating individual service users |
Also Published As
Publication number | Publication date |
---|---|
EP3777070B1 (en) | 2022-10-12 |
SG11202009985WA (en) | 2020-11-27 |
US20210166226A1 (en) | 2021-06-03 |
EP3777070A1 (en) | 2021-02-17 |
WO2019199282A1 (en) | 2019-10-17 |
EP3777070A4 (en) | 2021-02-17 |
CN112154636B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11405380B2 (en) | Systems and methods for using imaging to authenticate online users | |
US9741033B2 (en) | System and method for point of sale payment data credentials management using out-of-band authentication | |
US10299118B1 (en) | Authenticating a person for a third party without requiring input of a password by the person | |
US9665868B2 (en) | One-time use password systems and methods | |
RU2565368C2 (ru) | Аутентификация транзакции на основе жетона | |
US11075924B2 (en) | Targeted authentication queries based on detected user actions | |
US10045210B2 (en) | Method, server and system for authentication of a person | |
US20190347651A1 (en) | Computer-implemented system and method for transferring money from a sender to a recipient | |
CN108701309A (zh) | 一种用于电子商务交易安全的分布式用户简档身份验证系统 | |
TR201810238T4 (tr) | Bir mobil kimlik doğrulama uygulaması kullanarak kullanıcıya uygun kimlik doğrulama yöntemi ve aparatı. | |
CN112154636B (zh) | 深度链接认证 | |
WO2009087544A2 (en) | Multi-factor authentication and certification system for electronic transactions | |
EP3937040B1 (en) | Systems and methods for securing login access | |
US10440020B1 (en) | Biometric one touch system | |
JP2023538860A (ja) | 短距離トランシーバを介した検証済みメッセージングのためのシステムおよび方法 | |
US11995643B2 (en) | System and method for providing a temporary virtual payment card | |
US20230354020A1 (en) | Systems and methods for context-switching authentication over short range wireless communication | |
WO2022251337A1 (en) | User verification with digital tag | |
AU2022293469A1 (en) | Systems and methods for contactless card communication and key pair cryptographic authentication using distributed storage |
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 |