Вы находитесь на странице: 1из 65

Curso Preparatrio

Perito Criminal Federal

Criptografia
Aula 1/3

Prof. Ivo Peixinho


Perito Criminal Federal
Especialista em Sistemas Distribudos

Chefe da Diviso de Informtica


Coordenao de TI - Polcia Federal
Ementa (aula 1)
Criptografia.
Conceitos bsicos
Sistemas criptogrficos
simtricos
chave pblica

Modos de operao de
cifras.
Ementa (aula 2)
Criptografia.
Certificao digital.
Protocolos criptogrficos.
Ementa (aula 3)
Criptografia.
Caractersticas dos
algoritmos
Assimtricos: RSA
Simtricos: DES, e AES
Funes hash
MD5 e SHA-1.

Esteganografia
Introduo
Criptografia
Cincia da escrita em
cdigos secretos
Prtica e estudo sobre
esconder informao
Etimologia Grega
Cripto = escondido
Grafia = escrita
Ramo da matemtica (parte
da criptologia)
Troca de mensagens secretas
entre duas partes
Introduo
Criptografia
Conceitos Bsicos

Emissor
Envia uma mensagem de forma
segura
Comumente chamado de Alice
Receptor
Recebe uma mensagem de forma
segura
Comumente chamado de bob
Adversrio
Busca interceptar e obter
conhecimento sobre a mensagem
Conceitos Bsicos
Texto em claro (plaintext,
cleartext)
Texto original
Texto cifrado (ciphertext)
Texto desordenado
Criptograma
Conceitos Bsicos
Ciframento (encryption,
encipher)
Processo de embaralhar
mensagens
Criptografia
Cifragem
Deciframento (decryption,
decipher)
Processo de desembaralhar
mensagens
Decriptografia
Decifragem
Conceitos Bsicos
Conceitos Bsicos
Criptografia (cryptography)
Arte e cincia de manter
mensagens seguras
Criptgrafos (cryptographers)
Praticam a criptografia
Criptoanalistas
(cryptoanalysts)
Praticantes da criptoanlise
Criptoanlise (cryptoanalysis)
Arte e cincia de quebrar
textos cifrados
Conceitos Bsicos
Criptologia (cryptology)
Ramo da matemtica que cobre tanto a criptografia e a
criptoanlise
Criptologistas (cryptologists)
Praticantes da criptologia

Matemtica

Criptologia

Criptografia Criptoanlise
Conceitos Bsicos
Sistema Criptogrfico
(cryptosystem)
Combinao de um
algoritmo e todas as
possiveis mensagens, textos
cifrados e chaves
Cifra ou Algoritmo
criptogrfico (cypher /
Algorithm)
Funo matemtica usada
para cifrar ou decifrar
mensagens
Conceitos Bsicos
Chave criptogrfica
Utilizada na criptografia
moderna para proteger o
texto cifrado
Somente o possuidor da
chave correta poder
decifrar o texto
Alguns algoritmos usam
chaves diferentes para cifrar
e decifrar
Toda a segurana baseada
na chave (os detalhes do
algoritmo so pblicos)
Conceitos Bsicos
Segurana de Algoritmos
Dificuldade de quebrar
Maior que o valor dos dados
cifrados
Tempo de quebrar maior
que o tempo que a
mensagem deve permanecer
secreta
Categorias de quebra
1. Total: chave encontrada
2. Deduo global: encontrado
algoritmo alternativo
equivalente (sem a chave)
Conceitos Bsicos
Categorias de quebra (cont)
3. Deduo local:
Encontrado texto em claro
correspondente a um texto
cifrado
4. Deduo de informao:
Encontrado alguma
informao sobre a chave
ou texto em claro.
Conceitos Bsicos
Viso matemtica
Ciframento de uma
mensagem m com uma
chave k por um
algoritmo E
c=Ek(m)
Deciframento de texto
cifrado c por uma chave
kb e algoritmo D
m=Dkb(c=Ekb(m))
Conceitos Bsicos
Conceitos Bsicos
Objetivos de um
criptossistema
Sigilo
(confidencialidade)
Impossibilidade de um
adversrio descobrir uma
quantidade no
desprezvel da mensagem
Integridade
Garantia de no alterao
da mensagem
Conceitos Bsicos

Objetivos de um
criptossistema
Autenticidade
(autenticao)
Garantia da identidade
do emissor
No repdio
Impossibilita ao emissor
negar o envio de uma
mensagem
Conceitos Bsicos
Segurana de um
criptossistema
Um sistema
computacionalmente seguro se o
melhor algoritmo para quebr-lo
necessita de recursos maiores que
os disponveis"
No existe uma demonstrao de
que algum sistema criptogrfico
em uso seguro com esta
definio
O melhor mtodo conhecido
requer uma quantia muito
grande de recursos (dados,
processamento, memria)
Algoritmo pblico
Conceitos Bsicos
Segurana de um
criptossistema
Segurana incondicional
No pode ser quebrado,
mesmo com recursos
computacionais infinitos.
One time pad
Criptoanlise
Tentativa de obteno do
texto original a partir do
cifrado. (Criptoanalista).
Ataques a um criptossistema
Conceitos Bsicos

