O documento fornece uma introdução aos conceitos básicos de criptografia, descrevendo seus principais termos e técnicas. Aborda os tipos de criptografia simétrica e assimétrica, funções hash, e conceitos como chaves, valores aleatórios e ataques de força bruta.
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çã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
7. Requerimentos de Segurança em
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 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
11. 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
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 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
14. 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
15. 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
16. 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
17. 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
18. 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
19. 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
20. 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
21. 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
22. Funções de Hash
Alguns exemplos de funções de hash utilizadas
atualmente incluem:
MD5, SHA1, SHA2
Bóson Treinamentos
Fábio dos Reis
23. 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.
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 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.
27. 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.
28. 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.
29. 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.