Digital Signature
generalDéfinition
Une signature numérique est un mécanisme cryptographique qui permet de vérifier l'authenticité, l'intégrité et la non-répudiation d'un message, document ou logiciel. Elle fonctionne en deux étapes : le signataire calcule un hash du document et chiffre ce hash avec sa clé privée (créant la signature) ; le vérificateur déchiffre la signature avec la clé publique du signataire et compare le hash obtenu au hash recalculé du document. La signature numérique garantit trois propriétés simultanément. L'authenticité : seul le détenteur de la clé privée peut produire une signature valide, prouvant l'origine du document. L'intégrité : toute modification du document après signature invalide la signature, car le hash ne correspond plus. La non-répudiation : le signataire ne peut pas nier avoir signé, car sa clé privée — théoriquement connue de lui seul — a été utilisée. Les algorithmes de signature numérique principaux sont RSA-PSS (Probabilistic Signature Scheme, recommandé pour RSA), ECDSA (Elliptic Curve Digital Signature Algorithm, utilisé notamment dans Bitcoin, Ethereum, TLS), EdDSA/Ed25519 (algorithme sur la courbe de Edwards, recommandé pour les nouveaux développements en raison de sa robustesse aux mauvaises implémentations et de ses performances). L'algorithme DSA original (Digital Signature Algorithm) est aujourd'hui obsolète. Le choix de l'algorithme de hash associé est critique : SHA-256 minimum, SHA-384 ou SHA-512 pour les applications haute sécurité. MD5 et SHA-1 sont définitivement cassés pour les signatures et ne doivent plus être utilisés. Le NIST a standardisé SHA-3 (Keccak) comme alternative aux SHA-2, mais les deux coexistent actuellement. Les applications des signatures numériques sont omniprésentes : code signing (signatures des exécutables Windows, packages Linux, apps mobiles), emails signés S/MIME et PGP/GPG, transactions blockchain, certificats TLS (signés par la CA), documents PDF signés (Adobe Acrobat, LibreOffice), factures électroniques, journaux d'audit, et git commits signés (git commit --gpg-sign). En droit, la signature numérique qualifiée (selon eIDAS) a la même valeur légale qu'une signature manuscrite dans l'Union Européenne. Elle repose sur un certificat qualifié délivré par un prestataire de services de confiance qualifié (QTSP) et doit être créée par un dispositif de création de signature qualifié (QSCD), généralement une smartcard ou un HSM.
Algorithmes de signature : RSA-PSS vs ECDSA vs Ed25519
Les trois familles d'algorithmes de signature ont des propriétés différentes. RSA-PSS est le standard éprouvé mais ses clés larges (2048-4096 bits) le rendent moins performant. ECDSA (P-256, P-384) offre des clés plus courtes avec sécurité équivalente mais est sensible à la réutilisation de nonce (une faiblesse qui a compromis des wallets Bitcoin). Ed25519 est l'algorithme de signature recommandé pour les nouvelles implémentations : résistant aux attaques timing, déterministe (pas de dépendance à un générateur aléatoire pour le nonce), rapide, et à clés compactes (64 octets de signature). OpenSSH utilise Ed25519 par défaut depuis OpenSSH 6.5.
Signatures numériques dans les infrastructures DevSecOps
Dans les pipelines CI/CD modernes, les signatures numériques sont utilisées à chaque étape pour garantir l'intégrité de la chaîne de build. Sigstore (sigstore.dev), projet CNCF, fournit un écosystème open-source pour signer les artefacts logiciels (images containers, binaires, packages). Cosign signe et vérifie les images Docker, Rekor est le log de transparence public pour les signatures, et Fulcio est la CA éphémère qui émet des certificats de signature basés sur l'identité OIDC (GitHub Actions, GitLab CI, etc.). Cette approche keyless signing élimine la gestion des clés de longue durée en faveur de certificats éphémères liés aux identités CI/CD.
Signatures numériques et conformité légale (eIDAS)
Le règlement eIDAS (Electronic IDentification, Authentication and trust Services) définit trois niveaux de signatures électroniques. La signature électronique simple (SES) est la moins robuste, tout mécanisme prouvant une intention. La signature électronique avancée (AdES) doit être uniquement liée au signataire, capable d'identifier le signataire, créée avec des données sous contrôle exclusif du signataire, et liée aux données signées. La signature électronique qualifiée (QES) a la valeur légale d'une signature manuscrite et nécessite un QSCD (HSM certifié). Les formats PAdES (PDF), XAdES (XML) et CAdES (documents généraux) définissent les profils de signature conformes eIDAS.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h