Movatterモバイル変換


[0]ホーム

URL:


Ir para o conteúdo
Wikipédia
Busca

Transport Layer Security

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado deTLS)
Esta página cita fontes, mas não cobrem todo o conteúdo
Esta páginacita fontes, mas quenão cobrem todo o conteúdo. Ajude ainserir referências (Encontre fontes:Google (N • L • A • I • WP refs)  • ABW  • CAPES).(dezembro de 2010)
Protocolos criptográficos para proteção de dados em trânsito
Pilha de protocolos TCP/IP
Camada de aplicação
Camada de transporte
Camada de rede
Camada de enlace de dados

OTransport Layer Security (TLS),[nota 1] assim como o seu antecessorSecure Sockets Layer (SSL),[nota 2][1] é umprotocolo de segurança projetado para fornecersegurança nas comunicações sobre umarede de computadores.[2] Várias versões do protocolo encontram amplo uso em aplicativos comonavegação na web,email,mensagens instantâneas evoz sobre IP (VoIP). Os sites podem usar o TLS para proteger todas as comunicações entre seus servidores enavegadores web.

O protocolo TLS visa principalmente fornecerprivacidade eintegridade de dados entre dois ou mais aplicativos de computador que se comunicam.[2] 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 (ousegura) porque acriptografia simétrica é usada paracriptografar os dados transmitidos. Aschaves para essa criptografia simétrica são geradas exclusivamente para cada conexão e são baseadas em umsegredo compartilhado que foi negociado no início dasessã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]

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).[2]

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 noRFC 8446 (agosto de 2018). O TLS baseia-se nas especificações SSL anteriores (1994, 1995, 1996) desenvolvidas pela Netscape Communications[4] para adicionar o protocolo HTTPS ao navegador da Web.

Descrição

[editar |editar código]

Aplicaçõescliente-servidor fazem uso doprotocolo TLS para se comunicar através de uma rede de forma a prevenir a interceptação e adulteração da informação.

Uma vez que aplicações podem se comunicar tanto através de TLS (ou SSL) como sem ele, é necessário que ocliente sinalize aoservidor para a configuração de uma conexão TLS.[5] Uma das maneiras de se obter isso é utilizar números deporta diferentes, por exemplo a porta 443 paraHTTPS. Outro mecanismo é uma requisição específica por parte do cliente ao servidor para uma transição para a conexão TLS; por exemplo, ao fazer uma requisição STARTTLS ao utilizar protocolos de email.

Uma vez que o cliente e o servidor concordaram quanto ao uso do TLS, eles negociam uma conexão deestado por meio de um procedimento dehandshake.[6] Os protocolos utilizam um handshake com umachave pública para estabelecer as configurações de criptografia e uma chave de sessão única compartilhada através da qual toda a comunicação é criptografada utilizando umachave simétrica. Durante esse handshake, o cliente e o servidor concordam a respeito dos vários parâmetros necessários para estabelecer a segurança da conexão:

  • O handshake é iniciado quando o cliente se conecta a um servidor habilitado para TLS requisitando uma conexão segura e apresentando uma lista de algoritmos suportados (cifras efunções hash).
  • A partir dessa lista, o servidor seleciona uma cifra e uma função hash para as quais também tenha suporte e notifica ao cliente a decisão.
  • O servidor então geralmente apresenta informações de identificação na forma de umcertificado digital. O certificado contém o nome do servidor, aautoridade de certificação (CA) que concedeu o certificado, e a chave pública do servidor.
  • O cliente confirma a validade do certificado antes de continuar.
  • Para gerar as chaves de sessão utilizadas na conexão segura, o cliente:
    • criptografa umnúmero aleatório com a chave pública recebida e envia o resultado ao servidor (o único capaz de descriptografar a mensagem com sua chave privada); ambas as partes então fazem uso do número aleatório para gerar uma chave de sessão única para a criptografia subsequente dos dados durante a sessão, ou
    • inicia umatroca de chaves de Diffie-Hellman para gerar seguramente uma chave de sessão aleatória e única, utilizada para criptografar e descriptografar os dados e que ainda possui a propriedade defoward secrecy: caso a chave privada do servidor seja vazada no futuro, ela é incapaz de descriptografar a sessão atual, mesmo que esta tenha sido interceptada e gravada por um terceiro.

Isso conclui o handshake e inicia a conexão segura, que é criptografada e descriptografada com a chave de sessão até o fim da conexão. Se qualquer um dos passos acima falhar, o handshake TLS também falha e a conexão não é criada.

Os protocolos TLS e SSL não se encaixam perfeitamente em nenhuma camada dos modelosOSI ouTCP/IP.[7][8] O TLS é implementado "sobre um protocolo de comunicação confiável (por exemplo, o TCP)", o que implica que ele está acima da camada de transporte. Ele serve para criptografar as camadas superiores, o que normalmente seria função da camada de apresentação. Contudo, as aplicações geralmente fazem uso do TLS como se fosse uma camada de transporte,[7][8] mesmo que essas aplicações devam controlar ativamente o início dos procedimentos de handshake e o gerenciamento dos certificados de autenticação compartilhados.[2]

Protocolo TLS

Funcionamento

[editar |editar código]