Tipos de ataques
Ataque de texto cifrado
(Ciphertext-only attack):
Nesse ataque o adversrio
possui acesso somente a
uma certa quantia de texto
cifrado.
Ataque de texto em claro
conhecido (Known-plaintext
attack, KPA): O adversrio
possui acesso ao texto em
claro de uma quantidade de
dados, alm do acesso ao
texto cifrado.
Conceitos Bsicos

Tipos de ataques
Ataque de texto em claro
escolhido (Chosen-plaintext
attack, CPA): O adversrio
pode escolher quais dados e
seus respectivos textos
cifrados e ter acesso aos
mesmos
Conceitos Bsicos

Tipos de ataques
Ataque adaptativo de texto
em claro escolhido
(Adaptive chosen-plaintext
attack, CCA2): O adversrio
tem acesso ao sistema
criptogrfico e pode
escolher pares de texto
cifrado/texto em claro de
forma adaptativa.
Ataque fora bruta: Tentar
todas as chaves at achar a
correta
Sistemas clssicos

Cifrasde
substituio
Cada caracter da mensagem
substituido por outro do
mesmo alfabeto.
Sistemas clssicos

Cifras
de
permutao
Os caracteres de uma
mensagem so reordenadas,
criando um anagrama
Sistemas clssicos

Cifra de csar
Sistema monoalfabtico
aditivo (substituio)
Usado por Jlio Csar em 44
A.C.
Cada letra do alfabeto
substituida pela letra
correspondente a d posies
no alfabeto (original d=3)
Ci=mi+d (mod 26)
Criptoanlise trivial
conhecendo o algoritmo
Sistemas clssicos

Cifra de csar
d=3

Normal: a ligeira raposa marrom saltou sobre o cachorro cansado


Cifrado: D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R
FDFKRUUR FDQVDGR
Sistemas clssicos

ROT 13
Cifrade substituio
Encontrado em
alguns sistemas
UNIX
A = N, B=O, etc.
Rotao de 13
posies
P=ROT13(ROT13(P
))
Sistemas clssicos

Mquinas de rotor

Sistema ENIGMA Alemanha 2a Guerra


Conceitos Bsicos
Questo Polcia Federal PCF3 (2002)
Em um determinado sistema criptogrfico, para cada
mensagem possvel m, existe apenas um criptograma
possvel, c, que ser o resultado da cifrao de m com
determinada chave k. No obstante, mensagens
distintas podem resultar em um mesmo criptograma,
se utilizadas chaves distintas.
c=Ek(m)
Considerando uma cifra monoalfabtica
aditiva(csar)
k=1, m=A, c=B
k=4, m=X, c=B
Questo correta
Conceitos Bsicos
Tipos de
Criptossistemas
Chave simtrica
Mesma chave para cifrar e
decifrar
Cifras de bloco
Cifras de fluxo
Chave pblica
Chaves diferentes (pblica e
privada)
Criptografia assimtrica
Algoritmo RSA
Criptografia simtrica

Chaves
Conjunto de bits usado pelo algoritmo de
criptografia.
Seu tamanho determina a segurana.

Possibilidade de brute force attacks

Tamanho da chave (bits) Nmero de combinaes


40 240=1.099.511.627.776
56 256=7,205759403793*1016
64 264=1,844674407371*1019
Criptografia simtrica

Chaves
Tamanho da chave
Quanto maior, mais seguro
Quanto maior, menor
performance
Determinando o tamanho
certo
O custo de quebrar a chave
tem que ser maior que o valor
da informao protegida
Criptografia simtrica
Algoritmos de
criptografia simtricos
Mais simples
(implementao em
hardware)
Utilizam a mesma chave
para encriptar/decriptar
(chave simtrica)
Processo computacional
envolvido simples e
rpido
Para haver comunicao
criptografada, um
algoritmo comum e uma
chave so suficientes
Criptografia simtrica

Algoritmos simtricos
Data Encryption
Standard (DES)
3DES (Triple DES)

AES (Advanced
Encryption Standard)
Criptografia simtrica

Data Encryption Standard


(DES)
Algoritmo padro de
criptografia simtrica at
2001
Opera em blocos de
mensagem de 64 bits
Utiliza normalmente chaves
de 64bits
56 bits randmicos
8 bits de paridade (um para
cada 7 bits)
Normalmente adiciona
elementos randmicos nas
mensagens
Criptografia simtrica

