SNI
siglacriptografiaredes
Significa: Server Name Indication
O campo em um handshake TLS que indica qual site o cliente deseja.
Indicação de Nome de Servidor (do inglês Server Name Indication, RFC 6066) permite que um endereço IP hospede muitos sites TLS: o cliente envia o nome do host no ClientHello para que o servidor apresente o certificado correto. É enviado em texto claro no TLS 1.2, razão pela qual existe o Encrypted Client Hello.
O Server Name Indication existe porque TLS e hospedagem virtual foram projetados com premissas incompatíveis. O HTTP coloca o nome do host requisitado num cabeçalho, mas esse cabeçalho está dentro da sessão criptografada, e o servidor precisa escolher um certificado antes de a descriptografia começar. Sem SNI, um endereço serviria exatamente um certificado.
Então o SNI leva o nome do host no handshake, em claro. Isso resolveu a economia da hospedagem e criou uma consequência de privacidade que levou anos para ser endereçada: qualquer um no caminho enxerga qual site você visita, ainda que o conteúdo esteja criptografado. O Encrypted Client Hello é a resposta, e sua adoção é complicada justamente porque middleboxes passaram a depender da leitura do SNI.
Na operação, é aí que aparecem as divergências. Um cliente que envia um nome enquanto requisita outro, um balanceador que decide pelo SNI e não pelo Host, e um certificado curinga que cobre um mas não o outro produzem falhas que parecem problemas de certificado e são, na verdade, problemas de seleção de nome. Saber sobre qual nome a decisão foi tomada costuma ser o diagnóstico inteiro.
Também conhecido como: sni