Bases de données

Sécuriser vos données avec Actian Vector, partie 3

Martin Fuerderer

7 août 2025

sécuriser vos données avec Actian Vector

Pour faire suite à mon deuxième billet sur les capacités de chiffrement fonctionnel d'Actian Vector, ce prochain billet de la série sur la sécurité des données explique les différentes clés de chiffrement et la façon dont elles sont utilisées dans Actian Vector.

Comprendre les différentes clés de chiffrement

La méthode de cryptage généralement utilisée dans Actian Vector est la variante 256 bits de l'Advanced Encryption Standard (AES). L'AES nécessite une clé de chiffrement, et pour l'AES 256 bits, cette clé est longue de 256 bits. Une clé plus longue est synonyme de meilleure sécurité. Actuellement, l'AES 256 bits est considéré comme "suffisamment sûr" et 256 bits est la longueur de clé maximale définie pour l'AES.

Dans Actian Vector, le chiffrement de la base de données est un cas d'usage majeur du chiffrement. Comme décrit précédemment, sa mise en œuvre utilise différentes clés de chiffrement pour différents éléments de données. Outre le cryptage de la base de données, il existe d'autres utilisations du cryptage dans le serveur de base de données et, par conséquent, des clés différentes sont utilisées pour celles-ci. Toutes ces clés de chiffrement doivent être sécurisées.

Pour assurer une sécurité suffisante, les clés de chiffrement ne doivent pas être faciles à deviner. C'est pourquoi les clés de chiffrement sont généralement générées de manière aléatoire. Elles sont donc sûres, mais difficiles à mémoriser (peu de gens peuvent se souvenir facilement d'une séquence de 32 octets aléatoires). Une solution courante consiste à protéger les clés de chiffrement par une phrase de passe. Une phrase de passe judicieusement choisie peut être suffisamment sûre tout en étant suffisamment facile à mémoriser.

Néanmoins, il ne serait pas sûr d'utiliser une phrase de passe directement comme clé de chiffrement. Au lieu de cela, une clé de chiffrement est dérivée de la phrase de passe, et il existe des algorithmes avancés pour ce processus de dérivation afin de s'assurer que le résultat est une clé suffisamment sûre.

Actian Vector utilise la fonction de dérivation de clé basée sur le mot de passe 2 (PBKDF2) à cette fin. PBKDF2 fait partie de la série des normes de cryptographie à clé publique des laboratoires RSA. Cette illustration montre le processus :

Structure des clés de chiffrement utilisées pour le chiffrement au repos

Comment les clés sont-elles générées, sécurisées et utilisées pour le cryptage des bases de données ?

Une "clé principale" individuelle est générée de manière aléatoire pour chaque base de données. Pour stocker la clé principale en toute sécurité, elle est cryptée avec la "clé de protection". Cette clé de protection résulte du traitement de la phrase de passe par l'algorithme PBKDF2. La clé de protection ne doit être stockée nulle part car sa dérivation à partir de la phrase de passe peut être répétée chaque fois que la clé de protection est nécessaire.

La "clé de base de données" pour le cryptage de la base de données est ensuite dérivée de la clé principale. La clé principale étant déjà générée de manière aléatoire, une méthode interne basée sur un algorithme de hachage sécurisé (SHA) permet d'obtenir une clé de base de données suffisamment aléatoire sans avoir recours à l'algorithme PBKDF2, plus complexe.

De même, d'autres clés à des fins différentes sont dérivées de la clé principale. Ces clés dérivées ne sont pas conservées, mais uniquement en mémoire. En revanche, la clé principale chiffrée est conservée, mais la clé principale déchiffrée n'est nécessaire que pour dériver la clé de la base de données et d'autres clés. Ensuite, la clé principale décryptée est supprimée de la mémoire.

La clé de la base de données est utilisée pour crypter et décrypter le conteneur des "clés de table" individuelles. Ces clés de table sont générées aléatoirement pour chaque table et utilisées pour (finalement) crypter et décrypter les données utilisateur dans les tables et les index. Comme les clés de table sont générées de manière aléatoire, elles doivent également être conservées et donc sécurisées en les chiffrant avec la clé de la base de données. Le conteneur dans lequel les clés de tables sont stockées contient également d'autres métadonnées pour la base de données, et il est donc également sécurisé par le chiffrement de l'ensemble du conteneur, plutôt que par le chiffrement individuel des seules clés de tables.

L'administrateur de la base de données peut modifier la phrase de passe d'une base de données, ainsi que faire pivoter la clé principale ou les clés de tables individuelles. J'en dirai plus à ce sujet dans les prochains articles de blog sur la gestion des clés.

Portrait de Martin Fuerderer

À propos de Martin Fuerderer

Martin Fuerderer est ingénieur logiciel principal chez HCLSoftware, avec plus de 25 ans d'expérience dans le développement de serveurs de bases de données. Il s'est récemment concentré sur les fonctions de sécurité dans les environnements de base de données, assurant la conformité et une protection solide des données. Martin a contribué à des versions majeures de produits et collabore fréquemment avec ses pairs pour affiner les normes de sécurité des bases de données. Sur le blog d'Actian, Martin partage ses idées sur le développement de serveurs de bases de données sécurisés et les meilleures pratiques. Consultez ses derniers articles pour obtenir des conseils sur la protection des données d'entreprise.