69
Criptografia Digital Prof. Flávio Humberto Cabral Nunes

Criptografia Digital

Embed Size (px)

DESCRIPTION

Pesquisa e Ordenação de Dados

Citation preview

Page 1: Criptografia Digital

Criptografia Digital

Prof. Flávio Humberto Cabral Nunes

Page 2: Criptografia Digital

Conteúdo

1. Introdução

2. Aplicações3. Criptografia e seus Conceitos

4. Tipos de Criptografia em Relação ao Uso de Chaves

5. Autenticação Comum e Verificação de Integridade

� Capítulo: 14 (APOSTILA).

Page 3: Criptografia Digital

Introdução

� Cada vez mais são utilizadas redes de computadores para distribuição de informação

� Necessidade de mecanismos de segurança das transações de informações confidenciais

� Informações expostas a intrusos� Segurança é um aspecto crucial

Page 4: Criptografia Digital

Introdução

� Uma das formas de proteger os dados é através de codificação ou cifragem da informação – CRIPTOGRAFIA– Somente pessoas autorizadas podem ter acesso

� Criptografia fornece técnicas para codificar e decodificar dados, tais que eles possam– Ser armazenados– Transmitidos– Recuperados sem sua alteração ou exposição

Page 5: Criptografia Digital

Introdução

� Criptografia podem ser usadas como um meio efetivo de proteção de informações suscetíveis a ataques– Informações armazenadas em um computador– Informações transitando em uma rede

� Objetivo principal– Prover comunicação segura, garantindo serviços

básicos de autenticação, privacidade e integridade dos dados

Page 6: Criptografia Digital

Outras Técnicas

� Assinatura digital

� Mecanismos elaborados para garantir a autenticação e integridade de informações

� Permite que se prove com absoluta certeza – Quem é o autor de um determinado documento– Se o documento foi alterado ou forjado por

terceiros

Page 7: Criptografia Digital

Aplicações

� Criptografia é imprescindível

� Com a Internet surgiram novas aplicações– Comércio eletrônico– Home-banking

� Informações confidenciais utilizam meios não confiáveis– Cartões de crédito– Transações financeiras

Page 8: Criptografia Digital

Aplicações

� Enquanto não surgem meios de comunicação suficientemente seguros, a criptografia aparece como uma boa alternativa para proteção de dados

� Com criptografia e assinatura digital, pode-se alcançar– Privacidade– Autenticidade– Integridade

Page 9: Criptografia Digital

Criptografia – Definição

� Transformação de informação inteligível numa forma aparentemente ilegível– Finalidade: ocultar informação de pessoas não

autorizadas, garantindo privacidade

� Criptografia=kriptos(escondido) + grafo(grafia)

� Arte ou ciência de escrever em cifras ou em códigos

Page 10: Criptografia Digital

Criptografia – Definição

� Gera um texto incompreensível (texto cifrado) através de um método (cifragem)

� Permite que apenas o destinatário desejado consiga decodificar e ler a mensagem com clareza, no processo inverso (decifragem)

� Métodos básicos de criptografar– Através de códigos– Através de cifras

Page 11: Criptografia Digital

Criptografia através de Códigos

� Esconde a mensagem através de códigos predefinidos entre as partes envolvidas na troca

� Exemplo: uma guerra– “calhau” – ataque pela direita– “araçagy” – não atacar

� Facilmente decifrados com o tempo� Somente utiliza mensagens predefinidas

– E se tiver que atacar pela esquerda

Page 12: Criptografia Digital

Criptografia através de Cifras

� Conteúdo da mensagem é cifrado através da mistura e/ou substituição das letras da mensagem original

� Tipos de cifras– Cifras de transposição– Cifras de substituição

Page 13: Criptografia Digital

Cifras de Transposição

� A ordem das letras é alterada– Exemplo: “CARRO” → “ORARC”

Page 14: Criptografia Digital

Cifras de Substituição

� Troca-se cada letra ou grupo de letras da mensagem de acordo com uma tabela de substituição1. Cifra de substituição simples, monoalfabética

ou Cifra de César: substitui uma letra por outra baseada num deslocamento dentro do alfabeto1. Exemplo: “A” → “E”

Page 15: Criptografia Digital

Cifras de Substituição

2. Cifra de substituição polialfabética: consiste em utilizar várias cifras de substituição simples, em que as letras da mensagem são rodadas seguidamente, porém com valores diferentes

