Brevet FR2867001A1 — publié le 20050902

PROCEDE DE PRODUCTION D'UN CERTIFICAT NUMERIQUE, ET CERTIFICAT NUMERIQUE ASSOCIE, ET PROCEDE D'UTILISATION D'UN TEL CERTIFICAT NUMERIQUE Dans le domaine des transactions électroniques sécurisées, l'invention concerne plus particulièrement la production d'un certificat numérique au cours duquel une autorité de certification regroupe, dans un ensemble de données, une clé publique et des données numériques comprenant des données identifiant le propriétaire de la dite clé publique et d'une clé privée associée, puis signe l'ensemble des données pour produire un certificat numérique. Par transaction électronique, on entend ici une transmission d'un ensemble de données numériques (ensemble qu'on appellera message ou message électronique par souci de simplicité) dans le sens le plus large. Il peut s'agir par exemple de la transmission d'un acte d'achat ou de vente, de la transmission d'une demande d'accès à un service en ligne, de la transmission d'un message d'information signé électroniquement, etc. De telles transactions peuvent être sécurisées par l'utilisation d'algorithmes de chiffrement et / ou de signature (par exemple l'algorithme RSA) à clés asymétriques: une clé privée et une clé publique. La clé privée est utilisée par l'émetteur pour signer un message avant envoi. La clé privée est une caractéristique de la personne qui émet un message signé, elle est conservée secrète, par exemple dans une mémoire d'un matériel propriété de l'émetteur du message. La clé privée peut ainsi être conservée sur un disque interne 2867001 2 d'un ordinateur personnel, dans une mémoire d'une carte SIM (Subscriber Identification Module ou module d'identification d'abonnés) d'un téléphone portable, dans une mémoire d'une carte à mémoire ou d'une carte à microprocesseur accessible en lecture par un ordinateur personnel par l'intermédiaire d'un lecteur de carte, etc. La clé publique est utilisée par la personne qui reçoit le message, pour vérifier l'authenticité du message signé reçu et l'identité de l'émetteur du message reçu. L'utilisation d'algorithmes de signature suppose, préalablement à toute transaction, que l'émetteur communique sa clé publique à la personne destinataire de la transaction. Cette communication peut être directe. envoi d'un message contenant la clé, envoi d'un support physique tel qu'une mémoire ou un disque sur lequel est mémorisée la clé, etc. Cette communication peut se faire également par l'intermédiaire d'une infrastructure de clé publique (ou PKI pour Public Key Infrastructure en anglais) ou infrastructure de certification. Une infrastructure de clé publique fait intervenir notamment une entité de certification et un tiers certificateur, pour permettre une cohérence dans la gestion des couples de clés. L'entité de certification est un organisme normatif qui définit notamment les conditions de certification, les données devant être incluses dans un certificat et la manière dont sont utilisés les certificats produits. De manière connue, un certificat comprend une clé publique et des données identifiant un ou plusieurs propriétaires de la dite clé publique et de la clé privée associée. Le mot propriétaire doit être ici compris au sens large. 2867001 3 Le propriétaire des clés peut bien sûr être une personne physique. Mais le propriétaire peut également être un matériel auquel est attachée le couple de clé. Par exemple, dans une société de grande taille, propriétaire de plusieurs serveurs de transmissions de données numériques, il est fréquent qu'un ou plusieurs serveurs "possèdent" leurs propres clés. Aussi, et selon les consignes de l'entité de certification, les données identifiant chaque propriétaire peuvent comprendre le nom de l'utilisateur et / ou son adresse postale et / ou ses coordonnées bancaires et / ou des numéros de carte d'identité et / ou des références identifiant un matériel propriétaire. Un des formats de certificat couramment utilisé est le format X509, défini selon la norme Information technology - Open Systems Interconnection - The Directory: Public-Key and attribute certificate frameworks datée de Mars 2002 de l'International Telecomunication Union. Le format X509 comprenant, pour chaque certificat, les paramètres suivants: É un numéro de référence associé au certificat É une indication du procédé utilisé pour la signature numérique d'un message, É les coordonnées de l'émetteur du certificat, É la période de validité du certificat, É les coordonnées du propriétaire de la clé É la clé publique É un ensemble de N champs libres d'utilisation É la signature de l'émetteur du certificat Le tiers certificateur émet les certificats numériques et les met à disposition du public pour consultation dans une base de données regroupant un ensemble de certificats. Le tiers certificateur est ainsi chargé dans 2867001 4 un premier temps de collecter et vérifier les informations devant figurer dans un certificat. Dans un deuxième temps, le tiers certificateur regroupe la clé publique et les données identifiant le propriétaire de la dite clé publique dans un message numérique qu'il signe avec sa propre clé privée pour former le certificat numérique. Enfin, le tiers certificateur met le certificat à disposition dans une base de données. En consultant la base de certificats, et si elle fait confiance au tiers certificateur, une personne va pouvoir authentifier l'émetteur d'un message signé qu'elle a reçu ou chiffrer un message à sa destination, avant de valider ou non une vente, d'autoriser ou non l'accès à un site réservé aux abonnés, etc. Les techniques de production et de mise à disposition de certificats numériques sont aujourd'hui assez répandues. Elles ont permis de sécuriser dans une certaine mesure les transactions électroniques pour permettre leur développement. L'intervention d'un tiers certificateur, l'utilisation d'algorithmes cryptographiques et de protocoles sécurisés pour l'obtention des certificats permet de garantir l'identité de la personne qui a demandé un certificat sur la base de sa clé publique. Toutefois, un certificat ne garantit pas qu'un message reçu a été signé par le propriétaire de la clé privée associée à la clé publique et utilisée pour la signature du message reçu. Plus précisément, un certificat ne garantit pas qu'une clé privée utilisée pour la signature d'un message n'a pas été dérobée ou utilisée à l'insu de son propriétaire. Stockée sur un ordinateur personnel, la clé privée est susceptible d'être dérobée ou modifiée ou utilisée à 2867001 5 l'insu de son propriétaire par un tiers malveillant, par exemple par l'intermédiaire d'un virus ou d'un cheval de Troie. Pour éviter ce risque, des matériels spécifiques, tels que des cartes à mémoire associées à un lecteur de carte, ont été développés pour mémoriser notamment les clés privées; un risque demeure toutefois lorsque la clé privée est lue dans la carte et transmise à un programme de signature présent dans l'ordinateur personnel. Pour limiter encore ce risque, des cartes à microprocesseur ont été développées, qui mémorisent non seulement la clé privée, mais également le procédé de signature utilisant la dite clé privée, de sorte que la clé privée n'est jamais accessible directement depuis l'extérieur, par exemple sur une borne d'entrée / sortie de la carte. Ainsi, certains des matériels et des procédés actuels permettent le renforcement voire la suppression des risques de vol ou de l'usage d'une clé privée à l'insu de son propriétaire. Toutefois, un tiers distant, qui a accès seulement à un certificat associé à la clé privée, ne sait pas estimer le risque qu'il prend en acceptant la signature électronique d'un utilisateur distant. Ceci limite bien sûr le degré de confiance qu'un tiers peut avoir dans un certificat numérique ou dans un message signé reçu. L'invention a pour but de résoudre ce problème en proposant un procédé de production d'un certificat et un certificat associé contenant des informations permettant à un tiers qui reçoit un message signé d'estimer la probabilité pour que l'émetteur de la transaction soit bien le propriétaire authentique de la clé privée utilisée pour la signature. 2867001 6 Pour cela l'invention propose un procédé de production d'un certificat numérique au cours duquel une autorité de certification regroupe, dans un ensemble de données, une clé publique et des données numériques comprenant des données identifiant le propriétaire de la dite clé publique et d'une clé privée associée, puis signe l'ensemble de données pour produire un certificat numérique. Selon l'invention, le procédé est caractérisé en ce que les données numériques comprennent également des données identifiant des moyens de génération de la clé privée et / ou des moyens de mémorisation de la clé privée sur un support et / ou des moyens de signature avec la clé privée. Les données identifiant les moyens de génération de la clé privée pourront par exemple comprendre des données identifiant. É un procédé de génération de la clé privée et / ou É un matériel sur lequel est mis en oeuvre le procédé de génération de la clé privée et / ou É un lieu sur lequel est mis en uvre le procédé de génération de la clé privée. Les données identifiant les moyens de mémorisation de la clé privée pourront quant à eux comprendre des données identifiant: É un procédé de mémorisation de la clé privée sur un support et / ou É un matériel sur lequel est mis en uvre du procédé de mémorisation de la clé privée et / ou É un lieu sur lequel est mis en uvre le procédé de mémorisation de la clé privée et / ou É un support de mémorisation sur lequel est mémorisée la clé privée. 2867001 7 Enfin, les données identifiant les moyens de signature pourront par exemple comprendre des données identifiant: É un procédé de signature utilisant la clé privée, É un support de mémorisation sur lequel est mémorisé le dit procédé de signature. Les données identifiant un matériel ou un support de mémorisation comprennent par exemple: É une référence identifiant le dit matériel ou le dit support de mémorisation et / ou É une identification d'un fabricant du dit matériel ou du dit support de mémorisation et / ou É une indication d'un niveau de sécurité du dit matériel ou du dit support de mémorisation défini selon une norme ISO15408 datée du 01/12/1999. Les données identifiant un procédé comprennent: É une référence identifiant le dit procédé et / ou É une identification d'un inventeur du dit procédé et / ou É une indication d'un niveau de sécurité du dit procédé selon la norme ISO 15408. Les données identifiant un lieu comprennent: É une identification du dit lieu et / ou É une indication d'un niveau de sécurité du dit lieu selon la norme ISO 15408. L'invention concerne également un certificat numérique comprenant: É une clé publique, É des données identifiant un propriétaire de la clé publique et d'une clé privée associée, et É des données identifiant des moyens de génération de 2867001 8 la clé privée et / ou des moyens de mémorisation de la clé privée sur un support et / ou des moyens de signature avec la dite clé privée. Dans un mode de réalisation préférée le certificat est de type X509 selon une norme Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks datée de Mars 2000 de l'International Telecomunication Union. Dans le certificat X509, un ensemble de champs prédéfinis et libres sont utilisés pour mémoriser les données numériques identifiant: É un procédé de génération de la clé privée et / ou É un matériel sur lequel est mis en oeuvre le procédé de génération de la clé privée et / ou É un lieu sur lequel est mis en uvre le procédé de génération de la clé privée et / ou É un procédé de mémorisation de la clé privée sur un support et / ou É un matériel sur lequel est mis en uvre du procédé de mémorisation de la clé privée et / ou É un lieu sur lequel est mis en oeuvre le procédé de mémorisation de la clé privée et / ou É un support de mémorisation sur lequel est mémorisée la clé privée et / ou É un procédé de signature utilisant la clé privée et / ou É un support de mémorisation sur lequel est mémorisé le dit procédé de signature. L'invention concerne également un procédé d'utilisation d'un certificat numérique tel que décrit ci-dessus, comprenant les étapes suivantes consistant à : É recevoir un message signé avec une clé privée, É lire, dans le certificat numérique, des données identifiant des moyens de génération de la clé privée 2867001 9 et / ou des moyens de mémorisation de la clé privée sur un support et / ou des moyens de signature avec la clé privée, É en déduire une probabilité pour que la dite clé privée ait été utilisée par un propriétaire légitime de ladite clé privée, É en fonction de la dite probabilité, accepter ou refuser le message électronique. On peut par exemple choisir d'accepter un message uniquement si la probabilité pour que la dite clé ait été utilisée par son propriétaire légitime est supérieur à une valeur prédéfinie VB. La valeur prédéfinie est choisie en fonction du niveau de sécurité souhaité pour une transaction. On pourra par exemple choisir une valeur prédéfinie proportionnelle aux enjeux financiers liés à une transaction. On peut aussi choisir de: É accepter le message si la probabilité est supérieure à une première valeur VB1, É demander une confirmation de la transaction si la probabilité est comprise entre la première valeur VB1 et une deuxième valeur VB2 inférieure à la première, et É refuser le message si la probabilité est inférieure à la deuxième valeur. Pour estimer la probabilité pour que la clé privée ait été utilisée par son propriétaire légitime, on utilise les informations relatives à la clé secrète présentes dans le certificat numérique. Dans un exemple, les informations présentes dans le certificat et relatives à la clé privée indiquent que la clé privée a été générée et mémorisée dans une carte à microprocesseur qui mémorise également un procédé de 2867001 10 signature. Les informations relatives à la clé privée indiquent également que la génération de la clé, sa mémorisation et la mémorisation du procédé de signature ont été réalisés au sein même de l'usine qui a fabriqué la carte, usine possédant un niveau de certification (en terme de sécurité) maximal. Dans ce cas, un tiers qui consulte le dit certificat sait que la probabilité est maximale (et supérieure à la valeur prédéfinie) pour que la clé privée ait été utilisée par son propriétaire légitime et il peut en déduire avec quasi- certitude l'identité de l'émetteur d'une transaction signée qu'il a reçue. Dans un autre exemple, les informations présentes dans le certificat et relatives à la clé privée indiquent que la clé privée a été générée dans un point de vente de matériel informatique, et que la clé privée et le procédé de signature sont mémorisés sur un disque dur d'un ordinateur personnel. Dans ce cas, un tiers qui consulte le dit certificat sait que la probabilité est forte pour que la clé privée ait pu être subtilisée ou utilisée à l'insu de son propriétaire. Il peut en déduire que l'identité de l'émetteur d'une transaction signée qu'il a reçue n'est pas certaine et en conséquence, décider de refuser la transaction pour éviter un risque. 11 REVENDICATIONS 1. Procédé de production d'un certificat numérique au cours duquel une autorité de certification regroupe, dans un ensemble de données, une clé publique et des données numériques comprenant des données identifiant le propriétaire de la dite clé publique et d'une clé privée associée, puis signe l'ensemble de données pour produire un certificat numérique, le procédé étant caractérisé en ce que les données numériques comprennent également des données identifiant des moyens de génération de la clé privée et / ou des moyens de mémorisation de la clé privée sur un support et / ou des moyens de signature avec la clé privée. 2. Procédé selon la revendication 1, dans lequel les données identifiant les moyens de génération de la clé privée comprennent des données identifiant: É un procédé de génération de la clé privée et / ou É un matériel sur lequel est mis en uvre le procédé de génération de la clé privée et / ou É un lieu sur lequel est mis en oeuvre le procédé de génération de la clé privée. 3. Procédé selon la revendication 1 ou 2, dans lequel les données identifiant les moyens de mémorisation de la clé privée comprennent des données identifiant: É un procédé de mémorisation de la clé privée sur un support et / ou É un matériel sur lequel est mis en uvre du procédé de mémorisation de la clé privée et / ou É un lieu sur lequel est mis en uvre le procédé de mémorisation de la clé privée et / ou É un support de mémorisation sur lequel est mémorisée la clé privée. 4. Procédé selon l'une des revendications 1 à 3, dans lequel les données identifiant les moyens de signature comprennent des données identifiant: É un procédé de signature utilisant la clé privée, É un support de mémorisation sur lequel est mémorisé le dit procédé de signature. 5. Procédé selon l'une des revendications 2 à 4, dans lequel les données identifiant un matériel ou un support de mémorisation comprennent: É une référence identifiant le dit matériel ou le dit support de mémorisation et / ou É une identification d'un fabricant du dit matériel ou du dit support de mémorisation et / ou É une indication d'un niveau de sécurité du dit matériel ou du dit support de mémorisation défini selon une norme ISO15408. 6. Procédé selon l'une des revendications 2 à 5, dans lequel les données identifiant un procédé comprennent: É une référence identifiant le dit procédé et / ou É une identification d'un inventeur du dit procédé et / ou É une indication d'un niveau de sécurité du dit procédé selon la norme ISO 15408. 7. Procédé selon l'une des revendications 2 à 6, dans lequel les données identifiant un lieu comprennent: É une identification du dit lieu et / ou É une indication d'un niveau de sécurité du dit lieu selon la norme ISO 15408. 8. Certificat numérique comprenant: 2867001 13 É une clé publique, É des données identifiant un propriétaire de la clé publique et d'une clé privée associée, et É des données identifiant des moyens de génération de la clé privée et / ou des moyens de mémorisation de la clé privée sur un support et / ou des moyens de signature avec la dite clé privée. 9. Certificat selon la revendication 8, de type X509 selon une norme Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks datée de Mars 2000 de l'International Telecomunication Union, dans lequel un ensemble de champs prédéfinis et libres sont utilisés pour mémoriser les données numériques identifiant: É un procédé de génération de la clé privée et / ou É un matériel sur lequel est mis en uvre le procédé de génération de la clé privée et / ou É un lieu sur lequel est mis en uvre le procédé de génération de la clé privée et / ou É un procédé de mémorisation de la clé privée sur un support et / ou É un matériel sur lequel est mis en uvre du procédé de mémorisation de la clé privée et / ou É un lieu sur lequel est mis en uvre le procédé de mémorisation de la clé privée et / ou É un support de mémorisation sur lequel est mémorisée la clé privée et / ou É un procédé de signature utilisant la clé privée et / ou É un support de mémorisation sur lequel est mémorisé le dit procédé de signature. 10. Procédé d'utilisation d'un certificat numérique selon l'une des revendications 8 ou 9, comprenant les étapes suivantes consistant à : 2867001 14 É recevoir un message signé avec une clé privée, É lire, dans le certificat numérique, des données identifiant des moyens de génération de la clé privée et / ou des moyens de mémorisation de la clé privée sur un support et / ou des moyens de signature avec la clé privée, É en déduire une probabilité pour que la dite clé privée ait été utilisée par un propriétaire légitime de ladite clé privée, É en fonction de la dite probabilité, accepter ou refuser le message électronique. 11. Procédé selon la revendication 10, dans lequel le message est accepté uniquement si la probabilité pour que la dite clé ait été utilisée par son propriétaire légitime est supérieur à une valeur prédéfinie. 12. Procédé selon la revendication 10, dans lequel: É on accepte un message si la probabilité est supérieure à une première valeur (VB1), É on demande une confirmation du dit message si la probabilité est comprise entre la première valeur (VB1) et une deuxième valeur (VB2) inférieure à la première valeur, et É on refuse le message si la probabilité est inférieure à la deuxième valeur (VB2).