Você está na página 1de 77

Criptografia

Jurandy Martins

Referncias

[George Colouris] Draft Material for Edition 3


of Distributed Systems - Concepts and
Design
[Menezes et al.] Handbook of Applied
Cryptography
[Diffie & Hellman] New Directions in
Cryptography
[Goldwasser] New Directions in
cryptography: Twenty Some Years Later

Introduo
Segurana da Informao e Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Introduo

O que criptografia?

Arte de escrever em cifra ou em cdigo;

Conjunto de tcnicas que permitem criptografar


informaes; [ Aurlio Sculo XXI ]

Cryptography is the study of mathematical systems


involving two kinds of security problems: privacy and
authentication [ Diffie & Hellman ]

Criptografia e Segurana

Propriedades de segurana: [ Paulo Verssimo]

confidencialidade (acesso de ...)

autenticidade (personificao por ...)

integridade (modificao/deteriorao por ...)

disponibilidade (recusa de proviso/acesso ...)

Polticas x Mecanismos

Poltica de segurana

conjunto de objetivos que condicionam a sua execuo


(paranica, prudente, permissiva, promscua)

Mecanismos

ferramentas/meios utilizados para cumprir os objetivos


da poltica

Ento ...

Criptografia garante as quatro (4) propriedades de


segurana?
Criptografia pode ser utilizada como uma poltica de
segurana? E como um mecanismo de segurana?

Introduo
Segurana da Informao e
Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Segurana da Informao e Criptografia

Objetivos associados a segurana da informao:

Privacidade ou confidencialidade

Integridade de Dados

Identificao ou autenticao de entidade

Autenticao de mensagem

Assinatura

Segurana da Informao e Criptografia

Autorizao

Validao

Controle de acesso

Certificao

Marca de tempo

Segurana da Informao e Criptografia

Recibo

Confirmao

Propriedade

Anonimidade

No repdio

Revogao

Ferramentas Criptogrficas

Critrio de Avaliao das Primitivas

Nvel de segurana

Funcionalidade

Mtodos de Operao

Desempenho

Facilidade de Implementao

Introduo
Segurana da Informao e Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Reviso de Funes

Funes injetoras, de sentido nico, e de sentido nico


com alapo

Permutaes

Involues

Funes

Como j vimos no segundo grau ...

Funo:

definida por dois conjuntos X e Y e uma regra f que


associa um elemento de X para exatamente um
elemente um elemento de Y.

f(x X) => y Y

X o domnio; Y o codomnio. Imagem, pr-imagem, ...

Funes

Exemplo:

X = {a, b, c}

Y = {1, 2, 3, 4}

f: f(a) = 2, f(b) = 4, f(c) = 1

Funes Injetoras, Sobrejetoras e Bijetoras

Injetora:

Sobrejetora:

Se cada elemento no codomnio Y a imagem de no


mximo um elemento no domnio X
Se cada elemento no codomnio Y imagem de ao
menos um elemento do domnio. Im( f ) = Y

Bijetora:

Se a funo injetora e sobrejetora

Questes

Que tipos de funes so interessantes para criptografia?


Injetoras? Sobrejetoras? Bijetoras?

Funes de Sentido nico

Definio:

Quando f (x) fcil de ser calculada para todo x X,


mas para um y Im( f ) aleatrio invivel encontrar
algum
x X | f (x) = y

Funes de Sentido nico

f(x)

Exemplo:
18Seja:

16

X = {1, 2, ..., 16}


f (x) = 3^x mod 17

14
12
10

f(x)

8
6
4
2
0
1

11

13

15

Funes de Sentido nico com


Alapo

Definio:

Funo de sentido nico com a propriedade adicional


de que dado alguma informao extra, vivel
encontrar para um dado y Im( f ),
um x X tal que f (x) = y

Exemplo:

RSA

Permutao e Involuo

Permutao:

uma bijeo de um conjunto S para si prprio

S = {1, 2, ..., 9}, f (x) = 10 - x

Involuo:

