Últimas notícias

Fique informado
SSL e TLS:  seu servidor precisa de ‘forward secrecy’

SSL e TLS: seu servidor precisa de ‘forward secrecy’

22 de junho de 2015

Mas por que isso é tão importante no seu servidor? Ainda mais nesse cenário em que tantas vulnerabilidades (Heartbleed, POODLE..) que tem afetado o uso do SSL e TLS?

Por Sérgio Leal

Sergio Leal – Colunista CryptoID

Sergio Leal – Colunista CryptoID

No passado foi chamado de Perfect Forward Secrecy (PFS), mas um pouco de bom sendo encurtou o nome. Pois, nada é perfeito muito menos protocolos criptográficos. 🙂

Como a sessão é estabelecida?

Tradicionalmente, aprendemos que a chave de sessão é protegida pelo par de  chaves assimétricas ligados ao certificados do servidor. Muito resumidamente, uma chave simetrica (PreMasterSecret) é gerada pelo cliente, e enviada pelo servidor protegida criptograficamente pela chave publica do certificado do servidor.

O ataque

Se durante a vida de um serviço todo o fluxo de informações for gravado? Claro que elas são ‘ininteligíveis’ e não servirão para nada. Mas se no futuro existe uma falha que causa a perda da chave privada do servidor (como no caso do Heartbleed), toda a comunicação passada (e gravada) poderá ser decodificada clandestinamente. Esse ataque é conhecido como ‘decriptografia retrospectiva’.

Como evitar esse problema?

A idéia do forward secrecy é criar um par de chaves temporário (ephemeral) utilizado apenas durante o estabelecimento da sessão entre o servidor e o cliente. Logo depois disso ele é apagado, minimizando a janela de ataque para sua captura. Normalmente essa chave temporária é gerada usando curvas elipticas ou Diffie-Hellman em lugar do RSA, já que o ‘custo computacional ‘ de geração dessas chaves é menor.

Como o mecanismo funciona?

O par de chaves permanentes (ligados ao seu certificados SSL e TLS) é utilizado para proteger a chave temporária, e ela para proteger a chave de sessão.  Assim, a chave temporária funciona como um link entre as chaves do certificado e de sessão  utilizadas no protocolo.

O que acontece se a chave privada vazar?

Nesse cenário não será possível decodificar a chave de sessão como no cenário descrito acima. Isso acontece porque o link entre as elas (chave temporária) foi perdida e não poderá ser recuperada.

Como configurar seu SSL e TLS?

Um bom link ensinando a fazer a configuração adequada é https://www.digicert.com/ssl-support/ssl-enabling-perfect-forward-secrecy.htm

A maioria dos sites não utiliza forward secrecy

Sérgio Leal 

Ativista de longa data no meio da criptografia e certificação digital.

Trabalha com criptografia e certificação Digital desde o início da década de 90, tendo ocupado posições de destaque em empresas lideres em seu segmento como Modulo e CertiSign.

Criador da ‘ittru’: Primeira solução de certificação digital mobile no mundo.

Bacharel em Ciências da Computação pela UERJ desde 1997.

Certificações:
– Project Management Professional (desde 2007)
– TOGAF 9.1 Certified
– Oracle Certified Expert, Java EE 6 (Web Services Developer, Enterprise JavaBeans Developer)

Sérgio Leal  é colunista e membro do conselho editorial do CryptoID.

Outros artigos do autor