Patent ID: 11870908
Assignee: nan
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC G  H

Claim 0:
1. A method of performing a mutual authentication process round, comprising:
a first operator creating (i) a first asymmetric key pair comprising a first public key and a first private key and (ii) a first certificate comprising (a) the first public key, and (b) at least one of the first operator's name, a photograph, a telephone number, or a street address;
a second operator creating (i) a second asymmetric key pair comprising a second public key and a second private key and (ii) a second certificate comprising (a) the second public key, and (b) at least one of the second operator's name, a photograph, a telephone number, or a street address;
wherein the first and second operators exchange the first and second certificates by an insecure communication channel;
wherein the first operator uses a first device and the second operator uses a second device to store both the first and second certificates;
wherein each of the first and second devices compute and store a first identifier consisting of a cryptographic hash of the first and second public keys concatenated in lexicographical order;
recording to a first memory of the first device an association of the first identifier to a triple comprising (a) a first password or a value derived from the first password, and (b) the first certificate, and (c) a first message;, wherein the first operator communicates the first password to the second operator in one of a face-to-face meeting, a voice conversation, or over a secondary out-of-band network;, establishing a first communication channel between the first device and the second device over a primary network, wherein the second device is pre-programmed with the first password and a second message;, performing a data exchange between the first device and the second device over the established first communication channel, wherein the data exchange comprises:
transmitting, from the second device to the first device, an authentication request comprising the first identifier and a first set of parameters of a pre-determined Password Authenticated Key Exchange (PAKE) protocol, wherein the first set of parameters of the pre-determined PAKE protocol are derived from the first password;
computing, on the first device, a first PAKE symmetric cryptographic key based on the first password or the value derived from the first password and the first set of parameters of the predetermined PAKE protocol received from the second device;
transmitting, from the first device to the second device, a second set of parameters of the predetermined PAKE protocol, a first message authentication code (MAC) derived from the computed first symmetric cryptographic key, first and second sets of parameters of the predetermined PAKE protocol, and a first command, wherein the first command is encrypted with the computed first symmetric cryptographic key;
computing, on the second device, the first symmetric cryptographic key based on the first set of parameters of the pre-determined PAKE protocol and the received second set of parameters of the pre-determined PAKE protocol;
deriving, on the second device, a first candidate MAC based on the first and second parameters of the pre-determined PAKE protocol, the first encrypted command, and the computed first symmetric cryptographic key;
validating, on the second device, that the derived first candidate MAC and the received first MAC match;
wherein based on the first candidate MAC and the first MAC matching, the second device (i) processes the received first command and generates a second command, and (ii) transmits to the first device the generated second command wherein it is encrypted with the first symmetric cryptographic key, the second certificate wherein it is encrypted with the first symmetric cryptographic key, a second message wherein it is encrypted with the first symmetric cryptographic key, and a second MAC derived from (a) the computed first symmetric cryptographic key, (b) the first and second sets of parameters of the pre-determined PAKE protocol; (c) the encrypted first and second commands; and (d) the encrypted second certificate; and (e) the encrypted second message;
deriving, on the first device, a second candidate MAC based on (a) the computed first symmetric cryptographic key, (b) the first and second sets of parameters of the pre-determined PAKE protocol; (c) the encrypted first and second commands; (d) the encrypted second certificate; and (e) the encrypted second message;
validating, on the first device, that the second candidate MAC and the received second MAC match;
wherein based on the derived second candidate MAC and the received second MAC matching, the first device (i) decrypts and processes the received second command and (ii) transmits the first certificate and first message to the second device wherein the first certificate and first message are encrypted with the first symmetric key; and
the first device (i) displaying a notice that the second operator has been authenticated, (ii) decrypting the received second certificate, marking it as authenticated, and storing it instead of the second stored certificate, and (iii) decrypting and displaying the second message; and,
the second device decrypting and displaying the first message.