Chiffrement au niveau des colonnes

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 13 minutes de lecture
  • Column Level Encryption (CLE), anciennement Support de chiffrement, autorise et refuse l’accès aux données chiffrées en fonction du rôle de l’utilisateur. Column Level Encryption a été amélioré pour inclure la gestion de base des clés à l’aide de modules de chiffrement sans frais supplémentaires.

    À propos de Column Level Encryption

    Remarque :
    Les contextes de chiffrement précédemment configurés sont automatiquement convertis en modules de chiffrement. Column Level Encryption (CLE) est une amélioration gratuite de la sécurité de la prise en charge du chiffrement. Pour en savoir plus sur les options de chiffrement, reportez-vous à Offre groupée d’abonnements Chiffrement et gestion des clés.

    L’implémentation du chiffrement au niveau des colonnes commence par la définition d’un ou de plusieurs modules de chiffrement dans vos instances du Now Platform. Ce processus comprend la sélection d’un algorithme de chiffrement et la fourniture d’une clé secrète appropriée. L’accès aux données chiffrées ultérieurement à l’aide de cette fonctionnalité est basé sur les rôles, les modules étant associés à des rôles. Les utilisateurs sans le rôle approprié ne voient pas du tout le champ. La figure 1 illustre le fonctionnement du chiffrement basé sur les rôles.

    Figure 1. Figure 1 – Exemple de chiffrement basé sur les rôles
    Chiffrement basé sur les rôles
    Voici les résultats des relations de la figure 1 :
    • L’utilisateur 1 est un membre du rôle 1, qui donne accès au module de chiffrement 1. L’utilisateur 1 peut voir le contenu des champs A et B.
    • L’utilisateur 2 et l’utilisateur 3 sont membres du groupe 1. Le groupe 1 est membre du rôle 1, qui permet à tous les membres du groupe 1 d’accéder au module de chiffrement 1 et permet aux utilisateurs 2 et 3 de voir le contenu des champs A et B.
    • L’utilisateur 4 n’est membre d’aucun groupe ou rôle et n’a pas accès au module de chiffrement 1. Non seulement l’utilisateur 4 n’a pas accès aux champs A ou B, mais l’utilisateur 4 ne voit même pas ces champs sur un formulaire. Dans une vue de liste, les valeurs seraient vides.

    Vous pouvez également mettre en œuvre un chiffrement basé sur les rôles beaucoup plus complexe.

    L’accès basé sur les rôles doit également être implémenté de manière appropriée pour que ce champ soit accessible aux utilisateurs qui sont affectés au module de chiffrement via un rôle.

    Toutes les clés de chiffrement client à utiliser avec column-level encryption sont stockées dans la même base de données d’instance unique où sont stockées les données chiffrées. Par mesure de sécurité supplémentaire, ils sont chiffrés à nouveau avec une clé secondaire unique pour cette instance, ce qui limite l’accès direct à la clé de chiffrement pour tout module de chiffrement, soit par un administrateur d’instance, soit ServiceNowpar .

    Les données chiffrées au niveau des colonnes ne peuvent pas être filtrées.

    Chiffrement au niveau des colonnes :
    • L’accès aux données chiffrées est déterminé par le rôle d’utilisateur.
    • Vous pouvez choisir la force de l’algorithme de chiffrement : AES-128 ou AES-256.
    • Vous pouvez chiffrer le texte de chaîne, les champs Date et Date/heure, les pièces jointes et les URL.
    • Les modules de chiffrement fournissent un chiffrement préservant l’égalité.
    Entreprise de Chiffrement au niveau des colonnes prend en charge les fonctionnalités supplémentaires suivantes :
    • Clés fournies par le client.
    • L’accès à la clé permet aux sessions utilisateur d’accéder au module et la clé peut accéder à d’autres processus utilisateur back-end ou système.
    • Accès aux scripts Resource Exchangeet aux applications
    • Prise en charge avancée des pièces jointes.
    • L’accès à l’interface de programmation d’application (API) est disponible.
    • Ordre La préservation du chiffrement ou le chiffrement standard non déterministe ne sont pas pris en charge.

    Éditions Standard et Enterprise

    Column Level Encryption est disponible en versions standard et entreprise. Column Level Encryption Enterprise est un module d’extension payant qui fournit des fonctionnalités supplémentaires ainsi qu’un plus grand nombre de modules et de politiques d’accès aux modules.

    Tableau 1. Fonctionnalités de Column Level Encryption par version
    Chiffrement au niveau des colonnes Entreprise de Chiffrement au niveau des colonnes
    • L’accès aux données chiffrées est déterminé par le rôle d’utilisateur
    • Prise en charge d’un maximum de 5 modules et politiques d’accès aux modules (MAP)
    • Algorithmes de chiffrement AES-128 et AES-256
    • Chiffrement du texte de chaîne, des champs Date et Date/heure, des pièces jointes et des URL.
    • Les modules de chiffrement fournissent un chiffrement préservant l’égalité.
    • Mise à jour des API getDisplayValue() et setDisplayValue() qui peuvent renvoyer des valeurs en clair et insérer des données chiffrées pour les champs chiffrés

    En plus des fonctionnalités répertoriées à gauche, Column Level Encryption Enterprise prend en charge ces fonctionnalités supplémentaires.

    • Prise en charge de plus de 5 modules et politiques d’accès aux modules (MAP)
    • Chiffrement pour les types de champs supplémentaires, tels que les champs journal, HTML et traduits.
    • Rotation automatique des clés configurable.
    • Clés fournies par le client. Gérez le cycle de vie complet de vos clés de chiffrement de données. Vous pouvez éventuellement échanger en toute sécurité les clés de chiffrement des données générées au sein de votre environnement.
    • Clés cryptographiques éphémères
    • Mise à jour des API getValue() et setValue( ).
    Pour plus d’informations sur la version entreprise de ce produit, voir Entreprise de Chiffrement au niveau des colonnes

    Méthodes de chiffrement

    Les champs qui utilisent Column Level Encryption peuvent inclure :

    • Champs de texte chiffré nouveaux ou existants.
    • Les champs Chaîne, Date, Date/Heure ou URL inclus dans les enregistrements de configuration de champ ont été chiffrés.

    La table Configurations des champs chiffrés [sys_platform_encryption_configuration] contient un enregistrement pour chaque champ chiffré avec Column Level Encryption. Cette table permet à un administrateur de sécurité de surveiller tous les champs de l’instance qui utilise Column Level Encryption.

    Remarque :
    Lors de la mise à niveau, les enregistrements de configuration des champs chiffrés sont créés pour tous les champs de texte chiffrés existants. Lorsqu’un nouveau champ de texte chiffré est ajouté, un enregistrement de configuration de champ chiffré est créé par défaut.

    Les configurations de champs chiffrés peuvent chiffrer des champs à l’aide de l’une des méthodes suivantes.

    Méthode Description
    Module de chiffrement unique Le champ est chiffré avec la méthode de chiffrement définie dans le champ du module de chiffrement. Les utilisateurs qui ne disposent pas d’un accès chiffré au module ne peuvent pas afficher ni mettre à jour les valeurs de champ.
    Plusieurs modules de chiffrement Le champ est chiffré avec le module de chiffrement du premier utilisateur à saisir des données dans ce champ. Si l’utilisateur dispose de deux modules de chiffrement ou plus, le module défini dans le sélecteur de module de chiffrement est utilisé. Étant donné que le module de chiffrement est défini pour chaque enregistrement, les champs d’une liste peuvent avoir différents modules de chiffrement. Toutefois, au sein d’un enregistrement unique, le champ ne peut être chiffré que par un seul module.
    Lorsqu’un champ Texte chiffré est créé, une configuration de champ chiffré est créée avec la méthode des modules de chiffrement multiples. Les champs de texte chiffré et les champs chiffrés avec la méthode de modules de chiffrement multiples se comportent de la même manière.
    Remarque :
    Le chiffrement en masse n’est pas disponible lors de l’utilisation de la méthode des modules de chiffrement multiples.

    Accès aux données chiffrées

    Un module de chiffrement détermine l’accès aux données chiffrées. Security_admin utilisateurs peuvent donner une politique d’accès au module de chiffrement à un utilisateur en lui attribuant un rôle associé.

    Pour surveiller l’affectation des rôles, le service client ou professionnel peut mettre en place des mesures de sécurité. Par exemple, un e-mail peut être envoyé à un gestionnaire de chiffrement désigné chaque fois qu’un rôle associé à un module de chiffrement est accordé à un utilisateur.

    Remarque :
    L’emprunt d’identité ne modifie pas le module de chiffrement disponible pour un utilisateur. Même en empruntant une identité, vous n’avez à votre disposition que les modules de chiffrement à l’origine. Cette fonctionnalité est introduite dans Vancouver.
    Niveau d'accès Accès aux données d’un champ à l’aide de la méthode du module de chiffrement unique Accès aux données d’un champ à l’aide de la méthode des modules de chiffrement multiples
    Utilisateur sans modules de chiffrement Le formulaire masque le champ chiffré. Dans la vue de liste, le champ apparaît vide et ne peut pas être modifié, même si les données du champ sont déchiffrées. Le formulaire masque le champ chiffré. Dans la vue de liste, le champ apparaît vide et ne peut pas être modifié, même si les données du champ sont déchiffrées.
    Utilisateur avec un module de chiffrement Pour utiliser le champ, l’utilisateur doit avoir accès aux modules de chiffrement définis dans la configuration du champ chiffré. Si l’utilisateur n’a pas accès aux modules de chiffrement, le formulaire masque le champ. Dans la vue de liste, le champ apparaît vide et ne peut pas être modifié.
    • S’il n’y a pas de données dans le champ :
      • Si l’utilisateur a accès au module de chiffrement, le formulaire affiche le champ (en supposant que la politique d’interface utilisateur ne l’empêche pas).
      • Les utilisateurs ayant accès au module de chiffrement peuvent afficher et mettre à jour le champ vide.
      • Les données saisies dans le champ sont chiffrées avec le module de chiffrement défini dans la configuration du champ chiffré.
    • S’il y a des données dans le champ : si l’utilisateur a accès au module de chiffrement, il peut afficher et modifier les données dans le champ.
    L’utilisateur utilise automatiquement ses modules de chiffrement avec le champ chiffré.
    • S’il n’y a pas de données dans le champ :
      • Le formulaire affiche le champ (en supposant qu’il ne soit pas empêché par une politique d’interface utilisateur).
      • Les utilisateurs disposant de n’importe quel module de chiffrement peuvent afficher et mettre à jour le champ vide.
      • La saisie de données dans le champ entraîne l’utilisation par le module de chiffrement actuellement sélectionné pour le chiffrement des données.
    • Si des données sont contenues dans le champ : si l’utilisateur a accès au module de chiffrement utilisé pour chiffrer le champ, il peut afficher et modifier le champ.
    Utilisateur avec deux modules de chiffrement ou plus Pour utiliser le champ, l’utilisateur doit avoir accès au module de chiffrement défini dans la configuration du champ chiffré. Si l’utilisateur n’a pas accès au module de chiffrement, le formulaire masque le champ. Dans la vue de liste, le champ apparaît vide et ne peut pas être modifié.
    • S’il n’y a pas de données dans le champ :
      • Si l’utilisateur a accès au module de chiffrement, le formulaire affiche le champ (en supposant que la politique d’interface utilisateur ne l’empêche pas).
      • Les utilisateurs ayant accès au module de chiffrement peuvent afficher et mettre à jour le champ vide.
      • Les données saisies dans le champ sont chiffrées avec le module de chiffrement défini dans la configuration du champ chiffré.
    • S’il y a des données dans le champ :
      • Si l’utilisateur a accès au module de chiffrement, il peut afficher et modifier le champ.
      • Le champ utilise toujours le module de chiffrement d’origine pour chiffrer les modifications apportées au champ. Ce comportement permet d’empêcher les utilisateurs disposant d’au moins deux modules de chiffrement de modifier le module de chiffrement d’un champ.
    L’utilisateur peut sélectionner un module de chiffrement dans le sélecteur de module de chiffrement de la barre d’accueil.
    • S’il n’y a pas de données dans le champ :
      • Le formulaire affiche le champ (en supposant que la politique d’interface utilisateur ne l’empêche pas). Les utilisateurs disposant de n’importe quel module de chiffrement peuvent afficher et mettre à jour le champ vide.
      • La saisie de données dans le champ entraîne l’utilisation par le module de chiffrement actuellement sélectionné pour le chiffrement des données.
      • Le champ utilise toujours le module de chiffrement d’origine pour chiffrer les modifications apportées au champ. Ce comportement permet d’empêcher les utilisateurs disposant d’au moins deux modules de chiffrement de modifier le module de chiffrement d’un champ.
    • S’il y a des données dans le champ :
      • Si l’utilisateur a accès au module de chiffrement utilisé pour chiffrer le champ, il peut afficher et modifier le champ.
      • Le champ utilise le module de chiffrement d’origine pour chiffrer les modifications apportées au champ. Ce comportement permet d’empêcher les utilisateurs disposant de plusieurs modules de chiffrement de modifier le module de chiffrement d’un champ.

    Informations de configuration prises en charge

    • Les types de champs suivants peuvent être chiffrés :
      • Pièces jointes
      • Date
      • Date/Heure
      • Texte de chaîne
      • URL
      Remarque :
      D’autres types de champs sont disponibles dans Entreprise. Consultez Entreprise de Chiffrement au niveau des colonnes pour en savoir plus.
    • Étant donné que les modules sont liés à des rôles et que les rôles sont liés aux utilisateurs, vous n’avez pas accès aux clés des sessions non-utilisateur. Tout élément en cours d’exécution en tant qu’utilisateur système ou tâche planifiée qui n’a pas de session utilisateur ne peut pas accéder à la clé pour chiffrer ou déchiffrer les données.
    • Vous pouvez accéder à la « valeur » ou à la « valeur d’affichage » :
      • Lorsque vous choisissez « valeur », le texte chiffré est renvoyé.
      • Lorsque vous choisissez « valeur d’affichage », à condition que vous disposiez du bon rôle, le texte clair est renvoyé.

      De nombreux scripts dans les couches d’application sont scriptés de telle sorte qu’ils ignorent cette distinction et utilisent la valeur. Si vous ne modifiez pas les scripts pour utiliser la valeur d’affichage, les données ne sont pas chiffrées ou déchiffrées.

    Chiffrement de la pièce jointe

    Chiffrement des pièces jointes par défaut

    Les clients qui utilisent Column Level Encryption ont des pièces jointes chiffrées par défaut dans les tables dont le type de configuration de champs chiffrés (EFC) actif est .Attachment

    Ce chiffrement par défaut défini par la configuration EFC signifie que les administrateurs n’ont pas besoin de déclarer qu’une pièce jointe doit être chiffrée manuellement lors du chargement de ces tables.

    Désactiver le chiffrement par défaut

    Si vous ne souhaitez pas que les pièces jointes soient chiffrées par défaut en fonction de la configuration EFC, vous pouvez désactiver cette option en contactant l’assistance.

    Pour désactiver cette fonctionnalité, créez un ticket de support avec support et incluez cette déclaration dans un commentaire sur l’enregistrement de ticket :

    « Je [nom du client] comprends que je demande de désactiver une bonne pratique de sécurité recommandée pour les pièces jointes, et que [l’entreprise cliente] assume tout risque supplémentaire lié à la configuration et à l’utilisation de pièces jointes non chiffrées dans l’application. »

    Filtrage et recherche de champs chiffrés

    Lorsqu’un champ de texte chiffré ou un champ avec une configuration de champ chiffré est sélectionné comme opérande de gauche dans un filtre, les opérateurs suivants sont disponibles :
    • est
    • n’est pas
    • est vide
    • n’est pas vide

    Pour les champs Date, utilisez le sélecteur de date pour spécifier la date :

    Sélecteur de dates

    Pour les champs Date/heure, utilisez le sélecteur de date et heure pour spécifier la date et l’heure :

    Sélecteur de date/heure

    Si un utilisateur avec un module de chiffrement filtre pour l’égalité, ou recherche une valeur dans une liste :

    • Seules les valeurs chiffrées avec un module de chiffrement disponible pour l’utilisateur sont renvoyées.
    • Les opérateurs sont vides et ne sont pas vides , renvoient tous les enregistrements correspondants. Les champs chiffrés avec un module de chiffrement non disponible pour l’utilisateur actuel apparaissent vides.

    Si un utilisateur ne dispose d’aucun module de chiffrement, aucun enregistrement n’est renvoyé.

    Les options Afficher la correspondance et Filtrer sont prises en charge dans les listes. Seules les correspondances exactes sont renvoyées ou filtrées.

    Remarque :
    L’ajout de champs chiffrés dans les filtres de conditions est pris en charge dans des scripts tels que les politiques d’interface utilisateur et les règles métier.

    Exporter des données à partir de champs chiffrés

    Lors de l’exportation de champs chiffrés dans une liste ou un formulaire vers un format de fichier, seuls les champs chiffrés par un module de chiffrement apparaissent dans le document exporté. Le module de chiffrement utilisé doit être disponible pour l’utilisateur actuel.

    Pour désactiver les exportations de données chiffrées à partir d’une vue de liste, ajoutez la glide.encryption.export_encrypted_data.allowed propriété système et définissez la valeur sur faux.

    Chiffrement sur les tables système

    Column Level Encryption ne prend actuellement pas en charge le chiffrement des champs et des pièces jointes des tables système (tables commençant par sys_).