Share via


Cifrar una base de datos

El Motor de base de datos para SQL Server Compact 4.0 permite cifrar las bases de datos. Las bases de datos cifradas también están protegidas por una contraseña.

Importante

Solo es posible obtener acceso a las bases de datos cifradas con una contraseña por lo que, si se pierde esta contraseña, no se podrán recuperar los datos.

Modos de cifrado

SQL Server Compact 4.0 admite los siguientes modos de cifrado para cifrar la base de datos. Los nuevos algoritmos criptográficos (combinación de cifrado y hash) se asignan a estos modos de cifrado.

Estándar de cifrado avanzado (AES) está disponible en todas las plataformas admitidas de SQL Server Compact 4.0 para el cifrado con una longitud de clave de 128 y de 256 bits. El Algoritmo de hash seguro (SHA) está disponible para aplicar hash con una longitud de clave de 256 bits y de 512 bits.

  1. Platform Default: los algoritmos que se usan en este modo son AES128_SHA256, donde AES128 es el algoritmo de cifrado con una clave de 128 bits y SHA256 es el algoritmo de hash con una clave de 256 bits. Esta es la opción de modo de cifrado predeterminado en todas las plataformas admitidas de SQL Server Compact 4.0.

  2. Engine Default: en este modo, la base de datos se cifra con AES256_SHA512, donde AES256 es el algoritmo de cifrado y SHA512 es el algoritmo de hash seguro. La longitud de clave predeterminada se usa para mantener la compatibilidad de las versiones anteriores con SQL Server Compact 3.5.

Nota

Puede especificar el tipo de cifrado utilizado para cifrar la base de datos estableciendo el atributo de cadena de conexión, Encryption Mode, en uno de los modos de cifrado disponibles: Platform Default o Engine Default.

Crear bases de datos cifradas

Puede crear bases de datos cifradas proporcionando las propiedades de cifrado y contraseña en el momento de la creación. Las bases de datos cifradas pueden crearse con los métodos siguientes:

  • Utilizando la sintaxis SQL

    Para crear una base de datos cifrada utilizando la sintaxis SQL, especifique la contraseña de la base de datos. De este modo, se cifrará la base de datos de forma predeterminada. El modo de cifrado será Platform Default. Por ejemplo:

    Create Database "secure.sdf" databasepassword '<password>' 
    
  • Utilizando el proveedor de datos de .NET Compact Framework

    Para crear una base de datos protegida con contraseña utilizando el método SqlCeEngine.CreateDatabase, debe especificar la propiedad de contraseña en la cadena de conexión. Por ejemplo:

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

    Para obtener más información, vea la clase System.Data.SqlServerCe.SqlCeEngine en la documentación de Microsoft  Visual Studio.

  • Utilizando OLE DB

    Para crear una base de datos cifrada mediante el proveedor OLE DB para SQL Server Compact, debe especificar el modo de cifrado con la propiedad específica del proveedor DBPROP_SSCE_ENCRYPTIONMODE y una contraseña con la propiedad específica del proveedor DBPROP_SSCE_DBPASSWORD.

Obtener acceso a bases de datos cifradas

Para abrir una base de datos cifrada, es necesario proporcionar una contraseña. Es posible obtener acceso a las bases de datos cifradas con los métodos siguientes:

  • Utilizando el proveedor de datos de SQL Server Compact

    Para tener acceso a una base de datos protegida con contraseña utilizando el método SqlCeConnection.Open, debe especificar la propiedad de contraseña en la cadena de conexión. Por ejemplo:

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

    Para obtener más información, vea la clase System.Data.SqlServerCe.SqlCeConnection en la documentación de Visual Studio.

  • Utilizando OLE DB

    Para abrir una base de datos protegida por contraseña en OLE DB, debe especificar la propiedad específica del proveedor DBPROP_SSCE_DBPASSWORD.

Nota

Si intenta abrir un archivo de base de datos creado usando una versión anterior de SQL Server Compact, se mostrará un mensaje que indica que no se puede abrir el archivo. Esto se debe a que el Formato de archivo de base de datos para SQL Server Compact 4.0 es diferente al de las versiones anteriores. Para abrir el archivo de base de datos con SQL Server Compact 4.0, primero debe actualizarse.

Puede actualizar las bases de datos de SQL Server Compact 3.1/3.5 a una base de datos de SQL Server Compact 4.0 pero no de SQL Server Compact. Para obtener información detallada, vea Actualizar desde versiones anteriores (SQL Server Compact).

Vea también

Tasks

Proteger una base de datos (Visual Studio)