Enterprise édition
Accelerator — sidecar GPU et fabrique de fournisseurs KMS
NextPDF Enterprise ajoute deux fonctionnalités d’accélération : un sidecar GPU pour le plongement vectoriel de texte avec un repli sur le CPU, et une fabrique de fournisseurs KMS qui fournit les métadonnées et la rotation des clés de chiffrement de données au niveau collection. Cette page énonce le comportement, les frontières et la posture de garde des clés.
Disponibilité & licence
Section intitulée « Disponibilité & licence »Cette capacité est livrée dans NextPDF Enterprise (nextpdf/enterprise) et s’active avec une enveloppe de licence de palier Enterprise. Un déploiement sans ce droit ne charge pas les classes de la capacité. Comparer les éditions et obtenir une licence.
Vue d’ensemble conceptuelle
Section intitulée « Vue d’ensemble conceptuelle »Le sidecar GPU accélère le plongement texte-vers-vecteur. Le paquet Enterprise envoie le texte à un processus sidecar distinct via une requête HTTP locale. Le sidecar exécute le modèle de plongement sur un GPU lorsqu’il y en a un de disponible. Lorsqu’aucun GPU n’est disponible, le sidecar exécute le même modèle sur le CPU et signale qu’il s’est exécuté en mode dégradé. Le résultat est de la même forme vectorielle dans les deux cas. Le modèle de plongement est chargé à la première requête, de sorte que la première requête est plus lente que les suivantes. Le sidecar est facultatif ; un contrôle de disponibilité est exposé, et un sidecar absent lève une exception typée plutôt qu’un échec silencieux.
La fabrique de fournisseurs KMS sélectionne un fournisseur de gestion de clés à partir de la configuration. La fabrique lit une variable d’environnement pour choisir le fournisseur. Le fournisseur par défaut dérive localement une clé de chiffrement de données propre à la collection à l’aide de HKDF-SHA256, à partir d’une clé maîtresse configurée, avec l’identifiant de collection comme séparateur de domaine. Le fournisseur local ne contacte aucun service externe ; la dérivation est déterministe et en mémoire (in-process). La fabrique accepte également une forme de configuration explicite pour le fournisseur local. Les fournisseurs cloud — AWS KMS, GCP Cloud KMS, Azure Key Vault et HashiCorp Vault Transit — sont des noms de fournisseurs reconnus ; en sélectionner un sans avoir installé l’intégration correspondante lève une erreur de configuration typée qui nomme la dépendance manquante.
Un fournisseur renvoie des métadonnées de clé, et non les octets bruts de la clé. Les métadonnées enregistrent l’identifiant de clé, une version de clé strictement croissante, le nom de l’algorithme de chiffrement et le nom du fournisseur. Un appel de rotation fait avancer la version de clé et renvoie les nouvelles métadonnées. Il revient à l’appelant de rechiffrer les données de la collection avec la nouvelle version de clé après une rotation. La version de clé et le cycle de vie de rotation suivent NIST SP 800-57 Part 1 Rev.5 §4.
Pourquoi cela fonctionne ainsi
Section intitulée « Pourquoi cela fonctionne ainsi »Le plongement s’exécute dans un processus sidecar GPU distinct plutôt qu’au sein de la requête PHP. Le chargement du modèle GPU est coûteux, donc le sidecar charge le modèle une seule fois et amortit ce coût sur de nombreuses requêtes. Lorsqu’aucun GPU n’est présent, le sidecar exécute le même modèle sur le CPU et signale un mode dégradé. Le débit peut chuter, mais pas la justesse : la forme vectorielle est identique dans les deux cas. Le sidecar reste facultatif ; un contrôle de disponibilité et une exception typée en cas de sidecar absent font de l’accélération une adhésion délibérée, et non une dépendance cachée. Cette séparation permet au plongement à grand volume de monter en charge sur du matériel dédié tandis que le pipeline documentaire reste un simple appel PHP.
Contexte de conception : Génération de documents à grand volume.
Surface d’API
Section intitulée « Surface d’API »| Surface publique | Type | Objet | Stabilité | Depuis |
|---|---|---|---|---|
| Fabrique de fournisseurs KMS | classe | Construit un fournisseur KMS à partir de l’environnement ou d’une configuration explicite | stable | 2.1.0 |
| Fournisseur KMS | interface | Obtient les métadonnées de clé, effectue la rotation d’une clé et rapporte le nom du fournisseur | stable | 2.1.0 |
| Fournisseur KMS local | classe (implémente l’interface de fournisseur) | Dérivation de clé locale HKDF-SHA256 ; ne contacte aucun service externe | stable | 2.1.0 |
| Résultat de clé de chiffrement | objet-valeur | Métadonnées de clé immuables : identifiant de clé, version, algorithme, fournisseur — aucun octet brut de clé | stable | 2.1.0 |
| Service de plongement GPU | classe (implémente l’interface de service de plongement du Core) | Plonge le texte sur un sidecar GPU avec un repli sur le CPU | stable | 2.1.0 |
La fabrique de fournisseurs expose un point d’entrée « depuis l’environnement » et un point d’entrée explicite « créer ». La valeur de configuration de la clé maîtresse est marquée sensible dans le fournisseur local. Le contrat de paramètres et de types qui fait autorité est la référence d’API publiée pour le paquet nextpdf/enterprise ; considère cette référence — et non cette page — comme le contrat.
Exemple de code — Démarrage rapide
Section intitulée « Exemple de code — Démarrage rapide »composer require nextpdf/corecomposer require nextpdf/enterprise:^3use NextPDF\Enterprise\Accelerator\KmsProviderFactory;
// Selects the provider from environment configuration; defaults to the// local HKDF-based provider. Supply the root key through your secret// manager, never from source or logs.$provider = KmsProviderFactory::fromEnvironment();
$key = $provider->getEncryptionKey('collection-1');// $key is metadata only: key id, version, algorithm, provider name.Exemple de code — Production
Section intitulée « Exemple de code — Production »use NextPDF\Enterprise\Accelerator\KmsProviderFactory;
$provider = KmsProviderFactory::fromEnvironment();
$rotated = $provider->rotateKey('collection-1');// The version advanced. Re-encrypt the collection's data files with the// new key version. The provider returns metadata only; it never returns// raw key bytes.Les noms de variables d’environnement, les clés de configuration explicites et les types d’exceptions sont documentés dans la référence approfondie d’Accelerator.
Cas limites & pièges
Section intitulée « Cas limites & pièges »- Le fournisseur KMS local nécessite une clé maîtresse encodée en hexadécimal d’au moins 32 octets. Une valeur plus courte ou non hexadécimale lève une exception d’argument typée à la construction.
- Sélectionner un nom de fournisseur cloud sans avoir installé l’intégration correspondante lève une erreur de configuration typée qui nomme la dépendance manquante.
- Un nom de fournisseur inconnu lève une erreur typée qui énumère les noms pris en charge.
- Le sidecar GPU signale un mode dégradé lorsqu’il se rabat sur le CPU. Vérifie ce champ si tu dépends du débit GPU.
- Le modèle de plongement est chargé à la première requête ; dimensionne le délai d’expiration de la première requête en conséquence.
Performance
Section intitulée « Performance »La dérivation de clé locale est une opération HKDF à coût constant. Elle ne contacte aucun service externe. Une requête de plongement GPU ajoute un aller-retour local vers le sidecar plus le temps d’inférence du modèle. La première requête paie également le coût ponctuel de chargement du modèle. Le repli sur le CPU est correct mais plus lent que le chemin GPU pour le même lot.
Notes de sécurité
Section intitulée « Notes de sécurité »- Un fournisseur KMS renvoie des métadonnées de clé, et non les octets bruts de la clé. L’objet-valeur de résultat de clé de chiffrement ne porte jamais le matériel de clé.
- La clé maîtresse du fournisseur local est un paramètre de constructeur sensible. Elle n’est ni journalisée, ni sérialisée.
- Le fournisseur local ne contacte aucun service externe. La dérivation est déterministe et en mémoire (in-process).
- L’usage d’AES-GCM nécessite un vecteur d’initialisation unique par clé, conformément à NIST SP 800-38D §5.
Résidence des données & mesures d’atténuation des PII
Section intitulée « Résidence des données & mesures d’atténuation des PII »Le fournisseur KMS local s’exécute en mémoire (in-process) et ne contacte aucun service externe ; aucun matériel de clé ni aucun contenu de document ne quitte l’hôte pour la dérivation de clé locale. Le sidecar GPU reçoit le texte à plonger via une requête locale ; il ne reçoit aucun contenu de document sans rapport. Un fournisseur KMS cloud, lorsqu’il est configuré, contacte le fournisseur cloud que tu sélectionnes ; examine la posture de résidence des données de ce fournisseur pour ta juridiction.
Télémétrie sûre & nettoyage des journaux
Section intitulée « Télémétrie sûre & nettoyage des journaux »La clé maîtresse du fournisseur local est un paramètre de constructeur sensible et est exclue des journaux et de la sérialisation. N’ajoute pas la clé maîtresse, les clés dérivées ni les identifiants de fournisseur à tes propres journaux applicatifs. Considère tout matériel de clé comme un secret dans ta politique de journalisation et de traçage.
Modèle de menace
Section intitulée « Modèle de menace »Le fournisseur renvoie des métadonnées, et non les octets de clé, de sorte qu’une fuite de métadonnées n’expose pas le matériel de clé. La sécurité du fournisseur local dépend du secret de la clé maîtresse configurée. La sécurité d’un fournisseur cloud dépend de ce fournisseur et de ta configuration. La protection des clés dépend du KMS ou du secret de la clé maîtresse, du déploiement et de l’opérateur — et non de ce logiciel seul. Voir la frontière de déploiement.
Conformité
Section intitulée « Conformité »- La version et le cycle de vie de rotation de la clé de chiffrement de données s’alignent sur NIST SP 800-57 Part 1 Rev.5 §4.
- La responsabilité de protection des clés s’aligne sur NIST SP 800-57 Part 1 Rev.5 §5.5.2.
- L’unicité du vecteur d’initialisation d’AES-GCM s’aligne sur NIST SP 800-38D §5.
Chaque source normative est paraphrasée. Aucun texte normatif n’est reproduit sur cette page. Cette page concerne la gestion des clés.
Comportement en mode FIPS
Section intitulée « Comportement en mode FIPS »La dérivation HKDF du fournisseur local utilise SHA-256. L’algorithme de chiffrement enregistré dans les métadonnées de clé est AES-256-GCM. Lorsque l’application s’exécute avec un fournisseur cryptographique validé FIPS, ces primitives s’exécutent dans cette frontière validée. La fabrique de fournisseurs elle-même sélectionne et construit le fournisseur ; elle ne certifie pas la frontière cryptographique.
NextPDF Enterprise n’est pas un module cryptographique validé FIPS et ne formule aucune revendication de certification FIPS. Il fonctionne en mode compatible FIPS uniquement lorsqu’il est configuré avec un fournisseur cryptographique validé FIPS ou un KMS validé FIPS.
Frontière d’édition
Section intitulée « Frontière d’édition »Le sidecar de plongement GPU et la fabrique de fournisseurs KMS sont livrés uniquement dans le paquet nextpdf/enterprise. NextPDF Pro fournit une intégration KMS pour les stratégies de signature (AWS KMS, GCP Cloud KMS, Azure Key Vault) mais ne fournit pas la fabrique de fournisseurs KMS Enterprise ni le sidecar de plongement GPU. Le transport interne du sidecar et les classes internes du pipeline de plongement sont hors du périmètre de la surface publique et ne sont pas reproduits ici.
Repli sur Pro
Section intitulée « Repli sur Pro »NextPDF Pro fournit des stratégies de signature cloud-KMS — le KMS détient la clé de signature, et Pro envoie l’empreinte des attributs signés au fournisseur. C’est une intégration de signature. Ce n’est pas la fabrique de fournisseurs de clés de chiffrement de données au niveau collection d’Enterprise ni le sidecar de plongement GPU. Voir Accelerator — NextPDF Pro pour la surface d’accélération Pro.
Repli sur le Core
Section intitulée « Repli sur le Core »NextPDF Core n’a aucun sidecar de plongement GPU et aucune fabrique de fournisseurs KMS. Le plongement vectoriel et la gestion de clés au niveau collection sont des fonctionnalités réservées à Enterprise.
Note sur la frontière Enterprise
Section intitulée « Note sur la frontière Enterprise »Le transport du sidecar GPU, l’identifiant du modèle de plongement et les classes internes du pipeline sont décrits uniquement au niveau du comportement. Le client de transport interne, les jetons de portée internes et la composition interne du pipeline sont hors du périmètre de la surface publique et ne sont pas reproduits ici.
Frontière de déploiement
Section intitulée « Frontière de déploiement »NextPDF Enterprise s’intègre à un KMS ou dérive des clés à partir d’un secret de clé maîtresse configuré. Il ne stocke pas lui-même et ne garantit pas la sécurité de ce secret de clé maîtresse ni de la clé KMS cloud. La sécurité des clés dépend du KMS ou du secret de la clé maîtresse, du déploiement et de l’opérateur — et non de NextPDF Enterprise seul. L’opérateur est responsable de l’approvisionnement de la clé maîtresse, du stockage des secrets, de la configuration du KMS et de la planification de la rotation. La responsabilité de protection des clés suit NIST SP 800-57 Part 1 Rev.5 §5.5.2. NextPDF Enterprise n’expose pas les flux d’identifiants KMS ni les détails internes de manipulation de la clé maîtresse dans cette documentation.
Frontière de conformité légale
Section intitulée « Frontière de conformité légale »Elle concerne la gestion des clés. La déclaration de mode FIPS est une déclaration de compatibilité, et non une certification ni un avis juridique. Consulte tes propres conseillers conformité et juridiques pour tes obligations réglementaires.
Frontière de publication
Section intitulée « Frontière de publication »Cette page documente uniquement le comportement observable de l’extérieur et la surface d’API publique prise en charge. Les chemins d’espace de noms internes, les classes utilitaires, les tables de mécanismes, les noms de fichiers de runbook et les préfixes de ticket sont hors périmètre.
Contrat de comportement
Section intitulée « Contrat de comportement »- La fabrique de fournisseurs sélectionne le fournisseur à partir de la configuration et renvoie un fournisseur qui satisfait le contrat de fournisseur.
- Un fournisseur renvoie des métadonnées de clé immuables et ne renvoie jamais les octets bruts de la clé.
- Un appel de rotation fait avancer la version de clé et renvoie les nouvelles métadonnées ; l’appelant rechiffre les données de la collection.
- Le sidecar GPU signale un mode dégradé lors du repli sur le CPU et lève une exception typée lorsqu’il est indisponible.