Introdução à criptografia

29
Introdução à Criptografia Bóson Treinamentos Fábio dos Reis

description

Introdução à criptografia - Simétrica e Assimétrica.

Transcript of Introdução à criptografia

Page 1: Introdução à criptografia

Introdução à Criptografia

Bóson Treinamentos

Fábio dos Reis

Page 2: Introdução à criptografia

O que é Criptografia

Criptografia é o estudo a aplicação de técnicas para comunicação e armazenamento seguro de dados em sistemas computacionais (entre outros). A palavra Criptografia vem do grego “Kryptós”, “oculto” e “Graphein”, “escrita”, portanto “escrita oculta (ou secreta)”.

Bóson Treinamentos

Fábio dos Reis

Page 3: Introdução à criptografia

Termos-chave

Texto plano / puro: Dados não-encriptados Texto cifrado: Dados encriptados Chave (Key): Dados utilizados para encriptar um texto plano, ou desencriptar um texto cifrado. Algoritmo de Criptografia: Método matemático empregado para encriptar / desencriptar dados com o uso das chaves de criptografia.

Bóson Treinamentos

Fábio dos Reis

Page 4: Introdução à criptografia

Princípios Básicos

Encriptação é a conversão de dados legíveis para um formato ilegível (texto cifrado) por pessoas não-autorizadas, usando uma chave e um algoritmo criptográfico. Seu objetivo é proteger a privacidade ao armazenarmos dados ou trocarmos informações com outras pessoas. O receptor da mensagem encriptada pode decriptá-la e ler seu conteúdo, no formato original.

Bóson Treinamentos

Fábio dos Reis

Page 5: Introdução à criptografia

Princípios Básicos

Desencriptação é o processo inverso da encriptação, ou seja, a transformação de dados encriptados (ilegíveis) em dados legíveis, usando uma chave e um algoritmo criptográfico (cifra).

Bóson Treinamentos

Fábio dos Reis

Page 6: Introdução à criptografia

Criptoanálise

Processo de transformação de dados cifrados (encriptados) em dados legíveis (decriptados) sem que se conheça a chave de encriptação. Portanto, trata-se de “quebrar” a encriptação dos dados para obter acesso ao conteúdo das mensagens. Porém com o intuito de descobrir falhas nos algoritmos para torná-los mais seguros, validá-los ou descartá-los. Ex.: Criptografia WEP

Bóson Treinamentos

Fábio dos Reis

Page 7: Introdução à criptografia

Requerimentos de Segurança em Comunicações - Autenticação - Integridade - Confidencialidade - Não-Repúdio

Bóson Treinamentos

Fábio dos Reis

Page 8: Introdução à criptografia

Integridade

Outro conceito importante é o da Integridade, que diz respeito ao conteúdo das informações trocadas entre transmissor e receptor. Deve-se garantir que o conteúdo da mensagem chegue íntegro a seu destino, ou seja, que não seja alterado de nenhuma forma no meio do caminho.

Bóson Treinamentos

Fábio dos Reis

Page 9: Introdução à criptografia

Autenticação

Outro princípio importante é o da Autenticação. A autenticação assegura que a mensagem foi realmente originada pelo remetente, e não por outra pessoa.

Bóson Treinamentos

Fábio dos Reis

Page 10: Introdução à criptografia

Confidencialidade

Confidencialidade significa que a informação não está disponível para pessoas e processos que não tenham autorização para acessá-la e utilizá-la.

Bóson Treinamentos

Fábio dos Reis

Page 11: Introdução à criptografia

Não-Repúdio

Deve-se também evitar que uma mensagem, após ter sido enviada, seja repudiada pelo transmissor - ele não poderá negar que a transmitiu. Para isso podemos utilizar, por exemplo, assinaturas digitais - que estudaremos ao longo do curso.

Bóson Treinamentos

Fábio dos Reis

Page 12: Introdução à criptografia

Tipos de Criptografia

Basicamente, há três tipos de técnicas de criptografia: ❏Criptografia de Chave Privada ou Simétrica ❏Criptografia de Chave Pública ou

Assimétrica ❏Funções de Hash

Bóson Treinamentos

Fábio dos Reis

Page 13: Introdução à criptografia

Criptografia de Chave Privada

Este tipo de criptografia utiliza uma única chave. O emissor utiliza essa chave para encriptar a mensagem, e o receptor utiliza a mesma chave para decriptá-la (chave compartilhada - shared key). Por utilizar a mesma chave na encriptação e decriptação, trata-se de uma técnica de Criptografia Simétrica.

Bóson Treinamentos

Fábio dos Reis

Page 14: Introdução à criptografia

Criptografia de Chave Privada

Mensagem (Texto Plano)

Mensagem (Texto Plano)

Mensagem (Texto

Encriptado)

Chave de criptografia (a mesma)

Chave Privada Chave Privada

Bóson Treinamentos

Fábio dos Reis

Remetente Destinatário

Page 15: Introdução à criptografia

Criptografia Simétrica

Usada no modo stream. Exemplos de algoritmos conhecidos: DES, 3DES, Blowfish, AES, OTP (One-Time-Pad)

Bóson Treinamentos

Fábio dos Reis

Page 16: Introdução à criptografia

