Comment fonctionne vraiment le chiffrement PDF — et ses limites
Spec: ISO 32000-2, §7.6ISO 32000-2 §7.6
Le chiffrement PDF brouille les mots et les images à l’intérieur d’un document afin que seule une personne munie du bon mot de passe puisse les lire. C’est de la cryptographie véritable, et elle est bonne dans l’unique tâche qu’elle a. Elle est aussi largement mal comprise, parce que la même fonctionnalité porte un second mécanisme — les drapeaux de permission — qui ressemble à un verrou et n’en est pas un.
Cette page sépare les deux. Elle explique ce que l’AES-256 protège réellement, à quoi servent vraiment les deux mots de passe, et où se situe la frontière honnête.
Pourquoi c’est important
Section intitulée « Pourquoi c’est important »On se tourne vers le chiffrement quand un document est sensible : un contrat, un bulletin de paie, une lettre médicale. L’attente est raisonnable — garde ceci privé, et empêche les gens de l’imprimer ou de le copier. Le PDF accomplit la première moitié de ce vœu de façon convaincante, et la seconde moitié seulement sur l’honneur.
Confondre les deux, c’est là que le coût retombe. Une équipe marque un fichier « pas de copie », fait confiance à la plateforme pour l’appliquer, et livre. Des mois plus tard, quelqu’un copie le texte en trente secondes avec un autre lecteur, et l’hypothèse qui n’a jamais tenu se transforme silencieusement en fuite. Le chiffrement n’a jamais été cassé. On lui a simplement demandé de faire quelque chose qu’il ne fait pas.
La version courte
Section intitulée « La version courte »- Le chiffrement protège la confidentialité. Avec l’AES-256, le contenu en chaînes de caractères et en flux d’un PDF est du véritable texte chiffré. Sans la clé, il est illisible.
- Le mot de passe utilisateur ouvre le document. Fournis-le et tu peux voir le contenu. Sans lui, il n’y a rien à lire.
- Le mot de passe propriétaire gouverne les permissions. C’est la clé « tous droits ». Les drapeaux de permission qu’il garde — imprimer, copier, modifier — sont enregistrés à l’intérieur du document chiffré.
- Les drapeaux de permission sont coopératifs avec le lecteur. Ce sont une requête adressée à un lecteur bien élevé, pas une application. Un lecteur qui les ignore peut tout de même imprimer, copier ou modifier.
- La structure reste visible. Le chiffrement masque le contenu, pas le squelette du document — le nombre de pages et la disposition des objets ne sont pas le secret.
Comment NextPDF l’aborde
Section intitulée « Comment NextPDF l’aborde »Le chiffrement PDF est défini par Spec: ISO 32000-2, §7.6ISO 32000-2 §7.6. Le modèle est précis : un gestionnaire de sécurité dérive une clé de chiffrement du fichier à partir d’un mot de passe, les chaînes et les flux du document sont chiffrés avec cette clé, et un dictionnaire de chiffrement — référencé depuis le trailer du fichier — enregistre quel chiffre a été utilisé, quelle est la longueur de la clé, et quelles permissions l’auteur a déclarées.
Le chiffre moderne et recommandé est l’AES avec une clé de 256 bits. Lorsque tu chiffres un PDF de cette façon, la charge utile lisible — le texte que tu extrairais, les octets d’image, les données de police — est transformée en texte chiffré. La forme extérieure du document reste lisible par conception : un lecteur doit trouver le dictionnaire de chiffrement et apprendre la longueur de la clé avant de pouvoir te demander un mot de passe. C’est pourquoi il vaut mieux comprendre le chiffrement comme une confidentialité du contenu, et non une opacité du fichier entier.
Les deux mots de passe se situent à des couches différentes, et la distinction est la partie qu’il vaut le plus la peine de bien saisir.
- A password is suppliedEither the user password (open) or the owner password (full rights).
- The security handler derives the keyISO 32000-2 §7.6.4 turns the password into the file encryption key.
- Content is decryptedAES-256 turns the encrypted strings and streams back into readable bytes.
- Permissions are consultedThe owner key grants all rights; the user key is bound by the declared permission flags — if the reader chooses to honour them.
Le mot de passe utilisateur est le mot de passe d’ouverture. Il répond à une seule question : peux-tu voir le contenu, tout simplement ? Pas de mot de passe utilisateur, pas de document lisible — cette partie-là est appliquée par la cryptographie, car sans la clé dérivée il n’y a rien à déchiffrer.
Le mot de passe propriétaire est le mot de passe des permissions. Un fichier peut être ouvert par n’importe qui (pas de mot de passe utilisateur) tout en déclarant un mot de passe propriétaire qui contrôle les actions « tous droits » — imprimer en haute résolution, copier le texte, modifier le fichier. Surtout, les bits de permission que protège le mot de passe propriétaire sont protégés en intégrité par le gestionnaire de sécurité standard : toute falsification est détectée et rejetée par un lecteur conforme, parce que le gestionnaire lie les permissions déclarées aux clés de chiffrement. Les bits ne sont pas littéralement des octets illisibles ou non modifiables — un attaquant peut les changer — mais une copie altérée ne se validera pas, si bien qu’un lecteur conforme la traite comme corrompue. Ils sont à falsification évidente. Ils ne sont simplement pas auto-applicables.
Exemple pratique
Section intitulée « Exemple pratique »Les réglages de chiffrement sont simples à exprimer. Ce qui compte, c’est de lire le résultat honnêtement : cela configure une intention, et la partie permission de cette intention est indicative.
<?php
declare(strict_types=1);
use NextPDF\Core\Document;use NextPDF\Security\Encryption\EncryptionMode;use NextPDF\Security\Encryption\Permission;
$document = Document::createStandalone();$document->setTitle('Confidential Offer');$document->addPage();
// Confidentiality is real: AES-256 means the content is unreadable// without the user password. This half is cryptographically enforced.$document->encrypt( userPassword: 'open-sesame', ownerPassword: 'full-rights-key', mode: EncryptionMode::Aes256, // Permissions are a declared request to a cooperating reader, // recorded inside the encrypted document — not a hard lock. permissions: Permission::Print->value | Permission::CopyContent->value,);
$document->save('offer.pdf');Le mot de passe utilisateur et le mot de passe propriétaire sont des clés différentes aux
rôles différents. L’argument permissions énonce ce qu’un lecteur bien élevé devrait
autoriser. C’est une métadonnée honnête, protégée en intégrité par le gestionnaire de sécurité
de sorte que toute falsification soit détectable — et c’est là le plafond de ce qu’une
bibliothèque génératrice peut promettre.
Idée fausse courante
Section intitulée « Idée fausse courante »Le piège est de lire « permissions » comme « application ». C’est intuitif : le drapeau dit impression non autorisée, alors l’impression est sûrement bloquée. Mais rien dans le PDF ne peut tendre la main et désactiver le bouton d’impression d’un lecteur. L’entier de permission est enregistré pour qu’un lecteur coopérant l’honore. Un lecteur qui choisit de ne pas coopérer — et plusieurs ne coopèrent pas — est libre d’imprimer, de copier et de modifier.
NextPDF est délibéré à ce sujet. Le chemin de chiffrement du cœur traite les drapeaux de permission comme une intention déclarée et ne prétend jamais les appliquer. Si tu as besoin que des actions soient véritablement empêchées, ce contrôle doit vivre en dehors du fichier — dans à qui tu remets le document, ou dans un système de contrôle d’accès qui l’entoure.
Limites et périmètre
Section intitulée « Limites et périmètre »Sois précis sur ce que chaque moitié garantit. Le chiffrement (la couche du mot de passe utilisateur) est un véritable contrôle de confidentialité : fort si le mot de passe est fort, et seulement aussi bon que le secret que tu choisis. Les permissions (la couche du mot de passe propriétaire) sont des métadonnées à falsification évidente, pas un contrôle d’accès.
| Ce à quoi tu pourrais t’attendre | Ce que le chiffrement délivre réellement |
|---|---|
| Personne ne peut lire le contenu sans le mot de passe | Vrai. Avec l’AES-256 et un mot de passe utilisateur fort, les chaînes et les flux sont illisibles sans la clé. Véritablement appliqué. |
| Personne ne peut réécrire « pas de copie » en « copie autorisée » | À falsification évidente, pas impossible. Les drapeaux de permission sont protégés en intégrité par le gestionnaire de sécurité standard : un tiers peut modifier les octets, mais la copie altérée ne se validera pas, si bien qu’un lecteur conforme détecte et rejette la modification. |
| Le lecteur sera empêché de copier ou d’imprimer | Garanti par aucun générateur de PDF. Un lecteur non coopérant peut ignorer les drapeaux. C’est une propriété du format, pas une limitation de NextPDF. |
Deux frontières supplémentaires méritent d’être énoncées clairement. D’abord, le chiffrement
protège le contenu, pas la structure du document : la disposition des objets et le nombre de
pages restent visibles, ce qui est normal et nécessaire pour qu’un lecteur localise le
dictionnaire de chiffrement. Ensuite, un PDF chiffré ne peut pas aussi revendiquer la
conformité d’archivage PDF/A — ce profil interdit l’entrée Encrypt, si bien que tu choisis
l’un ou l’autre. La
page de dépannage chiffrement-et-permissions
couvre les exceptions spécifiques et le refus PDF/A en détail.
Documents associés
Section intitulée « Documents associés »- Le paysage des normes — où l’ISO 32000-2 et ses clauses de chiffrement se situent parmi les normes PDF.
- Chiffrement et drapeaux de permission — les entrées pratiques : échecs de déchiffrement, et la frontière des permissions en code.
- Ce qu’est vraiment un PDF — le modèle objet que le chiffrement protège, et la structure qu’il laisse visible.
- Comment les signatures sont intégrées dans un PDF — l’autre moitié de la confiance documentaire : le chiffrement masque, les signatures prouvent.
Glossaire
Section intitulée « Glossaire »- AES-256 — l’Advanced Encryption Standard avec une clé de 256 bits, le chiffre moderne recommandé pour le chiffrement du contenu PDF.
- Mot de passe utilisateur (mot de passe d’ouverture) — le secret requis pour ouvrir et lire un document chiffré. Sans lui, le contenu ne peut pas être déchiffré.
- Mot de passe propriétaire (mot de passe des permissions) — le secret « tous droits » qui gouverne les drapeaux de permission. Un document peut en avoir un sans exiger de mot de passe utilisateur pour s’ouvrir.
- Drapeaux de permission — l’intention déclarée d’impression/copie/modification stockée dans le dictionnaire de chiffrement. Protégée en intégrité de sorte que toute falsification soit détectable, mais honorée seulement par un lecteur coopérant.
- Gestionnaire de sécurité — le composant qui dérive la clé de chiffrement du fichier à partir d’un mot de passe, défini par le gestionnaire de sécurité standard dans l’ISO 32000-2.
- Coopératif avec le lecteur — un contrôle qui dépend du choix du logiciel consommateur de lui obéir, plutôt que d’être appliqué par le fichier lui-même.