sistemas de informação redes de computadores análise e desenvolvimento de sistemas...
TRANSCRIPT
Sistemas de InformaçãoSistemas de InformaçãoRedes de ComputadoresRedes de Computadores
Análise e Desenvolvimento de SistemasAnálise e Desenvolvimento de Sistemas
Administração de Banco de DadosAdministração de Banco de Dados1º Semestre – 20111º Semestre – 2011
Pedro Antonio Galvão JuniorPedro Antonio Galvão JuniorE-mail: [email protected] Fone: 9531-7555E-mail: [email protected] Fone: 9531-7555
[email protected]@aes.edu.br
Versão 1.11.02 – Fev/2011.Versão 1.11.02 – Fev/2011.
CRIPTOGRAFIACRIPTOGRAFIA
REGULAMENTAÇÕESREGULAMENTAÇÕ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 ALGORITHMSHASHING ALGORITHMS
Data Data
Digest
Algorithm
Hashing
TWO-WAY ALGORITHMSTWO-WAY ALGORITHMS
• Usa duas funções para criptografar e descriptografar os dados:
– EncryptByPassPhrase()
– DecryptByPassPhrase()
ALGORITMOS MAIS COMPLEXOSALGORITMOS MAIS COMPLEXOS
• Certificados.
• Chaves Simétricas.
• Chaves Assimétricas.
VISÃO GERALVISÃ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.
• 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.
VISÃO GERALVISÃO GERAL
Operating system level Windows DPAPI
SQL Server 2005 instance levelService Master Key
DPAPI encrypts Service Master Key
SQL Server 2005 database levelDatabase Master Key
Service Master Key encrypts Database Master Key
Asymmetric keys
Certificates
Symmetric keys
Data
Symmetric keys
Data
Symmetric keys
Data
SOLUÇÕES DE CRIPTOGRAFIASOLUÇÕ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.
SOLUÇÕES DE CRIPTOGRAFIASOLUÇÕES DE CRIPTOGRAFIA
SERVIÇO MASTER KEY (SMK)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 MANUTENÇÃO DO SERVIÇO MASTER KEYMASTER 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)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ÉTRICACRIPTOGRAFIA SIMÉTRICA
• Uma só chave para criptografar e descriptografar.
• Baixo overhead.
CREATE SYMETRIC KEY <nome_da_chave>WITH ALGORITHM = TRIPLE_DESENCRYPTION BY PASSWORD = ’P@ssw0rd1’
Symmetric key encrypts and decrypts data
Symmetric key encrypts and decrypts data
Symmetric Symmetric
Symmetric
• Uma cópia da chave simétrica é armazenada ou distribuída para comunicação com partners.
Symmetric
Symmetric
CRIPTOGRAFIA SIMÉTRICACRIPTOGRAFIA SIMÉ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_2048ENCRYPTION BY PASSWORD = ’P@ssw0rd1’
CRIPTOGRAFIA ASSIMÉTRICACRIPTOGRAFIA ASSIMÉTRICA
PublicPrivate
Public
Public
• Chave pública é colocada disponível ou é distribuida para se comunicar com os partners.
CRIPTOGRAFIA ASSIMÉTRICACRIPTOGRAFIA ASSIMÉTRICA
Encrypted dataEncrypted data
Public
Private Public
• Dados criptografados com chave pública só podem ser descriptografados com chave privada.
CRIPTOGRAFIA ASSIMÉTRICACRIPTOGRAFIA ASSIMÉTRICA
• Dados criptografados com chave privada pode somente ser descriptograda com chave pública.
• Usa assinatura digital
Encrypted dataEncrypted data
Public
Private Public
CRIPTOGRAFIA ASSIMÉTRICACRIPTOGRAFIA ASSIMÉTRICA
CERTIFICADOSCERTIFICADOS
• 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 CERTIFICADOSMANUTENÇÃ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 RECOMENDADASPRÁ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 ROTEIRO PARA TRABALHAR COM CRIPTOGRAFIA NO BANCO DE DADOSCRIPTOGRAFIA 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.