Persistent authentication system incorporating one time pass codes
AssigneeHaventec Pty Ltd
InventorRic B. Richardson
Life of this patent
Estimating the term…
Abstract
A method of maintaining ongoing authentication of a user of an application without the need to enter and re-enter a username and a corresponding password for each session initiated between a client side application residing on a client side platform and a server; and wherein the password is not stored on the server; the method comprising utilising an unbroken chain of one-time pass codes; each pass code in the chain being unique to the username and client side application; each pass code renewed periodically and preferably at least once during each said session.
Claims24
A method of maintaining ongoing authentication between a server and a user of a client side application residing on a client side platform, the method comprising the following steps:
- step a:
- connecting, by the client side platform, to the server that is known to use persistent one time pass codes;
- step b:
- establishing, by the client side platform and the sever, a current secure session using a secure socket layer (SSL) or a transport layer security (TLS);
- step c:
- retrieving, by the client side platform, a current key pair that was generated in a previous session and a unique user ID associated with the user;
- step d:
- providing, by the client side platform, the unique user ID and a current client public key of the current key pair to the server;
- step e:
- retrieving, by the server, a previously stored client public key by searching a user database using the unique user ID;
- step f:
- comparing, by the server, the retrieved previously stored client public key with the current client public key received from the client, wherein authentication is enabled between the client side platform and the server when the retrieved previously stored client public key and the current client public key match for the current secure session;
- step g:
- requesting, by the server, that the client side platform or the server generate a next key pair;
- step h:
- generating, by the client side platform or the server, the next key pair that is securely stored at the client for use in a next session, wherein a corresponding client side private key is not stored on the server;
- step i:
- sharing, between the client side platform and the server, a next client public key of the next key pair for use in the next session;
- step j:
- storing, by the server, the next client public key in the user database in association with the unique user ID;
- step k:
- maintaining ongoing communication between the client and the server utilizing the current key pair and a server key pair until the current secure session is terminated or times out;
- step l:
- replacing, by the client side platform, the current key pair with the next key pair;
- and
- repeating the steps a through l for each next session to perpetuate a secure connection between the client side platform and the server over multiple and ongoing sessions without requiring the user to enter and re-enter a username and corresponding password for each session, whereby an unbroken chain of current client public keys are generated and maintained persistent until replaced by the next client public key.
A system of maintaining ongoing authentication between a server and a user of a client side application residing on a client side platform having a processor and a memory, wherein the system is configured to perform the following steps:
- step a:
- connecting, by the client side platform, to the server that is known to use persistent one time pass codes;
- step b:
- establishing, by the client side platform and the sever, a current secure session using a secure socket layer (SSL) or a transport layer security (TLS);
- step c:
- retrieving, by the client side platform, a current key pair that was generated in a previous session and a unique user ID associated with the user;
- step d:
- providing, by the client side platform, the unique user ID and a current client public key of the current key pair to the server;
- step e:
- retrieving, by the server, a previously stored client public key by searching a user database using the unique user ID;
- step f:
- comparing, by the server, the retrieved previously stored client public key with the current client public key received from the client, wherein authentication is enabled between the client side platform and the server when the retrieved previously stored client public key and the current client public key match for the current secure session;
- step g:
- requesting, by the server, that the client side platform or the server generate a next key pair;
- step h:
- generating, by the client side platform or the server, the next key pair that is securely stored at the client for use in a next session, wherein a corresponding client side private key is not stored on the server;
- step i:
- sharing, between the client side platform and the server, a next client public key of the next key pair for use in the next session;
- step j:
- storing, by the server, the next client public key in the user database in association with the unique user ID;
- step k:
- maintaining ongoing communication between the client and the server utilizing the current key pair and a server key pair until the current secure session is terminated or times out;
- step l:
- replacing, by the client side platform, the current key pair with the next key pair;
- and
- repeating the steps a through l for each next session to perpetuate a secure connection between the client side platform and the server over multiple and ongoing sessions without requiring the user to enter and re-enter a username and corresponding password for each session, whereby an unbroken chain of current client public keys are generated and maintained persistent until replaced by the next client public key.
Dependencies are inferred from the claim text.