System and method of notifying mobile devices to complete transactions after additional agent verification

Information

  • Patent Grant
  • 10445732
  • Patent Number
    10,445,732
  • Date Filed
    Friday, November 18, 2016
    7 years ago
  • Date Issued
    Tuesday, October 15, 2019
    5 years ago
Abstract
A method of completing a transaction that requires authorization by an authority agent includes registering an authority device as associated with the authority agent, receiving a transaction request from a service provider; pushing an authentication notification to the authenticating application of the authority device; displaying the authentication notification, including a prompt to supply agent verification data, on the authority device; collecting and verifying the agent verification data; in response to verification of the agent verification data, transmitting an authority agent response from the authority device to the authentication platform, and, at the authentication platform, authenticating the authority agent response; and in response to authenticating the authority agent response, transmitting a transaction confirmation from the authentication platform to the service provider.
Description
TECHNICAL FIELD

This invention relates generally to the digital security services field, and more specifically to a new and useful system and method of notifying mobile devices to complete transactions after additional agent verification in the digital security field.


BACKGROUND

Fraudulent transactions, whether executed online by a malicious party who has stolen a user's online banking password or offline by a malicious party entering a restricted building using a forged identification card, are indicators of a lack of authentication in present day security systems. Similarly, authorization (permission to complete a transaction) is limited without a strong notion of authentication. Traditionally, techniques for authentication are classified into several broad classes such as “what you know” (e.g., passwords or a social security number), “what you have” (e.g., physical possessions such as ATM cards or a security dongle), and “what you are” (e.g., biometric information such as a finger print or DNA). However, many of these solutions are burdensome to users, requiring the user to remember information or carry extra devices to complete a transaction. Thus, there is a need in the digital security services field to create a new and useful system and method of notifying mobile devices to complete transactions after additional agent verification. This invention provides such a new and useful system and method.





BRIEF DESCRIPTION OF THE FIGURES


FIG. 1 is a chart representation of a method of a preferred embodiment;



FIGS. 2 and 3 are schematic representations of a method of a preferred embodiment for authenticating a transaction;



FIG. 4 is a schematic representation of a method of a preferred embodiment for authorizing a transaction;



FIG. 5 is a schematic representation of a method of a preferred embodiment for authenticating and authorizing a transaction;



FIG. 6 is a schematic representation of a method of a preferred embodiment with a plurality of authority devices;



FIG. 7 is a schematic representation of a variation of a method of a preferred embodiment for authenticating a transaction; and



FIG. 8 is an example interface of an authenticating application used to perform additional agent verification.





DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description of the preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather to enable any person skilled in the art to make and use this invention.


1. Method for Notifying Mobile Devices to Complete Transactions


As shown in FIGS. 1-4, a method 100 for notifying mobile devices to complete transactions includes registering an authority device for an account on an authentication platform S110, receiving a transaction request from an initiator to the authentication platform S120, messaging the authority device with the transaction request S130, receiving an authority agent response from the authority device to the authentication platform S150, if the authority agent response confirms the transaction, communicating a confirmed transaction to the initiator S160, and if the authority agent response denies the transaction, communicating a denied transaction to the initiator S162. In a variation of a preferred embodiment, the method 100 may also include detecting a need for additional agent verification S140 and/or performing additional agent verification S145, described further in Section 2.


The method functions to use push-based challenges on mobile device for the authentication and/or authorization of parties involved in a transaction. The method functions to utilize non-intrusive techniques while providing improved security. The pushed messages preferably alert a user to the transaction request in real-time such that a decision of confirmation or denial of a transaction can be communicated to a requesting party with minimal time lag (e.g., preferably less than a minute, and more preferably less than 10 seconds). The method may be employed as standalone transaction validation or incorporated into a multifactor system. The method may be used in application such as web-based applications, remote access credentials, privileged account management, financial transactions, password recovery/reset mechanisms, physical access control, Automatic Teller Machine (ATM) withdrawals, domain name transfers, online or offline transactions, building access security, or any suitable application requiring authentication and/or authorization.


The method is preferably performed by an authentication platform that communicates with a client of an initiating agent and an authority device associated with an account of the authentication platform. The authentication platform is preferably an internet accessible server that may be hosted on a distributed computing system, but may be hosted on any suitable platform. The initiating agent is typically a user or process that initiates a transaction. The requested transaction is preferably initiated by the initiating agent through a client such as a website, application, or device (e.g., an ATM machine). For authentication, the initiator agent may be a legitimate party or a malicious party attempting to fraudulently impersonate the legitimate party. For authorization, the initiating agent may be a legitimate authenticated party but may require approval from other parties to perform the action of the transaction. The authority device is preferably a device associated with an authentic agent that is a user or process that is legitimately authenticated or authorized to execute transactions. Even if a malicious entity were attempting to impersonate a user or authentic agent through stolen credentials or other means, they would—ideally—lack the authority device to complete a transaction.


Step S110, which includes registering an authority device for an account on an authentication platform, functions to identify a device of an agent that is permitted to authenticate or authorize transactions. The registration preferably occurs prior to a transaction request, and is preferably performed during an initial setup of an account on the authentication platform. During the setup authentication and/or authorization rules are preferably set. The authority device is preferably a mobile computing device possessed by an authentic user or an authorized agent. The mobile device is preferably a mobile phone, tablet computer, smartphone, personal data assistant (PDA), personal computer, and/or any suitable computing device. The authority device preferably has access to a network over which communication with the authentication platform is performed, such as a WiFi network, local-area network, telephony network, short message service (SMS) network, multimedia messaging service (MMS), or any suitable network. A plurality of devices may additionally be registered, as shown in FIG. 6. A second authority device may provide a backup communication point if a primary authority device does not respond. For example, after attempting to contact a primary authority device, the authentication platform may message a secondary authority device for authentication or authorization. Or, alternatively, a threshold of two confirmations may need to be received to authorize a transaction. Additionally, a first authority device may be registered for authenticating the identity of an agent of the transaction request, and a second authority device may be registered for authorizing an action of an agent such that authentication and authorization may both be enabled, as shown in FIG. 5.


