US20190109833A1 - Adaptive selection of authentication schemes in mfa - Google Patents

Adaptive selection of authentication schemes in mfa Download PDF

Info

Publication number
US20190109833A1
US20190109833A1 US15/725,536 US201715725536A US2019109833A1 US 20190109833 A1 US20190109833 A1 US 20190109833A1 US 201715725536 A US201715725536 A US 201715725536A US 2019109833 A1 US2019109833 A1 US 2019109833A1
Authority
US
United States
Prior art keywords
user
authentication
chain
dynamic authentication
schemes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US15/725,536
Other versions
US11057362B2 (en
Inventor
Murali Krishna SEGU
Venkata Swamy Karukuri
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.)
CA Inc
Original Assignee
CA 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 CA Inc filed Critical CA Inc
Priority to US15/725,536 priority Critical patent/US11057362B2/en
Assigned to CA, INC. reassignment CA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KARUKURI, VENKATA SWAMY, SEGU, MURALI KRISHNA
Publication of US20190109833A1 publication Critical patent/US20190109833A1/en
Application granted granted Critical
Publication of US11057362B2 publication Critical patent/US11057362B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Definitions

  • the present disclosure relates to adaptive authentication for determining the authentication scheme from an authentication chain list.
  • authentication chaining provides a fixed set of authentication schemes that satisfy selected criteria to successfully authenticate to accept or reject a user. It can often be tedious and confusing to administrators to determine what scheme should be used with which criterion.
  • An authentication chain is usually a set of authentication schemes that have been configured with a set of rules based on risk factor or risk score given from client-side data.
  • Typical authentication systems generally rely on client side data or browser information for calculating a risk score for multi-factor authentication (MFA). Since each criterion has its own level of authentication security, it is equally or more important what authentication scheme is being used as a link in an authentication chain.
  • a method may include the steps of receiving a request from a user to access a resource of a network; determining whether the resource is protected; in response to determining that the resource is protected, generating a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order; challenging the user with the dynamic authentication chain; receiving a set of credentials from the user based at least in part on the particular order of the dynamic authentication chain; determining whether the set of credentials satisfies the dynamic authentication chain; and authenticating the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
  • a non-transitory computer-readable storage medium may have instructions stored thereon that may be executable by a computing system to: receive a request from a user to access a resource of a network; determine whether the resource is protected; in response to determining that the resource is protected, generate a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order; challenge the user with the dynamic authentication chain; receive a set of credentials from the user based at least in part on the particular order of the dynamic authentication chain; determine whether the set of credentials satisfies the dynamic authentication chain; and authenticate the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
  • a computer system may include a server configured to: receive a request from a user to access a resource of a network; determine whether the resource is protected; in response to determining that the resource is protected, generate a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order; challenge the user with the dynamic authentication chain; receive a set of credentials from the user based at least in part on the order of the dynamic authentication chain; determine whether the set of credentials satisfies the dynamic authentication chain; and authenticate the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
  • FIG. 1 illustrates a schematic representation of a sequence without adaptive authentication chaining.
  • FIG. 2 illustrates a schematic representation of a sequence with adaptive authentication chaining.
  • FIG. 3 illustrates a diagram of adaptive authentication chaining.
  • FIG. 4 illustrates a flow chart for an embodiment of providing adaptive authentication chaining.
  • FIG. 5 illustrates a flow chart for an embodiment of providing adaptive authentication chaining.
  • aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or in a combined software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
  • the computer readable media may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium able to contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take a variety of forms comprising, but not limited to, electro-magnetic, optical, or a suitable combination thereof.
  • a computer readable signal medium may be a computer readable medium that is not a computer readable storage medium and that is able to communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable signal medium may be transmitted using an appropriate medium comprising, but not limited to, wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present disclosure may be written in a combination of one or more programming languages, comprising an object oriented programming language such as JAVA®, SCALA®, SMALLTALK®, EIFFEL®, JADE®, EMERALD®, C++, C#, VB.NET, PYTHON® or the like, conventional procedural programming languages, such as the “C” programming language, VISUAL BASIC®, FORTRAN® 2003, Perl, COBOL 2002, PHP, ABAP®, dynamic programming languages such as PYTHON®, RUBY® and Groovy, or other programming languages.
  • object oriented programming language such as JAVA®, SCALA®, SMALLTALK®, EIFFEL®, JADE®, EMERALD®, C++, C#, VB.NET, PYTHON® or the like
  • conventional procedural programming languages such as the “C” programming language, VISUAL BASIC®, FORTRAN® 2003, Perl, COBOL 2002, PHP
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (“LAN”) or a wide area network (“WAN”), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (“SaaS”).
  • LAN local area network
  • WAN wide area network
  • SaaS Software as a Service
  • These computer program instructions may also be stored in a computer readable medium that, when executed, may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions, when stored in the computer readable medium, produce an article of manufacture comprising instructions which, when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses, or other devices to produce a computer implemented process, such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • Systems and methods disclosed herein may be related to other areas beyond network infrastructure.
  • Systems and methods disclosed herein may be related to, and used by, any predictive system that utilizes expert learning or other predictive methods.
  • Systems and methods disclosed herein may be applicable to a broad range of applications that, such as, for example, research activities (e.g., research and design, development, collaboration), commercial activities (e.g., sales, advertising, financial evaluation and modeling, inventory control, asset logistics and scheduling), IT systems (e.g., computing systems, cloud computing, network access, security, service provisioning), medicine (e.g., diagnosis or prediction within a particular specialty or sub-specialty), and other activities of importance to a user or organization.
  • research activities e.g., research and design, development, collaboration
  • commercial activities e.g., sales, advertising, financial evaluation and modeling, inventory control, asset logistics and scheduling
  • IT systems e.g., computing systems, cloud computing, network access, security, service provisioning
  • medicine e.g., diagnosis or prediction within a particular specialty
  • multi-factor authentication is common, it is often carried out through pre-determined or pre-configured authentication schemes.
  • client-side information such as user history from a web browser, will be analyzed by an algorithm to decide the pre-determined or pre-configured authentication chain.
  • a user 102 may access a web page.
  • the browser 104 may convey the request to a web server 106 .
  • the web server 106 may then query an authentication server 108 to determine if the resource (i.e., web page) is protected.
  • the authentication server 108 may return a primary authentication scheme along with a response that yes, the resource is protected.
  • the web server 106 may collect credentials from the browser 104 , which requires the user 102 to login.
  • the user credentials may then be sent to the authentication server 108 , which may authenticate the credentials.
  • the authentication server 108 may return a result along with a second authentication scheme in an authentication chain list.
  • This authentication chain list may be formed in accordance with a static configuration of authentication schemes.
  • the static configuration may be two authentication schemes during the start-up of the authentication server.
  • the authentication server 108 may then collect credentials from the browser 104 , which may require the user 102 to login. The user credentials may then be sent to the authentication server 108 to authenticate. The authentication server 108 may return the transactions and result to user 102 and may convey to web server 106 that access is accepted. The web server 106 may then provide the resource page to the user 102 .
  • a user 202 may request access to a web page from a browser 204 .
  • the browser 204 may convey the request to a web server 206 .
  • the web server 206 may query a smart authentication server 208 to determine whether the resource is protected.
  • the smart authentication server 208 may respond to the web server 206 that the web page is protected and may query an adaptive authentication engine 210 to get an authentication scheme.
  • the adaptive authentication engine 210 may evaluate source parameters and create a dynamic authentication scheme chain based on user information, policies, geographic location, etc.
  • the source parameters evaluated by the adaptive authentication engine 210 may be obtained from the server-side, not the client-side, i.e. browser information.
  • the dynamic authentication scheme chain may include any suitable number and type of authentication scheme depending on the level of protection of the resource and the necessary level of authentication security. Evaluation of the source parameters provides information necessary for the engine 210 to determine the level of protection and authentication security.
  • the engine 210 may define an order in which the authentication schemes should be presented to the user.
  • the engine 210 may dynamically select the number, type, and order of the authentication schemes placed in the dynamic authentication chain.
  • the adaptive authentication engine 210 may return the dynamic chain of authentication schemes to the smart authentication server 208 .
  • the smart authentication server 208 may collect user credentials in response to the chain, based on the order of the authentication schemes in the dynamic authentication chain.
  • the browser 204 may require the user 202 to login.
  • the user 202 may provide the set of user credentials based on the order of the dynamic chain of authentication schemes presented to the user to the smart authentication server 208 .
  • the smart authentication server 208 may authenticate, let the web server 206 know to accept access, and the web server 206 may provide the resource page to the user 202 .
  • the embodiment of FIG. 2 may use an algorithm to dynamically decide which authentication schemes should be included in the chain and in what order, and then challenge a user based upon that dynamically generated chain.
  • the algorithm may analyze user information gathered from a server, including user access history, role specific access information, and privilege access control in order to determine the risk in providing a user with access to a protected resource.
  • the system of FIG. 2 may consider these types of user information in a cumulative fashion. For example, the user history may be considered first, and the authentication chain may be adapted to any changes in user behavior. However, any request for credentials sent via the authentication chain is based on the above three criteria being evaluated. Each criterion depends on the level of authentication security. The three criteria may be considered in any suitable order to evaluate the risk of providing the user with access to the protected resource.
  • Well known authentication criteria include required, requisite, sufficient, and optional.
  • An authentication scheme which is marked with ‘required’ criteria means a user needs to succeed in authentication, and whether an authentication succeeds or fails, the process still continues down the authentication schemes in the chain for each realm.
  • An authentication scheme which is marked with ‘requisite’ criteria means a user needs to get authenticated with all the authentication schemes in the chain in order to attain access to the protected resource; this is similar to ‘AND’ logic and failure of any authentication scheme in the chain will deny access to the protected resource.
  • An authentication scheme which is marked with ‘sufficient’ criteria means: a user needs to get authenticated with at least one of the authentication schemes in the chain to attain access to the protected resource; this is similar to ‘OR’ logic and the failure of all authentication schemes configured in the chain will deny access to the protected resource.
  • An authentication scheme which is marked with ‘optional’ criteria means user authentication is not required to succeed and whether an authentication succeeds or fails, the process still continues down the authentication chain list.
  • the set of authentication schemes dynamically selected to be in the chain may be assigned particular criteria, such as the required, requisite, sufficient, and optional criteria discussed above, depending on the security or level of protection of a resource being accessed by a user.
  • risk of providing access to the resource may be assessed based on user history and other server side parameters.
  • An efficiency authentication scheme for fallback/two-factor authentication may be identified based on user access history, role specific access configuration, and privilege access control system for delegated users.
  • the process may adapt to re-challenge with stronger authentication schemes when a user is seeking to access highly sensitive resources. Possible responses from the system may include reject access to very sensitive realms or send ‘strong auth request’ from the list of authentication chaining.
  • An authentication scheme with its importance may be denoted Si.
  • An authentication scheme that is allowed to fallback may be denoted Scf.
  • Authentication schemes that are in fallback list may be denoted Sfl.
  • a transaction (T) with result success may be denoted Ts, and with result failure may be denoted as Tf.
  • Information about protection and significance level of a resource may be obtained.
  • a system may then obtain details from a server regarding user access history, user role privileges, and delegated roles. This information may then be inputted to Decision Tree algorithm for classification, and thereby determine the resource sensitivity and whether the user has to be provided with access, denied access, or re-challenged. This information may be sufficient to adapt to the real-time protection of the resource.
  • the resource being accessed by a user and protected may be a URL or other application.
  • the resource to be protected may be identified along with its significance level (Rs).
  • An authentication scheme with its importance may be denoted Si.
  • An authentication scheme that is allowed to fallback may be denoted Scf.
  • Authentication schemes that are in fallback list may be denoted Sfl.
  • a transaction (T) with result success may be denoted Ts, and with result failure may be denoted as Tf.
  • Information about protection and significance level of a resource may be obtained.
  • a system may then obtain details from a server regarding user access history, user role privileges, and delegated roles.
  • This information may then be inputted to a Decision Tree or other algorithm for classification, and thereby determine the resource sensitivity and whether the user has to be provided with access, denied access, or re-challenged. This information may be sufficient to adapt to the real-time protection of the resource.
  • the algorithm may be any suitable authentication algorithm, but the input parameters to the algorithm are server-side parameters, including user access history, user role privileges, and delegated roles.
  • FIG. 3 depicts an example of an adaptive authentication chaining system.
  • a user 302 may request a resource.
  • the request may be sent to a service provider 304 .
  • the service provider 304 may communicate with a store 306 , such as a policy store, user store, or audit store.
  • a server may compute a score or risk score using user access history, role specific configuration, and delegated user identity privileges.
  • the server may adapt to the authentication scheme from the authentication chaining.
  • the store 306 may respond with allow/reject/step up.
  • the service provider 304 may send a response to user 302 of allow or reject or step up, along with the authentication scheme to be satisfied.
  • the store 306 may be available to provide an authentication mechanism and verification.
  • a decision tree algorithm may have an input of decision tree and input database and an output of model prediction. Any suitable decision tree algorithm may be used.
  • the inputs to the decision tree may include server-side parameters, such as user access history, role specific access, privilege access control. For example,
  • n root of T
  • N node at end of the arc
  • a flow diagram of a process 400 for adaptive authentication chaining is depicted.
  • a request to access a resource is received by a server from a user.
  • a determination of whether the resource is protected is made. Determining whether the resource is protected may also include determining the level of protection or authentication security required for that particular resource (e.g., based on the resource's assigned significance level).
  • a dynamic authentication chain is generated at step 406 .
  • the dynamic authentication chain includes a plurality of authentication schemes and the schemes are arranged in a particular order in the chain. Both the plurality of schemes and the particular order are dynamically selected as the dynamic authentication chain is generated.
  • Each authentication scheme placed in the dynamic authentication chain may be assigned a particular criterion (e.g., required, requisite, sufficient, optional).
  • the dynamic authentication chain may include any suitable number of authentication schemes with any suitable properties (e.g., required v. requisite, fallback, etc.) depending on the resource being accessed and the desired level of security defined by the user or the system for that resource.
  • the user is challenged with the dynamic authentication chain. Challenging the user may involve receiving a user response to the schemes within the dynamic authentication chain, such as entering a password or entering a number from a disconnected token generator, or other suitable responses to an authentication scheme.
  • the schemes are presented to the user in the order the schemes were dynamically arranged in the chain.
  • the server receives a set of credentials from the user at step 410 based on the user's responses to the authentication schemes in the dynamic authentication chain.
  • a determination of whether the set of credentials satisfies the dynamic authentication chain is made.
  • Whether the user credentials satisfy the chain depends on the criterion assigned to the schemes within the chain and the user's responses to the particular schemes (e.g., if a scheme within the chain has a ‘required’ criteria, then the failure of any authentication scheme in the chain will result in denying access).
  • the user is authentication at step 414 .
  • Whether the set of credentials satisfies the dynamic authentication chain may depend on the particular criteria of the types of schemes and the order of the schemes within the chain, such as whether the schemes were assigned to be requisite, required, sufficient, or optional, as discussed above.
  • a flow diagram of a process 500 for adaptive authentication chaining is depicted.
  • a request from a user to access a resource is received.
  • the server determines whether the resource is protected at step 504 . Determining whether the resource is protected may also include determining the level of protection or authentication security required for that particular resource. If the resource is not protected, the user is provided access to the resource at step 506 . If the resource is protected, then in response to that determination, a dynamic authentication chain is generated at step 508 .
  • the dynamic authentication chain includes a plurality of authentication schemes and the schemes are arranged in a particular order in the chain. Both the plurality of schemes and the particular order are dynamically selected as the dynamic authentication chain is generated.
  • Each authentication scheme placed in the dynamic authentication chain may be assigned a particular criterion (e.g., required, requisite, sufficient, optional).
  • the dynamic authentication chain may include any suitable number of authentication schemes with any suitable properties (e.g., required v. requisite, fallback, etc.) depending on the resource being accessed and the desired level of security defined by the user or the system for that resource.
  • the user is challenged with the dynamic authentication chain. Challenging the user may involve receiving a user response to the schemes within the dynamic authentication chain, such as entering a password or entering a number from a disconnected token generator, or other suitable responses to an authentication scheme.
  • the schemes are presented to the user in the order the schemes were dynamically arranged in the chain.
  • a set of credentials from the user is received at step 512 based on the user's responses to the authentication schemes in the dynamic authentication chain.
  • the server determines whether the credentials satisfy the dynamic authentication chain.
  • Whether the user credentials satisfy the chain depends on the criterion assigned to the schemes within the chain and the user's responses to the particular schemes (e.g., if a scheme within the chain has a ‘required’ criteria, then the failure of any authentication scheme in the chain will result in denying access). If the credentials do satisfy the dynamic authentication chain, the user is authenticated at step 516 . If the credentials do not satisfy the dynamic authentication chain, the user is not authenticated and criteria are analyzed for failure at step 518 . Whether the set of credentials satisfies the dynamic authentication chain may depend on the particular criteria of the types of schemes and the order of the schemes within the chain, such as whether the schemes were assigned to be requisite, required, sufficient, or optional, as discussed above.
  • the user may be re-challenged with additional authentication schemes.
  • the re-challenging may be conducted in any suitable manner, including generating another dynamic authentication chain in the manner described above, but with stronger authentication schemes.
  • the dynamic authentication chain may include any suitable number of authentication schemes with any suitable properties (e.g., required v. requisite, fallback, etc.) depending on the resource being accessed and the desired level of security defined by the user or the system for that resource.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

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)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method of dynamic adaptive authentication includes receiving a request from a user to access a resource of a network and determining whether the resource is protected. In response to determining that the resource is protected, a dynamic authentication chain is generated. The dynamic authentication chain includes a plurality of authentication schemes that are arranged in a particular order. The method also includes challenging the user with the dynamic authentication chain and receiving a set of credentials from the user based at least in part on the particular order of the dynamic authentication chain. The method includes determining whether the set of credentials satisfies the dynamic authentication chain. In response to determining that the set of credentials satisfies the dynamic authentication chain, the user is authenticated.

