Signature numérique et certificat numérique - Un guide simple

Avant que le monde ne commence à se numériser, il s'appuyait fortement sur des documents signés pour approuver, authentifier et tenir responsables les différentes parties dans les transactions et les différents types d'accords. La signature numérique et le certificat numérique viennent remplacer de manière moderne les signatures standard. 

Significativement plus rapide que l'envoi de papiers par la poste et l'envoi de documents par fax, la signature numérique est venue en aide à diverses entreprises. 

Qu'est-ce qu'une signature numérique ? 

Une signature numérique est une vérification électronique de l'expéditeur d'un document, qui permet au destinataire de déterminer si le contenu original a été modifié par un intermédiaire. 

La clé privée et la clé publique sont les deux éléments essentiels d'une signature numérique, créés à la fois par un algorithme dédié. Même s'ils sont créés pour être mathématiquement liés, en apparence, ils seront différents. 

Une signature numérique a trois objectifs : 

  1. Authentification – le destinataire peut établir la paternité d'un message et déterminer si l'expéditeur est celui qu'il prétend être. 
  2. Non-répudiation – l'expéditeur ne peut pas nier avoir envoyé le message ultérieurement et peut être tenu responsable du message non altéré. 
  3. Intégrité – le message n'a pas été modifié. 

Et en fait, la signature numérique a une valeur légale aux États-Unis, dans l'Union européenne, en Suisse, en Afrique du Sud, en Algérie, en Turquie, en Inde, au Brésil, en Indonésie, au Mexique, en Arabie saoudite, en Uruguay et au Chili. 

Comment créer une signature numérique ? 

Pour créer une signature numérique, vous devez signer le message avec votre clé privée.  

La clé privée est l'élément de cette équation que vous seul détenez, et en la fournissant, vous prouvez que vous êtes celui qui a signé un document. 

Tout d'abord, vous hachez le texte brut pour conserver un enregistrement de la version non modifiée du message que vous êtes sur le point d'envoyer.  

SIDENOTE. Le hachage est la transformation d'un contenu spécifique de n'importe quelle longueur en une valeur de longueur fixe plus courte. 

L'algorithme de hachage le plus préféré de nos jours est SHA256 (Secure Hashing Algorithm). Gardez à l'esprit que le hachage est un processus à sens unique et qu'un petit changement dans l'entrée modifie l'ensemble de la sortie.  

Ensuite, vous cryptez le hachage du texte brut avec votre clé privée, ce qui se traduira par la signature numérique. 

Vous joignez la signature numérique au document en texte brut et l'envoyez. 

Avec chiffrement asymétrique, le destinataire pourra déchiffrer votre signature numérique et comparer le hachage du texte brut avec le hachage que vous fournissez.  

Ainsi, vous pourriez vous demander comment vous hachez un document. Heureusement, un programme sur votre ordinateur le fera automatiquement pour vous.  

Voici comment générer le hachage d'un document sous Windows 7/8/10 : 

  1. Accéder à "Invite de commandes" ;  
  2. Tapez "certutil - fichier de hachage" 
  3. Déposez le document dans "l'invite de commande". 
  4. Ajoutez "SHA256" à la fin de la ligne. 

Votre dernière ligne devrait ressembler à ceci : 

certutil -hashfile "C:\Utilisateur\Ordinateur\Desktop\Fichier.docx" SHA256 

En faisant cela, la console affichera un code 256 bits / 64 caractères hexadécimaux qui représente le contenu de votre fichier. 

Mais où obtenez-vous une clé privée et une clé publique ? 

C'est assez simple aussi.  

Vous pouvez les générer via un logiciel, une plateforme en ligne ou via une infrastructure à clé publique (PKI) enregistrée auprès d'une autorité de certification. 

SIDENOTE. L'ICP est un format accepté pour gérer le chiffrement à clé publique qui offre les plus hauts niveaux de sécurité et d'acceptation universelle.  

Alors, comment ajouter une signature numérique avec une clé privée à un document ? 

Pour cela, il faut encore une fois utiliser des logiciels dédiés comme Sign Server, Safe pdf, ou encore DocuSign. 

Comment ça aide? 

Prenons un scénario fictif de la façon dont une signature numérique peut vous protéger.  

Vous signez numériquement un contrat avec un prestataire à l'étranger pour des services d'externalisation.  

Après avoir convenu des termes et conditions et d'un tarif de 20 $/heure, vous avez haché le document et l'avez signé, puis l'avez renvoyé au fournisseur. 

Et voici le problème.  

Le contrat signé doit parvenir au directeur de l'entreprise de sous-traitance, mais un vendeur cupide fait passer le tarif à 30 $/heure afin qu'il puisse gagner une commission plus importante. Au moment de payer, vous découvrez soudainement que le tarif est supérieur à ce que vous aviez convenu. 

Comment prouver que le document a été falsifié ?  

Le directeur n'était pas au courant mais était disposé à clarifier la situation. Alors, vous lui demandez d'utiliser la clé publique pour déchiffrer votre signature et vérifier le hachage. Ce faisant, il pourra repérer la différence dans la sortie de hachage et déterminer que le contrat a été modifié.  

Et même si le responsable n'est pas disposé à coopérer, vous pouvez le poursuivre en justice, prouver que vous avez raison et le tenir responsable. 

Signature numérique dans la blockchain 

La blockchain de Bitcoin utilise l'algorithme SHA256 et la signature numérique pour assurer l'immuabilité des informations stockées sur le blockchain. La signature numérique permet de suivre les transactions et d'éviter les doubles dépenses. 

