450 likes | 596 Views
Segurança e auditoria de sistemas. Carlos Oberdan Rolim Ciência da Computação Sistemas de informação. Criptografia. * Créditos: Prof. Dr.Edgar Jamhour - PUC Parana. Criptografia Baseada em Chaves. CRIPTOGRAFIA. Texto Fechado (Ciphertext). Texto Aberto (PlainText). DESCRIPTOGRAFIA.
E N D
Segurança e auditoria de sistemas Carlos Oberdan Rolim Ciência da Computação Sistemas de informação
Criptografia * Créditos: Prof. Dr.Edgar Jamhour - PUC Parana
Criptografia Baseada em Chaves CRIPTOGRAFIA Texto Fechado (Ciphertext) Texto Aberto (PlainText) DESCRIPTOGRAFIA
N = 4 Criptografia por Chaves • Princípio: O resultado da criptografia depende de um parâmetro de entrada, denominado chave. • Exemplo. Caesar Cipher • Chave: N = número de letras deslocadas A B C D E F G H I J K L M N O P Q R S T U V W X Y Z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C N = 3 Nada de novo no front. Qdgd gh qryr qr iurqw. Rehe hi rszs rs jvstx.
Espaço das Chaves (KeySpace) • Uma chave é um valor específico do espaço de chaves (keyspace). • No exemplo anterior: • KS = 25 • N = 3, é a chave específica. • Algoritmos Modernos: • Utilizam chaves binárias • O espaço de chaves depende do tamanho da chave • Dois tipos de Algoritmos: • Simétricos: KS 2tamanho_chave • Assimétricos: KS << 2tamanho_chave
Segurança =Tamanho do Espaço de Chaves • Exemplo: Algoritmo Simétrico • chaves de 128 bits: KS = 2128 chaves • KS = 3,4028 1038 chaves • Computador: capaz de avaliar • 1 bilhões de chaves por segundo • = 3,1536 1016 chaves por ano • = 31,536 milhões de bilhões chaves por ano • Testaria todas as chaves em: • 1,0781 1022 de anos • = 1,0781 1010 trilhões de anos • = 10,0781 bilhões de trilhões de anos
Criptografia Simétrica e Assimétrica • Dois sistemas de criptografia são usados atualmente: • Criptografia Simétrica ou de Chave Secreta • trabalha com uma única chave. • Chave secreta ou chave de sessão • Criptografia Assimétrica ou de Chave Pública • trabalha com um par de chaves • Chave pública • Chave privada
Chave Secreta (Criptografia Simétrica) Algoritmo de Descriptografia Algoritmo de Criptografia Texto Simples(plaintext) Texto Codificado(ciphertext) Texto Simples (plaintext) = Chave Secreta Chave Secreta
DES – Data Encryption Standard • Um dos algoritmo de chave secreta mais difundido é o DES. • Originalmente Desenvolvido pela IBM. • Este algoritmo é padronizado pela ANSI, e foi adotado como algoritmo oficial pelo governo americano. • DES criptografia blocos de 64 bits com chaves de 56 bits. • DES utiliza técnicas baseadas em permutação sucessiva de bits.
Modos de Operação • O DES possui vários modos de operação, dependendo da maneira como os blocos de 64 bits de uma mesma mensagem são criptografados. • Alguns exemplos são: • ECB: Electronic Codebook Mode • CBC: Cipher Block Chaining
MODO ECB • O Modo ECB divide a mensagem em blocos de 64 bits, e criptografa cada bloco de maneira independente. DADOS BLOCO 64 bits BLOCO 64 bits BLOCO 64 bits CRIPTOGRAFIA CRIPTOGRAFIA CRIPTOGRAFIA BLOCO 64 bits (cipher text) BLOCO 64 bits (cipher text) BLOCO 64 bits (cipher text)
MODO CBC • O Metodo CBC torna a criptografia de um bloco dependente do bloco anterior. DADOS BLOCO 64 bits BLOCO 64 bits BLOCO 64 bits XOR XOR CRIPTOGRAFIA BLOCO 64 bits (cipher text) CRIPTOGRAFIA CRIPTOGRAFIA BLOCO 64 bits (cipher text) BLOCO 64 bits (cipher text)
Chave Pública = CRIPTOGRAFIA ASSIMÉTRICA • Sistema de Criptografia Assimétrico • Utiliza um par de chaves. • Uma chave publica para criptografar a mensagem. • Uma chave privada para descriptografar a mensagem. • A chave pública não é secreta. • A chave privada é secreta. • A chave pública deve ser distribuída para os usuário que desejarem enviar uma mensagem com segurança.
Chave Pública (Criptografia Assimétrica) Algoritmo de Criptografia Algoritmo de Decriptografia Texto Simples(plaintext) Texto Codificado(ciphertext) Texto Simples (plaintext) Chave Pública Chave Privada
2 4 3 Chave pública 1 (chave secreta aleatória) (chave secreta aleatória) Chave privada Chave Pública e Chave Secreta Receptor (servidor) Transmissor (cliente) COMUNICAÇÃO SEGURA
RSA (Rivest, Shamir, Adleman) • Sejam p, qe e números primos (> 512 bits). Calcula-se: • n = p.q e ed = 1 mod (p-1)(q-1) • As chaves são definidas da seguinte maneira: • Chave pública: (n,e) e Chave privada: d • Para criptografar uma mensagem “m” efetua-se a operação: • s = me mod n • Para decriptografar, efetua-se a operação: • m = sd mod n
RSA • O algoritmo RSA é muito mais lento que o DES, pois os cálculos efetuados são complexos. • Por utilizar números primos, o RSA precisa de chaves muito grandes para reproduzir o mesmo grau de segurança do DES. • Espaço de Chaves <<< 2tamanho_chave • As chaves em RSA são em geral da ordem de 1024 bits.
Assinatura Digital com Chave Pública Algoritmo de assinatura digital • Permite ao receptor verificar a integridade da mensagem: • O conteúdo não foi alterado durante a transmissão. • O transmissor é quem ele diz ser. Mensagem isto é segredo Assinatura digital Chave privada
Algoritmo de Hashing Algoritmo de Cripografia ASSINATURA DIGITAL DIGEST F18901B MENSAGEM ASSINATURA Mensagem com Assinatura Digital ABFC01FE012A02C897CD012DF41 aberta criptografada Implementação da Assinatura Digital ABFC01FE012A02C897CD012DF41
xxxx yyyy zzzz Algoritmo de Hashing Algoritmo de Hashing COMPARAÇÃO Assinatura Digital DIGEST 1B2A37... Criptografia com chave privada Decriptografia com chave pública Geração e Validação das Assinaturas RECEPTOR TRANSMISSOR xxxx yyyy zzzz DIGEST Rede Assinatura Digital DIGEST
MENSAGEM ASSINATURA DIGITAL CHAVE PÚBLICA DE A Verificação da Integridade da Mensagem Transmissor (A) Receptor (B) CHAVE PRIVADA DE A O receptor precisa ter a chave pública do transmissor para verificar a assinatura.
Chave pública (e.g., Banco do Brasil) www.bancodobrasil.com.br Banco do Brasil S.A. Brasilia, DF, Brasil www.verisign.com Verisign, Inc. Autoridade Certificadora Autoridade Certificadora (Verisign, Certisign, Etc.) C.A. (Certification Authority) CHAVE PRIVADA Certificado X509 Assinatura Digital I.D. do Proprietário I.D. da CA
VERISIGN: www.verisign.com I.D. da Autoridade Certificadora Assinatura Eletrônica I.D. do Proprietário Off-line On-line Estratégias de Certificação • O software que recebe o certificado (por exemplo, o browser) deve possuir a chave pública da autoridade certificadora. Base de chaves www.bancodobrasil.com.br
PKI (Public Key Infrastructure) • O termo PKI (Infraestrutura de chave pública) é utilizado para descrever o conjunto de elementos necessários para implementar um mecanismo de certificação por chave pública. CA (Autoridade Certificadora) certificados certificados EMPRESA B EMPRESA A
Como a criptografia pode ser implementada? Aplicações Seqüência de empacotamento Protolco de Aplicação FTP, SMTP, HTTP, Telnet, SNM, etc. aplicação TCP, UDP transporte IP rede Data Link Ethernet, Token Ring, FDDI, etc enlace Tecnologia heterogênea Física física
SSL • SSL: Secure Sockets Layer HTTP POP TELNET HTTPs POPs TELNETs 80 110 23 443 995 992 Sockets SSL TCP/IP
Exemplo: HTTPS SERVIDOR CLIENTE SOCKS SOCKS HTTP >1023 80 SSL SSL HTTPS >1023 443 X Recurso Protegido Recurso Não Protegido
SSL e TLS • SSL: Secure Socket Layer • Definido pela Netscape • Versão atual: 3.0 • TLS: Transport Layer Security • Definido pelo IETF • Versão atual: 1.0 • RFC 2246 (Janeiro de 1999) • O TLS 1.0 é baseado no SSL 3.0, mas eles possuem diferenças que os tornam incompatíveis.
TLS • O TLS define dois sub-protocolos: • TLS Record Protocol • Utilizado para encapsular os protocolos das camadas superiores. • TLS Handshake Protocol • Utilizado para negociar o algorítmo e as chaves de criptografia antes que o primeiro byte da comunicação segura seja transmitido.
TLS • Os objetivos do TLS são: • Segurança criptográfica entre dois pontos. • Interoperabilidade • Fabricantes diferentes • Extensibilidade • Novos algorítmos de criptografia. • Eficiência: • CPU • Tráfego de rede.
Secure Socket Layer (SSL) e Transport Layer Security (TLS) • O SSL/TLS permite executar duas funções básicas: • autenticação entre o cliente e o servidor. • criptografia na troca de mensagens. O servidor se autentica para o cliente (obrigatório) SSL/TLS O cliente se autentica para o servidor (opctional)
Autenticação do Servidor • SSL/TLS permite ao usuário confirmar a identidade do servidor. SSL Identificação do CA Assinatura Digital de uma CA Identificação do Servidor Chave pública do servidor
Autenticação do Cliente • SSL permite ao servidor identificar a identidade do cliente. SSL Identificação do CA Assinatura Digital de uma CA Identificação do Cliente Chave pública do Cliente
(chave secreta aleatória) (chave secreta aleatória) info info Criptografia da Comunicação • Após a certificação, o SSL/TLS cria uma chave de sessão que garante: • Confidencialidade e Proteção contra Tampering (alteração dos dados em transito).
Algoritmos Padronizados para SSL/TLS • Strongest cipher suite. • Triple DES (168-bit encryption com autenticação) • Strong cipher suites • RC4, criptografia de 128-bits (utiliza o MD5 para autenticação) • é o mais rápido da categoria • RC2, criptografia de 128-bits (utiliza o MD5 para autenticação) • DES, que suporta criptografia de 56-bits (utiliza o SHA-1 para autenticação).
Conclusão • Algoritmos modernos são baseados no conceito de chaves. • Algoritmos assimétricos são lentos e unidirecionais. • Algoritmos simétricos são rápidos e bidirecionais. • SSL é um mecanismo para negociação de algoritmos e chaves de criptografia. • SSL é implementado nas aplicações através de uma biblioteca de sockets estendida.