580 likes | 735 Views
Tópicos. Criptografia – Serviços Oferecidos Criptografia - Fundamentos Criptografia - Tipos Criptografia Simétrica Criptografia Assimétrica. Criptografia – Serviços Oferecidos. Criptografia – Serviços Oferecidos. Exemplo de aplicação : Compra pela Internet
E N D
Tópicos • Criptografia – Serviços Oferecidos • Criptografia - Fundamentos • Criptografia - Tipos • Criptografia Simétrica • Criptografia Assimétrica
Criptografia – Serviços Oferecidos Exemplo de aplicação: Compra pela Internet • Informação que permite a transação - valor e descrição do produto adquirido - precisa estar disponível no dia e na hora que o cliente desejar efetuá-la (disponibilidade). • O valor da transação não pode ser alterado (integridade). • Somente o cliente que está comprando e o comerciante devem ter acesso à transação (controle de acesso). • O cliente que está comprando deve ser quem diz ser (autenticidade). • O cliente tem como provar o pagamento e o comerciante não tem como negar o recebimento (não-repúdio). • O conhecimento do conteúdo da transação fica restrito aos envolvidos (privacidade).
Fundamentos de Criptografia • Componentes básicos para o ciframento de uma mensagem: • algoritmo • chave Princípio de Kerckhoff (1883): Todos os algoritmos devem ser públicos; apenas as chaves são secretas. Algoritmo secreto: segurança pela obscuridade.
Fundamentos de Criptografia Vantagens importantes para o uso de chaves • Permite a utilização do mesmo algoritmo criptográfico para a comunicação com diferentes receptores, trocando apenas a chave. • Permite trocar facilmente a chave no caso de uma violação, mantendo o mesmo algoritmo. • Número de chaves possíveis depende do tamanho (número de bits) da chave. • Exemplo: uma chave de 8 bits permite uma combinação de no máximo 256 chaves. Quanto maior o tamanho da chave, mais difícil quebrá-la.
Chave (A) KEY (B) Chave (A) Chave (A) Aberta Aberta Fechada Fechada Criptografia - Tipos Tipos básicos de Criptografia (em relação ao uso de chaves) • Criptografia Simétrica (chave secreta) • Criptografia Assimétrica (chave pública)
Criptografia Simétrica Texto claro Mensagem cifrada • Utiliza uma mesma chave tanto para cifrar como para decifrar (ou pelo menos a chave de decifração pode ser obtida trivialmente a partir da chave de cifração) A mesma chave utilizada para “fechar o cadeado” é utilizada para “abrir o cadeado”.
*> *ql3*UY#~00873/JDI c4(DH: IWB(883 LKS9UI29as9eeaqw9vijhas9djerhp7(*Y23k^wbvlqkwczqw-_89237xGyjdc Biskdue di7@94 Para: BancoDe: Affonso Data: 16, Abr, 2001 Transferir R$ 2,5milhões da conta 254674-12 para a conta 071517-08 Affonso + + = Criptografia Simétrica Criptografia Simétrica - Requer uma chave compartilhada Criptografia Para: BancoDe: Affonso Data: 16, Abr, 2001 Transferir R$ 2,5milhões da conta 254674-12 para a conta 071517-08 Affonso *> *ql3*UY#~00873/JDI c4(DH: IWB(883 LKS9UI29as9eeaqw9vijhas9djerhp7(*Y23k^wbvlqkwczqw-_89237xGyjdc Biskdue di7@94 + + = Algoritmo Descriptografia Algoritmo
Criptografia Simétrica • Algoritmos simétricos - exigem que a chave seja mantida secreta, do conhecimento exclusivo dos dois interlocutores. • É requerido um canal seguro que permita a um usuário transmitir a chave ao seu interlocutor. Se uma pessoa quer se comunicar com outra com segurança, ela deve passar primeiramente a chave utilizada para cifrar a mensagem. Este processo é chamado distribuição de chaves.
Chave K Canal Seguro Chave K Alice Criptograma (abcdef...z) Bob Cifrar Decifrar Mensagem (abcdef...z) Mensagem (abcdef...z) Canal Inseguro Criptografia Simétrica Uso de algoritmo criptográfico simétrico (chave secreta) Alice e Bob precisam acordar uma chave secreta que irá proteger as mensagens trocadas entre eles.
Criptografia Simétrica • Alicecifra uma mensagem - utiliza um algoritmo de ciframento e uma chave secreta para transformar uma mensagem clara em um texto cifrado. • Bobdecifra uma mensagem - utiliza o algoritmo de deciframento correspondente e a mesma chave para transformar o texto cifrado em uma mensagem em claro. • Eva - não possui a chave secreta, mesmo conhecendo o algoritmo, não consegue decifrar a mensagem. • A segurança do sistema reside não mais no algoritmo e sim na chave empregada. É ela que agora, no lugar do algoritmo, deverá ser mantida em segredo por Alice e Bob.
Intruso passivo apenas escuta Intruso ativo pode alterar mensagens Intruso Método de criptografia, E Método de descriptografia, D Texto simples, P Texto simples, P Texto cifrado, C=Ek(P) Chave de criptografia, K Chave de descriptografia, K Criptografia Simétrica Modelo de criptografia (para uma cifra de chave simétrica) Dk(Ek(P)) = P
Criptografia Simétrica Exemplos de algoritmos que utilizam chaves secretas: • DES • Triple DES • IDEA • RC2
Criptografia Simétrica • Vantagem • Rapidez na criptografia e descriptografia da informação. • Desvantagens • A chave deve ser trocada entre as partes e armazenada de forma segura, o que nem sempre é fácil de garantir; • A criptografia simétrica não garante a identidade de quem enviou ou recebeu a mensagem (autenticidade e não-repudiação). • Cada par necessita de uma chave para se comunicar de forma segura. Em geral, se n pessoas querem se comunicar usando chave secreta, serão necessárias chaves - problema para o gerenciamento de chaves.
Criptografia Simétrica Proposta de solução para o problema da distribuição das chaves secretas Forma tradicional Forma moderna: Uso de um Centro de Distribuição de Chaves (KDC) Possíveis problemas?
Criptografia Assimétrica Texto claro Mensagem cifrada • As chaves são sempre geradas aos pares: uma para cifrar e a sua correspondente para decifrar. • A chave pública é divulgada, a chave privada é proprietária (normalmente não abandona o ambiente onde foi gerada). Uma chave é utilizada para “fechar o cadeado” e outra chave, diferente, mas relacionada à primeira, é utilizada para “abrir o cadeado”
Criptografia Para: BancoDe: Affonso Data: 16, Abr, 2001 Transferir R$ 2,0milhões da conta 254674-12 para a conta 071517-08 Affonso *> *ql3*UY#~00873/JDI c4(DH: IWB(883 LKS9UI29as9%#@qw9vijhas9djerhp7(*Y23k^wbvlqkwczqw-_89237xGyjdc Biskdue di7@94 + + = Algoritmo Chave Pública Descriptografia *> *ql3*UY#~00873/JDI c4(DH: IWB(883 LKS9UI29as9%#@qw9vijhas9djerhp7(*Y23k^wbvlqkwczqw-_89237xGyjdc Biskdue di7@94 Para: BancoDe: Affonso Data: 16, Abr, 2001 Transferir R$ 2,0milhões da conta 254674-12 para a conta 071517-08 Affonso + + = Algoritmo Chave Privada Criptografia Assimétrica Criptografia Assimétrica - Não possui segredos compartilhados As duas chaves são relacionadas através de um processo matemático, usando funções unidirecionais para a codificação da informação.
Criptografia Assimétrica • Algoritmos assimétricos - permitem que a chave de cifração possa ser tornada pública, disponibilizando-a em um “canal público” (Ex.: repositório de acesso público) - chave-pública. • Qualquer um pode cifrar mensagens com uma dada chave-pública. • Somente o destinatário, detentor da correspondente chave de decifração (chave-privada, ou secreta), poderá decifrar a mensagem. A chave-privada não precisa e nem deve ser dada a conhecer a ninguém, devendo ser guardada em segredo pelo seu detentor apenas, que deve também ter sido o responsável pela geração do seu par de chaves, enquanto a chave-pública pode ser publicada livremente.
Chave KPública Canal Público Chave KSecreta Alice Bob Criptograma (abcdef...z) Cifrar Decifrar Mensagem (abcdef...z) Mensagem (abcdef...z) Canal Inseguro Criptografia Assimétrica Uso de algoritmo criptográfico assimétrico (chave pública). Para que Alice envie uma mensagem confidencial a Bob, ela deve encriptar essa mensagem com a chave pública de Bob que, de posse de sua chave privada, consegue descriptá-la. Como, em tese, ninguém tem acesso à chave privada de Bob, ninguém pode descriptar a mensagem.
Criptografia Assimétrica • Descrição do funcionamento do sistema (forma simplificada) • Bob e todos os que desejam comunicar-se de modo seguro geram uma chave de ciframento e sua correspondente chave de deciframento. • Bob mantém secreta a chave de deciframento; esta é chamada de sua chave privada. • Bob torna pública a chave de ciframento: esta é chamada de sua chave pública. • Qualquer pessoa pode obter uma cópia da chave pública. Bob encoraja isto, enviando-a para seus amigos ou publicando-a em boletins. Eva não tem nenhuma dificuldade em obtê-la.
Criptografia Assimétrica • Descrição do funcionamento do sistema (forma simplificada) • Alice deseja enviar uma mensagem a Bob: precisa primeiro encontrar a chave pública dele. Feito isto, ela cifra sua mensagem utilizando a chave pública de Bob, despachando-a em seguida. • Bob recebe a mensagem, a decifra facilmente com sua chave privada. • Eva, que interceptou a mensagem em trânsito, não conhece a chave privada de Bob, embora conheça sua chave pública. Mas este conhecimento não a ajuda a decifrar a mensagem. • Mesmo Alice, que foi quem cifrou a mensagem com a chave pública de Bob, não pode decifrá-la agora.
Criptografia Assimétrica Exemplos de algoritmos que utilizam chaves públicas: • RSA • ElGamal • Diffie-Hellman • Curvas Elípticas
Criptografia Assimétrica • Vantagens • Mais segura do que a criptografia simétrica, por não precisar comunicar ao receptor a chave necessária para descriptografar a mensagem. • Permite que qualquer um possa enviar uma mensagem secreta, utilizando apenas a chave pública de quem irá recebê-la. • Como a chave pública está amplamente disponível, não há necessidade do envio de chaves como no modelo simétrico. • A confidencialidade da mensagem é garantida, enquanto a chave privada estiver segura. Caso contrário, quem possuir acesso à chave privada terá acesso às mensagens. • Desvantagem • costuma ser mais lenta do que a criptografia simétrica.
Criptografia Simétrica x Assimétrica Número de chaves necessárias/número de participantes
Criptografia Simétrica x Assimétrica Problemas • Criptografia Simétrica • Como distribuir e armazenar as chaves secretas de forma segura? • Quantas chaves são necessárias para uma comunicação segura entre n pessoas? • Criptografia Assimétrica • Como garantir que o detentor da chave pública é realmente quem diz ser? • Necessidade de ter uma infra-estrutura para armazenar as chaves públicas.
Criptografia Simétrica x Assimétrica Qual a melhor técnica? Como garantir a autenticidade de quem envia a mensagem? Como garantir a integridade do conteúdo? Assinatura Digital Certificado Digital
Internet Ameaças do Ambiente Eletrônico Intermediário Adulteração da comunicação Penetração de sistema Repúdio Impostor Comunicações abertas Processamento distribuído Emulação Cavalos de Tróia Interrupção do serviço Violação de autorização Repetição
Internet Comunicação Segura Validade do Certificado Descriptografia Criptografia Certificação Verificação de Assinatura Assinatura Eletrônica Documento Eletrônico Documento Eletrônico “Bob” “Alice”
Tópicos • Assinatura Digital • Certificação Digital • Segurança da Comunicação
Criptografia - Autenticação • Algumas vezes há a necessidade de se provar quem escreveu um documento e de manter as informações desse documento sem modificações. • Solução: serviços de autenticação e integridade de dados A autenticidade de muitos documentos é determinada pela presença de uma Assinatura Digital.
Criptografia - Autenticação • Assinatura digital – item que acompanha um determinado dado e apresenta as seguintes funções: • Confirmar a origem do dado • Certificar que o dado não foi modificado • Impedir a negação de origem
Assinatura Digital • Vantagens provenientes do envio de mensagem “assinada”: • O receptor poderá verificar a identidade alegada pelo transmissor. • Posteriormente, o transmissor não poderá repudiar o conteúdo da mensagem. • O receptor não terá a possibilidade de forjar ele mesmo a mensagem.
Assinatura Digital • Assinaturas de Chave Simétrica • Assinaturas de Chave Pública • Sumários de mensagens (Message Digests) • Aplicações Práticas
Assinatura Digital Assinatura de Chave Simétrica • Estratégia – uso de uma autoridade central que saiba de tudo e na qual todos confiem (BB - Big Brother). • Cada usuário escolhe uma chave secreta e a leva para o BB. • Somente Alice e BB conhecem a chave secreta de Alice, KA, e assim por diante.
Assinatura Digital Assinatura de Chave Simétrica Assinaturas digitais com Big Brother B – identidade de Bob RA – número aleatório escolhido por Alice t – timbre de hora para assegurar a atualidade KA(B, RA, t, P) – mensagem criptografada com a chave de Alice, KA KBB(A, t, P) – mensagem assinada
Assinatura Digital Problemas - Assinaturas de Chave Simétrica • Todos têm de confiar no BB. • O BB tem de ler todas as mensagens assinadas.
Linha de transmissão Computador de Alice Computador de Bob Chave privada de Alice, DA Chave pública de Bob, EB Chave privada de Bob, DB Chave pública de Alice, EA Assinatura Digital Assinaturas de Chave Pública Assinaturas digitais com o uso de chave pública.
Assinatura Digital • Assinaturas de Chave Pública - Problemas relacionados ao ambiente no qual operam • Bob só poderá provar que uma mensagem foi enviada por Alice enquanto DA permanecer secreta. Se Alice revelar sua chave secreta, o argumento deixará de existir - qualquer um poderá ter enviado a mensagem. • O que acontecerá se Alice decidir alterar sua chave?
Assinatura Digital Criptografia Assimétrica (chave pública) - Críticas • Reúnem sigilo e autenticação • Em geral, o sigilo não é necessário • Cifragem da mensagem inteira é lenta Solução: assinar a mensagem sem cifrá-la completamente Sumários de Mensagens
Assinatura Digital • Sumários de Mensagens (Message Digests) • Uso de uma função hash unidirecional que extrai um trecho qualquer do texto simples e, a partir deste, calcula um string de bits de tamanho fixo. • Função hash – geralmente denominada sumário de mensagens (MD).
Message Hash Assinatura Digital • Hash - Algoritmo que faz o mapeamento de uma seqüência de bits de tamanho arbitrário para uma seqüência de bits de tamanho fixo menor, de forma que seja muito difícil encontrar duas mensagens produzindo o mesmo resultado hash. Função Hash - funciona como uma impressão digital de uma mensagem gerando, a partir de uma entrada de tamanho variável, um valor fixo pequeno: o digest ou valor hash.
Assinatura Digital MD - Propriedades importantes • Se P for fornecido, o cálculo de MD(P) será muito fácil. • Se MD(P) for fornecido, será efetivamente impossível encontrar P. • Dado P, não deve ser possível encontrar P´ tal que MD(P´) = MD(P). • Uma mudança na entrada de até mesmo 1 bit produz uma saída muito diferente.
Assinatura Digital Message Digests - Propriedades importantes • Gera um sumário de tamanho fixo para qualquer comprimento de mensagem. • Efetivamente impossível adivinhar a mensagem a partir do sumário. • Efetivamente impossível encontrar outra mensagem que gere o mesmo sumário. • Uma pequena mudança na mensagem altera bastante o sumário.
Assinatura Digital - Geração • Geração da Assinatura Digital • entra-se com os dados a serem "digeridos" e o algoritmo MD gera um hash de 128 ou 160 bits (dependendo do algoritmo). • computada uma MD, criptografa-se o hash gerado com uma chave privada.
Assinatura Digital - Verificação Normalmente, 2m/2 (e não2m) operações são suficientes para subverter um sumário de mensagens de m bits utilizando-se o ataque de aniversário.
Assinatura Digital - Verificação • Verificação da Assinatura Digital • Executa-se a função MD (usando o mesmo algoritmo MD que foi aplicado ao documento na origem), obtendo-se um hash para aquele documento, e posteriormente, decifra-se a assinatura digital com a chave pública do remetente. • A assinatura digital decifrada deve produzir o mesmo hash gerado pela função MD executada anteriormente. • Se estes valores são iguais é determinado que o documento não foi modificado após a assinatura do mesmo, caso contrário o documento ou a assinatura, ou ambos foram alterados. Assinatura digital – informa apenas que o documento foi modificado, mas não o que foi modificado e o quanto foi modificado.
Assinatura Digital • É importante perceber: a assinatura digital, como descrita no exemplo anterior, não garante a confidencialidade da mensagem. • Qualquer um poderá acessá-la e verificá-la, mesmo um intruso (Eva), apenas utilizando a chave pública de Alice.