FR3102024A1 - A method of managing a public key database, a method of authenticating public keys, and server and client devices implementing these methods - Google Patents

A method of managing a public key database, a method of authenticating public keys, and server and client devices implementing these methods Download PDF

Info

Publication number
FR3102024A1
FR3102024A1 FR1911495A FR1911495A FR3102024A1 FR 3102024 A1 FR3102024 A1 FR 3102024A1 FR 1911495 A FR1911495 A FR 1911495A FR 1911495 A FR1911495 A FR 1911495A FR 3102024 A1 FR3102024 A1 FR 3102024A1
Authority
FR
France
Prior art keywords
key
client device
public
data
indexing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1911495A
Other languages
French (fr)
Other versions
FR3102024B1 (en
Inventor
Jean-Philippe BASUYAUX
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
My Idn
Original Assignee
My Idn
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by My Idn filed Critical My Idn
Priority to FR1911495A priority Critical patent/FR3102024B1/en
Priority to PCT/FR2020/051820 priority patent/WO2021074527A1/en
Publication of FR3102024A1 publication Critical patent/FR3102024A1/en
Application granted granted Critical
Publication of FR3102024B1 publication Critical patent/FR3102024B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Ce procédé (PGBD) de gestion d’une base de données de clés publiques est mis en œuvre par un dispositif serveur. Il comporte : - une étape (E20) d’obtention d’une clé d’indexation (CIX-CL1), ladite clé d’indexation étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à au moins une clé publique ; et - une étape (E40) d’enregistrement de ladite au moins une clé publique dans un enregistrement de ladite base de données indexé par ladite clé d’indexation (CIX-CL1) si ladite clé d’indexation est unique. La clé d’indexation (CIX-CL1) peut être distribuée à un tiers pour lui permettre d’obtenir et d’authentifier la clé publique. Figure 3This method (PGBD) of managing a public key database is implemented by a server device. It comprises: a step (E20) of obtaining an indexing key (CIX-CL1), said indexing key being obtained by implementing at least one cryptographic hash function applied to at least one public key; and - a step (E40) of recording said at least one public key in a record of said database indexed by said indexing key (CIX-CL1) if said indexing key is unique. The indexing key (CIX-CL1) can be distributed to a third party to enable them to obtain and authenticate the public key. Figure 3

Description

Procédé de gestion d’une base de données de clés publiques, procédé d’authentification de clés publiques, et dispositifs serveur et client mettant en œuvre ces procédésMethod for managing a database of public keys, method for authenticating public keys, and server and client devices implementing these methods

L’invention se situe dans le domaine technologique de la cryptographie à clé publique ou cryptographie asymétrique.The invention is in the technological field of public key cryptography or asymmetric cryptography.

On rappelle que l’utilisation de la cryptographie asymétrique pour transmettre et recevoir des données de façon sécurisée requiert pour les utilisateurs un moyen d’obtenir et d’authentifier les clés publiques de leurs correspondants.It is recalled that the use of asymmetric cryptography to transmit and receive data in a secure manner requires users to have a means of obtaining and authenticating the public keys of their correspondents.

L’invention cible plus particulièrement le problème de l’authentification des clés publiques.The invention targets more particularly the problem of authentication of public keys.

L’authentification des clés publiques est en effet un problème incontournable lorsque l’on choisit la cryptographie asymétrique (ou hybride) pour transmettre des données en assurant leur confidentialité et leur authenticité. Celui qui transmet utilise la clé publique de chiffrement du destinataire pour chiffrer la donnée à transmettre. Celui qui reçoit utilise la clé publique de vérification de signature de l’émetteur pour vérifier la signature de la donnée.The authentication of public keys is indeed an unavoidable problem when choosing asymmetric (or hybrid) cryptography to transmit data while ensuring their confidentiality and authenticity. The sender uses the recipient's public encryption key to encrypt the data to be transmitted. The recipient uses the public signature verification key of the sender to verify the signature of the data.

Dans l’état actuel de la technique, le problème d’authentification des clés publiques est généralement solutionné en mettant en œuvre un certificat électronique. Un certificat est une donnée publique, contenant d’une part des informations d’identification d’une personne et d’autre part une clé publique. Sa validité peut être vérifiée, par quiconque l’ayant reçu par quelque canal que ce soit, auprès d’une autorité de certification.In the current state of the art, the public key authentication problem is generally solved by implementing an electronic certificate. A certificate is public data, containing on the one hand identification information of a person and on the other hand a public key. Its validity can be verified, by anyone who has received it by any channel whatsoever, with a certification authority.

Cette solution nécessite l’achat puis la gestion d’un certificat et de la clé privée associée. Elle est utilisée pour permettre à des utilisateurs d’authentifier un serveur web. On parle alors de certificat SSL, permettant d’établir un canal de communication sécurisé HTTPS, pour la navigation sur Internet.This solution requires the purchase and management of a certificate and the associated private key. It is used to allow users to authenticate a web server. We then speak of an SSL certificate, making it possible to establish a secure HTTPS communication channel for browsing the Internet.

Pour que cette solution soit pleinement satisfaisante, les utilisateurs devraient vérifier effectivement à qui est attribué le certificat à chaque fois qu’ils se connectent à un serveur en HTTPS, ce qu’ils ne font que très rarement. L’usage du protocole HTTPS sans vérifier le certificat signifie seulement qu’un attaquant aura beaucoup de mal à espionner le canal ou à modifier les transmissions dans le canal. Cela n’empêche aucunement d’établir directement le canal avec l’attaquant lui-même (selon le mécanisme frauduleux de « phishing »), car pour cela il suffit que l’attaquant ait lui aussi un certificat quelconque. Il existe en effet des autorités de complaisance qui délivrent des certificats authentiques à des sociétés dont le nom est usurpé.For this solution to be fully satisfactory, users should actually check who is assigned the certificate each time they connect to a server in HTTPS, which they very rarely do. Using the HTTPS protocol without verifying the certificate only means that an attacker will have a hard time eavesdropping on the channel or altering transmissions in the channel. This does not preclude directly establishing the channel with the attacker himself (according to the fraudulent "phishing" mechanism), because for this it is enough that the attacker also has some certificate. There are indeed authorities of convenience that issue authentic certificates to companies whose name is usurped.

Par ailleurs, la solution des certificats SSL n’est techniquement pas adaptée pour permettre à des utilisateurs finaux de s’authentifier entre eux, afin d’échanger des données entre eux. Cela nécessiterait que chaque utilisateur fasse l’acquisition d’un certificat et que le logiciel ou le service qu’ils utilisent pour correspondre intègre la possibilité qu’ils s’authentifient entre eux par ce moyen.Furthermore, the SSL certificate solution is technically not suitable for allowing end users to authenticate each other, in order to exchange data between them. This would require that each user acquire a certificate and that the software or service they use to correspond integrates the possibility that they authenticate each other by this means.

Plus généralement, les technologies PKI (Public Key Infrastructure) permettent de gérer et distribuer des certificats électroniques utilisables pour déployer des certificats SSL ou pour signer des documents, par exemple des e-mails, afin de garantir la confidentialité, l’authentification, l’intégrité et la non-répudiation lors de transactions électroniques. Différents modèles de PKI existent, mais tous reposent sur les certificats numériques et sur le principe d’une chaîne de confiance. Chaque clé publique est signée par un tiers dont la clé publique est elle-même signée par un autre tiers.More generally, PKI (Public Key Infrastructure) technologies make it possible to manage and distribute electronic certificates that can be used to deploy SSL certificates or to sign documents, for example e-mails, in order to guarantee confidentiality, authentication, integrity and non-repudiation in electronic transactions. Different PKI models exist, but all are based on digital certificates and the principle of a chain of trust. Each public key is signed by a third party whose public key is itself signed by another third party.

Authentifier la clé publique d’un correspondant requiert de faire confiance à chacun des tiers de la chaîne de confiance, non pas uniquement à l’autorité au sommet de la chaîne. Au coût d’acquisition de telles solutions s’ajoute donc un problème de confiance inhérent à leur architecture. On notera que dans l’état actuel de la technique, il est admis ( https://fr.wikipedia.org/wiki/Non-r%C3%A9pudiation) que la non-répudiation ne peut être atteinte qu’en utilisant la technologie du certificat numérique.Authenticating a correspondent's public key requires trusting each third party in the chain of trust, not just the authority at the top of the chain. In addition to the cost of acquiring such solutions, there is therefore a problem of trust inherent in their architecture. It should be noted that in the current state of the art, it is accepted ( https://fr.wikipedia.org/wiki/Non-r%C3%A9pudiation) that non-repudiation can only be achieved by using the digital certificate technology.

Ces solutions ne sont donc pas satisfaisantes. L’invention vise par conséquent une nouvelle méthode d’authentification de clé publique qui ne présente pas les inconvénients des méthodes connues.These solutions are therefore not satisfactory. The invention therefore aims at a new public key authentication method which does not have the drawbacks of the known methods.

Plus précisément, et selon un premier aspect, l’invention concerne un procédé de gestion d’une base de données de clés publiques. Ce procédé peut être mis en œuvre par un dispositif serveur. Il comporte :More specifically, and according to a first aspect, the invention relates to a method for managing a database of public keys. This method can be implemented by a server device. It comprises :

  • une étape d’obtention d’un trousseau de clés, ce trousseau comportant au moins une clé publique destinée à être authentifiée par un procédé d’authentification conforme à l’invention, chacune de ces clés publiques étant associée à une clé privée;a step of obtaining a bunch of keys, this bunch comprising at least one public key intended to be authenticated by an authentication method in accordance with the invention, each of these public keys being associated with a private key;
  • une étape d’obtention d’une clé d’indexation, cette clé d’indexation étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à ladite au moins une clé publique ;a step of obtaining an indexing key, this indexing key being obtained by at least implementing a cryptographic hash function applied at least to said at least one public key;
  • une étape de vérification de l’unicité de la clé d’indexation dans la base de données; eta step for verifying the uniqueness of the indexing key in the database; And
  • soit une étape d’enregistrement du trousseau dans un enregistrement de la base de données indexé par ladite clé d’indexation en cas de succès de l’étape de vérification d’unicité ;either a step of recording the keychain in a database record indexed by said indexing key in the event of success of the uniqueness verification step;
  • soit une étape de rejet du trousseau en cas d’échec de l’étape de vérification d’unicité.or a keychain rejection step if the uniqueness verification step fails.

Corrélativement, l’invention concerne un dispositif serveur comportant :Correlatively, the invention relates to a server device comprising:

  • une unité d’obtention d’un trousseau de clés, ce trousseau comportant au moins une clé publique destinée à être authentifiée par un procédé d’authentification selon l’invention, chacune des dites clés publiques étant associée à une clé privée ;a unit for obtaining a bunch of keys, this bunch comprising at least one public key intended to be authenticated by an authentication method according to the invention, each of said public keys being associated with a private key;
  • une unité d’obtention d’une clé d’indexation, cette clé d’indexation étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à ladite au moins une clé publique ;a unit for obtaining an indexing key, this indexing key being obtained by at least implementing a cryptographic hash function applied at least to said at least one public key;
  • une unité de vérification de l’unicité de la clé d’indexation dans une base de données de clés publiques ; eta unit for verifying the uniqueness of the indexing key in a public key database; And
  • une unité d’enregistrement configurée pour enregistrer le trousseau dans un enregistrement de la base de données indexé par la clé d’indexation si la clé d’indexation est unique ;a record unit configured to save the keychain to a database record indexed by the index key if the index key is unique;
  • une unité configurée pour rejeter ledit trousseau si la clé d’indexation n’est pas unique.a unit configured to reject said keychain if the indexing key is not unique.

Selon un deuxième aspect, l’invention vise aussi un procédé d’authentification d’au moins une clé publique. Ce procédé comporte :According to a second aspect, the invention also relates to a method for authenticating at least one public key. This process involves:

  • une étape d’obtention d’un vérificateur, ce vérificateur constituant une clé d’indexation d’un enregistrement comportant un trousseau de clés comportant ladite au moins une clé publique dans une base de données ;a step of obtaining a verifier, this verifier constituting a key for indexing a record comprising a bunch of keys comprising said at least one public key in a database;
  • une étape d’obtention du trousseau à partir de la clé d’indexation ;a step of obtaining the keychain from the indexing key;
  • une étape d’obtention d’une valeur cryptographique, cette valeur cryptographique étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à ladite au moins une clé publique ;a step of obtaining a cryptographic value, this cryptographic value being obtained by at least implementing a cryptographic hash function applied at least to said at least one public key;
  • une étape de comparaison de la valeur cryptographique et du vérificateur;a step of comparing the cryptographic value and the verifier;
  • une étape d’authentification de ladite au moins une clé publique en fonction du résultat de cette étape de comparaison.a step of authenticating said at least one public key according to the result of this comparison step.

Corrélativement, l’invention vise un dispositif d’authentification d’au moins une clé publique. Ce dispositif peut être mis en œuvre par un dispositif client. Il comporte :Correlatively, the invention aims at a device for authenticating at least one public key. This device can be implemented by a client device. It comprises :

  • une unité d’obtention d’un vérificateur, ce vérificateur constituant une clé d’indexation d’un enregistrement comportant un trousseau de clés comportant ladite au moins une clé publique dans une base de données ;a unit for obtaining a verifier, this verifier constituting a key for indexing a record comprising a bunch of keys comprising said at least one public key in a database;
  • une unité d’obtention de ce trousseau à partir de la clé d’indexation ;a unit for obtaining this keychain from the indexing key;
  • une unité d’obtention d’une valeur cryptographique, cette valeur cryptographique étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à ladite au moins une clé publique ;a unit for obtaining a cryptographic value, this cryptographic value being obtained by implementing at least one cryptographic hash function applied at least to said at least one public key;
  • une unité de comparaison de la valeur cryptographique et du vérificateur ;a unit for comparing the cryptographic value and the verifier;
  • une unité d’authentification configurée pour authentifier ladite au moins une clé publique en fonction du résultat de la comparaison.an authentication unit configured to authenticate said at least one public key according to the result of the comparison.

Dans un mode préféré de réalisation, le dispositif client calcule lui-même la clé d’indexation et le dispositif serveur reçoit la clé d’indexation du dispositif client.In a preferred embodiment, the client device calculates the indexing key itself and the server device receives the indexing key from the client device.

En variante, la clé d’indexation est calculée par le dispositif serveur.Alternatively, the indexing key is calculated by the server device.

De façon très avantageuse, l’invention ne nécessite pas d’utiliser un certificat numérique comportant la clé publique.Very advantageously, the invention does not require the use of a digital certificate comprising the public key.

Par conséquent, le procédé d’authentification selon l’invention ne nécessite pas l’intervention d’un tiers de confiance. Le procédé d’authentification selon l’invention peut être mis en œuvre par un dispositif client seul, à l’aide du seul vérificateur. Le problème de confiance est ainsi éliminé.Consequently, the authentication method according to the invention does not require the intervention of a trusted third party. The authentication method according to the invention can be implemented by a client device alone, using only the verifier. The problem of trust is thus eliminated.

En effet, le fait d’associer les clés publiques au vérificateur (faisant ainsi également fonction de clé d’indexation) dans la base de données gérée par l’invention permet de distribuer les clés publiques. Les utilisateurs de la solution ont seulement besoin connaître les vérificateurs de leurs correspondants pour obtenir les clés publiques de ceux-ci auprès d’un serveur et pouvoir aussitôt, et de façon autonome, authentifier ces clés publiques.Indeed, the fact of associating the public keys with the verifier (thus also acting as an indexing key) in the database managed by the invention makes it possible to distribute the public keys. The users of the solution only need to know the verifiers of their correspondents to obtain their public keys from a server and be able to immediately, and independently, authenticate these public keys.

Il peut donc être considéré que l’invention vise à offrir un nouveau modèle de PKI (Public Key Infrastructure).It can therefore be considered that the invention aims to offer a new model of PKI (Public Key Infrastructure).

L’utilisation d’une fonction de hachage cryptographique pour l’obtention du vérificateur empêche un attaquant de forger une autre clé publique qui réussirait l’étape d’authentification.Using a cryptographic hash function to obtain the verifier prevents an attacker from forging another public key that would pass the authentication step.

De façon très avantageuse, le vérificateur ainsi obtenu par hachage sert également de clé d’indexation.Very advantageously, the verifier thus obtained by hashing also serves as an indexing key.

De façon très avantageuse, le fait de s’assurer de l’unicité de la clé d’indexation permet d’obtenir la clé publique à partir de la clé d’indexation en une seule opération.Very advantageously, ensuring the uniqueness of the indexing key makes it possible to obtain the public key from the indexing key in a single operation.

Les clés publiques enregistrées dans la base de données peuvent être de différentes natures. Il peut en particulier s’agir :The public keys recorded in the database can be of different types. In particular, this may be:

  • de clés publiques de chiffrement de données ;data encryption public keys;
  • de clés publiques de vérification de signature.signature verification public keys.

L’invention peut être utilisée par deux dispositifs clients pour s’échanger des données de façon sécurisée.The invention can be used by two client devices to exchange data securely.

Ainsi, l’invention concerne un procédé sécurisé de transmission d’une donnée par un dispositif client émetteur à un dispositif client récepteur. Ce procédé comporte :Thus, the invention relates to a secure method for transmitting data by a sender client device to a receiver client device. This process involves:

  • une étape d’authentification d’une clé publique de chiffrement du dispositif client récepteur en mettant en œuvre un procédé d’authentification conforme à l’invention ;a step of authenticating a public encryption key of the receiving client device by implementing an authentication method according to the invention;
  • une étape de chiffrement de la donnée avec cette clé publique de chiffrement ; eta step of encrypting the data with this public encryption key; And
  • une étape de mise à disposition de la donnée chiffrée au dispositif client récepteur.a step of making the encrypted data available to the receiver client device.

Dans un mode particulier de réalisation, ce procédé peut être utilisé pour transmettre de façon sécurisé une clé secrète au dispositif récepteur, cette clé secrète étant destinée à être utilisée pour chiffrer à l’aide d’un algorithme de cryptographie symétrique une donnée utile que le dispositif client émetteur souhaite communiquer au dispositif client récepteur. Ce procédé comporte :In a particular embodiment, this method can be used to securely transmit a secret key to the receiver device, this secret key being intended to be used to encrypt, using a symmetric cryptography algorithm, a useful datum that the sending client device wishes to communicate to the receiving client device. This process involves:

  • une étape d’obtention de ladite clé secrète, par exemple de façon aléatoire ;a step of obtaining said secret key, for example randomly;
  • une étape de chiffrement de la donnée utile avec la clé secrète ;a step of encrypting the useful data with the secret key;
  • la donnée utile chiffrée étant mise à disposition dudit dispositif client récepteur avec la clé secrète chiffrée, cette clé secrète chiffrée ayant été chiffrée avec la clé publique de chiffrement.the encrypted useful data being made available to said receiver client device with the encrypted secret key, this encrypted secret key having been encrypted with the public encryption key.

Dans un mode particulier de réalisation, ce procédé de cryptographie hybride comporte en outre :In a particular embodiment, this hybrid cryptography method further comprises:

  • une étape de signature de la donnée utile avec une clé privée de signature dudit dispositif client émetteur ;a step of signing the payload data with a private signing key of said sender client device;
  • la signature de la donnée utile étant mise à disposition dudit dispositif client récepteur avec la clé secrète chiffrée et avec la donnée utile chiffrée.the signature of the useful data being made available to said receiving client device with the encrypted secret key and with the encrypted useful data.

Ce mode de réalisation permet au dispositif client récepteur d’authentifier le dispositif client émetteur.This embodiment allows the receiving client device to authenticate the sending client device.

L’invention peut aussi être utilisée dans le contexte d’un procédé de cryptographie asymétrique.The invention can also be used in the context of an asymmetric cryptography method.

En effet, dans un mode particulier de réalisation du procédé sécurisé de transmission selon l’invention, la donnée transmise de façon sécurisée au dispositif client émetteur est une donnée utile. Ce procédé comporte :Indeed, in a particular embodiment of the secure transmission method according to the invention, the data transmitted in a secure manner to the sender client device is useful data. This process includes:

  • une étape de signature de la donnée utile avec une clé privée de signature du dispositif client émetteur ;a step of signing the payload with a private signing key of the sender client device;
  • la signature de la donnée utile étant mise à disposition dudit dispositif client récepteur avec la donnée utile chiffrée.the signature of the payload data being made available to said receiving client device with the encrypted payload data.

L’invention vise aussi un procédé sécurisé de réception, par un dispositif client récepteur et en provenance d’un dispositif client transmetteur, d’une donnée utile, ce procédé comportant :The invention also relates to a secure method of reception, by a receiver client device and from a transmitter client device, of a useful data, this method comprising:

  • une étape de réception de la donnée utile chiffrée et d’une signature de la donnée utile, la signature ayant été obtenue avec une clé privée de signature du dispositif client émetteur ;a step of receiving the encrypted payload data and a signature of the payload data, the signature having been obtained with a private signing key of the sender client device;
  • une étape d’authentification d’une clé publique de vérification de signature du dispositif client émetteur en mettant en œuvre un procédé d’authentification conforme à l’invention ;a step of authenticating a public signature verification key of the sender client device by implementing an authentication method according to the invention;
  • une étape d’obtention de ladite donnée utile à partir de la donnée utile chiffrée en utilisant une clé privée de déchiffrement du dispositif récepteur ;a step of obtaining said payload from the payload encrypted using a private decryption key of the receiver device;
  • une étape de déchiffrement de la signature avec la clé publique de vérification de signature du dispositif émetteur ;a step of decrypting the signature with the public signature verification key of the issuing device;
  • une étape de validation de la donnée utile à partir du résultat de l’étape de déchiffrement de la signature et à partir de la donnée utile obtenue à partir de la donnée utile chiffrée.a step of validating the useful data from the result of the step of decrypting the signature and from the useful data obtained from the encrypted useful data.

Dans un mode particulier de réalisation dans lequel l’invention est mise en œuvre dans un contexte de cryptographie hybride, ce procédé sécurisé de réception comporte en outre :In a particular embodiment in which the invention is implemented in a context of hybrid cryptography, this secure method of reception further comprises:

  • une étape de réception d’une clé secrète chiffrée avec une clé publique de chiffrement du dispositif client récepteur ;a step of receiving a secret key encrypted with a public encryption key of the receiving client device;
  • une étape d’obtention de la clé secrète à partir de la clé secrète chiffrée et de la clé privée de déchiffrement du dispositif client récepteur ;a step of obtaining the secret key from the encrypted secret key and the private decryption key of the receiving client device;
  • la donnée utile étant obtenue à partir de la donnée utile chiffrée et de la clé secrète.the payload being obtained from the encrypted payload and the secret key.

Dans un autre mode de réalisation dans lequel l’invention est mise en œuvre dans un contexte de cryptographie asymétrique, la donnée utile est obtenue en déchiffrant la donnée utile chiffrée avec la clé privée de déchiffrement du dispositif récepteur.In another embodiment in which the invention is implemented in an asymmetric cryptography context, the payload data is obtained by decrypting the payload data encrypted with the private decryption key of the receiving device.

Dans un mode particulier de réalisation, les différentes étapes des procédés selon l’invention (procédé de gestion de base de données, procédé d’authentification de clé publique, procédé sécurisé de transmission de données, procédé sécurisé de réception de données) sont déterminées par des instructions de programmes d’ordinateurs.In a particular embodiment, the different steps of the methods according to the invention (database management method, public key authentication method, secure data transmission method, secure data reception method) are determined by computer program instructions.

En conséquence, l’invention vise aussi un programme d’ordinateur, sur un support d’informations, ce programme comportant des instructions adaptées à la mise en œuvre d’au moins un procédé tel que mentionné ci-dessus.Consequently, the invention also relates to a computer program, on an information medium, this program comprising instructions adapted to the implementation of at least one method as mentioned above.

Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.This program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in any other desirable form.

L’invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus.The invention also relates to an information medium readable by a computer, and comprising instructions of a computer program as mentioned above.

Le support d'informations peut être n'importe quelle entité ou système capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur.The information carrier can be any entity or system capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means, for example a hard disk.

D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.On the other hand, the information medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can in particular be downloaded from an Internet-type network.

Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures :Other characteristics and advantages of the present invention will become apparent from the description given below, with reference to the appended drawings which illustrate an example of embodiment devoid of any limiting character. In the figures:

la figure 1 représente un dispositif serveur et des dispositifs clients conformes à des modes particuliers de réalisation de l’invention dans leur environnement ; FIG. 1 represents a server device and client devices in accordance with particular embodiments of the invention in their environment;

la figure 2 représente un exemple de trousseau de clés publiques pouvant être utilisé dans l’invention ; FIG. 2 represents an example of a bunch of public keys that can be used in the invention;

la figure 3 représente sous forme d’organigramme les principales étapes d’un procédé de gestion d’une base de données de clés publiques conforme à un mode de réalisation de l’invention ; FIG. 3 represents in the form of a flowchart the main steps of a method for managing a database of public keys in accordance with one embodiment of the invention;

la figure 4 représente un exemple d’enregistrement de base de données pouvant être utilisé dans l’invention ; Figure 4 shows an example of a database record that can be used in the invention;

la figure 5 représente sous forme d’organigramme les principales étapes d’un procédé d’authentification de clé publique conforme à un mode de réalisation de l’invention ; FIG. 5 represents in the form of a flowchart the main steps of a public key authentication method in accordance with one embodiment of the invention;

la figure 6 représente un exemple de mise en œuvre de l’invention par des dispositifs clients pour s’échanger des données de façon sécurisée ; FIG. 6 represents an example of implementation of the invention by client devices for exchanging data in a secure manner;

la figure 7 représente un exemple de mise en œuvre de l’invention par des dispositifs clients pour s’échanger des données de façon sécurisée ; FIG. 7 represents an example of implementation of the invention by client devices for exchanging data in a secure manner;

la figure 8 représente un exemple de mise en œuvre de l’invention par des dispositifs clients pour s’échanger des données de façon sécurisée ; FIG. 8 represents an example of implementation of the invention by client devices for exchanging data in a secure manner;

la figure 9 représente un exemple de mise en œuvre de l’invention par des dispositifs clients pour s’échanger des données de façon sécurisée ; FIG. 9 represents an example of implementation of the invention by client devices for exchanging data in a secure manner;

la figure 10 représente schématiquement un dispositif serveur conforme à un mode de réalisation de l’invention ; FIG. 10 schematically represents a server device in accordance with one embodiment of the invention;

la figure 11 représente schématiquement un dispositif d’authentification conforme à un mode de réalisation de l’invention ; FIG. 11 schematically represents an authentication device according to one embodiment of the invention;

la figure 12 représente schématiquement un dispositif client conforme à un mode de réalisation de l’invention. représente FIG. 12 schematically represents a client device according to one embodiment of the invention. represented

La figure 1 représente un réseau R auquel sont connectés un dispositif serveur SRV conforme à l’invention et quatre dispositifs clients conformes à l’invention, à savoir :Figure 1 represents a network R to which are connected a server device SRV according to the invention and four client devices according to the invention, namely:

  • le dispositif client CL1 d’un utilisateur U1 ;the client device CL1 of a user U1;
  • le dispositif client CL2 d’un utilisateur U2 ;the CL2 client device of a U2 user;
  • le dispositif client TX d’un utilisateur UT ;a UT user's TX client device;
  • le dispositif client RX d’un utilisateur UR.the RX client device of a UR user.

Le dispositif serveur SRV est associé à une base de données BD. Il comporte l’architecture matérielle d’un ordinateur. Il comporte notamment un module 13 de communication sur le réseau R, un processeur 10 et une mémoire 11 dans laquelle est stocké un programme d’ordinateur PG conforme à l’invention. Ce programme PG comporte des instructions qui lorsqu’elles sont exécutées par le processeur 10 mettent en œuvre un procédé PGBD de gestion d’une base de données conforme à l’invention et dont les principales étapes seront décrites en référence à la figure 3.The server device SRV is associated with a database BD. It comprises the hardware architecture of a computer. It comprises in particular a module 13 for communication on the network R, a processor 10 and a memory 11 in which is stored a computer program PG in accordance with the invention. This PG program includes instructions which, when they are executed by the processor 10, implement a PGBD method for managing a database in accordance with the invention and the main steps of which will be described with reference to FIG. 3.

Dans l’exemple de réalisation décrit ici, les dispositifs clients CL1, CL2, TX et RX ont l’architecture matérielle d’un ordinateur. Seul le dispositif CL1 est représenté en détails sur la figure 1.In the example embodiment described here, the client devices CL1, CL2, TX and RX have the hardware architecture of a computer. Only the CL1 device is shown in detail in Figure 1.

Chacun de ces dispositifs client comporte notamment un module de communication 23 sur le réseau R, un processeur 20 et une mémoire 21 dans laquelle est stocké un programme d’ordinateur PCL conforme à l’invention.Each of these client devices comprises in particular a communication module 23 on the network R, a processor 20 and a memory 21 in which is stored a PCL computer program in accordance with the invention.

Dans l’exemple décrit ici, Le programme PCL comporte des instructions qui lorsqu’elles sont exécutées par le processeur 20 peuvent mettent en œuvre :In the example described here, the PCL program includes instructions which when executed by processor 20 can implement:

  • un procédé PA d’authentification conforme à l’invention et dont les principales étapes seront décrites en référence à la figure 5 ;an authentication method PA in accordance with the invention, the main steps of which will be described with reference to FIG. 5;
  • un procédé PTX pour envoyer une donnée conformément à l’invention tel que décrit en référence à l’une des figures 6, 7, 8 ou 9 ; eta PTX method for sending data in accordance with the invention as described with reference to one of Figures 6, 7, 8 or 9; And
  • un procédé PRX pour recevoir une donnée conformément à l’invention tel que décrit en référence à l’une des figures 6, 7, 8 ou 9.a PRX method for receiving data in accordance with the invention as described with reference to one of Figures 6, 7, 8 or 9.

Dans l’exemple décrit ici, le dispositif client CL1 comporte une mémoire 22 dans lequel il mémorise une paire de clé comportant une clé publique KP-CL1 associée à une clé privée KS-CL1. On suppose que l’utilisateur U1 souhaite que sa clé publique KP-CL1 puisse être authentifiée par un tiers en utilisant un procédé d’authentification conforme à l’invention.In the example described here, the client device CL1 comprises a memory 22 in which it stores a key pair comprising a public key KP-CL1 associated with a private key KS-CL1. It is assumed that the user U1 wishes his public key KP-CL1 to be authenticated by a third party using an authentication method in accordance with the invention.

Dans l’exemple de réalisation décrit ici, le dispositif client CL1 mémorise aussi dans sa mémoire 22 un trousseau de clés TR2-CL1 représenté à la figure 2.In the embodiment described here, the client device CL1 also stores in its memory 22 a bunch of keys TR2-CL1 represented in FIG. 2.

Dans le mode de réalisation décrit ici, ce trousseau TR2-CL1 comporte toutes les clés publiques de l’utilisateur U1 qui sont destinées à pouvoir être authentifiées par un tiers.In the embodiment described here, this keychain TR2-CL1 comprises all the public keys of the user U1 which are intended to be able to be authenticated by a third party.

Dans l’exemple décrit ici, ce trousseau TR2-CL1 comporte aussi des données DUM non concernées par l’invention.In the example described here, this keychain TR2-CL1 also includes DUM data not concerned by the invention.

Dans l’exemple de la figure 1 :In the example in Figure 1:

- le dispositif client CL2 de l’utilisateur U2 ne mémorise pas de clé ;- User U2's client device CL2 does not store a key;

- le dispositif client TX de l’utilisateur UT mémorise une paire de clé {KPa-TX, KSa-TX} comportant une clé publique KPa-TX de chiffrement et la clé privée KSa-TX de déchiffrement associée, une paire de clé {KPb-TX, KSb-TX} comportant une clé privée de signature KSb-TX et la clé publique KPb-TX de vérification de signature associée et un trousseau de clés TR2-TX comportant les clés publiques KPa-TX et KPb-TX ; et- the client device TX of the user UT stores a key pair {KPa-TX, KSa-TX} comprising a public encryption key KPa-TX and the associated private decryption key KSa-TX, a key pair {KPb -TX, KSb-TX} containing a signing private key KSb-TX and the associated signature verification public key KPb-TX and a TR2-TX keyring containing the public keys KPa-TX and KPb-TX; And

- le dispositif client RX de l’utilisateur RX mémorise une paire de clé {KPa-RX, KSa-RX} comportant une clé publique KPa-RX de chiffrement et la clé privée KSa-RX de déchiffrement associée, une paire de clé {KPb-RX, KSb-RX} comportant une clé privée de signature KSb-RX et la clé publique KPb-RX de vérification de signature associée et un trousseau de clés TR2-RX comportant les clés publiques KPa-RX et KPb-RX.- the client device RX of the user RX memorizes a key pair {KPa-RX, KSa-RX} comprising a public encryption key KPa-RX and the associated private decryption key KSa-RX, a key pair {KPb -RX, KSb-RX} comprising a private signing key KSb-RX and the associated signature verification public key KPb-RX and a bunch of keys TR2-RX comprising the public keys KPa-RX and KPb-RX.

Dans le mode de réalisation décrit ici, les clés publiques sont associées aux clés privées comme de façon connue dans les systèmes cryptographiques asymétriques. Dans l’exemple de réalisation décrit ici, elles sont conformes à un algorithme de type RSA (Rivest Shamir Adleman).In the embodiment described here, the public keys are associated with the private keys as is known in asymmetric cryptographic systems. In the embodiment described here, they comply with an RSA (Rivest Shamir Adleman) type algorithm.

Les clés privées sont destinées à rester secrètes ; elles ne sont pas communiquées au dispositif serveur SRV.Private keys are intended to be kept secret; they are not communicated to the server device SRV.

Dans le mode de réalisation décrit ici, les paires de clés sont mémorisées par les dispositifs clients eux-mêmes mais d’autres solutions peuvent envisagées.In the embodiment described here, the key pairs are stored by the client devices themselves, but other solutions can be considered.

La figure 3 représente sous forme d’organigramme les principales étapes d’un procédé PGBD de gestion d’une base de données de clés publiques conforme à un mode particulier de réalisation de l’invention.FIG. 3 represents in the form of a flowchart the main steps of a PGBD method for managing a database of public keys in accordance with a particular embodiment of the invention.

Dans le mode de réalisation décrit ici, ce procédé est mis en œuvre par le dispositif serveur SRV de la figure 1 pour gérer la base de données BD.In the embodiment described here, this method is implemented by the server device SRV of FIG. 1 to manage the database BD.

On décrit plus précisément la mise en œuvre du procédé par le dispositif serveur SRV lorsqu’il reçoit, au cours d’une étape E10, à l’initiative de l’utilisateur U1, le trousseau de clés TR2-CL1 du dispositif client CL1 de la figure 1.We describe more precisely the implementation of the method by the server device SRV when it receives, during a step E10, on the initiative of the user U1, the bunch of keys TR2-CL1 from the client device CL1 of Figure 1.

Au cours d’une étape E20, le dispositif serveur SRV obtient une clé d’indexation CIX-CL1. Dans le mode de réalisation décrit ici, le dispositif serveur SRV reçoit cette clé d’indexation CIX-CL1 du dispositif client CL1. En variante, le dispositif serveur SRV peut calculer cette clé d’indexation lui-même au cours de l’étape E20.During a step E20, the server device SRV obtains an indexing key CIX-CL1. In the embodiment described here, the server device SRV receives this indexing key CIX-CL1 from the client device CL1. As a variant, the server device SRV can calculate this indexing key itself during step E20.

Conformément à l’invention, la clé d’indexation CIX-CL1 est calculée (par exemple par le dispositif serveur SRV ou par le dispositif client CL1) en appliquant une fonction de hachage cryptographique au moins à l’ensemble des clés publiques (ici KP-CL1) destinées à être authentifiées par un procédé d’authentification conforme à l’invention, et éventuellement d’autres fonctions.In accordance with the invention, the indexing key CIX-CL1 is calculated (for example by the server device SRV or by the client device CL1) by applying a cryptographic hash function at least to all the public keys (here KP -CL1) intended to be authenticated by an authentication method according to the invention, and possibly other functions.

Dans un mode de réalisation de l’invention, la clé d’indexation CIX-CL1 est obtenue par le dispositif client CL1 par une fonction F :In one embodiment of the invention, the indexing key CIX-CL1 is obtained by the client device CL1 by a function F:

  • en appliquant la fonction de hachage SHA-256 à une donnée binaire obtenue par concaténation des clés publiques du trousseau TR2-CL1 ; etby applying the SHA-256 hash function to binary data obtained by concatenating the public keys of the TR2-CL1 keychain; And
  • en tronquant le résultat de cette fonction de hachage à 80 bits.by truncating the result of this hash function to 80 bits.

Cette taille de 80 bits est définie en fonction d’un niveau de sécurité souhaité pour le vérificateur. D’autres tailles de clés d’indexation peuvent être utilisées.This 80-bit size is defined according to a desired level of security for the verifier. Other indexing key sizes can be used.

Lorsque le niveau de sécurité est de 80 bits et lorsqu’on utilise l’algorithme RSA, on peut utiliser des clés publique/privée comportant un modulus de 1024 bits et un exposant privé de 1024 bits.When the security level is 80 bits and when the RSA algorithm is used, public/private keys with a modulus of 1024 bits and a private exponent of 1024 bits can be used.

Au cours d’une étape E30, le procédé de gestion selon l’invention vérifie l’unicité de la clé d’indexation CIX-CL1 dans la base de données BD, autrement dit il vérifie que la clé d’indexation CIX-CL1 ne constitue pas déjà la clé d’indexation d’un enregistrement de la base de données BD.During a step E30, the management method according to the invention verifies the uniqueness of the CIX-CL1 indexing key in the database BD, in other words it verifies that the CIX-CL1 indexing key does not does not already constitute the indexing key of a DB database record.

Si la clé d’indexation CIX-CL1 est unique le résultat de l’étape E30 est positif et le procédé comporte une étape E40 d’enregistrement du trousseau TR2-CL1 dans un enregistrement ENRG-CL1 de la base de données BD, cet enregistrement représenté à la figure 4 étant indexé par la clé d’indexation CIX-CL1. Autrement dit, dans l’invention, chaque enregistrement de la base de données BD est indexé uniquement par une clé obtenue en appliquant une fonction de hachage aux valeurs de cet enregistrement.If the CIX-CL1 indexing key is unique, the result of step E30 is positive and the method includes a step E40 of recording the keychain TR2-CL1 in a record ENRG-CL1 of the database BD, this record represented in FIG. 4 being indexed by the indexing key CIX-CL1. In other words, in the invention, each record of the database BD is indexed only by a key obtained by applying a hash function to the values of this record.

Dans le mode de réalisation décrit ici, le nom (ou identifiant) U1 de l’utilisateur du dispositif client CL1 est enregistré dans l’enregistrement ENRG-CL1.In the embodiment described here, the name (or identifier) U1 of the user of the client device CL1 is recorded in the record ENRG-CL1.

Conformément à l’invention, la clé d’indexation CIX-CL1 sert de vérificateur VF-CL1 pour permettre l’authentification des clés publiques du trousseau TR2-CL1.In accordance with the invention, the indexing key CIX-CL1 serves as a VF-CL1 verifier to allow the authentication of the public keys of the TR2-CL1 keychain.

Dans la suite de la description, lorsque cette même valeur est utilisée comme clé d’indexation dans la base de données BD, on l’appellera « clé d’indexation CIX-CL1 » et lorsqu’elle est utilisée comme vérificateur on l’appellera « vérificateur VF-CL1 ».In the following description, when this same value is used as an indexing key in the BD database, it will be called "CIX-CL1 indexing key" and when it is used as a verifier, it will be called "VF-CL1 Verifier".

Le vérificateur VF-CL1 est destiné à être communiqué par l’utilisateur U1 à des tiers. Il peut par exemple être imprimé sur les cartes de visite de l’utilisateur U1.The VF-CL1 verifier is intended to be communicated by the user U1 to third parties. It can for example be printed on the business cards of user U1.

De retour à l’étape E30, si la clé d’indexation CIX-CL1 obtenue à l’étape E20 sert déjà de clé d’indexation dans la base de données BD (échec du test d’unicité), le résultat de l’étape E30 est négatif et le procédé comporte une étape E50 de rejet du trousseau TR2-CL1.Returning to step E30, if the CIX-CL1 indexing key obtained in step E20 is already used as an indexing key in the database BD (failure of the uniqueness test), the result of the step E30 is negative and the method comprises a step E50 of rejection of the TR2-CL1 keychain.

La figure 5 représente sous forme d’organigramme les principales étapes d’un procédé PA d’authentification d’une ou plusieurs clés publiques conforme à un mode particulier de réalisation de l’invention.FIG. 5 represents in the form of a flowchart the main steps of a method PA for authenticating one or more public keys in accordance with a particular embodiment of the invention.

Dans le mode de réalisation décrit ici, ce procédé est mis en œuvre par le dispositif client CL2 de la figure 1.In the embodiment described here, this method is implemented by the client device CL2 of Figure 1.

On décrit plus précisément la mise en œuvre du procédé d’authentification par le dispositif client CL2 pour authentifier la clé publique KP-CL1 du dispositif client CL1.We describe more precisely the implementation of the authentication method by the client device CL2 to authenticate the public key KP-CL1 of the client device CL1.

On suppose que le dispositif client CL2 reçoit, au cours d’une étape F10, le vérificateur VF-CL1 de l’utilisateur U1.It is assumed that the client device CL2 receives, during a step F10, the verifier VF-CL1 from the user U1.

Conformément à l’invention, ce vérificateur VF-CL1 constitue une clé d’indexation CIX-CL1 d’un enregistrement ENRG-CL1 dans la base de données BD, cet enregistrement comportant un trousseau TR2-CL1 comportant la clé publique KP-CL1.In accordance with the invention, this verifier VF-CL1 constitutes a CIX-CL1 indexing key of a record ENRG-CL1 in the database BD, this record comprising a keychain TR2-CL1 comprising the public key KP-CL1.

Au cours d’une étape F20, le dispositif client CL2 obtient le trousseau TR2-CL1 à partir de la clé d’indexation CIX-CL1 en interrogeant le dispositif serveur SRV.During a step F20, the client device CL2 obtains the keychain TR2-CL1 from the indexing key CIX-CL1 by querying the server device SRV.

Dans un mode particulier de réalisation, le dispositif client CL2 reçoit en outre le nom U1 de l’utilisateur associé à la clé d’indexation CIX-CL1 dans la base de données BD. L’utilisateur U2 peut ainsi s’assurer qu’il a bien saisi le bon vérificateur.In a particular embodiment, the client device CL2 also receives the name U1 of the user associated with the indexing key CIX-CL1 in the database BD. The user U2 can thus ensure that he has entered the correct verifier.

Au cours d’une étape F30, le dispositif client CL2 calcule une valeur cryptographique HA en appliquant une fonction cryptographique F identique à celle utilisée à l’étape E20 du procédé de gestion de base de données décrit en référence à la figure 3 aux clés publiques du trousseau TR2-CL1, à savoir ici à KP-CL1.During a step F30, the client device CL2 calculates a cryptographic value HA by applying a cryptographic function F identical to that used in step E20 of the database management method described with reference to FIG. 3 to the public keys of the TR2-CL1 keychain, namely here at KP-CL1.

Au cours d’une étape F40, le dispositif client CL2 compare la valeur cryptographique HA obtenue à l’étape F30 et le vérificateur VF-CL1 obtenu à l’étape F10.During a step F40, the client device CL2 compares the cryptographic value HA obtained in step F30 and the verifier VF-CL1 obtained in step F10.

La clé publique KP-CL1 est authentifiée au cours d’une étape F50 si et seulement si le vérificateur VF-CL1 et la valeur cryptographique HA sont égaux. Sinon la clé publique KP-CL1 est considérée comme non valide au cours d’une étape F60.The public key KP-CL1 is authenticated during a step F50 if and only if the verifier VF-CL1 and the cryptographic value HA are equal. Otherwise the public key KP-CL1 is considered invalid during a step F60.

Nous décrivons en référence à la figure 6 un premier exemple d’utilisation de l’invention dans lequel l’utilisateur UT du dispositif client TX de la figure 1 souhaite envoyer une donnée utile DU à l’utilisateur UR du dispositif client RX de la figure 1.We describe with reference to FIG. 6 a first example of use of the invention in which the user UT of the client device TX of FIG. 1 wishes to send a payload data DU to the user UR of the client device RX of FIG. 1.

Dans ce mode de réalisation le dispositif client TX met en œuvre un procédé PTX et le dispositif client RX met en œuvre un procédé PRX.In this embodiment, the client device TX implements a PTX method and the client device RX implements a PRX method.

On suppose dans cet exemple que le dispositif TX a déjà demandé au dispositif serveur SRV, au cours d’une étape G10, l’enregistrement d’un trousseau TR2-TX dans la base de données BD, ce trousseau TR2-TX comportant une clé publique de chiffrement KPa-TX et une clé publique de vérification de signature KPb-TX. On suppose que ce trousseau TR2-TX est enregistré dans un enregistrement ENRG-TX de la base de données BD, cet enregistrement étant indexé par une clé d’indexation CIX-TX. Dans le mode de réalisation décrit, cet enregistrement ENRG-TX comporte en outre le nom de l’utilisateur UT du dispositif TX.It is assumed in this example that the device TX has already requested the server device SRV, during a step G10, the recording of a keychain TR2-TX in the database BD, this keychain TR2-TX comprising a key public encryption key KPa-TX and a public signature verification key KPb-TX. It is assumed that this TR2-TX keychain is recorded in an ENRG-TX record in the BD database, this record being indexed by a CIX-TX indexing key. In the embodiment described, this ENRG-TX record also includes the name of the user UT of the TX device.

La clé d’indexation CIX-TX constitue un vérificateur VF-TX que l’utilisateur UT peut communiquer aux tiers.The CIX-TX indexing key constitutes a VF-TX verifier that the UT user can communicate to third parties.

Plus précisément, dans l’exemple décrit ici, le dispositif serveur SRV a, en réponse à la demande du dispositif TX, mis en œuvre le procédé de gestion de base de données PGBD décrit précédemment en référence à la figure 3 et enregistré le trousseau TR2-TX dans l’enregistrement ENRG-TX indexé par la clé d’indexation CIX-TX, après avoir vérifié l’unicité de cette clé.More specifically, in the example described here, the server device SRV has, in response to the request from the device TX, implemented the PGBD database management method described previously with reference to FIG. 3 and recorded the keychain TR2 -TX in the ENRG-TX record indexed by the CIX-TX indexing key, after verifying the uniqueness of this key.

On suppose aussi que le dispositif RX a déjà demandé au dispositif serveur SRV, au cours d’une étape H10, l’enregistrement d’un trousseau TR2-RX dans la base de données BD, ce trousseau TR2-RX comportant une clé publique de chiffrement KPa-RX et une clé publique de vérification de signature KPb-RX.It is also assumed that the device RX has already requested the server device SRV, during a step H10, to record a keychain TR2-RX in the database BD, this keychain TR2-RX comprising a public key of KPa-RX encryption and a KPb-RX signature verification public key.

De la même façon, on suppose que le dispositif serveur SRV a, en réponse à cette demande, mis en œuvre le procédé de gestion de base de données PGBD décrit précédemment en référence à la figure 3 et enregistré le trousseau TR2-RX dans un enregistrement ENRG-RX de la base de données BD, cet enregistrement étant indexé par une clé d’indexation CIX-RX, après avoir vérifié l’unicité de cette clé. Dans le mode de réalisation décrit, cet enregistrement ENRG-RX comporte aussi le nom de l’utilisateur UR du dispositif RX.In the same way, it is assumed that the server device SRV has, in response to this request, implemented the PGBD database management method previously described with reference to FIG. 3 and recorded the keychain TR2-RX in a record ENRG-RX of the BD database, this recording being indexed by an indexing key CIX-RX, after checking the uniqueness of this key. In the embodiment described, this record ENRG-RX also includes the name of the user UR of the RX device.

La clé d’indexation CIX-RX constitue un vérificateur VF-RX que l’utilisateur UR peut communiquer aux tiers.The CIX-RX indexing key constitutes a VF-RX verifier that the UR user can communicate to third parties.

On suppose que l’utilisateur UT a obtenu le vérificateur VF-RX de l’utilisateur UR au cours d’une étape G20.It is assumed that the user UT has obtained the verifier VF-RX from the user UR during a step G20.

Au cours d’une étape G30, le dispositif client TX authentifie la clé publique de chiffrement KPa-RX du dispositif client RX en mettant en œuvre le procédé PA d’authentification de clé publique décrit précédemment en référence à la figure 5. En résumé, cette étape G30 consiste à obtenir le trousseau TR2-RX à partir du vérificateur VF-RX, à calculer une valeur cryptographique HA à partir des clés publiques comprises dans ce trousseau et à vérifier que cette valeur cryptographique HA est égale au vérificateur VF-RX.During a step G30, the client device TX authenticates the public encryption key KPa-RX of the client device RX by implementing the public key authentication method PA previously described with reference to FIG. 5. In summary, this step G30 consists in obtaining the keychain TR2-RX from the verifier VF-RX, in calculating a cryptographic value HA from the public keys included in this keychain and in verifying that this cryptographic value HA is equal to the verifier VF-RX.

Au cours d’une étape G140, le dispositif client TX chiffre la donnée utile DU avec la clé publique de chiffrement KPa-RX du dispositif client RX. La donnée utile chiffrée, résultat de ce chiffrement, est notée DU-ENC.During a step G140, the client device TX encrypts the useful data DU with the public encryption key KPa-RX of the client device RX. The encrypted useful data, result of this encryption, is denoted DU-ENC.

Au cours d’une étape G150, le dispositif client TX envoie la donnée utile chiffrée DU-ENC au dispositif client RX.During a step G150, the client device TX sends the encrypted useful data DU-ENC to the client device RX.

Dans cet exemple, le dispositif client RX reçoit la donnée utile chiffrée DU-ENC au cours d’une étape H150 et la déchiffre avec sa clé privée de déchiffrement KSa-RX au cours d’une étape H160 pour obtenir la donnée utile en clair DU.In this example, the client device RX receives the encrypted useful data DU-ENC during a step H150 and decrypts it with its private decryption key KSa-RX during a step H160 to obtain the useful data in clear DU .

Nous décrivons en référence à la figure 7 un deuxième exemple d’utilisation de l’invention dans lequel l’utilisateur UT du dispositif client TX de la figure 1 souhaite envoyer une donnée utile DU à l’utilisateur UR du dispositif client RX de la figure 1.We describe with reference to FIG. 7 a second example of use of the invention in which the user UT of the client device TX of FIG. 1 wishes to send a payload data DU to the user UR of the client device RX of FIG. 1.

Cet exemple utilise un mécanisme de cryptographie hybride.This example uses a hybrid cryptography mechanism.

Les étapes G10 à G30 et H10 de ce deuxième exemple sont identiques aux étapes correspondantes du premier exemple de la figure 6.Steps G10 to G30 and H10 of this second example are identical to the corresponding steps of the first example of figure 6.

Dans cet exemple de réalisation, le dispositif client TX génère une clé aléatoire secrète K au cours d’une étape G240 postérieure à l’étape G30 et chiffre, au cours d’une étape G250 la donnée utile DU avec la clé aléatoire K selon un algorithme de cryptographie symétrique. La donnée utile chiffrée, résultat de ce chiffrement, est notée DU-ENC.In this exemplary embodiment, the client device TX generates a secret random key K during a step G240 after step G30 and encrypts, during a step G250, the payload data DU with the random key K according to a symmetric cryptography algorithm. The encrypted useful data, result of this encryption, is denoted DU-ENC.

Au cours d’une étape G260, le dispositif client TX chiffre la clé aléatoire secrète K avec la clé publique de chiffrement KPa-RX du dispositif client RX. La clé aléatoire secrète chiffrée, résultat de ce chiffrement, est notée K-ENC.During a step G260, the client device TX encrypts the secret random key K with the public encryption key KPa-RX of the client device RX. The encrypted secret random key, result of this encryption, is denoted K-ENC.

Au cours d’une étape G270, le dispositif client TX envoie la donnée utile chiffrée DU-ENC et la clé aléatoire secrète chiffrée K-ENC au dispositif client RX.During a step G270, the client device TX sends the encrypted useful data DU-ENC and the encrypted secret random key K-ENC to the client device RX.

Dans cet exemple, le dispositif client RX reçoit la donnée utile chiffrée DU-ENC et la clé secrète chiffrée K-ENC au cours d’une étape H250.In this example, the client device RX receives the encrypted useful data DU-ENC and the encrypted secret key K-ENC during a step H250.

Au cours d’une étape H260, le dispositif client RX déchiffre la clé secrète chiffrée K-ENC avec sa clé privée de déchiffrement KSa-RX pour obtenir la clé secrète en clair K.During a step H260, the client device RX decrypts the encrypted secret key K-ENC with its private decryption key KSa-RX to obtain the clear secret key K.

Au cours d’une étape H270, le dispositif client RX déchiffre la donnée utile chiffrée DU-ENC avec la clé secrète K en appliquant l’algorithme de cryptographie symétrique précité pour obtenir la donnée utile en clair DU.During a step H270, the client device RX decrypts the encrypted useful data DU-ENC with the secret key K by applying the aforementioned symmetric cryptography algorithm to obtain the useful data in clear DU.

Nous décrivons en référence à la figure 8 un troisième exemple d’utilisation de l’invention dans lequel l’utilisateur UT du dispositif client TX de la figure 1 souhaite envoyer une donnée utile DU à l’utilisateur UR du dispositif client RX de la figure 1.We describe with reference to FIG. 8 a third example of use of the invention in which the user UT of the client device TX of FIG. 1 wishes to send a payload data DU to the user UR of the client device RX of FIG. 1.

Cet exemple ajoute un mécanisme de signature.This example adds a signing mechanism.

Les étapes G10 à G260, H10, H260 et H270 de ce troisième exemple sont identiques aux étapes correspondantes du deuxième exemple de la figure 7.Steps G10 to G260, H10, H260 and H270 of this third example are identical to the corresponding steps of the second example of figure 7.

On suppose que l’utilisateur UR a obtenu le vérificateur VF-TX de l’utilisateur UT au cours d’une étape H300.It is assumed that the user UR has obtained the verifier VF-TX from the user UT during a step H300.

Au cours d’une étape H310, le dispositif client RX authentifie la clé publique de vérification de signature KPb-TX du dispositif client TX en mettant en œuvre le procédé PA d’authentification de clé publique décrit précédemment en référence à la figure 5. En résumé, cette étape H310 consiste à obtenir le trousseau TR2-TX à partir du vérificateur VF-TX, calculer une valeur cryptographique HA à partir des clés publiques comprises dans ce trousseau et vérifier que cette valeur cryptographique HA est égale au vérificateur VF-TX.During a step H310, the client device RX authenticates the public signature verification key KPb-TX of the client device TX by implementing the public key authentication method PA previously described with reference to FIG. In summary, this step H310 consists in obtaining the keychain TR2-TX from the verifier VF-TX, calculating a cryptographic value HA from the public keys included in this keyring and verifying that this cryptographic value HA is equal to the verifier VF-TX.

Dans cet exemple, au cours d’une étape G370 consécutive à l’étape G260, le dispositif client TX calcule un haché HDU de la donnée utile DU et chiffre (étape G380) ce haché HDU avec sa clé privée de signature KSb-TX. Le haché chiffré de la donnée utile DU constitue une signature de la donnée utile DU, il est noté HDU-SIG.In this example, during a step G370 following step G260, the client device TX calculates an HDU hash of the useful data DU and encrypts (step G380) this HDU hash with its private signature key KSb-TX. The encrypted hash of the useful data DU constitutes a signature of the useful data DU, it is denoted HDU-SIG.

Au cours d’une étape G390, le dispositif client TX envoie la donnée utile chiffrée DU-ENC, la clé aléatoire secrète chiffrée K-ENC et le haché chiffré HDU-SIG de la donnée utile DU au dispositif client RX.During a step G390, the client device TX sends the encrypted payload data DU-ENC, the encrypted secret random key K-ENC and the encrypted hash HDU-SIG of the payload data DU to the client device RX.

Dans cet exemple, le dispositif client RX reçoit la donnée utile chiffrée DU-ENC, la clé secrète chiffrée K-ENC et le haché chiffré HDU-SIG de la donnée utile au cours d’une étape H320.In this example, the client device RX receives the encrypted useful data DU-ENC, the encrypted secret key K-ENC and the encrypted hash HDU-SIG of the useful data during a step H320.

Cette étape H320 est suivie par les étapes H260 et H270 déjà décrites qui permettent au dispositif client RX d’obtenir la donnée utile DU.This step H320 is followed by the steps H260 and H270 already described which allow the client device RX to obtain the useful data DU.

Dans cet exemple, le dispositif client RX déchiffre, au cours d’une étape H380, le haché chiffré HDU-SIG de la donnée utile à l’aide de la clé publique de vérification de signature KPb-TX du dispositif client TX pour obtenir le haché HDU de la donnée utile DU en clair.In this example, the client device RX decrypts, during a step H380, the HDU-SIG encrypted hash of the useful data using the public signature verification key KPb-TX of the client device TX to obtain the HDU hash of the plaintext DU payload.

Au cours d’une étape H390, le dispositif client RX calcule le haché de la donnée utile DU obtenue à l’étape H270 et vérifie que ce haché est identique au haché HDU obtenu à l’étape H380.During a step H390, the client device RX calculates the hash of the payload data DU obtained in step H270 and verifies that this hash is identical to the hash HDU obtained in step H380.

Si c’est le cas, l’étape H390 est suivie par une étape H392 au cours de laquelle le dispositif client RX accepte la donnée utile DU. Dans le cas contraire il la rejette au cours d’une étape H394.If this is the case, step H390 is followed by a step H392 during which the client device RX accepts the useful data DU. Otherwise, it rejects it during a step H394.

Nous décrivons en référence à la figure 9 un quatrième exemple d’utilisation de l’invention dans lequel l’utilisateur UT du dispositif client TX de la figure 1 souhaite envoyer une donnée utile DU à l’utilisateur UR du dispositif client RX de la figure 1.We describe with reference to FIG. 9 a fourth example of use of the invention in which the user UT of the client device TX of FIG. 1 wishes to send a payload data DU to the user UR of the client device RX of FIG. 1.

Cet exemple reprend celui de la figure 6 en ajoutant, comme dans celui de figure 9 un mécanisme de signature.This example repeats that of FIG. 6 by adding, as in that of FIG. 9, a signature mechanism.

Les étapes G10 à G140 et H10 sont identiques aux étapes correspondantes du premier exemple de la figure 6.Steps G10 to G140 and H10 are identical to the corresponding steps of the first example in Figure 6.

Les étapes G380, H300 et H310 sont identiques aux étapes correspondantes du troisième exemple de la figure 8.Steps G380, H300 and H310 are identical to the corresponding steps of the third example of FIG. 8.

Dans ce procédé, le dispositif client TX envoie (étape G420) la donnée utile chiffrée DU-ENC et le haché chiffré HDU-SIG de la donnée utile au dispositif client RX. Celui-ci reçoit ces données au cours d’une étape H420.In this method, the client device TX sends (step G420) the encrypted useful data DU-ENC and the encrypted hash HDU-SIG of the useful data to the client device RX. The latter receives these data during a step H420.

Le dispositif client RX déchiffre la donnée utile chiffrée DU-ENC avec sa clé privée de déchiffrement KSa-RX au cours d’une étape H160 pour obtenir la donnée utile en clair DU, comme décrit précédemment en référence à la figure 6.The client device RX decrypts the encrypted payload data DU-ENC with its private decryption key KSa-RX during a step H160 to obtain the payload data in clear DU, as described previously with reference to FIG. 6.

Puis, comme décrit en référence à la figure 8 :Then, as described with reference to Figure 8:

  • le dispositif client RX déchiffre le haché chiffré HDU-SIG de la donnée utile pour obtenir le haché HDU de la donnée utile DU en clair (étape H380) ;the client device RX decrypts the encrypted HDU-SIG hash of the payload to obtain the HDU hash of the payload DU in clear (step H380);
  • calcule le haché de la donnée utile DU obtenue à l’étape H160 et vérifie (étape H390) que ce haché est identique au haché HDU obtenu à l’étape H380.calculates the hash of the useful data DU obtained in step H160 and verifies (step H390) that this hash is identical to the hash HDU obtained in step H380.

Si c’est le cas, l’étape H390 est suivie par une étape H392 au cours de laquelle le dispositif client RX accepte la donnée utile DU. Dans le cas contraire il la rejette au cours d’une étape H394.If this is the case, step H390 is followed by a step H392 during which the client device RX accepts the useful data DU. Otherwise, it rejects it during a step H394.

Dans les modes de réalisation de l’invention décrits précédemment, le dispositif client émetteur TX envoie directement les données au dispositif client récepteur RX. Il s’agit notamment :In the embodiments of the invention described above, the sender client device TX directly sends the data to the receiver client device RX. These include:

  • de la donnée utile chiffrée DU-ENC envoyée à l’étape G150, G270, G390 ou G420 ;the DU-ENC encrypted payload sent in step G150, G270, G390 or G420;
  • de la clé secrète chiffrée K-ENC envoyée à l’étape G270 ou G390 ;the K-ENC encrypted secret key sent at step G270 or G390;
  • de la signature de la donnée utile HDU-SIG envoyée à l’étape G390 ou G420.the signature of the HDU-SIG payload data sent in step G390 or G420.

En variante, le dispositif client émetteur TX envoie ces données au dispositif serveur SRV. Celui-ci notifie le dispositif client récepteur RX pour qu’il puisse les obtenir à partir du serveur SRV.Alternatively, the sender client device TX sends this data to the server device SRV. This notifies the receiving client device RX so that it can obtain them from the server SRV.

La figure 10 représente une vue fonctionnelle du dispositif serveur de la figure 1. Il comporte FIG. 10 represents a functional view of the server device of FIG. 1. It comprises

  • une unité COM d’obtention d’un trousseau de clés. Dans l’exemple de la figure 1 cette unité est constituée par le module de communication 13 ;a COM unit for obtaining a bunch of keys. In the example of Figure 1 this unit is constituted by the communication module 13;
  • une unité COM d’obtention d’une clé d’indexation. Cette unité peut être constituée par le module de communication 13 lorsque le serveur reçoit la clé d’indexation via le réseau R ou par un module cryptographique non représenté lorsque le serveur SRV calcule lui-même cette clé CIX-CL1 en mettant en œuvre notamment la fonction de hachage cryptographique appliquée au moins aux clés publiques dudit trousseau destinées à être authentifiées ;a COM unit for obtaining an indexing key. This unit can be constituted by the communication module 13 when the server receives the indexing key via the network R or by a cryptographic module not represented when the server SRV calculates itself this key CIX-CL1 by implementing in particular the cryptographic hash function applied at least to the public keys of said keyring intended to be authenticated;
  • une unité de contrôle CTR configurée pour vérifier l’unicité d’une clé d’indexation dans une base de données BD de clés publiques ; cette unité de contrôle peut être constituée par un gestionnaire de base de données ;a CTR control unit configured to verify the uniqueness of an indexing key in a public key DB database; this control unit can be constituted by a database manager;
  • une unité STR d’enregistrement configurée pour enregistrer un trousseau dans un enregistrement de la base de données BD, cet enregistrement étant indexé par la clé d’indexation. Cette unité d’enregistrement peut être constituée par un gestionnaire de base de données ; cette unité STR peut être confondue avec l’unité de contrôle CTR ;a record STR unit configured to record a keychain to a record in the BD database, which record is indexed by the index key. This unit of record may be a database manager; this STR unit can be confused with the CTR control unit;
  • une unité configurée pour rejeter un trousseau si la clé d’indexation obtenue pour ce trousseau n’est pas unique. Dans le mode de réalisation décrit ici, cette unité est l’unité de contrôle CTR précitée.a unit configured to reject a keychain if the index key obtained for that keychain is not unique. In the embodiment described here, this unit is the aforementioned CTR control unit.

La figure 11 représente une vue fonctionnelle d’un dispositif d’authentification DPA conforme à l’invention. Il comporte :FIG. 11 represents a functional view of a DPA authentication device in accordance with the invention. It comprises :

  • une unité IHM d’obtention d’un vérificateur. Cette unité peut être constituée par une interface homme-machine permettant à un utilisateur de saisir un vérificateur ;an HMI unit for obtaining a verifier. This unit may consist of a human-machine interface allowing a user to enter a verifier;
  • une unité COM d’obtention d’un trousseau de clés à partir d’une clé d’indexation. Cette unité d’obtention peut être constituée par des moyens de communication, ceux-ci étant configurés pour interroger la base de données et pour recevoir le trousseau de clés indexé dans la base de données par la clé d’indexation.a COM unit for obtaining a keyring from an indexing key. This obtaining unit can be constituted by means of communication, these being configured to interrogate the database and to receive the bunch of keys indexed in the database by the indexing key.
  • une unité cryptographique CRY configurée pour obtenir une valeur cryptographique HA en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à au moins une clé publique ;a cryptographic unit CRY configured to obtain a cryptographic value HA by at least implementing a cryptographic hash function applied to at least at least one public key;
  • une unité de contrôle CTR configurée pour comparer une valeur cryptographique obtenue par l’unité cryptographique CRY et un vérificateur ; eta control unit CTR configured to compare a cryptographic value obtained by the cryptographic unit CRY and a verifier; And
  • une unité d’authentification configurée pour authentifier la clé publique précitée en fonction du résultat de la comparaison. Cette unité d’authentification peut être constituée par l’unité de contrôle CTR.an authentication unit configured to authenticate the aforementioned public key according to the result of the comparison. This authentication unit can be constituted by the control unit CTR.

La figure 12 représente un dispositif client CL conforme à un mode de réalisation de l’invention. Il comporte un processeur 30 et une mémoire 31 dans laquelle est mémorisée un programme d’ordinateur PGCL. Ce programme PGCL est un programme apte à mettre en œuvre, lorsqu’il est exécuté par le processeur 30, un procédé sécurisé de transmission de données et un procédé sécurisé de réception de données, ces procédés étant conformes à l’invention.Figure 12 shows a client device CL according to one embodiment of the invention. It comprises a processor 30 and a memory 31 in which a computer program PGCL is stored. This program PGCL is a program capable of implementing, when it is executed by the processor 30, a secure data transmission method and a secure data reception method, these methods being in accordance with the invention.

Ce programme PGCL fait appel à un programme PGPA mémorisé dans la mémoire 31 pour chaque étape d’authentification de clé publique.This program PGCL uses a program PGPA stored in memory 31 for each public key authentication step.

Ce programme PGA est un programme apte à mettre en œuvre un procédé d’authentification conforme à l’invention.This PGA program is a program capable of implementing an authentication method in accordance with the invention.

L’ensemble constitué par le processeur 30, la mémoire 31 et le programme d’ordinateur 31 constitue un dispositif d’authentification au sens de l’invention.The assembly constituted by the processor 30, the memory 31 and the computer program 31 constitutes an authentication device within the meaning of the invention.

Claims (19)

Procédé (PGBD) de gestion d’une base de données (BD) de clés publiques, ce procédé étant mis en œuvre par un dispositif serveur (SRV), comportant :
- une étape (E10) d’obtention d’un trousseau de clés, ledit trousseau (TR2-CL1) comportant au moins une clé publique (KP-CL1) destinée à être authentifiée par un procédé d’authentification selon la revendication 4, chacune des dites clés publiques étant associée à une clé privée (KS-CL1);
- une étape (E20) d’obtention d’une clé d’indexation (CIX-CL1), ladite clé d’indexation étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à ladite au moins une clé publique (KP-CL1) ;
une étape (E30) de vérification de l’unicité de ladite clé d’indexation (CIX-CL1) dans ladite base de données (BD); et
- soit une étape (E40) d’enregistrement dudit trousseau (TR2-CL1) dans un enregistrement (ENRG-CL1) de ladite base de données indexé par ladite clé d’indexation (CIX-CL1) en cas de succès de ladite étape (E30) de vérification d’unicité ;
- soit une étape (E50) de rejet dudit trousseau (TR2-CL1) en cas d’échec de ladite étape (E30) de vérification d’unicité.
Method (PGBD) for managing a database (BD) of public keys, this method being implemented by a server device (SRV), comprising:
- a step (E10) of obtaining a set of keys, said set (TR2-CL1) comprising at least one public key (KP-CL1) intended to be authenticated by an authentication method according to claim 4, each said public keys being associated with a private key (KS-CL1);
- a step (E20) of obtaining an indexing key (CIX-CL1), said indexing key being obtained by at least implementing a cryptographic hash function applied at least to said at least one public key (KP-CL1);
a step (E30) of verifying the uniqueness of said indexing key (CIX-CL1) in said database (BD); And
- either a step (E40) of recording said keychain (TR2-CL1) in a record (ENRG-CL1) of said database indexed by said indexing key (CIX-CL1) in the event of success of said step ( E30) uniqueness check;
- or a step (E50) of rejecting said keychain (TR2-CL1) in the event of failure of said step (E30) of uniqueness verification.
Procédé de gestion selon la revendication 1 dans lequel ladite clé d’indexation (CIX-CL1) est reçue (E20) d’un dispositif client (CL1).Management method according to claim 1 wherein said indexing key (CIX-CL1) is received (E20) from a client device (CL1). Procédé de gestion selon la revendication 1 dans lequel ladite clé d’indexation (CIX-CL1) est calculée (E20) par ledit dispositif serveur (SRV).Management method according to claim 1 wherein said indexing key (CIX-CL1) is calculated (E20) by said server device (SRV). Procédé (PA) d’authentification d’au moins une clé publique (KP-CL1) comportant :
- une étape d’obtention (F10) d’un vérificateur (VF-CL1), ce vérificateur (VF-CL1) constituant une clé d’indexation (CIX-CL1) d’un enregistrement (ENRG-CL1) comportant un trousseau (TR2-CL1) de clés comportant ladite au moins une clé publique (KP-CL1) dans une base de données (BD) ;
- une étape (F20) d’obtention dudit trousseau (TR2-CL1) à partir de ladite clé d’indexation (CIX-CL1) ;
- une étape (F30) d’obtention d’une valeur cryptographique (HA), ladite valeur cryptographique (HA) étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à ladite au moins une clé publique (KP-CL1) ;
- une étape (F40) de comparaison de ladite valeur cryptographique (HA) et dudit vérificateur (VF-CL1);
- une étape (F50) d’authentification de ladite au moins une clé publique (KP-CL1) en fonction du résultat de ladite étape (F40) de comparaison.
Method (PA) for authenticating at least one public key (KP-CL1) comprising:
- a step of obtaining (F10) a verifier (VF-CL1), this verifier (VF-CL1) constituting an indexing key (CIX-CL1) of a record (ENRG-CL1) comprising a keychain ( TR2-CL1) of keys comprising said at least one public key (KP-CL1) in a database (BD);
- a step (F20) for obtaining said keychain (TR2-CL1) from said indexing key (CIX-CL1);
- a step (F30) of obtaining a cryptographic value (HA), said cryptographic value (HA) being obtained by implementing at least one cryptographic hash function applied at least to said at least one public key (KP- CL1);
- a step (F40) of comparing said cryptographic value (HA) and said verifier (VF-CL1);
- a step (F50) of authentication of said at least one public key (KP-CL1) according to the result of said comparison step (F40).
Procédé sécurisé de transmission d’une donnée (DU, K) par un dispositif client émetteur (TX) à un dispositif client récepteur (RX), ledit procédé comportant :
- une étape (G20, G30) d’authentification d’une clé publique de chiffrement (KPa-RX) dudit dispositif client récepteur (RX) en mettant en œuvre un procédé d’authentification conforme à la revendication 4 ;
-une étape (G140, G260) de chiffrement de ladite donnée (K, DU) avec ladite clé publique de chiffrement (KPa-RX) ; et
- une étape (G150, G270, G390, G420) de mise à disposition de ladite donnée chiffrée (DU-ENC, K-ENC) audit dispositif client récepteur (RX).
Secure method for transmitting data (DU, K) by a sender client device (TX) to a receiver client device (RX), said method comprising:
- a step (G20, G30) of authenticating a public encryption key (KPa-RX) of said receiver client device (RX) by implementing an authentication method in accordance with claim 4;
-a step (G140, G260) of encrypting said datum (K, DU) with said public encryption key (KPa-RX); And
- a step (G150, G270, G390, G420) of making said encrypted data item (DU-ENC, K-ENC) available to said receiver client device (RX).
Procédé sécurisé de transmission de donnée selon la revendication 5 dans lequel la donnée (K) est une clé secrète utilisée pour chiffrer (G250) une donnée utile (DU) à l’aide d’un algorithme de cryptographie symétrique, ledit procédé comportant :
- une étape (G240) d’obtention de ladite clé secrète (K) ;
une étape (G250) de chiffrement de ladite donnée utile (DU) avec ladite clé secrète (K) ;
- ladite donnée utile chiffrée (DU-ENC) étant mise à disposition dudit dispositif client récepteur (RX) (G270, G390) avec ladite clé secrète chiffrée (K-ENC), ladite clé secrète chiffrée (K-ENC) ayant été chiffrée avec ladite clé publique de chiffrement (KPa-RX).
Secure data transmission method according to Claim 5, in which the data item (K) is a secret key used to encrypt (G250) a useful data item (DU) using a symmetric cryptography algorithm, the said method comprising:
- a step (G240) of obtaining said secret key (K);
a step (G250) of encrypting said payload data (DU) with said secret key (K);
- said encrypted useful data (DU-ENC) being made available to said receiver client device (RX) (G270, G390) with said encrypted secret key (K-ENC), said encrypted secret key (K-ENC) having been encrypted with said public encryption key (KPa-RX).
Procédé sécurisé de transmission de donnée selon la revendication 6, ledit procédé comportant :
- une étape (G380) de signature de ladite donnée utile (DU) avec une clé secrète de signature (KSb-TX) dudit dispositif client émetteur (TX) ;
- la signature (HDU-SIG) de ladite donnée utile étant mise à disposition dudit dispositif client récepteur (RX) (G390) avec ladite clé secrète chiffrée (K-ENC) et avec ladite donnée utile chiffrée (DU-ENC).
Secure data transmission method according to claim 6, said method comprising:
- a step (G380) of signing said payload data (DU) with a secret signature key (KSb-TX) of said sender client device (TX);
- the signature (HDU-SIG) of said payload data being made available to said receiver client device (RX) (G390) with said encrypted secret key (K-ENC) and with said encrypted payload data (DU-ENC).
Procédé sécurisé de transmission de donnée selon la revendication 5, dans lequel la donnée (DU) est une donnée utile, ledit procédé comportant :
- une étape (G380) de signature de ladite donnée utile (DU) avec une clé privée de signature (KSb-TX) dudit dispositif client émetteur (TX) ;
la signature (HDU-SIG) de ladite donnée utile étant mise à disposition dudit dispositif client récepteur (RX) (G420) avec ladite donnée utile chiffrée (DU-ENC).
Secure data transmission method according to claim 5, in which the data (DU) is a useful data, said method comprising:
- a step (G380) of signing said payload data (DU) with a private signature key (KSb-TX) of said sender client device (TX);
the signature (HDU-SIG) of said useful data being made available to said receiver client device (RX) (G420) with said encrypted useful data (DU-ENC).
Procédé sécurisé de réception, par un dispositif client récepteur (RX) et en provenance d’un dispositif client émetteur (TX), d’une donnée utile (DU), le procédé comportant :
- une étape (H420, H320) de réception de ladite donnée utile chiffrée (DU-ENC) et d’une signature (HDU-SIG) de ladite donnée utile (DU), ladite signature (HDU-SIG) ayant été obtenue (G380) avec une clé privée de signature (KSb-TX) dudit dispositif client émetteur (TX) ;
- une étape d’authentification (H310) d’une clé publique (KPb-TX) de vérification de signature dudit dispositif client émetteur (TX) en mettant en œuvre un procédé d’authentification conforme à la revendication 4 ;
- une étape (H160, H260, H270) d’obtention de ladite donnée utile (DU) à partir de ladite donnée utile chiffrée (DU-ENC) en utilisant la clé privée de déchiffrement (KSa-RX) dudit dispositif récepteur (RX) ;
- une étape (H380) de déchiffrement de ladite signature (HDU-SIG) avec ladite clé publique de vérification de signature (KPb-TX) dudit dispositif émetteur (TX) ;
- une étape (H390) de validation de ladite donnée utile (DU) à partir du résultat (HDU) de ladite étape (H380) de déchiffrement et d’un haché de ladite donnée utile (DU), celle-ci étant obtenue (H160, H260, H270) à partir de ladite donnée utile chiffrée (DU-ENC).
Secure method for receiving, by a receiving client device (RX) and originating from a transmitting client device (TX), a useful data item (DU), the method comprising:
- a step (H420, H320) of receiving said encrypted useful data (DU-ENC) and a signature (HDU-SIG) of said useful data (DU), said signature (HDU-SIG) having been obtained (G380 ) with a private signature key (KSb-TX) of said sender client device (TX);
- a step of authentication (H310) of a public key (KPb-TX) for verifying the signature of said sender client device (TX) by implementing an authentication method in accordance with claim 4;
- a step (H160, H260, H270) of obtaining said payload data (DU) from said encrypted payload data (DU-ENC) using the private decryption key (KSa-RX) of said receiver device (RX) ;
- a step (H380) of decrypting said signature (HDU-SIG) with said public signature verification key (KPb-TX) of said transmitter device (TX);
- a step (H390) for validating said payload data (DU) based on the result (HDU) of said decryption step (H380) and a hash of said payload data (DU), the latter being obtained (H160 , H260, H270) from said encrypted payload data (DU-ENC).
Procédé sécurisé de réception d’une donnée utile (DU) selon la revendication 9, ledit procédé comportant en outre :
- une étape (H320) de réception d’une clé secrète chiffrée (K-ENC) avec une clé publique (KPa-RX) de chiffrement dudit dispositif client récepteur (RX) ;
- une étape (H260) d’obtention de ladite clé secrète (K) à partir de ladite clé secrète chiffrée (K-ENC) et de ladite clé privée de déchiffrement (KSa-RX) dudit dispositif client récepteur (RX) ;
ladite donnée utile (DU) étant obtenue (H270) à partir de ladite donnée utile chiffrée (DU-ENC) et de ladite clé secrète (K).
Secure method for receiving a useful data item (DU) according to claim 9, said method further comprising:
- a step (H320) of receiving an encrypted secret key (K-ENC) with a public key (KPa-RX) for encrypting said receiver client device (RX);
- a step (H260) of obtaining said secret key (K) from said encrypted secret key (K-ENC) and from said private decryption key (KSa-RX) of said receiver client device (RX);
said useful data (DU) being obtained (H270) from said encrypted useful data (DU-ENC) and said secret key (K).
Dispositif serveur (SRV) comportant :
- une unité (COM) d’obtention d’un trousseau de clés, ledit trousseau (TR2-CL1) comportant au moins une clé publique (KP-CL1) destinée à être authentifiée par un procédé d’authentification selon la revendication 4, chacune des dites clés publiques étant associée à une clé privée (KS-CL1);
- une unité (COM, CRY) d’obtention d’une clé d’indexation (CIX-CL1), ladite clé d’indexation étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à ladite au moins une clé publique (KP-CL1) ;
une unité (CTR) de vérification de l’unicité de ladite clé d’indexation (CIX-CL1) dans une base de données (BD) de clés publiques ; et
- une unité (STR) d’enregistrement configurée pour enregistrer ledit trousseau (TR2-CL1) dans un enregistrement (ENRG-CL1) de ladite base de données indexé par ladite clé d’indexation (CIX-CL1) si ladite clé d’indexation (CIX-CL1) est unique ;
une unité (CTR) configurée pour rejeter ledit trousseau (TR2-CL1) si ladite clé d’indexation (CIX-CL1) n’est pas unique.
Server device (SRV) comprising:
- a unit (COM) for obtaining a set of keys, said set (TR2-CL1) comprising at least one public key (KP-CL1) intended to be authenticated by an authentication method according to claim 4, each said public keys being associated with a private key (KS-CL1);
- a unit (COM, CRY) for obtaining an indexing key (CIX-CL1), said indexing key being obtained by implementing at least one cryptographic hash function applied at least to said at least one public key (KP-CL1);
a unit (CTR) for verifying the uniqueness of said indexing key (CIX-CL1) in a database (BD) of public keys; And
- a registration unit (STR) configured to register said keychain (TR2-CL1) in a record (ENRG-CL1) of said database indexed by said indexing key (CIX-CL1) if said indexing key (CIX-CL1) is unique;
a unit (CTR) configured to reject said keychain (TR2-CL1) if said indexing key (CIX-CL1) is not unique.
Dispositif d’authentification (DPA) d’au moins une clé publique (KP-CL1), ce dispositif pouvant être mis en œuvre par un dispositif client (CL2) et comportant :
- une unité (IHM) d’obtention (F10) d’un vérificateur (VF-CL1), ce vérificateur (VF-CL1) constituant une clé d’indexation (CIX-CL1) d’un enregistrement (ENRG-CL1) comportant un trousseau (TR2-CL1) de clés comportant ladite au moins une clé publique (KP-CL1) dans une base de données (BD) ;
- une unité (COM) d’obtention dudit trousseau (TR2-CL1) à partir de ladite clé d’indexation (CIX-CL1) ;
- une unité (CRY) d’obtention d’une valeur cryptographique (HA), ladite valeur cryptographique (HA) étant obtenue en mettant au moins en œuvre une fonction de hachage cryptographique appliquée au moins à ladite au moins une clé publique (KP-CL1) ;
- une unité (CTR) de comparaison de ladite valeur cryptographique (HA) et dudit vérificateur (VF-CL1);
- une unité d’authentification (CTR) configurée pour authentifier ladite au moins une clé publique (KP-CL1) en fonction du résultat de ladite comparaison.
Authentication device (DPA) of at least one public key (KP-CL1), this device being able to be implemented by a client device (CL2) and comprising:
- a unit (IHM) for obtaining (F10) a verifier (VF-CL1), this verifier (VF-CL1) constituting an indexing key (CIX-CL1) of a recording (ENRG-CL1) comprising a bunch (TR2-CL1) of keys comprising said at least one public key (KP-CL1) in a database (BD);
- a unit (COM) for obtaining said keychain (TR2-CL1) from said indexing key (CIX-CL1);
- a unit (CRY) for obtaining a cryptographic value (HA), said cryptographic value (HA) being obtained by implementing at least one cryptographic hash function applied at least to said at least one public key (KP- CL1);
- a unit (CTR) for comparing said cryptographic value (HA) and said verifier (VF-CL1);
- an authentication unit (CTR) configured to authenticate said at least one public key (KP-CL1) according to the result of said comparison.
Dispositif client émetteur (TX) comportant un dispositif d’authentification selon la revendication 12, ledit dispositif étant configuré pour mettre en œuvre un procédé selon l’une quelconque des revendications 5 à 8 pour transmettre une donnée (DU, K) de façon sécurisée à un dispositif client récepteur (RX).Transmitter client device (TX) comprising an authentication device according to claim 12, said device being configured to implement a method according to any one of claims 5 to 8 for transmitting data (DU, K) in a secure manner to a receiving (RX) client device. Dispositif client récepteur (RX), ledit dispositif étant configuré pour mettre en œuvre un procédé selon l’une quelconque des revendications 9 à 10 pour recevoir une donnée (DU, K) de façon sécurisée en provenance d’un dispositif client émetteur (RX).Receiver client device (RX), said device being configured to implement a method according to any one of Claims 9 to 10 for receiving data (DU, K) in a secure manner from a sender client device (RX) . Dispositif client récepteur (RX) selon la revendication 14 caractérisé en ce qu’il comporte en outre un dispositif d’authentification selon la revendication 12.Receiver client device (RX) according to Claim 14, characterized in that it further comprises an authentication device according to Claim 12. Programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes d’un procédé (PGBD) de gestion d’une base de données (BD) de clés publiques selon l’une quelconque des revendications 1 à 3.Computer program comprising instructions which, when the program is executed by a computer, lead the latter to implement the steps of a method (PGBD) for managing a database (DB) of public keys according to any one of claims 1 to 3. Programme d’ordinateur (PGPA) comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes d’un procédé selon la revendication 4.Computer program (PGPA) comprising instructions which, when the program is executed by a computer, lead the latter to implement the steps of a method according to claim 4. Programme d’ordinateur (PGCL) comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre les étapes d’un procédé selon l’une quelconque des revendications 5 à 10.Computer program (PGCL) comprising instructions which, when the program is executed by a computer, lead the latter to implement the steps of a method according to any one of Claims 5 to 10. Support de données lisible par ordinateur, sur lequel est enregistré un programme d'ordinateur selon l’une des revendications 16 à 18.Computer-readable data carrier on which a computer program according to one of Claims 16 to 18 is stored.
FR1911495A 2019-10-15 2019-10-15 A method of managing a public key database, a method of authenticating public keys, and server and client devices implementing these methods Expired - Fee Related FR3102024B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1911495A FR3102024B1 (en) 2019-10-15 2019-10-15 A method of managing a public key database, a method of authenticating public keys, and server and client devices implementing these methods
PCT/FR2020/051820 WO2021074527A1 (en) 2019-10-15 2020-10-14 Method for managing a public key database, method for authenticating public keys, and server device and client device implementing these methods

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1911495 2019-10-15
FR1911495A FR3102024B1 (en) 2019-10-15 2019-10-15 A method of managing a public key database, a method of authenticating public keys, and server and client devices implementing these methods

Publications (2)

Publication Number Publication Date
FR3102024A1 true FR3102024A1 (en) 2021-04-16
FR3102024B1 FR3102024B1 (en) 2021-11-05

Family

ID=70228083

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1911495A Expired - Fee Related FR3102024B1 (en) 2019-10-15 2019-10-15 A method of managing a public key database, a method of authenticating public keys, and server and client devices implementing these methods

Country Status (2)

Country Link
FR (1) FR3102024B1 (en)
WO (1) WO2021074527A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378716A (en) * 2022-08-25 2022-11-22 无锡融卡科技有限公司 Sensitive information transmission method and terminal

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466942B1 (en) * 1998-11-30 2002-10-15 Fmr Corp. Using indexes to retrieve stored information
GB2541975A (en) * 2015-09-01 2017-03-08 Wistron Neweb Corp Data protection device and data protection method thereof
US20180109508A1 (en) * 2016-10-19 2018-04-19 Index Systems, Inc. Systems and methods for data management and the use of salts and keys in data encryption/decryption
CN108898390A (en) * 2018-06-27 2018-11-27 阿里巴巴集团控股有限公司 Intelligent contract call method and device, electronic equipment based on block chain
US20190179806A1 (en) * 2017-12-11 2019-06-13 Celo Labs Inc. Decentralized database associating public keys and communications addresses

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3397921A1 (en) 2015-12-30 2018-11-07 Faro Technologies, Inc. Registration of three-dimensional coordinates measured on interior and exterior portions of an object

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466942B1 (en) * 1998-11-30 2002-10-15 Fmr Corp. Using indexes to retrieve stored information
GB2541975A (en) * 2015-09-01 2017-03-08 Wistron Neweb Corp Data protection device and data protection method thereof
US20180109508A1 (en) * 2016-10-19 2018-04-19 Index Systems, Inc. Systems and methods for data management and the use of salts and keys in data encryption/decryption
US20190179806A1 (en) * 2017-12-11 2019-06-13 Celo Labs Inc. Decentralized database associating public keys and communications addresses
CN108898390A (en) * 2018-06-27 2018-11-27 阿里巴巴集团控股有限公司 Intelligent contract call method and device, electronic equipment based on block chain
US20200004788A1 (en) * 2018-06-27 2020-01-02 Alibaba Group Holding Limited Blockchain-based smart contract invocation method and apparatus, and electronic device

Also Published As

Publication number Publication date
FR3102024B1 (en) 2021-11-05
WO2021074527A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
EP3152860B1 (en) Method for the authentication of a first electronic entity by a second electronic entity, and electronic entity implementing such a method
EP3506556A1 (en) Method for exchanging codes authenticated by a blockchain
US20080141027A1 (en) System and method of providing security
EP2345202A2 (en) Digital signature method in two steps
EP3174241B1 (en) Method for establishing secure end-to-end communication between a user terminal and a connected object
FR2855343A1 (en) METHOD OF ELECTRONIC GROUP SIGNATURE WITH REVOCABLE ANONYMITY, EQUIPMENT AND PROGRAMS FOR IMPLEMENTING THE PROCESS
EP3357212A1 (en) Improved method and device for authentication
EP2795833B1 (en) Authentication method between a reader and a radio tag
EP3238200A1 (en) Secure electronic entity, electronic apparatus and method for verifying the integrity of data stored in such a secure electronic entity
EP1400056B1 (en) Cryptographic authentication process
EP3965361B1 (en) Data exchange between a client and a remote device, for example a secure module
US20230025166A1 (en) Secure method for data exchange between a terminal and a server
WO2019180335A1 (en) Method for transmitting data from a motor vehicle and method for another vehicle to receive the data through a radio communication channel
WO2021074527A1 (en) Method for managing a public key database, method for authenticating public keys, and server device and client device implementing these methods
FR3028369A1 (en) METHOD AND SYSTEM FOR MANAGING USER IDENTITY TO BE IMPLEMENTED DURING COMMUNICATION BETWEEN TWO WEB BROWSERS
FR3117718A1 (en) SELECTIVE DATA DISCLOSURE METHOD VIA A BLOCKCHAIN
WO2011030069A1 (en) Method for generating a digital certificate
EP1418702B1 (en) Secure exchange method between two communications units, control system and server for the set-up of the method
EP3503500B1 (en) Method for creating a remote electronic signature using the fido protocole
EP0923829A2 (en) Instrument for making secure data exchanges
EP4402854A1 (en) Methods and devices for authentication and verification of non-revocation
EP1992104B1 (en) Authenticating a computer device at user level
EP1989819B1 (en) Method for certifying a public key by an uncertified provider
WO2006027430A1 (en) Method for carrying out authentication between entities communicating with one another over a telecommunications network
WO2016156737A1 (en) Method for obtaining a list of at least one piece of sensitive data

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210416

ST Notification of lapse

Effective date: 20220605