Criptografia de Chave Pública

Neste tipo de criptografia usamos duas chaves distintas, de modo a obtermos comunicação segura através de canais de comunicação inseguros. Trata-se de uma técnica de Criptografia Assimétrica pelo fato de usar um par de chaves diferentes.

Bóson Treinamentos

Fábio dos Reis

Page 17: Introdução à criptografia

Criptografia de Chave Pública Cada participante possui uma chave pública e uma chave privada. A chave privada é secreta, e só o proprietário a conhece, ao passo que a chave pública é compartilhada com todos que se comunicarão conosco.

Por exemplo: Fábio quer se comunicar com Ana de forma segura. Então, Fábio encripta a mensagem com a chave pública de Ana, de modo que a mensagem só pode ser aberta usando-se a chave privada de Ana - que só ela possui.

Bóson Treinamentos

Fábio dos Reis

Page 18: Introdução à criptografia

Criptografia de Chave Pública

Mensagem (Texto Plano)

Mensagem (Texto Plano)

Mensagem (Texto

Encriptado)

Chaves de criptografia (diferentes)

Chave Pública Chave Privada

Bóson Treinamentos

Fábio dos Reis

Remetente Destinatário

Page 19: Introdução à criptografia

Criptografia Assimétrica

Transmissor e receptor possuem chaves diferentes, com tamanhos que variam entre 512 e 2048 bits Usada em modo de Bloco. Exemplos de algoritmos: DSA, RSA, GPG

Bóson Treinamentos

Fábio dos Reis

Page 20: Introdução à criptografia

Funções de Hash

A técnica de Hash não utiliza uma chave como as técnicas vistas anteriormente. Utiliza um valor de hash de tamanho fixo, o qual é computado sobre o texto plano. São usadas para verificar a integridade dos dados para garantir que não tenham sido inadvertidamente alterados. Verificações de senha podem usar funções de Hash também.

Bóson Treinamentos

Fábio dos Reis

Page 21: Introdução à criptografia

Funções de Hash

Gosto de comer Pizza!

A16B 2C5A BC76 8F20

Função de Hash

Criptográfico

Resumo / Valor de Hash

Dados

Bóson Treinamentos

Fábio dos Reis

Page 22: Introdução à criptografia

Funções de Hash

Alguns exemplos de funções de hash utilizadas atualmente incluem: MD5, SHA1, SHA2

Bóson Treinamentos

Fábio dos Reis

Page 23: Introdução à criptografia

Mais conceitos importantes

Alguns termos-chave e sinônimos: Texto simples = texto claro Encriptar = criptografar, cifrar Decriptar = decriptografar, decifrar Invasor: Alguém que tenta roubar informações, se passar por pessoas que eles não são, desativar sites da web, excluir dados sem permissão, parar serviços como uma loja online, etc.

Page 24: Introdução à criptografia

Chave Uma chave é um número secreto usado por um algoritmo de criptografia para alterar o texto plano e convertê-lo em texto cifrado. Se mesma chave for usada para encriptar e decriptar os dados, temos uma chave simétrica. A chave é gerada aleatoriamente. A chave é necessária pois manter o algoritmo em segredo não é efetivo - os invasores invariavelmente quebram o algoritmo (descobrem seu funcionamento). Um exemplo histórico disso é o algoritmo RC4, que foi postado na Internet em 1994 por hackers anônimos.

Page 25: Introdução à criptografia

Valores aleatórios

São conjuntos de números que passam em testes estatísticos de aleatoriedade e não são repetíveis. Para se obter números aleatórios usamos um RNG - Random Number Generator. Tratam-se de sistemas e dispositivos que usam dados de entradas como variações na corrente elétrica, decaimento radioativo, ruído de fundo, etc., para gerar valores que passem nos testes de aleatoriedade.

Page 26: Introdução à criptografia

RNG

RNG

423123698754221365321

1,2356874123 56326598763231 0,0000012200212

Valores variáveis de entrada

Valor aleatório gerado

Page 27: Introdução à criptografia

PRNG

Pseudo-Random Number Generator Trata-se de algoritmos que produzem números pseudo-aleatórios - números que passam em testes estatísticos, mesmo sendo repetíveis. A saída do PRNG pode ser alterada usando um valor chamado de semente (seed), que tem a função das entradas do RNG. A semente pode ser qualquer valor capturável pelo algoritmo, como a data e hora do dia, entradas do usuário e outros valores.

Page 28: Introdução à criptografia

Ataques contra chaves Se um invasor obtiver sua chave, ele poderá decriptar seus dados. Para tentar obter uma chave, um invasor pode tentar diversos métodos, como o ataque de força bruta. Neste tipo de ataque, devem-se tentar todas as chaves possíveis dentro do espaço de chaves até encontrar a correta. Com computadores modernos, é possível tentar centenas de milhões de chaves ou mais por segundo.

Page 29: Introdução à criptografia

Espaço de Chaves

Ou Intervalo de Chaves possíveis, é o tamanho da chave, medido em bits. Uma chave de 64 bits tem um intervalo de 0 a 264 combinações possíveis. Cada bit adicional dobra o tempo necessário para quebrar a chave - ou seja, chaves maiores dificultam o trabalho de um invasor.