Brevet FR2878099A1 — publié le 20060519

L'invention concerne les infrastructures de gestion de clés publiques et en particulier la génération de certificats numériques en cryptographie à clé publique. Un certificat numérique est notamment destiné à garantir à un utilisateur qu'une clé publique qui lui a été transmise ne provient pas d'un imposteur. Un standard de certificat numérique pour une utilisation sur Internet est défini dans la norme X.509v3. Ce certificat comprend la clé publique certifiée, sa période de validité, l'identité de son propriétaire, une liste d'attributs définissant ses droits d'utilisation (clé de signature de message, clé de serveur web sécurisé...) et une signature cryptographique de ces données par la clé privée de l'autorité de certification. La figure 1 illustre un exemple d'infrastructure à clé publique. Un utilisateur 1 dispose d'une clé privée 9 et d'une clé publique 10 et souhaite obtenir un certificat numérique afin de garantir à un utilisateur 2 qu'il est bien le propriétaire de la clé 10. Une infrastructure de gestion de clés publiques 3 gère la création des certificats ainsi que leur vie (révocation, renouvellement...). D'un point de vue organisationnel, une infrastructure de gestion de clés publiques comprend trois entités logiques: une autorité d'enregistrement 4, un opérateur de certification 5 et une autorité de certification 6. Une infrastructure de gestion de clés peut interagir notamment avec un annuaire de publication Tou une base de données de certificats 8. Les fonctions de ces entités sont les suivantes: -l'autorité locale d'enregistrement 4 recueille les requêtes des utilisateurs souhaitant obtenir un certificat. L'autorité 4 vérifie formellement la validité de ces requêtes; -l'opérateur de certification 5 traite la requête de certification et émet des certificats en appliquant les procédures définies par l'autorité de certification 6. L'opérateur 5 publie généralement les certificats dans l'annuaire 7 ou met ces certificats en accès dans la base de données 8; - l'autorité de certification 6 est une autorité morale au nom de laquelle sont émis les certificats. L'autorité 6 établit et vérifie l'application des procédures de génération de certificat. L'utilisateur 1 obtient un certificat selon le procédé suivant: l'utilisateur 1 transmet une requête à l'autorité d'enregistrement 4. Cette requête contient sa clé publique 10 et d'autres informations le concernant (nom, adresse courriel...) ; -l'autorité d'enregistrement 4 recueille la requête et vérifie formellement sa validité. L'autorité d'enregistrement 4 enregistre les informations sur l'identité de l'utilisateur 1 dans la base de données 8; -l'opérateur de certification 5 récupère la clé privée de l'autorité de certification 6, la clé publique 10 et les informations fournies par l'utilisateur 1. L'opérateur de certification 5 crée ensuite le certificat en signant les données fournies par l'utilisateur 1 avec la clé privée de l'autorité de certification 6. L'opérateur de certification 5 transmet ensuite le certificat à l'utilisateur 1 ou à la base de données 8, et le publie sur l'annuaire 7. La confiance dans le certificat généré repose principalement sur la confiance placée dans l'autorité de certification 6. Cependant, une autorité de certification ne peut pas systématiquement avoir une confiance totale dans les données enregistrées par ses autorités d'enregistrement 4. Ainsi, certaines données (par exemple la date de naissance de l'utilisateur ou son adresse) peuvent être enregistrées sans pouvoir être vérifiées au préalable ou une autorité d'enregistrement peut ne pas être totalement satisfaisante. La confiance accordée par une autorité de certification 6 se manifeste sous forme binaire: soit l'autorité de certification 6 fait confiance aux données enregistrées et le certificat est généré, soit l'autorité de certification 6 ne fait pas confiance à ces données et le certificat n'est pas généré. Ainsi, une personne n'ayant pas les moyens adéquats pour prouver que ses données sont dignes de confiance ne pourra pas obtenir un certificat. Le procédé de certification actuel ne permet pas non plus de gérer de façon différenciée différents critères de confiance. L'invention vise à résoudre un ou plusieurs de ces inconvénients. L'invention porte ainsi sur un procédé de génération d'un certificat numérique, comprenant les étapes consistant à : -déterminer un indice de confiance à accorder à tout ou partie du certificat numérique; -inscrire l'indice de confiance déterminé dans le certificat numérique; -signer le certificat numérique par une clé privée d'une autorité de certification d'une infrastructure à clé publique. Selon une variante, l'indice de confiance est représentatif de la confiance à accorder à certaines données comprises dans le certificat numérique. Selon encore une variante, l'indice de confiance est représentatif de la confiance à accorder au mode d'enregistrement des données du certificat numérique. L'invention porte également sur un certificat numérique comprenant des données, au moins un indice de confiance à accorder à tout ou partie du certificat, les données et l'indice de confiance sont signés par une clé privée d'une autorité de certification d'une infrastructure à clé publique. Selon une variante, l'indice de confiance est représentatif de la confiance à accorder à certaines données comprises dans le certificat numérique. Selon encore une variante, l'indice de confiance est représentatif de la confiance à accorder au mode d'enregistrement des données. L'invention porte en outre sur une infrastructure de génération d'un certificat numérique, comprenant: -un dispositif de calcul d'un indice de confiance à accorder à tout ou partie du certificat numérique; - une autorité de certification, incluant l'indice de confiance dans le certificat numérique et signant le certificat numérique par sa clé privée. Selon une variante, le dispositif de calcul calcule un indice de confiance représentatif de la confiance à accorder à certaines données comprises dans le certificat numérique. Selon encore une variante, l'infrastructure comprend un dispositif de mémorisation de données à inclure dans le certificat numérique et le dispositif de calcul calcule un indice de confiance représentatif de la confiance accordée au mode d'enregistrement des données du certificat numérique. D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est faite ci-après, à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels: -la figure 1 illustre la structure d'un exemple d'infrastructure de certification; - la figure 2 illustre un premier exemple de certificat selon l'invention; - la figure 3 illustre un second exemple de certificat selon l'invention; - la figure 4 illustre un troisième exemple de certificat selon l'invention. L'invention propose d'insérer un indice de confiance à accorder à tout ou partie d'un certificat, et de signer les données et l'indice de confiance par une clé privée d'une autorité de certification d'une infrastructure à clé publique. L'indice de confiance prend une valeur comprise dans une échelle de confiance définie à l'avance. On peut également envisager un indice de confiance sous forme de points cumulés lorsque certaines conditions de confiance sont respectées. De façon connue en soi, les données incluses dans le certificat numérique comprennent notamment des informations relatives à l'identité du bénéficiaire du certificat ou des informations dépendantes de l'autorité de certification. Les informations relatives à l'identité du bénéficiaire comprennent notamment son nom, son prénom, son numéro de téléphone, son adresse électronique ou son adresse postale. Les informations dépendantes de l'autorité de certification comprennent notamment le numéro de série, la période de validité ou le nom de l'autorité de certification. Les données peuvent également inclure des informations propriétaires, telles que le numéro de téléphone d'un employé dans une entreprise, son numéro de fax ou la définition de son poste. Différents types d'indices de confiance peuvent être utilisés. Un indice de confiance peut être utilisé pour indiquer la confiance accordée à une information du certificat par l'autorité de contrôle. Cet indice peut notamment être défini en fonction du mode d'enregistrement des informations. Par exemple, des informations enregistrées en ligne sur Internet et sans cryptage de transmission présenteront un indice de confiance réduit. Par contre, des informations de l'utilisateur, enregistrées par une autorité publique suite à une vérification de papiers d'identité, présenteront un indice de confiance élevé. Un indice de confiance associé au mode d'enregistrement des informations peut également prendre en compte la fiabilité du réseau entre l'utilisateur et l'autorité d'enregistrement, le mode de stockage utilisé par l'autorité d'enregistrement, etc... On peut ainsi envisager que des certificats générés à partir de mêmes données mais en passant par des autorités d'enregistrement différentes présentent des indices de confiance distincts. Un indice de confiance peut également indiquer la confiance accordée à l'autorité de contrôle et à sa chaîne de certification. Un indice de confiance peut encore indiquer la confiance de l'autorité de certification dans une autorité d'enregistrement ou la confiance globale dans le certificat généré. La figure 2 illustre le contenu d'un certificat. Dans cet exemple, le certificat comprend plusieurs indices de confiance 21 à 24. Ces indices de confiance sont associés à des informations relatives à l'identité du bénéficiaire. Chaque indice est disposé dans le certificat après son information associée. L'indice de confiance associé au lieu de résidence de l'utilisateur (Paris) est ainsi de 80% dans l'exemple. La figure 3 illustre le contenu d'une autre structure de certificat. Dans cet exemple, des marqueurs 26 sont disposés après certaines informations. Un identificateur d'objet (généralement désigné par l'acronyme OID) est inséré dans le certificat et contient une liste d'indices 25. Une liste d'indices 25 est ainsi associée aux différents marqueurs. L'ordre d'apparition des marqueurs dans le certificat correspond à l'ordre des indices dans la liste 25. Ainsi, le second marqueur du certificat est associé au second indice de la liste 25. La figure 4 illustre le contenu d'une autre structure de certificat. Dans cet exemple, les indices sont uniquement identifiés dans un identificateur d'objet disposé dans le certificat. Cet identificateur d'objet comprend une liste de couples. Chaque couple comprend d'une part l'identification du type d'information associée à l'indice et d'autre part l'indice. Ainsi, l'identifiant L identifie une information du type lieu de résidence et l'indice associé est 80%. Le procédé de génération du certificat peut être le suivant. L'infrastructure de gestion de clés publiques 3 enregistre des données à inclure dans le certificat, par exemple la clé publique 10 ou des informations associées à l'utilisateur 1. Cet enregistrement est par exemple effectué par l'autorité locale d'enregistrement 4, par tout moyen approprié tel qu'un formulaire en ligne ou une pièce jointe à un courriel. L'opérateur de certification 5 met en forme un certificat incluant des données enregistrées. Le certificat est transmis à l'autorité de certification 6. L'autorité de certification 6 calcule un ou plusieurs indices de confiance décrits précédemment. L'autorité de certification insère ces indices de confiance dans le certificat. L'autorité de certification 6 signe alors le certificat avec sa clé privée, puis transmet le certificat signé à l'opérateur de certification 5. On peut également prévoir que le calcul des indices de confiance soit délégué à un autre dispositif que l'autorité de certification 6. De façon connue en soi, le certificat généré peut être transmis à l'utilisateur 2, ou stocké dans une base de données 8 ou dans un annuaire accessible en ligne 9. Un autre utilisateur (tel que l'utilisateur 2 de la figure 1), peut effectuer un test afin de valider ou non le certificat 11 de l'utilisateur 1. L'utilisateur 2 vérifie le certificat 11 au moyen de la clé publique de l'autorité de certification 6. L'utilisateur 2 compare ensuite un ou plusieurs indices du certificat avec des seuils de validation. L'utilisateur peut notamment fixer un indice de confiance pour l'ensemble du certificat ou pour une ou plusieurs données contenues dans le certificat. L'utilisateur peut rejeter un certificat ayant au moins un indice de confiance inférieur à son seuil de validation respectif ou ayant un indice de confiance manquant. L'utilisateur est donc libre de fixer les seuils de validation qu'il estime prépondérants. Les seuils de validation peuvent être prédéfinis en fonction d'applications exécutées par l'utilisateur 2, ou être définis manuellement par l'utilisateur 2. Ainsi, il sera possible de générer un certificat ne présentant pas un indice de confiance maximal, l'utilisateur destinataire ou ses applications étant alors libres d'accepter ou non ce certificat. Un tel certificat est particulièrement intéressant lorsque des données sont enregistrées en ligne et que leur validité ne peut pas être rigoureusement vérifiée. En outre, en associant différents indices de confiance à différentes informations du certificat, le destinataire du certificat est libre de décider pour quelle information il exige ou non un indice de confiance élevé. L'utilisateur 1 souhaitant obtenir son certificat pourra également obtenir un certificat même s'il n'a pas pu obtenir un indice de confiance élevé pour certaines informations du certificat lors de l'enregistrement. Le test de validation peut en outre exiger une vérification de la chaîne de confiance du certificat. On pourrait également prévoir de stocker un lien de connexion à une base de données contenant des indices de confiance à associer au certificat. Ce lien serait ainsi stocké dans le certificat en lieu et place du ou des indices de confiance. 7 REVENDICATIONS 1. Procédé de génération d'un certificat numérique, comprenant les étapes consistant à: -déterminer un indice de confiance à accorder à tout ou partie du certificat numérique; -inscrire l'indice de confiance (21, 22, 23, 24, 25) déterminé dans le certificat numérique (11) ; -signer le certificat numérique par une clé privée (12) d'une autorité de certification (6) d'une infrastructure à clé publique (3). 2. Procédé de génération d'un certificat numérique selon la revendication 1, caractérisé en ce que l'indice de confiance est représentatif de la confiance à accorder à certaines données comprises dans le certificat numérique. 3. Procédé de génération d'un certificat numérique selon la revendication 1 ou 2, caractérisé en ce que l'indice de confiance est représentatif de la confiance à accorder au mode d'enregistrement des données du certificat numérique. 4. Certificat numérique comprenant des données, caractérisé en ce qu'il comprend en outre au moins un indice de confiance à accorder à tout ou partie du certificat et en ce que les données et l'indice de confiance sont signés par une clé privée (12) d'une autorité de certification (6) d'une infrastructure à clé publique (3). 5. Certificat numérique selon la revendication 4, caractérisé en ce que l'indice de confiance est représentatif de la confiance à accorder à certaines données comprises dans le certificat numérique. 6. Certificat numérique selon la revendication 4 ou 5, caractérisé en ce que l'indice de 30 confiance est représentatif de la confiance à accorder au mode d'enregistrement des données. 7. Infrastructure de génération d'un certificat numérique, comprenant: 8 2878099 -un dispositif de calcul d'un indice de confiance à accorder à tout ou partie du certificat numérique; -une autorité de certification (6), incluant l'indice de confiance dans le certificat numérique et signant le certificat numérique par sa clé privée (12). 8. Infrastructure selon la revendication 7, caractérisée en ce que le dispositif de calcul calcule un indice de confiance représentatif de la confiance à accorder à certaines données comprises dans le certificat numérique. 9. Infrastructure selon la revendication 7 ou 8, caractérisée en ce qu'elle comprend un dispositif de mémorisation (4) de données à inclure dans le certificat numérique et en ce que le dispositif de calcul calcule un indice de confiance représentatif de la confiance accordée au mode d'enregistrement des données du certificat numérique.