27 de jun. de 2019

A new direction in criptography [Diffie & Hellman] - Considerações

DIFFIE, W., HELLMAN, M.E. A new direction in criptography. IEEE Transactions on Information Theory, Vol. IT-22, No.6, November 1976.
Pesquisas durante o pós-guerra trouxeram até a década de 70 inúmeros avanços que apontavam um alvorecer tecnológico. O custo dos computadores estava cada vez menor e o público interessado nesta tecnologia ultrapassava as fronteiras governamentais e militares. O desenvolvimento das telecomunicações, prometia a possibilidade de que computadores de diferentes partes do globo poderiam estar conectados entre si. Tal marcha traria embutida novos problemas, expondo o estado da arte criptográfica que naquele instante não estaria preparada para acompanhar a evolução tecnológica e caso os atuais sistemas fossem utilizados as vantagens oferecidas estariam comprometidas.
No âmbito computacional a criptografia deveria atender a necessidade histórica do sigilo de uma mensagem que agora utilizaria meios públicos de comunicação, considerados hostis por não possuírem mecanismos de segurança na transmissão de informações. Também deveria atender a necessidade de autenticidade para comprovar se uma mensagem foi originada exatamente por quem afirma ser o remetente.
A criptografia tradicional apresentou inúmeros métodos criptográficos que sucumbiram diante das técnicas de criptoanálise. Um único método pode suportar as investidas dos criptoanalistas. O one-time pad mostrou ser o mais seguro de todos que o antecederam, porém sua usabilidade prática era extremamente complexa e onerosa. Este método serviria como base para um sistema computadorizado, pois uma chave poderia conter algumas centenas de bits e sua implementação seria possível. Os sistemas criptográficos comuns funcionavam de forma que o remetente deveria realizar uma operação matemática na combinação binária do texto em claro com a chave escolhida produzindo assim um texto cifrado e o destinatário de posse da chave utilizada realizaria o processo inverso recuperando o texto original. A chave deveria ser distribuída através de canais seguros de transferência até o receptor. Alguns problemas não puderam ser resolvidos com os sistemas tradicionais, por exemplo, o sistema não garantia que um documento digital não sofrera alterações ou que o remetente realmente era quem dizia ser.
Com o preceito de eliminar a necessidade de um canal seguro para a troca de chaves, Diffie e Hellman propuseram a idéia de um sistema criptográfico onde o usuário geraria duas chaves, uma para cifrar e outra para decifrar uma mensagem. A chave de cifragem (EK) de um usuário poderia ser alocada em algum diretório público onde qualquer outro usuário poderia acessar esta chave para cifrar uma mensagem destinada ao dono da chave. A chave de decifragem (Dk) ficaria em posse do usuário onde seria utilizada apenas para recuperar um texto que foi cifrado com sua chave pública. A exposição da chave de encriptação não afetaria a segurança da chave de decriptação. Neste quesito se baseava a segurança do sistema proposto, pois o algoritmo deveria ser amplamente conhecido, assim possibilitaria sua utilização em diversas aplicações garantindo uma padronização do processo.
Outra necessidade maior que o próprio problema da troca de chaves era a de garantir a autenticidade das partes envolvidas em uma comunicação, isto se tornava uma barreira para que os meios digitais pudessem ser utilizados em transações comerciais. Pesquisas foram realizadas com base em funções unidirecionais utilizadas para login em sistemas multiusuário. A abordagem proposta por Diffie e Hellman solucionava este problema. Uma vez que o usuário poderia cifrar a mensagem utilizando sua DK e o texto resultante só poderia ser decifrado com a EK que seria publicamente propagada, assim a autenticidade do autor poderia ser afirmada, além de garantir que o texto não foi alterado. Isto mostra que o sistema proposto funcionaria em duas direções a partir da EK um texto é cifrado só podendo ser revertido com a DK, e um texto cifrado com a DK só seria decifrado com a EK. Funcionando perfeitamente como um sistema de assinatura digital.
O sistema criptográfico idealizado estava fortemente ligado ao one-time pad, pois a chave utilizada na cifragem funciona como “semente” para determinar o texto cifrado. A segurança estaria garantida pois era computavelmente inviável quebrar a chave (obter DK a partir de EK), quanto mais forte a chave, mais seguro o criptograma. Este ponto foi destacado, pois poderiam haver armadilhas nos sistemas de geração de chaves, uma vez que o um fabricante poderia manipular o algoritmo para facilitar a descoberta da chave de decifragem, tornando a chave “quase segura”. Caso a geração das chaves ocorresse de maneira correta a complexidade exponencial para se obter o valor da chave privada encontrava-se na classe dos problemas de indecidibilidade computacional.