Clés de cryptage (ASE)

Les clés de cryptage sont prises en charge par ASE v12.5.3a et versions ultérieures. PowerAMC modélise les clés de cryptage sous la forme d'objets étendus avec le stéréotype <<EncryptionKey>>.

Les mécanismes d'authentification et de contrôle d'accès assurent que seuls les utilisateurs correctement identifiés et dûment autorisés peuvent accéder aux données. Vous pouvez crypter les données au niveau de la colonne, restreignant ainsi vos mesures de sécurité aux seules données sensibles, et réduisant la surcharge de traitement.

Utiliser des colonnes de cryptage dans Adaptive Server est plus logique que d'utiliser le cryptage sur une application tiers intermédiaire ou dans l'application client. Vous utilisez des instructions SQL pour créer les clés de cryptage, puis spécifiez les colonnes pour le cryptage. Adaptive Server gère la génération et le stockage des clés. Le cryptage et le décryptage des données s'effectue de façon automatique et transparente à mesure que vous écrivez ou lisez les données dans les colonnes cryptées. Aucun changement d'application n'est requis, et il n'est pas nécessaire d'acquérir un logiciel tiers.

Création d'une clé de cryptage

Vous pouvez créer une clé de cryptage de l'une des façons suivantes :

  • Sélectionnez Modèle > Clés de cryptage pour afficher la boîte de dialogue Liste des clés de cryptage, puis cliquez sur l'outil Ajouter une ligne.

  • Pointez sur le modèle (ou sur un package) dans l'Explorateur d'objets, cliquez le bouton droit de la souris, puis sélectionnez Nouveau > Clé de cryptage.

Propriétés d'une clé de cryptage

Vous pouvez modifier les propriétés d'un objet à partir de sa feuille de propriétés. Pour afficher la feuille de propriétés d'une clé de cryptage, double-cliquez sur l'entrée correspondante dans le dossier Clés de cryptage de l'Explorateur d'objets.

Les attributs étendus suivants sont disponibles sur l'onglet Sybase :

Nom

Description

Propriétaire

Spécifie le propriétaire de la clé de cryptage

Nom dans le script : Owner

Pour cryptage de base de données

Spécifie que la clé de cryptage va crypter la totalité de la base de données, plutôt qu'uniquement des colonnes individuelles. Si vous sélectionnez cette option, vous définissez la valeur master key pour Clé avec une longueur de 256, vous activez l'option de vecteur d'initialisation et désactivez l'option Complément des types de données.

Nom dans le script : ForDatabaseEncryption

Clé

Spécifie le type de clé. Vous pouvez choisir l'une des valeurs suivantes :
  • user password - Active la zone Mot de passe, dans laquelle vous pouvez saisir une chaîne alphanumérique pouvant aller jusqu'à une longueur de 255 octets et que Adaptive Server utilise pour générer le KEK.
  • master key - Pour utiliser la clé principale (définie sur la base de données).
  • system key - Pour utiliser la clé de base de données system_encr_passwd (définie sur le modèle).

Nom dans le script : Passwd, PasswordPhrase

Algorithme

Spécifie l'algorithme utilisé pour générer la clé de cryptage. A ce jour, Advanced Encryption Standard (AES) est le seul algorithme pris en charge.

Nom dans le script : Algorithm

Longueur de clé

Spécifie la taille (en bits) de la clé à créer. Les longueurs de clé valides pour AES sont 128, 192 et 256 bits.

Nom dans le script : KeyLength

Vecteur d'initialisation

Contrôle l'utilisation du vecteur d'initialisation lors du cryptage. Lorsqu'un vecteur d'initialisation est utilisé par l'algorithme de cryptage, le texte crypté produit à partir de deux fragments de texte identiques sera différent, ce qui peut empêcher des spécialistes en cryptage de détecter des motifs de données, mais rend les données stockées sur disque impossible à indexer ou inutilisables sans décryptage.

Cette option est imposée lorsque l'option Pour cryptage de base de données est sélectionnée.

Nom dans le script : InitVector

Complément des types de données

Spécifie l'utilisation de caractères pour compléter les types de données dont la longueur serait inférieure à un bloc. Vous pouvez utiliser cette fonctionnalité à la place d'un vecteur d'initialisation afin de rendre aléatoire le texte crypté. Ne convient que pour les colonnes dont la longueur de texte standard est inférieure à la moitié de la longueur du bloc. Pour l'algorithme AES par défaut, la longueur est de 16 octets.

Cette option est désactivée lorsque l'option Pour cryptage de base de données est sélectionnée.

Nom dans le script : Pad

Clé de cryptage par défaut

Permet au responsable sécurité du système de créer une clé par défaut pour utiliser sur toutes les colonnes cryptées qui n'ont pas de nom de clé spécifié dans une instruction create table ou alter table. Il s'agit d'un clé par défaut spécifique à la base de données à utiliser sur les tables d'une même base de données. La clé par défaut est stockée dans la table sysencryptkeys de la base de données, la même que pour les clés qui ne sont pas des clés par défaut.

Nom dans le script : Default

Contrôle double

[v16.0 et versions supérieures] Spécifie que la clé doit être cryptée à l'aide de contrôles doubles.

Nom dans le script : DualControls

Phrase de mot de passe

[v15.0.2 à 15.7] Spécifie une clé par défaut pour utiliser sur toutes les colonnes cryptées qui n'ont pas de nom de clé spécifié dans une instruction create table ou alter table. Il s'agit d'une clé par défaut spécifique à la base de données à utiliser sur les tables d'une même base de données. La clé par défaut est stockée dans la table sysencryptkeys de la base de données.

Nom dans le script : PasswordPhrase

Les onglets suivants sont également disponibles :
  • Copies de clé - [v15.0.2 et version suivantes] ASE permet aux utilisateurs d'accéder aux colonnes de clé cryptées en utilisant leur copie d'une simple clé. Une copie de clé est conçue pour un seul utilisateur doté d'un mot de passe que lui seul connaît, ASE n'enregistre pas les mots de passe sur disque, de sorte que même l'administrateur système ne peut pas accéder aux données protégées. PowerAMC modélise les copies de clé sous la forme de sous-objets étendus ayant un stéréotype <<KeyCopy>>, et les extensions suivantes sont disponibles sur l'onglet Sybase de leur feuille de propriétés :
    • Utilisateur - identifie l'utilisateur pour lequel la copie de clé est effectuée.
    • Mot de passe - spécifie le mot de passe utilisé pour crypter la copie de clé.