3. Cifra de substituição de polígramos: utiliza um grupo de caracteres ao invés de um único caracter individual para a substituição da mensagem

Exemplo: “MÃE” → “ABA”

Page 16: Criptografia Digital

Cifras de Substituição

4. Cifra de substituição por deslocamento: não usa um valor fixo para a substituição de todas as letras. Cada letra tem um valor associado para a rotação através de um critério

Exemplo: “CARRO” (023) → “CCURQ”

Page 17: Criptografia Digital

Comparação

� A principal vantagem das cifras em realçãoaos códigos é a não limitação das possíveis mensagens a serem enviadas, além de se tornarem mais difíceis de serem decifradas

� Cifras são implementadas através de algoritmos associados a chaves, longas sequências de números e/ou letras que determinarão o formato do texto cifrado

Page 18: Criptografia Digital

Criptografia – Chaves

� Elementos que interagem com os algoritmos para a cifragem/decifragem das mensagens

Page 19: Criptografia Digital

Criptografia – Chaves

� Considere cifras de substituição por deslocamento

� O critério utilizado para cifragem das mensagens é a chave usada pelo algoritmo

� Na cifra por substituição simples– Algoritmo: “deslocamento de n letras à frente”– Chave: n

Page 20: Criptografia Digital

Criptografia – Chaves

� Chaves são similares as senhas de acesso a bancos e a sistemas de acesso a computadores

� Com a senha correta, o usuário tem acesso aos serviços. Caso contrário, o acesso é negado

� O usuário deve usar a chave correta para decifrar as mensagens

Page 21: Criptografia Digital

Criptografia – Chaves

� Em sistemas de acesso de usuários, quanto maior a senha, mais segurança ela oferece

� Chaves de criptografia também possuem tamanhos diferentes e seu grau de segurança está relacionado com sua extensão

Page 22: Criptografia Digital

Criptografia – Chaves

� Na criptografia moderna, as chaves são longas sequências de bits

� Um bit possui duas alternativas 0 e 1

� Uma chave de 3 bits23 = 8 possíveis valores

� Quanto maior o tamanho da chave, maior será o grau de confidencialidade da mensagem

Page 23: Criptografia Digital

Criptografia – Segurança e Ataques

� Avaliação da segurança de algoritmos está na facilidade de se “quebrar o código”

� Tentativas de quebrar os códigos de algoritmos são chamadas ataques

� A forma mais simples é o ataque força bruta– Tenta-se todas as chaves possíveis– Pouco eficiente e difícil de implementar– Mas, em geral, não necessários

Page 24: Criptografia Digital

Criptografia – Segurança e Ataques

� Criptoanálise = matemática + computadores

� Tipos– Ataque por texto conhecido: como o texto

normal e cifrado tenta-se descobrir o código– Ataque por texto escolhido: escolhe-se um

texto normal e tenta-se conseguir o texto cifrado correspondente

– Criptoanálise diferencial: procura cifrar muitos textos bem parecidos e comparar seus resultados

Page 25: Criptografia Digital

Criptografia – Segurança e Ataques

� Existem diferentes níveis de segurança– Depende da facilidade ou dificuldade de quebra

� Somente existirá um sistema seguro quando ele for inquebrável

� Quantidade de texto normal ou cifrado a disposição de um criptanalista não é informação suficiente para se quebrar as cifras ou deduzir as chaves que forma usadas

Page 26: Criptografia Digital

Criptografia – Segurança e Ataques

� A segurança de um criptosistema deve se basear não nos algoritmos e sim no tamanho das chaves

� O algoritmo para ser avaliado como forte ou fraco, deve ser testado amplamente contra todos os possíveis tipos de ataques

Page 27: Criptografia Digital

Algoritmo Forte

� Quando é praticamente impossível quebrá-lo em um determinado espaço de tempo em que as informações ainda sejam relevantes e possam ser utilizadas por pessoas não autorizadas

Page 28: Criptografia Digital

Algoritmo Forte

� Como determinar se um algoritmo é forte ou fraco?– Publicando sua descrição para que as pessoas

discutam sobre a eficiência dos métodos

� A divulgação revela pontos fracos

� Um criptosistema deve ser tão seguro que mesmo o autor de um algoritmo não seja capaz de decodificar uma mensagem se não possuir a chave

Page 29: Criptografia Digital

