Gestion des clés
PEM : Privacy-Enhanced Mail. « Courrier à confidentialité renforcée », par analogie avec une étiquette de colis qui annonce le contenu en toutes lettres avant la marchandise emballée.
Origine : PEM désignait d'abord un projet de messagerie sécurisée qui n'a guère été adopté. Son format d'encodage, lui, a survécu et sert partout : un rare cas où l'emballage a eu plus de succès que le produit.
Structure : Des données binaires DER (Distinguished Encoding Rules) encodées en base64, entourées de lignes d'en-tête et de pied du type « -----BEGIN CERTIFICATE----- » et « -----END CERTIFICATE----- ». L'étiquette indique le type d'objet : certificat, clé privée, clé publique, CSR.
Usages : C'est le format courant des certificats et des clés pour TLS, OpenSSL et de nombreux serveurs. Un même fichier peut contenir plusieurs blocs, par exemple une chaîne de certificats.
Attention : PEM n'est qu'un encodage : il ne chiffre rien. Une clé privée en PEM est lisible par quiconque accède au fichier, sauf si elle est elle-même chiffrée par une phrase de passe.
Ce qui arrive si on s'en passe
Oublier que PEM n'est qu'un encodage conduit à traiter un fichier de clé privée comme un simple document de configuration : copié dans un dépôt de code, joint à un ticket ou laissé lisible par tous les comptes d'un serveur, il livre la clé à quiconque l'ouvre, sauf si elle a été chiffrée par une phrase de passe. Avec la clé privée d'un certificat TLS, un attaquant peut se faire passer pour le serveur. Les lignes d'en-tête annoncent d'ailleurs le contenu en toutes lettres, ce qui facilite grandement la recherche automatique de ces fichiers dans les dépôts publics. L'étiquette du colis était honnête ; c'est tout le problème des étiquettes honnêtes.
Explication de la marmotte
Les ordinateurs rangent souvent les certificats et les clés secrètes sous forme de données brutes, illisibles et difficiles à copier dans un e-mail ou un fichier texte. Ce format les transforme en une suite de lettres et de chiffres ordinaires, encadrée par deux lignes qui annoncent le contenu, comme « début du certificat » et « fin du certificat ». On peut alors le copier-coller sans l'abîmer. Attention : cette transformation ne cache rien, elle change seulement l'écriture, un peu comme recopier un texte en majuscules.
Où ce terme est utilisé
- Héritage, politique et limites de la cryptographie (3 occurrences)
- Diagnostiquer les erreurs de validation TLS en production (2 occurrences)
- Formats, bibliothèques et API : rendre la crypto utilisable (2 occurrences)
- Messageries, courrier sécurisé et groupes chiffrés (2 occurrences)
- Authentifier une API B2B hors annuaire interne (1 occurrence)
- Ce qu’un auditeur vérifie dans les preuves de conformité (1 occurrence)
- Courbes elliptiques : compacité, validation et pièges (1 occurrence)
- Créer, vérifier et utiliser les clés dès le départ (1 occurrence)
- Prévenir les secrets codés en dur dans Git (1 occurrence)
- Protéger des données avec un HSM (hardware security module) (1 occurrence)
