Usuário(a):Matheusxds123/TLS

Origem: Wikipédia, a enciclopédia livre.

O Transport Layer Security (TLS),[nota 1] assim como o seu antecessor Secure Sockets Layer (SSL),[nota 2][1] é um protocolo de segurança projetado para fornecer segurança nas comunicações sobre uma rede de computadores.[2] Várias versões do protocolo encontram amplo uso em aplicativos como navegação na web, email, mensagens instantâneas e voz sobre IP (VoIP). Os sites podem usar o TLS para proteger todas as comunicações entre seus servidores e navegadores web.

O protocolo TLS visa principalmente fornecer privacidade e integridade de dados entre dois ou mais aplicativos de computador que se comunicam.[2]:3 Quando protegidos por TLS, conexões entre um cliente (por exemplo, um navegador da Web) e um servidor (por exemplo, wikipedia.org) devem ter uma ou mais das seguintes propriedades:

  • A conexão é privada (ou segura) porque a criptografia simétrica é usada para criptografar os dados transmitidos. As chaves para essa criptografia simétrica são geradas exclusivamente para cada conexão e são baseadas em um segredo compartilhado que foi negociado no início da sessão (veja § Handshake TLS). O servidor e o cliente negociam os detalhes de qual algoritmo de criptografia e chaves criptográficas usar antes que o primeiro byte de dados seja transmitido (ver § Algoritmo abaixo). A negociação de um segredo compartilhado é segura (o segredo negociado não está disponível para bisbilhoteiros e não pode ser obtido, mesmo por um invasor que se coloque no meio da conexão) e confiável (nenhum invasor pode modificar as comunicações durante a negociação sem ser detectado).
  • A identidade das partes em comunicação pode ser autenticada usando criptografia de chave pública. Essa autenticação pode ser opcional, mas geralmente é necessária para pelo menos uma das partes (geralmente o servidor).
  • A conexão é confiável porque cada mensagem transmitida inclui uma verificação de integridade de mensagem usando um código de autenticação de mensagem para evitar perda não detectada ou alteração dos dados durante a transmissão.[2]:3

Além das propriedades acima, a configuração cuidadosa do TLS pode fornecer propriedades adicionais relacionadas à privacidade, como sigilo de encaminhamento, garantindo que qualquer divulgação futura de chaves de criptografia não possa ser usada para descriptografar as comunicações TLS registradas no passado.[3]

O TLS suporta muitos métodos diferentes para trocar chaves, criptografar dados e autenticar a integridade da mensagem (consulte § Algoritmo abaixo). Como resultado, a configuração segura do TLS envolve muitos parâmetros configuráveis ​​e nem todas as opções fornecem todas as propriedades relacionadas à privacidade descritas na lista acima (consulte § Troca de chave (autenticação), § Segurança de codificação e § Tabelas de integridade de dados).

Tentativas foram feitas para subverter aspectos da segurança das comunicações que o TLS procura fornecer, e o protocolo foi revisado várias vezes para lidar com essas ameaças de segurança (ver § Segurança). Os desenvolvedores de navegadores da Web também revisaram seus produtos para se defenderem de potenciais pontos fracos de segurança depois que eles foram descobertos (veja o histórico de suporte a TLS / SSL dos navegadores da Web).[4]

O protocolo TLS compreende duas camadas: o registro TLS e os protocolos de handshake TLS.

O TLS é um padrão proposto pela IETF (Internet Engineering Task Force), definido pela primeira vez em 1999, e a versão atual é o TLS 1.3 definido no RFC 8446 (agosto de 2018). O TLS baseia-se nas especificações SSL anteriores (1994, 1995, 1996) desenvolvidas pela Netscape Communications[5] para adicionar o protocolo HTTPS ao navegador da Web Navigator.

Descrição[editar | editar código-fonte]

