Partilhar via


Criptografando um banco de dados

O Mecanismo de Banco de Dados para SQL Server Compact 4.0 permite criptografar bancos de dados. Os bancos de dados criptografados também são protegidos por uma senha.

Importante

Como esses bancos de dados só podem ser acessados com uma senha, se a senha for perdida, os dados não poderão ser recuperados.

Modos de Criptografia

O SQL Server Compact 4.0 tem suporte para os seguintes modos de criptografia para criptografar o banco de dados. Os novos algoritmos de criptografia (combinação de Criptografia com Hash) são mapeados para esses modos de criptografia.

O Advanced Encryption Standard (AES) está disponível em todas as plataformas que têm suporte para o SQL Server Compact 4.0 para criptografia com comprimento de chave de 128 bits and 256 bits. O Secure Hashing Algorithm (SHA) está disponível para hash com comprimento de chave de 256 bits e 512 bits.

  1. Platform Default: os algoritmos usados neste modo são AES128_SHA256, onde AES128 é o algoritmo de criptografia com chave de 128 bits e SHA256 é o algoritmo de hash com chave de 256 bits. Esta é a opção de modo criptografia padrão em todas as plataformas que têm suporte para o SQL Server Compact 4.0.

  2. Engine Default: neste modo, o banco de dados é criptografado usando AES256_SHA512, onde AES256 é o algoritmo de criptografia e SHA512 é o algoritmo seguro de hash. O comprimento padrão da chave é usado para manter a compatibilidade com versões anteriores do SQL Server Compact 3.5.

Dica

Você pode especificar o tipo de criptografia usada para criptografar o banco de dados, através da configuração do atributo da cadeia de conexão, Encryption Mode, para um dos modos de criptografia disponíveis: Platform Default, ou Engine Default.

Criando bancos de dados criptografados

É possível criar bancos de dados criptografados fornecendo as propriedades de criptografia e senha quando o banco de dados for criado. Os bancos de dados criptografados podem ser criados pelos seguintes métodos:

  • Usando a sintaxe SQL

    Para criar um banco de dados criptografado usando a sintaxe SQL, especifique a senha do banco de dados. Por padrão, essa ação criptografará o banco de dados. O modo de criptografia será Platform Default. Por exemplo:

    Create Database "secure.sdf" databasepassword '<password>' 
    
  • Usando o provedor de dados do .NET Compact Framework

    Para criar um banco de dados protegido por senha usando o método SqlCeEngine.CreateDatabase, você deve especificar a propriedade password na cadeia de conexão. Por exemplo:

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

    Para obter mais informações, consulte a classe System.Data.SqlServerCe.SqlCeEngine na documentação do Microsoft Visual Studio.

  • Usando OLE DB

    Para criar um banco de dados criptografado usando o provedor OLE DB do SQL Server Compact, você deve especificar o modo de criptografia com a propriedade específica de provedor DBPROP_SSCE_ENCRYPTIONMODE e especificar uma senha usando a propriedade específica de provedor DBPROP_SSCE_DBPASSWORD.

Acessando bancos de dados criptografados

É necessário fornecer uma senha para abrir um banco de dados criptografado. Os bancos de dados criptografados podem ser acessados pelos seguintes métodos:

  • Usando o provedor de dados do SQL Server Compact

    Para acessar um banco de dados protegido por senha usando o método SqlCeConnection.Open, é necessário especificar a propriedade password na cadeia de conexão. Por exemplo:

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

    Para obter mais informações, consulte a classe System.Data.SqlServerCe.SqlCeConnection na documentação do Visual Studio.

  • Usando OLE DB

    Para abrir um banco de dados protegido por senha no OLE DB, é necessário especificar a propriedade específica do provedor DBPROP_SSCE_DBPASSWORD.

Dica

Se você tentar abrir um arquivo de banco de dados criado usando uma versão anterior do SQL Server Compact, você obterá uma mensagem indicando que o arquivo não pode ser aberto. Isso ocorre porque o formato de arquivo de banco de dados do SQL Server Compact 4.0 é diferente do formato das versões anteriores. Para abrir o arquivo de banco de dados usando o SQL Server Compact 4.0, o arquivo de banco de dados deve ser atualizado antes.

Você pode atualizar os bancos de dados do SQL Server Compact 3.1/3.5 para o banco de dados do SQL Server Compact 4.0 , mas não para o SQL Server Compact 2.0. Para obter mais detalhes, consulte Atualizando versões anteriores (SQL Server Compact)

Consulte também

Tarefas

Como proteger um banco de dados (Visual Studio)