Avec l'émergence des systèmes d'information, les activités organisationnelles, RH, comptables ou toute activité impliquant la transmission de documents se sont dégradées.gitAl. Il est devenu plus pratique de stocker, transmettre, modifier et traiter de gros flux de données. Cependant, l’information est devenue susceptible d’être attaquée sur ses propriétés fondamentales d’intégrité, de disponibilité et de confidentialité. Et il fallait une solution qui, comme un sceau ou une signaturenature, peut assurer la sécurité de ces propriétés !
Cette solution était la technologie de di électroniquegital signature, ou EDS. C'est un système qui effectue des transformations cryptographiques avec une partie de confiance, ce qui permet de confirmer l'authenticité et l'intégrité du message transmis !
Qu'est-ce qu'une signature GPGnathein ?
Signature GPGnature est un analogue d'un signe humain normalnature sur les documents. Ce n'est pas une image ou une signature graphiquenature, mais une séquence de chaînes qui a été générée par une fonction de hachage unidirectionnelle et un processus de cryptage par un algorithme cryptographique.
L'entrée dans un cryptosystème ou un programmerammoi qui permet les transformations cryptographiques, ce sont des informations qui doivent être signées. Le fichier ou la séquence de chaînes à signer passe par une fonction mathématique unidirectionnelle ou une fonction de hachage qui convertit les données en une séquence dénuée de sens. Mais unique pour le texte ou le fichier donné. Autrement dit, si vous modifiez un seul caractère, la fonction aura une signification différente. L'algorithme de cryptage asymétrique est responsable de la confidentialité.
Installer et configurer GPG
Prenons un exemple du processus de création d'une signaturenature pour un fichier ou un message afin que le destinataire puisse être sûr de l'intégrité, de l'authenticité et, dans certaines configurations, de la confidentialité des données transmises. Tout d'abord, mettons à jour les packages sur la machine afin que toutes les dépendances soient à jour et qu'il n'y ait aucun problème de connexion.
apt update && apt upgrade -y
Par défaut, les distributions incluent déjà la solution du package gnupg, qui permet d'effectuer des conversions cryptographiques. Cependant, si votre appareil ne l'a pas, spécifiez un gestionnaire de packages et une commande :
- apte à Debian/Ubuntu;
- miam/dnf pour Fedora/RedHat.
apt install gnupg -y
Avant de démarrer une machine de test, que nous pouvons faire sur Serverspace plate-forme cloud qui facilitera le déploiement, vous pouvez également ignorer cette étape si vous disposez d'un serveur cloud. Pour créer le nœud, nous devons trouver la plate-forme cloud dans le menu de gauche que vous pouvez choisir en fonction de vos besoins. Nous choisissons vStack or VMware plate-forme et cliCliquez sur le bouton Créer un serveur.
Le déploiement de la capacité du serveur prendra un certain temps. Après cela, vous pouvez vous connecter de n’importe quelle manière pratique. Revenons à notre terminal avec l'utilitaire déjà installé, pour nous familiariser avec la syntaxe nous écrirons les commandes :
gpg -h
Comme nous pouvons le constater, la liste des options est assez longue. Par conséquent, concentrons-nous sur les principales options et fonctions de la commande, qui peuvent être nécessaires lors de l'exécution d'actions de base.
Comment créer des clés GPG ?
Afin de signer un message, une paire de clés doit être générée à l'aide d'un algorithme de chiffrement asymétrique :
gpg --full-generate-key --expert
Utilisez gpg avec --full-generate-key ainsi que --expert options pour une configuration plus détaillée des clés et des utilisateurs. En sélectionnant l'algorithme de cryptage RSA, la longueur de clé 2048 et en définissant l'ID utilisateur, nous nous assurerons que les clés ont été créées. Par défaut, il est stocké dans un trousseau de clés ou une base de données de trousseaux de clés, qui est chiffré avec la clé utilisateur. En conséquence, l'authenticité du message et des fichiers dépend de la longueur de la clé et du mot de passe de l'utilisateur, lors de la transmission et du stockage. Par conséquent, il est nécessaire de définir un mot de passe complexe, de préférence à 14 caractères.
Regardons les paires de clés créées, pour public -k, pour private -K :
gpg -k
Afin que le destinataire puisse vérifier la signaturenatIl est évidemment nécessaire d'exporter puis d'importer les clés publiques chez le destinataire :
gpg -a -u Koldek --export > keys.asc
Pour afficher la clé, entrez la commande :
cat keys.asc
Il existe désormais deux options pour la distribution des données. En raison de la menace d'usurpation de la clé publique, lors de la transmission initiale, nous devons passer par des intermédiaires ou faire confiance à la clé source. Considérez le modèle Web-of-Trust, qui implique de faire confiance à des sources basées sur les évaluations des utilisateurs. Nous plaçons notre clé sur notre propre site ou sur WoT et la distribuons à la demande des utilisateurs.
Dans le schéma avec le centre de certification, nous devons enregistrer notre clé publique et obtenir un certificat, qui contiendra un nouvel EDS du centre de certification. Si l'utilisateur fait confiance à l'autorité de certification, la signaturenature est décrypté et vérifié en conséquence.
Une fois que vous avez la clé, vous devez l'importer avec la commande :
gpg --import key.asc
Après l'importation, nous voyons le numéro et le nom de la clé, que nous pouvons également vérifier pour l'authentification :
Si nous essayons de vérifier un message de test, nous recevrons un avertissement concernant l'origine inconnue de la clé. Pour vérifier que les clés sont fiables, une base de données ou un gpg de confiance est utilisé pour stocker une liste de clés et leur niveau de confiance.
Écrivons le niveau de confiance manuellement en changeant la clé parameters avec la commande :
gpg --edit-key Koldek
Et puis sélectionnez l'élément que vous souhaitez modifier - confiance :
Pour faire pleinement confiance à la clé, vous devez sélectionner l'élément 5, mais avant cela, vérifiez les valeurs de hachage et les données de la clé ! Et confirmez votre choix :
En bas, nous voyons une note indiquant que la confiance de clé changera après le redémarrage de l'utilitaire, ce que nous ferons.
Comment puis-je créer et vérifier une signature GPGnathein ?
Revenons à la machine précédente où nous avons généré les clés et signons le premier message !
Il existe trois options pour signer un message :
- créer une signature viergenature dans le message lui-même;
- créer une signature séparéenature dans un fichier;
- créer une signaturenature dans un fichier combiné avec du texte.
La première façon est un fichier dans lequel le message lui-même et la signaturenature sont séparés, aucun moyen spécial n'est requis pour lire le fichier. Seulement pour confirmer la signaturenatbien sûr. Écrivons la commande :
gpg -a -u Kolded --clear-sign target.txt
Après la signature, transférez le fichier de la manière qui vous convient et vérifiez le message dans le fichier déjà du côté du destinataire :
gpg --verify target.txt.asc
Comme vous pouvez le constater maintenant, les avertissements et les erreurs n'apparaissent pas et la date de signature du message est définie. Cependant, sans serveur de temps, il est possible d'usurper ces valeurs, car elles sont stockées dans les métadonnées du fichier et ne sont pas vérifiées comme le message lui-même.
La méthode suivante, un fichier séparé avec la signaturenature, ce qui peut être pratique pour les progiciels lorsqu'il n'est pas nécessaire de les modifier avec une signaturenatbien sûr. Tout ce que vous avez à faire est de télécharger un fichier séparé pour vérification :
gpg -a -u Koldek -b target.txt > target.txt.asc
Par souci de clarté, vérifions immédiatement son authenticité avec une commande :
gpg --verify target.txt.asc
Notez que nous devons maintenant transférer le message lui-même et sa signature.nature à la machine, de préférence dans le même dossier.
Mais comment garantir la confidentialité, l'intégrité et l'authenticité de la signature transmise ?nattu es en même temps ? Il suffit de le chiffrer après l'avoir créé ! Cela garantira la confidentialité de notre message, fichier ou document. Pour ce faire, écrivons la commande :
gpg -a -u Koldek -r Raider -se target.txt
Un fichier sera généré dans lequel le message et la signaturenature sera déjà intégré, vous devez maintenant le vérifier et le déchiffrer avec la commande :
gpg -d target.txt.asc
Dans la création de digital signatEn utilisant GPG, nous voyons un outil puissant pour garantir la sécurité et la confiance dans l’échange d’informations. Ce processus garantit l'intégrité des données et confirme la paternité, ouvrant de nouvelles possibilités de messagerie sécurisée et de partage de fichiers dans le digittout le monde.