Crittografia di un database

Motore di database per SQL Server Compact 4.0 consente di crittografare i database. I database crittografati sono anche protetti da password.

Importante

Poiché è possibile accedere ai database crittografati solo tramite password, se la password di un database crittografato viene dimenticata non sarà possibile recuperare i dati.

Modalità di crittografia

In SQL Server Compact 4.0 sono supportate le modalità di crittografia indicate di seguito per i database. È stato eseguito il mapping dei nuovi algoritmi di crittografia (combinazione di crittografia e hash) a queste modalità di crittografia.

Advanced Encryption Standard (AES) è disponibile in tutte le piattaforme supportate da SQL Server Compact 4.0 per la crittografia con lunghezza di chiave di 128 e 256 bit. Secure Hashing Algorithm (SHA) è disponibile per l'hash con lunghezza di chiave di 256 e 512 bit.

  1. Platform Default: gli algoritmi utilizzati in questa modalità sono AES128_SHA256, in cui AES128 è l'algoritmo di crittografia con chiave da 128 bit e SHA256 è l'algoritmo Secure Hash Algorithm con chiave da 256 bit. Si tratta della modalità di crittografia predefinita per tutte le piattaforme supportate da SQL Server Compact 4.0.

  2. Engine Default: in questa modalità il database è crittografato con AES256_SHA512, in cui AES256 è l'algoritmo di crittografia e SHA512 è l'algoritmo Secure Hash Algorithm. Viene utilizzata la lunghezza di chiave predefinita per mantenere la compatibilità con la versione precedente SQL Server Compact 3.5.

Nota

È possibile specificare il tipo di crittografia utilizzato per crittografare il database impostando l'attributo della stringa di connessione, Encryption Mode, su una delle modalità di crittografia disponibili: Platform Default o Engine Default.

Creazione di database crittografati

È possibile creare database crittografati impostando le proprietà di crittografia e password al momento della creazione del database. I database crittografati possono essere creati nei modi seguenti:

  • Utilizzo della sintassi SQL

    Per creare un database crittografato utilizzando la sintassi SQL, specificare database_password. Il database verrà crittografato per impostazione predefinita. La modalità di crittografia sarà Platform Default. Ad esempio:

    Create Database "secure.sdf" databasepassword '<password>' 
    
  • Utilizzo del provider di dati per .NET Compact Framework

    Per creare un database protetto da password utilizzando il metodo SqlCeEngine.CreateDatabase, è necessario specificare la proprietà Password nella stringa di connessione. Ad esempio:

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

    Per ulteriori informazioni, vedere la classe System.Data.SqlServerCe.SqlCeEngine nella documentazione di MicrosoftVisual Studio.

  • Utilizzo di OLE DB

    Per creare un database crittografato utilizzando il provider OLE DB per SQL Server Compact, è necessario specificare la modalità di crittografia con la proprietà specifica del provider DBPROP_SSCE_ENCRYPTIONMODE e specificare una password utilizzando la proprietà specifica del provider DBPROP_SSCE_DBPASSWORD.

Accesso a database crittografati

Per aprire un database crittografato è necessario specificare una password. È possibile accedere a database crittografati nei modi seguenti:

  • Utilizzo del provider di dati per SQL Server Compact

    Per accedere a un database protetto da password utilizzando il metodo SqlCeConnection.Open, è necessario specificare la proprietà Password nella stringa di connessione. Ad esempio:

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

    Per ulteriori informazioni, vedere la classe System.Data.SqlServerCe.SqlCeConnection nella documentazione di Visual Studio.

  • Utilizzo di OLE DB

    Per aprire un database protetto da password in OLE DB, è necessario indicare la proprietà specifica del provider DBPROP_SSCE_DBPASSWORD.

Nota

Se si tenta di aprire un file di database creato con una versione precedente di SQL Server Compact, verrà visualizzato un messaggio che indica l'impossibilità di eseguire l'operazione, poiché il formato di file di database per SQL Server Compact 4.0 è diverso da quello delle versioni precedenti. Per aprire il file di database utilizzando SQL Server Compact 4.0, è necessario innanzitutto eseguirne l'aggiornamento.

È possibile aggiornare i database di SQL Server Compact 3.1/3.5 alla versione SQL Server Compact 4.0, ma non alla versione SQL Server Compact 2.0. Per maggiori dettagli vedere Aggiornamento dalle versioni precedenti (SQL Server Compact)

Vedere anche

Attivitá

Procedura: Protezione di un database (Visual Studio)