Aller au contenu
PDFLove

comment fonctionne le chiffrement des pdf

Comment fonctionne le chiffrement d'un PDF

Un PDF peut porter deux mots de passe, et un seul des deux chiffre quoi que ce soit. L'autre est une demande dont on espère que les lecteurs l'honoreront — et c'est exactement pour cela qu'on peut la retirer.

01

Une clé, deux portes

Quand un PDF est chiffré, une clé de chiffrement de fichier aléatoire est engendrée. C'est cette clé qui protège réellement le contenu, et elle n'est jamais conservée dans le fichier.

Ce qui est conservé, ce sont deux copies chiffrées de celle-ci, dans les entrées `/O` et `/U` du dictionnaire de chiffrement. Le mot de passe utilisateur en ouvre une ; le mot de passe propriétaire ouvre l'autre. Fournissez l'un ou l'autre et vous arrivez à la même clé de fichier — c'est le détail crucial que presque personne ne connaît, et la source de presque toute la confusion sur ce que protection veut dire ici.

Les bits de permission — impression autorisée, copie autorisée, modification autorisée — sont conservés dans le dictionnaire de chiffrement sous forme d'un simple entier. Ils ne sont pas imposés par la cryptographie. Ce sont une déclaration d'intention qu'un lecteur conforme accepte de respecter.

02

Pourquoi retirer un mot de passe propriétaire ne casse rien

Presque tous les PDF qui restreignent l'impression ou la copie n'ont aucun mot de passe utilisateur. Le fichier s'ouvre immédiatement dans n'importe quel lecteur parce que le mot de passe utilisateur est la chaîne vide — et la chaîne vide dérive la clé du fichier.

Donc un outil qui retire les restrictions n'attaque pas le chiffrement. Il déchiffre le fichier exactement comme le fait votre lecteur, avec le mot de passe vide, et écrit une copie sans les indicateurs de permission activés. Le contenu n'a jamais été caché à quiconque l'ouvrait ; le fichier demandait simplement aux lecteurs de ne pas autoriser certaines actions.

C'est un choix de conception délibéré, non un défaut, et la spécification est franche à ce sujet. Les permissions existent pour exprimer une intention à des logiciels coopératifs. Tout programme disposé à ignorer les indicateurs — et tout programme capable d'afficher la page le peut, puisqu'il a déjà déchiffré le contenu pour le rendre — passe à travers.

Mot de passe utilisateur
Du vrai chiffrement. Sans lui les flux sont du texte chiffré et rien ne peut rendre le fichier. Non retirable sans le mot de passe.
Mot de passe propriétaire
Il pose les indicateurs de permission. Le contenu est déjà déchiffrable avec le mot de passe utilisateur vide, donc le retirer est une réécriture, pas une attaque.
Les deux définis
Vous n'avez besoin du mot de passe utilisateur que pour ouvrir. Une fois ouvert, les restrictions sont aussi retirables qu'elles l'ont toujours été.
Aucun des deux
Il n'y a pas de dictionnaire de chiffrement. Il n'y a rien à retirer.

03

Ce qui est réellement chiffré, et comment

Pas le fichier entier. La structure des objets, l'arbre des pages et la table de références croisées restent lisibles — un lecteur doit pouvoir naviguer dans le document avant de pouvoir déchiffrer quoi que ce soit. Ce qui est chiffré, c'est le contenu : les données des flux et les chaînes.

Chaque objet reçoit sa propre clé, dérivée en appliquant un condensat à la clé du fichier avec le numéro et la génération de cet objet. C'est pourquoi deux images identiques dans le même fichier se chiffrent en octets différents, et c'est aussi pourquoi un objet chiffré ne peut pas être renuméroté — son numéro fait partie de sa clé. Les outils de fusion et de division doivent déchiffrer avant de copier quoi que ce soit.

04

Les algorithmes, et ceux qui veulent encore dire quelque chose

Le gestionnaire de sécurité a été révisé plusieurs fois, et la version que porte un fichier détermine ce que vaut son mot de passe.

RC4 40 bits (PDF 1.1)
Pratiquement aucune protection. L'espace de clés est assez petit pour être balayé entièrement sur du matériel courant.
RC4 128 bits (PDF 1.4)
Clé plus longue, mais RC4 n'est plus considéré comme solide et la dérivation de clé tient en quelques tours de MD5 — peu coûteux à attaquer en devinant les mots de passe.
AES-128 (PDF 1.6)
Un chiffrement solide. La faiblesse qui subsiste est la dérivation de clé rapide.
AES-256, révision 6 (PDF 2.0)
La norme actuelle. Dérivation de clé délibérément coûteuse, donc deviner les mots de passe est lent. Ici un mot de passe fort est réellement fort.

05

Ce que cela veut dire pour votre usage

Si le document ne doit pas pouvoir être lu par la mauvaise personne, posez un mot de passe utilisateur, utilisez un niveau de chiffrement moderne et envoyez le mot de passe par un canal distinct du document. Un mot de passe envoyé par courriel dans le même fil que le fichier ne protège de rien.

Si vous voulez seulement décourager la copie ou l'impression occasionnelle, un mot de passe propriétaire fait cela et rien d'autre. C'est un avis de courtoisie avec une force réelle entre logiciels coopératifs et aucune force en dehors. Le traiter comme de la sécurité est l'erreur qui vaut la peine d'être évitée — quelqu'un d'assez motivé pour vouloir le texte peut le sélectionner dans un lecteur qui ignore les indicateurs, ou passer une capture d'écran à l'OCR.

Et lorsqu'un document ne doit pas pouvoir être modifié, plutôt que ne pas pouvoir être lu, l'aplatissement est souvent le meilleur instrument. Il fusionne les annotations et les champs de formulaire dans la page, si bien qu'il ne reste rien avec quoi interagir, et il ne dépend de personne pour honorer un indicateur.

Questions

Questions liées

Si un outil peut retirer le mot de passe, le chiffrement des PDF est-il inutile ?

Seul celui des permissions est retirable, et cela n'a jamais été du chiffrement. Un mot de passe utilisateur, c'est du vrai AES sur le contenu — aucun outil ne peut le retirer sans le mot de passe, parce que les flux sont du texte chiffré et qu'il n'y a rien à lire.

Est-il légal de retirer les restrictions d'un PDF ?

Pour un document qui est le vôtre ou que vous avez le droit d'utiliser, en général oui — vous réécrivez votre propre fichier. Retirer la protection pour rediffuser le travail d'autrui est autre chose et relève du droit d'auteur, pas de ce que l'outil sait faire.

Quel niveau de chiffrement choisir ?

AES-256, sauf si vous devez prendre en charge des logiciels antérieurs à 2017 environ. Les anciens modes RC4 n'existent que par compatibilité et aucun d'eux n'est à prendre au sérieux aujourd'hui.

Pourquoi puis-je ouvrir un PDF qui indique que l'impression n'est pas autorisée ?

Parce que ouvrir et imprimer sont régis par des mécanismes différents. Ouvrir exige le mot de passe utilisateur, qui dans ce fichier est vide. Imprimer est contrôlé par un indicateur que votre lecteur a choisi d'honorer.