Introdução a criptografia

32
Introdução a Criptografia Natanael Fonseca Arquiteto de Software 1

description

A little bit topic about cryptography related to PKI

Transcript of Introdução a criptografia

Page 1: Introdução a criptografia

1

Introdução a Criptografia

Natanael FonsecaArquiteto de Software

Page 2: Introdução a criptografia

2

Ementa1. Princípios básicos da Segurança da Informação2. Introdução a Criptografia;

– Criptografia;– Criptograma;– Ciframento e Desiframento;– CriptoAnálise;– Criptologia;– Anagrama;– Esteganografia.

3. Um pouco de história;– ATBASH;– Cítala Espartana;– Ciframento de César;– Cifrário de Vigenére;

4. Criptografia de chave simétrica;5. Criptografia de chave assimétrica;6. Diffie-Hellman;7. Modelo Hibrido;8. SSL;9. Assinatura Digital;10. Funções de Hash;

Page 3: Introdução a criptografia

3

Princípios Básicos da Segurança da Informação

• Confidencialidade:– Significa proteger informações contra sua revelação para alguém não

autorizado.• Autenticidade:

– Está associado com identificação correta de um usuário ou computador.

• Integridade:– Consiste em proteger a informação contra modificação sem a

permissão explícita do proprietário daquela informação. • Disponibilidade:

– Consiste na proteção dos serviços prestados pelo sistema de forma que eles não sejam degradados ou se tornem indisponíveis sem autorização

Page 4: Introdução a criptografia

4

Criptografia

Do grego, Kryptós: “escondido, oculto” e Graphein: “escrita”. È a arte ou ciência de escrever mensagens ocultas ou codificadas, ou seja, consiste em técnicas que procuram tornar possível a comunicação secreta entre dois agentes, sobre um canal aberto.

Page 5: Introdução a criptografia

5

• É um texto cifrado que obedece a um código e a uma lógica pré-determinados para decifrar a mensagem. O criptograma pode ser montado envolvendo números, letras, números e letras e símbolos gráficos.

Criptograma

Page 6: Introdução a criptografia

6

Ciframento e Deciframento

• Cifrar uma mensagem, consiste em aplicar uma técnica de criptografia para obter um criptograma a partir de um mensagem.

• Decifrar uma mensagem, consiste em aplicar uma técnica de criptografia para obter a mensagem original contida em um criptograma.

Page 7: Introdução a criptografia

7

CriptoAnáliseA criptoanálise é a arte de tentar descobrir o texto cifrado e/ou a lógica utilizada em sua encriptação (chave).

As pessoas que participam desse esforço são denominadas criptoanalistas. Da fusão da criptografia com a criptoanálise, forma-se a criptologia.

http://www.cryptool.org/en/jcryptool

Page 8: Introdução a criptografia

8

Criptologia

• É a disciplina científica que reúne e estuda os conhecimentos (matemáticos, computacionais, psicológicos, filológicos, etc.) e técnicas necessários à criptoanálise (solução de criptogramas) e à criptografia (escrita codificada).

Page 9: Introdução a criptografia

9

Anagrama

• (do grego ana = "voltar" ou "repetir" + graphein = "escrever") é uma espécie de jogo de palavras, resultando do rearranjo das letras de uma palavra ou frase para produzir outras palavras, utilizando todas as letras originais exatamente uma vez. Um exemplo conhecido é o nome da personagem Iracema, claro anagrama de América, no romance de José de Alencar.

Page 10: Introdução a criptografia

10

Esteganografia

Do grego: ("escrita escondida"). É o estudo e uso das técnicas para ocultar a existência de uma mensagem dentro de outra. Em outras palavras, esteganografia é o ramo particular da criptologia que consiste em fazer com que uma forma escrita seja camuflada em outra a fim de mascarar o seu verdadeiro sentido.

Page 11: Introdução a criptografia

11

Técnicas de Esteganografia

• Ruído;• Espalhando a Informação;• Ordenação;• Dividindo a Informação;

Page 12: Introdução a criptografia

12

Criptografia e Esteganografia

Nunca confundir, Pois são conceitos diferentes !

“Enquanto a primeira oculta o significado, a segunda oculta a existência da mensagem.”

Page 13: Introdução a criptografia

