Middlebox visibility for post quantum kem
AssigneeKoninklijke Philips N.V.
InventorsOscar Garcia Morchon, Ludovicus Marinus Gerardus Maria Tolhuizen
Life of this patent
Estimating the term…
Abstract
Some embodiments are directed to a communication system comprising a one or more clients, a server and a middlebox. The middlebox may access to the multiple short-term server private keys of the server. The middlebox may recover a shared key that is negotiated between server and client by decapsulating encapsulation data using a stored client public key and a server private key from the key storage.
Claims18
A device comprising:
- an interface circuit,
- wherein the interface circuit is arranged to access communication between at least one clients and a server,
- wherein the at least one clients comprise a first client,
- wherein the first client has a first client public key,
- wherein the server has a plurality of server public keys,
- wherein the plurality of server public keys comprises a first server public key,
- wherein the first client and the server execute a key encapsulation mechanism protocol so as to obtain a shared key,
- wherein the client and the server are arranged to encrypt at least a portion of the communication with the shared key,
- wherein the key encapsulation mechanism protocol is lattice based;
- a key memory circuit,
- wherein the key memory circuit is arranged to store data items,
- wherein the data items indicate a plurality of server private keys,
- wherein the plurality of server private keys comprises a first server private key
- wherein the first client public key and the first server private key are used to form the shared key;
- and
- a processor circuit,
- wherein the processor circuit is arranged to receive at least one initiator messages of the key encapsulation mechanism protocol from the at least one clients,
- wherein each of the at least one initiator messages comprises the first client public key,
- wherein the processor circuit is arranged to receive at least one responder messages for each of the at least one initiator messages,
- wherein each responder message comprises a server public key and encapsulation data,
- wherein the server public key corresponds to the first server private key,
- wherein the processor circuit is arranged to decapsulate the encapsulation data using the shared key,
- wherein the processor circuit is arranged to verify that the shared key is correct,
- wherein the processor circuit is arranged to decrypt at least a portion of the communication between the first client and server.
A server comprising:
- an interface circuit,
- wherein the interface circuit is arranged for communication between at least one clients and a server,
- wherein the at least one clients comprise a first client,
- wherein the first client has a first client public key,
- wherein the server has a plurality of server public keys,
- wherein the plurality of server public keys comprises a first server public key,
- a processor circuit,
- wherein the processor circuit is arranged to execute a key encapsulation mechanism, protocol with the at least one clients so as to obtain a shared key,
- wherein the processor circuit is arranged to encrypt at least a portion of communication with the shared key,
- wherein the key encapsulation mechanism protocol is lattice based,
- wherein the key encapsulation protocol comprises:
- receiving at least one initiator messages of the key encapsulation mechanism protocol from a client, wherein the first of the at least one initiator messages comprises the first client public key,
- obtaining the first server private key,
- generating a responder message in response to the first initiator message,
- wherein the responder message comprises a server public key and encapsulation data,
- wherein the server public key corresponds to the first server private key,
- wherein encapsulation data comprises a shared key,
- wherein the encapsulation data is encapsulated using the first client public key and the first server private key.
A method for processing communication between at least one clients and a server, wherein the at least one clients comprise a first client, wherein the first client has a first client private key and a first client public key, wherein the server has a plurality of server private keys and a plurality of server public keys the method comprising:
- accessing the communication between the at least one clients and the server,
- wherein the first client and the server are arranged to execute a key encapsulation mechanism, protocol to obtain a shared key,
- wherein the client and the server are arranged to encrypt at least a portion of the communication with the shared key,
- wherein the key encapsulation mechanism protocol is lattice based;
- storing data items,
- wherein the data items indicate a plurality of server private keys,
- wherein the plurality of server private keys comprises a first server private key
- wherein the first client public key and the first server private key are used to form the shared key;
- receiving at least one initiator messages of the key encapsulation mechanism protocol from the at least one clients, wherein the first initiator message of the at least one initiator messages comprises the first client public key;
- receiving at least one responder messages for the at least one initiator messages,
- wherein each responder message comprises a server public key and encapsulation data,
- wherein the server public key corresponds to the first server private key;
- decapsulating the encapsulation data using the shared key;
- verifying that the shared key is correct;
- and
- decrypting communication between the first client and the first server.
A method for communicating with at least one clients, wherein the at least one clients comprise a first client, wherein first client has a first client private key and first client public key, wherein the server has a plurality of server private keys and a plurality of server public keys the method comprising:
- communicating with the at least one clients;
- executing a key encapsulation mechanism, protocol with the at least one clients so as to obtain a shared key with the at least one clients;
- encrypting a portion of the communication with the shared key, wherein the key encapsulation mechanism protocol is lattice based;
- wherein the key encapsulation protocol comprises:
- receiving at least one initiator messages from a client, wherein a first initiator message of the at least one initiator messages comprises a client public key;
- obtaining the first server private key;
- and
- generating a first responder message in response to the first initiator message,
- wherein the first responder message comprises a server public key and encapsulation data,
- wherein the server public key corresponds to the first server private key,
- wherein the first responder message comprises encapsulation data,
- wherein the encapsulation data comprises a shared key,
- wherein the encapsulation data is encapsulated using the first client public key and the first server private key.
A computer program stored on a non-transitory medium, wherein the computer program when executed on a processor performs the method as claimed in claim 19.
Dependencies are inferred from the claim text.