Secure Sockets Layer (SSL) e Transport Layer Security (TLS)

download Secure Sockets Layer (SSL) e Transport Layer Security (TLS)

If you can't read please download the document

description

Secure Sockets Layer (SSL) e Transport Layer Security (TLS). Leonardo Bentes Arnt. Definições. Leonardo Bentes Arnt. Criptografia. É a ciência que manipula os dados de forma a proteger a informação que eles transmitem. Criptografia com Chave Simétrica. Cifra de Thomas Jefferson. - PowerPoint PPT Presentation

Transcript of Secure Sockets Layer (SSL) e Transport Layer Security (TLS)

Secure Sockets Layer (SSL) e Transport Layer Security (TLS)

Secure Sockets Layer (SSL) e Transport Layer Security (TLS)Leonardo Bentes ArntSecure Sockets Layer e Transport Layer Security1

1DefiniesLeonardo Bentes ArntSecure Sockets Layer e Transport Layer Security2

2CriptografiaSecure Sockets Layer e Transport Layer Security - Leonardo Bentes Arnt3 a cincia que manipula os dados de forma a proteger a informao que eles transmitem.

Criptografia com Chave Simtrica4

Cifra de Thomas JeffersonSecure Sockets Layer e Transport Layer Security - Leonardo Bentes Arnt

Criptografia com Chave Assimtrica5

Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntAssinatura digital (chaves assimtricas)6Joo aplica sua chave privada e a funo de decriptao na mensagem.Joo encripta a mensagem usando a chave pblica de Maria e envia a mensagem.Maria decripta a mensagem usando sua chave privada.Maria encripta a mensagem com a chave pblica de Joo e, com isso, espera ter o contedo original novamente.Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntIntroduo e HistricoLeonardo Bentes ArntSecure Sockets Layer e Transport Layer Security7

7Introduo e Histrico8Demanda por segurana na RedeWebProtocolos de troca de mensagem (e.g. Telnet)E-mail1994: Netscape cria SSLIETF cria TLSSecure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntSSLLeonardo Bentes ArntSecure Sockets Layer e Transport Layer Security9

9SSL e TLS10Protocolo para segurana mais usadoArquiteturaBenefciosConfidencialidadeAutenticidadeIntegridadeSecure Sockets Layer e Transport Layer Security - Leonardo Bentes Arnt

SSL TLS11TLS > SSLHashTLS usa Keyed-Hashing for Message Authentication Code (HMAC)SSL usa Message Authentication Code (MAC).Outras pequenas diferenas no cabealho e nas mensagens de alerta.Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntFUncionamentoLeonardo Bentes ArntSecure Sockets Layer e Transport Layer Security12

Implementaes

As principais Implementaes abertas do SSL so:OpenSSL;GnuTLS eSSLeay.12Protocolos13RecordEncapsulamento e desencapsulamentoEncriptao e compresso

HandshakeNegociao

Change Cipher SpecAnuncia a troca de tipo de criptografiaSecure Sockets Layer e Transport Layer Security - Leonardo Bentes Arnt

Protocolos14AlertaFatalRecebimento de uma mensagem inesperada (Unexpected_message)Hash no confere (Bad_record_mac)O tamanho da mensagem aps a descompresso excede o limite (Decompression_failure)Problema de segurana durante o handshake (Handshake_failure)Algum parmetro do handshake no confere (Illegal_parameter)AvisoInvalidez do certificado (por ter expirado, por ter sido revogado, ou por ser desconhecido, por exemplo) etc.Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntEstgios15HandshakeAutenticao do servidorAutenticao do clienteGerao das chaves secretas usando criptografia assimtrica para transmisso dessa chaveEstabelecimento de uma conexo segura via SSLSecure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntEstgios16Secure Sockets Layer e Transport Layer Security - Leonardo Bentes Arnt

Handshake 1. O cliente envia para o servidor a verso do protocolo SSL e configuraes do algoritmo que ele usa, alguns dados gerados aleatoriamente, e outras informaes necessrias ao servidor para que a conexo SSL seja estabelecida.

2. O servidor responde com a verso do protocolo SSL e configuraes do algoritmo que ele usa, alguns dados gerados aleatoriamente, e outras informaes necessrias ao cliente para que a conexo SSL seja estabelecida. O servidor ento envia seu certificado, autenticando-o, e, se for o caso, pede o certificado do cliente.

3. O cliente, a partir das informaes recebidas, tenta autenticar o servidor; se for bem sucedido, segue para o passo seguinte, caso contrrio, envia uma mensagem de erro para o servidor e informa que a conexo no pde ser criada.

4. Usando os dados trocados at agora, o cliente, possivelmente com a colaborao do servidor, cria um segredo temporrio (premaster secret), a encripta com a chave pblica obtida do certificado do servidor, e a envia.

5. Se a autenticao do cliente tambm foi requisitada, este envia seu certificado junto a outros dados extras, encriptando esse contedo com a chave secreta temporria gerada no passo 4.

6. Continuando o passo 5, no caso de a autenticao do cliente ter sido requisitada pelo servidor, este tentar validar aquele, de modo anlogo autenticao do servidor. Se a operao for bem sucedida, o servidor usa sua chave privada para decriptar o segredo temporrio (premaster secret), e depois segue uma srie de passos que so igualmente seguidos pelo cliente para gerar o segredo a ser usado (master secret).

7. Tanto o cliente, quanto o servidor usam o segredo citado para gerar as chaves simtricas a serem usadas na sesso. Com essas chaves, os dois participantes encriptaro e decriptaro as informaes transmitidas durante a sesso SSL.

8. O cliente, ento, envia uma mensagem ao servidor informando que as novas mensagens sero encriptadas com a chave secreta. Depois, ele envia uma mensagem indicando o fim de sua parte do handshake.

9. Anlogo ao passo 8, sob o ponto de vista do servidor.

10. O handshake foi finalizado e o cliente e o servidor trocam mensagens usando a chave simtrica para garantir a segurana.16Estgios17Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntTransmissoProtocolo da camada de aplicao (mensagem)Record Protocol (mensagem encriptada)TCP (transmisso)17Principais Implementaes18Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntOpenSSLGnuTLSSSLeay18Consideraes FinaisLeonardo Bentes ArntSecure Sockets Layer e Transport Layer Security19

19Concluso20Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntSegurana*Bancos webComrcio eletrnico...FlexibilidadeVantagens da chave simtrica + vantagens da chave assimtricaAmpla aceitao* (teoricamente)20Perguntas e RespostasLeonardo Bentes ArntSecure Sockets Layer e Transport Layer Security21

21Perguntas22Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntO que SSL?Um conjunto de protocolos que utilizam algoritmos de hash, encriptao e de criao de chaves para garantir uma srie de seguranas.SSL usa criptografia simtrica ou assimtrica?Os dois. A criptografia assimtrica usada para negociar a chave secreta da criptografia simtrica. Essa chave secreta a que ser usada no decorrer da conexo.Qual protocolo responsvel pela encriptao: SSL, TLS, SSL Record Protocol, SSL Algorithm Spec Change Protocol ou TCP?SSL Record Protocol.22Perguntas23Secure Sockets Layer e Transport Layer Security - Leonardo Bentes ArntO que SSL prov?Autenticidade, Privacidade e Integridade.Cite um motivo pelo qual o protocolo de alertas geraria um alerta fatal.Recebimento de uma mensagem inesperada (Unexpected_message);Hash no confere (Bad_record_mac);O tamanho da mensagem aps a descompresso excede o limite (Decompression_failure);Problema de segurana durante o handshake (Handshake_failure);Algum parmetro do handshake no confere (Illegal_parameter).23