Description

    BACKGROUND
  • The present disclosure relates to adaptive authentication for determining the authentication scheme from an authentication chain list.
  • In general, authentication chaining provides a fixed set of authentication schemes that satisfy selected criteria to successfully authenticate to accept or reject a user. It can often be tedious and confusing to administrators to determine what scheme should be used with which criterion. An authentication chain is usually a set of authentication schemes that have been configured with a set of rules based on risk factor or risk score given from client-side data. Typical authentication systems generally rely on client side data or browser information for calculating a risk score for multi-factor authentication (MFA). Since each criterion has its own level of authentication security, it is equally or more important what authentication scheme is being used as a link in an authentication chain.
  • BRIEF SUMMARY
  • According to an aspect of the present disclosure, a method may include the steps of receiving a request from a user to access a resource of a network; determining whether the resource is protected; in response to determining that the resource is protected, generating a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order; challenging the user with the dynamic authentication chain; receiving a set of credentials from the user based at least in part on the particular order of the dynamic authentication chain; determining whether the set of credentials satisfies the dynamic authentication chain; and authenticating the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
  • According to another aspect of the present disclosure, a non-transitory computer-readable storage medium may have instructions stored thereon that may be executable by a computing system to: receive a request from a user to access a resource of a network; determine whether the resource is protected; in response to determining that the resource is protected, generate a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order; challenge the user with the dynamic authentication chain; receive a set of credentials from the user based at least in part on the particular order of the dynamic authentication chain; determine whether the set of credentials satisfies the dynamic authentication chain; and authenticate the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
  • According to another aspect of the present disclosure, a computer system may include a server configured to: receive a request from a user to access a resource of a network; determine whether the resource is protected; in response to determining that the resource is protected, generate a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order; challenge the user with the dynamic authentication chain; receive a set of credentials from the user based at least in part on the order of the dynamic authentication chain; determine whether the set of credentials satisfies the dynamic authentication chain; and authenticate the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
  • Other objects, features, and advantages will be apparent to persons of ordinary skill in the art from the following detailed description and the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Aspects of the present disclosure are illustrated by way of example and are not limited by the accompanying figures with like references indicating like elements.
  • FIG. 1 illustrates a schematic representation of a sequence without adaptive authentication chaining.
  • FIG. 2 illustrates a schematic representation of a sequence with adaptive authentication chaining.
  • FIG. 3 illustrates a diagram of adaptive authentication chaining.
  • FIG. 4 illustrates a flow chart for an embodiment of providing adaptive authentication chaining.
  • FIG. 5 illustrates a flow chart for an embodiment of providing adaptive authentication chaining.
  • DETAILED DESCRIPTION
  • As will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or in a combined software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
  • Any combination of one or more computer readable media may be utilized. The computer readable media may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would comprise the following: a portable computer diskette, a hard disk, a random access memory (“RAM”), a read-only memory (“ROM”), an erasable programmable read-only memory (“EPROM” or Flash memory), an appropriate optical fiber with a repeater, a portable compact disc read-only memory (“CD-ROM”), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium able to contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take a variety of forms comprising, but not limited to, electro-magnetic, optical, or a suitable combination thereof. A computer readable signal medium may be a computer readable medium that is not a computer readable storage medium and that is able to communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using an appropriate medium comprising, but not limited to, wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present disclosure may be written in a combination of one or more programming languages, comprising an object oriented programming language such as JAVA®, SCALA®, SMALLTALK®, EIFFEL®, JADE®, EMERALD®, C++, C#, VB.NET, PYTHON® or the like, conventional procedural programming languages, such as the “C” programming language, VISUAL BASIC®, FORTRAN® 2003, Perl, COBOL 2002, PHP, ABAP®, dynamic programming languages such as PYTHON®, RUBY® and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (“LAN”) or a wide area network (“WAN”), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (“SaaS”).
  • Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (e.g., systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • These computer program instructions may also be stored in a computer readable medium that, when executed, may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions, when stored in the computer readable medium, produce an article of manufacture comprising instructions which, when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses, or other devices to produce a computer implemented process, such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • While certain example systems and methods disclosed herein may be described with reference to infrastructure management, systems and methods disclosed herein may be related to other areas beyond network infrastructure. Systems and methods disclosed herein may be related to, and used by, any predictive system that utilizes expert learning or other predictive methods. Systems and methods disclosed herein may be applicable to a broad range of applications that, such as, for example, research activities (e.g., research and design, development, collaboration), commercial activities (e.g., sales, advertising, financial evaluation and modeling, inventory control, asset logistics and scheduling), IT systems (e.g., computing systems, cloud computing, network access, security, service provisioning), medicine (e.g., diagnosis or prediction within a particular specialty or sub-specialty), and other activities of importance to a user or organization.
  • Although multi-factor authentication is common, it is often carried out through pre-determined or pre-configured authentication schemes. Typically, only client-side information, such as user history from a web browser, will be analyzed by an algorithm to decide the pre-determined or pre-configured authentication chain.
  • In view of the foregoing, a need has arisen for adaptive authentication to intelligently and dynamically select and determine the authentication schemes from a predefined set of authentication schemes.
  • In a sequence without adaptive authentication chaining, for example as depicted by sequence 100 in FIG. 1, a user 102 may access a web page. The browser 104 may convey the request to a web server 106. The web server 106 may then query an authentication server 108 to determine if the resource (i.e., web page) is protected. The authentication server 108 may return a primary authentication scheme along with a response that yes, the resource is protected. The web server 106 may collect credentials from the browser 104, which requires the user 102 to login. The user credentials may then be sent to the authentication server 108, which may authenticate the credentials. The authentication server 108 may return a result along with a second authentication scheme in an authentication chain list. This authentication chain list may be formed in accordance with a static configuration of authentication schemes. In this example, the static configuration may be two authentication schemes during the start-up of the authentication server. The authentication server 108 may then collect credentials from the browser 104, which may require the user 102 to login. The user credentials may then be sent to the authentication server 108 to authenticate. The authentication server 108 may return the transactions and result to user 102 and may convey to web server 106 that access is accepted. The web server 106 may then provide the resource page to the user 102.
  • In a sequence with adaptive authentication chaining, for example as depicted by sequence 200 in FIG. 2, a user 202 may request access to a web page from a browser 204. The browser 204 may convey the request to a web server 206. The web server 206 may query a smart authentication server 208 to determine whether the resource is protected. The smart authentication server 208 may respond to the web server 206 that the web page is protected and may query an adaptive authentication engine 210 to get an authentication scheme. The adaptive authentication engine 210 may evaluate source parameters and create a dynamic authentication scheme chain based on user information, policies, geographic location, etc. The source parameters evaluated by the adaptive authentication engine 210 may be obtained from the server-side, not the client-side, i.e. browser information. The dynamic authentication scheme chain may include any suitable number and type of authentication scheme depending on the level of protection of the resource and the necessary level of authentication security. Evaluation of the source parameters provides information necessary for the engine 210 to determine the level of protection and authentication security. The engine 210 may define an order in which the authentication schemes should be presented to the user. The engine 210 may dynamically select the number, type, and order of the authentication schemes placed in the dynamic authentication chain.
  • The adaptive authentication engine 210 may return the dynamic chain of authentication schemes to the smart authentication server 208. The smart authentication server 208 may collect user credentials in response to the chain, based on the order of the authentication schemes in the dynamic authentication chain. The browser 204 may require the user 202 to login. The user 202 may provide the set of user credentials based on the order of the dynamic chain of authentication schemes presented to the user to the smart authentication server 208. The smart authentication server 208 may authenticate, let the web server 206 know to accept access, and the web server 206 may provide the resource page to the user 202.
  • In creating the dynamic chain of authentication schemes, the embodiment of FIG. 2 may use an algorithm to dynamically decide which authentication schemes should be included in the chain and in what order, and then challenge a user based upon that dynamically generated chain. The algorithm may analyze user information gathered from a server, including user access history, role specific access information, and privilege access control in order to determine the risk in providing a user with access to a protected resource. The system of FIG. 2 may consider these types of user information in a cumulative fashion. For example, the user history may be considered first, and the authentication chain may be adapted to any changes in user behavior. However, any request for credentials sent via the authentication chain is based on the above three criteria being evaluated. Each criterion depends on the level of authentication security. The three criteria may be considered in any suitable order to evaluate the risk of providing the user with access to the protected resource.
  • Well known authentication criteria include required, requisite, sufficient, and optional. An authentication scheme which is marked with ‘required’ criteria means a user needs to succeed in authentication, and whether an authentication succeeds or fails, the process still continues down the authentication schemes in the chain for each realm. An authentication scheme which is marked with ‘requisite’ criteria means a user needs to get authenticated with all the authentication schemes in the chain in order to attain access to the protected resource; this is similar to ‘AND’ logic and failure of any authentication scheme in the chain will deny access to the protected resource. An authentication scheme which is marked with ‘sufficient’ criteria means: a user needs to get authenticated with at least one of the authentication schemes in the chain to attain access to the protected resource; this is similar to ‘OR’ logic and the failure of all authentication schemes configured in the chain will deny access to the protected resource. An authentication scheme which is marked with ‘optional’ criteria means user authentication is not required to succeed and whether an authentication succeeds or fails, the process still continues down the authentication chain list. In dynamically generating the authentication chain, the set of authentication schemes dynamically selected to be in the chain may be assigned particular criteria, such as the required, requisite, sufficient, and optional criteria discussed above, depending on the security or level of protection of a resource being accessed by a user.
  • In providing adaptive authentication chaining, risk of providing access to the resource may be assessed based on user history and other server side parameters. An efficiency authentication scheme for fallback/two-factor authentication may be identified based on user access history, role specific access configuration, and privilege access control system for delegated users. The process may adapt to re-challenge with stronger authentication schemes when a user is seeking to access highly sensitive resources. Possible responses from the system may include reject access to very sensitive realms or send ‘strong auth request’ from the list of authentication chaining.
  • An authentication scheme with its importance may be denoted Si. An authentication scheme that is allowed to fallback may be denoted Scf. Authentication schemes that are in fallback list may be denoted Sfl. A transaction (T) with result success may be denoted Ts, and with result failure may be denoted as Tf. Information about protection and significance level of a resource may be obtained. A system may then obtain details from a server regarding user access history, user role privileges, and delegated roles. This information may then be inputted to Decision Tree algorithm for classification, and thereby determine the resource sensitivity and whether the user has to be provided with access, denied access, or re-challenged. This information may be sufficient to adapt to the real-time protection of the resource.
  • The resource being accessed by a user and protected may be a URL or other application. The resource to be protected may be identified along with its significance level (Rs). An authentication scheme with its importance may be denoted Si. An authentication scheme that is allowed to fallback may be denoted Scf. Authentication schemes that are in fallback list may be denoted Sfl. A transaction (T) with result success may be denoted Ts, and with result failure may be denoted as Tf. Information about protection and significance level of a resource may be obtained. A system may then obtain details from a server regarding user access history, user role privileges, and delegated roles. This information may then be inputted to a Decision Tree or other algorithm for classification, and thereby determine the resource sensitivity and whether the user has to be provided with access, denied access, or re-challenged. This information may be sufficient to adapt to the real-time protection of the resource. The algorithm may be any suitable authentication algorithm, but the input parameters to the algorithm are server-side parameters, including user access history, user role privileges, and delegated roles.
  • FIG. 3 depicts an example of an adaptive authentication chaining system. A user 302 may request a resource. The request may be sent to a service provider 304. The service provider 304 may communicate with a store 306, such as a policy store, user store, or audit store. A server may compute a score or risk score using user access history, role specific configuration, and delegated user identity privileges. The server may adapt to the authentication scheme from the authentication chaining. The store 306 may respond with allow/reject/step up. The service provider 304 may send a response to user 302 of allow or reject or step up, along with the authentication scheme to be satisfied. The store 306 may be available to provide an authentication mechanism and verification.
  • Decision tree algorithms exist for classification of resources. A decision tree algorithm may have an input of decision tree and input database and an output of model prediction. Any suitable decision tree algorithm may be used. According to the present invention, the inputs to the decision tree may include server-side parameters, such as user access history, role specific access, privilege access control. For example,
  • Decision Tree Algorithm:
  • For each t belongs D do
  • n=root of T;
  • While n not leaf node do
  • Obtain answer to question on n applied t;
  • Identify arc from i which contains correct answer;
  • N=node at end of the arc;
  • Make prediction for t based on labeling of n.
  • Referring now to FIG. 4, a flow diagram of a process 400 for adaptive authentication chaining is depicted. At step 402, a request to access a resource is received by a server from a user. At step 404, a determination of whether the resource is protected is made. Determining whether the resource is protected may also include determining the level of protection or authentication security required for that particular resource (e.g., based on the resource's assigned significance level). In response to determining that the resource is protected, a dynamic authentication chain is generated at step 406. The dynamic authentication chain includes a plurality of authentication schemes and the schemes are arranged in a particular order in the chain. Both the plurality of schemes and the particular order are dynamically selected as the dynamic authentication chain is generated. In dynamically selecting the schemes and order of the chain, user access history, role specific access, privilege access control, or other server-side parameters may be evaluated. Each authentication scheme placed in the dynamic authentication chain may be assigned a particular criterion (e.g., required, requisite, sufficient, optional). The dynamic authentication chain may include any suitable number of authentication schemes with any suitable properties (e.g., required v. requisite, fallback, etc.) depending on the resource being accessed and the desired level of security defined by the user or the system for that resource.
  • At step 408, the user is challenged with the dynamic authentication chain. Challenging the user may involve receiving a user response to the schemes within the dynamic authentication chain, such as entering a password or entering a number from a disconnected token generator, or other suitable responses to an authentication scheme. The schemes are presented to the user in the order the schemes were dynamically arranged in the chain. The server receives a set of credentials from the user at step 410 based on the user's responses to the authentication schemes in the dynamic authentication chain. At step 412, a determination of whether the set of credentials satisfies the dynamic authentication chain is made. Whether the user credentials satisfy the chain depends on the criterion assigned to the schemes within the chain and the user's responses to the particular schemes (e.g., if a scheme within the chain has a ‘required’ criteria, then the failure of any authentication scheme in the chain will result in denying access). In response to determining that the set of credentials does satisfy the dynamic authentication chain, the user is authentication at step 414. Whether the set of credentials satisfies the dynamic authentication chain may depend on the particular criteria of the types of schemes and the order of the schemes within the chain, such as whether the schemes were assigned to be requisite, required, sufficient, or optional, as discussed above.
  • Referring now to FIG. 5, a flow diagram of a process 500 for adaptive authentication chaining is depicted. At step 502, a request from a user to access a resource is received. The server then determines whether the resource is protected at step 504. Determining whether the resource is protected may also include determining the level of protection or authentication security required for that particular resource. If the resource is not protected, the user is provided access to the resource at step 506. If the resource is protected, then in response to that determination, a dynamic authentication chain is generated at step 508. The dynamic authentication chain includes a plurality of authentication schemes and the schemes are arranged in a particular order in the chain. Both the plurality of schemes and the particular order are dynamically selected as the dynamic authentication chain is generated. In dynamically selecting the schemes and order of the chain, user access history, role specific access, privilege access control, or other server-side parameters may be evaluated. Each authentication scheme placed in the dynamic authentication chain may be assigned a particular criterion (e.g., required, requisite, sufficient, optional). The dynamic authentication chain may include any suitable number of authentication schemes with any suitable properties (e.g., required v. requisite, fallback, etc.) depending on the resource being accessed and the desired level of security defined by the user or the system for that resource.
  • At step 510, the user is challenged with the dynamic authentication chain. Challenging the user may involve receiving a user response to the schemes within the dynamic authentication chain, such as entering a password or entering a number from a disconnected token generator, or other suitable responses to an authentication scheme. The schemes are presented to the user in the order the schemes were dynamically arranged in the chain. A set of credentials from the user is received at step 512 based on the user's responses to the authentication schemes in the dynamic authentication chain. At step 514, the server determines whether the credentials satisfy the dynamic authentication chain. Whether the user credentials satisfy the chain depends on the criterion assigned to the schemes within the chain and the user's responses to the particular schemes (e.g., if a scheme within the chain has a ‘required’ criteria, then the failure of any authentication scheme in the chain will result in denying access). If the credentials do satisfy the dynamic authentication chain, the user is authenticated at step 516. If the credentials do not satisfy the dynamic authentication chain, the user is not authenticated and criteria are analyzed for failure at step 518. Whether the set of credentials satisfies the dynamic authentication chain may depend on the particular criteria of the types of schemes and the order of the schemes within the chain, such as whether the schemes were assigned to be requisite, required, sufficient, or optional, as discussed above. At step 520, the user may be re-challenged with additional authentication schemes. The re-challenging may be conducted in any suitable manner, including generating another dynamic authentication chain in the manner described above, but with stronger authentication schemes. The dynamic authentication chain may include any suitable number of authentication schemes with any suitable properties (e.g., required v. requisite, fallback, etc.) depending on the resource being accessed and the desired level of security defined by the user or the system for that resource.
  • The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various aspects of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
  • The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
  • The corresponding structures, materials, acts, and equivalents of any means or step plus function elements in the claims below are intended to include any disclosed structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The aspects of the disclosure herein were chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure with various modifications as are suited to the particular use contemplated.

Claims (20)

What is claimed is:
1. A method comprising:
receiving a request from a user to access a resource of a network;
determining whether the resource is protected;
in response to determining that the resource is protected, generating a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order;
challenging the user with the dynamic authentication chain;
receiving a set of credentials from the user based at least in part on the particular order of the dynamic authentication chain;
determining whether the set of credentials satisfies the dynamic authentication chain; and
authenticating the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
2. The method of claim 1, wherein generating the dynamic authentication chain comprises:
evaluating a plurality of source parameters of the user; and
dynamically selecting the plurality of authentication schemes to be included in the dynamic authentication chain.
3. The method of claim 2, wherein the plurality authentication schemes are dynamically selected from a pre-defined list of authentication schemes.
4. The method of claim 2, wherein generating the dynamic authentication chain further comprises:
dynamically selecting the particular order in which the plurality of authentication schemes are arranged in the dynamic authentication chain.
5. The method of claim 2, wherein the plurality of source parameters of the user comprises at least one of user access history, role specific access, or privilege access control.
6. The method of claim 1, further comprising analyzing criteria for failure and re-challenging the user based on a pre-defined list of authentication schemes in response to determining that the set of credentials fails to satisfy the dynamic authentication chain.
7. The method of claim 1, further comprising adapting to re-challenge the user with a stronger authentication scheme when a highly protected resource is being accessed.
8. A non-transitory computer-readable storage medium comprising computer-executable instructions carried on the computer-readable storage medium, the instructions readable by a processor and, when read and executed, configured to cause the processor to:
receive a request from a user to access a resource of a network;
determine whether the resource is protected;
in response to determining that the resource is protected, generate a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order;
challenge the user with the dynamic authentication chain;
receive a set of credentials from the user based at least in part on the particular order of the dynamic authentication chain;
determine whether the set of credentials satisfies the dynamic authentication chain; and
authenticate the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
9. The non-transitory computer-readable storage medium of claim 8, wherein the instruction readable by a processor and, when read and executed, configured to cause the processor to generate the dynamic authentication chain further comprises:
evaluate a plurality of source parameters of the user; and
dynamically select the plurality of authentication schemes to be included in the dynamic authentication chain.
10. The non-transitory computer-readable storage medium of claim 9, wherein the plurality authentication schemes are dynamically selected from a pre-defined list of authentication schemes.
11. The non-transitory computer-readable storage medium of claim 8, wherein the instruction readable by a processor and, when read and executed, configured to cause the processor to generate the dynamic authentication chain further comprises: dynamically select the particular order in which the plurality of authentication schemes are arranged in the dynamic authentication chain.
12. The non-transitory computer-readable storage medium of claim 8, wherein the plurality of source parameters of the user comprises at least one of user access history, role specific access, or privilege access control.
13. The non-transitory computer-readable storage medium of claim 8, wherein the instructions further comprise: analyze criteria for failure and re-challenging the user based on a pre-defined list of authentication schemes in response to determining that the set of credentials fail to satisfy the dynamic authentication chain.
14. The non-transitory computer-readable storage medium of claim 8, wherein the instructions further comprise: adapt to re-challenge the user with a stronger authentication scheme when a highly protected resource is being accessed.
15. A computer system comprising:
a server configured to:
receive a request from a user to access a resource of a network;
determine whether the resource is protected;
in response to determining that the resource is protected, generate a dynamic authentication chain comprising a plurality of authentication schemes arranged in a particular order;
challenge the user with the dynamic authentication chain;
receive a set of credentials from the user based at least in part on the order of the dynamic authentication chain;
determine whether the set of credentials satisfies the dynamic authentication chain; and
authenticate the user in response to determining that the set of credentials satisfies the dynamic authentication chain.
16. The computer system of claim 15, wherein generate the dynamic authentication chain comprises:
evaluate a plurality of source parameters of the user; and
dynamically select the plurality of authentication schemes to be included in the chain.
17. The computer system of claim 16, wherein the plurality authentication schemes are dynamically selected from a pre-defined list of authentication schemes.
18. The computer system of claim 15, wherein generate the dynamic authentication chain further comprises: dynamically select the particular order in which the plurality of authentication schemes are arranged in the chain.
19. The computer system of claim 15, wherein the plurality of source parameters of the user comprises at least one of user access history, role specific access, or privilege access control.
20. The computer system of claim 15, further comprising analyze criteria for failure and re-challenging the user based on a pre-defined list of authentication schemes in response to determining that the set of credentials fails to satisfy the dynamic authentication chain.
US15/725,536 2017-10-05 2017-10-05 Adaptive selection of authentication schemes in MFA Active 2038-02-13 US11057362B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/725,536 US11057362B2 (en) 2017-10-05 2017-10-05 Adaptive selection of authentication schemes in MFA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/725,536 US11057362B2 (en) 2017-10-05 2017-10-05 Adaptive selection of authentication schemes in MFA

Publications (2)

Publication Number Publication Date
US20190109833A1 true US20190109833A1 (en) 2019-04-11
US11057362B2 US11057362B2 (en) 2021-07-06

Family

ID=65993623

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/725,536 Active 2038-02-13 US11057362B2 (en) 2017-10-05 2017-10-05 Adaptive selection of authentication schemes in MFA

Country Status (1)

Country Link
US (1) US11057362B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111010368A (en) * 2019-11-11 2020-04-14 泰康保险集团股份有限公司 Authority authentication method, device and medium based on authentication chain and electronic equipment
CN113660211A (en) * 2021-07-22 2021-11-16 深圳竹云科技有限公司 Authentication security policy execution method and device and computing equipment
US11265310B2 (en) * 2017-10-19 2022-03-01 Microsoft Technology Licensing, Llc Isolating networks and credentials using on-demand port forwarding
US20240249211A1 (en) * 2023-01-20 2024-07-25 Dell Products, L.P. Distributed orchestration using delegate workspaces
EP4285249A4 (en) * 2021-01-28 2025-01-22 Msp Solutions Group Llc User management system for computing support

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277421B2 (en) * 2018-02-20 2022-03-15 Citrix Systems, Inc. Systems and methods for detecting and thwarting attacks on an IT environment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090193514A1 (en) * 2008-01-25 2009-07-30 Research In Motion Limited Method, system and mobile device employing enhanced user authentication
US20150381621A1 (en) * 2014-06-27 2015-12-31 Citrix Systems, Inc. Enterprise Authentication Via Third Party Authentication Support
US20170063931A1 (en) * 2015-08-28 2017-03-02 Convida Wireless, Llc Service Layer Dynamic Authorization
US20180007049A1 (en) * 2016-06-30 2018-01-04 Yahoo! Inc. Computerized systems and methods for authenticating users on a network device via dynamically allocated authenticating state machines hosted on a computer network
US20180265095A1 (en) * 2017-03-16 2018-09-20 Qualcomm Incorporated Safe driving support via automotive hub
US20180367526A1 (en) * 2017-06-19 2018-12-20 Citrix Systems, Inc. Systems and methods for dynamic flexible authentication in a cloud service

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2010326248B2 (en) * 2009-11-25 2015-08-27 Security First Corp. Systems and methods for securing data in motion
CN103038750A (en) * 2010-03-31 2013-04-10 安全第一公司 Systems and methods for securing data in motion
CN103155509B (en) * 2010-08-04 2016-10-26 黑莓有限公司 For the method and apparatus providing continuous certification based on dynamic personal information
US9531758B2 (en) * 2011-03-18 2016-12-27 Zscaler, Inc. Dynamic user identification and policy enforcement in cloud-based secure web gateways
US20150113602A1 (en) * 2012-05-08 2015-04-23 Serentic Ltd. Method and system for authentication of communication and operation
EP2747366A1 (en) * 2012-12-24 2014-06-25 British Telecommunications public limited company Client/server access authentication
CN105431843A (en) * 2013-07-05 2016-03-23 林仲宇 Use communication device identification code as network identity verification
US10454974B2 (en) * 2015-06-29 2019-10-22 Citrix Systems, Inc. Systems and methods for flexible, extensible authentication subsystem that enabled enhance security for applications
US20170237727A1 (en) * 2016-02-15 2017-08-17 Rohit Kapoor System and method for a single field based authentication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090193514A1 (en) * 2008-01-25 2009-07-30 Research In Motion Limited Method, system and mobile device employing enhanced user authentication
US20150381621A1 (en) * 2014-06-27 2015-12-31 Citrix Systems, Inc. Enterprise Authentication Via Third Party Authentication Support
US20170063931A1 (en) * 2015-08-28 2017-03-02 Convida Wireless, Llc Service Layer Dynamic Authorization
US20180007049A1 (en) * 2016-06-30 2018-01-04 Yahoo! Inc. Computerized systems and methods for authenticating users on a network device via dynamically allocated authenticating state machines hosted on a computer network
US20180265095A1 (en) * 2017-03-16 2018-09-20 Qualcomm Incorporated Safe driving support via automotive hub
US20180367526A1 (en) * 2017-06-19 2018-12-20 Citrix Systems, Inc. Systems and methods for dynamic flexible authentication in a cloud service

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11265310B2 (en) * 2017-10-19 2022-03-01 Microsoft Technology Licensing, Llc Isolating networks and credentials using on-demand port forwarding
US20220217129A1 (en) * 2017-10-19 2022-07-07 Microsoft Technology Licensing, Llc Isolating networks and credentials using on-demand port forwarding
US11916897B2 (en) * 2017-10-19 2024-02-27 Microsoft Technology Licensing, Llc Isolating networks and credentials using on-demand port forwarding
CN111010368A (en) * 2019-11-11 2020-04-14 泰康保险集团股份有限公司 Authority authentication method, device and medium based on authentication chain and electronic equipment
EP4285249A4 (en) * 2021-01-28 2025-01-22 Msp Solutions Group Llc User management system for computing support
US12301585B2 (en) 2021-01-28 2025-05-13 MSP Solutions Group, LLC User management system for computing support
CN113660211A (en) * 2021-07-22 2021-11-16 深圳竹云科技有限公司 Authentication security policy execution method and device and computing equipment
US20240249211A1 (en) * 2023-01-20 2024-07-25 Dell Products, L.P. Distributed orchestration using delegate workspaces

Also Published As

Publication number Publication date
US11057362B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
US11057362B2 (en) Adaptive selection of authentication schemes in MFA
Uddin et al. A dynamic access control model using authorising workflow and task-role-based access control
US10892894B2 (en) Identity verification using biometric data and non-invertible functions via a blockchain
US20180330103A1 (en) Automatic Generation of Data-Centric Attack Graphs
US10623402B2 (en) Enhanced security authentication system
US11140194B2 (en) Measuring and comparing security efficiency and importance in virtualized environments
US9069976B2 (en) Risk adjusted, multifactor authentication
US11533330B2 (en) Determining risk metrics for access requests in network environments using multivariate modeling
US10069842B1 (en) Secure resource access based on psychometrics
US9225744B1 (en) Constrained credentialed impersonation
US20160078203A1 (en) Continuous Monitoring of Access of Computing Resources
US10691822B1 (en) Policy validation management
US10044698B2 (en) Dynamic identity checking for a software service in a virtual machine
US20110265162A1 (en) Holistic risk-based identity establishment for eligibility determinations in context of an application
US12155692B2 (en) Distributed endpoint security architecture enabled by artificial intelligence
KR101591910B1 (en) Apparatus and method for evaluating security risks in cloud computing and method of recommendation about cloud service provider using result of evaluation of security risks
US20230370473A1 (en) Policy scope management
US20170289269A1 (en) Delegating a reverse proxy session to its instantiating portlet session
US11139975B2 (en) Authentication in non-secure communication channels via secure out-of-bands channels
US20190057210A1 (en) User details based password policy
US11257061B2 (en) Performing transactions when device has low battery
US9762584B2 (en) Identity management system
US20210203663A1 (en) Systems and methods for data driven infrastructure access control
US11483355B1 (en) System and methods for agentless managed device identification as part of setting a security policy for a device
US20160134608A1 (en) Nodal random authentication

Legal Events

Date Code Title Description
AS Assignment

Owner name: CA, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KARUKURI, VENKATA SWAMY;SEGU, MURALI KRISHNA;REEL/FRAME:044129/0254

Effective date: 20171004

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

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

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

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

Free format text: NON FINAL ACTION MAILED

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

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

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

Free format text: FINAL REJECTION MAILED

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

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

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

Free format text: NON FINAL ACTION MAILED

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

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

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

Free format text: FINAL REJECTION MAILED

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

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

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

Free format text: ADVISORY ACTION MAILED

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

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

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

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

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

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED

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

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4