Step S120, which includes receiving a transaction request from an initiator to the authentication platform, functions to initiate a transaction. The transaction is preferably any event, transfer, action, or activity (e.g., involving a service provider) that requires authentication and/or authorization of an involved party (e.g., an authority agent). Exemplary transactions may include logging into a website, application or computer system; a user withdrawing money from an ATM; a user initiating a “forgotten password” procedure; a user attempting to enter a restricted area of a building or environment; a payment exchange between two entities; a user attempting to perform a restricted action in a computer system; and/or any suitable application requiring authentication and/or authorization. Authentication preferably includes validating the identity of at least one involved party relevant to a transaction. Authorization preferably includes validating authority or permission of an entity to execute a transaction. For authentication, the authority device preferably belongs to the authentic user for self-approval of transactions. For authorization, the authority device preferably belongs to an authoritative user (e.g., an authority agent) that is preferably in charge of regulating transactions of a user involved in the transaction. The transactions are preferably initiated in an online environment, where parties may be communicating using a computing device or public/private network, but the transactions may alternatively occur offline where parties may be interacting in the real world. The user or device initiating the transaction is ideally a legitimate party, as shown in FIG. 2, but in the situations where a malicious party initiates or participates in the transaction, the method is preferably able to properly identify such a situation, as shown in FIG. 3. After a malicious transaction is prevented the approval rules for a transaction may be dynamically altered to increase security. The transaction is preferably sent from a requesting entity such as a website, application, or device. The requesting entity is typically a system in communication with the authentication platform. An application programming interface (API) or any suitable protocol is preferably used to communicate between the requesting entity and the authentication platform. In one variation, the communication sent from the requester is encrypted and the authority device preferably decrypts the information. This variation preferably prevents the authentication platform from inspecting or accessing the communicated information which may be applicable when a third party is passing sensitive information through the authentication platform. As an alternative variation, the communication between the requester and the authentication platform is preferably encrypted or otherwise cryptographically protected and communication between the authentication platform and the authority device verifies that the communication is from the authority device. Any suitable steps may be taken to secure the communication between the requesting entity, the authentication platform and the authority device.


Note that the authority of the authority agent to authorize transactions may be managed in any manner. For example, the authentication platform may maintain descriptors of user identity that may be used to link accounts of authority agents with service providers (e.g., login information of a website) to the authority agent and/or authority device. In this example, information corresponding to these user identity descriptors may be transmitted by the service provider or other initiator to the authentication platform (when requesting authorization). At the authentication platform, this information may be used to identify the authority agent or authority device (e.g., a user account at the authentication platform associated with the authority agent, which may be independent of any user account maintained at the service provider).


Step S130, which includes messaging the authority device with the transaction request, functions to push a notification to a secondary device for authentication or authorization. Such a notification preferably includes a response prompt and is displayed on the authority device, enabling a user response. Additionally or alternatively, response to the transaction request may be performed in any manner. The authority device is preferably a device only the authentic user or an authorized user would possess. The message is preferably sent through a communication channel between the authority device and the authentication platform. The communication channel is preferably a push notification service provided through the authority device. The communication channel may alternatively be a short message system SMS network, email, a instant message, an in-app notification system, web based websocket or publication-subscription channels, image based transmission of transaction information such as through QR-codes captured by a camera, or any suitable technique for messaging the device. The messages preferably appear on the authority device or create an alert in substantially real-time (e.g., in less than 5 minutes). The real-time aspect of the messaging functions to enable authentication and authorization at the time of the transaction. In one variation, tracking a registered authority device may additionally be performed by the authentication platform. For example, in a persistent TCP/IP connection model, a mobile device moving from a service provider data network to a WiFi network may change IP addresses and therefore initiate a new persistent connection. Upon receiving that new connection and an identifier of the mobile device, the authentication platform preferably updates the state of the device for the account associated with that device. Then, the proper connection is preferably used for messaging the authority device. Some communication channels may have limited throughput and lack the capability to present a full message from the authentication platform. For example, SMS messages have a 160 character limit. An initial message may include a unique identifier, which can then be used to retrieve a full message. For example, the SMS message may include a URL link or code which can be used to retrieve a full message from an application or website. The full message may provide additional information and options for a transaction response. The messages transmitted over the communication channel may additionally be cryptographically signed and encrypted using an established setup between the authentication device and the authentication platform. Additionally the messages preferably include transaction information (i.e., metadata). The transaction information may include account or entity name, transaction details, location and time of transaction, IP address of initiating host, geolocation of the IP address or any suitable information or any suitable data on the transaction. In one example an online bank transfer may have a message with transaction information including payer, payee, account numbers, transfer amount, and transaction date and time.


Step S150, which includes receiving an authority agent response from the authority device to the authentication platform, functions to process a response from an authentic user or authorized user. The response preferably confirms or denies a transaction. The confirmation and denial of a transaction may additionally be set to indicate any suitable form of response. Preferably, the initial options are to accept or reject a transaction. Additionally, if a transaction is rejected a reason for rejection may be included such as “canceled because of change of mind” or “possible malevolent transaction”. Other variations may include a variety of options that may change based on the application. The available forms of responses may be included in the message information. Other forms of responses may allow a variety of multiple-choice options, variable setting options, or any suitable form of response input. For example, if a parent is acting as an authorization provider for an ATM withdraws made by a child, a message may be sent to a phone of the parent indicating that the child is attempting to withdraw a particular amount (e.g., $50). The parent may be able to respond allowing a withdrawal of only a lower amount (e.g., $20). As an additional sub-step to receiving an authority agent response, the response is preferably verified to be a legitimate response from the authority device as opposed to an entity imitating the device. Secure Socket Layer (SSL), a Hash-based Message Authentication Code (HMAC), message signing, or any suitable cryptographic protocol may be used to verify the response is from the authority device.


