Introdução à Criptografia
Bóson Treinamentos
Fábio dos Reis
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
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
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
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
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
Requerimentos de Segurança em
Comunicações
- Autenticação
- Integridade
- Confidencialidade
- Não-Repúdio
Bóson Treinamentos
Fábio dos Reis
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
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
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
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
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
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
Criptografia de Chave Privada
Mensagem
(Texto Plano)
Mensagem
(Texto Plano)
Mensagem
(Texto
Encriptado)
Chave de criptografia (a mesma)
Chave PrivadaChave Privada
Bóson Treinamentos
Fábio dos Reis
Remetente Destinatário
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
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
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
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
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
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
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
Funções de Hash
Alguns exemplos de funções de hash utilizadas
atualmente incluem:
MD5, SHA1, SHA2
Bóson Treinamentos
Fábio dos Reis
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.
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.
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.
RNG
RNG
423123698754221365321
1,2356874123 56326598763231 0,0000012200212
Valores variáveis de entrada
Valor aleatório gerado
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.
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.
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.

Introdução à criptografia - Bóson Treinamentos

  • 1.
    Introdução à Criptografia BósonTreinamentos Fábio dos Reis
  • 2.
    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
  • 3.
    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
  • 4.
    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
  • 5.
    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
  • 6.
    Criptoanálise Processo de transformaçãode 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
  • 7.
    Requerimentos de Segurançaem Comunicações - Autenticação - Integridade - Confidencialidade - Não-Repúdio Bóson Treinamentos Fábio dos Reis
  • 8.
    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
  • 9.
    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
  • 10.
    Confidencialidade Confidencialidade significa quea 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
  • 11.
    Não-Repúdio Deve-se também evitarque 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
  • 12.
    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
  • 13.
    Criptografia de ChavePrivada 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
  • 14.
    Criptografia de ChavePrivada Mensagem (Texto Plano) Mensagem (Texto Plano) Mensagem (Texto Encriptado) Chave de criptografia (a mesma) Chave PrivadaChave Privada Bóson Treinamentos Fábio dos Reis Remetente Destinatário
  • 15.
    Criptografia Simétrica Usada nomodo stream. Exemplos de algoritmos conhecidos: DES, 3DES, Blowfish, AES, OTP (One-Time- Pad) Bóson Treinamentos Fábio dos Reis
  • 16.
    Criptografia de ChavePú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
  • 17.
    Criptografia de ChavePú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
  • 18.
    Criptografia de ChavePú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
  • 19.
    Criptografia Assimétrica Transmissor ereceptor 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
  • 20.
    Funções de Hash Até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
  • 21.
    Funções de Hash Gostode comer Pizza! A16B 2C5A BC76 8F20 Função de Hash Criptográfico Resumo / Valor de Hash Dados Bóson Treinamentos Fábio dos Reis
  • 22.
    Funções de Hash Algunsexemplos de funções de hash utilizadas atualmente incluem: MD5, SHA1, SHA2 Bóson Treinamentos Fábio dos Reis
  • 23.
    Mais conceitos importantes Algunstermos-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.
  • 24.
    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.
  • 25.
    Valores aleatórios São conjuntosde 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.
  • 26.
  • 27.
    PRNG Pseudo-Random Number Generator Trata-sede 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.
  • 28.
    Ataques contra chaves Seum 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.
  • 29.
    Espaço de Chaves OuIntervalo 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.