uma permutao em que f = f -1


f (x) = 1/x, f (x) = 10 - x

Questo: Composio de involues uma involuo?

Introduo
Segurana da Informao e Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Terminologias e Conceitos Bsicos

Domnios e codomnios da cifragem


Transformaes de cifragem e decifragem
Conseguindo confidencialidade
Participantes de uma comunicao
Canais
Segurana da Informao em Geral
Criptologia

Domnios e codomnios da cifragem

=> alfabeto de definio (A = {0, 1})

M => espao de textos em claro

=> espao de textos cifrados

Transformaes de cifragem e decifragem

=> espao de chaves

Cada e K determina uma bijeo de M para C, denotada


por Ee
Cada d K determina uma bijeo de C para M, denotada
por Dd

Ee (m), m M

Dd (c), c C

Transformaes de cifragem e decifragem (cont)

Esquema de cifragem (EC):

consiste do conjunto das sadas das transformaes Ee


e Dd

e e d so chamados de par de chaves

Para construir um EC necessrio definir:

M, C, K, e as transformaes Ee e Dd

Conseguindo confidencialidade

Alice e Bob escolhem um par (e, d)


Se Alice deseja mandar uma mensagem
m M para Bob, Alice calcula c = Ee (m)
e ento envia c para Bob
Bob recebe c, calcula Dd (c), recuperando a mensagem m

Questes

Por que usar chaves?


Por que no utilizar uma funo de cifragem e a
correspondente de decifragem?

Participantes de uma comunicao

Entidade, parte

algum que envia, recebe ou manipula informaes

Remetente/Receptor
Adversrio, inimigo, atacante, oponente, interceptador,
intruso, espio, intrometido

entidade que tentam derrubar o sistema de segurana


que est sendo disponibilizado

Canais

Canal

meio que transmite informaes de uma entidade para


outra

Canal fisicamente seguro

no acessvel ao adversrio

Canal inseguro

Canal segurado (reordenao, excluso, incluso e leitura)

Cenrio de Exemplo

Segurana da Informao em Geral

Servio de segurana da informao (SSI)

Quebra do SSI

Adversrio passivo

s pode ler informaes em um canal inseguro

Adversrio ativo

pode transmitir, alterar, ou apagar informaes em um


canal inseguro

Criptologia

Criptoanlise

Criptologia

estudo de tcnicas matemticas para tentar derrubar as


tcnicas criptogrficas
estudo de criptografia e criptoanlise

Criptosistema ou Sistema Criptogrfico

conjunto de primitivas utilizadas para fornecer um SSI

Introduo
Segurana da Informao e Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Criptografia Simtrica

Princpios bsicos

Cifras de blocos e de fluxos(block&stream)

Cifras de substituio e de transposio

Composio de cifras

Cifras em fluxos

Princpios Bsicos

Um esquema de cifragem dito ser de chaves simtricas


se para cada par de chaves (e, d) para cifrar/decifrar,
computacionalmente fcil determinar d conhecendo
somente e, e vice e versa.
Geralmente os esquemas de cifragem por chave simtrica
utilizam e = d.

Cenrio da Criptografia Simtrica

Cifras de Blocos e Jorrantes

De blocos (block):

quebra o texto em claro em vrias cadeias de tamanho


fixo t sobre um alfabeto A, cifrando os blocos um por
um

Jorrantes (stream):

cifra caracteres de um texto em claro um por vez,


usando uma transformao de cifragem que varia com
o tempo

Cifras de Substituio e de Transposio

Cifras por substituio so cifras por blocos que substituem


smbolos (ou grupo de smbolos) por outros smbolos ou
grupos de smbolos.
Cifras por transposio so cifras por blocos que
permutam os smbolos internamente a cada um dos
blocos.

Cifras de Substituio

Simples

Ee(m) = (e(m1) e(m2) ... e(mt)) = (c1c2 ... ct) = c

Dd(c) =(d(c1) d(c2) ... d(ct)) = (m1m2 ... mt ) = m

Cifras de Substituio

