ESNI Indicação de nome de servidor criptografado

Versão criptografada do protocolo SNI. O SNI é usado para gerenciar múltiplos certificados TLS de sites em um único servidor.

Categoria de Tecnologia

Postado em 11 outubro 2023

Atualizado em 11 outubro 2023

Palavras-chave: sni,esni,indicacao,nome,servidor,criptografia,seguranca,TLS,protocolo,certificado,ssl

Visualizações: 917



No princípio, a rede mundial de computadores (internet) não foi projetada para ser segura. Na verdade, ela foi projetada para ser apenas eficiente. De certo modo, a internet já se tornou o meio mais eficiente de comunicação. Porém, possui os seus desafios em relação a segurança e privacidade.

Posteriormente, protocolos como HTTPS foram criados para aumentar a privacidade e segurança da comunicação entre computadores. Ele é responsável por criptografar os dados até eles chegarem ao seu destino, onde são descriptografados e visualizados. O protocolo HTTPS é a mistura dos protocolos HTTP e TLS. O TLS realiza a criptografia da informação que esta sendo trocada entre os computadores, como nome de usuário e senha. Porém, essa criptografia só acontece após a conexão entre dois computadores ser estabelecida. Isso quer dizer que antes da conexão, algumas informações permanecem em texto puro. A indicação de nome do servidor criptografada (ESNI) é um recurso extra para tornar o protocolo TLS ainda mais seguro, criptografando informações que antes não eram encriptadas.

O que é a indicação de nome do servidor criptografada (ESNI)?

A indicação de nome do servidor criptografada (ESNI) se refere a criptografia do endereço de acesso (URL) na comunicação entre dois computadores conectados com a internet. A criptografia do SNI é realizada logo após a etapa de handshake do protocolo TCP (aperto de mão), ou seja, antes dos dois computadores começarem a trocar informações úteis (payload).

esni handshake aperto de maos tcp tls como

O cliente já envia uma solicitação com o URL especificado e criptografado na etapa “Cliente Hello”. O cliente já deve ter a chave antes mesmo de solicitar o URL ao servidor. A chave de criptografia de SNI é obtida no servidor DNS. A criptografia é feita com uma chave pública obtida no servidor DNS. Ao chegar no servidor de destino, onde a chave privada se encontra, o ESNI é descriptografado e as informações de SNI podem ser visualizadas.

esni chave simétrica privada pública

O ESNI é uma extensão do protocolo TLS. Por essa razão, o ESNI é processado com os protocolos vinculados ao TLS. O TLS é responsável por criptografar os dados usando chaves de criptografia, fazendo com que apenas os dois pontos (nodes) tenham acesso ao conteúdo compartilhado.

As informações criptografadas serão o DNS e o endereço IP vinculados ao endereço solicitado que será retornado para o usuário que iniciou a conexão. Com isso, caso haja algum usuário malicioso monitorando a conexão, ele não irá saber qual site está sendo acessado.

O que é a indicação de nome do servidor (SNI)?

Hoje é comum múltiplos sites vinculados em um mesmo endereço IP. Assim, o cliente pode especificar qual site (URL) ele quer acessar dentro do servidor. O protocolo TLS, cujo protocolo é responsável pelo ESNI, é usado em solicitações de HTTPS. Isso quer dizer que cada site dentro do servidor precisa ter seu próprio certificado TLS. Originalmente, o objetivo do SNI é gerenciar o certificado de cada site, permitindo a hospedagem virtual segura de múltiplos sites em um único servidor com um único endereço IP, consequentemente economizando os endereços IPs que já são escassos.

Entretanto, mesmo usando protocolos criptografados como o HTTPS, o SNI permanece legível pelo fato de que ele é enviado antes do protocolo TLS ser efetuado. Isso pode trazer algumas vulnerabilidades como man-in-the-middle e envenenamento DNS. Por isso, é recomendávelo uso do ESNI para aumentar a segurança no tráfego dos dados.

A criptografia do SNI é configurável na maioria dos servidores e suportado por vários navegadores. Ao criptografar o SNI, ele passa a ser chamado de ESNI.

O ESNI é o suficiente para a segurança?

O ESNI criptografa as informações de URL apenas após a solicitação do cliente obter a chave pública no servidor DNS. Até a solicitação chegar ao servidor DNS, as informações de SNI continuam em texto legível. Por isso, o ESNI não é o suficiente para a segurança e privacidade dos dados.

Felizmente, essa vulnerabilidade do ESNI pode ser coberta com protocolos adicionais, como DNS sobre TLS (DoT) e DNS sobre HTTPS (DoH). Serviços de servidores DNS também oferecem mais recursos para aumentar a segurança e privacidade dos dados.

Conclusão

O ESNI é a versão criptografada do protocolo SNI. O SNI gerencia múltiplos certificados TLS de sites que compartilham um mesmo servidor e endereço IP. O ESNI usa a chave pública do DNS para criptografar informações como URL solicitado pelo cliente. Quando a solicitação de acesso chega ao servidor destino, a chave privada é obtida e o URL solicitado pode ser visualizado.

Apenas o ESNI não oferece segurança suficiente. Por isso, protocolos adicionais de segurança como DoT e DoH são recomendáveis.

Projetos práticos

Criando o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Veja também

Pessoas sem um endereço não podem utilizar os correios. Dispositivos sem um endereço não podem acessar a internet.

Quando nos conectamos à internet, nós recebemos um endereço IP. O endereço IP é o nosso endereço virtual que vai servir como localização para a transferência de dados na internet

Já pensou ser redirecionado para um site de banco falso?

O envenenamento de cache DNS redireciona o usuário para um site falso, mesmo digitando um URL legítimo. Como isso é possível??!!

Protocolos de e-mail

Ao todo, temos três protocolos que usados para o envio e o recebimento de e-mails. Esses protocolos são SMTP, POP3 e IMAP.

Navegador

Aplicativo que adquiri e converte o conteúdo de outros servidores para a exibição de páginas na internet através de protocolos de comunicação, como o HTTP.

Endereço IP (IP address)

O endereço de protocolo de internet (endereço IP) é o endereço lógico de um dispositivo conectado à uma rede privada pública.

4G (Quarta geração)

Fornece conexão com a rede para dispositivos móveis mesmo quando estes se encontram em deslocamento. Utiliza o protocolo LTE para a transferência de dados.