SYSTEM AND METHOD FOR MANAGING AUTHENTICATION SERVICES
20230017314 · 2023-01-19
Inventors
Cpc classification
G06F21/45
PHYSICS
G06F21/105
PHYSICS
G06F21/123
PHYSICS
G06F21/34
PHYSICS
International classification
Abstract
There is disclosed a method of providing an authentication service, wherein: i) a plurality of authentication virtual appliances is deployed in a distributed network by way of an authentication management platform application; ii) a pool of authentication licences is allocated to the authentication management platform application, each licence comprising computer code permitting an end user to authenticate his/her identity to at least one authentication virtual appliance by way of a predetermined computer-implemented authentication protocol; and iii) the management platform application allocates, revoke and reallocate authentication licences, from the pool of authentication licences, to end users by way of a graphical user interface.
Claims
1. A method of managing hardware tokens in an authentication service, wherein: at least one hardware token comprising a securely stored seed and a token identifier is provided by a service provider; the service provider associates the seed of the hardware token with the token identifier of the hardware token on a secure server operated by the service provider; the service provider makes the hardware token and the token identifier available to a customer; and the customer assigns the hardware token to an end user and operates an authentication server in which the token identifier is associated with the identity of the end user to whom the hardware token is assigned; wherein the seed of the hardware token is securely made available to the customer's authentication server by the service provider's server for association with the token identifier without being accessible by the customer or the end user; and wherein the authentication server authenticates the identity of the end user to the customer by way of a cryptographic challenge based on the seed of the hardware token.
2. A method according to claim 1, wherein the seed of the hardware token is stored on a secure partition on the authentication server that is not accessible by the customer.
3. A method according to claim 1, wherein the cryptographic challenge is a time-based one-time password, TOTP, challenge.
4. A method according to claim 1, wherein the cryptographic challenge is a hash-based message authentication code one-time password, HOTP, challenge.
5. A system for managing hardware tokens in an authentication service, the system comprising: at least one hardware token comprising a securely stored seed and a token identifier; a secure server operating by a service provider; and an authentication server operated by a customer; wherein the secure server is configured to associate the seed of the hardware token with the token identifier of the hardware token; wherein the authentication server is configured to associate the token identifier with an identity of an end user to whom the hardware token is assigned; wherein the authentication server is configured to receive the seed of the hardware token securely from the secure server and to associate the seed with the token identifier on the authentication server without the seed being accessible to the customer or the end user; and wherein the authentication server is configured to authenticate the identity of the end user to the customer by way of a cryptographic challenge based on the seed of the hardware token.
6. A system as claimed in claim 5, wherein the authentication server is configured to store the seed of the hardware token on a secure partition that is not accessible by the customer.
7. A system as claimed in claim 5 or 6, wherein the cryptographic challenge is a time-based one-time password, TOTP, challenge.
8. A system as claimed in claim 5 or 6, wherein the cryptographic challenge is a hash-based message authentication code one-time password, HOTP, challenge.
9. An authentication server of a system for managing hardware tokens in an authentication service, wherein: the authentication server is operated by a customer of a service provider; the authentication server is configured to associate a token identifier of a hardware token with an identify of an end user to whom the hardware token is assigned; the authentication server is configured to receive a seed of the hardware token from a secure server operated by the service provider and to associate the seed of the hardware token with the token identifier of the hardware token without permitting access to the seed by the customer or the end user; and the authentication server is configured to authenticate the identity of the end user to the customer by way of a cryptographic challenge based on the seed of the hardware token.
10. An authentication server as claimed in claim 9, wherein the authentication server is configured to store the seed of the hardware token on a secure partition that is not accessible by the customer.
11. An authentication server as claimed in claim 9, wherein the cryptographic challenge is a time-based one-time password, TOTP, challenge.
12. An authentication server as claimed in claim 9, wherein the cryptographic challenge is a hash-based message authentication code one-time password, HOTP, challenge.
13. A method of providing an authentication service, wherein: i) a plurality of authentication virtual appliances is deployed in a distributed network by way of an authentication management platform application; ii) a pool of authentication licences is allocated to the authentication management platform application, each licence comprising computer code permitting an end user to authenticate his/her identity to at least one authentication virtual appliance by way of a predetermined computer-implemented authentication protocol; and iii) the management platform application allocates, revoke and reallocate authentication licences, from the pool of authentication licences, to end users by way of a graphical user interface.
14. A computer-implemented authentication management platform application configured for implementation in a distributed network in which is deployed a plurality of authentication virtual appliances, wherein a pool of authentication licences is allocated to the authentication management platform application, each licence comprising computer code permitting an end user to authenticate his/her identity to at least one authentication virtual appliance by way of a predetermined computer-implemented authentication protocol; and wherein the management platform application is configured to allocate, revoke and reallocate authentication licences, from the pool of authentication licences, to end users by way of a graphical user interface.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0075] Embodiments of the invention are further described hereinafter with reference to the accompanying drawings, in which:
[0076]
[0077]
[0078]
DETAILED DESCRIPTION
[0079]
[0080] The second layer 3 may, for example, be implemented an industry-standard authentication and access-control framework for secure I/O scrutiny, such as provided by Spring Security from Pivotal Software, Inc.
[0081] If the requests are passed as “clear” by the framework security scrutiny in the second layer 3, they are passed to a controller layer 4. The controller layer 4 is responsible for controlling business logic values and IAM (Identity and Access Management) validation. The prime function is to verify who is changing what, where any changes are being made, and if the changes are acceptable.
[0082] Once a request has cleared the controller layer 4, the request passes to a services layer 5, which may implement real “business logic” or “use case logic”.
[0083] The services layer 5 can delegate data persistency on a repository layer 6 and on an API (Application Program Interface) layer 7. The API layer 7 may provide an interaction dashboard to allow different APIs to be called as required, such as CMI (Content Management Interface) layer 8, an ASP.NET Core layer 9, and an SSO (Single Sign-On) layer 10. The repository layer 6 has access to a database 11, for example by way of JDBC (Java Database Connectivity).
[0084] The services layer 5 also has access to a utility layer 12 comprising appropriate reusable software tools.
[0085]
[0086]
[0087] The secure server 31 is secured behind a firewall 311 or other security measures, and includes a database 39 in which a plurality of hardware token seeds 32 is associated with a corresponding plurality of hardware token identifiers 33 in one-to-one relation. The database 39 may be subdivided into separate databases for different customers.
[0088] The authentication server 34 is operated by the customer, and receives the seeds and the token identifiers securely from the secure server 31 by way of a secure link 312. The seeds 32′ received from the secure server 31 are held in a secure partition 310 of the authentication server 34 and are not accessible by the customer. The token identifiers 33′ received from the secure server 31 are accessible by the customer so as to allow the customer to assign tokens 36 to individual end users. Although the seeds 32′ are not accessible by the customer, they are stored in one-to-one relation with the token identifiers 33′. The authentication server 34 includes a processor 35 running a predetermined cryptographic algorithm configured to generate pseudorandom numbers on the basis of the seeds 32′ and other parameters as appropriate.
[0089] The hardware token 36 (in practice, there will be a plurality of hardware tokens 36 issued to a corresponding plurality of end users) is a small electronic device programmed on manufacture with a seed 32″ and a token identifier 33″, which may conveniently be stored in ROM. The hardware token 36 further comprises a processor 35′ running the same cryptographic algorithm as the processor 35 of the authentication server 34. The hardware token 36 includes an activation button 38 that, when pressed, causes the processor 35′ to generate a pseudorandom number by way of the cryptographic algorithm on the basis of the seed 32″ and to display the pseudorandom number on a display 37.
[0090] In order for an end user to authenticate himself/herself to the customer, a typical two-factor authentication process may be employed. The end user operates a client device 314 (for example, a PC or tablet or mobile handset) that communicates with the authentication server 34 by way of a link 313, which may be by way of the Internet. For example, the end user may navigate to a secure log in page on the Web, where the end user enters a user ID and (optionally) a password. This represents a first factor of a two-factor authentication process, and lets the authentication server know that a particular end user wishes to gain access. The authentication server 34 then requests the end user to generate a pseudorandom number using the hardware token 37 as previously described and to enter the pseudorandom number on the client device 314. The pseudorandom number entered by the end user is then transmitted to the authentication server 34. The authentication server 34 already knows the token identifier 33′ of the hardware token 36 that has been assigned to the authorised end user, and hence knows the seed 32′ of the hardware token 36. Accordingly, the processor 35 of the authentication server 34 can run the same cryptographic algorithm as that run by the processor 35′ of the hardware token 36, using the same seed 32′ and other relevant parameters (such as time or count), to generate a pseudorandom number (or selection of pseudorandom numbers). If there is a match between the pseudorandom number generated by the hardware token 36 and entered by the end user on the client device 314 and the pseudorandom number(s) generated by the authentication server 34, the identity of the end user is verified. This is the second factor in the two-factor authentication process.
[0091] The hardware token 36 can take forms other than that shown in the specific example of
[0092] The processor 35′ of the hardware token 36 and the processor 35 of the authentication server 34 may use TOTP or HOTP or other seed-based protocols.
[0093] Throughout the description and claims of this specification, the words “comprise” and “contain” and variations of them mean “including but not limited to”, and they are not intended to (and do not) exclude other moieties, additives, components, integers or steps. Throughout the description and claims of this specification, the singular encompasses the plural unless the context otherwise requires. In particular, where the indefinite article is used, the specification is to be understood as contemplating plurality as well as singularity, unless the context requires otherwise.
[0094] Features, integers, characteristics, compounds, chemical moieties or groups described in conjunction with a particular aspect, embodiment or example of the invention are to be understood to be applicable to any other aspect, embodiment or example described herein unless incompatible therewith. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive. The invention is not restricted to the details of any foregoing embodiments. The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.
[0095] The reader's attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.