Академический Документы
Профессиональный Документы
Культура Документы
A notao
DK (EK (P) ) = P
Conceitos Bsicos sobre Sistemas de Codificao de Dados
Maio 2014, Chicapa, E.
Conceitos Bsicos
CONCEITOS BSICOS
CONCEITOS BSICOS
Conceitos Bsicos
Autenticidade
Integridade
Confidencialidade
CONCEITOS BSICOS
Conceitos Bsicos
CONCEITOS BSICOS
CONCEITOS BSICOS
CONCEITOS BSICOS
10
CONCEITOS BSICOS
11
CONCEITOS BSICOS
Por exemplo, para garantir a integridade de uma mensagem, o algoritmo MD5 uma
boa ferramenta, mas menos segura que o SHA2. Por seu lado, a confidencialidade
pode ser garantida com o uso do algoritmo DES, 3DES ou melhor ainda o AES, que
supera grandemente os mtodos anteriores.
Os antigos sistemas de codificao, como a cifra de Csar ou a mquina enigma
eram baseados no secretismo dos respectivos algoritmos, para garantir a
confidencialidade. Hoje em dia, com as novas tecnologias, onde as operaes de
engenharia reserva permitem facilmente decifrar tais algoritmos, o sucesso da
decifrao est no conhecimento da natureza das chaves, o que coloca o secretismo
nestas.
Os algoritmos so normalmente de domnio pblico.
CONCEITOS BSICOS
A Funo Hash
13
CONCEITOS BSICOS
Como j foi observado, a funo hash tem como entrada um bloco varivel de dados
e produz como sada uma string de tamanho fixo o valor de hash ou digest.
Uma funo hash pode ser comparvel ao clculo do checksum CRC (Ciclic
redundance checksum); porm o hash criptograficamente mais robusto, visto que
torna-se computacionalmente invivel que dois conjuntos diferentes de dados sejam
reproduzveis a partir de um mesmo valor hash. Cada valor de hash costuma ser
designado por uma impresso digital; Aplicaes da funo hash esto, por exemplo,
na deteno de ficheiros duplicados e outras similares.
14
A funo H(x) :
relativamente simples de calcular, dado um valor de x;
unidirecional e irreversvel;
livre de colises, ou seja, dados dois valores diferentes de entrada, produzir
sempre dois valores hash;
Todas as funes de hash s sero consideradas teis se se assumir que os dados sejam
alterados acidentalmente; No h efetivamente garantia se os dados forem
manipulados intencionalmente enquanto em circulao na rede, o que significa que
esta funo vulnervel aos ataques do tipo man-in-the-middle.
SHA1 (Secure Hash Algorithm 1): com uma sada de 160 bits;
15
O SHA apresenta-se nas suas verses SHA-1, SHA-2 (sendo que esta ltima reune as
verses com digests de 224, 256, 384 e 512 bits. A mais recente verso da familia SHA e
certamente a mais segura a SHA-3, desenvolvida recentemente (2012) e que vai
substituir as actuamente utilizadas.
O MD5 foi desenvolvido por Ron Rivest e hoje aplicado em diversos domnios na
internet. O National Institute of Standards and Technology (NIST) dos Estados Unidos da
Amrica, desenvolveu em 1994 o SHA.
16
A autenticao pode ser realizada com o uso do mtodo HMAC (Hash Message
Authentication Code), que calculado com base num algoritmo especfico que
combina a funo criptogrfica hash com uma chave secreta. O mecanismo de
proteo dos cdigos HMAC est baseado na funo hash. Aqui participam apenas o
emissor e o receptor que partilham a chave secreta, sendo que agora o resultado da
funo hash depende no apenas da mensagem de entrada como tambm da
chave secreta. Esta nova abordagem descarta a possibilitada da ocorrncia dos
ataques tipo man-in-the-middle, aos quais ficava exposta a simples mensagem hash e
garantem a prova de autenticidade da origem da mensagem.
17
18
CONCEITOS BSICOS
A Gesto de Chaves
O seu tamanho e
A Gesto de chaves costuma ser considerada como a parte mais difcil, para aquilo a
que modelagem de um criptosistema diz respeito. Muitos destes sistemas ao serem
ensaiados falharam devido erros de abordagem em matria de gesto de chaves.
Na prtica, a grande maioria dos ataques aos sistemas criptogrficos so operados ao
nvel da gesto de chaves e no propriamente aos aspectos algortmicos da
criptografia.
19
CONCEITOS BSICOS
O algoritmo DH, Diffie-Hellman foi elaborado em 1976 por Withfield Diffie e Martin
Hellman e constitui hoje a base de muitos mtodos de troca automtica de chaves,
sendo por isso um dos protocolos mais utilizados atualmente em redes. O algoritmo DH
no foi concebido para a codificao direta dos dados, mas sim constitui-se no
mtodo que permite a troca segura de chaves que servem codificao dos dados.
CONCEITOS BSICOS
Definio
Origem
1976
Tipo de Algoritmo
Assimtrico
Velocidade de Execuo
Lenta
Mdio
21
CONCEITOS BSICOS
2. A seguir, Alice e Bob, geram os respectivos nmeros secretos, a saber, Xa para Alice
e Xb para Bob;
3. Com base em g, p e o seu nmero secreto, Alice calcula seu valor pblico Ya
utilizando o algoritmo DH:
Ya = g Xa mod p
Aps calcular Ya Alice envia-o Bob;
4. Por sua vez, Bob calcula igualmente seu valor pblico Yb apos o que envi-lo
Alice;
1. Para comear a troca DH, Alice e Bob devem concordar em dois valores no
secretos. O primeiro nmero, digamos, g, o nmero de base, tambm conhecido
como gerador. O segundo, p, um nmero primo, considerado como mdulo. Estes
nmeros so pblicos e escolhidos normalmente a partir de tabelas existentes. O
nmero base geralmente obtido numa faixa inferior, enquanto que o mdulo um
nmero expressivo. No nosso exemplo, utilizaremos g = 5 e p = 23;
5. Em posse do valor pblico de Bob, Yb Alice, volta a utilizar o algoritmo DH, tendo
como nmero base aquele valor, isto , Yb para obter o valor Z
Z = Yb Xa mod p
22
CONCEITOS BSICOS
Chegados a este ponto, como resultado, Alice e Bob dispem de um mesmo valor, Z,
isto , a chave secreta, partilhada por ambos, Alice e Bob; e que j pode ser utilizada
por qualquer algoritmo de codificao, como chave secreta entre Alice e Bob;
_____________________________________________________________________________________
Vejamos no nosso exemplo que se g = 5 e p = 23 e supondo que Alice e Bob tenham
gerado seus respectivos nmeros secretos Xa = 6 e Xb = 15;
Assim,
Ya = g Xa mod p
= 5 6 mod 23
= 8
Alice, calcula Z
Z = Yb Xa mod p
= 19 6 mod 23
= 2
Yb = g Xb mod p
= 5 15 mod 23
= 19
Z = Ya Xb mod p
Bob, calcula Z
Z = Ya Xb mod p
= 8 15 mod 23
= 2
23
CONCEITOS BSICOS
= g ( Xa) Xb
Resumindo,
Os algoritmos assimtricos, tambm conhecidos, de chave pblica, so aqueles em
que a chave utilizada para a codificao diferente da utilizada para a
descodificao. Em circunstancia nenhuma, (isto , em termos de tempo exequvel
para a quebra por via de fora bruta) a chave para descodificao deve ser a
mesma utilizada para a codificao e vice-versa.
e Ya = g Xa
24
CONCEITOS BSICOS
Este captulo vai abordar uma introduo s redes privadas virtuais baseadas na camada
3, com destaque ao IPSec; Para se ter uma vaga ideia comparativa entre as modalidades
citadas, as VPNs de nvel 3 podem servir ligaes remotas ponto-a-ponto ( GRE e IPSec) ou
ligaes remotas multipontos (MPLS)
De um modo muito simples, pode-se dizer que uma VPN interliga dois pontos remotos
sobre uma rede ou infraestrutura pblica, formando deste modo uma ligao lgica. Uma
ligao lgica pode ser estabelecida quer seja ao nvel da camada 2, que ao nvel da
camada 3 do modelo de referencia OSI. Assim, grosso modo, as tecnologias VPN podem
ser classificadas com base neste modelo de ligaes lgicas, ou seja , VPN da camada 2
ou VPN da camada 3 ( Layer 2 or Layer 3 VPNs); Estabelecer ligaes entre pontos
remotos por qualquer destas duas modalidades acaba por ser a mesma coisa; Existe na
base, o conceito de encapsulamento, onde um cabealho acrescentado carga a ser
transportada, tal que os dados transitem atravs de um tnel.
Como exemplos de VPNs de camada 2, temos entre outras a Rede Frame Relay,
enquanto que VPN de camada 3, temos a GRE (Generic Routing Encapsulation ), IPSec,
MPLS (MultiProtocol Label Switching), etc.
25
CONCEITOS BSICOS
Topologias VPN
Do ponto de vista topolgico, existem basicamente dois tipos de redes VPN:
VPN Site-a-Site
VPN de Acesso Remoto
Uma VPN Site-a-Site pode ser considerada como uma extenso a uma WAN clssica,
onde redes inteiras ficam conectadas entre si, como o caso de uma filial ligada a uma
sede de uma instituio corporativa. Num passado recente, linhas alugadas e a frame
relay serviam uma corporao para suportar tais ligaes. Mas, hoje em dia, visto que
muitas destas corporaes possuem ligaes internet, esta mesma infraestrutura serve
para o suporte s VPN Site-a-Site
26
CONCEITOS BSICOS
VPN Site-a-Site
Numa VPN Site-a-Site, qualquer estao terminal (host), envia e recebe trfego
TCP/IP normal, atravs de um gateway, que pode ser um router, um firewall, um
concentrador VPN ou um ASA Cisco, etc. O gateway responsvel para o
encapsulamento e encriptao do trfego que sai de um site, enviando-o atravs
de um tnel sobre a internet, para o extremo oposto, cujo gateway, por sua vez,
desencapsula os dados, retirando o cabealho e descodifica a carga, enviando,
por ltimo os pacotes originais aos hosts destinatrios.
27
CONCEITOS BSICOS
28
CONFIGURAO
29
CONFIGURAO
30
CONFIGURAO
31
ARQUITETUTA
IPSEC
Topologias
VPN IPSec Intranet
VPN IPSec Extranet
VPN IPSec Acesso Remoto
32
IPSEC
ARQUITETUTA
Arquiteturas
33
IPSEC
ARQUITETUTA
Implementao
34
35
Por exemplo, em R1, para permitir, na interface IPsec, o AH, ESP e ISAKMP, uma
ACL existente deve passar a ter (recriando-a) o seguinte:
access-list 105 permit ahp host 172.30.2.2 host 172.30.1.2
access-list 105 permit esp host 172.30.2.2 host 172.30.1.2
access-list 105 permit udp host 172.30.2.2 host 172.30.1.2 eq isakmp
interface serial 0/0/0
ip access-group 105 in
37
38
Em relao a figura acima, o router R1, define uma poltica ISAKMP, atravs das
seguintes instrues:
39
Valores Possveis
Valor Defeito
encryption
des
3des
aes
aes 192
aes 256
56-bit DES
3 DES
128-bit AES
192-bit AES
256-bit AES
des
hash
sha
md5
HMAC-SHA1
HMAC-MD5
sha
authentication
pre-shared
rsa-sig
Pre-shared
RSA-Signatures
rsa-sig
group
1
2
5
lifetime
seconds
86 400
Parmetro
40
42
R1, por ter trfego interessante para enviar ao seu par, tenta estabelecer um tnel IPsec com
R2. Por isso, envia seus parmetros de poltica IKE.
R2 deve ter uma poltica ISAKMP configurada com os mesmos parmetros.
Repare-se, que os nmeros atribudos s polticas, tm apenas significado local, no tendo
necessariamente que ser iguais entre as partes.
43
A instruo
crypto isakmp key chave address endereo-remoto
Esta chave s deve ser usada se a autenticao pre-shared tiver sido escolhida na
poltica ISAKMP.
Na instruo acima, pode-se utilizar o hostname em vez do endereo, mas para tal
a identidade ISAKMP (que por defeito configurada para o endereo) tem de ser
alterada, para este efeito:
44
45
Um conjunto de transformao deve estar limitado a uma transformao AH e uma ou duas ESP,
mas podem ser configurados vrios conjuntos de transformao, pelo que, um ou mais destes
possveis conjuntos, pode estar especificado numa entrada do mapa criptogrfico.
A negociao IPsec SA, faz uso do conjunto de transformao definido numa entrada no mapa
criptogrfico (crypto map), para proteco do fluxo de dados, definido pela ACL referenciada nesta
mesma entrada do crypto map.
46
47
Descrio
AH Transform
ah-md5-hmac
ah-sha-hmac
ESP Encryption
esp-aes
Transform
esp-aes 192
esp-aes 256
esp-des
esp-3des
esp-null
esp-seal
ESP Authentication
esp-md5-hmac
Transform
esp-sha-hmac
Transform type
48
49
50
Deve-se ressaltar que, uma negociao satisfatria deve resultar num mesmo conjunto de
transformao.
Neste exemplo, note-se que as partes partilham as mesmas definies do conjunto de
transformao e que os nomes destes apenas tm significado local.
51
52
53
Apenas um mapa deve ser aplicado a uma interface, mas vrias interfaces podem
partilhar o mesmo mapa, se a mesma poltica fr aplicada nestas interfaces.
Se mais do que uma entrada do mapa crypto fr aplicada a uma interface, ento o
nmero de sequncia servir para seleccionar a entrada, sendo que quanto menor o
nmero, maior a prioridade. Assim, em toda a interface onde haver sido aplicado
o mapa crytpo, a avaliao do trfego feita primeiro, de acordo com as entradas
de maior prioridade.
54
55
As ACL para entrada do mapa de criptografia rotulados com ipsec-manual, esto restringidas a
apenas uma linha de permisso; as linhas subsequentes so ignoradas. Assim, as SA
estabelecidas por meio destas entradas de mapa, suportam apenas um fluxo de dados. Para
permitir um suporte a vrios fluxos de dados, devem ser configuradas as correspondentes ACLs
que por sua vez devem ser aplicadas a diferentes entradas do mapa de criptografia.
Para efeitos de redundncia podem ser associadas a uma entrada do mapa, dois ou mais
entidades remotas (peers), por forma que em caso de falha do primeiro, o segundo possa ser
usado, etc.
A presena da clusula dynamic, indica que a entrada se refere a um mapa crypto esttico
existente, no sendo necessria a indicao de quaisquer instrues de mapa, uma vez que
estas j se encontram no mapa apontado (nome-dynamic).
O mapa de criptografia pode usar a combinao da chamada Cisco Encryption Technology
(CET) e a IPsec usando IKE. A clasula cisco, indica o uso da CET ao invs da IPsec.
56
Parmetros
Descrio
nome-mapa
numero-sequencia
cisco
ipsec-manual
ipsec-isakmp
dynamic
nome-dynamic
57
set
peer [address|host]
transform-set [nome-conjunto(s)]
Define a lista de transformaes; Se fr usado o ipsecmanual, apenas uma transformao usada; Se for
usado o ipsec-isakmp, podem ser utilizadas at seis
transformaes.
Security-association lifetime
Comandos
58
59
Repare-se, no exemplo acima, a utilizao de duas entidades remotas, para efeitos de
redundncia.
60
Instruo
Descrio
show ipsec sa
61
62
63
64
65
66
APENDICE
67
O primeiro requisito diz que, se aplicarmos D a uma mensagem cifrada E(P), obteremos
outra vez a mensagem de texto simples original (P). Sem esta propriedade o destinatrio
legtimo no poderia descodificar o texto cifrado. A chave criptogrfica, nas condies
acima exposta, torna-se pblica.
A seguir vamos ver como este mtodo funciona.
68
Agora vamos ver se podemos resolver o problema de estabelecer um canal seguro entre
Alice e Bob, que nunca havia tido um contacto anterior. Supomos que tanto a chave de
criptografia de Alice, EA , quanto a de Bob, EB estejam em arquivos de leitura pblica.
Agora, Alice em posse de sua primeira mensagem P, calcula EA (P) e a envia Bob. Em
seguida Bob a descodifica aplicando a sua chave secreta DB , isto , ele calcula:
DB (EA (P) ) = P. Ningum mais, excepto Bob, pode ler a mensagem criptografada EA (P)
porque o sistema de criptografia considerado slido e porque muito difcil derivar DB
da chave EA publicamente conhecida. Para enviar uma resposta R, Bob transmite EA (R).
Agora Alice e Bob podem se comunicar com segurana.
A criptografia de chave pblica exige que cada utilizador tenha duas chaves: uma chave
pblica, usada pelo mundo inteiro para criptografar as mensagens a serem enviadas para
este utilizador, e uma chave privada, que o utilizador usa para descriptografar mensagens.
Estas so referidas como chave pblica e chave privada, respectivamente, e vamos aqui
distingui-las das chaves secretas (tambm chamadas de chaves simtricas) usadas na
criptografia de chave simtrica convencional.
69
Uma pessoa, digamos, Alice, desejando receber mensagens secretas, primeiro cria dois
algoritmos que atendam aos requisitos anteriores. O algoritmo de criptografia e a chave
de Alice se tornam pblicos, da o nome de criptografia de chave pblica. Por exemplo,
Alice poderia colocar sua chave pblica na sua prpria home page, publicada na Web.
Vamos utilizar a notao EA para indicar o algoritmo parametrizado pela chave pblica
Alice; De modo semelhante, o algoritmo de descriptografia (secreto) parametrizado pela
chave privada de Alice DA ; Por seu turno Bob - a pessoa com que Alice vai se
comunicar - faz o mesmo, publicando EB mas mantendo secreta a chave DB
O mtodo RSA est baseado em alguns princpios da teoria dos nmeros. Vamos mostrar
de forma necessariamente resumida, como usar este mtodo:
Escolher dois nmeros primos extensos, p e q, ( normalmente nmeros de 1024 bits)
Calcular
n=pxqe
z = ( p-1) x (q 1)
Escolher um nmero d
tal que z e d sejam primos entre si.
Encontrar e, de forma que
e x d = 1 mod z
Com estes parmetros calculados com antecedncia, estaremos prontos para comear
70
com a criptografia
O nico problema que temos que encontrar algoritmos que realmente satisfaam a
todos os trs requisitos. Devido s vantagens potenciais da criptografia de chave pblica,
muitos pesquisadores esto se dedicando integralmente neste estudo, sendo que muitos
estudos j foram tornados pblicos. Um mtodo muito interessante foi a descoberto por
um grupo de pesquisadores do MIT e conhecido pelas iniciais dos trs eminentes
estudiosos que o criaram ( Rivest, Shamir, Adleman) : RSA. Trata-se de um algoritmo muito
forte, tendo resistido todas as tentativas de quebra, durante mais de um quarto de
sculo. Grande parte da segurana prtica assenta neste algoritmo. A principal
desvantagem do RSA est na sua exigncia de chaves de pelo menos 1024 bits, para
garantir um bom nvel de segurana ( se comparado, por exemplo, com a chave de 128
bits para algoritmos de chave simtrica), e isto o torna bastante lento.
71
A tabela abaixo mostra o processo de criptografia RSA sobre o texto simples SUZANA
Considerando que os valores numricos do texto constam da tabela (2)
P3
Smbolo
Numrico
S
U
Z
A
N
A
19
21
26
01
14
01
Clculo no receptor
C7
Texto Cifrado ( C )
(C = P3 mod 33)
13492928512
1801088541
1280000000
1
78125
1
28
21
20
1
5
1
6859
9261
17576
1
2744
1
Depois da Descodificao
C7 mod 33
Smbolo
19
21
26
01
14
01
S
U
Z
A
N
A
..
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
..
72
73