Mutual multi-factor authentication technology
Computer software that stores information relating to a planned in-person meeting between a first user and a second user. The information includes a meeting time, a meeting location, and, for each of the first user and the second user: (i) a communications identifier associated with a device of the respective user, and (ii) a token identified by the respective user for the meeting. The computer software, in response to receiving an indication that the device of the first user is located at the meeting location at the meeting time, sends, to the device of the first user: (i) the communications identifier associated with the device of the second user, and (ii) the token identified by the second user for the meeting.
1 . A computer-implemented method comprising:
storing, by an authentication system, information relating to a planned in-person meeting between a first user and a second user, the information including a meeting time, a meeting location, and, for the first user and the second user: (i) a communications identifier associated with a device of the respective user, and (ii) a token identifiable by the respective user for authenticating another user of the planned in-person meeting, wherein the token is combined with an image of the another user recorded within a predetermined time period of the meeting time and encrypted with a respective public key;
in response to receiving, by the authentication system, a first indication that the device of the first user is located within a predetermined distance of the meeting location within the predetermined time period of the meeting time, sending, by the authentication system, information utilized in multi-factor authentication of the second user to the device of the first user over a secure communication channel: (i) the communications identifier associated with the device of the second user, and (ii) the token identifiable by the second user for the meeting, wherein the token identifiable by the second user is decrypted by the first user using a first private key corresponding to a first public key associated with the second user-embedded to an image of the first user recorded near the meeting time to identify the first user using a generative adversarial network, and the identification of the first user utilizes a facial recognition to match an image of the first user to the first user; and
in response to receiving, by the authentication system, a second indication that the device of the second user is located within the predetermined distance of the meeting location within the predetermined time period of the meeting time, sending, by the authentication system, information utilized in multi-factor authentication of the first user to the device of the second user over the secure communication channel: (i) the communications identifier associated with the device of the first user, and (ii) the token identifiable-identified by the first user for the meeting, wherein the token identifiable by the first user is decrypted by the second user using a second private key corresponding to a second public key associated with the first user, and the identification of the second user utilizes a facial recognition to match an image of the second user to the second user, wherein:
the token identifiable by the second user for the meeting is verified by the second user upon subsequent electronic communication from the first user to the second user; and
the token identifiable by the first user for the meeting is verified by the first user upon subsequent electronic communication from the second user to the first user.
2 . The computer-implemented method of claim 1 , wherein:
sending, to the device of the first user, the token identifiable by the second user for the meeting includes sending, to the device of the first user, a digital portrait of the first user with the token identifiable by the second user for the meeting embedded to the digital portrait of the first user; and
sending, to the device of the second user, the token identifiable by the first user for the meeting includes sending, to the device of the second user, a digital portrait of the second user with the token identifiable by the first user for the meeting embedded to the digital portrait of the second user.
3 . The computer-implemented method of claim 2 , further comprising:
sending, to the device of the first user, first instructions to send the digital portrait of the first user with the embedded token identifiable by the second user to the device of the second user utilizing the communications identifier associated with the device of the second user; and
sending, to the device of the second user, second instructions to send the digital portrait of the second user with the embedded token identifiable by the first user to the device of the first user utilizing the communications identifier associated with the device of the first user.
4 . The computer-implemented method of claim 3 , wherein:
the first instructions further include instructions to authenticate the identity of the second user using the first public key associated with the second user; and
the second instructions further include instructions to authenticate the identity of the first user using the second public key associated with the first user.
5 . The computer-implemented method of claim 4 , further comprising:
encrypting the digital portrait of the first user with the embedded token identifiable by the second user utilizing the first public key associated with the second user; and
encrypting the digital portrait of the second user with the embedded token identifiable by the second user utilizing the second public key associated with the first user.
6 . The computer-implemented method of claim 3 , further comprising:
in response to receiving a digital photograph of the first user from the device of the first user, encoding the digital photograph of the first user into the digital portrait of the first user utilizing a generative adversarial network that converts the digital photograph into the digital portrait that includes a pseudorealistic portrait image; and
in response to receiving a digital photograph of the second user from the device of the second user, encoding the digital photograph of the second user into the digital portrait of the second user utilizing the generative adversarial network.
7 . The computer-implemented method of claim 1 , wherein the communications identifier associated with the device of the first user and the communications identifier associated with the device of the second user are Bluetooth addresses.
8 . A computer program product comprising one or more computer readable storage media and program instructions collectively stored on the one or more computer readable storage media, the stored program instructions comprising:
program instructions to store, by an authentication system, information relating to a planned in-person meeting between a first user and a second user, the information including a meeting time, a meeting location, and, for the first user and the second user: (i) a communications identifier associated with a device of the respective user, and (ii) a token identifiable by the respective user for authenticating another user of the planned in-person meeting, wherein the token is combined with an image of the another user recorded within a predetermined time period of the meeting time and encrypted with a respective public key;
program instructions to, in response to receiving, by the authentication system, a first indication that the device of the first user is located within a predetermined distance of the meeting location within the predetermined time period of the meeting time, send, by the authentication system, information utilized in multi-factor authentication of the second user to the device of the first user over a secure communication channel: (i) the communications identifier associated with the device of the second user, and (ii) the token identifiable by the second user for the meeting, wherein the the token identifiable by the second user is decrypted by the first user using a first private key corresponding to a first public key associated with the second user, and the identification of the first user utilizes a facial recognition to match an image of the first user to the first user; and
program instructions to, in response to receiving, by the authentication system, a second indication that the device of the second user is located within the predetermined distance of the meeting location within the predetermined time period of the meeting time, send, by the authentication system, information utilized in multi-factor authentication of the first user to the device of the second user over the secure communication channel: (i) the communications identifier associated with the device of the first user, and (ii) the token identifiable-identified by the first user for the meeting, wherein the token is associated with a physical or visual in person identification of the first user and the token identifiable by the first user is decrypted by the second user using a second private key corresponding to a second public key associated with the first user, and the identification of the second user utilizes a facial recognition to match an image of the second user to the second user, wherein:
the token identifiable by the second user for the meeting is verified by the second user upon subsequent electronic communication from the first user to the second user; and
the token identifiable by the first user for the meeting is verified by the first user upon subsequent electronic communication from the second user to the first user.
9 . The computer program product of claim 8 , wherein:
sending, to the device of the first user, the token identifiable by the second user for the meeting includes sending, to the device of the first user, a digital portrait of the first user with the token identifiable by the second user for the meeting embedded to the digital portrait of the first user; and
sending, to the device of the second user, the token identifiable by the first user for the meeting includes sending, to the device of the second user, a digital portrait of the second user with the token identifiable by the first user for the meeting embedded to the digital portrait of the second user.
10 . The computer program product of claim 9 , the stored program instructions further comprising:
program instructions to send, to the device of the first user, first instructions to send the digital portrait of the first user with the embedded token identifiable by the second user to the device of the second user utilizing the communications identifier associated with the device of the second user; and
program instructions to send, to the device of the second user, second instructions to send the digital portrait of the second user with the embedded token identifiable by the first user to the device of the first user utilizing the communications identifier associated with the device of the first user.
11 . The computer program product of claim 10 , wherein:
the first instructions further include instructions to authenticate the identity of the second user using the first public key associated with the second user; and
the second instructions further include instructions to authenticate the identity of the first user using the second public key associated with the first user.
12 . The computer program product of claim 11 , the stored program instructions further comprising:
program instructions to encrypt the digital portrait of the first user with the embedded token identifiable by the second user utilizing the second public key associated with the second user; and
program instructions to encrypt the digital portrait of the second user with the embedded token identifiable by the second user utilizing the first public key associated with the first user.
13 . The computer program product of claim 10 , the stored program instructions further comprising:
program instructions to, in response to receiving a digital photograph of the first user from the device of the first user, encode the digital photograph of the first user into the digital portrait of the first user utilizing a generative adversarial network that converts the digital photograph into the digital portrait that includes a pseudorealistic portrait image; and
program instructions to, in response to receiving a digital photograph of the second user from the device of the second user, encode the digital photograph of the second user into the digital portrait of the second user utilizing the generative adversarial network.
14 . The computer program product of claim 8 , wherein the communications identifier associated with the device of the first user and the communications identifier associated with the device of the second user are Bluetooth addresses.
15 . A computer system comprising:
a processor set; and
one or more computer readable storage media;
wherein:
the processor set is structured, located, connected and/or programmed to run program instructions stored on the one or more computer readable storage media; and the stored program instructions comprise:
program instructions to register and store, by an authentication system, information relating to a planned in-person meeting between a first user and a second user, the information including a meeting time, a meeting location, and, for the first user and the second user: (i) a communications identifier associated with a device of the respective user, and (ii) a token identifiable by the respective user for authenticating another user of the planned in-person meeting, wherein the communications identifier is a unique Bluetooth communications identifier for the device of the respective user and the token is combined with an image of the another user recorded within a predetermined time period of the meeting time and encrypted with a respective public key;
program instructions to, in response to receiving, by the authentication system, a first indication that the device of the first user is located within a predetermined distance of the meeting location within the predetermined time period of the meeting time, send, by the authentication system, information utilized in multi-factor authentication of the second user to the device of the first user over a secure communication channel: (i) the communications identifier associated with the device of the second user, and (ii) the token identifiable by the second user for the meeting, wherein the token identifiable by the second user is decrypted by the first user using a first private key corresponding to a first public key associated with the second user, and the identification of the first user utilizes a facial recognition to match an image of the first user to the first user; and
program instructions to, in response to receiving, by the authentication system, a second indication that the device of the second user is located within the predetermined distance of the meeting location within the predetermined time period of the meeting time, send, by the authentication system, information utilized in multi-factor authentication of the first user to the device of the second user over the secure communication channel: (i) the communications identifier associated with the device of the first user, and (ii) the token identifiable by the first user for the meeting, wherein the token identifiable by the first user is decrypted by the second user using a second private key corresponding to a second public key associated with the first user, and the identification of the second user utilizes a facial recognition to match an image of the second user to the second user, wherein:
the token identifiable by the second user for the meeting is verified by the second user upon subsequent electronic communication from the first user to the second user; and
the token identifiable by the first user for the meeting is verified by the first user upon subsequent electronic communication from the second user to the first user.
16 . The computer system of claim 15 , wherein:
sending, to the device of the first user, the token identifiable by the second user for the meeting includes sending, to the device of the first user, a digital portrait of the first user with the token identifiable by the second user for the meeting embedded to the digital portrait of the first user; and
sending, to the device of the second user, the token identifiable by the first user for the meeting includes sending, to the device of the second user, a digital portrait of the second user with the token identifiable by the first user for the meeting embedded to the digital portrait of the second user.
17 . The computer system of claim 16 , the stored program instructions further comprising:
program instructions to send, to the device of the first user, first instructions to send the digital portrait of the first user with the embedded token identifiable by the second user to the device of the second user utilizing the communications identifier associated with the device of the second user; and
program instructions to send, to the device of the second user, second instructions to send the digital portrait of the second user with the embedded token identifiable by the first user to the device of the first user utilizing the communications identifier associated with the device of the first user.
18 . The computer system of claim 17 , wherein:
the first instructions further include instructions to authenticate the identity of the second user using the first public key associated with the second user; and
the second instructions further include instructions to authenticate the identity of the first user using the second public key associated with the first user.
19 . The computer system of claim 18 , the stored program instructions further comprising:
program instructions to encrypt the digital portrait of the first user with the embedded token identifiable by the second user utilizing the first public key associated with the second user; and
program instructions to encrypt the digital portrait of the second user with the embedded token identifiable by the second user utilizing the second public key associated with the first user.
20 . The computer system of claim 17 , the stored program instructions further comprising:
program instructions to, in response to receiving a digital photograph of the first user from the device of the first user, encode the digital photograph of the first user into the digital portrait of the first user utilizing a generative adversarial network that converts the digital photograph into the digital portrait that includes a pseudorealistic portrait image; and
program instructions to, in response to receiving a digital photograph of the second user from the device of the second user, encode the digital photograph of the second user into the digital portrait of the second user utilizing the generative adversarial network.