Criptografia II Problemas de segurança As técnicas clássicas de criptografia são inseguras porque não supunham a existência de computadores nas mãos dos criptoanalistas. Além do mais, o segredo das técnicas clássicas estavam nos algoritmos, que eram secretos, não nas chaves. “A segurança de um criptossistema não deve da manutenção de um criptoalgoritmo em segredo. A segurança depende apenas de manter em segredo a chave” – Auguste Kerckhoff Porquê não usar algoritmos secretos? Nunca na história da criptografia alguém foi capaz de manter um algoritmo em segredo. Como o cliente irá comprar algo sem que vejam o que estão comprando? O fato de um algoritmo ser secreto não garante que ela seja seguro. Algoritmos publicamente conhecidos são mais seguros. Grandes mentes se esforçam para encontrar defeitos em sistemas criptográficos públicos. Criptografia de chave Simétrica Mesma chave utilizada para cifrar é utilizada para decifrar a mensagem. O principal desafio deste método é garantir que ninguém mais saiba esta chave além do transmissor e receptor. DES - Data Encryption Standard O Primeiro método moderno foi proposto em meados da década de 70, conhecido como D.E.S. A IBM criou o primeiro rascunho do algoritmo, chamando-o de LUCIFER. Adotado como padrão nos Estados Unidos em 1977. Seu funcionamento básico consiste na criptografia de blocos de 64 bits de entrada com uma chave de 56 bits, gerando blocos de 64 bits como saída. Para obter o texto original novamente, reverte-se o processo usando a mesma chave. DES - Data Encryption Standard Por muitos anos, esse criptossistema foi o padrão de criptografia no Estados Unidos e era usado em todo o mundo. Hoje, o DES é considerado inseguro, apesar de permitir cerca de 72 quadrilhões de combinações. Isto se deve principalmente a pequena chave de 56-bit, que foi quebrada por "força bruta" em 1997 em um desafio lançado na Internet.. 3DES Uma maneira encontrada pelos especialistas de se aumentar a segurança ao utilizar o DES é usar o 3DES. O Triplo DES é um padrão de criptografia baseado no algoritmo de criptografia DES, porém utiliza 3 ou 2 chaves de 64 bits. AES Numa proposta de substituir o DES, os E.U.A promoveu uma competição que durou 4 anos para que fosse feito um algoritmo de criptografia robusto. Em 2001 o AES foi adotada pelo governo dos Estados Unidos como padrão de criptografia simétrica. O AES suporta tamanhos de chave e bloco variando entre 128, 160, 192, 224 e 256 bits. É um protocolo mais rápido que o 3DES. Criptografia Simétrica - protocolos Outros protocolos de criptografia simétrica são o IDEA, Blowfish, RC-4, RC-5, RC-6.... Criptografia de chave Assimétrica A criptografia de chave pública ou assimétrica é um método de criptografia que utiliza um par de chaves: uma chave pública e uma chave privada. A chave pública é distribuída livremente para todos os correspondentes via e-mail ou outras formas. A chave privada deve ser conhecida apenas pelo seu dono. Criptografia de chave Assimétrica Num algoritmo de criptografia assimétrica, uma mensagem cifrada com a chave pública pode somente ser decifrada pela sua chave privada correspondente. Passo 1: Alice envia sua chave pública para Bob. Passo 2: Bob cifra a mensagem com a chave pública de Alice e envia para Alice, que recebe e decifra o texto utilizando sua chave privada. Criptografia de chave Assimétrica Os algoritmos de chave pública podem ser utilizados para autenticidade e confidencialidade. Para confidencialidade, a chave pública é usada para cifrar mensagens. Com isso apenas o dono da chave privada pode decifrá-la. Para autenticidade, a chave privada é usada para cifrar mensagens com isso garante-se que apenas o dono da chave privada poderia ter cifrado a mensagem que foi decifrada com a 'chave pública'. Criptografia de chave Assimétrica A principal vantagem da criptografia baseada em chave pública é a sua maior segurança em relação a criptografia baseada em chave secreta. No sistema baseado em chave pública as chaves privadas nunca precisam ser transmitidas ou recebidas a ninguém. Assim a chave não será interceptada por um intruso. Porém.... O método de chave pública é muito mais lento na cifragem do que o método de criptografia simétrica. (60 a 70 vezes + lento) RSA RSA é um algoritmo de criptografia de chave pública , que leva o nome dos 3 professores do Instituto MIT que inventaram este algoritmo. Ron Rivest Len Adleman Adi Shamir RSA O RSA é a mais bem sucedida implementação de sistemas de chaves assimétricas, e fundamenta-se em teorias clássicas dos números. É considerado o algoritmo de criptografia mais seguro, já que mandou por terra todas tentativas de quebrá-lo. Fonte: Wikipedia Sistema Híbrido Os dois tipos de Chaves (Simétrica e Assimétrica) apresentam vantagens e desvantagens. Idéia: combinar os pontos fortes dos dois sistemas: usar Criptografia Assimétrica para estabelecer uma canal seguro e compartilhar em seguida uma chave comum, chamada chave de sessão. usar Criptografia Simétrica para transferir dados, usando um algoritmo de encripção convencional com a chave de sessão com maior velocidade Sistema Híbrido Compensado o problema de segredo da chave simétrica e a grande necessidade de processamento computacional na chave assimétrica: As entidades são autenticadas utilizado a criptografia assimétrica (mais robusta). Depois é acordado o uso de uma chave secreta para troca de mensagens utilizando a criptografia simétrica. O algoritmo de chave pública garante que a negociação foi realizada em um canal seguro, não havendo a necessidade da troca periódica da chave. Todo o restante do processo pode passar a ser realizado utilizando algoritmos de chave simétrica, o que diminui a necessidade do poder computacional. Aplicações com Criptografia Híbrida • PGP • SSL = Secure Socket Layer – definido por Netscape, compatível com IE. – https, cadeado no browser. • SSH – problema de telnet/rlogin: password na rede sem proteção • IPSec PGP - Pretty Good Privacy O PGP (Muito Boa Privacidade) é um programa de criptografia de chave pública altamente seguro. Nos últimos anos o PGP conquistou milhares de entusiastas em todo o mundo e tornou-se de fato um padrão para a criptografia de correio eletrônico (email) na Internet. O PGP pode, ainda, ser utilizado como um sistema à prova de falsificações de assinaturas digitais permitindo, desta forma, a comprovação de que arquivos ou e-mails não foram modificados. PGP - Pretty Good Privacy O PGP foi originalmente escrito por Philip Zimmermann. "Se todos os computadores pessoais no mundo (260 milhões) fossem colocados para trabalhar em uma única mensagem codificada por PGP, ainda levaria um tempo estimado de 12 milhões de vezes a idade do universo, em média, para quebrar uma única mensagem." — William Crowell, Diretor Adjunto, Agência de Segurança Nacional ("National Security Agency", NSA), 20 de março de 1997.