Tipos de Criptografia em Relação ao Uso de Chaves

� Chave simétrica ou secreta– A mesma chave é usada para cifrar e decifrar a

mensagem

� Chave assimétrica ou pública– Chaves diferentes são utilizadas nos processo de

cifragem e decifragem

Page 30: Criptografia Digital

Criptografia por Chave Secreta

� Tanto emissor quanto receptor da mensagem cifrada devem compartilhar a mesma chave

– A chave deve ser mantida em segredo

TextoNormal

Algoritmode Cifragem

TextoCifrado

ChaveCifragem/Decifragem

MeioInseguro

Algoritmo deDecifragem

TextoNormal

Page 31: Criptografia Digital

Criptografia por Chave Secreta

� Se uma pessoa quer se comunicar com outra com segurança, ela deve passar primeiramente a chave utilizada para cifrar a mensagem

� Processo de distribuição de chaves� A chave deve ser transmitida em meio

seguro

Page 32: Criptografia Digital

Criptografia por Chave Secreta

� Se existe um meio seguro de se enviar a chave, por que não enviar a própria mensagem por esse meio?– Porque tais meios são caros e difíceis de serem

obtidos e utilizados

� Por isso é bom utilizá-los uma única vez, mas não continuamente

Page 33: Criptografia Digital

Problema de Chaves Secretas

Page 34: Criptografia Digital

Problema de Chaves Secretas

� Se mais pessoas forem inclusas neste sistema de comunicação, mais chaves serão necessárias

� Mais duas pessoas, mais sete chaves

� Se n pessoas querem se comunicar, serão necessárias (n)(n-1)/2 chaves

� Problema para gerenciar chaves entre grandes grupos de usuários

Page 35: Criptografia Digital

Tentativa de Solução (KDC)

� Centro de distribuição de chaves (KDC)

� Responsável pela comunicação entre pessoas aos pares

� KDC deve ter consigo todas as chaves secretas dos usuários que utilizam o serviço

Page 36: Criptografia Digital

KDC

Page 37: Criptografia Digital

KDC

� Mas o KDC tem seus problemas– Constitui um componente centralizado– Gerenciado por pessoas– Pessoas podem ser corrompidas

Page 38: Criptografia Digital

Criptografia por Chave Secreta

� Tipos de cifras utilizadas pelos algoritmos– Cifras de Corrente: quando se cria uma chave

aleatória com o mesmo tamanho do texto a ser cifrado, e combina-se a chave com a mensagem a ser enviada

– Cifras de Bloco: aceita um grupo de bits ou blocos de dados, podendo ser utilizados em cadeia� São geralmente usados para grandes quantidades de

dados

Page 39: Criptografia Digital

Principais Algoritmos de Chave Secreta

� DES (Data Encryption Standard)– Baseado no algoritmo Lucifer (IBM)– Utilizado até 1978– Adotado como padrão pela ANSI sob o nome EDA– Cifra blocos de 64 bits usando uma chave de 56

bits, fazendo uma substituição monoalfabéticasobre um alfabeto de 264 símbolos

� Triple-DES– Utilização 3 vezes seguidas do DES com chaves

diferentes

Page 40: Criptografia Digital

Principais Algoritmos de Chave Secreta

� RC2, RC4– Criados por Ronald Rivest– Chaves variam de 1 a 1024 bits– Chaves pequenas (48 bits) são fáceis de quebrar– RC2 é uma cifra de bloco similar ao DES– RC4 é uma cifra de corrente

� Pseudo-números XOR mensagem normal

Page 41: Criptografia Digital

Principais Algoritmos de Chave Secreta

� IDEA– International Data Encryption Algorithm– Desenvolvido na Suíça e publicado em 1990– Utiliza uma chave de 128 bits– Não é considerado como forte, mas é robusto

� Skipjack– Desenvolvido pela National Security– Uso civil– Coração do chip Clipper, desenvolvido pela NSA

Page 42: Criptografia Digital

Criptografia por Chave Pública

� Também conhecida como assimétrica

� Utiliza pares de chaves para cifrar/decifrar� As duas chaves são relacionadas através de

um processo matemático usando funções unidirecionais para codificação da informação

� A chave pública é usada para cifrar

� A chave secreta é usada para decifrar

Page 43: Criptografia Digital

Criptografia por Chave Pública

