Signature

Techniques de signature

Le principe repose sur l’utilisation combinée d’algorithmes de hashing (MD5, SHA-1) et d’algorithmes de cryptage asymétrique (RSA).

Processus de signature

  1. l’expéditeur calcule le “digest” (hash) du message (ou document) d’origine à l’aide de algorithme de hash choisi.
  2. il crypte ce digest en utilisant sa clé privée par cryptage asymétrique (par exemple via carte à puce).
  3. Il associe finalement à ce dernier résultat ses données d’identification, contenues dans un certificat (contient sa clé publique et son identité).
  4. il envoie le document, le certificat et le hash crypté en indiquant la méthode de hash.

Processus de vérification de signature

Le destinataire du message peut appliquer la technique inverse afin de vérifier la validité de la signature:
  1. il vérifie la validité du certificat reçu
  2. il lit le certificat afin de déterminer l’identité de l’expéditeur et sa clé publique;
  3. il utilise cette clé publique pour décrypter le digest en utilisant le même algorithme de cryptage asymétrique que l’expéditeur,
  4. il calcule lui-même le digest du message (ou document) reçu en utilisant le même algorithme de hash
  5. il le compare au digest extrait de la signature
  6. la concordance des valeurs des deux digests garantit l’authenticité du message.

syntaxe

Un ensemble de données doivent être jointes au message d’origine pour constituer la signature digitale standard : Un même message peut être signé par plusieurs signataires différents. (il suffit d'ajouter plusieurs digest cryptés et certificats correspondants) Afin de permettre la transmission de ces données et du message d’origine de manière non-ambiguë, une syntaxe extrêmement précise est détaillée dans les standards, basée sur la syntaxe standardisée ASN.1.

Références

Le texte des PKCS est disponible sur le site Web de RSA Data Security : http://www.rsa.com/