Passados quase 2 meses desde o lançamento da versão 58 do Google Chrome, lançada em 25 de abril desse ano, ainda há muita gente por aí encontrando a mensagem “Sua conexão não é particular” com o código de erro NET::ERR_CERT_COMMON_NAME_INVALID ao acessar sites com cadeados (sites protegidos pelo protocolo SSL ou TLS).
Mas o que essa mensagem no Google Chrome realmente significa e como ela surgiu?
Bem, primeiramente é preciso saber o que acontece quando os navegadores web acessam um site protegido por SSL.
Certificado do servidor
Há uma série de verificações de segurança nos navegadores. Dentre elas, a mais importante para os propósitos dessa explicação é a verificação da validade do certificado apresentado pelo servidor.
Essa verificação tem o objetivo de determinar se o certificado apresentado pelo servidor que hospeda o site é válido. Pode-se verificar no Google Chrome, por exemplo, se o certificado foi emitido por uma Autoridade Certificadora confiável, se sua assinatura está válida, se o propósito de uso do certificado está correto, se a URL para o qual o certificado foi emitido corresponde à URL do site, etc.
Vamos entender melhor: quando o navegador web acessa o servidor na URL https://www.meusite.com.br, “https” indica que deve ser utilizado o protocolo HTTPS e www.meusite.com.br indica o nome do servidor na internet.
Assim, quando o protocolo SSL é ativado, o navegador web inicialmente recebe o certificado digital do servidor. Em seguida, inicia o procedimento de sua validação. Como informado anteriormente, uma das etapas da verificação é determinar se a URL do servidor é a mesma para a qual o certificado foi emitido.
Por exemplo, o certificado do servidor do Google Chrome possui a informação da URL do servidor em dois locais: no campo Requerente e no campo de extensão Nome Alternativo para o Requerente:
Campo Requerente:
- CN = *.google.com;
- O = Google Inc;
- L = Mountain View;
- S = California;
- C = US.
Campo Nome Alternativo para o Requerente:
- Nome DNS=*.google.com;
- Nome DNS=*.android.com.
Como se valida um certificado e um servidor
Agora que sabemos parte do que acontece quando acessamos um site protegido por SSL, entra em cena o documento RFC 2818. Este documento dá instruções sobre como os certificados digitais de servidores devem ser validados. Ele nada mais é do que um tipo de especificação pública para os fabricantes de software.
Na seção 3.1 da RFC 2818 é possível encontrar as duas formas de identificação da URL do servidor que podem ser utilizadas em um certificado digital:
- No componente Common Name (CN) incluída junto ao nome da entidade Requerente (campo Subject);
- Campo de extensão Nome Alternativo para o Requerente (ou Subject Alternative Names).
O Common Name é utilizado há bastante tempo como a forma principal de identificação. Além disso, sua visualização é bem intuitiva.
Proposta de alternativa
No início desse ano começou um extenso debate sobre a remoção do suporte a validações baseadas somente no Common Name. No lugar dele se propunha adotar o Subject Alternative Names.
Podemos discutir se essa atualização está de acordo com todas as especificações necessárias, ou se realmente traz benefícios para a segurança. Entretanto esse assunto é mais abrangente e vamos deixar para uma próxima oportunidade. Nesse momento o importante é o Subject Alternative Names passou a ser obrigatório no Google Chrome.
Agora é preciso que os certificados de SSL possuam a extensão Subject Alternative Names também. Do contrário, as validações de segurança realizadas pelo Google Chrome vão resultar no alerta “Sua conexão não é particular” com o código de erro NET::ERR_CERT_COMMON_NAME_INVALID.
Assim, se você é responsável por servidores que apresentam esse tipo de problema com os certificados digitais, entre em contato com a Autoridade Certificadora de sua preferência e solicite um certificado contendo o campo Subject Alternative Names.
Caso isso não seja possível imediatamente, mas mesmo assim você quer se livrar dessa mensagem, é possível sobrescrever o comportamento das verificações de certificados através da opção de configuração EnableCommonNameFallbackForLocalAnchors.
Tome cuidado, pois como o próprio link menciona, essa opção não é recomendada. Essa opção de configuração valerá até a versão 65, sem data de lançamento prevista.
Sobre a Eval
A EVAL está a mais de 18 anos desenvolvendo projetos nos segmentos financeiro, saúde, educação e indústria, Desde 2004, oferecemos soluções de Autenticação, Assinatura Eletrônica e Digital e Proteção de Dados. Atualmente, estamos presente nos principais bancos brasileiros, instituições de saúde, escolas e universidades, além de diferentes indústrias.
Com valor reconhecido pelo mercado, as soluções e serviços da EVAL atendem aos mais altos padrões regulatórios das organizações públicas e privadas, tais como o SBIS, ITI, PCI DSS, e a LGPD. Na prática, promovemos a segurança da informação e o compliance, o aumento da eficiência operacional das empresas, além da redução de custos.
Inove agora, lidere sempre: conheça as soluções e serviços da Eval e leve sua empresa para o próximo nível.
Eval, segurança é valor.