Biometric multi-factor authentication
A system and method for providing multi-factor authentication using biometric data collected from a wearable. A disclosed method includes: receiving an authentication request for a user to access a resource via a client device; fetching a stored heartrate-voice (HRV) profile of the user; obtaining current heart data of the user from a wearable; obtaining a current voice sample of the user from the wearable or the client device; comparing the current heart data and current voice sample with the HRV profile; and authenticating the user in response to a match between the current heart data and current voice sample with the HRV profile.
1 . A system, comprising:
a memory; and
a processor coupled to the memory and configured to perform multi-factor authentication (MFA) according to a process that includes:
receiving an authentication request for a user to access a resource via a client device;
fetching a stored heartrate-voice (HRV) profile of the user;
obtaining current heart data of the user from a wearable device;
obtaining a current voice sample of the user from the wearable device or from the client device;
generating a biometric vector based on the current heart data and the current voice sample;
comparing the biometric vector with the stored HRV profile; and
authenticating the user in response to a threshold being satisfied between the biometric vector with the stored HR V profile;
wherein the threshold is determined by (N %+M %)/2>95%, where the current heart rate is within N % and a voice match probability is M %.
2 . The system of claim 1 , wherein the authentication request includes first collecting a username and password from the user as a first authentication factor.
3 . The system of claim 1 , wherein the HRV profile is created during an initial registration process in which target heart data is obtained from the wearable and voice samples are obtained via the wearable or other device.
4 . The system of claim 1 , wherein the heart data includes at least one of a heart rate, an electrocardiogram signal, or a heart rhythm.
5 . The system of claim 1 , wherein the process further includes using a fallback MFA agent in response to the obtained heart data and voice sample not matching the HRV profile.
6 . The system of claim 5 , wherein in response to the fallback MFA agent successfully authenticating the use, updating the HRV profile with the current heart data and voice sample.
7 . The system of claim 1 , wherein obtaining a voice sample of the user includes randomly generating and outputting a word from a dictionary for the user to utter as the voice sample.
8 . The system of claim 7 , wherein the word is output to the user:
as an audio from the wearable if the wearable has audio output capability; or
as a visual display from the wearable if the wearable has no audio output capability and the wearable has visual display capability.
9 . The system of claim 1 , wherein the HRV profile comprises a machine learning model that is trained with the current heart data and voice sample obtained during each successful authentication.
10 . A method of performing multi-factor authentication (MFA), comprising:
receiving an authentication request for a user to access a resource via a client device;
fetching a stored heartrate-voice (HRV) profile of the user;
obtaining current heart data of the user from a wearable device;
obtaining a current voice sample of the user from the wearable device or from the client device;
generating a biometric vector based on the current heart data and the current voice sample;
comparing the biometric vector with the stored HRV profile; and
authenticating the user in response to a threshold being satisfied between the biometric vector with the stored HRV profile;
wherein the threshold is determined by (N %+M %)/2>95%, where the current heart rate is within N % and a voice match probability is M %.
11 . The method of claim 10 , wherein the authentication request includes first collecting a username and password from the user as a first authentication factor.
12 . The method of claim 10 , wherein the HRV profile is created during an initial registration process in which target heart data is obtained from the wearable and voice samples are obtained via the wearable or other device.
13 . The method of claim 10 , wherein the heart data includes at least one of a heart rate, an electrocardiogram signal, or a heart rhythm.
14 . The method of claim 10 , wherein the process further includes using a fallback MFA agent in response to the obtained heart data and voice sample not matching the HRV profile.
15 . The method of claim 14 , wherein in response to the fallback MFA agent successfully authenticating the use, updating the HRV profile with the current heart data and voice sample.
16 . The method of claim 10 , wherein obtaining a voice sample of the user includes randomly generating and outputting a word from a dictionary for the user to utter as the voice sample.
17 . The method of claim 16 , wherein the word is output to the user:
as an audio from the wearable if the wearable has audio output capability; or
as a visual display from the wearable if the wearable has no audio output capability and the wearable has visual display capability.
18 . The method of claim 10 , wherein the HRV profile comprises a machine learning model that is trained with the current heart data and voice sample obtained during each successful authentication.
19 . A method of performing multi-factor authentication (MFA) comprising:
receiving an authentication request for a user to access a resource via a client device, wherein the server executes the request on a virtual machine;
fetching a stored heartrate-voice (HRV) profile of the user;
obtaining current heart data of the user from a wearable device;
obtaining a current voice sample of the user from the wearable device or from the client device;
generating a biometric vector based on the current heart data and the current voice sample;
comparing the biometric vector with the stored HRV profile; and
authenticating access to the virtual resource by the user in response to a threshold being satisfied between the biometric vector with the stored HRV profile;
wherein the threshold to be met is determined by (N %+M %)/2>95%, where the current heart rate is within N % and a voice match probability is M %.