� Uma mensagem cifrada com uma chave pública só pode ser decifrada pela outra chave secreta com a qual está relacionada

� A chave usada para cifrar é publicada para que qualquer pessoa possa lhe enviar mensagens cifradas– Home-page’s, e-mail’s

� Chave para decifrar é mantida em segredo

Page 44: Criptografia Digital

Criptografia por Chave Pública

TextoNormal

ChavePública

Al. Cifragem

TextoCifrado

Al. Decifragem

TextoNormal

MeioInseguro

ChaveSecreta

Page 45: Criptografia Digital

Principais Algoritmos de Chave Pública

� Diffie-Hellman

� RSA� Merkle-Hellman

Page 46: Criptografia Digital

Diffie-Hellman

� Ponto de partida para a criptografia por chave pública

� Whitfield Diffie e Martin Hellman

� Baseia-se na troca de uma chave de cifragem de tal forma que uma terceira parte não autorizada não tenha como deduzi-la

Page 47: Criptografia Digital

Diffie-Hellman

� Cada participante inicia com sua chave secreta e através de troca de informações é derivada uma outra chave (chave de sessão)

� A chave de sessão é usada em futuras comunicações

� Baseia-se na exponenciação discreta– Sua função inversa, logaritmos discretos, é de

alta complexidade

Page 48: Criptografia Digital

RSA

� Desenvolvido por Ronald Rivest, Adi Shamire Len Adleman

� Se baseia no estudo de Diffie e Hellman– Mas usa outro fundamento matemático para

criação das chaves públicas

� Utiliza o fato que é fácil de se obter a resultado da multiplicação de dois números primos extensos

� Mas é muito difícil se obter os fatores primos de um número muito extenso

Page 49: Criptografia Digital

RSA – Funcionamento

1. Escolha dois número primos extensos– p e q (maiores do que 10100)

2. Calcule n = p * q e z = (p – 1) * (q – 1)3. Escolha um número relativamente primo a z

e chame-o de d4. Escolha e de forma que (e * d) mod z = 15. Para cifrar, calcule C = Pe mod n6. Para decifrar, calcule P = Cd mod n7. Chave pública e, n / Chave privada d, n

Page 50: Criptografia Digital

RSA – Exemplo de Cifragem

p=3 e q=11 → n=p*q=33 z=(p-1)*(q-1)=20d=7(primo em relação a z) / e=3 → pois (e*d) mod z = 1

2612505E

5274414N

5274414N

1101A

201757626Z

21926121U

28685919S

P3 mod 33P3NuméricoSimbólico

Texto Cifrado (C)Texto Simples (P)

Page 51: Criptografia Digital

RSA – Exemplo de Decifragem

p=3 e q=11 → n=p*q=33 z=(p-1)*(q-1)=20d=7 (primo em relação a z) / e=3 → pois (e*d) mod z = 1

E05803181017626

N14781255

N14781255

A0111

Z26128000000020

U21180108854121

S191349292851228

SimbólicoC7 mod 33C7P3 mod 33

Texto Simples (P)Texto Cifrado (C)

Page 52: Criptografia Digital

Merkle-Hellman

� Baseava-se em um jogo matemático chamado Knapsack (mochila)– Dada uma coleção de itens, verifica-se as

possíveis maneiras de armazená-lo dentro de um repositório de tamanho fixo, de forma a não sobrar espaço

� Foi usado durante muitos anos

� Mas a descoberta de uma falha crucial o inutilizou para fins práticos

Page 53: Criptografia Digital

Criptografia Simétrica X Criptografia Assimétrica

� Assimétrica viabiliza a comunicação segura entre pessoas comuns

� Assimétrica acaba com o problema de distribuição de chaves– Não há necessidade de compartilhamento de

uma mesma chave– Nem pré-acordo entre as partes

� Assimétrica é mais segura

� Simétrica é mais rápida

Page 54: Criptografia Digital

Autenticação Comum e Verificação de Autenticidade

� Às vezes não é necessário criptografar os documentos

� Quer-se – Provar quem é o autor de um documento– Manter as informações do documento sem

modificações

� Mecanismos– Código de Autenticação de Mensagem (MAC)– Assinaturas Digitais

Page 55: Criptografia Digital

Autenticação Comum e Verificação de Autenticidade - Meta

� Tornar possível para a informação ser enviada de um parte para outra, estando o receptor apto a demonstrar que essa informação de fato veio do remetente que alega tê-la enviado e ainda que essa mesma não foi adulterada na transmissão

Page 56: Criptografia Digital

MAC’s, Assinaturas Digitais e Checksums

� MAC’s e assinaturas digitais ≠ checksum’s– Ambos provêem tentativas de garantir a detecção

de modificações da informação transmitida entre remetente e receptor

– A diferença é que está nos perigos possíveis que existem para modificar as mensagens

Page 57: Criptografia Digital

MAC’s, Assinaturas Digitais e Checksums

� Checksum tenta encontrar erros que são resultados de ruídos ou outras fontes não intencionais

� Assinaturas digitais e MAC’s são designados para detectar ataques iniciados por fontes intencionais ou acidentais

Page 58: Criptografia Digital

Código de Autenticação de Mensagens

� Usados com sistemas de criptografia simétrica, tal como o Data EncryptionStandard (DES)

� Finalidade: proteger a informação� Quando executado em cima de uma parte da

informação, este modo de criptografia da informação gera um valor (pequeno pedaços de dados) que serve como código para o documento

Page 59: Criptografia Digital

Código de Autenticação de Mensagens

� Se duas pessoas compartilham uma chave simétrica, o remetente pode executar o DES em cima dos dados

� Assim, ele obtém o código de autenticação da mensagem

� Dessa forma, ele pode enviá-la juntamente com os dados

Page 60: Criptografia Digital

Código de Autenticação de Mensagens

� O receptor tem que estar apto para validar o código dos dados que lhe foram enviados– Isto é feito realizando a mesma cifragem em cima

dos dados recebidos e obtendo o mesmo código

� Se os dados foram adulterados– o receptor não obterá um valor que se iguala com

o MAC enviado

Page 61: Criptografia Digital

Código de Autenticação de Mensagens

� O atacante também pode modificar o MAC

� Entretanto, sem o conhecimento da chave utilizada para criar o MAC– Não é possível para este modificar a informação

enviada– Computar um código que corresponda a mesma

Page 62: Criptografia Digital

Assinaturas Digitais

� Tipo específico de MAC que resulta de sistemas de criptografia assimétrica

� Usado para proteger a informação� Uma função (Message Digest – MD) é usada

par processar o documento, produzindo um pequeno pedaço de dados (hash)

� Uma MD é uma função matemática que refina toda a informação de um arquivo em um único pedaço de dados de tamanho fixo

Page 63: Criptografia Digital

Assinaturas Digitais

� O algoritmo MD gera um hash de 128 ou 160 bits

� Uma vez computada uma message digest, criptografa-se o hash gerando uma chave privada

� Resultado do procedimento– Assinatura digital da informação

� É uma garantia de que o documento é uma cópia verdadeira e correta do original

Page 64: Criptografia Digital

Message Digest

� Motivo da utilização está ligado ao tamanho do bloco de dados a ser criptografado para se obter a assintaura

� Criptografar mensagens longas pode ser demorado

� Criptografar hash’s (blocos pequenos e de tamanho fixo) gerados pela MD torna o processamento mais eficiente

Page 65: Criptografia Digital

Assinaturas Digitais

� Sua presença não quer dizer nada

� Assinaturas digitais podem ser forjadas� Mas elas podem ser matematicamente

verificadas� Dado um documento e sua assinatura digital,

pode-se verificar– Autenticidade do documento– Integridade do documento

Page 66: Criptografia Digital

Assinaturas Digitais – Processo

1. Executa-se a MD para se obter o hash

2. Decifra-se a assinatura digital com a chave pública do remetente

� A assinatura digital deve produzir o mesmo hash gerado pela função MD executada anteriormente

� Somente detecta se o documento foi alterado, mas não quais são as alterações

Page 67: Criptografia Digital

Assinaturas Digitais – Processo

Page 68: Criptografia Digital

Assinaturas Digitais

� Para ser possível que um documento ou uma assinatura adulterada não seja detectada, o atacante precisa ter acesso a chave privada que quem assinou o documento

� Valiosas para assinar informações em sistemas de computador e depois provar a sua autenticidade sem se preocupar com a segurança do sistema que as armazena

Page 69: Criptografia Digital

Assinaturas Digitais X MAC’s

� MAC’s requerem chaves privadas para verificar a mensagem

� Assinaturas digitais podem ser verificadas usando chaves públicas