US20100122327A1 - Secure authentication for accessing remote resources - Google Patents

Secure authentication for accessing remote resources Download PDF

Info

Publication number
US20100122327A1
US20100122327A1 US12/268,355 US26835508A US2010122327A1 US 20100122327 A1 US20100122327 A1 US 20100122327A1 US 26835508 A US26835508 A US 26835508A US 2010122327 A1 US2010122327 A1 US 2010122327A1
Authority
US
United States
Prior art keywords
interface
resource
url
random
communications channel
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.)
Abandoned
Application number
US12/268,355
Inventor
Anton Franz Linecker
Yuval Kossovsky
Martin Libich
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Priority to US12/268,355 priority Critical patent/US20100122327A1/en
Assigned to APPLE INC. reassignment APPLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIBICH, MARTIN, LINECKER, ANTON FRANZ, KOSSOVSKY, YUVAL
Publication of US20100122327A1 publication Critical patent/US20100122327A1/en
Priority to US16/215,510 priority patent/US11218460B2/en
Priority to US17/646,779 priority patent/US12034713B2/en
Priority to US18/741,634 priority patent/US20240333701A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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

Definitions

  • the subject matter of this specification generally relates to secure authentication.
  • a hallmark of modern secure authentication methods is that they use authentication factors that are classified into three classes.
  • Traditional authentication factors include: (i) something a user has (e.g., a security dongle); (ii) something the user knows (e.g., a password); and (iii) something the user is (e.g., biometrics).
  • Traditional multi-factor authentication methods authenticate one or more of these factors. Increasing the number of authentication factors that are used can increase the level of confidence in a secure authentication. However, increasing the number of authentication factors may decrease a level of comfort (e.g., convenience) for a user.
  • a user is authenticated for a first time on an interface using a first communications channel; the user is authenticated a second time on the interface using a second communications channel; access privileges are determined based on authenticating the user for the second time; and a random Uniform Resource Locator (URL) is generated based on the access privileges, where the random URL is single-use and indirectly associated with a requested resource.
  • a random Uniform Resource Locator URL
  • SMS Short Message Service
  • SIM Subscriber Identity Module
  • a challenge SMS text message can alert a user of a potential security breach (e.g., unauthorized access attempt).
  • using out of band authentication on a single client can increase the convenience of using challenge/response authentication.
  • using semi-transparent objects to display a challenge SMS text message in an interface can increase the convenience of responding to the challenge.
  • FIG. 1 is a block diagram of an example system for securely authenticating access to remote resources.
  • FIG. 2 is a screen shot showing an example interface that includes a first web page for entering a first authentication factor.
  • FIG. 3A is a screen shot showing the example interface of FIG. 2 that includes a Short Message Service (SMS) text message.
  • SMS Short Message Service
  • FIG. 3B is a screen shot showing the example interface of FIG. 2 that includes a second web page.
  • FIG. 4 is a screen shot showing the example interface of FIG. 2 that includes a third web page with access to remote resources.
  • FIG. 5 is a flow chart of an example process for securely authenticating access to remote resources.
  • FIG. 1 is a block diagram of an example system 100 for securely authenticating access to remote resources.
  • the system 100 includes a first client 110 (e.g., a desktop computer) and a second client 120 (e.g., a mobile phone).
  • the first client 110 and second client 120 can communicate with one or more servers, for example, using a first communications channel 130 (e.g., the Internet).
  • the second client 120 can communicate with the one or more servers using a second communications channel 140 (e.g., using Short Message Service (SMS) protocol on a mobile communications network).
  • SMS Short Message Service
  • the system also includes a resource server 150 , an authorization server 162 , and a web server 164 (e.g., a VPN web server).
  • the first client 110 and second client 120 can communicate with the authorization server 162 and web server 164 through the first communications channel 130 to authenticate access privileges and request access to resources.
  • the resources can be stored on the resource server 150 .
  • the resources can include, but are not limited to web pages, images, video, audio, and text.
  • the authorization server 162 and web server 164 can be a same server (e.g., a physical server).
  • the authorization server 162 can be distinct from the web server 164 .
  • the authorization server 162 and web server 164 can be configured as one or more logical servers or physical servers.
  • the first client 110 (and/or the second client 120 ) can request one or more resources from the web server 164 .
  • the web server 164 or the authorization server 162 can authenticate the user (e.g., the user's identity) on the first client 110 .
  • the web server 164 provides resources to the first client 110 based on access privileges authenticated for the user.
  • the request for resources and provision of resources, and authentication process can be communicated over two or more different communications channels, e.g., out of band authentication.
  • the second client 120 can request resources by using the first communications channel 130 .
  • a user on the second client 120 can then authenticate his/her access privileges using the second communications channel 140 , and the resources can be sent to the second client 120 through the first communications channel 130 .
  • Other implementations are possible.
  • more than two communications channels can be used.
  • communications between each of the first client 110 and second client 120 and the servers can be performed through three or more different communications channels.
  • a resource request can be sent by the client through a first communications channel.
  • a challenge can be sent by the authorization server 162 to the client through a second communications channel.
  • a response to the challenge can be sent by the client to the authorization server 162 through a third communications channel.
  • resources can be sent to the client through a fourth communications channel.
  • some, all, or none of the first, second, third, and fourth communications channels can be the same communications channel.
  • a user using the second client 120 can request video (e.g., film dailies), for example, using the first communications channel 130 .
  • the request can be received by the web server 164 (e.g., an Apache server).
  • the authorization server 162 (or the web server 164 ) can request user authentication.
  • the user can initially authenticate using single-sign-on (SSO) credentials, for example.
  • SSO single-sign-on
  • FIG. 2 is a screen shot showing an example interface 200 that includes a first web page for entering a first authentication factor.
  • the example interface 200 can represent the interface of the second client 120 , e.g., an iPhoneTM, and the web page can be displayed by a web browser, e.g., SafariTM.
  • the web server 164 can use the first communications channel 130 to provide a web page requesting the user to log in (e.g., using multi-factor authentication) to determine the user's access privileges.
  • the web page can include a first input field for a username 210 (e.g., the first authentication factor) and a second input field for a password 220 (e.g., a second authentication factor).
  • the web server 164 can use the username and password submitted by the user to determine the user's access privileges.
  • the username and password can be compared to a database (e.g., a Structured Query Language (SQL) database) or to directory services (e.g., an Open Directory or Active Directory server) to determine the user's access privileges.
  • a database e.g., a Structured Query Language (SQL) database
  • directory services e.g., an Open Directory or Active Directory server
  • the web server 164 can request that the user authenticate using one or more authentication factors.
  • the authorization server 162 can request additional authentication.
  • the authorization server can send an out of band challenge to the client.
  • the challenge can be a token (e.g., a 6-digit randomized code) sent to the user's interface through the second communications channel 140 .
  • the token can also be assigned an expiration time (e.g., 10 minutes).
  • a randomized, single-use Uniform Resource Locator (URL) that identifies a web page can be generated. Because a randomized URL is generated for each authentication, the likelihood that the web page identified by the URL is accessed more than once is decreased.
  • the URL and its corresponding web page can be deleted after the first access of the web page, so that the URL and the web page can only be used a single time.
  • the URL and its corresponding web page can be deleted after a session ends. For example, a session can end when a web browser displaying the web page is closed or exited. As another example, a session can end after a certain number or amount of resources are accessed.
  • the web page can be generated to accept a response to the challenge, e.g., the token.
  • the web page can have an input field where a user can input the token.
  • FIG. 3A is a screen shot showing the example interface 200 of FIG. 2 that includes a Short Message Service (SMS) text 310 .
  • SMS Short Message Service
  • the token can be provided to the user using the SMS text message 310 that is sent through the second communications channel 140 .
  • the authorization server 162 can determine the second client's contact information (e.g., a mobile phone number associated with an iPhoneTM) from a database or directory services, based on a SIM corresponding to the client. The authorization server 162 can then send an SMS relay to the client (e.g., #########@txt.example.com).
  • the SMS text 310 can be displayed as a semi-transparent (or translucent) message in the interface.
  • the message can also be always on top (e.g., always displayed in the interface until the message is closed).
  • the token can be automatically copied into the clipboard of the interface, so that the user can simply paste the token into the input field of the web page.
  • FIG. 3B is a screen shot showing the example interface of FIG. 2 that includes a second web page.
  • the user can enter the token into the field so that the token is sent to the authorization server using the first communications channel 130 .
  • the user can simply provide the same token back to the authorization server 162 .
  • the user can provide a different response that is based on the token.
  • a predetermined algorithm can be used to transform the token into the response to be returned to the authorization server 162 .
  • the user can also provide the response through the second communications channel 140 .
  • the user can send the response to the authorization server using a reply SMS text message.
  • the challenge could include a phone number or email address, and the user can respond using an appropriate communications channel.
  • the user can dial the phone number or send an email to the email address as a means for responding to the challenge.
  • the web server 164 can provide the user a URL to another web page with access to remote resources.
  • the URL can be a randomized, single-use URL.
  • the authorization server 162 can cancel the token.
  • the token can be canceled after a predetermined amount of time (e.g., 20 minutes) or a predetermined number of access attempts (e.g., two access attempts).
  • FIG. 4 is a screen shot showing the example interface of FIG. 2 that includes a third web page with access to remote resources.
  • the web page with access to remote resources can be a custom web page.
  • the web server 164 can generate the custom web page (e.g., using Personal Home Page (PHP) script) based on the user's access privileges.
  • the custom web page can include one or more URL's that are associated with resources that the user has sufficient privileges to access.
  • PGP Personal Home Page
  • the one or more URL's can be masked URL's.
  • the one or more URL's can be considered masked URL's because they are not the actual URL that directly identifies the actual location of the resources, e.g., the actual URL is masked.
  • the masked URL can be indirectly associated with a corresponding resource.
  • a mapping table e.g., a proxy table
  • a mapping table can be used to map a masked URL to the location of a corresponding resource.
  • a masked URL can be mapped (e.g., linked) to a function (e.g., a function call) on the resource server 150 that can provide direct access to a resource.
  • the masked URL can be mapped to the actual URL that directly identifies the actual location of the resource on the resource server 150 .
  • the masked URL and mapping table can be generated using Ajax, for example.
  • a user can access (e.g., click on) the masked URL, and an associated resource can be sent to the client.
  • an electronic document corresponding to the resource can be sent to the client.
  • An electronic document (which for brevity will simply be referred to as a document) does not necessarily correspond to a file.
  • a document may be stored in a portion of a file that holds other documents, in a single file dedicated to the document in question, or in multiple coordinated files.
  • the resource can be streamed to the client, so that the likelihood of further distribution of the resource can be reduced.
  • QuickTimeTM Streaming Server QTSS
  • QTSS QuickTimeTM Streaming Server
  • FIG. 5 is a flow chart of an example process for securely authenticating access to remote resources.
  • the process includes receiving 500 a first authentication factor from an interface using a first communications channel.
  • the web server 164 can receive a first authentication factor.
  • Access privileges can be determined 510 based on the first authentication factor.
  • the web server 164 or the authorization server 162 can determine access privileges.
  • a first random Uniform Resource Locator (URL) and a first resource can be generated 520 based on the access privileges.
  • the first resource can be identified by the first random URL and configured to receive a second authentication factor, and the first random URL can be single-use.
  • the web server 164 can generate a first random URL and a first resource.
  • the first resource can be provided 530 to the interface using the first communications channel.
  • the web server 164 can provide the first resource to the interface.
  • the second authentication factor can be provided 540 to the interface using a second communications channel.
  • the authorization server 162 can provide the second authentication factor to the interface.
  • the first client 110 can be used to request resources using the first communications channel 130 .
  • the authorization server 162 can provide a challenge to a second client 120 (that the user can access). The user can use the second client 120 or the first client 110 to submit a response. In addition, the user can use either the first communications channel 130 or the second communications channel 140 to send the response.
  • the SMS text message that is sent to the second client 140 can provide a randomized, single-use URL, instead of a token.
  • the randomized, single-use URL can be generated in the manner described above, and the randomized, single-use URL can be used to access a custom web page as described with reference to FIG. 4 .
  • the user in response to the challenge sent using an SMS text message, can respond with another SMS text message that includes a predetermined shared secret.
  • the secret can be a simple password, or the secret can be a compound password that contains a predetermined password and data provided in the challenge SMS text message.
  • the authorization server's challenge may include the token “457826”.
  • the user may know a predetermined password “AL1”.
  • the user may also know a predetermined algorithm to combine the last four digits of the server's challenge with the predetermined password.
  • the user can respond to the challenge with an SMS text message that includes “AL17826”.
  • a Global Positioning System (GPS) location of the client could be used to authenticate the client, based on a predetermined location of the user.
  • various forms of Digital Rights Management (DRM) can be used to secure the resources that are sent to the client.
  • the client could be used as a universal dongle.
  • the systems and techniques described can be used for secure authentication for access to other resources, such as but not limited to, software applications and computing resources (e.g., physical servers and computers).
  • access to the computing resources can include access to upload resources (e.g., upload video to the resource server 150 ).
  • Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
  • Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation of, data processing apparatus.
  • the tangible program carrier can be a computer readable medium.
  • the computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them.
  • data processing apparatus encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
  • the apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
  • a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
  • a computer program does not necessarily correspond to a file in a file system.
  • a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
  • a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output.
  • the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
  • a processor will receive instructions and data from a read only memory or a random access memory or both.
  • the essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data.
  • a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
  • a computer need not have such devices.
  • a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a digital picture frame, a game console, a Global Positioning System (GPS) receiver, to name just a few.
  • PDA personal digital assistant
  • GPS Global Positioning System
  • Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks.
  • semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
  • magnetic disks e.g., internal hard disks or removable disks
  • magneto optical disks e.g., CD ROM and DVD-ROM disks.
  • the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
  • embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
  • a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components.
  • the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
  • LAN local area network
  • WAN wide area network
  • the computing system can include clients and servers.
  • a client and server are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Methods, systems, and apparatus, including computer program products, for secure authentication for accessing remote resources are disclosed. In some implementations, a user is authenticated for a first time on an interface using a first communications channel; the user is authenticated a second time on the interface using a second communications channel; access privileges are determined based on authenticating the user for the second time; and a random Uniform Resource Locator (URL) is generated based on the access privileges, where the random URL is single-use and indirectly associated with a requested resource.

Description

    TECHNICAL FIELD
  • The subject matter of this specification generally relates to secure authentication.
  • BACKGROUND
  • A hallmark of modern secure authentication methods is that they use authentication factors that are classified into three classes. Traditional authentication factors include: (i) something a user has (e.g., a security dongle); (ii) something the user knows (e.g., a password); and (iii) something the user is (e.g., biometrics).
  • Traditional multi-factor authentication methods authenticate one or more of these factors. Increasing the number of authentication factors that are used can increase the level of confidence in a secure authentication. However, increasing the number of authentication factors may decrease a level of comfort (e.g., convenience) for a user.
  • SUMMARY
  • Secure authentication for accessing remote resources is disclosed. In some implementations, a user is authenticated for a first time on an interface using a first communications channel; the user is authenticated a second time on the interface using a second communications channel; access privileges are determined based on authenticating the user for the second time; and a random Uniform Resource Locator (URL) is generated based on the access privileges, where the random URL is single-use and indirectly associated with a requested resource.
  • Particular embodiments of the subject matter described in this specification can be implemented to realize one or more of the following advantages. Using out of band authentication, e.g., using a communication channel/method for authentication that is different from a communication channel/method used for requesting and receiving a resource, increases a level of security in the authentication process. Using Short Message Service (SMS) text messages for challenge/response authentication can avoid spoofing because each client has a unique identifier, e.g., a Subscriber Identity Module (SIM) chip. In addition, a challenge SMS text message can alert a user of a potential security breach (e.g., unauthorized access attempt). Furthermore, using out of band authentication on a single client can increase the convenience of using challenge/response authentication. In addition, using semi-transparent objects to display a challenge SMS text message in an interface, for example, can increase the convenience of responding to the challenge.
  • Other implementations of secure authentication for accessing remote resources are disclosed, including implementations directed to systems, methods, and apparatus, including computer program products.
  • DESCRIPTION OF DRAWINGS
  • FIG. 1 is a block diagram of an example system for securely authenticating access to remote resources.
  • FIG. 2 is a screen shot showing an example interface that includes a first web page for entering a first authentication factor.
  • FIG. 3A is a screen shot showing the example interface of FIG. 2 that includes a Short Message Service (SMS) text message.
  • FIG. 3B is a screen shot showing the example interface of FIG. 2 that includes a second web page.
  • FIG. 4 is a screen shot showing the example interface of FIG. 2 that includes a third web page with access to remote resources.
  • FIG. 5 is a flow chart of an example process for securely authenticating access to remote resources.
  • DETAILED DESCRIPTION Overview
  • FIG. 1 is a block diagram of an example system 100 for securely authenticating access to remote resources. The system 100 includes a first client 110 (e.g., a desktop computer) and a second client 120 (e.g., a mobile phone). The first client 110 and second client 120 can communicate with one or more servers, for example, using a first communications channel 130 (e.g., the Internet). As another example, the second client 120 can communicate with the one or more servers using a second communications channel 140 (e.g., using Short Message Service (SMS) protocol on a mobile communications network). The system also includes a resource server 150, an authorization server 162, and a web server 164 (e.g., a VPN web server).
  • The first client 110 and second client 120 can communicate with the authorization server 162 and web server 164 through the first communications channel 130 to authenticate access privileges and request access to resources. The resources can be stored on the resource server 150. The resources can include, but are not limited to web pages, images, video, audio, and text. In some implementations, the authorization server 162 and web server 164 can be a same server (e.g., a physical server). In some implementations, the authorization server 162 can be distinct from the web server 164. Other implementations are possible. For example, the authorization server 162 and web server 164 can be configured as one or more logical servers or physical servers.
  • The first client 110 (and/or the second client 120) can request one or more resources from the web server 164. Before the one or more resources are provided to the first client 110, the web server 164 or the authorization server 162 can authenticate the user (e.g., the user's identity) on the first client 110. The web server 164 provides resources to the first client 110 based on access privileges authenticated for the user.
  • The request for resources and provision of resources, and authentication process, can be communicated over two or more different communications channels, e.g., out of band authentication. For example, the second client 120 can request resources by using the first communications channel 130. A user on the second client 120 can then authenticate his/her access privileges using the second communications channel 140, and the resources can be sent to the second client 120 through the first communications channel 130. Other implementations are possible.
  • In some implementations, more than two communications channels can be used. In particular, communications between each of the first client 110 and second client 120 and the servers can be performed through three or more different communications channels. As an example, a resource request can be sent by the client through a first communications channel. A challenge can be sent by the authorization server 162 to the client through a second communications channel. A response to the challenge can be sent by the client to the authorization server 162 through a third communications channel. Based on authentication of access privileges using the challenge and response, resources can be sent to the client through a fourth communications channel. In some implementations, some, all, or none of the first, second, third, and fourth communications channels can be the same communications channel.
  • Example Implementation
  • A user using the second client 120 can request video (e.g., film dailies), for example, using the first communications channel 130. The request can be received by the web server 164 (e.g., an Apache server). The authorization server 162 (or the web server 164) can request user authentication. The user can initially authenticate using single-sign-on (SSO) credentials, for example.
  • FIG. 2 is a screen shot showing an example interface 200 that includes a first web page for entering a first authentication factor. The example interface 200 can represent the interface of the second client 120, e.g., an iPhone™, and the web page can be displayed by a web browser, e.g., Safari™. The web server 164 can use the first communications channel 130 to provide a web page requesting the user to log in (e.g., using multi-factor authentication) to determine the user's access privileges. In particular, the web page can include a first input field for a username 210 (e.g., the first authentication factor) and a second input field for a password 220 (e.g., a second authentication factor). The web server 164 can use the username and password submitted by the user to determine the user's access privileges.
  • In some implementations, the username and password can be compared to a database (e.g., a Structured Query Language (SQL) database) or to directory services (e.g., an Open Directory or Active Directory server) to determine the user's access privileges. Other implementations are possible. For example, the web server 164 can request that the user authenticate using one or more authentication factors.
  • After authentication of the username and password, the authorization server 162 can request additional authentication. For example, the authorization server can send an out of band challenge to the client. In some implementations, the challenge can be a token (e.g., a 6-digit randomized code) sent to the user's interface through the second communications channel 140. In some implementations, the token can also be assigned an expiration time (e.g., 10 minutes).
  • A randomized, single-use Uniform Resource Locator (URL) that identifies a web page can be generated. Because a randomized URL is generated for each authentication, the likelihood that the web page identified by the URL is accessed more than once is decreased. In addition, in some implementations, the URL and its corresponding web page can be deleted after the first access of the web page, so that the URL and the web page can only be used a single time. In some implementations, the URL and its corresponding web page can be deleted after a session ends. For example, a session can end when a web browser displaying the web page is closed or exited. As another example, a session can end after a certain number or amount of resources are accessed. The web page can be generated to accept a response to the challenge, e.g., the token. For example, the web page can have an input field where a user can input the token.
  • FIG. 3A is a screen shot showing the example interface 200 of FIG. 2 that includes a Short Message Service (SMS) text 310. The token can be provided to the user using the SMS text message 310 that is sent through the second communications channel 140. In some implementations, the authorization server 162 can determine the second client's contact information (e.g., a mobile phone number associated with an iPhone™) from a database or directory services, based on a SIM corresponding to the client. The authorization server 162 can then send an SMS relay to the client (e.g., #########@txt.example.com).
  • In some implementations, the SMS text 310 can be displayed as a semi-transparent (or translucent) message in the interface. As a result of the message being semi-transparent, the user does not have to switch between objects (e.g., windows, widgets) in the interface to view the token and enter it into the web page. In these and other implementations, the message can also be always on top (e.g., always displayed in the interface until the message is closed). Other implementations are possible. For example, upon receipt of the token, the token can be automatically copied into the clipboard of the interface, so that the user can simply paste the token into the input field of the web page.
  • The user can provide a response, based on the token, using the first communications channel 130 (e.g., using Wi-Fi or 3G). FIG. 3B is a screen shot showing the example interface of FIG. 2 that includes a second web page. The user can enter the token into the field so that the token is sent to the authorization server using the first communications channel 130.
  • In some implementations, the user can simply provide the same token back to the authorization server 162. In some implementations, the user can provide a different response that is based on the token. For example, a predetermined algorithm can be used to transform the token into the response to be returned to the authorization server 162. Alternatively, the user can also provide the response through the second communications channel 140. In particular, the user can send the response to the authorization server using a reply SMS text message. Other implementations are possible. For example, the challenge could include a phone number or email address, and the user can respond using an appropriate communications channel. In particular, the user can dial the phone number or send an email to the email address as a means for responding to the challenge.
  • After the user successfully authenticates with the authorization server 162, the web server 164 can provide the user a URL to another web page with access to remote resources. The URL can be a randomized, single-use URL. In some implementations, after a user first accesses the web page, the authorization server 162 can cancel the token. Other implementations are possible. For example, the token can be canceled after a predetermined amount of time (e.g., 20 minutes) or a predetermined number of access attempts (e.g., two access attempts).
  • FIG. 4 is a screen shot showing the example interface of FIG. 2 that includes a third web page with access to remote resources. The web page with access to remote resources can be a custom web page. The web server 164 can generate the custom web page (e.g., using Personal Home Page (PHP) script) based on the user's access privileges. For example, the custom web page can include one or more URL's that are associated with resources that the user has sufficient privileges to access.
  • The one or more URL's can be masked URL's. The one or more URL's can be considered masked URL's because they are not the actual URL that directly identifies the actual location of the resources, e.g., the actual URL is masked. The masked URL can be indirectly associated with a corresponding resource. In some implementations, a mapping table (e.g., a proxy table) can be used to map a masked URL to the location of a corresponding resource. For example, a masked URL can be mapped (e.g., linked) to a function (e.g., a function call) on the resource server 150 that can provide direct access to a resource. As another example, the masked URL can be mapped to the actual URL that directly identifies the actual location of the resource on the resource server 150. The masked URL and mapping table can be generated using Ajax, for example.
  • A user can access (e.g., click on) the masked URL, and an associated resource can be sent to the client. In some implementations, an electronic document corresponding to the resource can be sent to the client. An electronic document (which for brevity will simply be referred to as a document) does not necessarily correspond to a file. A document may be stored in a portion of a file that holds other documents, in a single file dedicated to the document in question, or in multiple coordinated files. In some implementations, the resource can be streamed to the client, so that the likelihood of further distribution of the resource can be reduced. For example, QuickTime™ Streaming Server (QTSS) can be used to stream video to a client.
  • Example Process
  • FIG. 5 is a flow chart of an example process for securely authenticating access to remote resources. The process includes receiving 500 a first authentication factor from an interface using a first communications channel. For example, the web server 164 can receive a first authentication factor. Access privileges can be determined 510 based on the first authentication factor. For example, the web server 164 or the authorization server 162 can determine access privileges. A first random Uniform Resource Locator (URL) and a first resource can be generated 520 based on the access privileges. The first resource can be identified by the first random URL and configured to receive a second authentication factor, and the first random URL can be single-use. For example, the web server 164 can generate a first random URL and a first resource. The first resource can be provided 530 to the interface using the first communications channel. For example, the web server 164 can provide the first resource to the interface. The second authentication factor can be provided 540 to the interface using a second communications channel. For example, the authorization server 162 can provide the second authentication factor to the interface.
  • Other Example Implementations
  • A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Elements of one or more implementations may be combined, deleted, modified, or supplemented to form further implementations.
  • For example, in some implementations, the first client 110 can be used to request resources using the first communications channel 130. As described above, the authorization server 162 can provide a challenge to a second client 120 (that the user can access). The user can use the second client 120 or the first client 110 to submit a response. In addition, the user can use either the first communications channel 130 or the second communications channel 140 to send the response.
  • In some implementations, the SMS text message that is sent to the second client 140 can provide a randomized, single-use URL, instead of a token. The randomized, single-use URL can be generated in the manner described above, and the randomized, single-use URL can be used to access a custom web page as described with reference to FIG. 4.
  • In some implementations, in response to the challenge sent using an SMS text message, the user can respond with another SMS text message that includes a predetermined shared secret. For example, the secret can be a simple password, or the secret can be a compound password that contains a predetermined password and data provided in the challenge SMS text message. As an example, the authorization server's challenge may include the token “457826”. The user may know a predetermined password “AL1”. The user may also know a predetermined algorithm to combine the last four digits of the server's challenge with the predetermined password. In particular, the user can respond to the challenge with an SMS text message that includes “AL17826”.
  • In some implementations, other levels of security or authentication can be added. For example, a Global Positioning System (GPS) location of the client could be used to authenticate the client, based on a predetermined location of the user. As another example, various forms of Digital Rights Management (DRM) can be used to secure the resources that are sent to the client. As yet another example, the client could be used as a universal dongle. In particular, the systems and techniques described can be used for secure authentication for access to other resources, such as but not limited to, software applications and computing resources (e.g., physical servers and computers). For example, access to the computing resources can include access to upload resources (e.g., upload video to the resource server 150).
  • Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation of, data processing apparatus. The tangible program carrier can be a computer readable medium. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them.
  • The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
  • A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
  • The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a digital picture frame, a game console, a Global Positioning System (GPS) receiver, to name just a few.
  • Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
  • To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
  • The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
  • While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
  • Furthermore, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.

Claims (23)

1. A method comprising:
receiving a first authentication factor from an interface using a first communications channel;
determining access privileges based on the first authentication factor;
generating a first random Uniform Resource Locator (URL) and a first resource based on the access privileges, the first resource being identified by the first random URL and configured to receive a second authentication factor, and the first random URL being single-use;
providing the first resource to the interface using the first communications channel; and
providing the second authentication factor to the interface using a second communications channel.
2. The method of claim 1, further comprising:
receiving the second authentication factor from the interface using the first resource; and
determining access privileges based on the second authentication factor received from the interface.
3. The method of claim 2, further comprising:
generating a second random URL, the second random URL being single-use and indirectly associated with a second resource;
providing the second random URL to the interface;
receiving a request from the interface to access the second resource;
determining an actual location of the second resource using the second random URL; and
providing the interface access to the second resource.
4. The method of claim 3, wherein determining the actual location includes:
mapping the second random URL to a third URL, the third URL directly identifying the location of the second resource.
5. The method of claim 3, wherein determining the actual location includes:
mapping the second random URL to a function, the function being operable to provide the interface direct access to the second resource.
6. The method of claim 1, wherein the first resource is a web page.
7. The method of claim 1, wherein the second communications channel uses a Short Message Service (SMS) protocol.
8. The method of claim 1, wherein the second resource is video and providing the interface access to the second resource includes streaming the video to the interface.
9. A method comprising:
receiving a first authentication factor from an interface using a first communications channel;
determining access privileges based on the first authentication factor;
receiving a request from the interface to access a resource;
generating a first random Uniform Resource Locator (URL) based on the access privileges, the first random URL being single-use and indirectly associated with the resource; and
providing the first random URL to the interface using a second communications channel.
10. The method of claim 9, further comprising:
determining an actual location of the resource using the first random URL; and
providing the interface access to the resource.
11. The method of claim 10, wherein determining the actual location includes:
mapping the first random URL to a second URL, the second URL directly identifying the location of the resource.
12. The method of claim 10, wherein determining the actual location includes:
mapping the first random URL to a function, the function being operable to provide the interface direct access to the resource.
13. The method of claim 9, wherein the second communications channel uses a Short Message Service (SMS) protocol.
14. A method comprising:
receiving a first authentication factor from an interface using a first communications channel;
determining access privileges based on the first authentication factor;
providing a challenge to the interface using a second communications channel, based on the access privileges;
receiving a response from the interface using the second communications channel;
determining access privileges based on the response;
generating a first random Uniform Resource Locator (URL) based on the access privileges, the first random URL being single-use and indirectly associated with a resource; and
providing the first random URL to the interface.
15. The method of claim 14, further comprising:
receiving a request from the interface to access the resource;
determining an actual location of the resource using the first random URL; and
providing the interface access to the resource.
16. The method of claim 15, wherein determining the actual location includes:
mapping the first random URL to a second URL, the second URL directly identifying the location of the resource.
17. The method of claim 15, wherein determining the actual location includes:
mapping the first random URL to a function, the function being operable to provide the interface direct access to the second resource.
18. A method comprising:
transmitting a first authentication factor from an interface using a first communications channel;
receiving a first random Uniform Resource Locator (URL) using the first communications channel, the first random URL being single-use;
presenting a first resource in the interface, the first resource being identified by the first random URL and configured to receive a second authentication factor; and
receiving a second authentication factor through a second communications channel, the second authentication factor being presented in the interface.
19. The method of claim 18, wherein the second authentication factor appears in a semi-transparent object in the interface.
20. The method of claim 18, wherein the second authentication factor is automatically provided to the first resource in the interface.
21. A method comprising:
authenticating a user for a first time on an interface using a first communications channel;
authenticating the user for a second time on the interface using a second communications channel;
determining access privileges based on authenticating the user for the second time; and
generating a random Uniform Resource Locator (URL) based on the access privileges, the random URL being single-use and indirectly associated with a requested resource.
22. A system comprising:
a processor; and
a computer-readable medium coupled to the processor and having instructions contained thereon, which, when executed by the processor causes the processor to perform the operations of:
authenticating a user for a first time on an interface using a first communications channel;
authenticating the user for a second time on the interface using a second communications channel;
determining access privileges based on authenticating the user for the second time; and
generating a random Uniform Resource Locator (URL) based on the access privileges, the random URL being single-use and indirectly associated with a requested resource.
23. A computer program product, encoded on a computer-readable medium, operable to cause a data processing apparatus to:
authenticate a user for a first time on an interface using a first communications channel;
authenticate the user for a second time on the interface using a second communications channel;
determine access privileges based on authenticating the user for the second time; and
generate a random Uniform Resource Locator (URL) based on the access privileges, the random URL being single-use and indirectly associated with a requested resource.
US12/268,355 2008-11-10 2008-11-10 Secure authentication for accessing remote resources Abandoned US20100122327A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/268,355 US20100122327A1 (en) 2008-11-10 2008-11-10 Secure authentication for accessing remote resources
US16/215,510 US11218460B2 (en) 2008-11-10 2018-12-10 Secure authentication for accessing remote resources
US17/646,779 US12034713B2 (en) 2008-11-10 2022-01-03 Secure authentication for accessing remote resources
US18/741,634 US20240333701A1 (en) 2008-11-10 2024-06-12 Secure authentication for accessing remote resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/268,355 US20100122327A1 (en) 2008-11-10 2008-11-10 Secure authentication for accessing remote resources

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/215,510 Continuation US11218460B2 (en) 2008-11-10 2018-12-10 Secure authentication for accessing remote resources

Publications (1)

Publication Number Publication Date
US20100122327A1 true US20100122327A1 (en) 2010-05-13

Family

ID=42166390

Family Applications (4)

Application Number Title Priority Date Filing Date
US12/268,355 Abandoned US20100122327A1 (en) 2008-11-10 2008-11-10 Secure authentication for accessing remote resources
US16/215,510 Active 2029-06-06 US11218460B2 (en) 2008-11-10 2018-12-10 Secure authentication for accessing remote resources
US17/646,779 Active 2029-11-22 US12034713B2 (en) 2008-11-10 2022-01-03 Secure authentication for accessing remote resources
US18/741,634 Pending US20240333701A1 (en) 2008-11-10 2024-06-12 Secure authentication for accessing remote resources

Family Applications After (3)

Application Number Title Priority Date Filing Date
US16/215,510 Active 2029-06-06 US11218460B2 (en) 2008-11-10 2018-12-10 Secure authentication for accessing remote resources
US17/646,779 Active 2029-11-22 US12034713B2 (en) 2008-11-10 2022-01-03 Secure authentication for accessing remote resources
US18/741,634 Pending US20240333701A1 (en) 2008-11-10 2024-06-12 Secure authentication for accessing remote resources

Country Status (1)

Country Link
US (4) US20100122327A1 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100291899A1 (en) * 2009-05-12 2010-11-18 Diversinet Corp. Method and system for delivering a command to a mobile device
CN102523568A (en) * 2011-12-26 2012-06-27 成都三零瑞通移动通信有限公司 Encrypted short message transmission method for guaranteeing reliable receiving
US20120192250A1 (en) * 2010-07-06 2012-07-26 Alkhalaf Rakan Device, System, And Method For Registering And Authenticating Handwritten Signatures And Archiving Handwritten Information
US8516138B2 (en) 2010-08-31 2013-08-20 International Business Machines Corporation Multiple authentication support in a shared environment
US20140136993A1 (en) * 2012-11-14 2014-05-15 Francis Luu Mobile Full-Screen Notification User Interface
US20150188901A1 (en) * 2009-03-25 2015-07-02 Pacid Technologies, Llc Method and system for securing communication
US9300671B1 (en) * 2013-12-30 2016-03-29 Ca, Inc. Shared access with account restriction and promotion utilizing virtual accounts
CN107241725A (en) * 2017-07-14 2017-10-10 上海斐讯数据通信技术有限公司 WAP, wireless terminal connect the authentication method of WAP
US9998919B1 (en) * 2011-11-18 2018-06-12 Google Llc SMS spoofing protection
US10275364B2 (en) 2011-09-29 2019-04-30 Pacid Technologies, Llc Secure island computing system and method
US20190253415A1 (en) * 2018-02-13 2019-08-15 Bofi Federal Bank Online Authentication Systems and Methods
WO2021118641A1 (en) * 2019-12-08 2021-06-17 Western Digital Technologies, Inc. Unlocking a data storage device
US20210216653A1 (en) * 2020-01-09 2021-07-15 Western Digital Technologies, Inc. Multi-role unlocking of a data storage device
US11070530B2 (en) 2009-03-25 2021-07-20 Pacid Technologies, Llc System and method for authenticating users
US11126704B2 (en) 2014-08-15 2021-09-21 Apple Inc. Authenticated device used to unlock another device
US11144624B2 (en) * 2018-01-22 2021-10-12 Apple Inc. Secure login with authentication based on a visual representation of data
CN113545006A (en) * 2020-01-09 2021-10-22 西部数据技术公司 Remote authorized access locked data storage device
US20210334406A1 (en) * 2020-03-27 2021-10-28 EMC IP Holding Company LLC Intelligent and reversible data masking of computing environment information shared with external systems
US11218460B2 (en) 2008-11-10 2022-01-04 Apple Inc. Secure authentication for accessing remote resources
US11265152B2 (en) 2020-01-09 2022-03-01 Western Digital Technologies, Inc. Enrolment of pre-authorized device
US11366933B2 (en) 2019-12-08 2022-06-21 Western Digital Technologies, Inc. Multi-device unlocking of a data storage device
US11388192B2 (en) * 2018-07-09 2022-07-12 Blackberry Limited Managing third party URL distribution
US11606206B2 (en) 2020-01-09 2023-03-14 Western Digital Technologies, Inc. Recovery key for unlocking a data storage device
US11831752B2 (en) 2020-01-09 2023-11-28 Western Digital Technologies, Inc. Initializing a data storage device with a manager device
US12099586B2 (en) 2021-01-25 2024-09-24 Apple Inc. Implementation of biometric authentication

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180212958A1 (en) * 2017-01-26 2018-07-26 Teltech Systems, Inc. Two Factor Authentication Using SMS

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360254B1 (en) * 1998-09-15 2002-03-19 Amazon.Com Holdings, Inc. System and method for providing secure URL-based access to private resources
US6782080B2 (en) * 2000-06-22 2004-08-24 Icl Invia Oyj Arrangement for authenticating user and authorizing use of secured system
US20050268107A1 (en) * 2003-05-09 2005-12-01 Harris William H System and method for authenticating users using two or more factors
US20050273443A1 (en) * 2004-06-07 2005-12-08 Tony Dezonno Secure customer communication method and system
US20060206709A1 (en) * 2002-08-08 2006-09-14 Fujitsu Limited Authentication services using mobile device
US20060294392A1 (en) * 2005-06-28 2006-12-28 Matsushita Electric Industrial Co., Ltd. Protection of a password-based user authentication in presence of a foe
US20070136573A1 (en) * 2005-12-05 2007-06-14 Joseph Steinberg System and method of using two or more multi-factor authentication mechanisms to authenticate online parties
US20070219910A1 (en) * 2006-03-02 2007-09-20 Yahoo! Inc. Providing a limited use syndicated media to authorized users
US20070245027A1 (en) * 2006-03-31 2007-10-18 Avaya Technology Llc User session dependent URL masking
US20080002726A1 (en) * 2006-06-30 2008-01-03 Yieh-Ran Haung Multimedia-messaging-service (MMS) system and the service method thereof
US20080022375A1 (en) * 2006-06-09 2008-01-24 Stanley David J Method and apparatus for using a cell phone to facilitate user authentication
US20080072294A1 (en) * 2006-09-14 2008-03-20 Embarq Holdings Company Llc System and method for authenticating users of online services
US20080077796A1 (en) * 2006-09-27 2008-03-27 Craig Lund System and method for facilitating secure online transactions
US20080086770A1 (en) * 2006-10-06 2008-04-10 Rajandra Luxman Kulkarni Single-Party, Secure Multi-Channel Authentication for Access to a Resource
US20080098464A1 (en) * 2006-10-24 2008-04-24 Authernative, Inc. Two-channel challenge-response authentication method in random partial shared secret recognition system
US20080115225A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb System for allowing multiple users to access preview content
US20080134343A1 (en) * 2006-11-30 2008-06-05 Havoc Pennington Internet service login using preexisting services
US20080168543A1 (en) * 2007-01-05 2008-07-10 Ebay Inc. One time password authentication of websites
US20080295159A1 (en) * 2003-11-07 2008-11-27 Mauro Sentinelli Method and System for the Authentication of a User of a Data Processing System
US20090069038A1 (en) * 2007-09-07 2009-03-12 United Video Properties, Inc. Cross-platform messaging
US20090077601A1 (en) * 2004-02-04 2009-03-19 Brailean James C Method and system for providing image, video and audio data to remote users
US20090228965A1 (en) * 2008-03-04 2009-09-10 William Klippgen Process of Authenticating a User
US20090241175A1 (en) * 2008-03-20 2009-09-24 David Trandal Methods and systems for user authentication
US20100077447A1 (en) * 2005-12-28 2010-03-25 Foundry Networks, Inc. Authentication techniques
US20100299731A1 (en) * 2006-03-08 2010-11-25 Steven Paul Atkinson Electronic System for Securing Electronic Services

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993658B1 (en) * 2000-03-06 2006-01-31 April System Design Ab Use of personal communication devices for user authentication
US8533791B2 (en) * 2004-07-15 2013-09-10 Anakam, Inc. System and method for second factor authentication services
US20060059556A1 (en) * 2004-09-10 2006-03-16 Royer Barry L System for managing inactivity in concurrently operating executable applications
KR20090120475A (en) 2007-02-05 2009-11-24 비둡 엘엘씨 Methods and systems for delivering sponsored out-of-band passwords
JP5184627B2 (en) * 2007-06-26 2013-04-17 G3−ビジョン リミテッド Communication device, authentication system and method, and carrier medium
US8839386B2 (en) * 2007-12-03 2014-09-16 At&T Intellectual Property I, L.P. Method and apparatus for providing authentication
US20090276839A1 (en) * 2008-05-02 2009-11-05 Fortknock Protection Llc Identity collection, verification and security access control system
KR101033688B1 (en) * 2008-10-06 2011-05-12 한국전자통신연구원 Method and device of forming RFID tag and the method for content reception
US20100122327A1 (en) 2008-11-10 2010-05-13 Apple Inc. Secure authentication for accessing remote resources

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360254B1 (en) * 1998-09-15 2002-03-19 Amazon.Com Holdings, Inc. System and method for providing secure URL-based access to private resources
US6782080B2 (en) * 2000-06-22 2004-08-24 Icl Invia Oyj Arrangement for authenticating user and authorizing use of secured system
US20060206709A1 (en) * 2002-08-08 2006-09-14 Fujitsu Limited Authentication services using mobile device
US20050268107A1 (en) * 2003-05-09 2005-12-01 Harris William H System and method for authenticating users using two or more factors
US20080295159A1 (en) * 2003-11-07 2008-11-27 Mauro Sentinelli Method and System for the Authentication of a User of a Data Processing System
US20090077601A1 (en) * 2004-02-04 2009-03-19 Brailean James C Method and system for providing image, video and audio data to remote users
US20050273443A1 (en) * 2004-06-07 2005-12-08 Tony Dezonno Secure customer communication method and system
US20060294392A1 (en) * 2005-06-28 2006-12-28 Matsushita Electric Industrial Co., Ltd. Protection of a password-based user authentication in presence of a foe
US20070136573A1 (en) * 2005-12-05 2007-06-14 Joseph Steinberg System and method of using two or more multi-factor authentication mechanisms to authenticate online parties
US20100077447A1 (en) * 2005-12-28 2010-03-25 Foundry Networks, Inc. Authentication techniques
US20070219910A1 (en) * 2006-03-02 2007-09-20 Yahoo! Inc. Providing a limited use syndicated media to authorized users
US20100299731A1 (en) * 2006-03-08 2010-11-25 Steven Paul Atkinson Electronic System for Securing Electronic Services
US20070245027A1 (en) * 2006-03-31 2007-10-18 Avaya Technology Llc User session dependent URL masking
US20080022375A1 (en) * 2006-06-09 2008-01-24 Stanley David J Method and apparatus for using a cell phone to facilitate user authentication
US20080002726A1 (en) * 2006-06-30 2008-01-03 Yieh-Ran Haung Multimedia-messaging-service (MMS) system and the service method thereof
US20080072294A1 (en) * 2006-09-14 2008-03-20 Embarq Holdings Company Llc System and method for authenticating users of online services
US20080077796A1 (en) * 2006-09-27 2008-03-27 Craig Lund System and method for facilitating secure online transactions
US20080086770A1 (en) * 2006-10-06 2008-04-10 Rajandra Luxman Kulkarni Single-Party, Secure Multi-Channel Authentication for Access to a Resource
US20080098464A1 (en) * 2006-10-24 2008-04-24 Authernative, Inc. Two-channel challenge-response authentication method in random partial shared secret recognition system
US20080115225A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb System for allowing multiple users to access preview content
US20080134343A1 (en) * 2006-11-30 2008-06-05 Havoc Pennington Internet service login using preexisting services
US20080168543A1 (en) * 2007-01-05 2008-07-10 Ebay Inc. One time password authentication of websites
US20090069038A1 (en) * 2007-09-07 2009-03-12 United Video Properties, Inc. Cross-platform messaging
US20090228965A1 (en) * 2008-03-04 2009-09-10 William Klippgen Process of Authenticating a User
US20090241175A1 (en) * 2008-03-20 2009-09-24 David Trandal Methods and systems for user authentication

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11218460B2 (en) 2008-11-10 2022-01-04 Apple Inc. Secure authentication for accessing remote resources
US12034713B2 (en) 2008-11-10 2024-07-09 Apple Inc. Secure authentication for accessing remote resources
US11070530B2 (en) 2009-03-25 2021-07-20 Pacid Technologies, Llc System and method for authenticating users
US20150188901A1 (en) * 2009-03-25 2015-07-02 Pacid Technologies, Llc Method and system for securing communication
US10320765B2 (en) * 2009-03-25 2019-06-11 Pacid Technologies, Llc Method and system for securing communication
US9344896B2 (en) * 2009-05-12 2016-05-17 Ims Health Inc. Method and system for delivering a command to a mobile device
US20100291899A1 (en) * 2009-05-12 2010-11-18 Diversinet Corp. Method and system for delivering a command to a mobile device
US9307028B2 (en) 2010-07-06 2016-04-05 Alkhalaf Rakan Device for archiving handwritten information
US20120192250A1 (en) * 2010-07-06 2012-07-26 Alkhalaf Rakan Device, System, And Method For Registering And Authenticating Handwritten Signatures And Archiving Handwritten Information
US9485097B2 (en) * 2010-07-06 2016-11-01 Alkhalaf Rakan Device, system, and method for registering and authenticating handwritten signatures and archiving handwritten information
US9866394B2 (en) 2010-07-06 2018-01-09 Rakan ALKHALAF Device for archiving handwritten information
US9077704B2 (en) 2010-08-31 2015-07-07 International Business Machines Corporation Multiple authentication support in a shared environment
US8516138B2 (en) 2010-08-31 2013-08-20 International Business Machines Corporation Multiple authentication support in a shared environment
US10275364B2 (en) 2011-09-29 2019-04-30 Pacid Technologies, Llc Secure island computing system and method
US9998919B1 (en) * 2011-11-18 2018-06-12 Google Llc SMS spoofing protection
CN102523568A (en) * 2011-12-26 2012-06-27 成都三零瑞通移动通信有限公司 Encrypted short message transmission method for guaranteeing reliable receiving
US10291571B2 (en) * 2012-11-14 2019-05-14 Facebook, Inc. Mobile full-screen notification user interface
US20140136993A1 (en) * 2012-11-14 2014-05-15 Francis Luu Mobile Full-Screen Notification User Interface
US9300671B1 (en) * 2013-12-30 2016-03-29 Ca, Inc. Shared access with account restriction and promotion utilizing virtual accounts
US11126704B2 (en) 2014-08-15 2021-09-21 Apple Inc. Authenticated device used to unlock another device
CN107241725A (en) * 2017-07-14 2017-10-10 上海斐讯数据通信技术有限公司 WAP, wireless terminal connect the authentication method of WAP
US20230259598A1 (en) * 2018-01-22 2023-08-17 Apple Inc. Secure login with authentication based on a visual representation of data
US11144624B2 (en) * 2018-01-22 2021-10-12 Apple Inc. Secure login with authentication based on a visual representation of data
US11636192B2 (en) * 2018-01-22 2023-04-25 Apple Inc. Secure login with authentication based on a visual representation of data
US20220277063A1 (en) * 2018-01-22 2022-09-01 Apple Inc. Secure login with authentication based on a visual representation of data
US11936646B2 (en) * 2018-02-13 2024-03-19 Axos Bank Online authentication systems and methods
US20190253415A1 (en) * 2018-02-13 2019-08-15 Bofi Federal Bank Online Authentication Systems and Methods
US11665198B2 (en) 2018-07-09 2023-05-30 Blackberry Limited Managing third party URL distribution
US11388192B2 (en) * 2018-07-09 2022-07-12 Blackberry Limited Managing third party URL distribution
CN113316915A (en) * 2019-12-08 2021-08-27 西部数据技术公司 Unlocking a data storage device
WO2021118641A1 (en) * 2019-12-08 2021-06-17 Western Digital Technologies, Inc. Unlocking a data storage device
US11556665B2 (en) * 2019-12-08 2023-01-17 Western Digital Technologies, Inc. Unlocking a data storage device
US11366933B2 (en) 2019-12-08 2022-06-21 Western Digital Technologies, Inc. Multi-device unlocking of a data storage device
CN113383510A (en) * 2020-01-09 2021-09-10 西部数据技术公司 Multi-role unlocking of data storage devices
US11469885B2 (en) 2020-01-09 2022-10-11 Western Digital Technologies, Inc. Remote grant of access to locked data storage device
US11606206B2 (en) 2020-01-09 2023-03-14 Western Digital Technologies, Inc. Recovery key for unlocking a data storage device
US11334677B2 (en) * 2020-01-09 2022-05-17 Western Digital Technologies, Inc. Multi-role unlocking of a data storage device
US11265152B2 (en) 2020-01-09 2022-03-01 Western Digital Technologies, Inc. Enrolment of pre-authorized device
US11831752B2 (en) 2020-01-09 2023-11-28 Western Digital Technologies, Inc. Initializing a data storage device with a manager device
CN113545006A (en) * 2020-01-09 2021-10-22 西部数据技术公司 Remote authorized access locked data storage device
US20210216653A1 (en) * 2020-01-09 2021-07-15 Western Digital Technologies, Inc. Multi-role unlocking of a data storage device
US20210334406A1 (en) * 2020-03-27 2021-10-28 EMC IP Holding Company LLC Intelligent and reversible data masking of computing environment information shared with external systems
US11960623B2 (en) * 2020-03-27 2024-04-16 EMC IP Holding Company LLC Intelligent and reversible data masking of computing environment information shared with external systems
US12099586B2 (en) 2021-01-25 2024-09-24 Apple Inc. Implementation of biometric authentication

Also Published As

Publication number Publication date
US11218460B2 (en) 2022-01-04
US20220239637A1 (en) 2022-07-28
US20240333701A1 (en) 2024-10-03
US12034713B2 (en) 2024-07-09
US20190109838A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
US12034713B2 (en) Secure authentication for accessing remote resources
US11539687B2 (en) Message right management method, device and storage medium
US10554655B2 (en) Method and system for verifying an account operation
US10880292B2 (en) Seamless transition between WEB and API resource access
US9860234B2 (en) Bundled authorization requests
US10541992B2 (en) Two-token based authenticated session management
US10097539B2 (en) Authentication on a computing device
US9692747B2 (en) Authenticating linked accounts
US10063547B2 (en) Authorization authentication method and apparatus
CN106164919B (en) Browser-based identity with multiple logins
US10135824B2 (en) Method and system for determining whether a terminal logging into a website is a mobile terminal
EP3210107B1 (en) Method and apparatus for facilitating the login of an account
CN115021991A (en) Single sign-on for unmanaged mobile devices
US20100100950A1 (en) Context-based adaptive authentication for data and services access in a network
US9225744B1 (en) Constrained credentialed impersonation
US20120110469A1 (en) Systems and Methods for Cross Domain Personalization
US11714693B2 (en) Data driven API conversion
US20150149530A1 (en) Redirecting Access Requests to an Authorized Server System for a Cloud Service
US20230214508A1 (en) Systems and Methods to Provide Temporary Document Access for Secure File Sharing
KR101550256B1 (en) A server, a system, a method, a computer program and a computer program product for accessing a server in a computer network
Grigera USER ACCOUNT AUTHENTICATION DURING USER ISSUE RESOLUTION

Legal Events

Date Code Title Description
AS Assignment

Owner name: APPLE INC.,CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LINECKER, ANTON FRANZ;KOSSOVSKY, YUVAL;LIBICH, MARTIN;SIGNING DATES FROM 20081107 TO 20081110;REEL/FRAME:021987/0405

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION