protocolo https

19
PROTOCOLO HTTPS HYPERTEXT TRANSFER PROTOCOL SECURE

Upload: aiko-cummings

Post on 03-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

PROTOCOLO HTTPS. HYPERTEXT TRANSFER PROTOCOL SECURE. HTTPS – O que é?. Https é um protocolo que trabalha numa subcamada do http. Tem requisitos de funcionalidade Criptografia Continua em Evolução / Transformação / Desenvolvimento. Https. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PROTOCOLO HTTPS

PROTOCOLO HTTPS

HYPERTEXT TRANSFER PROTOCOL SECURE

Page 2: PROTOCOLO HTTPS

HTTPS – O que é?

• Https é um protocolo que trabalha numa subcamada do http.

• Tem requisitos de funcionalidade• Criptografia• Continua em Evolução / Transformação /

Desenvolvimento

Page 3: PROTOCOLO HTTPS

Https

• Quais as vantagens do HTTPS em comparação com o HTTP?

Segurança

Confidencialidade

Exemplo de uma comunicação segura Cliente - Servidor

A informação ao este encriptada não será de facil leitura ou lógica

Page 4: PROTOCOLO HTTPS

Como é estabelecida a Comunicação

Page 5: PROTOCOLO HTTPS

Como Sei se estou Seguro?

Podemos verificar se uma ligação é segura da seguinte forma

1 - Através da Nomenculatura

Sites / Portais com Acesso seguro utilizam nomenculatura https://

2- Verificação do Certificado

Page 6: PROTOCOLO HTTPS

Que Protocolos Utiliza HTTPS?

SSL Secure Socket Layer ( Camada de Sockets Segura )

TLS Transport Layer Security ( Segurança da Camada de Transporte )

Mas o HTTPS tem tambem que cumprimir certos requisitos entre cliente e Servidor

1- O usuário confia que o navegador implementa corretamente HTTPS com autoridades de certificação pré-instaladas adequadamente;

2 - O usuário confia que as autoridades verificadoras só irão confiar em páginas legítimas, que não possuem nomes enganosos;

3- A página acessada fornece um certificado válido, o que significa que ele foi assinado por uma autoridade de certificação confiável;

4 - O certificado identifica corretamente a página (por exemplo, quando o navegador acessa "https://exemplo.com", o certificado recebido é realmente de "Exemplo Inc." e não de alguma outra entidade).

5- Ou o tráfego na internet é confiável, ou o usuário crê que a camada de encriptação do protocolo TLS/SSL é suficientemente segura contra escutas ilegais (eavesdropping).

Page 7: PROTOCOLO HTTPS

HTTPS ( Chave de Encriptação )

Para Haver comunicação entre o cliente e o Servidor, é necessário Gerar uma Chave de Encriptação.

A mesma divide-se em duas Fases

1ª Fase

1º Computadores tem ambos que concordar com a encriptação

2º Cliente envia uma mensagem com Key RSA, Cipher e HAsh , Versão do certificado SSL e o Numero Aleatório.

3º Servidor retorna a mensagem ao cliente indicando ( Eu Escolha esta Chave, esta crifra e estes metodos de hash), o cliente diz isto é o que consigo fazer, ambos acordo em estabelecer conexão.

2ª Fase- Servidor envia o certificado para o cliente, no qual

consta a data de validade, com especificações de cifragem, então o cliente indica vamos como a encriptar para o servidor.

- Ambos os computador calculam um chave secreta Master, usada para encriptar as comunicações.

- Servidor indica vamos começar a encriptar, identifica novamente as definicoes de cifragem, e indica ok vamos começar.

Page 8: PROTOCOLO HTTPS

Exemplificação Gráfica

Page 9: PROTOCOLO HTTPS

Exemplificação Gráfica

Page 10: PROTOCOLO HTTPS

Exemplificação Gráfica

Page 11: PROTOCOLO HTTPS

Exemplificação Gráfica

Page 12: PROTOCOLO HTTPS

Exemplificação Gráfica

• Apartir deste momento as comunicações entre cliente e servidor estão segura

Page 13: PROTOCOLO HTTPS

Protocolo Criptográficos TLS

Https utiliza protocolo SSL ou TLS para criptografar a comunicação de dados.

O TLS / SSL utiliza esta camada para encapsular todas as mensagens do protocolo

Campo Tamanho Uso

Protocolo 1 byte

Indica qual protocolo da camada superior está contido na mensagem deste registro

Versao 2 bytes

O maior e menor número da especificação de versão SSL / TLS que essa mensagem obedece

Comprimento 2 bytesO Comprimento da mensagem do protocolo da camada superior

Mensagens dos Protocolos n bytes

Até 16384 bytes de mensagem da camada superior. Mais de uma mensagem podem estar contidas em um registro, desde que provenham do mesmo protocolo superior

Page 14: PROTOCOLO HTTPS

Protocolo Criptográficos TLS - Erros

Objectivo é sinalizar um erro ou uma situação não esperada na conexão. O protocolo de alerta define dois campos: um nível de segurança e uma descrição do alerta

Valor Nome Significado

0 CloseNotify

A parte emissora do alerta indica explicitamente que está fechando a conexão; Este alerta possui sempre nível de segurança de Warning

10 UnexpectedMessage

A parte emissora indica que recebeu uma mensagem não esperada. Alerta fatal.

20 BadRecordMAC

