Method and system to autonomously authenticate and validate users using a node server and database
A node server for autonomously authenticating a user is disclosed that comprises a node database for storing authentication data associated with the user and an authentication SDK configured to perform authentication using data from the node database. The node server also includes a node API for creating and maintaining the node server and for routing payment to a cloud service that is hosting the node server. A communication interface is configured to process communication with a user device, such that the user device is executing software associated with a user account. An access module is configured to permanently and irrevocably prevent access from external servers or devices not associated with a user account, after creation and activation of the node server.
1 . A node server for autonomously authenticating a user comprising:
a node database for storing authentication data associated with the user having a user account;
an authentication software development kit configured to perform authentication such that the authentication comprises, during an authentication session;
during the authentication session, capturing a first image of a face of the user with a camera, with the camera located a first distance from the user;
during the same authentication session, capturing a second image of the face of the user's with the camera at a second distance from the user, such that the first distance is different than the second distance; and
comparing one or more aspects of the first image to one or more aspects of the second image to evaluate liveness, three-dimensionality, or both of the user, wherein the aspects comprise expected differences resulting from the first image or the second image being captured at different distances from the user;
if the comparing determines that the user captured in the first image and the second image is not live and three-dimensional, then terminating the authentication session;
if the comparing determines that the user captured in the first image and the second image is live and three-dimensional, then continuing with the authentication session;
a node application programming interface for creating and maintaining the node server and for routing payment to a cloud service that is hosting the node server;
a communication interface configured to process communication with a user device, the user device executing software associated with a user account; and
an access module configured to permanently and irrevocably prevent access from external servers or devices that are not associated with a user account with associated authentication data, after creation and activation of the node server to thereby prevent access to the node server to anyone other than users, with a user account, that are using the node server for authentication.
2 . The server of claim 1 wherein the authentication data includes biometric data regarding a user, the biometric data comprising data that can be used to identify the user.
3 . The server of claim 1 wherein the payment is provided to the cloud service to autonomously maintain hosting of the node server.
4 . The server of claim 1 wherein the access module configured to permanently and irrevocably prevent access is configured to, after creation and activation of the node server, permanently delete software that was used to allow access from external servers not identified as a user account.
5 . The server of claim 1 wherein the access module is configured to allow outgoing communication with external servers after creation and activation of the node server while preventing access from non-users of the node server for authentication.
6 . A method for creating and operating an autonomously node server comprising:
communicating with a cloud service server to create and host a node server;
generating an access code to the node server;
with a client-server, using the access code, to set up the node server to establish the node server based on node server settings from the client server;
activating the node server, wherein activating the node server permanently disables access from the client server; and
operating the node server autonomously, without any access from the client server, by allowing access from user devices associated with a user account but not from the client server due to the permanently disabled access, wherein the node server is configured to perform authentication of a user, and the authentication session comprises:
receiving, at the node server, a first image captured with a camera located at a first distance from the user, wherein the first image is captured during the authentication session;
receiving, at the node server, a second image captured with a camera located at a second distance from the user, wherein the first distance is different than the second distance and the second image is captured during the authentication session;
processing the first image to create first biometric data;
processing the second image to create second biometric data; and
comparing one or more aspects of the first biometric data to the second biometric data to determine if expected differences exist between the first biometric data and the second biometric data due to the capture of the first image at a different distance from the user than the second image, as part of a liveness evaluation.
7 . The method of claim 6 further comprising establishing an automatic payment from the node server to the cloud service server or pre-paying for the cloud service server at the time of creation of the node server to ensure continuity of hosting of the node server by the cloud service server even after the node server is permanently disabled from being accessed from the client server.
8 . The method of claim 6 wherein permanently disabling access from the client server comprises deleting software code that enabled access by the client server.
9 . The method of claim 6 further comprising, after a predetermined lifespan of the node server:
creating a second node server;
generating a second access code to the second node server;
with a client server, using the second access code, setting up the second node server to establish the second node server using second node server settings;
migrating user data from the node server to the second node server;
activating the second node server, wherein activating the second node server permanently disables operation of the node server and permanently preventing access from the client server; and
operating the second node server autonomously, without any access from the client server, by allowing access from user devices associated with a user account.
10 . The method of claim 6 wherein permanently disabling access from the client server comprises permanently disabling the access code.