CRIPTOGRAFIA

Transcrição

CRIPTOGRAFIA
CRIPTOGRAFIA
Everson Santos Araujo
[email protected]
Introdução
• Criptografia, do grego kryptos (escondido,
oculto) mais a palavra grápho (grafia, escrita), é
a ciência de escrever em códigos ou em cifras.
» Através desta técnica se transforma um texto “em
claro” em um texto “cifrado”
http://everson.por.com.br
2
Introdução
• Criptoanálise, do grego krypto mais a palavra
análysis (decomposição), é a ciência que
estuda a recuperação do que está oculto
• Criptologia é a ciência que engloba a
criptografia e a criptoanálise
http://everson.por.com.br
3
Objetivo
• A criptografia fornece técnicas que permitem a
codificação e decodificação dos dados, onde os
mesmos podem ser transmitidos e
armazenados sem que haja alterações ou
exposição à entidade não autorizada
• O objetivo da criptografia é prover uma
comunicação segura, garantindo aos serviços a
confidencialidade
http://everson.por.com.br
4
História - na Idade Antiga
• 1900 a.C. Khnumhotep II, arquiteto do faraó
Amenemhet II, construiu alguns monumentos
que precisavam ser documentados. Contudo,
estas informações, escritas em tabletes de
argila, não deveriam cair no domínio público
• Seu escriba teve a idéia de substituir algumas
palavras do texto destes tabletes. Assim, em
caso de roubo o ladrão não encontraria o
caminho que o levaria ao tesouro
http://everson.por.com.br
5
Histórico - na Idade Antiga
• 1500 a.C. criptologia da Mesopotâmia chegou a
um nível bastante moderno. O primeiro registro
do uso da criptografia nesta região está numa
fórmula para fazer esmaltes para cerâmica
• O tablete que contém a fórmula tem
apenas 8 x 5 cm e foi achado às
margens do rio Tigre. Usava
símbolos especiais que podem ter
vários significados diferentes
http://everson.por.com.br
6
Histórico - na Idade Antiga
• 600-500 a.C. Atbash, Albam e Atbah são três
das cifras hebraicas mais conhecidas. Eram
usadas principalmente em textos religiosos escribas hebreus usaram a cifra Atbash para
escrever o livro de Jeremias
• Estas cifras baseiam-se no sistema de
substituição simples (ou substituição
monoalfabética). As três são, então, reversíveis
porque na primeira operação obtém-se o texto
cifrado e, aplicando-se a mesma cifra ao texto
cifrado, obtém-se o texto original
http://everson.por.com.br
7
Atbash, Albam e Atbah
http://everson.por.com.br
8
Histórico - na Idade Antiga
• 475 a.C. Tucídides conta sobre ordens
entregues ao príncipe e general espartano
Pasanius, pode ser considerado o sistema de
criptografia militar mais antigo, o scytale ou
bastão de Licurgo
• Um bastão de madeira ao redor do qual se
enrola uma tira de couro ou pergaminho, longa
e estreita. Escreve-se a mensagem no sentido
do comprimento do bastão, a tira é desenrolada
e contém a mensagem cifrada
http://everson.por.com.br
9
Destacam-se ainda, na Idade Antiga
» Euclides de Alexandria (330 a.C. a 270 a.C.)
! matemático grego que compilou e sistematizou a geometria e a teoria dos
números da sua época no famoso texto “Elementos”
» Erastótenes de Cirene (276 a.C. a 194 a.C.)
! filósofo e geômetra grego, conhecido como criador de um método para
identificar números primos, o “Crivo de Erastótenes”
» Políbio (204 a.C. a 122 a.C.)
! historiador grego que criou o “Código Políbio”. Cifra-se uma letra com um
par de números, entre 1 e 5, tendo por base uma tabela de 5x5. O telégrafo
ótico
» Júlio César (50 a.C.)
! usava na sua correspondência particular uma cifra na qual cada letra da
mensagem original era substituída pela letra que a seguia em três posições
no alfabeto
http://everson.por.com.br
10
Histórico - na Idade Média
• Na Idade Média (476 a 1453), cujo período
inicial também foi chamado de “período das
trevas”, a contribuição árabe-islâmica (Al-Kindi,
801-873) foi significativa, principalmente com a
invenção da criptanálise para a substituição
monoalfabética
http://everson.por.com.br
11
Histórico - na Idade Média
• A Itália foi a primeira a acordar, sendo
responsável pelos primeiros grandes avanços
• Veneza criou uma organização especializada
em 1452, cujo único objetivo era lidar com a
criptologia
» Composta por três secretarias que solucionavam e
criavam cifras que eram usadas pelo governo
http://everson.por.com.br
12
Histórico - na Idade Moderna
• A Idade Moderna viu uma verdadeira explosão
na criptologia. Trocavam-se idéias, faziam-se
experiências e estudos e, principalmente,
publicavam-se trabalhos. Foi um período de
grandes inovações e de grande expansão na
criptologia
• Pararam de perseguir, prender e queimar os
“bruxos da criptologia” porque os interesses de
estado dependiam cada vez mais de
criptógrafos e criptoanalistas qualificados
http://everson.por.com.br
13
Histórico - na Idade Moderna
• Em 1466 Leon Battista Alberti inventou a
primeira cifra polialfabética criando o disco de
cifragem
» O Disco de Alberti, como ficou
conhecido, é um melhoramento
do código de César, recorrendo
a dois discos. A chave consiste
em escolher uma letra do disco
interno (móvel) e fazê-la
coincidir com uma outra do
disco externo (fixo)
http://everson.por.com.br
14
Histórico - na Idade Moderna
• É de Johannes Trithemius (1462-1516) o
primeiro livro impresso sobre criptologia (1518).
Criador da “Tabela de transposição”, foi o
pioneiro na Substituição com chave progressiva
» Cifrando a primeira letra da
mensagem com a primeira linha, a
décima segunda letra com a décima
segunda linha, sucessivamente.
» Ao alcançar a última linha da tabela,
recomeça com a primeira linha
http://everson.por.com.br
15
Histórico - na Idade Moderna
• Giovanni Battista Bellaso (1553-1564) publicou
algumas cifras de substituição polialfabética
» Introduzindo assim o conceito de palavras-chave, o
antepassado da senha
http://everson.por.com.br
16
Histórico - na Idade Moderna
• Philibert Babou (1558), para escapar da
análise da freqüência de ocorrência de letras,
criou uma solução que consiste em substituir
uma letra não por um símbolo convencionado,
mas sim por um de vários símbolos
• O número de símbolos
referentes a cada letra do texto
claro deve ser proporcional à
sua frequência na língua
utilizada, técnica de
substituição homofônica
http://everson.por.com.br
17
Histórico - na Idade Moderna
• Sir Francis Bacon (1561-1626) é o inventor de
um sistema de esteganografia que ele publicou
em The Advancement of Learning. Denominou
seu alfabeto de biliteral porque utiliza uma
combinação das duas letras A e B em grupos
de cinco
• A cifra é conhecida pelo seu nome, Cifra de
Bacon, hoje em dia classificada como
codificação binária de 5-bits
http://everson.por.com.br
18
Cifra de Bacon
Letra
A
B
C
D
E
F
G
H
I/J
K
L
M
Bacon
aaaaa
aaaab
aaaba
aaabb
aabaa
aabab
aabba
aabbb
abaaa
abaab
abaab
ababb
http://everson.por.com.br
Binário
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01001
01010
Letra
N
O
P
Q
R
S
T
U/V
W
X
Y
Z
Bacon
abbaa
abbab
abbba
abbbb
baaaa
baaab
baaba
baabb
babaa
babab
babba
babbb
Binário
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
19
Uso da Cifra de Bacon
B
A
C
O
N
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 01 1 0 0
c h e c a r a s e g u r a n ç a do s i s t ema
checar a segurança do sistema
checAr a seguraNça DO sIsTEma
http://everson.por.com.br
20
Alfabeto de Bacon
http://everson.por.com.br
21
A EVOLUÇÃO
Evolução
• A evolução da criptografia aconteceu em três
fases distintas:
» manual
» por máquinas
» em rede
• Na criptografia por máquinas, uma tabela
predeterminada era usada em conjunto com
uma máquina, onde o operador desta, usando a
tabela e manipulando a máquina podia enviar
uma mensagem criptografada
http://everson.por.com.br
23
Criptografia por Máquinas
• Os primeiros relatos constam dos Cilindros
Cifrantes, uma invenção do século XIX,
utilizados pelos militares no século XX até a
Segunda Guerra Mundial
» São constituídos por vários discos com um orifício
central, montados sobre um eixo. Devem poder rodar
independentemente e, na sua superfície mais
externa, possuem alfabetos permutados. O cilindro é
montado com discos que possuam sequências de
letras diferentes
http://everson.por.com.br
24
GRANDES GUERRAS
A Primeira Guerra Mundial
• Em janeiro de 1917, os serviços secretos
britânicos interceptaram um telegrama cifrado
do ministro Arthur Zimmermann, direto para o
embaixador alemão em Washington, o conde
Von Bernstorff
• A mensagem tinha sido cifrada pelo Código
0075, um dicionário de lista dupla de 10 mil
palavras ou frases, que os britânicos já haviam
conseguido decifrar antes, ainda que só
parcialmente
http://everson.por.com.br
26
A Segunda Guerra Mundial
• Os aliados perceberam que a lógica
matemática poderia ser usada para decifrar as
mensagens alemãs, apenas se os cálculos
pudessem ser feitos rapidamente
• Convocado em 4 de setembro de 1940, Alan
Turing deixou Cambridge para ir para a Escola
de Cifras e Códigos do Governo Inglês
• Os alemães tinham desenvolvido um sistema
superior de codificação, e os lingüistas tiveram
que dar licença para os matemáticos
http://everson.por.com.br
27
A Segunda Guerra Mundial
• A invenção alemã era a ENIGMA, uma máquina
codificadora que inovava associando a elétrica
com a mecânica
» O movimento eletromecânico exercia-se
concentricamente sobre vários rotores em um eixo
» Cada rotor tinha 26 contatos, eqüidistantes uns dos
outros e do centro. A chave era manualmente
introduzida e determinava o posicionamento inicial
dos rotores
» A cada letra da mensagem, estes rodavam
por saltos sucessivamente
http://everson.por.com.br
28
Enigma
http://everson.por.com.br
29
A Segunda Guerra Mundial
• Alan Turing, The Bombe
» Usado para agilizar o processo de
decifrar as mensagens do enigma
• Max Newman, Colossus
» Determinava a combinação que tinha
sido utilizada para cifrar uma
mensagem
! Paralelo assíncrono, 2.500 válvulas, Unidade de
leitura de fita de 5 canais com velocidade de 5.000
kc/s, Unidade de saída construída com um teletipo
http://everson.por.com.br
30
O Pós-Guerra
• National Security Agency (NSA), criada em
1952 pelo governo dos Estados Unidos, a fim
de centralizar e liderar todos os esforços
governamentais em criptologia
• A agência se transformaria no maior
concentrador de matemáticos e linguistas, o
centro com a maior capacidade computacional
do planeta e a maior quantidade de
supercomputadores em um mesmo lugar
http://everson.por.com.br
31
TIPOS DE
CRIPTOGRAFIA
Tipos de Criptografia
• Quanto a chave:
» Simétricos
! A mesma chave é usada tanto para criptografar como para descriptografar
as mensagens
» Assimétricos
! Utiliza 2 chaves diferentes, que pertencem apenas a 1 participante. Elas
estão matematicamente relacionadas, mas é computacionalmente
impossível obter uma a partir apenas da outra. Uma é chamada PÚBLICA
(CP) a outra é SECRETA (CS) e deve ser guardada em sigilo
http://everson.por.com.br
33
Criptografia Simétrica
• As criptografias até então apresentadas são
simétricas:
» Transposição
» Substituição Monoalfabética
! Monogrâmico
! Poligrâmico
! Tomogrâmico
» Substituição Polialfabética
! Chave Progressiva
! Palavra-Chave
! Auto-Chave
http://everson.por.com.br
34
Criptografia Simétrica por Transposição
• Consiste em misturar as letras do texto original
de acordo com uma regra reversível qualquer.
Em outras palavras, o texto cifrado é um
criptograma obtido através da permutação do
texto original
» Exemplos:
! O Bastão de Licurgo - Scytale
! A Fórmula Sator
! Transposições Geométricas
! Rail Fence
! Grade Giratória
! A Cifra de Bazeries
http://everson.por.com.br
35
Criptografia Simétrica por Substituição
• Um dos métodos dessa classe de criptografia é
o da substituição monoalfabética, também
conhecida como substituição simples
» Substitui-se cada um dos caracteres do texto original
por outro, de acordo com uma tabela préestabelecida, para se obter o texto cifrado.
http://everson.por.com.br
36
Criptografia Simétrica por Substituição
• Tipos de Monoalfabética:
» Monogrâmico
! Cada letra da mensagem original é substituída por apenas uma outra letra,
número ou símbolo. (Cifras Hebraicas, Código de César, Cifra do KamaSutra, Cifra dos Templários, Cifra de Pig Pen, Cifra de Bazeries)
» Poligrâmico
! Se substitui um ou mais caracteres da mensagem original por uma ou mais
letras, números ou símbolos. Portanto, o comprimento da mensagem
cifrada nem sempre é o mesmo da mensagem original. (Cifra de Babou)
» Tomogrâmico
! Aqueles nos quais cada letra é representada por um grupo de duas ou mais
letras ou números. (O Código de Políbio, A Cifra de Bacon)
http://everson.por.com.br
37
Criptografia Simétrica por Substituição
• Outro método é o da substituição polialfabética
» O termo alfabeto se aplica ao conjunto de símbolos
que serão utilizados para substituir os símbolos
(letras) originais
» Numa substituição polialfabética utiliza-se múltiplos
alfabetos para praticar a substituição de uma mesma
mensagem
! Exemplos: O disco de Alberti, A Tabula Recta de Trithemius, Bellaso e a
Palavra-Chave, A Cifra de Della Porta, A Cifra de Vigenère, O Cilindro de
Jefferson, As Cifras Playfair, A Cifra de Beaufort, A Família Vigenère.
http://everson.por.com.br
38
Os destaques da Criptografia Simétrica
• 1974, IBM apresenta a cifra Lucifer ao National
Bureau of Standards (NBS), que com a ajuda
da NSA, introduz algumas modificações e adota
a cifra como padrão de encriptação de dados
para os EUA, chamando de FIPS PUB-46,
conhecido hoje como DES - Data Encryption
Standard
http://everson.por.com.br
39
Os destaques da Criptografia Simétrica
• DES, chave de 56 bits e blocos de 64 bits
» Projetado inicialmente para ser utilizado em
componentes de hardware, nos dias atuais, ele é
usado na Internet em conexões Web segura, o
protocolo SSL (https) se utiliza do DES
• Atualmente é utilizada uma versão aprimorada
deste, o 3DES ou DES Triplo, que nada mais é
do que um DES no qual um bloco de dados é
criptografado três vezes com diferentes chaves
http://everson.por.com.br
40
Os destaques da Criptografia Simétrica
• 1987, Ron Rivest desenvolveu o algoritmo RC4,
10 vezes mais rápido do que o DES
» O algoritmo consiste em utilizar uma matriz que a
cada passo tem os seus valores permutados e
misturados com a chave, o que provoca que seja
muito dependente desta matriz. A chave pode ter até
256 bytes (2048 bits), embora o algoritmo seja mais
eficiente quando é menor, pois a perturbação
aleatória induzida na matriz é superior
» 1994, criado o RC5. Permitindo que o usuário defina
o tamanho da chave, o tamanho do bloco, e o
número de passos do algoritmo de encriptação
http://everson.por.com.br
41
Os destaques da Criptografia Simétrica
• 1991, em Zurique na Suíça, por James Massey
e Xuejia Lai, nasce o IDEA (International Data
Encryption Algorithm)
» Projetado para ser facilmente programado, é forte e
resistente a muitas formas de criptoanálise
• O algoritmo é estruturado seguindo as mesmas
linhas gerais do DES mas com uma chave de
128 bits
http://everson.por.com.br
42
CHAVES PÚBLICAS E
PRIVADAS
Criptografia Assimétrica
• A criptografia de chave pública ou criptografia
assimétrica, foi criada em 1970. Esse método
funciona com uma chave para criptografar, e
outra para descriptografar a mesma mensagem
• No sistema de chave pública, cada pessoa tem
que ter duas chaves, uma que fica
publicamente disponível, e outra, que deve ser
mantida em segredo
• O algoritmo que se mantém até hoje é o RSA,
que é patenteado pela RSADSI (RSA Data
Security Incorporated) nos Estados Unidos
http://everson.por.com.br
44
Criptografia Assimétrica
• RSA é um algoritmo de encriptação de dados,
que deve o seu nome a três professores do
Instituto MIT, Ron Rivest, Adi Shamir e Len
Adleman.
» Fundamenta-se em Teorias Clássicas dos Números.
É considerado dos mais seguros, já que ainda não
foi quebrado. É também o primeiro algoritmo a
possibilitar encriptação e assinatura digital
http://everson.por.com.br
45
Criptografia Assimétrica
! As pessoas (A) e (C),
escrevem mensagens,
utilizando a chave pública da
pessoa (B), a partir desse
momento somente a pessoa
(B), poderá ler as mensagens;
! As mensagens são enviadas à
pessoa (B);
! A pessoa (B), recebe as
mensagens de (A) e (C), e usa
a sua chave privada para
descriptografar;
! A pessoa (B), lê as
mensagens, e se, tiver que
responde-las, deverá usar as
chaves públicas de criptografia
de (A) e/ou (C).
http://everson.por.com.br
A
B
B
Pública
Privada
C
B
Pública
46
Criptografia Assimétrica
• Assinatura Digital usa a chave privada para
escrita, e o sentido das chaves acaba sendo
outro. Todos que tem a chave pública vão
conseguir ler a mensagem
• Entretanto, somente quem tem a chave privada
é capaz de ter gerado esse código, logo, a
mensagem deixa de ser secreta, e se torna
uma mensagem autêntica
http://everson.por.com.br
47
Assinatura + Criptografia
• Nesse método, temos certeza de quem é a
pessoa que nos enviou a mensagem, pois,
usamos sua chave pública para abrir a
mensagem. E precisamos da nossa chave
privada, para decifrar o texto.
• Vantagens
» utilização de chaves distintas, integridade, fácil
distribuição e assinatura digital
• Desvantagem
» lentidão
http://everson.por.com.br
48
A popularização da Criptografia
• PGP (Pretty Good Privacy) trata-se de um
software gratuito de criptografia criado por
Philip Zimmermman em 1991
• A intenção foi a de ajudar na defesa da
liberdade individual, uma vez que ele percebeu
que o uso do computador seria algo cada vez
maior e que o direito à privacidade deveria ser
mantido. Por ser gratuito, o PGP acabou se
tornando uns dos meios de criptografia mais
conhecidos, principalmente na troca de e-mails
http://everson.por.com.br
49
A popularização da Criptografia
• No PGP, são usadas chaves assimétricas
• Além disso, para reforçar a segurança, o
software pode realizar um segundo tipo de
criptografia através de um método oriundo do
IDEA que, na verdade, é um tipo de chave
simétrica
http://everson.por.com.br
50
ALGORITMOS PARA
INTEGRIDADE
Algoritmos para Integridade - Hash
• Hash é a transformação de uma grande
quantidade de informações em uma pequena
quantidade de informações
» São fórmulas matemáticas que convertem uma
mensagem com qualquer comprimento em uma
mensagem com comprimento fixo de dígitos que
representa a mensagem original
» É uma função de sentido único, ou seja, não é
possível reverter para a mensagem original
http://everson.por.com.br
52
Algoritmos para Integridade
• MD5 criado por Ron Rivest produz uma
mensagem de 128 bits, para uma mensagem
de entrada de tamanho arbitrário. Seus
detalhes são públicos, e têm sido analisados
pela comunidade de criptografia
• Foi descoberta uma fraqueza em parte do MD5,
mas até agora ela não afetou a segurança
global do algoritmo
http://everson.por.com.br
53
Algoritmos para Integridade
• SHA-1 (Secure Hash Algorithm One), é uma
função de espalhamento unidirecional criada
pela NSA, gera uma mensagem de 160 bits, a
partir de um tamanho arbitrário de mensagem
• O funcionamento interno do SHA-1 é muito
parecido com o do MD4
• Atualmente, não há nenhum ataque conhecido
contra o SHA-1
http://everson.por.com.br
54
ENTIDADES
CERTIFICADORAS
Certificação de chave pública
• Garantia de que uma chave pública realmente
pertença a quem assim o diz
• Essa garantia é dada por um certificado que
associa a identidade de alguém a uma dada
chave pública
• A autenticidade do certificado é garantida pela
assinatura digital de uma entidade confiável, a
AUTORIDADE CERTIFICADORA
http://everson.por.com.br
56
Certificação de chave pública
• O certificado pode ser enviado junto com a
mensagem ou estar disponível em um serviço
online, permitindo a autenticação de um
participante sem necessidade de manter
cadastro do mesmo ou sequer de ter tido um
contato prévio com ele
• A aceitação de um certificado envolve a
conferência da assinatura digital, usando a
chave pública da Autoridade Certificadora
http://everson.por.com.br
57
Certificação de chave pública
http://everson.por.com.br
58
NO BRASIL
ICP Brasil
• Infra-Estrutura de Chaves Públicas Brasileira.
• Conjunto de técnicas, práticas e
procedimentos, a ser implementado
pelas organizações governamentais e
privadas brasileiras com o objetivo de
estabelecer os fundamentos técnicos e
metodológicos de um sistema de
certificação digital baseado em chave
pública
http://everson.por.com.br
60
Instituto Nacional de Tecnologia da Informação
• Autarquia federal vinculada à Casa Civil da
Presidência da República, é a Autoridade
Certificadora Raiz - AC Raiz da ICP-Brasil
» Tem por competências emitir, expedir, distribuir,
revogar e gerenciar os certificados das AC de nível
imediatamente subseqüente ao seu;
» Gerenciar a lista de certificados
emitidos, revogados e vencidos;
» Executar atividades de fiscalização e auditoria das
AC, das Autoridades de Registro - AR e dos
prestadores de serviço habilitados na ICP-Brasil
http://everson.por.com.br
61