Techniques for verifying user identities during computer-mediated interactions
Techniques are disclosed herein for verifying user identities. The techniques include generating one or more features based on at least one of video data or audio data generated during a computer-mediated interaction between a plurality of users in which a first user included in the plurality of users is represented by an avatar, and verifying an identity of the first user based on the one or more features that are generated and one or more features associated with the first user.
1 . A computer-implemented method for verifying user identities, the method comprising:
generating a plurality of first features associated with a first user based on video data generated during a computer-mediated interaction between a plurality of users in which the first user included in the plurality of users is represented by an avatar, wherein the plurality of first features is generated based on tracking one or more movements of the first user over time using the video data; and
verifying an identity of the first user based on the plurality of first features and a prior version of the plurality of first features that is extracted from video data generated during at least one prior computer-mediated interaction associated with the first user and is generated based on tracking one or more prior movements of the first user, by:
generating a first hash value based on the one or more movements of the first user, wherein the first hash value uniquely identifies the plurality of first features and includes less data than the plurality of first features,
appending auxiliary information to the first hash value to generate a combined data structure, the auxiliary information comprising a geographic location associated with a computing device used by the first user when the computer-mediated interaction occurs,
encrypting the combined data structure to generate a first fingerprint, and
comparing the first fingerprint with a second fingerprint, wherein the second fingerprint uniquely identifies the prior version of the plurality of first features associated with the first user and is generated based on the one or more prior movements of the first user.
2 . The computer-implemented method of claim 1 , wherein verifying the identity of the first user comprises computing at least one of a distance or a loss based on the plurality of first features and the prior version of the plurality of first features associated with the first user.
3 . The computer-implemented method of claim 1 , wherein the avatar is controlled based on at least one of the video data or audio data during the computer-mediated interaction.
4 . The computer-implemented method of claim 1 , wherein generating the plurality of first features comprises performing one or more operations to generate the plurality of first features based on the avatar.
5 . The computer-implemented method of claim 1 , wherein the identity of the first user is further verified based on at least one of information associated with a computing device belonging to the first user, information associated with a sensor used to acquire the video data or audio data, or a geographical location.
6 . The computer-implemented method of claim 1 , further comprising:
receiving at least one of the video data or audio data from a first client application; and
transmitting a notification to a second client application indicating whether the identity of the first user has been verified.
7 . The computer-implemented method of claim 1 , further comprising:
receiving at least one of the video data or audio data from a first client application;
generating an avatar representation of the first user based on the at least one of the video data or the audio data; and
in response to verifying the identity of the first user, transmitting the avatar representation of the first user to a second client application.
8 . The computer-implemented method of claim 1 , wherein each of the plurality of first features and the prior version of the plurality of first features associated with the first user includes at least one of an image feature, a video feature, a face performance tracking feature, or an audio feature.
9 . The computer-implemented method of claim 1 , wherein the step of generating the plurality of first features is performed by an application running on either a client computing device or a server computing device.
10 . The computer-implemented method of claim 1 , wherein the prior version of the plurality of first features is generated based on one or more prior computer-mediated interactions associated with the first user, and the second fingerprint includes less data than the prior version of the plurality of first features.
11 . The computer-implemented method of claim 1 , wherein the auxiliary information further includes one or more cryptographic signatures generated by at least one of a camera or a microphone associated with the computing device.
12 . One or more non-transitory computer-readable media storing program instructions that, when executed by at least one processor, cause the at least one processor to perform the steps of:
generating a plurality of first features associated with a first user based on video data generated during a computer-mediated interaction between a plurality of users in which the first user included in the plurality of users is represented by an avatar, wherein the plurality of first features is generated based on tracking one or more movements of the first user over time using the video data; and
verifying an identity of the first user based on the plurality of first features and a prior version of the plurality of first features that is extracted from video data generated during at least one prior computer-mediated interaction associated with the first user and is generated based on tracking one or more prior movements of the first user, by:
generating a first hash value based on the one or more movements of the first user, wherein the first hash value uniquely identifies the plurality of first features and includes less data than the plurality of first features,
appending auxiliary information to the first hash value to generate a combined data structure, the auxiliary information comprising a geographic location associated with a computing device used by the first user when the computer-mediated interaction occurs,
encrypting the combined data structure to generate a first fingerprint, and
comparing the first fingerprint with a second fingerprint, wherein the second fingerprint uniquely identifies the prior version of the plurality of first features associated with the first user and is generated based on the one or more prior movements of the first user.
13 . The one or more non-transitory computer-readable media of claim 12 , wherein verifying the identity of the first user comprises computing at least one of a distance or a loss based on the plurality of first features and the prior version of the plurality of first features associated with the first user.
14 . The one or more non-transitory computer-readable media of claim 12 , wherein the avatar is driven based on at least one of the video data or audio data during the computer-mediated interaction.
15 . The one or more non-transitory computer-readable media of claim 12 , wherein the identity of the first user is further verified based on at least one of information associated with a computing device belonging to the first user, information associated with a sensor used to acquire the video data or audio data, or a geographical location.
16 . The one or more non-transitory computer-readable media of claim 12 , wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the steps of:
receiving at least one of the video data or audio data from a first client application; and
transmitting a notification to a second client application indicating whether the identity of the first user has been verified.
17 . The one or more non-transitory computer-readable media of claim 12 , wherein the identity of the first user is verified either continuously or periodically.
18 . The one or more non-transitory computer-readable media of claim 12 , wherein the step of generating the plurality of first features is performed by a first application running on a client computing device, and the step of verifying the identity of the first user is performed by a second application running on a server computing device.
19 . The one or more non-transitory computer-readable media of claim 12 , wherein the step of generating the plurality of first features is performed by a first application running on a first client computing device, and the step of verifying the identity of the first user is performed by a second application running on a second client computing device.
20 . A system, comprising:
one or more memories storing instructions; and
one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to:
generate a plurality of first features associated with a first user based on video data generated during a computer-mediated interaction between a plurality of users in which the first user included in the plurality of users is represented by an avatar, wherein the plurality of first features is generated based on tracking one or more movements of the first user over time using the video data, and
verify an identify of the first user based on the plurality of first features and a prior version of the plurality of first features that is extracted from video data generated during at least one prior computer-mediated interaction associated with the first user and is generated based on tracking one or more prior movements of the first user, by:
generating a first hash value based on the one or more movements of the first user, wherein the first hash value uniquely identifies the plurality of first features and includes less data than the plurality of first features,
appending auxiliary information to the first hash value to generate a combined data structure, the auxiliary information comprising a geographic location associated with a computing device used by the first user when the computer-mediated interaction occurs,
encrypting the combined data structure to generate a first fingerprint, and
comparing the first fingerprint with a second fingerprint, wherein the second fingerprint uniquely identifies the prior version of the plurality of first features associated with the first user and is generated based on the one or more prior movements of the first user.