Data Encryption Standard


(DES)
Padronizado pelos EUA em
1975
Criptoanlise iniciada em
1994
Chave quebrada em 1998
(56 horas e $250.000)
Chave quebrada em 1999
(22 horas)
AES tornado padro (2002)
Chave quebrada em 2007 (6
dias e $10.000)
Criptografia simtrica

3DES Triple DES


Variao do algoritmo DES
Torna ataques forca bruta
mais difceis
Utiliza duas ou trs chaves
diferentes para dificultar a
quebra da chave
Assim como o DES, o
3DES de domnio pblico
Obviamente mais lento
3 chaves = algoritmo de 112
bits (meet in the middle)
Criptografia simtrica
Ataque meet-in-the-middle
Reduz a possibilidade de combinaes em algoritmos com
mltiplas chaves
Encripta de um lado e decripta do outro lado, encontrando no
meio
C=EK2(EK1(P))
Computar Ek(P) para todas as chaves k e guardar em memria
Computar Dk(C) para cada k.
Cada coincidncia entre os dois conjuntos so provveis de revelar as
chaves.
Reduz o tempo de 22n para apenas 2 * 2n
Criptografia simtrica
Questo PF 2002
O algoritmo DES considerado inseguro por possuir um
espao de chaves de apenas 56 bits, sendo, portanto, susceptvel
a ataques por exausto das chaves, utilizando-se recursos
relativamente modestos com a tecnologia disponvel atualmente.
Uma forma encontrada para aumentar o espao de chaves de
algoritmos de bloco do tipo DES foi a implementao
denominada triplo-DES, em que se emprega o mesmo
algoritmo 3 vezes consecutivas, potencialmente com 3 chaves
distintas, o que permite uma chave total efetiva correspondente
a 3 vezes o tamanho original, ou seja, nesse caso, 168 bits. Por
raciocnio semelhante, o uso de um duplo-DES deve prover
uma segurana equivalente a um algoritmo com chave efetiva de
112 bits. Errado
Criptografia simtrica

AES Advanced Encryption Standard


Anunciado pelo NIST em 2001
Atualmente padro em criptografia simtrica
Chaves de 128, 192 e 256 bits
Criptografia simtrica

Algoritmos simtricos
Vantagens
Rapidez
Possibilidade de ser
implementado via hardware
Otimizado para criptografar
grandes quantidades de dados
Problemas
Gerao segura de chaves
Distribuio segura de chaves
Mudana peridica de chaves
Criptografia assimtrica
Algoritmos assimtricos
Utilizam o conceito de par
de chaves
Uma chave pblica, disponvel
para outros usurios
Uma chave privada,
disponvel apenas para o dono
do par de chaves
Tamanho das chaves maiores
(1024, 2048, 4096 bits)
Invivel derivar uma chave
da outra
Texto cifrado com uma
chave s pode ser decifrado
com a correspondente
Criptografia assimtrica

Algoritmos assimtricos
Ron Rivest, Adi Shamir e
Leonard Adleman (RSA)
El Gamal
Criptografia simtrica
Questo Polcia Federal PCF3 (2002)
1. A quebra de sistemas criptogrficos simtricos
sempre depende da descoberta da chave secreta
utilizada no processo criptogrfico. Errado
2. Chaves criptogrficas consideradas seguras
contra ataques de fora bruta, para os padres de
processamento atuais, devem possuir pelo menos
128 bits, tanto para criptografia simtrica quanto
para criptografia assimtrica. Errado
Criptografia simtrica
Modos de operao de cifras
Cifras de bloco
Operam sobre blocos de informao
Tamanho da chave x tamanho do bloco

Adequadas para arquivos

Cifras de fluxo
Atuam bit-a-bit do texto
Mais rpidas

No h propagao de erros

Adequadas para fluxos em redes


Criptografia simtrica
Ou Exclusivo (XOR)
Criptografia simtrica

One time Pad


Cifra de chave nica
Mensagem combinada
com uma chave totalmente
aleatria do mesmo
tamanho da mensagem.
Cada chave usada somente
uma vez
XOR usado para combinar a
mensagem com o pad
Considerada inquebrvel se
a chave no for reutilizada
Criptografia simtrica

One time Pad


Prova de Shannon
Segredo perfeito
Mensagem cifrada no d
nenhuma informao sobre a
mensagem original
Um ataque de fora bruta
invivel (todos os plaintexts
so igualmente provveis)
Premissas da Prova
Pads perfeitamente aleatrios
Gerao e troca seguras de
material de chave
Material de chaves to grande
quanto a mensagem
Criptografia simtrica

