Aller au contenu

Centre de confiance

Voici le centre de confiance du moteur principal NextPDF. C’est le point d’entrée vers quatre documents : le modèle de menace du moteur, le modèle de sécurité des signatures et du chiffrement, le comportement de traitement des données et des PII et la politique de divulgation des vulnérabilités. Chaque page décrit une facette précise du comportement de la bibliothèque, ainsi que l’endroit où sa responsabilité s’arrête et où celle du déploiement commence.

Limite. Cette page, et les pages vers lesquelles elle renvoie, décrivent une posture d’ingénierie : les choix de conception, les valeurs par défaut et les mesures d’atténuation intégrées au moteur principal, vérifiées par sa propre suite de tests. Elles ne constituent ni une certification, ni un rapport d’audit, ni une garantie légale. Aucune affirmation ici n’atteste que la bibliothèque est « sécurisée » dans ton déploiement. La sécurité est une propriété de tout le système — la garde de tes clés, ta politique de vérification, ton réseau et tes pratiques opérationnelles — pas d’une seule dépendance.

La posture de confiance décrite ici s’applique au moteur principal :

Fenêtre de terminal
composer require nextpdf/core:^3

Aucun paquet supplémentaire n’est nécessaire pour lire ces pages. Les comportements qu’elles décrivent sont exercés par la suite de tests principale livrée avec le même paquet.

Le centre de confiance repose sur le principe selon lequel une page de documentation doit énoncer à la fois ce que le moteur fait et ce qu’il ne promet pas. Les quatre sous-pages répartissent cette surface :

  • Modèle de menace — les classes d’attaque que le moteur prend en compte (SSRF, XXE, bombes de décompression, traversée de chemin, injection de contenu), la posture de refus par défaut et les protections intégrées au code qui atténuent chaque classe. Il documente les menaces considérées. Il ne prétend pas à l’absence de vulnérabilités.
  • Modèle de sécurité — la surface cryptographique : le chiffrement de document AES-256, le caractère coopératif, côté lecteur, des bits de permission PDF, et le chemin de signature CMS/PAdES B-B et B-T. Il explique pourquoi « la prise en charge d’un mécanisme » n’est pas « la sécurité de ton déploiement ».
  • Traitement des données — quelles données la bibliothèque lit, garde en mémoire et écrit ; la transformation de nettoyage des PII appliquée aux ensembles d’audit ; et le chemin de télémétrie facultatif et sans surcoût. Il décrit le comportement de la bibliothèque, pas la résidence des données au niveau du déploiement.
  • Divulgation — le processus coordonné de divulgation des vulnérabilités : les canaux de réception privés, les objectifs de délai de réponse et le modèle d’embargo. C’est un engagement de processus, pas une garantie de résultat.

Chaque page présente ses affirmations normatives sous la forme d’un tableau affirmation → id de clause + reference_id issu du bloc citations: de son front-matter. Un lecteur peut redériver la base normative de chaque énoncé.

Non applicable. Le centre de confiance relève de la documentation. Les API qui sous-tendent le comportement décrit font l’objet des pages de référence des modules (/modules/core/security/, /modules/core/audit/) et ne sont pas réénumérées ici. Cette page renvoie aux facettes de confiance, pas aux symboles.

Non applicable. Ceci est une page d’index. Elle n’affirme aucun comportement exécutable. Les sous-pages qui décrivent le comportement à l’exécution incluent leurs propres exemples de code lorsqu’un comportement est démontrable dans le moteur principal.

Non applicable. Consulte les sous-pages.

  • Une page de confiance n’est pas un contrat. Lire ces pages ne confère aucune garantie. La licence (Apache-2.0) fait foi. La clause de non-garantie qui y figure s’applique pleinement.
  • La posture est versionnée. Les valeurs par défaut et les protections décrites ici sont celles de la version majeure stable actuelle. Une version majeure plus ancienne peut avoir une valeur par défaut moins stricte. La politique de sécurité indique quelles versions majeures reçoivent des correctifs.
  • La « prise en charge » est un piège récurrent. Dans tout le centre de confiance, la prise en charge d’un profil ou d’un mécanisme n’équivaut jamais à la conformité correspondante ni à sa sécurité. Chaque page reformule cette limite dans ses propres termes.

Non applicable. La documentation n’a aucun coût à l’exécution. L’enveloppe de performance des opérations de sécurité sous-jacentes est documentée sur les pages de module concernées.

Le centre de confiance existe pour rendre les limites de sécurité explicites plutôt qu’implicites. Deux limites transversales s’appliquent à chaque page :

  1. Les valeurs par défaut échouent en mode fermé, sans être infaillibles. Chaque objet de politique du moteur est livré avec la position la plus stricte que l’API publique autorise. L’assouplir exige un choix explicite de l’appelant. Une valeur par défaut qui échoue en mode fermé réduit le risque d’une exposition accidentelle. Elle ne supprime pas la responsabilité de l’opérateur de revoir la configuration qu’il choisit. Cela reflète le principe de configuration de référence du NIST SP 800-53 Rev. 5 CM-7 (nist_sp_800_53r5#x4.x182.p14) : une configuration de référence minimisée est un point de départ. Tout assouplissement est une décision explicite et consignée.
  2. Des exigences documentées, pas une assurance générale. Le centre de confiance vérifie le comportement par rapport à des exigences de sécurité documentées, dans l’esprit d’OWASP ASVS 5 (owasp_asvs_5#x165) : un standard de vérification mesure la conformité à des exigences énumérées. Il ne certifie pas que rien n’a été oublié.

Non applicable en tant que profil. Cet index n’implémente pas de profil de conformité. Lorsqu’une sous-page touche à un standard (ISO 32000-2 pour le chiffrement et les signatures, ISO/IEC 29147/30111 pour la divulgation, le RGPD de l’UE / ISO/IEC 29100 pour le traitement des données), elle cite la clause précise et le reference_id dans son propre front-matter. Elle fournit elle-même le tableau affirmation → clause.