Vue d'ensemble
Une signature numérique est une construction cryptographique qui permet d'attester l'authenticité et l'intégrité d'un message ou d'un document transmis sur un canal non sécurisé. Elle repose sur la cryptographie asymétrique : chaque signataire possède une paire de clés, l'une privée (secrète) et l'autre publique (accessible aux destinataires). Lorsqu'elle est correctement mise en œuvre, la signature numérique fournit une forte garantie que le message provient bien du propriétaire de la clé privée et qu'il n'a pas été modifié depuis la signature.
Principes techniques
Le mécanisme standard combine deux éléments principaux : un hachage du message et une opération de signature avec la clé privée. Le hachage (fonction de type SHA-2, SHA-3, etc.) réduit le message à une empreinte de taille fixe ; cette empreinte est ensuite chiffrée ou traitée avec l'algorithme de signature (par exemple RSA, DSA, ECDSA) à l'aide de la clé privée. Le destinataire calcule l'empreinte du message reçu et vérifie la signature en utilisant la clé publique du signataire. Si la vérification réussit, l'authenticité et l'intégrité sont établies.
Composants et services associés
- Paire de clés : clé privée (conservation secrète) et clé publique (diffusée).
- Autorité de certification (AC) : émet des certificats liant une identité à une clé publique dans le cadre d'une infrastructure à clés publiques (PKI).
- Certificat numérique : document signé par une AC qui atteste l'identité du titulaire et la validité de la clé publique.
- Horodatage : service de timestamping qui atteste la date et l'heure de la signature pour la rendre éprouvable dans la durée.
- Listes de révocation et protocoles OCSP : vérification de l'état du certificat (valide, révoqué, expiré).
Fonctionnement pratique
En pratique, signer un document numérique se résume souvent à ces étapes : calculer la somme de contrôle du document, appliquer l'algorithme de signature avec la clé privée, et joindre la signature (ou son enveloppe) au document. Le destinataire récupère la clé publique (par un certificat ou un annuaire), vérifie l'empreinte et la signature, puis s'assure auprès de l'AC que le certificat est valide. Des formats et protocoles normalisés existent pour l'échange (ex. PKCS, PAdES, S/MIME pour les courriels), ce qui facilite l'interopérabilité entre logiciels.
Usages et exemples
Les signatures numériques sont employées dans de nombreux domaines :
- Signature de contrats et documents administratifs pour garantir validité juridique et intégrité.
- Authentification de logiciels et de mises à jour (code signing) afin d'empêcher la distribution de binaires modifiés.
- Sécurisation des échanges de courriel (S/MIME, PGP) pour assurer provenance et non-répudiation.
- Transactions financières et protocoles d'authentification dans les infrastructures en ligne.
Dans plusieurs pays, des cadres légaux reconnaissent la validité des signatures électroniques et, selon les cas, des signatures numériques qualifiées. Par exemple, l'Union européenne dispose du règlement eIDAS, qui définit des niveaux de signatures et leurs effets juridiques. Aux États-Unis, des lois comme ESIGN et UETA donnent un cadre général à la validité des signatures électroniques. En Inde, le certificat numérique (Digital Signing Certificate) est fréquemment utilisé pour des dépôts officiels et fiscaux, et la loi sur les technologies de l'information de 2000 reconnaît la valeur juridique des signatures numériques.
Distinctions, limites et bonnes pratiques
Il est important de distinguer « signature électronique » (terme large couvrant toute donnée électronique servant de signature) et « signature numérique » (construction cryptographique précise basée sur clés publiques). Les signatures numériques offrent une sécurité élevée, mais leur valeur dépend de la protection de la clé privée et de la robustesse des algorithmes employés. Les bonnes pratiques incluent l'utilisation d'algorithmes actuels (par ex. courbes elliptiques modernes), le stockage sécurisé des clés (module matériel HSM ou token), l'horodatage fiable et la gestion des révocations. En cas de compromission d'une clé privée, les signatures antérieures peuvent devenir contestables si l'horodatage et les procédures de validation n'ont pas été correctement appliqués.
En résumé, la signature numérique est un outil fondamental pour la confiance dans les échanges électroniques modernes : elle assure l'authenticité, l'intégrité et contribue à la non-répudiation, à condition d'être implémentée et gérée selon des normes éprouvées.