cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

PGP, qui signifie « Pretty Good Privacy » en anglais, est un programme de cryptage de données utilisé pour protéger la confidentialité et la sécurité des informations.

PGP utilise un systÚme de cryptage à clé publique, ce qui signifie qu'il utilise deux clés différentes : une clé publique et une clé privée. La clé publique est utilisée pour chiffrer les données, tandis que la clé privée est utilisée pour les déchiffrer.


ඏ

Ça sert quoi ?

Souvent utilisĂ© dans le cryptage des mails, PGP est Ă©galement utilisĂ© pour signer numĂ©riquement des messages et des fichiers. La signature numĂ©rique garantit l’authenticitĂ© et l’intĂ©gritĂ© des donnĂ©es, permettant aux destinataires de vĂ©rifier que le message ou le fichier n’a pas Ă©tĂ© modifiĂ© et provient de la personne ou de l’entitĂ© attendue.

Signer un message : Le message est transmis en clair, et la signature permet de s’assurer qu’il n’a pas Ă©tĂ© modifiĂ© et qui provient bien de la bonne personne.

Les autres usages sont liĂ©s Ă  des services comme github qui pour certaines actions nĂ©cessite d’utiliser une clĂ© gpg.


ඏ

PGP versus OpenPGP versus GnuPG versus GPG

En version courte et approximative : ces mots/acronymes sont des synonymes.

Voici une explication un peu plus détaillée :

  • PGP est le logiciel initial, son nom “Pretty Good Privacy” peut se traduire ainsi : « une protection de la vie privĂ©e plutĂŽt bonne ».
  • OpenPGP est un dĂ©rivĂ©, non propriĂ©taire de PGP (100 % open source).

C’est deux logiciels se sont imposĂ©s comme des standards et fonctionnent de maniĂšre similaire. Il s’appuie sur la RFC 4880.

  • GnuPG est une rĂ©-implĂ©mentation d'OpenPGP en n’utilisant que du code libre (sans brevet). Le logiciel GnuPG Ă  comme commande principale : gpg.

ඏ

Création de votre clé

Commençons par regarder quelles clés sont disponibles :

gpg --list-secret-keys --keyid-format=long
/home/UTILISATEUR/.gnupg/pubring.kbx
----------------------------------------
sec   rsa4096/F5F2580541D88731 2018-09-17 [SCEA]
      005019FA0448BBAF5F22BB0E9EB658D880541731
uid                 [ultimate] mount-manager

sec   rsa4096/3D17827597C71852 2019-03-17 [SCEA]
      7BC7F7A00DA6BEDFAF5BB97827591857C721A3D1
uid                 [ultimate] mount-manager

Dans cet exemple, nous avons des clĂ©s utilisĂ©es par des applications. C’est un cas d’usage particulier, gĂ©nĂ©ralement la liste sera vide.

Créons notre clé personnelle.

gpg --full-generate-key
gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
  (14) Existing key from card
Your selection?
  • À l’invite, spĂ©cifiez le type de clĂ© souhaitĂ© ou appuyez sur EntrĂ©e pour accepter la valeur par dĂ©faut.
  • Entrez la durĂ©e pendant laquelle la clĂ© doit ĂȘtre valide. Appuyez sur EntrĂ©e pour spĂ©cifier la sĂ©lection par dĂ©faut, indiquant que la clĂ© n’expire pas. Sauf si vous avez besoin d’une date d’expiration, nous vous recommandons d’accepter cette valeur par dĂ©faut.
  • VĂ©rifiez que vos sĂ©lections sont correctes.
  • Entrez vos informations d’identification utilisateur. Pour votre adresse mail, vous aurez besoin d’utiliser une qui soit connue de la personne ou du service qui aura Ă  vous identifier.
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: Prenom NOM
Email address: user@exemple.org
Comment:
You selected this USER-ID:
    "Prenom NOM <user@exemple.org>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? C
Comment: https://www.exemple.org/
You selected this USER-ID:
    "Prenom NOM (https://www.exemple.org/) <user@exemple.org>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key AA2543E9CCC00213 marked as ultimately trusted
gpg: revocation certificate stored as '/home/UTILISATEUR/.gnupg/openpgp-revocs.d/A51831BFB29DC2572DBEEBCAAA2543E9CCC00213.rev'
public and secret key created and signed.

pub   rsa4096 2024-01-18 [SC]
      A51831BFB29DC2572DBEEBCAAA2543E9CCC00213
uid                      Prenom NOM (https://www.exemple.org/) <user@exemple.org>
sub   rsa4096 2024-01-18 [E]

La paire de clé a été créée, vérifions :

gpg --list-secret-keys --keyid-format=long
/home/UTILISATEUR/.gnupg/pubring.kbx
----------------------------------------
sec   rsa4096/F5F2580541D88731 2018-09-17 [SCEA]
      005019FA0448BBAF5F22BB0E9EB658D880541731
uid                 [ultimate] mount-manager

sec   rsa4096/3D17827597C71852 2019-03-17 [SCEA]
      7BC7F7A00DA6BEDFAF5BB97827591857C721A3D1
uid                 [ultimate] mount-manager

sec   rsa4096/AA2543E9CCC00213 2024-01-18 [SC]
      A51831BFB29DC2572DBEEBCAAA2543E9CCC00213
uid                 [ultimate] Prenom NOM (https://www.exemple.org/) <user@exemple.org>
ssb   rsa4096/110C29F854CD863E 2024-01-18 [E]

La commande gpg --list-secret-keys --keyid-format=long permet de lister la forme longue des clĂ©s GPG pour lesquelles vous disposez d’une clĂ© publique et d’une clĂ© privĂ©e.

Dans la liste des clĂ©s GPG, copiez la forme longue de l’identifiant de la clĂ© GPG que vous souhaitez utiliser. Dans cet exemple, l’ID de la clĂ© GPG est AA2543E9CCC00213.

gpg --armor --export AA2543E9CCC00213

En gĂ©nĂ©ral, pour copier votre clĂ© GPG, vous devrez copier l’ensemble des lignes en commençant par -----BEGIN PGP PUBLIC KEY BLOCK----- et en terminant par -----END PGP PUBLIC KEY BLOCK-----.

Dans certain cas une procĂ©dure de validation de votre clĂ© vous sera demandĂ©, la procĂ©dure vous sera alors dĂ©crite et permettra de valider que vous ĂȘtes Ă  mĂȘme d’encoder ou de signer avec votre clĂ©.


ඏ

Liens

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog