Aller au contenu

PEM : Privacy-Enhanced Mail

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é

← Tout le glossaire