O protocolo SSL provê a privacidade e a integridade de dados entre duas aplicações que comuniquem pela internet. Isso ocorre por intermédio da autenticação das partes envolvidas e da cifragem dos dados transmitidos entre as partes. Ainda, esse protocolo ajuda a prevenir que intermediários entre as duas extremidades das comunicações obtenham acesso indevido ou falsifiquem os dados que estão sendo transmitidos.

Protocolo TLS

Funcionamento[editar | editar código-fonte]

O servidor do site que está sendo acessado envia uma chave pública ao browser, usada por este para enviar uma chave secreta simetrica, criada aleatoriamente. Desta forma, fica estabelecida a troca de dados criptografados entre dois computadores.

Baseia-se no protocolo TCP da suíte TCP/IP e utiliza-se do conceito introduzido por Diffie-Hellman nos anos 70 (criptografia de chave pública) e Phil Zimmermann (criador do conceito PGP).

História e desenvolvimento[editar | editar código-fonte]

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, dentre outras, aprovaram o SSL para comércio eletrônico seguro na Internet.

O SSL opera de forma modular, possui design extensível e apresenta compatibilidade entre pares com versões diferentes do mesmo.

O SSL executa a autenticação das 2 partes envolvidas nas comunicações (cliente e servidor) baseando-se em certificados digitais.

TLS 1.3[editar | editar código-fonte]

O TLS 1.3 foi definido no RFC 8446[6] em agosto de 2018. Foi baseado nas especificações de seu precursor, o TLS 1.2. As principais diferenças para o TLS 1.2 incluem[7]:

  • Separação entre troca de chaves e algoritmos de autenticação dos conjuntos de criptografia
  • Remoção do suporte de curvas elípticas fracas e pouco utilizadas
  • Remoção do suporte para as funções hash criptográficas MD5 e SHA-224
  • Requisição de assinaturas digitais mesmo com o uso de uma configuração anterior
  • Integração de HKDF e da semi-efêmera proposta DH
  • Substituição da retomada com PSK e tickets
  • Suporte a apresentação 1-RTT e suporte inicial a 0-RTT
  • Obrigatoriedade no uso de Perfect Foward Secrecy através do uso de chaves efêmeras durante a troca de chaves (EC)DH
  • Abandono do suporte a várias características inseguras ou obsoletas incluindo compressão de dados, renegociação, criptografias não AEAD, trocas de chave não PFS (dentre elas estão os RSA estático e DH estático), grupos DHE customizados, negociação EC em formato de ponto, protocolo Change Cipher Spec, mensagens de boas vindas UNIX time e o comprimento do campo de entrada AD para criptografias AEAD
  • Proibição de negociações SSL ou RC4 em compatibilidade com versões anteriores
  • Integração do uso de hash da sessão
  • Tornou obsoleto o uso do número da versão da camada de gravação e o "congelamento" do número para compatibilidade aprimorada com versões anteriores
  • Mudança de alguns detalhes relacionados a segurança de um apêndice para especificação e rebaixando ClientKeyShare para um apêndice
  • Adição da cifra de fluxo ChaCha20 com o código de autenticação de mensagem Poly1305
  • Adição dos algoritmos de assinatura digital Ed25519 e Ed448
  • Adição dos protocolos de trocas de chave x25519 e x448
  • Adição do suporte ao envio de múltiplas respostas OCSP
  • Encriptação de todas as mensagens de apresentação após o ServerHello

Network Security Services (NSS), a biblioteca de criptografia desenvolvida pela Mozilla e utilizada em seu navegador Firefox, habilitou o TLS 1.3 como padrão em fevereiro de 2017.[8] Seu suporte foi subsequencialmente adicionado — mas devido a problemas de compatibilidade de um pequeno número de usuários, não habilitado automaticamente[9] — no Firefox 52.0[10], lançado em março de 2017. TLS foi habilitado por padrão em maio de 2018 com o lançamento do Firefox 60.0.[11]

O Google Chrome definiu a TLS 1.3 por padrão por um curto período de tempo em 2017. Foi removido como padrão devido a dispositivos de redes incompatíveis, tais como os web proxies da Blue Coat.

