Segurança em Redes

Propaganda
Núcleo de Computação Eletrônica
Universidade Federal do Rio de Janeiro
Segurança em Redes
Aula 5
Luiz Fernando Rust
INMETRO
Tel. (021) 2679-9072
e-mail:
[email protected]
[email protected]
11
Sistema de Criptografia Assimétrica
•
•
•
•
•
•
•
•
Introdução
Princípios Básicos
Requisitos
RSA
Laboratório RSA
Diffie Hellman
Curvas Elípticas
Criptografia Simétrica x Assimétrica
2
Introdução
•
Também denominado de Sistema de chave pública
•
A Maior, e talvez única, revolução na criptografia
– Pela primeira vez um sistema não é baseado em ferramentas
elementares de substituição e permutação
•
Conceito criado por Diffie e Hellman em 1976
•
Utilizam duas chaves, relacionadas matematicamente
– Uma é usada para cifrar e a outra para decifrar
– Conhecimento de uma chave não permite deduzir a outra
•
Baseiam-se na dificuldade de solução de alguns problemas
matemáticos
– Fatoração de inteiros: (RSA, Rabin-Williams)
– Logaritmo discreto (DSA, Diffie-Hellman, ElGamal)
– Logaritmo discreto em curvas elípticas (idem anterior)
3
Mal-entendidos sobre sistemas de chave-pública
•
Mais seguro que a criptografia convencial
– A segurança é basicamente função do do tamanho da chave e do
trabalho computacional necessário para quebrar um codificador
[GARD77]
•
Têm uso genérico e portanto tornou a criptografia convencional
obsoleta
– Pelo contrário, dado ao overhead computacional do sistemas atuais,
não existe nenhuma previsão que a criptogrfia convencional será
abandonada
– De acordo com Diffie [DIFF88], o uso restrito de chaves públicas em
aplicações de gerência de chaves e assinatura é majoritariamente
aceito
•
Tornou a tarefa de distribuição de chaves trivial
– Também necessita de um agente central e protocolos
– Procedimentos envolvidos não são mais simples ou mais eficientes
4
Princípios
•
O uso de duas chaves têm consequência na
– Confidencialidade
– Autenticação
– Distribuição de chaves
•
O esquema possui seis ingredientes
–
–
–
–
–
Texto pleno
Algoritmo de codificação
Chaves pública e privada
Texto codificado
Algoritmo de decodificação
5
Codicificação usando Chave Pública
6
Autenticação usando Chave Pública
7
Applicações para sistemas assimétricos
•
Três categorias
– Criptografia
• O emissor codidifica a mensagem com a chave publica do
receptor
– Assinatura digital
• O emissor ”assina”uma mensagem com sua chave privada
– Troca de cahve
• Dois sites cooperam para a troca de chave de uma sessão
8
Requisitos para criptografia de Chave Pública
1.
Computacionalmente fácil para uma parte B gerar um par
(chave pública KUb, chave privada KRb)
2.
Fácil para o emissor gerar um texto codificado
3.
Fácil para o receptor decodificar o texto cifrado usando a chave
privada
4.
Computacionalmente inviável descobrir a chave privada (KRb)
dado a chave pública (KUb)
5.
Computacionalmente inviável recuperar a mensagem M, dado
KUb e o texto codificado C
6.
Qualquer uma da chaves pode ser usada na codificação, sendo
a outra usada na decodificação
9
Função trapdoor
•
Outra forma de definir Criptografia de chave pública
– baseada no conceito de uma função trapdoor
– f é um-para-um
– f é fácil de computar
– f é pública
– f -1 é difícil de computar
– f -1 torna-se fácil de computar se o trapdoor é conhecido
10
Conceitos Básicos
•
Número Primo
– Número divisível somente por ele mesmo e pela unidade
•
Exemplos
– 2, 3, 5, 7, 11, 13, 17, ..., 41, 43, 47, ....
– 213466917-1 tem 4.053.946 algarismos
•
É fácil multiplicar dois números primos para obter um
terceiro número, mas muito difícil recuperar os dois primos
a partir do terceiro número
•
Isto é conhecido como fatoração
– Exemplo, os fatores primos de 3.337 são 47 e 71
11
Conceitos Básicos
•
Inteiros módulo η
– Dois inteiros cuja a diferença é um múltiplo de η são
equivalentes
10 ≡ 0(mod 5) 14 ≡ 24(mod 5)
•
Conjunto de elementos inversíveis de Zn
u (η ) = {a ∈ Ζη : mdc(a,η ) = 1}
•
Função Φ(n) de Euler ou função
totiente
– Expressa a ordem de u(η
η):
• número de inteiros positivos
menores e primos a n
– Φ(p) = p – 1
– Φ(mn) = Φ(m) Φ(n)
12
Algoritmo RSA
•
•
Algoritmo criado em 1977 por Ron Rives, Adi Shamir eLen Adleman
(MIT)
•
Segurança do RSA baseia-se na dificuldade da fatoração de grandes
números
•
Patente n° 4.405.829 (válida somente nos EUA) venceu e m
20/09/2000
•
Algoritmo de chave pública mais utilizado:
–
•
RSADSI já vendeu mais de 400 milhões de licenças em todo o mundo.
Codificador em bloco
13
RSA – Escolhendo as Chaves
1. Escolher n
– p ≠ q primos, n = p * q
2. Escolher e
relativamente primo à
– Número inteiro positivo e que seja inversível módulo Φ(n),
•
ou seja, mdc (e, Φ(n)) = 1
– Φ(n) = (p – 1)(q – 1)
3. Calcular d
– inverso de e em Φ(n)
– ed = 1 (mod Φ(n) )
Chave pública : (n , e) (chave de codificação)
Chave secreta : (n, d) (chave de decodificação)
14
RSA – Codificação e Decodificação
•
Codificação
– Seja m a mensagem
– Calcular a potência me
– Calcular o resto da divisão de me por n
c = me (mod n)
•
Decodificação
– Calcular cd
– Calcular o resto da divisão de cd por n (resíduo módulo n)
m = cd (mod n)
15
Exemplo
•
•
p=7, q = 17
n= pq = 119
•
•
•
Φ(n) = (p – 1)(q – 1) = 96
e (primo de 96 e menor que Φ(n)) = 5
d (de = 1 mod 96 e d < 96) = 77
– 77 x 5 = 385 = 4 x 96 + 1
16
Por que o RSA funciona?
•
Resultado da codificação + decodificação
(me)d = med = m (mod n)
•
Como
ed = 1 mod Φ(n) -> ed = kΦ(n) + 1
med = mkΦ(n)+1 = (m Φ(n))km (mod n)
•
Usando Teorema de Euler
mΦ(n) = 1 (mod n)
•
Logo
m = med (mod n)
17
RSA - pré-codificação
•
Converter a mensagem em uma sequência de números
– Espaço = 99
•
A vantagem de fazer corresponder cada letra a um número
de dois algarismos é evitar a ambiguidade
•
Por exemplo, se fizéssemos a = 1 e b=2... a sequência 12
pode ser AB ou L...
•
Quebrar o longo número obtido em blocos
18
Por que o RSA é seguro ?
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:f6:9c:64:49:18:7f:c7:47:db:07:b6:a3:43:2e:
ef:6c:7a:56:dd:8a:87:18:37:cb:af:70:ea:5b:33:
96:d8:fa:4c:46:c3:be:f4:0a:6f:e4:d0:31:82:17:
f9:c2:3d:d9:6d:c7:57:79:fe:98:d7:64:12:80:84:
44:89:cd:f9:66:43:d4:ea:d2:54:5b:89:85:23:ff:
18:70:87:7d:f5:37:33:0c:3d:30:53:45:51:e9:4d:
cf:b7:31:5a:c8:a1:a9:3b:80:92:58:8b:a6:0e:a9:
83:16:83:91:3a:3f:99:72:23:5f:8a:dc:a1:1e:34:
73:5f:10:a9:fa:f0:d9:d4:ad
Exponent:
65537 (0x10001)
•
•
Chave pública : (n , e)
Chave secreta : (n, d)
•
O RSA só será seguro se for difícil calcular d quando
apenas (n,e) são conhecidos
•
Só sabemos calcular d aplicando o algoritmo euclidiano
estendido a (Φ(n),e)
•
Para calcular Φ(n) precisamos fatorar n, obtendo p, q
19
Por que o RSA é seguro ?
•
Se n for muito grande, fatorá-lo será difícil, já que não
existem algoritmos rápidos de fatoração
•
Fatorar tem alto custo!
–
–
–
–
•
Se n = pq e p, q ~ 1050
Começo de 2 e avanço até ~ 1050
Computador executa 1010 divisões/s
Logo preciso esperar 1040 s ~ 1031 anos
Portanto
– Achar p e q conhecendo apenas n = pq é muito difícil
– Isto dá a segurança do método, uma vez que p e q são
números muito grandes
20
Criptoanálise do RSA
•
Ataques de força-bruta
– Todas as possíveis chaves privadas são testadas
•
Ataques matemáticos
– Envolvem fatoração de grandes números (produto de dois
primos)
•
Outros ataques
– “Timing Attack” (Kocher, 1996)
– “Power Analysis” (Kocher et. al., 1996)
21
Exemplo: RSA-129
•
Mensagem codificada em 1976 usando uma chave pública
n com 129 algarismos
•
Com os recursos da época (computado-res e algoritmos)
deveriam ser necessários quadrilhões de anos para
decodificá-la. Decodificada em 1994
•
Como foi feito
– 600 computadores de voluntários
– Em 25 países
– Dados reunidos usando um supercomputador
– Tempo total: oito meses!
22
Criptoanálise do RSA
Chave RSARSA-155 (512bits),
utilizada por 95% dos sites
de ee-commerce, foi
quebrada em ago /99.
INP da Holanda +
cientistas de 6 paí
países,
300 estaç
estações, 7 meses.
Número
Data
MIPS.ano Algoritmo
RSA-100
abr/91
7
MPQS
RSA-110
abr/92
75
MPQS
RSA-120
jun/93
830
MPQS
RSA-129
abr/94
5.000
MPQS
RSA-130
abr/96
1.000
GNFS
RSA-140
fev/99
2.000
GNFS
RSA-155
Ago/99
-
GNFS
23
Questão
•
Se é difícil fatorar números grandes...
•
E se um número primo é o que não tem fatores...
•
Então como obter dois primos grandes para construir a
chave pública n do RSA?
•
Primalidade
– Não é preciso fatorar para descobrir se um número é primo ou
composto!
– Exemplo: Algoritmo AKS
• Método eficiente (tempo polinomial) para determinar se um
número é primo sem fatorá-lo
• Descoberto em agosto de 2002 por M. Agrawal, N. Kayal e N.
Saxena
24
Anexo RSA: Algoritmo Euclidiano
•
Calcular o máximo divisor entre a e b
–
–
–
–
–
•
r1 = resto(a / b)
Se r1 ≠ 0, r2 = resto(b/r1)
Se r2 ≠ 0, r2 = resto(r1/r2)
Assim por diante
O último resto diferente de zero é o mdc(a,b)
Exemplo
– Calcular o mdc entre 1234 e 54
1234
54
46
8
6
46
8
6
2
0
2
– mdc(1234,54) = 2
25
Anexo RSA: Algoritmo Euclidiano estendido
•
Modificação do algoritmo euclidiano proposta por Knuth para
calcular simultaneamente d,α e β
•
Sejam a e b inteiros positivos e d o máximo divisor comum (mdc)
entre eles. É possível achar α e β tais que
α a + βb = d
xj = xj-2 –qj*xj-1
yj = yj-2 – qj*yj-1
d = rn-1
α = xn-1
β = yn-1
Inicialização : x-1 = 1 , y-1 = 0 e x0 = 0 , y0 = 1
26
Anexo RSA: Algoritmo Euclidiano – Exemplo 1
•
Tomando a = 1234 e b = 54
– Em vermelho: inicialização
•
Restos
1234
54
46
8
Quocientes
*
*
22
1
x
1
0
6
5
X3 = 1-5*(-1) = 6
rn-1= 2
1
X4 = -1- 1*6 = -7
0
3
*
y
0
1
X1=1 -22*0 = 1
Y1 =0-22*1 = -22
X2 = 0-1*1 = -1
Y2 = 1-1*(-22)
=23
Y3 = -22 -5*23 =
-137
Y4 =23 – 1*(-137
= 160
*
Portanto, α = -7 e β = 160 e (-7)*1234 +160*54 = 2
27
Anexo RSA: Algoritmo Euclidiano – Exemplo 2
•
Calcular o inverso de 50 módulo 21
– mdc(50,21) = 1
– α 50 + β21 = 1
Restos Quocientes
50
*
21
*
8
2
5
2
3
1
2
1
1
1
x
1
0
1
-2
3
-5
8
y
0
1
-2
5
-7
12
-19
– 8(50) –19(21) = 1
28
Anexo RSA: Algortimo de Fermat
•
Entrada
•
Saída
•
Etapa 1
– um número inteiro ímpar n
– um fator de n ou uma mensagem indicando que n é primo
– Comece com x = [sqrt(n)]
– se n = x2 então x é fator de n, e pode-se parar
•
Etapa 2
– Caso contrário,
• incremente x de uma unidade
• calcule y = sqrt(x2 – n)
•
Etapa 3
– Repita a etapa 2 até encontrar uma valor inteiro para y, ou até
que x seja igual a (n + 1)/2;
• no primeiro caso n tem fatores x + y e x – y
• no segundo n é primo
29
Anexo RSA: Algortimo de Fermat - Exemplo
•
Ache dois fatores de 4819589 pelo algortimo de fatoração
de Fermat
– Calculando a raiz quadrada de n = 4819589, obtemos 2195,35
que não é um inteiro
– Portanto, o número dado não é um quadrado e precisamos
calcular a tabela do algoritmo
x
2196
2197
2198
2199
2200
2101
2202
2203
2204
2205
Sqrt(x2 – n)
53,169
84,970
107,772
126.538
142,867
157,518
170,923
183,357
195,005
206
Inteiro?
não
não
não
não
não
não
não
não
não
sim
30
Anexo RSA: Algortimo de Fermat - Exemplo (cont.)
•
Deste modo temos que x = 2205 e y = 206
•
Logo, os fatores são
X + y = 2205 + 206 = 2411
X – y = 2205 – 206 = 1999
•
Conferindo 2411 * 1999 = 4819589
31
Um exemplo prático- RSA (codificação)
• Vamos codificar a seguinte mensagem usando
RSA :
Segurança
• Convertendo em número
281416302710231210
•
Escolhendo os parâmetros do RSA
– p=11
– q =13
– n = p*q = 143
32
Um exemplo prático- RSA (codificação)
•
Quebrar o longo número produzido anteriormente em
blocos
28-14-16-30-27-10-23-12-10
•
C(m) = resto da divisão de me por n
•
Φ(n) = 10*12=120, precisamos escolher e
•
Neste caso, o menor valor possível para e é 7, que é o
menor primo que não divide 120
•
Calcula-se as potências mod n (n = 143)
33
Um exemplo prático- RSA (codificação)
•
•
•
•
•
•
•
•
•
287 = 63
147 = 53
167 = 3
307 = 134
277 =14
107 = 10
237 = 23
127 = 12
Obtém-se a seguinte sequência de blocos
63-53-3-134-14-10-23-12
34
Um exemplo prático- RSA (quebra)
•
A mensagem abaixo foi codificada com RSA usando como
chave pública n = 6077 e e = 4733
5441
•
Vamos decodificá-la
35
Um exemplo prático - RSA (quebra)
•
Aplicando o algoritmo de fatoração de Fermat descobrimos
em dois passos que
– n=6077 = 59*103
•
Portanto,
– Φ(6077)= (59 – 1)*(103 – 1) = 5916
•
Aplicando o algoritmo euclidiano estendido a 5916 e a
e=4733,
– obtemos o inverso de e módulo Φ(n), que é 5
•
Decodificando a mensagem, temos as seguintes
congruências
36
Um exemplo prático- RSA (quebra)
•
54415 ≡ 2130 (Módulo 6077)
•
Assim, a mensagem decodificada é 2130 que transliterada é
LU
37
Diffie-Hellman
•
•
•
Primeiro algoritmo de Chave Pública
Limitado para a troca de chaves
Eficiência baseia-se na dificuldade da computar logaritmos
discretos
•
Conceito de logaritmo discreto
–
–
–
–
se a é um raiz primitiva de p, então os números
a mod p, a2 mod p,..., ap-1 mod p
são inteiros variando de 1 a p-1
Para qq inteiro b e uma raiz primitiva a de um número primo p,
pode-se achar um expoente i tal que
• b = ai mod p
• i é denominado logaritmo discreto (ou índice) de b para a base a,
mod p
• Inda,p(b)
38
Passo 1
•
Dois numeros públicos
39
Passo 2
•
Geração de chaves
40
Passo 3
•
Cálculo da chave secreta
•
Oponente só tem os seguinte ingredientes:
– Q, α, YA, YB
– Para descobrir a chave secreta de B, o oponente têm que calcular
• XB = Indα,p(b)
– Exponencial é relativa\mente fácil, agora o logaritmo....
41
Exemplo 1
•
Elementos públicos
– Número primo q = 97
– Raiz primitiva α = 5
•
A seleciona
•
B seleciona
– XA = 36
– XB = 58
•
Cada um calcula
– YA = 536 = 50 mod 97
– YB = 558 = 44 mod 97
•
Depois da troca de chaves públicas
– K = (YB)XA mod 97 = 4436 = 75 mod 97
– K = (YA)XB mod 97 = 5058 = 75 mod 97
42
Exemplo 2
Na prática A pode gerar os valores de q e α e envia-los na
primeira msg para B
•
43
ECC (Sistemas Critográficos de Curva Elíptica)
•
Consistem em modificações de outros sistemas
•
Potencial de gerar sistemas criptográficos de chave pública
mais seguros, com chaves de menor tamanho
•
Os algoritmos de curvas elípticas atuais, embora possuam
o potencial de serem rápidos, são em geral mais
demorados do que o RSA
44
Curva elíptica
•
Definição
– Seja p>3 primo. A curva elíptica y2 = x3 + ax + b em Zp é o
conjunto de soluções (x,y) ∈ Zp x Zp para a congruência
• y2 ≡ x3 + ax + b (mod p)
•
Uma curva elíptica pode-se tornar um grupo (Abeliano) pela
definição de um conjunto de operações sobre seus pontos
– As operações são escritas aditivamente
1
2
3
4
45
ECC
•
Operações
– Dado P = (x1, y1) e Q = (x2, y2)
– Se x2 = x1 e y2 = -y1
• Então P + Q = 0
• Senão P + Q = (x3, y3), onde
(graficos 3, 4)
– X3 = λ2 – x1 – x2
– Y3 = λ (x1- x3) – y1
 y2 − y1
 x − x , se P ≠ Q
λ= 22 1
 3 x2 + a , se P = Q
 2 y1
(gráfico 1)
(gráfico 2)
46
ECC
•
Exemplo
– y2 = x3 + x + 6
x
X3+x+6
mod11
QR(11)?
0
6
não
1
8
não
2
5
sim
4, 7
3
3
sim
5, 6
4
8
não
5
4
sim
6
8
não
7
4
sim
2, 9
8
9
sim
3, 8
9
7
não
10
4
Sim
y
2, 9
2, 9
47
“Potências” de α
•
Para α = (2, 7)
– 2α = (2, 7) + (2, 7)
• λ = (3 x 22 + 1) (2 x 7)-1 mod 11
•
= 2 x 3-1 mod 11
•
= 2 x 4 mod 11
•
=8
• X3 = 82 – 2 – 2 mod 11 = 5
• y3 = 8(2 – 5) – 7 mod 11 = 2
 y2 − y1
 x − x , se P ≠ Q
λ = 22 1
 3x2 + a , se P = Q
 2 y1
– 3α = (2, 7) + (2, 7)
• λ = (7 – 2) (2 – 5)-1 mod 11
•
= 5 x 8-1 mod 11
•
= 5 x 7 mod 11
•
=2
• X3 = 22 – 5 – 2 mod 11 = 8
• y3 = 2(5 – 8) – 2 mod 11 = 3
α = (2,7)
2α = (5,2)
3α = (8,3)
4α = (10,2)
5α = (3,6)
6α = (7,9)
7α = (7,2)
8α = (3,5)
9α = (10,9)
10α = (8,8)
11α = (5,9)
12α = (2,4)
48
Codificação e Decodificação
•
Algoritmo
– Fixe uma curva E e P ∈ E
– Chave secreta:
• Inteiro positivo k
– Chave pública:
•
•
Q = kP
Codificando
– Alice conhece a curva E, o ponto P ∈ E e a chave pública Q
– Para codificar M ∈ E
• escolha r aleatoriamente e calcule (rP, rQ+M)
•
Decodificando
– Bob conhece a curva E, o ponto P ∈ E e a chave privada k
– Decodifica (rP, rQ+M) calculando
(rQ+M) - k(rP) = r(kP) + M - k(rP) = M
49
Exemplo
•
•
•
P = (2, 7)
Chave secreta de Bob k = 7
M = (10,9) e r = 3
•
Codificação
– Q = 7P = (7,2)
(ver tabela “potências de α” )
– Er(M,r) = (rP, rQ+M) =(3(2,7), 3(7,2) + (10,9))
• 3(2,7) = (8,3)
• 3(7,2) + (10,9) = (3,5) + (10,9) = (10,2)
• Er = ((8,3),(10,2))
•
Decodificação
– D = (rQ+M) - k(rP) = (10,2) – 7(8,3)
– = (10,2) – (3,5) = (10,9)
50
Vantagens e Desvantagens de ECC’s
•
Vantagens
– Útil em smart cards devido aos baixos requisitos de
armazenagem
•
Desvantagens
– Novo, detalhes ainda estão sendo resolvidos
• Várias técnicas de ECC são ainda muitos novas para confiar
– Quase nada usa ou suporta ECC
– Não é mais eficiente que algoritmos padrões como RSA
– ECCs possuem uma conjunto enorme de patentes (pendentes)
•
Recomendação
– Não use, ao menos você realmente precise de chaves de
tamanho reduzido
51
Tamanho de chave e Algoritmos
•
Convencional
(40 bits)
56 bits
64 bits
80 bits
90 bits
112 bits
120 bits
128 bits
Chave Pública
—
(400 bits)
512 bits
768 bits
1024 bits
1792 bits
2048 bits
2304 bits
ECC
—
—
—
—
160 bits
195 bits
210 bits
256 bits
52
Chave mínima Recomendada
Algorítimo Simétrico
Bits
Digitos
56
7
64
8
80
10
112
14
128
16
Algorítimo Assimétrico
Bits
Digitos
384
48
512
64
768
96
1792
224
2304
288
Tamanho Mínimo Recomendado
53
Criptografia Simétrica x Assimétrica
Vantagens
Desvantagens
Algorítmos
Simétricos
Apresentam
processamento
“rápido”
Exigem canal separado
para distribuição de
chaves
Algorítmos
Assimétricos
Permite autenticação
via assinatura digital
Facilitando o
gerenciamento de
chaves
Apresentam
processamento “lento”
54
Sistemas Híbridos
sistemas
simétricos
+
sistemas
assimétricos
assinatura digital,
gerenciamento de chaves
codificação
(S/MIME, OpenPGP, PGP/MIME, IPSec, SET, SSL)
55
Codificação de Mensagem com Sistema Híbrido
mensagem
cifrada
DES
IDEA
Alice quer enviar
uma mensagem
sigilosa para Bob
RSA
chave
de sessão
chave pública
de Bob
56
Decodificação com Sistema Híbrido
DES
IDEA
mensagem
cifrada
chave
de sessão
RSA
mensagem
original
Bob
Bob recebeu uma
mensagem
sigilosa (de
Alice)
chave privada
de Bob
57
One time PAD
•
Único algoritmo incondicionalmente seguro conhecido
Garante sigilo perfeito
Chave tão longa quanto texto, e nunca repete
Utilizado no famoso telefone vermelho Washington –Moscou
Emprego
Alto custo de gerência
Uso na diplomacia e Inteligência.
Exige chave aleatória (que deverá ser descartada após o uso) com a
mesma extensão da mensagem
10111001010010010...
mensagem
(n bits)
CHV
00110110111000101...
10001111101010111...
mensagem cifrada
(n bits)
chave (n bits)
58
Esteganografia
•
É um técnica de se esconder um arquivo dentro de outro, de
forma criptografada
•
Exemplo
– Pode-se esconder um arquivo dentro de uma figura, colocando os bits
do arquivo no local dos bits menos significativos de cada byte da
figura
– A segurança pode ser incrementada através de uma senha de
abertura, localizada dentro do próprio arquivo codificado
– Ambos os lados devem possuir o mesmo codec, além de conhecer a
senha para a leitura do arquivo oculto
– aplicativos de esteganografia utilizam áreas de dados vazias ou
insignificantes do arquivo
59
Esteganografia
•
Considere um figura descrita pelos seguintes bytes (representam a
intensidade da cor)
– 200 - 53- 2 -195- 54 -69 -191 -56
– Em binário:
11001000 00110101 00000010 11000011 00110110 01000101 10111111 00111000
– Para esconder o caracter 109 (01101101), O bit menos significante
seria reposto por um bit do caracter 109
11001000 00110101 00000011 11000010 00110111 01000101 10111110 00111001
– Que corresponde a: 200 -53 -3 -194-55 -69 -190- 57
60
Softwares de Esteganografia
•
Steganos Security Suite 4
–
•
MP3Stego
–
–
•
Suite de aplicativos para esteganografia e segurança, incluindo criptografia de
drive, Internet Trace Destructor, fragmentador de arquivos, criptografia de email, gerenciador de senhas e travamento do computador (Shareware)
http://www.steganos.com/
Permite o usuário ocultar informações dentro de um arquivo em formato MP3,
preservando a qualidade próxima de um CD (freeware)
http://www.cl.cam.ac.uk/~fapp2/steganography/mp3stego/
Sam's Big Play Maker
–
Esconde informações em um divertido jogo (freeware)
http://www.scramdisk.clara.net/play/playmaker.html
61
Exemplo - HIP
•
http://www.dl4all.com/security_spyware/encryption_software/15008-hip-hide-inpicture-2.1.html
•
Codificação
– Clique no botão Open Picture (ou escolha o menu File ? Open Picture)
– Selecione o arquivo BMP no qual será ocultado o arquivo de
informações
– Crie um novo documento no Excel, digite o texto “Testando a
esteganografia”, e o salve como Planilha de Custos.xls
– Para inserir o arquivo, clique no botão Hide File In Picture (ou entre no
menu Image e escolha a opção Hide File)
– Digite a senha e Salve o arquivo para que as informações sejam
codificadas
•
Recuperação
– Clique no botão Retrieve File From Picture ou, através do menu Image
escolha a opção Retrieve File...
– Digite a senha utilizada na codificação e pressione o botão OK
– Escolha o local onde deseja salvar o arquivo.
62
Download