Cryptographic methods and systems for managing digital certificates with linkage values
AssigneesLG Electronics Inc., University of Sao Paulo
InventorsMarcos A. Simplicio, Jr., Eduardo Lopes Cominetti, Harsh Kupwade Patil, Jefferson E. Ricardini, Leonardo T. D. Ferraz, Marcos Vinicius M. Silva
Life of this patent
Estimating the term…
Abstract
Improved pseudonym certificate management is provided for connected vehicle authentication and other applications. Temporary revocation of a certificate is enabled. With respect to Security Credential Management Systems (SCMS), pre-linkage values can be employed. The pre-linkage values can be encrypted using homomorphic encryption. Other embodiments are also provided.
Claims20
A method for managing digital certificates by entities operable to perform computing on digital values and to communicate with each other, each digital certificate comprising a corresponding linkage value linkable to linkage values of one or more other digital certificates to define one or more groups of digital certificates, the method comprising performing the following operations to generate the digital certificates:
- generating, by a first entity, first pre-linkage values;
- receiving, by the first entity, encrypted second pre-linkage values from a second entity, wherein at least one of first pre-linkage values and the second pre-linkage values are encrypted using homomorphic encryption, wherein each encrypted second pre-linkage value is not decryptable by the first entity;
- for each digital certificate:
- selecting, by the first entity, a first pre-linkage value and an encrypted second pre-linkage value;
- combining, by the first entity, the selected first pre-linkage value with the selected encrypted second pre-linkage value without decrypting the second pre-linkage value, to obtain an encrypted combined value, the encrypted combined value being decryptable by the second entity but not the first entity;
- and
- sending, by the first entity to the second entity, a certificate generation request comprising the encrypted combined value;
- wherein the second entity performs verification operations on consecutive groups of n certificate generation requests received from the first entity, where n is greater than one, wherein for each group of n certificate generation requests, performing the verification operation comprises:
- (a) receiving from the first entity a list of the encrypted second pre-linkage values for the group without an indication which of the encrypted second pre-linkage values corresponds to any given certificate generation request;
- (b) receiving from the first entity an output of a computation performed on the first pre-linkage values for the group, the output not disclosing which of the first pre-linkage values corresponds to any given certificate generation request;
- and
- (c) matching the combined values for the group with the values received in (a) and (b).
A method for managing digital certificates by entities operable to perform computing on digital values and to communicate with each other, each digital certificate comprising a corresponding linkage value linkable to linkage values of one or more other digital certificates to define one or more groups of digital certificates, the method comprising performing the following operations to generate the digital certificates:
- generating, by a first entity, first pre-linkage values;
- receiving, by the first entity, encrypted second pre-linkage values from a second entity, wherein at least one of first pre-linkage values and the second pre-linkage values are encrypted using homomorphic encryption, wherein each encrypted second pre-linkage value is not decryptable by the first entity;
- for each digital certificate:
- selecting, by the first entity, a first pre-linkage value and an encrypted second pre-linkage value;
- combining, by the first entity, the selected first pre-linkage value with the selected encrypted second pre-linkage value without decrypting the second pre-linkage value, to obtain an encrypted combined value, the encrypted combined value being decryptable by the second entity but not the first entity;
- sending, by the first entity to the second entity, a certificate generation request comprising the encrypted combined value;
- and
- receiving, by the first entity, an identification of a certificate generation request corresponding to a first digital certificate which is a member of a group to be revoked;
- in response to the certificate generation request, determining, by the first entity:
- a first group-linking value from which the first pre-linkage values corresponding to the digital certificates in the group are computable;
- and
- second group-linking data allowing the second computer entity to determine a second group-linking value from which the second pre-linkage values corresponding to the digital certificates in the group are computable;
- determining the second group-linking value by the second entity from the second group-linking data;
- verifying whether the first and second group-linking values match the linkage value of the first digital certificate;
- if the verifying is successful, then revoking the digital certificates in the group by making available, to potential verifiers of validity of the digital certificates, the first and second group-linking values, and/or the first and second pre-linkage values corresponding to the digital certificates in the group, to allow the potential verifiers to match a linkage value of any digital certificate against the linkage values of the digital certificates in the group;
- if the verifying fails, then generating an error report.
A method for managing digital certificates by entities operable to perform computing on digital values and to communicate with each other, each digital certificate comprising a corresponding linkage value linkable to linkage values of one or more other digital certificates to define one or more groups of digital certificates, the method comprising performing the following operations to generate the digital certificates:
- generating, by a first entity, first pre-linkage values;
- receiving, by the first entity, encrypted second pre-linkage values from a second entity, wherein at least one of first pre-linkage values and the second pre-linkage values are encrypted using homomorphic encryption, wherein each encrypted second pre-linkage value is not decryptable by the first entity;
- for each digital certificate:
- selecting, by the first entity, a first pre-linkage value and an encrypted second pre-linkage value;
- combining, by the first entity, the selected first pre-linkage value with the selected encrypted second pre-linkage value without decrypting the second pre-linkage value, to obtain an encrypted combined value, the encrypted combined value being decryptable by the second entity but not the first entity;
- sending, by the first entity to the second entity, a certificate generation request comprising the encrypted combined value;
- receiving, by the first entity, an identification of a certificate generation request corresponding to a first digital certificate which is a member of a group to be revoked;
- in response to the certificate generation request, determining, by the first entity:
- a first group-linking value from which the first pre-linkage values corresponding to the digital certificates in the group are computable;
- and
- second group-linking data allowing the second computer entity to determine a second group-linking value from which the second pre-linkage values corresponding to the digital certificates in the group are computable;
- determining the second group-linking value by the second entity from the second group-linking data;
- revoking the digital certificates in the group by making available, to potential verifiers of validity of the digital certificates, the first and second group-linking values, and/or the first and second pre-linkage values corresponding to the digital certificates in the group, to allow the potential verifiers to match a linkage value of any digital certificate against the linkage values of the digital certificates in the group;
- wherein the certificate generation request received by the first entity is determined by the second entity based on the linkage value of the first digital certificate;
- wherein:
- each digital certificate is associated with a type;
- the first entity receives an indication of one or more types for the group to be revoked, the group being limited to certificates associated with the one or more types;
- and
- the first and second group-linking values correspond to the indication of the one or more types.
A method for managing digital certificates by entities operable to perform computing on digital values and to communicate with each other, the entities comprising at least a first entity and a second entity, each digital certificate comprising a corresponding linkage value linkable to linkage values of one or more other digital certificates to define one or more groups of digital certificates, the method comprising performing the following operations to generate the digital certificates:
- sending by the second entity, to the first entity, encrypted second pre-linkage values which are not decryptable by the first entity;
- for each digital certificate:
- receiving, by the second entity from the first entity, a certificate generation request comprising an encrypted combined value obtained by the first entity combining a selected first pre-linkage value with a selected second pre-linkage value, wherein at least one of first pre-linkage value and the second pre-linkage value is encrypted using homomorphic encryption, the first and second pre-linkage values being selected by the first entity, the second entity not knowing which of the first and second pre-linkage values were selected for the encrypted combined value, the encrypted combined value not being decryptable by the first entity;
- in response to the certificate generation request:
- decrypting, by the second entity, the corresponding encrypted combined value;
- and
- creating, by the second entity, the corresponding digital certificate with a linkage value obtained from the corresponding combined value;
- wherein the second entity performs verification operations on consecutive groups of n certificate generation requests received from the first entity, where n is greater than one, wherein for each group of n certificate generation requests, performing the verification operation comprises:
- (a) receiving from the first entity a list of the encrypted second pre-linkage values for the group without an indication which of the encrypted second pre-linkage values corresponds to any given certificate generation request;
- (b) receiving from the first entity an output of a computation performed on the first pre-linkage values for the group, the output not disclosing which of the first pre-linkage values corresponds to any given certificate generation request;
- and
- matching the combined values for the group with the values received in (a) and (b).
A tangible non-transitory machine readable storage medium comprising instructions executable by a first entity to perform a method for managing digital certificates by entities operable to perform computing on digital values and to communicate with each other, each digital certificate comprising a corresponding linkage value linkable to linkage values of one or more other digital certificates to define one or more groups of digital certificates, the method comprising performing the following operations to generate the digital certificates:
- generating, by the first entity, first pre-linkage values;
- receiving, by the first entity, encrypted second pre-linkage values from a second entity, wherein at least one of first pre-linkage values and the second pre-linkage values are encrypted using homomorphic encryption, wherein each encrypted second pre-linkage value is not decryptable by the first entity;
- for each digital certificate:
- selecting, by the first entity, a first pre-linkage value and an encrypted second pre-linkage value;
- combining, by the first entity, the selected first pre-linkage value with the selected encrypted second pre-linkage value without decrypting the second pre-linkage value, to obtain an encrypted combined value, the encrypted combined value being decryptable by the second entity but not the first entity;
- and
- sending, by the first entity to the second entity, a certificate generation request comprising the encrypted combined value;
- wherein the second entity performs verification operations on consecutive groups of n certificate generation requests received from the first entity, where n is greater than one, wherein for each group of n certificate generation requests, performing the verification operation comprises:
- (a) receiving from the first entity a list of the encrypted second pre-linkage values for the group without an indication which of the encrypted second pre-linkage values corresponds to any given certificate generation request;
- (b) receiving from the first entity an output of a computation performed on the first pre-linkage values for the group, the output not disclosing which of the first pre-linkage values corresponds to any given certificate generation request;
- and
- (c) matching the combined values for the group with the values received in (a) and (b).
A first entity comprising tangible non-transitory machine readable storage medium comprising instructions executable by a first entity to perform a method for managing digital certificates by entities operable to perform computing on digital values and to communicate with each other, each digital certificate comprising a corresponding linkage value linkable to linkage values of one or more other digital certificates to define one or more groups of digital certificates, the method comprising performing the following operations to generate the digital certificates:
- generating, by the first entity, first pre-linkage values;
- receiving, by the first entity, encrypted second pre-linkage values from a second entity, wherein at least one of first pre-linkage values and the second pre-linkage values are encrypted using homomorphic encryption, wherein each encrypted second pre-linkage value is not decryptable by the first entity;
- for each digital certificate:
- selecting, by the first entity, a first pre-linkage value and an encrypted second pre-linkage value;
- combining, by the first entity, the selected first pre-linkage value with the selected encrypted second pre-linkage value without decrypting the second pre-linkage value, to obtain an encrypted combined value, the encrypted combined value being decryptable by the second entity but not the first entity;
- sending, by the first entity to the second entity, a certificate generation request comprising the encrypted combined value;
- and
- wherein the second entity performs verification operations on consecutive groups of n certificate generation requests received from the first entity, where n is greater than one, wherein for each group of n certificate generation requests, performing the verification operation comprises:
- (a) receiving from the first entity a list of the encrypted second pre-linkage values for the group without an indication which of the encrypted second pre-linkage values corresponds to any given certificate generation request;
- (b) receiving from the first entity an output of a computation performed on the first pre-linkage values for the group, the output not disclosing which of the first pre-linkage values corresponds to any given certificate generation request;
- (c) matching the combined values for the group with the values received in (a) and (b).
Dependencies are inferred from the claim text.