A parte emissora indica que recebeu uma mensagem para a qual o MAC falhou. Alerta Fatal.

30 DecompressionFailure

A parte emissora indica que recebeu dados que não pôde descomprimir. Alerta Fatal.

40 HandShakeFailure

A parte emissora indica que não foi capaz de negociar um conjunto de configurações necessárias para a conexão. Alerta Fatal.

41 NoCertificate

O cliente indica que não possui certificado para atender ao pedido de Certificaterequest emitido pelo servidor.

42 BadCertificateA parte emissora indica que recebeu um certificado corrompido.

43 UnsupportedCertificateA parte recebeu um certificado de tipo não suportado.

44 CertificateRevoked

A parte emissora recebeu um certificado revogado pela entidade que o certificou.

45 CertificateExpiredA parte emissora recebeu um certificado já expirado.

46 CertificateUnknown

A parte emissora recebeu um certificado com erros que não puderam ser identificados.

47 IllegalParameterA parte emissora indica que recebeu no handshake um parâmetro ilegal.

Page 15: PROTOCOLO HTTPS

Protocolo Criptográficos SSL

É um protocolo criptográfico que confere segurança de comunicação na Internet para serviços como email (SMTP), navegação por páginas (HTTP) e outros tipos de transferência de dados.

A primeira versão foi desenvolvida pela Netscape em 1994. O SSL versão 3.0 foi lançado em 1996, e serviu posteriormente de base para o desenvolvimento do TLS versão 1.0, um protocolo padronizado da IETF originalmente definido pelo RFC 2246.

Grandes instituições financeiras como Visa, MasterCard, American Express, entreoutras, aprovaram o SSL para comércio eletrônico seguro na Internet.

Page 16: PROTOCOLO HTTPS

Protocolo Criptográficos SSL – Algoritmos

DES - Data Encryption Standard, é um algoritmo de criptografia usado pelo governo americano.

DSA - Digital Signature Algorithm, parte do padrão de autentificação digital usado pelo governo americano.

KEA - Key Exchange Algorithm, um algoritmo usado para a troca de chaves pelo governo americano.

MD5 - Message Digest Algorithm, algoritmo de criptografia digest.

RC2 e RC4 - Rivest Encryption Ciphers, desenvolvido pela RSA Data Security.

RSA - Algoritmo de chave pública para criptografia e autentificação. RSA Key Exchange - Algoritmo para troca de chaves usado em SSL baseado no algoritmo RSA. SHA-1 - Secure Hash Algorithm, função hash usada pelo governo americano. SKIPJACK - Algoritmo de chave simétrica implementado no hardware Fortezza. Triple-DES - é o DES aplicado três vezes

Page 17: PROTOCOLO HTTPS

Historia e Evolução SSL / TLS

1)SSL 1.0, 2.0 and 3.0The SSL protocolo desenvolvido pela Netscape.[6] Versao 1.0 nunca foi disponibilizado a versao 2.0 foi disponibilizada em Fevereiro 1995 but "contained a number of security flaws which ultimately led to the design of SSL version 3.0." SSL versiao3.0, disponibilizada em 1996.

Novas versoes de SSL/TLS foram basedas no SSL 3.0. O esquisso do SSL 3.0 foi publicado em 1996 pela IETF com documento historico no RFC 6101.

2) TLS 1.0TLS 1.0 definido no RFC 2246 em Janueiro de 1999 como sendo upgrade of SSL Version 3.0. “As stated in the RFC, "the differences between this protocol and SSL 3.0 are not dramatic, but they are significant to preclude interoperability between TLS 1.0 and SSL 3.0. " TLS 1.0 does include a means by which a TLS implementation can downgrade the connection to SSL 3.0, thus weakening security.”3) TLS 1.1 definido no RFC 4346 em Abril 2006. É um update do TLS versão 1.0. Diferenças significativas que incluem:• Added protection against Cipher block chaining (CBC) attacks. The implicit Initialization Vector (IV) was replaced with an explicit IV. Change in handling of padding errors.• Support for IANA registration of parameters.

Page 18: PROTOCOLO HTTPS

Historia e Evolução SSL / TLS

4) TLS 1.2TLS 1.2 defenido RFC 5246 em Agosto 2008. Baseado nas especificações TLS 1.1 As Maiores diferenças incluem• The MD5-SHA-1 combination in the pseudorandom function (PRF) was replaced with SHA-256, with an option to use cipher-suite specified PRFs.• The MD5-SHA-1 combination in the Finished message hash was replaced with SHA-256, with an option to use cipher-suite specific hash algorithms. However the size of the hash in the finished message is still truncated to 96-bits.• The MD5-SHA-1 combination in the digitally signed element was replaced with a single hash negotiated during handshake, defaults to SHA-1.• Enhancement in the client's and server's ability to specify which hash and signature algorithms they will accept.• Expansion of support for authenticated encryption ciphers, used mainly for Galois/Counter Mode (GCM) and CCM mode of Advanced Encryption Standard encryption.• TLS Extensions definition and Advanced Encryption Standard CipherSuites were added.TLS 1.2 defenido posteriormente no RFC 6176 em March 2011 removendo a compatibilidade com SSL tais como sessões TLS nunca negoceiam o uso de sockets do SSL versão 2.0.

Page 19: PROTOCOLO HTTPS

Https com Futuro?

Empresas como o Google apostam em aplicações que utilizam https.

Erros mais frequentes com SSL