Step S160 and S162, which includes if the authority agent response confirms the transaction, communicating a confirmed transaction to the initiator, and if the authority agent response denies the transaction, communicating a denied transaction to the initiator, function to communicate the authentication and/or authorization to the initiator of the transaction. Any suitable response to a transaction is preferably communicated back to the requesting entity (e.g., a third party website or an ATM machine). The requesting entity can then preferably take appropriate action. If the transaction is confirmed or approved, the transaction proceeds. If the transaction is denied or altered, the requesting entity preferably halts or prevents the transaction. The requesting entity can preferably use the transaction response to modify a transaction state in any suitable manner. Based on the variety of responses from authentic users and/or authorized users, rules may determine when to confirm or deny a transaction. In a variation of the method, there may be a plurality of authority devices registered for authorization and/or authentication. A rule may be setup for which authority devices to message, in what order, and the timing of the messaging. Additionally, rules may be set for received responses. A particular threshold for the number of responses from the plurality of authority devices may be set. For example, four authority devices may be messaged for authorization and at least three must confirm the transaction for it to be confirmed. In another example, a plurality of authority devices for authentication may be registered, and the authority devices are messaged one after the other until at least one responds. The response from an authority agent may alternatively be passed on to the requesting entity with no analysis.


2. Completing Transactions after Additional Agent Verification


As previously disclosed, in a variation of a preferred embodiment, the method 100 includes detecting a need for additional agent verification S140 and performing additional agent verification S145, as shown in FIG. 1 and FIG. 7.


The authentication approach described in Section 1 utilizes non-intrusive techniques to better establish authentication and/or authorization of parties involved in a transaction by (ideally) requiring possession of the authority device to complete the transaction. This authentication approach may be combined with other authentication approaches; for example, possession authentication by the authentication platform may be used to substitute knowledge authentication by a service provider (e.g., a service provider may require that an authority agent successfully authenticate at the service provider using a username and password).


In some cases, it may be desired to verify not only that the authority agent device is possessed by a person (or other entity) who approves a transaction in order to complete the transaction, but also that the person who approves the transaction is an authorized user of the authority device.


To some extent, this desire may be met by native security standards implemented on the authority device. For example, a smartphone may require that the smartphone may be unlocked (e.g., using a passcode) to respond to a notification. However, native security standards may not be sufficient to ensure that the person who approves a transaction is an authorized user of the authority device; for example, many smartphones enable responding to notifications without requiring unlocking credentials to be re-entered if the smartphone has not been locked (either manually or automatically, e.g., due to inactivity) since the most recent unlocking event.


The variation of the method described in this section therefore functions to perform additional agent verification (S145) as a technique to better verify responses to authentication and/or authorization requests transmitted to authority devices as originating from authorized users of those authority devices.


S140 includes detecting a need for additional agent verification. S140 functions to detect a need or desire for implementation of additional agent verification.


Detecting a need for additional agent verification S140 preferably includes receiving (or otherwise setting) policy information, from an entity authorized to set authentication policy, that additional agent verification should be performed. S140 may additionally or alternatively include receiving any information regarding configuration of additional agent verification; for example, conditions in which additional agent verification should be performed (e.g., certain times, for certain users, for certain device types). Policy information may be set by any suitable entity; e.g., an authentication system user, a service provider administrator, an authentication platform administrator. Policy information may be given varying priority based upon the setting agent; for example, policy set by the authentication platform may override policy set by the service provider, policy set by the service provider may override policy set by an authentication platform user, etc.


Additional agent verification policy may include any policy or configuration options related to the performance of additional agent verification. For example, additional agent verification policy may include specifying when and under what conditions additional agent verification is performed, how additional agent verification is performed, what credentials are acceptable to perform additional agent verification, etc.


Detecting a need for additional agent verification S140 may additionally include detecting that a trigger for additional agent verification has been tripped; that is, a conditional event that modifies or enables performance of additional agent verification is satisfied. Triggers for additional agent verification are preferably set by additional agent verification policy, but may additionally or alternatively be set in any manner.


As a first example, policy may specify that additional agent verification be mandated (to complete a transaction) at least once per time period to authorize a service provider login event (e.g., once per month, starting with the first login under this policy).