13

Um pouco de História

Ao que se tem conhecimento, as técnicas de criptografia mais antigas, foram usadas para construir:

» ATBASH » Cítala Espartana;» Ciframento de César;» Substituição MonoAlfabética;» Cifrário de Vigenére;» Dentre outros..............muitos outros.........

Page 14: Introdução a criptografia

14

Na Bíblia, o livro de Jeremias usa um código extremamente simples do alfabeto hebreu para a história de Babel: a primeira letra do alfabeto hebreu (Aleph) é trocada pela última (Taw), a segunda letra (Beth) e trocada pela penúltima (Shin) e assim sucessivamente. Destas quatro letras deriva o nome da cifra: Aleph Taw Beth SHin - ATBASH. l Aplicando o sistema do Atbash ao alfabeto latino obtemos a seguinte tabela de substituição:

ATBASH

A B C D E F G H I J K L M

Z Y X W V U T S R Q P O N

Page 15: Introdução a criptografia

15

Cítala EspartanaUma forma de transposição utiliza o primeiro dispositivo de criptografia militar conhecido, a cítala espartana, que remonta ao séc. V a.C. O cítala consiste num bastão no qual é enrolada uma tira de couro ou pergaminho, como mostrado na figura abaixo.

O remetente escreve a mensagem ao longo do bastão e depois desenrola a tira, a qual então se converteu numa seqüência de letras sem sentido. O mensageiro usa a tira como cinto, com as letras voltadas para dentro.

O destinatário, ao receber o "cinto", enrola-o no seu bastão, cujo diâmetro é igual ao do bastão do remetente. Desta forma, pode ler a mensagem.

Page 16: Introdução a criptografia

16

Ciframento de César

• Apesar da sua simplicidade (ou exatamente devido a ela), esta cifra foi utilizada pelos oficiais sulistas na Guerra de Secessão americana e pelo exército russo em 1915.

•A cifra ROT13, que surgiu em 1984 na USENET, baseia-se numa substituição na posição 13 (A por N, B por O, etc).

•Com o uso de dois discos concêntricos contendo todas as letras do alfabeto, a substituição se torna extremamente simples. Estes discos, inclusive, já foram utilizados como brinquedo que fazia a alegria de muitas crianças (... e de adultos também).

Page 17: Introdução a criptografia

17

Cifrário de Vigenére• O uso das carreiras de Vigenère é muito sujeito a erros. A

leitura é penosa e, depois de algum tempo, bastante fatigante. Trabalhar com réguas sobre a tabela de alfabetos cifrantes também acaba cansando. Devido a este fato, a partir de 1880, muitos criptólogos passaram a utilizar a chamada Régua de Saint-Cyr .

Page 18: Introdução a criptografia

18

Chave simétrica

• Esse é um tipo de chave mais simples, onde o emissor e o receptor fazem uso da mesma chave, isto é, uma única chave é usada na codificação e na decodificação da informação. Existem vários algoritmos que usam chaves simétricas, como o DES, o IDEA, e o RC.

Page 19: Introdução a criptografia

19

Algoritmos de Chave Simétrica • DES (Data Encryption Standard): criado pela IBM em 1977, faz uso de chaves de 56

bits. Isso corresponde a 72 quatrilhões de combinações. É um valor absurdamente alto, mas não para um computador potente. Em 1997, esse algoritmo foi quebrado por técnicas de "força bruta" (tentativa e erro) em um desafio promovido na internet;

• IDEA (International Data Encryption Algorithm): criado em 1991 por James Massey e Xuejia Lai, o IDEA é um algoritmo que faz uso de chaves de 128 bits e que tem uma estrutura semelhante ao DES. Sua implementação em software é mais fácil do que a implementação deste último;

