Sistemas de Informação
Redes de Computadores
Análise e Desenvolvimento de Sistemas
Administração de Banco de Dados
1º Semestre – 2011
Pedro Antonio Galvão Junior
E-mail: [email protected] Fone: 9531-7555
[email protected]
Versão 1.11.02 – Fev/2011.
CRIPTOGRAFIA
REGULAMENTAÇÕES
• As estruturas de segurança das empresas devem cumprir as leis
federais, estaduais e internacionais sobre armazenamento de
informações pessoais.
• As exigências afetam diversas operações que envolvem bancos de
dados.
HASHING ALGORITHMS
Hashing
Data
Algorithm
Data
Digest
TWO-WAY ALGORITHMS
• Usa duas funções para criptografar e descriptografar os dados:
– EncryptByPassPhrase()
– DecryptByPassPhrase()
ALGORITMOS MAIS COMPLEXOS
• Certificados.
• Chaves Simétricas.
• Chaves Assimétricas.
VISÃO GERAL
• A barreira de segurança final para dados confidenciais é
normalmente a criptografia de dados.
• A criptografia aumenta a carga do processador e consome espaço
de armazenamento. Requer gerenciamento de chave.
• Criptografia simétrica:
– É rápida;
– Usa uma chave; e
– Não oferece não-repúdio.
VISÃO GERAL
• Criptografia assimétrica:
– Usa um par de chaves;
– É mais lenta que a criptografia simétrica; e
– Oferece confidencialidade e não-repúdio.
• Criptografia híbrida:
– Aproveita a velocidade da criptografia simétrica e a segurança aprimorada
da criptografia assimétrica.
SOLUÇÕES DE CRIPTOGRAFIA
Operating system level
Windows DPAPI
DPAPI encrypts Service Master Key
SQL Server 2005 instance level
Service Master Key
Service Master Key encrypts Database Master Key
SQL Server 2005 database level
Database Master Key
Asymmetric
keys
Certificates
Symmetric keys
Symmetric keys
Symmetric keys
Data
Data
Data
SOLUÇÕES DE CRIPTOGRAFIA
• Os processos de criptografia e descriptografia requerem:
– Um certificado como uma forma de usar a criptografia
assimétrica;
– Uma chave assimétrica; e
– Uma chave simétrica, que deve ser aberta na ordem correta em
uma hierarquia de criptografia.
SERVIÇO MASTER KEY (SMK)
• Gerencia as chaves de criptografia;
• Cada instância do SQL Server tem uma;
• Criado durante o setup; e
• Chave simétrica de 128 bits com algorítmo 3DES.
BACKUP SERVICE MASTER KEY TO FILE = ‘file_name’ ENCRYPTION BY
PASSWORD = ‘senha’
RESTORE SERVICE MASTER KEY FROM FILE = ‘file_name’ DECRYPTION BY
PASSWORD = ‘senha’
MANUTENÇÃO DO SERVIÇO
MASTER KEY
Backup da MASTER KEY:
BACKUP SERVICE MASTER KEY TO FILE = ‘file_name’ ENCRYPTION
BY PASSWORD = ‘senha’
Restore da MASTER KEY:
RESTORE SERVICE MASTER KEY FROM FILE = ‘file_name’
DECRYPTION BY PASSWORD = ‘senha’
Regenerando a Master Key:
ALTER SERVICE MASTER KEY REGENERATE
DATABASE MASTER KEYS (DMK)
• Protege informações do banco com chaves assimétricas ou as
chaves privadas de um certificado;
• Cada banco tem a sua DMK; e
• Chave simétrica de 128 bits e DES.
CRIPTOGRAFIA SIMÉTRICA
• Uma só chave para criptografar e descriptografar.
• Baixo overhead.
CREATE SYMETRIC KEY <nome_da_chave>
WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY PASSWORD = ’P@ssw0rd1’
Symmetric
Symmetric
Symmetric key
encrypts and
decrypts data
CRIPTOGRAFIA SIMÉTRICA
Symmetric
Symmetric
Symmetric
• Uma cópia da chave simétrica é armazenada ou
distribuída para comunicação com partners.
CRIPTOGRAFIA ASSIMÉTRICA
• Par de chaves públicas e privadas:
– Criptografia com chave publica, descriptografia com chave
privada.
– Criptografia com chave privada, descriptografia com chave pública
• Autenticação:
Alto overhead.
CREATE ASYMETRIC KEY <nome_da_chave>
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = ’P@ssw0rd1’
CRIPTOGRAFIA ASSIMÉTRICA
Public
Private Public
Public
• Chave pública é colocada disponível ou é distribuida
para se comunicar com os partners.
CRIPTOGRAFIA ASSIMÉTRICA
Public
Private
Encrypted data
Public
• Dados criptografados com chave pública só podem ser
descriptografados com chave privada.
CRIPTOGRAFIA ASSIMÉTRICA
Public
Private
Encrypted data
Public
• Dados criptografados com chave privada pode somente
ser descriptograda com chave pública.
• Usa assinatura digital
CERTIFICADOS
• Mais alto mecanismo de criptografia.
• Um certificado contém:
– A chave pública do subject;
– Informação de identificação do subject, como nome e email;
– Período de validade; e
– Assinatura digital.
MANUTENÇÃO DE CERTIFICADOS
Criando um Certificado:
CREATE CERTIFICATE <nome> WITH SUBJECT = ‘Certificado 1’
Exportando um Certificado:
BACKUP CERTIFICATE <nome> TO FILE = ‘c:\cert\nome.cer’
Importando um Certificado:
CREATE CERTIFICATE <nome> FROM FILE = ‘c:\cert\nome.cer’
PRÁTICAS RECOMENDADAS
• Criar sempre backup com senha forte para Master Key.
• Usar algoritmo de criptografia AES com 256 bits durante a criação
de chaves simétricas.
• Auditar tabelas do banco regularmente.
• Não distribuir chaves de criptografia entre servidores.
ROTEIRO PARA TRABALHAR COM
CRIPTOGRAFIA NO BANCO DE DADOS
1.
Criar a master key com senha;
2.
Criar o certificado digital;
3.
Criar a chave;
4.
Incluir colunas para serem criptografadas;
5.
Abrir a chave; e
6.
Criptografar os dados.
Download

Adm. Banco de Dados - Aula 04 - 24 de Fevereiro