Usuário(a):Matheusxds123/TLS
Esta é uma página de testes de Matheusxds123, uma subpágina da principal. Serve como um local de testes e espaço de desenvolvimento, desta feita não é um artigo enciclopédico. Para uma página de testes sua, crie uma aqui. Como editar: Tutorial • Guia de edição • Livro de estilo • Referência rápida Como criar uma página: Guia passo a passo • Como criar • Verificabilidade • Critérios de notoriedade |
Pilha de protocolos TCP/IP |
---|
Camada de aplicação |
Camada de transporte |
Camada de rede |
Camada de enlace de dados |
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.
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
Ver também[editar | editar código-fonte]
Referências
- ↑ 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
- ↑ 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
- ↑ SSL: Intercepted today, decrypted tomorrow Arquivado em 2013-09-21 no Wayback Machine, Netcraft, 25-06-2013.
- ↑ Erro de citação: Etiqueta
<ref>
inválida; não foi fornecido texto para as refs de nome:0
- ↑ 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
- ↑ 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
- ↑ «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
- ↑ «NSS 3.29 release notes». MDN Web Docs (em inglês). Consultado em 8 de novembro de 2020
- ↑ «1310516 - Enable TLS 1.3 by default». bugzilla.mozilla.org (em inglês). Consultado em 8 de novembro de 2020
- ↑ «Firefox 52.0, See All New Features, Updates and Fixes». Mozilla (em inglês). Consultado em 8 de novembro de 2020
- ↑ «Firefox 60.0, See All New Features, Updates and Fixes». Mozilla (em inglês). Consultado em 8 de novembro de 2020
- ↑ «wolfSSL TLS 1.3 BETA Release Now Available - wolfSSL» (em inglês). 11 de maio de 2017. Consultado em 8 de novembro de 2020
- ↑ «TLS 1.3 Protocol Support | wolfSSL Embedded SSL/TLS Library» (em inglês). Consultado em 8 de novembro de 2020
- ↑ «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
- ↑ «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]
- The TLS Protocol, Version 1.0 (em inglês). RFC 2246 (descrição do protocolo TLS 1.0). Visitado em 15 de outubro de 2014.
- TLS The Transport Layer Security (TLS) Protocol Version 1.2(RFC)
- The Transport Layer Security (TLS) Protocol Version 1.1(RFC)
- Especificação Original
- Biblioteca aberta que implementa SSL
- Transport Layer Security (TLS) e Secure Sockets Layer (SSL)
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