Cryptographie à clé publique
Les signatures numériques sont basées sur la cryptographie à clé publique (ou cryptographie asymétrique), qui utilise des paires de clés publique/privée pour le chiffrement et le déchiffrement de texte :
La clé privée sert à chiffrer du texte et des documents. Les clés privées sont protégées.
La clé publique correspondante sert à déchiffrer le texte précédemment chiffré grâce à la clé privée. La clé publique ne peut déchiffrer que le texte précédemment chiffré grâce à la clé privée qui lui est associée. Les clés publiques sont diffusées, parfois très largement.
Tony Blue utilise par exemple sa clé publique pour chiffrer ses messages avant de les envoyer à leurs destinataires. Les destinataires ont alors besoin de la clé publique pour déchiffrer les messages et les lire. Tony doit fournir aux destinataires la clé publique afin qu’ils soient en mesure de lire ses messages électroniques.
Certificats numériques
Les certificats numériques servent à vérifier l’authenticité des signatures numériques. Les certificats numériques associent une clé publique à l’identité d’un individu :
Les certificats peuvent être émis par les autorités de certification, des tiers de confiance. Les autorités de certification vérifient l’identité des individus à qui elles fournissent ces certificats. Si vous faites confiance à l’autorité de certification, vous faites confiance aux certificats qu’elle émet.
Les certificats peuvent également être autosignés. Les certificats autosignés sont généralement créés par le propriétaire du certificat lui-même. Ils s’avèrent utiles lorsque vous savez que vous pouvez faire confiance à ce dernier.
Les autorités de certification publient des listes de révocation des certificats (CRL) qui contiennent les numéros de série des certificats non valides. Les listes CRL possèdent des dates d’expiration et sont en règle générale mises à jour régulièrement.
De fonctionnement identique aux listes CRL, le protocole OCSP (Online Certificate Status Protocol) sert à obtenir le statut des certificats X.509. Le protocole OCSP permet de mettre à jour et d’obtenir le statut des certificats plus rapidement qu’avec les systèmes CRL.
Les autorités de certification peuvent déléguer l’émission des certificats à des autorités de certification de niveau inférieur. Il en résulte une hiérarchie d’autorités de certification. La chaîne de certificats indique le chemin parcouru dans la hiérarchie, d’une autorité de certification de niveau inférieur à l’autorité racine. Les certificats émis par les autorités de niveau inférieur contiennent la chaîne de certificats. L’authenticité de chaque autorité de certification de la chaîne peut être vérifiée.
Informations d’identification numériques
Les informations d’identification servent à signer des documents numériquement. Les informations d’identification d’un utilisateur comprennent sa clé privée et d’autres informations, telles qu’un alias. Un mot de passe permet d’accéder au contenu des informations d’identification. Le contenu et le format des informations d’identification sont définis selon différentes normes. En voici deux exemples :
La norme de syntaxe d’échange d’informations personnelles (PKCS #12) définit un format de fichier pour le stockage d’une clé privée et du certificat numérique correspondant.
L’interface de jeton cryptographique (PKCS #11) définit une interface pour la récupération des informations d’identification stockées dans le matériel.
Signatures numériques
Les signatures numériques sont un résumé chiffré du document signé. Le résumé et le certificat du signataire servent à valider l’intégrité du document.
Lorsque vous signez un document numériquement, un résumé du contenu du document est créé à l’aide d’un algorithme de hachage. Il n’existe qu’un résumé par document ; ce document ne peut pas être recréé à partir du résumé. Le résumé est chiffré avec la clé privée du signataire pour créer la signature.
La signature et le certificat correspondant à la clé privée utilisée pour créer la signature sont généralement intégrés au document.
Les signatures peuvent contenir des jetons d’horodatage. Le protocole TSP (Time Stamp Protocol, protocole d’horodatage) sert à déterminer la date et l’heure à laquelle une signature numérique a été créée. Ces informations servent à vérifier qu’une signature numérique a bien été créée avant que le certificat associé ne soit révoqué. Une autorité d’horodatage (TSA, Time Stamp Authority) propose des services permettant d’obtenir et de vérifier les informations d’horodatage.
Vérification de l’intégrité d’un document
Pour valider la signature, la clé publique contenue dans le certificat est utilisée pour déchiffrer le résumé. Le résumé est alors recalculé et comparé au résumé déchiffré. Si les résumés sont identiques, le document n’a pas subi de modifications.