Cette documentation a été traduite automatiquement par IA.
Chiffrement
Champ de collection : ChiffrementProfessional Edition+Introduction
Certaines données commerciales sensibles, telles que les numéros de téléphone mobile des clients, les adresses e-mail ou les numéros de carte, peuvent être chiffrées. Une fois chiffrées, elles sont stockées sous forme de texte chiffré dans la base de données.

Méthode de chiffrement
Le plugin génère automatiquement une clé d'application, qui est stockée dans le répertoire /storage/apps/main/encryption-field-keys.
Le fichier de la clé d'application est nommé d'après l'ID de la clé, avec l'extension .key. Veuillez ne pas modifier le nom du fichier.
Veuillez conserver le fichier de la clé d'application en lieu sûr. Si vous perdez ce fichier, les données chiffrées ne pourront pas être déchiffrées.
Si le plugin est activé pour une sous-application, la clé est par défaut enregistrée dans le répertoire /storage/apps/${nom_sous_application}/encryption-field-keys.
Fonctionnement
Utilise le chiffrement par enveloppe.

Processus de création des clés
- Lors de la première création d'un champ chiffré, une
clé d'applicationde 32 bits est automatiquement générée par le système et stockée dans le répertoire de stockage par défaut, encodée en Base64. - Chaque fois qu'un nouveau champ chiffré est créé, une
clé de champaléatoire de 32 bits est générée pour ce champ. Elle est ensuite chiffrée à l'aide de laclé d'applicationet d'unvecteur de chiffrement de champde 16 bits généré aléatoirement (algorithme de chiffrementAES), puis enregistrée dans le champoptionsde la tablefields.
Processus de chiffrement des champs
- Chaque fois que vous écrivez des données dans un champ chiffré, vous récupérez d'abord la
clé de champchiffrée et levecteur de chiffrement de champà partir du champoptionsde la tablefields. - La
clé de champchiffrée est déchiffrée à l'aide de laclé d'applicationet duvecteur de chiffrement de champ. Ensuite, les données sont chiffrées à l'aide de laclé de champet d'unvecteur de chiffrement de donnéesde 16 bits généré aléatoirement (algorithme de chiffrementAES). - Les données sont signées à l'aide de la
clé de champdéchiffrée (algorithme de hachageHMAC-SHA256) et converties en une chaîne de caractères encodée en Base64 (lasignature de donnéesrésultante est ensuite utilisée pour la récupération des données). - Le
vecteur d'initialisation de donnéesde 16 bits et letexte chiffrésont concaténés binairement, puis encodés en Base64 pour former une chaîne de caractères. - La chaîne de caractères encodée en Base64 de la
signature de donnéeset la chaîne de caractères encodée en Base64 dutexte chiffréconcaténé sont assemblées, séparées par un point (.). - La chaîne de caractères finale ainsi assemblée est enregistrée dans la base de données.
Variables d'environnement
Si vous souhaitez spécifier une clé d'application personnalisée, vous pouvez utiliser la variable d'environnement ENCRYPTION_FIELD_KEY_PATH. Le plugin chargera le fichier situé à ce chemin comme clé d'application.
Exigences pour le fichier de la clé d'application :
- L'extension du fichier doit être
.key. - Le nom du fichier sera utilisé comme ID de clé ; il est recommandé d'utiliser un UUID pour garantir l'unicité.
- Le contenu du fichier doit être des données binaires de 32 bits encodées en Base64.
Configuration des champs

Impact sur le filtrage après chiffrement
Les champs chiffrés ne prennent en charge que les opérations suivantes :
- Égal à
- Différent de
- Existe
- N'existe pas

Processus de filtrage des données :
- Récupérez la
clé de champdu champ chiffré, puis déchiffrez-la à l'aide de laclé d'application. - Utilisez la
clé de champpour signer le texte de recherche saisi par l'utilisateur (algorithme de hachageHMAC-SHA256). - Concaténez la signature avec un séparateur
.et effectuez une recherche par correspondance de préfixe sur le champ chiffré dans la base de données.
Rotation des clés
Avant d'utiliser la commande nocobase key-rotation, assurez-vous que le plugin a été chargé par l'application.
Lorsque vous migrez une application vers un nouvel environnement et que vous ne souhaitez pas continuer à utiliser la même clé que l'ancien environnement, vous pouvez utiliser la commande nocobase key-rotation pour remplacer la clé d'application.
L'exécution de la commande de rotation des clés nécessite de spécifier la clé d'application de l'ancien environnement. Après exécution, une nouvelle clé d'application sera générée et remplacera l'ancienne. La nouvelle clé d'application sera enregistrée (encodée en Base64) dans le répertoire par défaut.
Pour remplacer la clé d'application d'une sous-application, vous devez ajouter le paramètre --app-name et spécifier le nom de la sous-application.