Questo PF 2002
O nico sistema criptogrfico matematicamente inviolvel o
denominado sistema de chave nica. Todos os demais sistemas,
para utilizao em condies reais de aplicao, so teoricamente
violveis, ou seja, dados recursos e tempo ilimitados e quantidade
suficiente de criptograma gerado com uma mesma chave,
possvel, sempre, determinar, de forma unvoca, a chave utilizada.
Correto
Criptografia simtrica

Questo PF 2002
Diz-se que um sistema criptogrfico tem segredo perfeito
quando, dado um criptograma c, a incerteza que se tem em
relao mensagem m que foi cifrada a mesma que se tinha
antes de conhecer o criptograma. Uma condio necessria para
que um sistema criptogrfico tenha segredo perfeito que o
espao de chaves seja pelo menos to grande quanto o espao de
mensagens, ou seja, |K| $ |M|.

Correto
Criptografia simtrica

Gerao de nmeros
aleatrios
Geradores pseudo-aleatrios
(/dev/random)
Dificuldade de gerar
nmeros realmente aleatrios
Geram incerteza na
criptografia (e maior
segurana)
Initialization Vectors
Nonces
Fontes de incerteza
Criptografia simtrica

Gerao de nmeros
aleatrios
Criptografia simtrica
Modos de cifras de bloco
Electronic CodeBook (ECB): Mensagem dividida em blocos de tamanho
igual. Cifrados com uma nica chave
Criptografia simtrica
Modos de cifras de bloco
Cipher Block Chaining (CBC): Resultado da cifragem anterior
alimentado para o prximo bloco, usando XOR
Criptografia simtrica
Modos de cifras de bloco
Cipher FeedBack (CFB): cada bloco cifrado cifrado novamente
e feito XOR com o prximo bloco de texto em claro.
Criptografia simtrica
Modos de cifras de bloco
Output FeedBack (OFB): transforma uma cifra de bloco em uma
cifra de fluxo.
Criptografia simtrica

Modos de cifras de bloco


Cifras ECB so inseguras
Blocos idnticos geram blocos identicos cifrados (baixa
entropia)
CBC e CFB so mais seguros
Porm propagam erros para todos os blocos subsequentes
OFB permite o uso de cdigos de correo de
blocos, mesmo quando aplicados antes da cifragem
Criptografia simtrica
Questes
PF 2002 - Sistemas criptogrficos so ditos simtricos ou de chave secreta
quando a chave utilizada para cifrar a mesma utilizada para decifrar.
Sistemas assimtricos ou de chave pblica utilizam chaves distintas para
cifrar e decifrar. Algoritmos simtricos so geralmente mais eficientes
computacionalmente que os assimtricos e por isso so preferidos para
cifrar grandes massas de dados ou para operaes online. Certo
O nico sistema criptogrfico matematicamente inviolvel o denominado
sistema de chave nica. Todos os demais sistemas, para utilizao em
condies reais de aplicao, so teoricamente violveis, ou seja, dados
recursos e tempo ilimitados e quantidade suficiente de criptograma gerado
com uma mesma chave, possvel, sempre, determinar, de forma unvoca,
a chave utilizada.
Certo
Criptografia simtrica
Questes
Uma tcnica eficiente para tornar um sistema criptogrfico mais forte se
utilizar um algoritmo de compresso de dados aps a cifrao. Errado
PF regional 2004: Para a utilizao do modo de operao CBC (cipher
block chaning mode), necessrio que seja criado o que se denomina vetor
de inicializao (initialization vector), que evita que mensagens que
comecem idnticas gerem criptogramas com comeos idnticos. Um
inconveniente desse modo de operao reside na questo da propagao de
erros, pois, caso haja um bit errado em um bloco de criptograma a ser
decifrado, todos os blocos a partir dali sero decriptografados de forma
errada.
Certo (anulada)
Criptografia

Funes HASH
Funes que transformam uma mensagem de
tamanho arbitrrio em uma sada de tamanho
fixo.
Caractersticas
Consistncia a mesma entrada sempre causa a
mesma sada
Randmico impossibilidade de deduzir a mensagem
original
nico duas mensagens diferentes produzem sadas
diferentes
One-way A sada no reversvel
Criptografia

Funes HASH
Message Digest 4 (MD4)
Desenvolvido por Ron Rivest do MIT
Message Digest 5 (MD5)
Desenvolvido por Ron Rivest do MIT
Baseado no MD4
Processa a entrada em blocos de 512 bits e produz uma sada de
128 bits.
Criptografia

Funes HASH
Secure Hash Algorithm
(SHA)
Criado pelo National Institute
of Standards and Technology
(NIST)
Processa a entrada em blocos
de 512 e produz uma sada de
160 bits
Necessita de maior
processamento que o MD5

Вам также может понравиться