Criptografia Certificados Digitais SSL Professor Edgard Jamhour 2001

  • Slides: 40
Download presentation
Criptografia, Certificados Digitais SSL • Professor • Edgard Jamhour 2001, Edgard Jamhour

Criptografia, Certificados Digitais SSL • Professor • Edgard Jamhour 2001, Edgard Jamhour

Criptografia Baseada em Chaves CRIPTOGRAFIA Texto Aberto (Plain. Text) Texto Fechado (Ciphertext) DESCRIPTOGRAFIA 2004,

Criptografia Baseada em Chaves CRIPTOGRAFIA Texto Aberto (Plain. Text) Texto Fechado (Ciphertext) DESCRIPTOGRAFIA 2004, Edgard Jamhour

Criptografia por Chaves • Princípio: O resultado da criptografia depende de um parâmetro de

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 ABCDEFGHIJKLMNOPQRSTUVWXYZABC Nada de novo no front. N=3 Qdgd gh qryr qr iurqw. N=4 Rehe hi rszs rs jvstx. 2004, Edgard Jamhour

Espaço das Chaves (Key. Space) • Uma chave é um valor específico do espaço

Espaço das Chaves (Key. Space) • 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 2 tamanho_chave – Assimétricos: KS << 2 tamanho_chave 2004, Edgard Jamhour

Segurança = Tamanho do Espaço de Chaves • Exemplo: Algoritmo Simétrico – chaves de

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 2004, Edgard Jamhour

Criptografia Simétrica e Assimétrica • Dois sistemas de criptografia são usados atualmente: – Criptografia

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 2004, Edgard Jamhour

Chave Secreta (Criptografia Simétrica) Algoritmo de Descriptografia Algoritmo de Criptografia Texto Simples (plaintext) Texto

Chave Secreta (Criptografia Simétrica) Algoritmo de Descriptografia Algoritmo de Criptografia Texto Simples (plaintext) Texto Codificado (ciphertext) Chave Secreta = Texto Simples (plaintext) Chave Secreta 2004, Edgard Jamhour

DES – Data Encryption Standard • Um dos algoritmo de chave secreta mais difundido

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. 2004, Edgard Jamhour

Modos de Operação • O DES possui vários modos de operação, dependendo da maneira

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 2004, Edgard Jamhour

MODO ECB • O Modo ECB divide a mensagem em blocos de 64 bits,

MODO ECB • O Modo ECB divide a mensagem em blocos de 64 bits, e criptografa cada bloco de maneira independente. DADOS BLOCO 64 bits CRIPTOGRAFIA BLOCO 64 bits (cipher text) 2004, Edgard Jamhour

MODO CBC • O Metodo CBC torna a criptografia de um bloco dependente do

MODO CBC • O Metodo CBC torna a criptografia de um bloco dependente do bloco anterior. DADOS BLOCO 64 bits CRIPTOGRAFIA BLOCO 64 bits (cipher text) BLOCO 64 bits XOR CRIPTOGRAFIA BLOCO 64 bits (cipher text) 2004, Edgard Jamhour

Chave Pública = CRIPTOGRAFIA ASSIMÉTRICA • Sistema de Criptografia Assimétrico – Utiliza um par

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. 2004, Edgard Jamhour

Chave Pública (Criptografia Assimétrica) Algoritmo de Criptografia Texto Simples (plaintext) Algoritmo de Decriptografia Texto

Chave Pública (Criptografia Assimétrica) Algoritmo de Criptografia Texto Simples (plaintext) Algoritmo de Decriptografia Texto Codificado (ciphertext) Chave Pública Texto Simples (plaintext) Chave Privada 2004, Edgard Jamhour

Chave Pública e Chave Secreta Receptor (servidor) Transmissor (cliente) 2 COMUNICAÇÃO Chave pública SEGURA

Chave Pública e Chave Secreta Receptor (servidor) Transmissor (cliente) 2 COMUNICAÇÃO Chave pública SEGURA (chave secreta aleatória) 1 Chave privada 4 (chave secreta aleatória) 3 2004, Edgard Jamhour