Durante a IETF 100 Hackathon em Singapura, o TLS Group trabalhou em adaptações de aplicações de código aberto para usarem TLS 1.3. O grupo era composto por pessoas do Japão, Reino Unido e daMaurícia através do time cyberstorm.mu. Esse trabalho foi continuado na IETF 101 Hackathon em Londres e na IETF 102 Hackathon em Montreal.

wolfSSL habilitou o uso de TLS 1.3 na versão 3.11.1, lançada em maio de 2017.[12] Como a primeira implementação comercial de TLS 1.3, wolfSSL 3.11.1 suportava Draft 18 e agora suporta Draft 28,[13] a versão final, bem como muitas versões mais antigas. Uma série de blogs publicaram a diferença de performance entre o TLS 1.2 e o 1.3.[14]

Em setembro de 2018, o popular projeto OpenSSL lançou a versão 1.1.1 de sua biblioteca, onde o suporte ao TLS 1.3 foi "O principal novo recurso". [15]

Notas

  1. Em português: Segurança da Camada de Transporte.
  2. Em português: Protocolo de Camada Segura de Soquetes.

Ver também[editar | editar código-fonte]

Referências

  1. R. Barnes; M. Thomson; A. Pironti; A. Langley (Junho de 2015). «Deprecating Secure Sockets Layer Version 3.0». Cópia arquivada em 28 de março de 2018 
  2. a b c T. Dierks; E. Rescorla (Agosto de 2008). «The Transport Layer Security (TLS) Protocol, Version 1.2». Cópia arquivada em 21 de dezembro de 2017 
  3. SSL: Intercepted today, decrypted tomorrow Arquivado em 2013-09-21 no Wayback Machine, Netcraft, 25-06-2013.
  4. Erro de citação: Etiqueta <ref> inválida; não foi fornecido texto para as refs de nome :0
  5. A. Freier; P. Karlton; P. Kocher (agosto de 2011). «The Secure Sockets Layer (SSL) Protocol Version 3.0». Cópia arquivada em 15 de janeiro de 2012 
  6. Rescorla <ekr@rtfm.com>, Eric. «The Transport Layer Security (TLS) Protocol Version 1.3». tools.ietf.org (em inglês). Consultado em 8 de novembro de 2020 
  7. «Differences between TLS 1.2 and TLS 1.3 (#TLS13) - wolfSSL» (em inglês). 18 de setembro de 2019. Consultado em 8 de novembro de 2020 
  8. «NSS 3.29 release notes». MDN Web Docs (em inglês). Consultado em 8 de novembro de 2020 
  9. «1310516 - Enable TLS 1.3 by default». bugzilla.mozilla.org (em inglês). Consultado em 8 de novembro de 2020 
  10. «Firefox 52.0, See All New Features, Updates and Fixes». Mozilla (em inglês). Consultado em 8 de novembro de 2020 
  11. «Firefox 60.0, See All New Features, Updates and Fixes». Mozilla (em inglês). Consultado em 8 de novembro de 2020 
  12. «wolfSSL TLS 1.3 BETA Release Now Available - wolfSSL» (em inglês). 11 de maio de 2017. Consultado em 8 de novembro de 2020 
  13. «TLS 1.3 Protocol Support | wolfSSL Embedded SSL/TLS Library» (em inglês). Consultado em 8 de novembro de 2020 
  14. «TLS 1.3 Draft 28 Support in wolfSSL (#TLS13) - wolfSSL» (em inglês). 14 de junho de 2018. Consultado em 8 de novembro de 2020 
  15. «OpenSSL 1.1.1 Is Released - OpenSSL Blog». www.openssl.org. Consultado em 8 de novembro de 2020 

Ligações externas[editar | editar código-fonte]

Categoria:Protocolos de criptografia Categoria:Normas da internet Categoria:Protocolos de camada de aplicação Categoria:Protocolos Internet Categoria:Segurança da informação Categoria:Comércio eletrónico