Les transactions sont prises en entrée et sont exécutées via un algorithme de hachage, puis renvoyées en sortie avec une longueur fixe. Les données sont ensuite ajoutées à l'intérieur d'un bloc. Le bloc contient également un pointeur de hachage qui pointe vers le bloc précédent.  

Le pointeur de hachage contient le hachage de toutes les données à l'intérieur du bloc précédent. Toute légère modification des données contenues dans un bloc entraînera avec elle une modification drastique du hash. La modification ne tombe pas seulement sur le bloc actuel mais également sur tous les blocs précédents, les annulant ainsi. 

Qu'est-ce qu'un certificat numérique? 

Comme vous l'avez peut-être déjà deviné, il n'est pas si compliqué de créer une signature numérique et de l'utiliser. C'est exactement là où réside sa faiblesse.  

Une partie malveillante peut essayer de créer une signature numérique et une clé publique pour se faire passer pour quelqu'un d'autre. Si une personne reçoit un tel message signé numériquement et conclut que le document est légitime, cette personne sera exposée à une attaque informationnelle de la partie malveillante.  

La signature numérique seule ne vérifie pas la véritable identité de l'expéditeur et sa clé publique manque donc d'authentification. 

Cependant, ce problème est résolu par un certificat numérique. Un certificat numérique est un justificatif d'identité électronique délivré par une autorité de certification.  

L'autorité de certification enregistre via une PKI l'identité du propriétaire et vérifie également que le propriétaire possède bien la clé publique. 

Le certificat numérique contient généralement le nom du propriétaire, la clé publique, l'autorité de certification et la signature numérique. De cette façon, le risque de recevoir une signature numérique d'une partie malveillante est considérablement réduit. 

Comment créer un certificat numérique ? 

Il existe principalement deux façons de créer un certificat numérique : 

  1. Vous créez un certificat auto-signé. 
  2. Vous en faites la demande auprès d'une Autorité de Certification (AC). 

1. Certificat auto-signé 

Il existe plusieurs méthodes pour créer un certificat auto-signé, mais pour comprendre le processus, nous nous référerons au certificat X509 auto-signé. Vous pouvez tout créer vous-même dans OpenSSL. 

Ouvrez simplement l'invite de commande et tapez "openssl". 

Ensuite, tapez 'OpenSSL req -x509 -days 365 -newkey rsa:2048 -keyout my-key.pem -out my-cert.pem'. 

Et bien que pour certains d'entre vous, cela puisse ressembler à du charabia, voyons ce que tout cela signifie : 

  • 'Req' signifie qu'il s'agit d'une demande de certificat ; 
  • 'x509' désigne le type de certificat ; 
  • '365' indique le nombre de jours de validité ; 
  • 'newkey' signifie qu'il s'agira d'un nouveau certificat ;
  • 'Keyout' va être le fichier clé.

Après cela, vous pourrez créer la clé privée et ajouter des informations d'identification.  

Vous pouvez trouver un guide étape par étape ici

Cependant, un certificat numérique auto-signé fournit uniquement un cryptage mais pas de confiance. Un tel certificat est une cible facile pour les pirates. Ils peuvent le reproduire et faire semblant d'être «l'émetteur» et commencer à hameçonner des informations personnelles. 

En fait, les sites Web qui utilisent des certificats SSL auto-signés sont marqués comme "non approuvés" par les navigateurs Internet. 

2. Certificat délivré par l'autorité de certification 

Le certificat numérique validé par une autorité de certification est la méthode la plus fiable et la plus sûre. Il est également plus facile à obtenir, mais cela peut impliquer des frais.  

L'autorité de certification exige généralement des frais pour la délivrance d'un certificat, et vous pouvez soit demander uniquement son certificat, soit lui demander de gérer l'ensemble de l'infrastructure à clé publique. 

Si vous avez besoin d'un simple certificat, vous pouvez les contacter par téléphone ou par e-mail. Ils vérifieront votre identité, puis vous donneront un certificat qui devrait contenir la clé publique, l'identification de l'autorité de certification et l'identification de l'utilisateur. 

Outre la certification numérique, vous pouvez demander à certaines entreprises de gérer tous les aspects de la PKI, les jetons d'accès et l'authentification multifacteur pour les utilisateurs, les appareils et les machines. 

Dans le cas du site Web, la demande de signature de certificat se présente sous la forme d'une commande avec le serveur Web. 

Faits marquants 

  • Une signature numérique est une vérification électronique de l'expéditeur. Il s'appuie sur un chiffrement asymétrique et utilise une clé privée pour chiffrer le message et une clé publique pour le déchiffrer. 
  • Le contenu du message est haché pour conserver son intégrité. Cependant, le hachage est un processus à sens unique et est utilisé pour valider que le contenu n'a pas été modifié. 
  • Le message reçu est déchiffré avec la clé publique et le hachage du contenu doit correspondre à la valeur de hachage fournie par l'expéditeur. Sinon, le destinataire a des raisons de croire que le contenu a été modifié. 
  • Une signature numérique seule manque d'authentification. Par conséquent, il doit être soutenu par un certificat numérique délivré par une autorité de certification. 

* Les informations contenues dans cet article et les liens fournis sont uniquement à des fins d'information générale et ne doivent constituer aucun conseil financier ou d'investissement. Nous vous conseillons de faire vos propres recherches ou de consulter un professionnel avant de prendre des décisions financières. Veuillez reconnaître que nous ne sommes pas responsables de toute perte causée par toute information présente sur ce site Web.

Source : https://coindoo.com/digital-signature/