Estou ajudando um amigo a configurar a criptografia de dados no SQL Server 2008 R2 Standard Edition. Após a pesquisa original, pensei que poderia usar o TDE , mas não percebi que ele estava disponível apenas para as versões Enterprise ou DataCenter de SQL Servers. Após pesquisas adicionais sobre os recursos do SQL Server 2008 R2 , vi que ele permite "criptografia de dados e gerenciamento de chaves", mas não tenho certeza do que isso significa ou como implementá-lo.
Qual é o método mais eficiente e de baixo custo para criptografia de dados? Devo fazer algo por meio do SQL Server ou apenas usar ferramentas de terceiros para criptografar todo o volume onde o banco de dados e os backups estão? Além disso, se alguém puder apontar uma maneira de usar "criptografia de dados" que vem como recurso na edição padrão, eu realmente aprecio. Toda vez que procuro criptografia no sql server fico terminando em como usar o TDE e no cenário atual não é viável para o tamanho da empresa adquirir o Enterprise Edition.
Motivo da criptografia - Conformidade HIPAA. Se o acesso for obtido ao sistema de arquivos para banco de dados ou backups, os dados são criptografados e não podem ser de nenhuma utilidade. Isso pode incluir acesso físico à máquina ou acesso por meio do administrador local.
Como você está usando o Standard Edition, não pode usar o TDE. Então outras opções são
Usando chaves de criptografia no nível de instância/banco de dados :
O SQL Server tem dois tipos de chaves: simétricas e assimétricas. As chaves simétricas usam a mesma senha para criptografar e descriptografar dados. As chaves assimétricas usam uma senha para criptografar os dados (chamada de chave pública) e outra para descriptografar os dados (chamada de chave privada).
O SQL Server tem dois aplicativos principais para chaves: uma chave mestra de serviço (SMK) gerada em e para uma instância do SQL Server e uma chave mestra de banco de dados (DMK) usada para um banco de dados.
Além disso, você pode ter criptografia no nível da coluna criando uma MASTER KEY ENCRYPTION junto com CREATE CERTIFICATE e, em seguida, CREATE SYMMETRIC KEY.
Um exemplo de como isso pode ser feito é descrito em Criptografar uma coluna de dados
Referência: SQL Server e chaves de criptografia de banco de dados (mecanismo de banco de dados)
No nível do Drive :
Usando o BitLocker, pois é um recurso de proteção de dados do Drive Encryption disponível no Windows Server 2008 R2. Consulte: Visão geral da criptografia de unidade de disco BitLocker Existem muitos softwares de código aberto ou de terceiros para fazer o mesmo trabalho, mas com custo adicional.
Nota: A parte mais importante é SEMPRE fazer backup de suas chaves de criptografia .
Você pode usar software de terceiros, como o backup sql do Redgate, que permite criptografar backups usando senhas.
Dependendo de qual nível você precisa de criptografia, determinará se vale a pena atualizar para a edição corporativa ou não. Você precisa avaliar a criptografia TDE nativa versus chaves de criptografia e certificados versus código aberto versus criptografia de disco.
Pergunta antiga, eu entendo, mas uma resposta além das respostas acima existe desde o SQL Server 2016 SP1.
O SQL Server 2016 introduziu "Sempre criptografado", bem como outros recursos de segurança, como mascaramento dinâmico de dados e segurança em nível de linha. Esses foram recursos lançados originalmente apenas na Enterprise Edition.
Eles agora existem como recursos disponíveis em qualquer SKU do SQL Server 2016 - Enterprise, Standard ou mesmo Express.
Vale a pena conferir e vale a pena olhar para o processo de atualização agora. Você pode ler mais sobre isso no post da Microsoft sobre SP1 para SQL Server 2016.
Primeiro, faça a pergunta "por que estou criptografando este banco de dados?"
Se a resposta for "ocultar dados dos administradores de banco de dados", a criptografia do SQL Server de qualquer tipo não é a resposta. Nesse caso, o aplicativo cliente deve criptografar os dados e armazenar o texto cifrado no banco de dados. Dessa forma, nem o servidor de banco de dados nem os administradores de banco de dados (nem os administradores de rede também) jamais verão dados não criptografados ou chaves de criptografia.
Criptografar os dados no cliente antes de enviá-los ao servidor significa que os arquivos do banco de dados e os backups do banco de dados são todos criptografados e protegidos contra alguém que roube uma fita de backup ou disco rígido e também estão protegidos contra contas de administrador não autorizadas ou comprometidas.
Veja o artigo do blog de Laurentiu Cristofor Quem precisa de criptografia? e Conformidade HIPAA com SQL Server 2008 no Blog de Segurança do SQL Server
Resposta originalmente deixada como uma edição à pergunta pelo autor:
Solução usada
Depois de apresentar diferentes opções ao administrador do sistema responsável pelo projeto, foi tomada a decisão de usar a criptografia de unidade BitLocker. Parei a instância SQL durante o processo de criptografia e não tive problemas para reiniciá-la após a conclusão da criptografia.