Le mot de passe qui l'ouvre, et ce qu'on peut en faire
Fermez le document à clé sous un mot de passe, et nommez ce qu'un logiciel de lecture est prié d'autoriser : imprimer, copier, remplir un formulaire.
Résumé
Un classeur se range dans un tiroir, et le tiroir prend une clé. Un PDF marche pareil, avec deux clés plutôt qu'une. La première est tapée par la personne qui ouvre le document : tant qu'elle n'est pas tapée, le logiciel de lecture n'affiche rien du tout. La seconde appartient à celle qui a écrit le document, et lui rend tout ce que les autres sont priés de laisser de côté. Les deux sont à vous de choisir, et vous pouvez demander l'une, l'autre, les deux, ou aucune. À côté des clés, vous nommez ce qu'on peut faire une fois la page à l'écran : l'imprimer, en copier une phrase, remplir un formulaire, écrire une note dans la marge. L'autorisation va à ce que vous nommez, et à cela seulement. Ce sont des souhaits, et les logiciels de lecture dont tout le monde se sert les respectent ; le mot de passe demandé avant la première page, lui, tient vraiment la porte. Et comme ce mot de passe voyage avec votre demande, envoyez-le par une liaison protégée : le document est écrit avec, et il est oublié dès que le fichier repart.
Techniquement
Écrit au premier niveau d'une requête, sous
"protection"
protection ferme le document à clé : chaque chaîne et chaque flux est écrit chiffré, en AES avec une clé de deux cent cinquante-six bits. Le bloc suffit à lui seul — un bloc qui ne nomme aucun mot de passe ferme le fichier tout autant et le laisse s'ouvrir sans rien taper, ce que font la plupart des fichiers protégés du monde. La clé est prise à la source d'aléa de la machine, une fois par rendu, et ne se déduit de rien de ce que porte la requête : deux rendus d'une même requête protégée reviennent donc en deux fichiers différents, et c'est le seul bloc du schéma dont ce soit vrai. Les autorisations se nomment une par une, chaque nom en accordant une, et un nom hors des huit revient en 400 avec les huit énumérées. Ce que les autorisations retiennent est inscrit dans le fichier pour qu'un logiciel de lecture le respecte, et ceux dont on se sert tous les jours le respectent ; user_password est ce qui retient une page à soi seul. Un mot de passe reste à l'intérieur du rendu : il n'atteint ni le journal, ni un rapport d'incident, ni la réponse faite à l'appelant, et le corps de la requête est jeté dès qu'il est lu.
Schéma de la requête
-
protection— objet, facultatif, absent par défaut. Présent, le document est fermé à clé en AES-256 ; absent, il est écrit en clair. -
protection.user_password— chaîne, facultatif. Ce qu'une personne tape avant qu'un logiciel de lecture affiche la moindre page. Absent, le document s'ouvre sans que rien soit tapé. -
protection.owner_password— chaîne, facultatif. Ce que l'auteur tape pour obtenir tout ce que les autorisations retiennent. Absent, le fichier inscrit l'autre mot de passe à sa place. -
protection.permissions— tableau de chaînes, facultatif, vide par défaut. Chaque nom accorde une chose, et ce qui est accordé est ce qui est nommé. Huit valeurs :printing— le document peut être imprimé.printing_at_full_resolution— il s'imprime dans la finesse où il a été dessiné. Accorderprintingseul l'imprime comme une image grossière.modifying— le contenu du document peut être modifié. L'annoter, remplir un formulaire et réorganiser ses pages ont chacun leur autorisation, ci-dessous.copying— on peut en sortir le texte et les images.annotating— on peut dessiner par-dessus et remplir les cases d'un formulaire.filling_forms— on peut remplir les cases d'un formulaire à elles seules, même là oùannotatingreste hors de la liste.extracting_for_accessibility— on peut en sortir le texte pour un logiciel qui lit la page à voix haute.assembling— on peut insérer, tourner ou retirer des pages.
-
Un nom hors des huit revient en
400, les huit énumérées avec lui.
Deux rendus d'une même requête protégée sont deux fichiers différents, la clé étant prise à la machine à chaque fois. Un document qu'on veut retrouver octet pour octet d'un rendu à l'autre s'écrit en clair.
Archivage : archive et protection se demandent l'un après l'autre, et une requête qui déclare les deux revient en 400. Une norme d'archivage promet que le fichier restera lisible le jour où plus personne ne connaîtra le mot de passe, et chaque partie de PDF/A tient le fichier à cette promesse.
Accessibilité : un document fermé à clé qui déclare pdfua1 accorde extracting_for_accessibility, pour qu'un logiciel qui lit la page à voix haute ait quelque chose à lire. Un document qui déclare pdfua2 repose sur PDF 2.0, qui garde ce réglage en réserve, et nomme les autorisations qu'il veut.
Un mot de passe est porté tel quel par la requête : on l'envoie donc en TLS, et on le tient à l'écart de tout ce qui écrit une requête quelque part.
Une requête entière qui le dessine
{
"protection": {
"user_password": "the-reader-types-this",
"owner_password": "the-author-keeps-this",
"permissions": [
"printing",
"printing_at_full_resolution",
"extracting_for_accessibility"
]
},
"metadata": { "title": "Salary statement, March 2026" },
"standard_fonts": [{ "name": "sans", "face": "helvetica" }],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 768 },
"content": ["Salary statement, March 2026"],
"font": "sans",
"font_size": 18
}
]
}
Le document dans son ensemble
Les numéros que le logiciel de lecture affiche Cent courriers dans un seul fichier Ce que le document dit de lui-même Un fichier lisible dans trente ans Une facture qu'un humain et une machine lisent L'adresse contre laquelle les liens se lisent La version de PDF que le fichier déclare Ce qu'une image dit d'elle-même Des fichiers que le document emporte à côté de ses pages Quels fichiers emportés une page réclame La fiche d'identité que porte une seule page La norme d'accessibilité que le document déclare
Où aller ensuite
Chaque clé d'une requête, en une page Les quarante et un autres réglages d'une requête