Homofnica

substitui cada smbolo a em um bloco do texto em claro


por cadeia aleatria escolhida de H(a)

Exemplo:

A = {a, b}

H(a) = {00, 10}, H(b) = {01, 11}

Ee(ab) = ?

Ee(ab) = {0001, 0011, 1001, 1011}

Cifras de Substituio

Polialfabtica

aplica permutaes distintas para cada posio no


bloco

Exemplo:

m = (m1m2 ... mt)

e = (p1, p2, ... pt)

Ee(m) = (p1(m1)p2(m2) ... pt(mt))

Cifras de Transposio

Algebricamente:

Ee(m) =(me(1)me(2) ... me(t))

m = (m1m2 ... mt)

Qual a diferena entre cifra por transposio e a cifra por


substituio simples?

Produto de Cifras

Utiliza composio de cifras (substituio + transposio)


para obter cifras fortes
Exemplo:

m = (m1m2 m3m4m5m6)

Ek(1)(m) = m k, k K

E(2)(m) =(m4m5m6m1m2 m3)

Confuso e Difuso

Cifra por substituio adiciona confuso ao processo de


cifragem, enquanto a por transposio adiciona difuso.

Cifras Jorrantes

Cifras jorrantes usam chaves jorrantes (keystream). A


chave jorrante pode ser gerada aleatoriamente, ou atravs
de um algoritmo que gere uma chave jorrante a partir de
uma semente.

Cifras Jorrantes

Exemplo:

Cifra de Vernam

A = {0, 1}

m1m2 ... mt operada com k1k2 ... kt,


gerando c1c2 ... ct , onde

ci = m i k i , 1 i t

A sequncia chave escolhida aleatoriamente e nunca


utilizada novamente

Introduo
Segurana da Informao e Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Criptografia Assimtrica

Utiliza duas chaves distintas: e e d


Utilizamos e para cifrar o texto em claro, produzindo o texto
cifrado. E d, para decifrar o texto cifrado, produzindo o
texto em claro.
computacionalmente invivel calcular e partir de d.

Cenrio da Criptografia Assimtrica

Cenrio Vulnervel

RSA (Rivest, Shamir and Adelman)

Algoritmo de chave pblica utilizado em larga escala

Desenvolvido em 1978

Baseado no produto de dois nmeros primos grandes


(maior que 2100)

RSA (cont)

1) Escolha de dois nmeros primos e calcule N = P x Q e Z


= (P - 1) x (Q - 1)
2) Para d escolha qualquer nmero que seja primo relativo
com Z (sem fator comum)
3) Para encontrar e resolva a equao:
e x d = 1 mod Z
isto , e x d o menor elemento da srie Z+1,
2Z+1, ... que divisvel por d

RSA (cont)

Ee(m) = me mod N = c
Dd(c) = cd mod N = m
Chave pblica: <e, N >
Chave privada: <d, N >
Segurana do algoritmo: dificuldade de fatorar nmeros
grandes

Criptografia
Simtrica x Assimtrica
Vantagens da criptografia simtrica
alta taxa de vazo de dados
chaves so menores
pode ser composta para produzir cifras fortes
mais antigo

Criptografia
Simtrica x Assimtrica
Desvantagens da criptografia simtrica
numa comunicao entre duas partes, a chave deve
permanecer secreta entre os dois lados
h muitas chaves a serem gerenciadas
precisa ser trocada com frequncia

Criptografia
Simtrica x Assimtrica
Vantagens da criptografia assimtrica
somente a chave privada deve ser mantida secreta
o par de chaves privada/pblica podem ser mantidas
durante um longo perodo de tempo inaltervel
so eficientes para produzir assinaturas digitais
em uma grande rede, o nmero de chaves a serem
gerenciadas menor

Criptografia
Simtrica x Assimtrica
Desvantagens da criptografia assimtrica
taxa de vazo de dados de ordem de magnitude muito
maior que o da chave simtrica
chaves so bem grandes
so novos na histria