RSA (Rivest, Shamir, Adleman) • Sejam p, q e e números primos (> 512

RSA (Rivest, Shamir, Adleman) • Sejam p, q e 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 2004, Edgard Jamhour

RSA • O algoritmo RSA é muito mais lento que o DES, pois os

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 <<< 2 tamanho_chave • As chaves em RSA são em geral da ordem de 1024 bits. 2004, Edgard Jamhour

Assinatura Digital com Chave Pública Mensagem Algoritmo de assinatura digital Assinatura digital isto é

Assinatura Digital com Chave Pública Mensagem Algoritmo de assinatura digital Assinatura digital isto é segredo Chave privada • 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. 2004, Edgard Jamhour

Implementação da Assinatura Digital ABFC 01 FE 012 A 0 2 C 897 C

Implementação da Assinatura Digital ABFC 01 FE 012 A 0 2 C 897 C D 012 DF 41 Algoritmo de Hashing DIGEST Algoritmo de Cripografia ASSINATURA DIGITAL F 18901 B Mensagem com Assinatura Digital MENSAGEM aberta ASSINATURA criptografada 2004, Edgard Jamhour

Geração e Validação das Assinaturas RECEPTOR TRANSMISSOR xxxx yyyy zzzz Algoritmo de Hashing DIGEST

Geração e Validação das Assinaturas RECEPTOR TRANSMISSOR xxxx yyyy zzzz Algoritmo de Hashing DIGEST 1 B 2 A 37. . . Rede Assinatura Digital Criptografia com chave privada DIGEST Algoritmo de Hashing COMPARAÇÃO Assinatura Digital DIGEST Decriptografia com chave pública 2004, Edgard Jamhour

Verificação da Integridade da Mensagem Transmissor (A) Receptor (B) MENSAGEM CHAVE PRIVADA DE A

Verificação da Integridade da Mensagem Transmissor (A) Receptor (B) MENSAGEM CHAVE PRIVADA DE A ASSINATURA DIGITAL CHAVE PÚBLICA DE A O receptor precisa ter a chave pública do transmissor para verificar a assinatura. 2004, Edgard Jamhour

Autoridade Certificadora (Verisign, Certisign, Etc. ) C. A. (Certification Authority) CHAVE PRIVADA Certificado X

Autoridade Certificadora (Verisign, Certisign, Etc. ) C. A. (Certification Authority) CHAVE PRIVADA Certificado X 509 I. D. do Proprietário I. D. da CA Assinatura Digital Chave pública (e. g. , Banco do Brasil) www. bancodobrasil. com. br www. verisign. com Banco do Brasil S. A. Inc. Verisign, Brasilia, DF, Brasil 2004, Edgard Jamhour

Estratégias de Certificação VERISIGN: www. verisign. com I. D. do Proprietário Off-line I. D.

Estratégias de Certificação VERISIGN: www. verisign. com I. D. do Proprietário Off-line I. D. da Autoridade Certificadora Assinatura Eletrônica On-line www. bancodobrasil. com. br Base de chaves • O software que recebe o certificado (por exemplo, o browser) deve possuir a chave pública da autoridade certificadora. 2004, Edgard Jamhour

PKI (Public Key Infrastructure) • O termo PKI (Infraestrutura de chave pública) é utilizado

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. certificados EMPRESA A CA (Autoridade Certificadora) certificados EMPRESA B 2004, Edgard Jamhour

Como a criptografia pode ser implementada? Aplicações Protolco de Aplicação FTP, SMTP, HTTP, Telnet,

Como a criptografia pode ser implementada? Aplicações Protolco de Aplicação FTP, SMTP, HTTP, Telnet, SNM, etc. Seqüência de empacotamento aplicação TCP, UDP transporte rede IP Tecnologia heterogênea Data Link Ethernet, Token Ring, FDDI, etc Física enlace física 2004, Edgard Jamhour

SSL • SSL: Secure Sockets Layer HTTP POP TELNET HTTPs POPs TELNETs 80 110

SSL • SSL: Secure Sockets Layer HTTP POP TELNET HTTPs POPs TELNETs 80 110 23 443 995 992 Sockets SSL TCP/IP 2004, Edgard Jamhour

Exemplo: HTTPS HTTP SOCKS >1023 80 SOCKS SERVIDOR CLIENTE HTTPS SSL >1023 443 SSL

Exemplo: HTTPS HTTP SOCKS >1023 80 SOCKS SERVIDOR CLIENTE HTTPS SSL >1023 443 SSL X Recurso Protegido Recurso Não Protegido 2004, Edgard Jamhour

SSL e TLS • SSL: Secure Socket Layer – Definido pela Netscape – Versão

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. 2004, Edgard Jamhour

TLS • O TLS define dois sub-protocolos: – TLS Record Protocol • Utilizado para

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. 2004, Edgard Jamhour

SSL/TLS 2004, Edgard Jamhour

SSL/TLS 2004, Edgard Jamhour

SSL Record Protocol 2004, Edgard Jamhour

SSL Record Protocol 2004, Edgard Jamhour

TLS • Os objetivos do TLS são: – Segurança criptográfica entre dois pontos. –

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. 2004, Edgard Jamhour

Secure Socket Layer (SSL) e Transport Layer Security (TLS) • O SSL/TLS permite executar

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óri SSL/TLS O cliente se autentica para o servidor (opctiona 2004, Edgard Jamhour

Autenticação do Servidor • SSL/TLS permite ao usuário confirmar a identidade do servidor. SSL

Autenticação do Servidor • SSL/TLS permite ao usuário confirmar a identidade do servidor. SSL Chave pública do servidor Identificação do Servidor Identificação do CA Assinatura Digital de uma CA 2004, Edgard Jamhour

Certificados de Servidor 2004, Edgard Jamhour

Certificados de Servidor 2004, Edgard Jamhour

Autenticação do Cliente • SSL permite ao servidor identificar a identidade do cliente. SSL

Autenticação do Cliente • SSL permite ao servidor identificar a identidade do cliente. SSL Chave pública do Cliente Identificação do CA Assinatura Digital de uma CA 2004, Edgard Jamhour

Certificados de Cliente 2004, Edgard Jamhour

Certificados de Cliente 2004, Edgard Jamhour

Criptografia da Comunicação • Após a certificação, o SSL/TLS cria uma chave de sessão

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). (chave secreta aleatória) info 2004, Edgard Jamhour

TLS Handshake 2004, Edgard Jamhour

TLS Handshake 2004, Edgard Jamhour

Algoritmos Padronizados para SSL/TLS • Strongest cipher suite. – Triple DES (168 -bit encryption

Algoritmos Padronizados para SSL/TLS • Strongest cipher suite. – Triple DES (168 -bit encryption com autenticação) • Strong cipher suites – RC 4, criptografia de 128 -bits (utiliza o MD 5 para autenticação) • é o mais rápido da categoria – RC 2, criptografia de 128 -bits (utiliza o MD 5 para autenticação) – DES, que suporta criptografia de 56 -bits (utiliza o SHA-1 para autenticação). 2004, Edgard Jamhour

Conclusão • Algoritmos modernos são baseados no conceito de chaves. • Algoritmos assimétricos sã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. 2004, Edgard Jamhour