Chiffrement d'une base de données

Moteur de base de données pour SQL Server Compact 4.0 permet de chiffrer des bases de données. Les bases de données qui sont chiffrées sont également protégées par un mot de passe de base de données.

Important

Étant donné que les bases de données chiffrées sont uniquement accessibles avec un mot de passe, en cas de perte du mot de passe, les données sont irrécupérables.

Modes de chiffrement

SQL Server Compact 4.0 prend en charge les modes de chiffrement suivants pour chiffrer la base de données. De nouveaux algorithmes cryptographiques (combinaison du chiffrement et du hachage) sont mappés à ces modes de chiffrement.

AES (Advanced Encryption Standard) est disponible sur toutes les plateformes SQL Server Compact 4.0 prises en charge en vue d'un chiffrement avec une longueur de clé de 128 bits et de 256 bits. L'algorithme SHA (Secure Hashing Algorithm) est disponible pour le hachage avec une longueur de clé de 256 bits et de 512 bits.

  1. Platform Default : les algorithmes utilisés dans ce mode sont AES128_SHA256, où AES128 représente l'algorithme de chiffrement avec une clé de 128 bits et SHA256 l'algorithme de hachage avec une clé de 256 bits. Il s'agit de l'option de mode de chiffrement par défaut sur toutes les plateformes prises en charge par SQL Server Compact 4.0.

  2. Engine Default : dans ce mode, la base de données est chiffrée à l'aide de AES256_SHA512, où AES256 représente l'algorithme de chiffrement et SHA512 l'algorithme de hachage sécurisé. La longueur de clé par défaut est utilisée pour gérer la compatibilité descendante avec SQL Server Compact 3.5.

Notes

Vous pouvez spécifier le type de chiffrement utilisé pour chiffrer la base de données en définissant l'attribut de chaîne de connexion, Encryption Mode,, sur l'un des modes de chiffrement disponibles : Platform Default ou Engine Default.

Création de bases de données chiffrées

Vous pouvez créer des bases de données chiffrées en fournissant des propriétés de chiffrement et de mode de passe lors de la création de la base de données. Vous pouvez créer des bases de données chiffrées à l'aide des méthodes suivantes :

  • En utilisant la syntaxe SQL

    Pour créer une base de données chiffrée en utilisant la syntaxe SQL, spécifiez le mot_de_passe_de_base_de_données. La base de données est alors chiffrée par défaut. Le mode de chiffrement est Platform Default. Par exemple :

    Create Database "secure.sdf" databasepassword '<password>' 
    
  • En utilisant le fournisseur de données du .NET Compact Framework

    Pour créer une base de données protégée par mot de passe en utilisant la méthode SqlCeEngine.CreateDatabase, vous devez spécifier la propriété de mot de passe dans la chaîne de connexion. Par exemple :

    "data source=\secure.sdf;encryption mode=platform default;password=<enterStrongPasswordHere>;
    

    Pour plus d'informations, consultez la classe System.Data.SqlServerCe.SqlCeEngine dans la documentation MicrosoftVisual Studio.

  • En utilisant OLE DB

    Pour créer une base de données chiffrée en utilisant le fournisseur OLE DB de SQL Server Compact, vous devez spécifier le mode de chiffrement à l'aide de la propriété spécifique au fournisseur DBPROP_SSCE_ENCRYPTIONMODE et définir un mot de passe à l'aide de la propriété spécifique au fournisseur DBPROP_SSCE_DBPASSWORD.

Accès à des bases de données chiffrées

Pour ouvrir une base de données chiffrée, un mot de passe doit être fourni. Vous pouvez accéder à des bases de données chiffrées à l'aide des méthodes suivantes :

  • En utilisant le fournisseur de données pour SQL Server Compact

    Pour accéder à une base de données protégée par mot de passe en utilisant la méthode SqlCeConnection.Open, vous devez spécifier la propriété de mot de passe dans la chaîne de connexion. Par exemple :

    "data source=ssce.sdf; password=<enterStrongPasswordHere>"
    

    Pour plus d'informations, consultez la classe System.Data.SqlServerCe.SqlCeConnection dans la documentation Visual Studio.

  • En utilisant OLE DB

    Pour ouvrir une base de données protégée par mot de passe dans OLE DB, vous devez spécifier la propriété spécifique au fournisseur DBPROP_SSCE_DBPASSWORD.

Notes

Si vous essayez d'ouvrir un fichier de base de données créé à l'aide d'une version antérieure de SQL Server Compact, un message vous informe que le fichier ne peut pas être ouvert. Cela est dû au fait que le format de fichier de base de données pour SQL Server Compact 4.0 est différent de celui des versions antérieures. Pour ouvrir le fichier de base de données avec SQL Server Compact 4.0, il doit tout d'abord être mis à niveau.

Vous pouvez mettre à niveau des bases de données SQL Server Compact 3.1/3.5 vers des bases de données SQL Server Compact 4.0, ce qui n'est pas le cas des bases de données SQL Server Compact 2.0. Pour plus d'informations, consultez Mise à niveau à partir de versions antérieures (SQL Server Compact).

Voir aussi

Tâches

Procédure : sécuriser une base de données (Visual Studio)