Oservidor dosite que está sendo acessado envia umachave pública aobrowser, usada por este para enviar uma chave secreta simetrica, criada aleatoriamente. Desta forma, fica estabelecida a troca de dadoscriptografados entre doiscomputadores.Baseia-se noprotocoloTCP da suíteTCP/IP e utiliza-se do conceito introduzido porDiffie-Hellman nos anos 70 (criptografia de chave pública) ePhil Zimmermann (criador do conceitoPGP).

História e desenvolvimento

[editar |editar código]

A primeira versão foi desenvolvida pelaNetscape em 1994. O SSL versão 3.0 foi lançado em1996, e serviu posteriormente de base para o desenvolvimento do TLS versão 1.0, um protocolo padronizado daIETF originalmente definido peloRFC 2246. Grandes instituições financeiras comoVisa,MasterCard,American Express, dentre outras, aprovaram o SSL paracomércio eletrônicoseguro na Internet.O SSL opera de forma modular, possuidesign 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 emcertificados digitais.

O TLS passou por várias versões ao longo dos anos, cada uma trazendo melhorias em segurança e desempenho. Aqui está um resumo das principais versões e suas novidades:

  • TLS 1.0 (1999): Essa foi a primeira versão do TLS, projetada como uma atualização segura do SSL 3.0. Apesar de aprimorar a segurança, ela ainda tinha algumas vulnerabilidades e foi amplamente usada até ser considerada insegura para contextos modernos.
  • TLS 1.1 (2006): Trouxe melhorias na segurança, como a proteção contra ataques de injeção de IV (Initialization Vector), mas ainda apresentava falhas em alguns aspectos, sendo logo substituída em favor de uma versão mais segura.
  • TLS 1.2 (2008): Esta versão trouxe melhorias significativas, com suporte para algoritmos de criptografia mais fortes, como SHA-256, e mais flexibilidade nas suítes de criptografia, além de ser resistente a vários tipos de ataques conhecidos na época. Até hoje, é uma das versões mais amplamente utilizadas, embora a adoção do TLS 1.3 esteja crescendo.
  • TLS 1.3 (2018): A versão mais recente, o TLS 1.3, removeu algoritmos obsoletos e inseguros, simplificou o processo de handshake (tornando a conexão mais rápida e segura) e aumentou a privacidade dos dados. Além disso, o TLS 1.3 permite menos idas e vindas entre o cliente e o servidor, reduzindo a latência e melhorando a eficiência.

Segurança

[editar |editar código]

Ataques significativos contra TLS/SSL estão listados abaixo.

Em fevereiro de 2015, a IETF emitiu um informativo RFC[9] resumindo os vários ataques conhecidos contra TLS/SSL.

AApple corrigiu a vulnerabilidade BEAST implementando a divisão 1/n-1 e ativando-a por padrão no OS X Mavericks, lançado em 22 de outubro de 2013.[10]

A falha POODLE (Padding Oracle On Downgraded Legacy Encryption) é uma vulnerabilidade descoberta em 2014 que afeta o protocoloSSL 3.0, mas também impacta o TLS nas versões até o TLS 1.1. Para mitigar o POODLE, a recomendação foi desabilitar o suporte ao SSL 3.0 nos servidores e nos navegadores.[11]

Notas

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

Ver também

[editar |editar código]

Referências

[editar |editar código]
  1. R. Barnes; M. Thomson; A. Pironti; A. Langley (Junho de 2015).«Deprecating Secure Sockets Layer Version 3.0» (em inglês).Cópia arquivada em 28 de março de 2018 
  2. abcdeT. Dierks, E. Rescorla (Agosto de 2008).«The Transport Layer Security (TLS) Protocol Version 1.2».tools.ietf.org (em inglês). Consultado em 6 de novembro de 2020 
  3. SSL: Intercepted today, decrypted tomorrowArquivado em 2013-09-21 noWayback Machine, Netcraft, 25-06-2013.
  4. 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 
  5. Lawrence, Scott; Khare, Rohit.«Upgrading to TLS Within HTTP/1.1».tools.ietf.org (em inglês). Consultado em 6 de novembro de 2020 
  6. Archiveddocs.«SSL/TLS in Detail».docs.microsoft.com (em inglês). Consultado em 6 de novembro de 2020 
  7. abHooper, Howard (22 de junho de 2012).CCNP Security VPN 642-648 Official Cert Guide: CCNP Sec VPN 642-648 ePub _2 (em inglês). [S.l.]: Cisco Press 
  8. ab«What layer is TLS?».Information Security Stack Exchange. Consultado em 6 de novembro de 2020 
  9. «Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)». 4 de março de 2016 
  10. Ristic, Ivan (31 de outubro de 2013).«Apple Enabled BEAST Mitigations in OS X 10.9 Mavericks». Consultado em 8 de outubro de 2014.Cópia arquivada em 12 de outubro de 2014 
  11. «SSL 3.0 Protocol Vulnerability and POODLE Attack». 25 de outubro de 2022 

Ligações externas

[editar |editar código]
Obtida de "https://pt.wikipedia.org/w/index.php?title=Transport_Layer_Security&oldid=70411539"
Categoria:
Categorias ocultas:

[8]ページ先頭

©2009-2026 Movatter.jp