Criptografia
Simtrica x Assimtrica
Soluo:
utilizar chaves assimtricas para permitir a troca de chave
simtrica de maneira segura.
Logo aps, cifrar o canal utilizando a chave simtrica.
Trocar a chave simtrica de tempo em tempo.

Introduo
Segurana da Informao e Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Funes de Tabela de Espalhamento

HF uma funo que:

comprime

seja fcil de se calcular

Tipos:

Modification Detection Codes (MDCs)

one-way hash functions

collision resistant hash functions

Message Authentication Codes (MACs)

Introduo
Segurana da Informao e Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Estabelecimento, Gerenciamento e Certificao de Chaves

Estabelecimento

processo onde uma chave secreta compartilhada tornase disponvel para duas ou mais partes, para
subsequente uso criptogrfico

Gerenciamento:

conjunto de processos e mecanismos que suportam o


estabelecimento e a manuteno de chaves em um
relacionamento de troca de chave entre as partes

Estabelecimento, Gerenciamento e Certificao de Chaves

Estabelecimento

Fases:

concordncia de chave

transporte de chave

Gerenciamento de Chaves com Tcnicas Simtricas

Requer a combinao de (n, 2) pares de chaves


Soluo: um terceiro participante - Trusted Third Party
(TTP)
TTP:

confivel incondicionalmente

confivel funcionalmente

Processo

Cada participante Ai compartilha uma chave secreta ki com


o TTP
Se duas entidades desejam se comunicar, o TTP gera uma
chave K e envia-a cifrada com a chave definida de cada
um dos participantes

Processo (cont)

Vantagens

fcil adicionar e remover entidades da rede

cada entidade precisa armazenar somente uma


chave secreta
Desvantagens

todas as comunicaes necessitam de uma


interao inicial com o TTP

o TTP deve armazenar n chaves secretas

o TTP pode ler todas as mensagens

se o TTP for comprometido, o resto tambm ser

Protocolo de Autenticao com SK de Needham-Shroeder


A T : A, B, NA
T A : EKAT (NA , B , k , EKBT (k, A))
A B : EKBT (k , A)
B A : Ek(NB)
A B : Ek(NB - 1)
Algum problema?

Gerenciamento de Chaves com tcnicas assimtricas

H vrias abordagens
Cada entidade tem um par de chaves
pblica/privada
mantido em um repositrio central um
arquivo de chaves pblicas
Se uma entidade A1 deseja enviar uma
mensagem cifrada para A6, A1 pega a chave
pblica e6 de A6 do arquivo pblico, cifra a
mensagem usando esta chave, e envia o
texto cifrado para A6

Possvel Ataque

Utilizando TTP

TTP utilizado para certificar a chave


pblica de cada entidade
TTP assina um registro contendo Ai e ei,
mantendo a assinatura junto a Ai e ei
Cada Ai possui um algoritmo para a
verificao da assinatura do TTP

Certificao

garante a integridade/autenticidade das


chaves pblicas
presumi-se que a funo de verificao do
TTP seja transmitida atravs de um canal
seguro

Protocolo de Autenticao com PK de Needham-Shroeder


A T : A, B
T A : Ekdt (keb, B)
A B : Ekeb (NA , A)
B T : B, A
T B : Ekdt (kea, A)
B A : Ekea (NA , NB)
A B : Ekeb (NB)

Introduo
Segurana da Informao e Criptografia
Reviso de Funes
Terminologias e Conceitos Bsicos
Criptografia Simtrica
Criptografia Assimtrica
Funes de Tabela de Espalhamento
Estabelecimento, Gerenciamento e
Certificao de Chaves
Concluso

Concluso

Criptografia a um tempo atrs

um rementente e um destinatrio desejavam se


comunicar com autenticao e privacidade

Criptografia de amanh

computao distribuda entre grande quantidade


de partes potencialmente no confiveis
novos requisitos: correo, privacidade,
autenticidade, e vrios degraus de delinearidade
protocolos multi-partes (criptografia distribuda)

Você também pode gostar