Additional agent verification may be triggered by a variety of conditions. Conditions that may trigger additional agent verification include conditions related to an authentication platform (e.g., if the authentication platform is on alert due to security issues, additional agent verification may be implemented), conditions related to a service provider (e.g., a service provider may request additional agent verification for one or more of general security concerns, concerns that a particular user account may be breached, unusual account activity, etc.), conditions related to an authority device (e.g., an authority device is of a particular model, an authority device operates a particular operating system or authentication app version, an authority device is in an unusual location), conditions related to an authority agent (e.g., an authority agent's behavior on another authority device is unusual), transaction conditions (e.g., conditions relating to the specific transaction or transaction type of the transaction request for which authorization is requested) and/or any suitable conditions.


Additional agent verification triggers may be linked to any modification of additional agent verification procedure. For example, some triggers may cause additional agent verification to be required for a transaction, while other triggers may modify the type of additional agent verification to be performed (e.g., fingerprint vs. passcode).


In a first example, an authentication platform may include an additional agent verification trigger that mandates additional agent verification for security-sensitive applications (i.e., any application that authentication platform designates as needing additional agent verification for related transactions). If a transaction related to a security-sensitive application occurs, additional agent verification must occur to complete the transaction. In this first example, S140 may include detecting that a transaction is associated with a security sensitive application in any manner. For example, S140 may include comparing an identifier (e.g., a name, an associated domain name, etc.) of a service provider to a list of security-sensitive applications (which may be designated, for example, by platform administrators or any other entities) and implementing additional agent verification for transactions regarding any service provider on this list. S140 may additionally or alternatively detect security sensitivity of applications using any technique of U.S. patent application Ser. No. 15/075,687, the entirety of which is incorporated by this reference.


In a second example, an authentication platform (or service provider) may include an additional agent verification trigger that mandates additional agent verification for security-sensitive users (i.e., any user determined to need additional agent verification). Security-sensitive users may include users of a service provider (as designated by the service provider); in such an implementation, the service provider may communicate such designation to the authentication platform in any manner. For example, the service provider may simply flag any transaction requests related to a security-sensitive user as requiring additional agent verification (without explicitly informing the authentication platform that a particular user is security-sensitive). As another example, the service provider may provide a list of security-sensitive users to an authentication platform; these users may in turn be linked to specific instances of authenticating apps and/or authority devices. Security-sensitive users may additionally or alternatively include authority agents; that is, security-sensitive users may be specified by the authentication platform rather than another entity. For example, a user of an authentication app (of the authentication platform) may be an authority agent for transactions involving several external entities; the authentication app may require additional agent verification for that user for transactions involving all of those external entities if the user is determined to be a security-sensitive user by the authentication platform. Security-sensitive users may additionally or alternatively be determined by any entity in any manner.


In a third example, an authentication platform (or service provider) may include an additional agent verification trigger that mandates additional agent verification for security-sensitive devices (i.e., any authority or authentication device determined to need additional agent verification). If a transaction involving a security-sensitive device occurs, additional agent verification must occur to complete the transaction. In this third example, S140 may include detecting that a transaction is associated with a security sensitive device in any manner. For example, S140 may include comparing an identifier (e.g., a model designation, a phone number, an OS version, an authentication application version, etc.) of a device to a list of security-sensitive devices (which may be designated, for example, by platform administrators or any other entities) and implementing additional agent verification for transactions regarding any authentication/authority device on this list. S140 may additionally or alternatively detect security sensitivity of devices using any technique of U.S. patent application Ser. No. 15/139,545, the entirety of which is incorporated by this reference.


In a fourth example, an authentication platform (or service provider) may include an additional agent verification trigger that mandates additional agent verification for security-sensitive transactions (i.e., any transaction determined to need additional agent verification). Similar to the preceding examples, security-sensitive transactions may be determined any manner (e.g., as indicated by a service provider, set based on a transaction type, etc.). Additionally or alternatively, additional agent verification may be triggered by determining that a transaction is suspicious (i.e., the transaction may not be initiated by an authorized entity). The security sensitivity and/or suspiciousness of transactions may be determined in any manner; for example, using the techniques of U.S. patent application Ser. No. 14/955,377, the entirety of which is incorporated by this reference. For example, a service provider may indicate that a transaction is potentially suspicious in a transaction request. As another example, analysis of a transaction request in light of previous transaction requests may be performed by the authentication platform to identify a transaction request as suspicious; e.g., a transaction request originating from Moscow may be suspicious for an authority device last reported to be in the United States.


S145 includes performing additional agent verification. S145 functions to verify that authentication and/or authorization based on interaction between a user and a possession factor (e.g., an authentication application on a smartphone) is granted only if that user is authorized to use the possession factor.


In some ways, additional agent verification is similar to an additional authentication factor; that is, authorization of a transaction preferably requires not only authorization occurring in response to possession of a possession factor, but also authorization occurring in response to successful additional agent verification. However, additional agent verification is more restricted and specific than a general additional authentication factor; additional agent verification is preferably performed at the possession factor at the time of authorization using the possession factor. This link between additional agent verification and possession-based auth. means that in some cases, additional agent verification may be performed entirely (and potentially entirely locally) by an authority device without requiring additional communication (e.g., with a service provider, with an authentication platform, etc.). Alternatively, additional agent verification may be performed in part or in full by any suitable entity (e.g., the authentication platform).


S145 preferably includes collecting agent verification data directly from authority device users, but may additionally or alternatively collect agent verification data in any manner; for example, using sensors of the authority device without explicitly requesting agent verification data from an authority device user.


Agent verification data may include any data capable of verifying a user as an authorized user of an authority device (or of an authentication application, etc.). Agent verification data may include knowledge data (e.g., a numerical passcode known to an authorized user of the authority device), biometric data (e.g., fingerprint data of a finger of an authorized user of the authority device, characteristic speech frequency of an authorized user of the authority device), or any other suitable data. For example, agent verification data may include location data specifying the location of an authority device. As another example, agent verification data may include usage data (e.g., data relating to how a user uses applications on a smartphone serving as an authority device), accelerometer data (e.g., data characterizing motion patterns of an authorized user), and/or authority device network status data (e.g., determining which network an authority device is connected to via WiFi).


Agent verification data is preferably verified by comparing the agent verification data to expected results for a particular user. Such verification may occur in any manner. Agent verification preferably includes evaluating a comparison of collected agent verification data and expected agent verification data and confirming agent verification if the comparison results in a similarity exceeding a comparison threshold. This comparison threshold may be set in any manner, and may differ for various types of agent verification. For example, comparison using a numerical passcode may require an exact match, whereas comparison of retinal scans may require a 99.5% match.


Additional agent verification may, in some cases, allow users to select a verification method. For example, a user may be allowed to perform additional agent verification by scanning his/her fingerprint using a fingerprint reader of an authority device or submit a numerical passcode (e.g., via user selectable options), as shown in FIG. 8. As another example, a user may be allowed to submit a numerical passcode only if a fingerprint scanner of the authority device is malfunctioning.


Additional agent verification may be performed at any step of the authentication process. As described in Section 1, transactions are preferably authorized in response to an authority agent response (e.g., selecting a transaction approval button in an authentication application notification). Additional agent verification may supplement this process in any manner.


For example, additional agent verification may be performed prior to requesting the authority agent response. In this example, the authority agent response may only be requested if additional agent verification is completed successfully (or alternatively may be requested regardless of the result of additional agent verification)


As another example, additional agent verification may be performed after requesting the authority agent response. In this example, additional agent verification may be performed subject to any conditions (e.g., additional agent verification may only be performed if a transaction is approved, additional agent verification may be performed regardless of transaction approval, additional agent verification may only be performed if a transaction is denied, etc.). The final transmission of the approval response may be contingent on successful additional agent verification.


Note that while not explicitly discussed in the paragraphs of the specification describing S140, data related to authority agent responses may be used as a trigger for requiring additional agent verification (e.g., if user approves a transaction uncharacteristically quickly, this may automatically trigger additional agent verification).


As a third example, the submission of additional agent verification data may serve as an authority agent response. For example, an authentication application may ask a user to scan their fingerprint to approve a transaction or deny the transaction using a selection on a touchscreen of the authority device, as shown in FIG. 8. In this example, the fingerprint scan may be inferred as an authority agent response.


Additional agent verification S145 is preferably performed locally on the authority device. For example, additional agent verification may be performed using a fingerprint reading API that allows a smartphone to be used as an authority agent. The fingerprint API may, for example, enable an application (e.g., the authentication application) to request verification that a fingerprint is a fingerprint of an authorized user of the smartphone. The authorized user may be specific to the application, but may additionally or alternatively be a user generally authorized to access functions of the authority device (e.g., the user may be authorized as the primary user of a smartphone).


As another example, additional agent verification may be performed using a passcode stored locally on the authority device.


Additional agent verification S145 may alternatively be performed remotely (fully or in part). For example, S145 may include transmitting agent verification data to a service provider or authentication platform (or other entity). In this example, verification may be performed by the remote entity. For example, S145 may include capturing fingerprint data and transmitting that data to an authentication platform for verification. Any data transmitted to a remote entity for verification purposes may be encrypted.


Alternative embodiments may implement the above methods in a computer-readable medium storing computer-readable instructions. The instructions are preferably executed by computer-executable components preferably integrated with an authentication platform. The authentication platform is preferably hosted on a distributed computing system or cloud based platform but may alternatively be hosted in any suitable system. The computer-readable medium may be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component is preferably a processor but the instructions may alternatively or additionally be executed by any suitable dedicated hardware device. The authentication platform preferably includes an API for third party services and devices to use in initiating transactions and interpreting responses from the authentication platform. The platform preferably includes a communication channel such as a public or private network or SMS network to communicate with at least one authority device. The authority device is preferably a mobile phone but may be any suitable personal computing device.


As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims.

Claims
  • 1. An online method of multi-factor authentication of a digital transaction, the method comprising: prior to initiating a digital transaction, registering a multi-factor authentication application of a mobile user device of a user in association with a multi-factor authentication account of the user hosted at a remote authentication service for performing a second factor of authentication for the digital transaction;at a third-party service provider: receiving a transaction request from an initiator using an initiating user device distinct from the registered mobile user device for initiating the digital transaction, the transaction request comprising user authentication credentials for performing a first factor of authentication at the third-party service provider;authenticating the initiator based on the user authentication credentials;in response to a successful authentication of the initiator, transmitting an application programming interface (API) request to a multi-factor authentication API server of the remote authentication service, the API request comprising an authentication request and transaction request data associated with the transaction request to the third-party service provider;at the remote authentication service comprising the multi-factor authentication API server: receiving the API request from the third-party service provider, wherein the transaction request data comprises (i) details of the transaction request and (ii) multi-factor authentication account identification data;using the multi-factor authentication account identification data to identify the multi-factor authentication account hosted with and maintained by the remote authentication service;using the multi-factor authentication account to identify the multi-factor authentication application of the mobile user device that is registered in association with the multi-factor authentication account;in response to identifying the multi-factor authentication application of the mobile user device, pushing an authentication message via a persistent connection from the multi-factor authentication API to the multi-factor authentication application hosted on the mobile user device, the authentication message comprising (a) the details of the transaction request and (ii) a request for either a confirmation input from the user that confirms the details of the transaction request or a denial input that denies the details of the transaction request;at the multi-factor authentication application, displaying the authentication message on the mobile user device, wherein displaying the authentication message comprises displaying a prompt directing the user of the mobile user device to perform a biometric scan at a biometric scanner of the mobile user device;at the multi-factor authentication application, performing the second factor of authentication by verifying, locally and with an operating system of the mobile user device, that the biometric scan is associated with an authorized user of the mobile user device;receiving, from the multi-factor authentication application, an authentication response to the authentication notification, the authentication response comprising data of the confirmation input or data of the denial input;returning to the third-party service provider, from the multi-factor authentication API server, an API response comprising authentication response data relating to the authentication response; andcompleting the digital transaction or denying the digital transaction based on the authentication response data.
  • 2. The method of claim 1, wherein the authentication message includes a selectable option that allows an additional authentication to be performed by verifying, locally and with the operating system, a numerical passcode submitted by the authority agent; selecting the selectable option; andperforming the additional authentication based on a receipt of the numerical passcode.
  • 3. The method of claim 1, wherein the authentication message directs the authority agent to perform the biometric scan only after the multi-factor authentication application receives a preliminary approval of the transaction request from the user.
  • 4. The method of claim 1, further comprising prompting the user to approve or not to approve the transaction request by providing via the multi-factor authentication application an input to approve or an input not to approve the transaction request after performing the biometric scan.
  • 5. The method of claim 1, further comprising: detecting, at the remote authentication service, that the third-party service provider is associated with a security-sensitive application, wherein the security-sensitive application is an application designated by the third-party service provider as requiring additional authentication for an associated digital transaction; and, in response to detecting that the third-party service provider is associated with the security-sensitive application, automatically implementing an authentication policy that specifies that the performing of the biometric data input scan must be performed to complete the digital transaction.
  • 6. The method of claim 5, wherein detecting, at the remote authentication service, that the third-party service provider is associated with the security-sensitive application comprises analyzing an identifier of the third-party service provider with regard to a list of security-sensitive applications maintained at the remote authentication service.
  • 7. The method of claim 1, further comprising detecting, at the remote authentication service, that the user comprises a security-sensitive user; and, in response to detecting that the user comprises the security-sensitive user, automatically implementing an authentication policy that specifies that the performance of the biometric data input must be performed to complete the digital transaction, wherein a security-sensitive user relates to any user that the remote authentication service designates as needing additional user authentication for completing digital transactions.
  • 8. The method of claim 1, further comprising: determining a likelihood that the transaction request comprises a suspicious transaction based on the data associated with the transaction request; anddetecting, at the remote authentication service, that the transaction request comprises a suspicious transaction request, wherein detecting that the transaction request comprises the suspicious transaction includes determining a likelihood that the transaction request was not initiated by the user associated with the registered mobile device; wherein directing the user to perform the biometric data input comprises directing the user to perform the biometric data input only in response to detecting suspicious transaction requests.
  • 9. The method of claim 8, wherein detecting that the transaction request comprises the suspicious transaction request comprises receiving indication from the third-party service provider that the transaction request is suspicious.
  • 10. The method of claim 8, wherein detecting that the transaction request comprises the suspicious transaction request comprises detecting that the transaction request is suspicious based on historical transaction request data stored at the remote authentication service.
  • 11. The method of claim 1, upon receipt of the transaction request at the service provider, performing by the service provider an initial authentication of an initiator of the transaction request and only a subsequent authentication of the transaction request is performed by the remote authentication platform, the subsequent authentication comprising a biometric authentication for receiving the biometric input.
  • 12. The method of claim 1, further comprising: preventing the remote authentication service from inspecting one or more features of the transaction request from the third-party service provider, wherein the preventing includes encrypting the transaction request at the third-party service provider prior to transmitting the transaction request to the remote authentication service; anddecrypting the transaction request only at the multi-factor authentication application of the mobile user device.
  • 13. A method of multi-factor authentication of a digital transaction, the method comprising: prior to initiating a digital transaction, registering a multi-factor authentication application of a mobile user device of a user in association with a multi-factor authentication account at a remote authentication service for performing a second factor of authentication for the digital transaction;at a third-party service provider: receiving a transaction request from an initiator for initiating the digital transaction, the transaction request comprising user authentication credentials for performing a first factor of authentication at the third-party service provider;authenticating the initiator based on the user authentication credentials;in response to a successful authentication of the initiator, transmitting, via one or more networks, transaction request data associated with the transaction request to the remote authentication service;at the remote authentication service: receiving, via the one or more networks, the transaction request data from the third-party service provider, wherein the transaction request data comprises (i) details of the transaction request and (ii) multi-factor authentication account identification data;using the multi-factor authentication account identification data to identify the multi-factor authentication account of the user that is maintained by the remote authentication service;using the multi-factor authentication account to identify the multi-factor authentication application hosted on the mobile user device that is registered in association with the multi-factor authentication account;in response to identifying the multi-factor authentication application associated with the multi-factor authentication account, transmitting from the remote authentication service an authentication message to the multi-factor authentication application, the authentication message comprising (a) the details of the transaction request and (ii) a request for either a confirmation input from the user that confirms the details of the transaction request or a denial input that denies the details of the transaction request;at the multi-factor authentication application, displaying the authentication message on the mobile user device, wherein displaying the authentication message comprises displaying a prompt directing the user of the mobile user device to perform a fingerprint scan at a fingerprint scanner of the mobile user device;at the multi-factor authentication application, performing the second factor of authentication by verifying, locally and with an operating system of the mobile user device, that the fingerprint scan is associated with an authorized user of the mobile user device;receiving, from the registered mobile device, an authentication response to the authentication message, the authentication response comprising data of the confirmation input or data of the denial input;transmitting, via the one or more networks, authentication response data relating to the authentication response to the third-party service provider; andcompleting the digital transaction or denying the digital transaction based on the authentication response data.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 15/146,223, filed 4 May 2016, which is a continuation in part of U.S. application Ser. No. 13/039,209, filed 2 Mar. 2011, which claims the benefit of U.S. Provisional Application No. 61/309,885, filed 3 Mar. 2010, all of which are incorporated in their entireties by this reference.

US Referenced Citations (232)
Number Name Date Kind
5838792 Ganesan Nov 1998 A
5870723 Pare et al. Feb 1999 A
6119096 Mann et al. Sep 2000 A
6209091 Sudia et al. Mar 2001 B1
6311272 Gressel Oct 2001 B1
6694025 Epstein et al. Feb 2004 B1
6758394 Maskatiya et al. Jul 2004 B2
6823359 Heidingsfeld et al. Nov 2004 B1
6934858 Woodhill Aug 2005 B2
6956950 Kausik Oct 2005 B2
6990591 Pearson Jan 2006 B1
6996716 Hsu Feb 2006 B1
7096354 Wheeler et al. Aug 2006 B2
7331518 Rable Feb 2008 B2
7386720 Sandhu et al. Jun 2008 B2
7447784 Eun Nov 2008 B2
7463637 Bou-Diab et al. Dec 2008 B2
7496662 Roesch et al. Feb 2009 B1
7526792 Ross Apr 2009 B2
7562382 Hinton et al. Jul 2009 B2
7574733 Woodhill Aug 2009 B2
7711122 Allen et al. May 2010 B2
7793110 Durfee et al. Sep 2010 B2
7953979 Bomeman et al. May 2011 B2
7982595 Hanna et al. Jul 2011 B2
8028329 Whitcomb Sep 2011 B2
8136148 Chayanam et al. Mar 2012 B1
8161527 Curren Apr 2012 B2
8200980 Robinson et al. Jun 2012 B1
8245044 Kang Aug 2012 B2
8332627 Matthews et al. Dec 2012 B1
8335933 Humphrey et al. Dec 2012 B2
8397301 Hering et al. Mar 2013 B2
8402526 Ahn Mar 2013 B2
8458798 Williams et al. Jun 2013 B2
8495720 Counterman Jul 2013 B2
8499339 Chao et al. Jul 2013 B2
8510820 Oberheide et al. Aug 2013 B2
8538028 Yeap et al. Sep 2013 B2
8539567 Logue et al. Sep 2013 B1
8627438 Bhimanaik Jan 2014 B1
8646060 Ayed Feb 2014 B1
8646086 Chakra et al. Feb 2014 B2
8689287 Bohmer et al. Apr 2014 B2
8700729 Dua Apr 2014 B2
8732475 Fahrny et al. May 2014 B2
8732839 Hohl May 2014 B2
8745703 Lambert et al. Jun 2014 B2
8763077 Oberheide et al. Jun 2014 B2
8806609 Gladstone et al. Aug 2014 B2
2639997 Wiesmaier et al. Sep 2014 A1
8850516 Hrebicek et al. Sep 2014 B1
8891772 D Souza et al. Nov 2014 B2
8893230 Oberheide et al. Nov 2014 B2
8898762 Kang Nov 2014 B2
9049011 Agrawal Jun 2015 B1
9223961 Sokolov Dec 2015 B1
9282085 Oberheide et al. Mar 2016 B2
9391980 Krahn et al. Jul 2016 B1
20020013898 Sudia et al. Jan 2002 A1
20020091745 Ramamurthy et al. Jul 2002 A1
20020123967 Wang Sep 2002 A1
20030115452 Sandhu et al. Jun 2003 A1
20030120931 Hopkins et al. Jun 2003 A1
20030126472 Banzhof Jul 2003 A1
20030147536 Andivahis et al. Aug 2003 A1
20030149781 Yared et al. Aug 2003 A1
20040064706 Lin et al. Apr 2004 A1
20040139318 Fiala et al. Jul 2004 A1
20040187018 Owen et al. Sep 2004 A1
20040215672 Pfitzner Oct 2004 A1
20040218763 Rose et al. Nov 2004 A1
20050097350 Patrick et al. May 2005 A1
20050097352 Patrick et al. May 2005 A1
20050218215 Lauden Oct 2005 A1
20050221268 Chaar et al. Oct 2005 A1
20050240522 Kranzley et al. Oct 2005 A1
20050268107 Harris Dec 2005 A1
20050268326 Bhargavan et al. Dec 2005 A1
20060021018 Hinton et al. Jan 2006 A1
20060031938 Choi Feb 2006 A1
20060059569 Dasgupta Mar 2006 A1
20060075475 Boulos et al. Apr 2006 A1
20060130139 Sobel et al. Jun 2006 A1
20060165060 Dua Jul 2006 A1
20060182276 Sandhu et al. Aug 2006 A1
20060184788 Sandhu et al. Aug 2006 A1
20060242692 Thione et al. Oct 2006 A1
20070016948 Dubrovsky et al. Jan 2007 A1
20070027961 Holzer Feb 2007 A1
20070081667 Hwang Apr 2007 A1
20070101145 Sachdeva et al. May 2007 A1
20070143860 Hardt Jun 2007 A1
20070156592 Henderson Jul 2007 A1
20070156659 Lim Jul 2007 A1
20070186106 Ting et al. Aug 2007 A1
20070199060 Touboul Aug 2007 A1
20070204016 Kunz et al. Aug 2007 A1
20070228148 Rable Oct 2007 A1
20070250914 Fazal Oct 2007 A1
20070254631 Spooner Nov 2007 A1
20070258594 Sandhu et al. Nov 2007 A1
20070284429 Beeman Dec 2007 A1
20070297607 Ogura et al. Dec 2007 A1
20080010665 Hinton et al. Jan 2008 A1
20080049642 Gudipudi et al. Feb 2008 A1
20080059804 Shah et al. Mar 2008 A1
20080069347 Brown et al. Mar 2008 A1
20080120411 Eberle May 2008 A1
20080134311 Medvinsky et al. Jun 2008 A1
20080201186 Poon et al. Aug 2008 A1
20080229104 Ju et al. Sep 2008 A1
20090055906 Wendorff Feb 2009 A1
20090077060 Sermersheim et al. Mar 2009 A1
20090083225 Jacobs et al. Mar 2009 A1
20090167489 Nan et al. Jul 2009 A1
20090187986 Ozeki Jul 2009 A1
20090210705 Chen Aug 2009 A1
20090254978 Rouskov et al. Oct 2009 A1
20090259848 Williams et al. Oct 2009 A1
20090271863 Govindavajhala et al. Oct 2009 A1
20090300596 Tyhurst et al. Dec 2009 A1
20090300707 Garimella et al. Dec 2009 A1
20090328178 McDaniel et al. Dec 2009 A1
20100011433 Harrison et al. Jan 2010 A1
20100023781 Nakamoto Jan 2010 A1
20100036931 Certain et al. Feb 2010 A1
20100042954 Rosenblatt et al. Feb 2010 A1
20100069104 Neil et al. Mar 2010 A1
20100100725 Ozzie et al. Apr 2010 A1
20100100924 Hinton Apr 2010 A1
20100107225 Spencer et al. Apr 2010 A1
20100114740 Dominguez et al. May 2010 A1
20100115578 Nice et al. May 2010 A1
20100121767 Coulter et al. May 2010 A1
20100125737 Kang May 2010 A1
20100131755 Zhu et al. May 2010 A1
20100180001 Hardt Jul 2010 A1
20100186082 Ladki et al. Jul 2010 A1
20100202609 Sandhu et al. Aug 2010 A1
20100216425 Smith Aug 2010 A1
20100217986 Schneider Aug 2010 A1
20100233996 Herz et al. Sep 2010 A1
20100257610 Hohl Oct 2010 A1
20100263021 Arnott et al. Oct 2010 A1
20100274859 Bucuk Oct 2010 A1
20100319068 Abbadessa et al. Dec 2010 A1
20100330969 Kim et al. Dec 2010 A1
20110026716 Tang et al. Feb 2011 A1
20110055903 Leggette Mar 2011 A1
20110086616 Brand et al. Apr 2011 A1
20110107389 Chakarapani May 2011 A1
20110113484 Zeuthen May 2011 A1
20110119765 Hering et al. May 2011 A1
20110138469 Ye et al. Jun 2011 A1
20110145900 Chern Jun 2011 A1
20110197266 Chu et al. Aug 2011 A1
20110197267 Gravel et al. Aug 2011 A1
20110219449 St. Neitzel et al. Sep 2011 A1
20110225637 Counterman Sep 2011 A1
20110231265 Brown et al. Sep 2011 A1
20110277025 Counterman Nov 2011 A1
20110302410 Clarke et al. Dec 2011 A1
20110302630 Nair et al. Dec 2011 A1
20120063601 Hart Mar 2012 A1
20120090028 Lapsley et al. Apr 2012 A1
20120096274 Campagna et al. Apr 2012 A1
20120117229 Van et al. May 2012 A1
20120117626 Yates et al. May 2012 A1
20120159600 Takagi Jun 2012 A1
20120198050 Maki et al. Aug 2012 A1
20120198228 Oberheide et al. Aug 2012 A1
20120216239 Yadav et al. Aug 2012 A1
20120227098 Obasanjo et al. Sep 2012 A1
20120254957 Fork et al. Oct 2012 A1
20120278454 Stewart et al. Nov 2012 A1
20120290841 Jentzsch Nov 2012 A1
20120300931 Ollikainen et al. Nov 2012 A1
20120321086 D'Souza et al. Dec 2012 A1
20130042002 Cheeniyil et al. Feb 2013 A1
20130060708 Oskolkov et al. Mar 2013 A1
20130067538 Dharmarajan et al. Mar 2013 A1
20130081101 Baer et al. Mar 2013 A1
20130086210 Yiu et al. Apr 2013 A1
20130086658 Kottahachchi et al. Apr 2013 A1
20130097585 Jentsch et al. Apr 2013 A1
20130110676 Kobres May 2013 A1
20130117826 Gordon et al. May 2013 A1
20130124292 Juthani May 2013 A1
20130125226 Shah et al. May 2013 A1
20130174246 Schrecker et al. Jul 2013 A1
20130179681 Benson et al. Jul 2013 A1
20130239167 Sreenivas et al. Sep 2013 A1
20130239168 Sreenivas et al. Sep 2013 A1
20130239177 Sigurdson et al. Sep 2013 A1
20130246281 Yamada et al. Sep 2013 A1
20130276142 Peddada Oct 2013 A1
20130310006 Chen et al. Nov 2013 A1
20130311776 Besehanic Nov 2013 A1
20130326224 Yavuz Dec 2013 A1
20130326493 Poonamalli et al. Dec 2013 A1
20140019752 Yin et al. Jan 2014 A1
20140020051 Lu et al. Jan 2014 A1
20140047546 Sidagni Feb 2014 A1
20140188796 Fushman et al. Jul 2014 A1
20140201841 Deshpande et al. Jul 2014 A1
20140208405 Hashai Jul 2014 A1
20140235230 Raleigh Aug 2014 A1
20140237236 Kalinichenko et al. Aug 2014 A1
20140244993 Chew Aug 2014 A1
20140245278 Zellen Aug 2014 A1
20140245396 Oberheide et al. Aug 2014 A1
20140247140 Proud Sep 2014 A1
20140351954 Brownell et al. Nov 2014 A1
20140376543 Malatack et al. Dec 2014 A1
20150012914 Klein et al. Jan 2015 A1
20150026461 Devi Jan 2015 A1
20150172321 Kirti et al. Jun 2015 A1
20150237026 Kumar Aug 2015 A1
20150242643 Hankins et al. Aug 2015 A1
20150312233 Graham et al. Oct 2015 A1
20150381662 Nair et al. Dec 2015 A1
20160056962 Mehtala Feb 2016 A1
20160080366 Agarwal Mar 2016 A1
20160099963 Mahaffey et al. Apr 2016 A1
20160164866 Oberheide et al. Jun 2016 A1
20160180072 Ligatti et al. Jun 2016 A1
20160212129 Johnston et al. Jul 2016 A1
20160286391 Khan Sep 2016 A1
20170214701 Hasan Jul 2017 A1
20180027006 Zimmermann et al. Jan 2018 A1
20180205726 Chari et al. Jul 2018 A1
Non-Patent Literature Citations (9)
Entry
Goldfeder et al., Securing Bitcoin wallets via a new DSA/ECDSA threshold signature scheme, http://www.cs.princeton.edu/˜stevenag/threshold_sigs.pdf, Jun. 9, 2015.
Simske et al., “APEX: Automated Policy Enforcement eXchange”, Sep. 21-24, 2010, ACM, pp. 139-142.
Symantec, Administration guide for symantec Endpoint protection and symantec network access control, 2009, version 11.00.05.00.00.
Symantec, Administration Guide for Symantec TM Endpoint Protection and Symantec Network Access Control, Aug. 11, 2007.
“Neuenhofen, Kay, and Mathew Thompson. ““A secure marketplace for mobile java agents.”” Proceeding of the second international Conference on Autonomous agents. ACM, 1998. {pp.212-218}.”
“Aloul S Zahidi; et al. “Two factor authentication using mobile phones,” 2009 IEEE/ACS International Conference on Computer Systems and Applications, Rabat, 2009, pp. 641-644.”, Feb. 6, 2018 00:00:00.0.
“Bonneau Joseph; et al. “Passwords and the evolution of imperfect authentication.” Communications of the ACM 58.7 (2015): 78-87.”, Feb. 6, 2018 00:00:00.0.
“Kher Vishal; et al. “Securing distributed storage: challenges, techniques and systems.” Proceedings of the 2005 ACM workshop on Storage security and survivability. ACM, 2005, pp. 9-25.”, Feb. 6, 2018 00:00:00.0.
“Edge, Kenneth, et al. “The use of attack and protection trees to analyze security for an online banking system.” System Sciences, 2007. HICSS 2007. 40th Annual Hawaii International Conference on. IEEE, 2007.”
Related Publications (1)
Number Date Country
20170068958 A1 Mar 2017 US
Provisional Applications (1)
Number Date Country
61309885 Mar 2010 US
Continuations (1)
Number Date Country
Parent 15146223 May 2016 US
Child 15355377 US
Continuation in Parts (1)
Number Date Country
Parent 13039209 Mar 2011 US
Child 15146223 US