• RC (Ron's Code ou Rivest Cipher): criado por Ron Rivest na empresa RSA Data Security, esse algoritmo é muito utilizado em e-mails e faz uso de chaves que vão de 8 a 1024 bits. Possui várias versões: RC2, RC4, RC5 e RC6. Essencialmente, cada versão difere da outra por trabalhar com chaves maiores.

Há ainda outros algoritmos conhecidos, como o AES (Advanced Encryption Standard) - que é baseado no DES - , o 3DES, o Twofish e sua variante Blowfish, entre outros.

Page 20: Introdução a criptografia

20

Vantagens no uso da chave simétrica

• Desempenho;• Simplicidade;• Constante Atualização;

Page 21: Introdução a criptografia

21

Desvantagens das chaves simétricas

• A necessidade constante de chave secreta;• Dificuldade para gerenciar grandes

quantidades de chaves em larga escala;• Dificuldade para iniciar uma comunicação

segura entre entidades desconhecidas;

Page 22: Introdução a criptografia

22

Chave assimétricaTambém conhecida como "chave pública", a chave assimétrica trabalha com duas chaves: uma denominada privada e outra denominada pública. Neste método, um emissor deve criar uma chave de codificação e enviá-la ao receptor. Essa é a chave pública. Uma outra chave deve ser criada para a decodificação. Esta, a chave privada, é secreta.

Page 23: Introdução a criptografia

23

Algoritmos de Chave Assimétrica • RSA (Rivest, Shamir and Adleman): criado em 1977 por Ron Rivest, Adi Shamir e Len

Adleman nos laboratórios do MIT (Massachusetts Institute of Technology), é um dos algoritmos de chave assimétrica mais usados. Nele, números primos são utilizados da seguinte forma: dois números primos são multiplicados para se obter um terceiro valor. Porém, descobrir os dois primeiros números a partir do terceiro é muito trabalhoso. Se dois números primos grandes forem usados na multiplicação, será necessário usar muito processamento para descobrí-los, tornando essa tarefa praticamente inviável. Basicamente, a chave privada no RSA são os números multiplicados e a chave pública é o valor obtido;

• ElGamal: criado por Taher ElGamal, esse algoritmo faz uso de um problema matemático conhecido por "logaritmo discreto" para se tornar seguro. Sua utilização é freqüente em assinaturas digitais.

Existem ainda outros algoritmos, como o DSA (Digital Signature Algorithm), o Schnorr (praticamente usado apenas em assinaturas digitais) e Diffie-Hellman.

Page 24: Introdução a criptografia

24

Desvantagens

• Lentidão no processamento;

– Grandes quantidades de informações sendo criptografadas pode ser um problema.

• Confiança no repositório de chaves públicas;

– Possibilidade de escolher quem terá a chave;

• Encontrar uma maneira de confiar na informação;

– Como garantir que a chave pública de João é realmente de João ?

Page 25: Introdução a criptografia

25

Diffie-Hellman

• Método de criptografia desenvolvido por Whitfield Diffie e Martin Hellman e publicado em 1976.

• O algoritmo pode ser usado para a distribuição de chaves, mas não para cifrar ou decifrar mensagens.

Page 26: Introdução a criptografia

26

Modelo Hibrido

• Trata-se de utilizar o melhor dos dois mundos.

– Encapsulamento da chave usando chave assimétrica;

• Ex: RSA.

– Encapsulamento dos dados usando chave simétrica;

• Ex: DES.

Page 27: Introdução a criptografia

27

Modelo Hibrido

Page 28: Introdução a criptografia

28

O Conhecido SSL(HTTPS)

Page 29: Introdução a criptografia

29

Assinatura Digital

Page 30: Introdução a criptografia

30

Funções de Hash

• O que é Hash ?

• O conceito teórico diz que :

• "hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações".

Page 31: Introdução a criptografia

31

Uso do HASH

Sua utilização como componente de assinatura digital, é necessária em virtude da lentidão dos algoritmos assimétricos, ou seja, em vez disso é empregada uma função de HASH, que gera um valor pequeno.

Algoritmos de hash mais usados, são:

• MD4;• MD5;• SHA-1;• WHIRPOOL.

Page 32: Introdução a criptografia

32

Referencias

• Hook, David. Beginning Cryptography with Java, 1. ed. Wrox Press, 2005. ISBN:0764596330.

• Knudsen, Jonathan B. Java Cryptography, 1. ed. O'Reilly, 1998. ISBN: ISBN: 1-56592-402-9.

• Silva, Lino Sarlo Da. Public Key InfraEstructire - PKI, 1. ed. NOVATEC, 2004. ISBN: 8575220462.

• Singh, Simon. Livro dos Codigos, 1. ed. Record, 2001. ISBN: 8501055980.