You are on page 1of 33

Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

Índice

1 – Introdução..............................................................................................2
2 - Cifras simétricas por blocos..................................................................3
2.1 - Estrutura da cifra AES ..........................................................................................3
3 - Cifras simétricas por fluxo de chaves...................................................7
3.1 - Cifra LFSR no GSM.............................................................................................7
3.1.1 - Cifra A3..........................................................................................................8
3.1.2 - Cifra A8..........................................................................................................9
3.1.3 - Cifra A5..........................................................................................................9
4 - Cifras Assimétricas..............................................................................10
4.1 – Cifra RSA...........................................................................................................10
4.2 - Cifra ECC............................................................................................................11
4.2.1 - ELCRODAT 6.2 comunicação segura de voz e dados no Euro- ISDN .....12
4.3 - Cifras Wireless....................................................................................................13
5 - Segurança da Comunicação ...............................................................14
5.1 – Ipsec....................................................................................................................15
5.1.1 - IPsec no VOIP..............................................................................................17
5.2 - SSL (Secure Sockots Layer)...............................................................................18
5.3 - PGP – Pretty Good Privacy.................................................................................20
6 - VOIP......................................................................................................21
6.1 – Autenticação através do TLS..............................................................................23
6.1.1 – Autenticação do SIP....................................................................................24
6.2.1 Diffie-Hellman................................................................................................26
6.3 - SRTP...................................................................................................................27
7 – Conclusão.............................................................................................31
8 – Bibliografia .........................................................................................33

Fábio Silva 1
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

1 – Introdução

A cifra é um algoritmo matemático capaz de torna ilegíveis as informações


transmitidas pelos diferentes meios de acesso. Apenas o possuidor da chave privada tem
a capacidade de interpretar as mensagens.
A cifra é necessária para garantir a segurança das comunicações, contudo não é
suficiente, pois um protocolo mal definido permite a um determinado intruso aceder a
informação. A análise da segurança de protocolos é indispensável.
A cifra é usada para 4 grandes serviços:
1 - Confidencialidade: Conteúdo só pode ser conhecido pelos intervenientes
autorizados.
2 - Autenticação: Nenhum intruso consegue mascarar o autor de mensagens.
3 - Integridade: Nenhum intruso consegue modificar o conteúdo da mensagem.
4- Não repudiação: O autor nas mensagens não pode negar o seu envio.
Inicialmente, a cifra tinha aplicações exclusivamente militares para assegurar
que o inimigo não tivesse qualquer possibilidade de entender o conteúdo das
informações. Eram cifras de substituição, em que os símbolos eram substituídos por
outros símbolos. As cifras têm evoluído em sintonia com o avanço da tecnologia.
Inicialmente, nos anos 20 utilizavam-se cifras manuais de substituição (César) ou de
transposição (Vigenère). Na 2º Guerra Mundial os Alemães utilizaram uma cifra
mecânica, Enigma, formada por uma cadeia de 3 rotores, cada um fazendo uma
substituição de uma letra. Nos dias actuais, utilizam-se cifras computacionais com
enorme influência dos ramos da matemática e da informática (AES, RSA, ECC).
Este trabalho desenvolve-se no âmbito da disciplina Redes de Acesso, e visa
analisar as cifras utilizadas actualmente e entender o funcionamento do emprego das
cifras em sistemas de telecomunicações, de forma a manter a segurança na informação.

Fábio Silva 2
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

2 - Cifras simétricas por blocos

Numa cifra de blocos, o texto a cifrar, normalmente uma sequência de bits, é


partido em blocos todos do mesmo tamanho. Cada bloco é cifrado independentemente,
o que permite que a perda ou alteração de bits afecta apenas o bloco. As cifras de blocos
são bastante resistentes aos ataques. A cifra de blocos mais utilizada é AES (Advanced
Encryption Standard). Esta cifra foi proposta por Rijndael, com base num algoritmo
de blocos de 128 bits, podendo ser alterado para múltiplos de 32 bits (192 e 256 bits).

2.1 - Estrutura da cifra AES

1- O texto é colocado num estado de 4 linhas por X colunas (X = tamanho do


bloco/32). O Estado é uma matriz de bytes que é manipulada entre as
diversas iterações. Em cada iteração do algoritmo são realizadas 4 etapas:
Substituição, deslocamento de linhas, mistura e adição de chave. Na última
iteração não é realizada a etapa da mistura.

2- A chave é expandida na matriz RoundKey de 4 linhas por Y colunas (Y =


tamanho da chave/32). Na seguinte tabela é relevado o número de iterações
do algoritmo.

Tabela 1 – Número de iterações para um bloco e chave de 128 bits.

3- Cada byte do estado é substituindo por outro numa S-box (caixa de


substituição). Todos os valores dessa caixa são dados em hexadecimal. A
substituição é feita da seguinte forma: os quatro primeiros e os quatros
últimos bits do byte a ser substituído representam respectivamente, a linha e
a coluna do novo byte (1º etapa).

Fábio Silva 3
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

Fig 1 – Substituição de bits

4- Deslocamento circular esquerdo em cada linha i de y posições (2º etapa).

Fig 2 – Deslocamento de linhas

5- Nesta etapa de mistura, cada coluna é processada de forma independente.


Isto significa que o resultado da operação numa determinada coluna não
influência o resultado nas outras colunas. Por outro lado, cada byte de uma
coluna influência todos os outros bytes da mesma coluna. As colunas do
estado são tratadas como polinómios sobre o corpo finito GF (28 ). Pode-se
representar essa transformação por uma multiplicação de matrizes. O novo
estado S’ será o resultado da multiplicação de uma matriz constante pela
matriz de estado (3º etapa).

Fig 3 – Mistura

Fábio Silva 4
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

6- Adição da Chave é uma operação de XOR em cada coluna a uma sequência


de 4 Bytes da chave. Em cada iteração a sequência avança 4 posições
(4ºetapa).

Fig 4 – Adição de Chave

7- As chaves utilizadas ao longo de cada iteração são resultado da expansão da


chave principal do AES. O tamanho da chave a ser usada nas iterações é
igual ao produto do comprimento do bloco pelo número imediatamente
acima do valor de iterações (iteração+1). É possível visualizar a expansão
das chaves através do seguinte exemplo para uma chave de quatro bytes. O
byte w[i] depende w[i-1] e w[i-4].

Fig 5 – Expansão da chave

Fábio Silva 5
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

Fábio Silva 6
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

3 - Cifras simétricas por fluxo de chaves

Na cifra sequencial é gerado um fluxo de chaves que a posteriori é combinado


com o plano de texto. Estas cifras são bastante utilizadas em sistemas de comunicação
(GSM, Bluetooth, 802.11).
A segurança da cifra depende apenas no gerador do fluxo de chaves. O registo
de deslocamento re-alimentado linear (LFSR) é actualmente o mais utilizado. O LFSR
baseia-se no deslocamento de bits. O bit de saída é usado para operar sobre o plano de
texto, enquanto que o bit de entrada é determinado por um polinómio característico,
f(X)= Xn + Cn-1Xn-1 + ... + C1X + C0, Ci ={0,1}.

Fig 6 - Deslocamento de bits na cifra de LFSR

O polinómio pode ser implementado pelo registo Galois ou pelo registo


Fibonacci. O polinómio deve ser primitivo, de modo a proporcionar ciclos longos (2^grau
do polinómio
-1), tornando mais resistentes aos ataques.

3.1 - Cifra LFSR no GSM

O GSM é o sistema de comunicações móveis mais usado no mundo. O GSM


difere da primeira geração de sistemas sem fio pelo uso da tecnologia digital e pela
transmissão em TDM. A transmissão digital tem enormes vantagens em relação à
transmissão analógica para a comunicação móvel. O GSM necessita de menos largura
de banda, tem melhor qualidade de transmissão e os sinais digitais podem ser cifrados
para aumentar a segurança.
Os sistemas CDMA e TDMA, dificultam a captura dos dados das conversações,
devido aos sinais digitais serem modulados e multiplexados por tempo (TDMA) ou por
Fábio Silva 7
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

divisão de código (CDMA), porém mesmo assim é possível capturar os dados,


descodificá-los e interceptar as informações.
A segurança nos sistemas wireless torna-se uma realidade através da
autenticação e confidencialidade da informação (dados, voz e sinalização).
O GSM utiliza três tipos de cifras: A3, A5 e A8. Normalmente A3 e A8 são
utilizados simultaneamente (conhecidas como A3/A8). As cifras A3/A8 são
implementadas no cartão SIM e nas redes GSM. É usado para autenticar os utilizadores
e gerar uma chave para cifra dos dados e voz. A cifra A5 embaralha a voz e dados dos
utilizadores com objectivo de oferecer privacidade. Cada utilizador possui um único
IMSI (International Mobile Subscriber Identity) para todas as redes GSM. Para proteger
o IMSI, o GSM utiliza o TMSI (Temporary Mobile Subscriber Identity). No momento
em que o dispositivo móvel é ligado, o IMSI é transmitido e o VLR (Visitor Location
Register), estabelece uma relação entre o IMSI e um TMSI gerado. A partir deste
momento, somente o TMSI é transmitido. A rede GSM autentica a identidade do
utilizador através de um mecanismo de desafio e resposta (challenge-response
mechanism). A BTS (Base Transceiver Statios) envia para o MS um número aleatório
de 128 bits (RAND). A Chave secreta inicial Ki de 128 bits é apenas conhecida pelo
HLR e MS (armazenada no cartão SIM).

3.1.1 - Cifra A3

A cifra A3 é utilizada para autenticar o sistema móvel (MS) na rede wireless. A


segurança dessa cifra é baseada numa chave privada que permanece armazenada dentro
do MS (cartão SIM), que possui um comprimento de 128 bits.
A cifra A3 utiliza dois parâmetros de entrada, sendo o primeiro a chave privada
do MS (Ki) de 128 bits e o segundo é o número aleatório (RAND) de 128 bits, gerando
como saída uma resposta sinalizada, SRES de 32 bits. Após o SRES ter sido calculado o
MS envia o SRES para a rede, que calcula sua integridade comparando com o SRES
gerado no MS com o SRES gerado pelo centro de autenticação (HLR/AUC). Um
problema deste procedimento é a baixa capacidade de processamento do cartão SIM, o
que impede um Ki grande, tornando o sistema relativamente frágil.

Fábio Silva 8
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

3.1.2 - Cifra A8

A cifra A8 é utilizada para gerar chaves de sessão, calculada pela seguinte tupla
Kc = (Ki, RAND), sendo Ki a chave privada do dispositivo móvel de 128 bits e RAND
um número aleatório de 128 bits, onde Kc possui 64 bits. Note que o algoritmo A8 é
calculado de maneira similar ao A3, sendo que no algoritmo A8 é gerada uma chave
(Kc) de 64 bits e no algoritmo A3 é gerado um SRES de 32 bits.

3.1.3 - Cifra A5

A cifra A5 é utilizada para cifrar e decifrar voz e dados na tecnologia GSM. Tem
a capacidade de cifrar a ligação do MS à estação base. A cifra A5 consiste em três
LFSRs (Linear Feedback Shift Register), sendo os comprimentos dos registos 19, 22, e
23. O resultado de saída é um XOR dos três registos LFSRs.

Fig 7 – A cifra A5 utilizada no GSM

Em resumo, o sistema de segurança do GSM depende do SIM (Subscriber


Identity Module). O cartão SIM contém um IMSI, uma chave pessoal (Ki), um
algoritmo de geração de chaves (A8), um algoritmo de autenticação (A3) e um número
de Identificação Pessoal (PIN – Personal Identificator Number) e o dispositivo móvel
contém um algoritmo de criptografia (A5). Os algoritmos (A3, A5 e A8) estão presentes
na rede GSM. O Centro de Autenticação (AUC), parte do HLR, consiste no banco de
dados de autenticação dos utilizadores. Estas informações consistem em IMSI, o TMSI
e o LAI (Location Area Identifier) e a chave de autenticação individual do utilizador
(Ki). Todos os itens (MS, SIM e Rede GSM) são necessários. Isto resolve os problemas
de segurança e impede fraudes como clonagem e escuta das conversas telefónicas.
Fábio Silva 9
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

4 - Cifras Assimétricas

A cifra assimétrica possui uma concepção diferente da cifra simétrica. Na cifra


assimétrica são criadas duas chaves, a chave pública e a chave privada. A chave pública
é utilizada para cifrar a mensagem. Após a mensagem ter sido cifrada, somente o
conhecedor da chave privada poderá decifrar a mensagem. Através do conhecimento da
chave pública é impossível identificar a chave privada, de modo a que apenas o
conhecedor da chave privada possa aceder a mensagem cifrada. Por outro lado, a chave
privada não necessita de ser transmitida.

4.1 – Cifra RSA

O RSA realiza a operação de cifra e decifra através de dois cálculos matemáticos. O


RSA como cifra assimétrica utiliza uma chave pública e uma chave privada. A segurança
desta cifra baseia na dificuldade em factorizar números inteiros de grandes dimensões. Para
realizar a cifra RSA à que proceder as seguintes passos:
1- Seleccionar dois números primos p ,q (> 150 dígitos decimais cada);
2- Calcule o valor de N = p*q e Z = (p-1)*(q-1);
3- Escolher d<N;
4- Escolher e, tal que e*d=1 mod Z;

Chave pública: (e,N)


Chave privada: (d,N)

Cifrar: E(pi)=ci=pie mod N


Decifrar: D(ci)= cid mod N

A segurança da cifra RSA está adjacente a dificuldade de calcular d a partir da


chave pública. Para calcular d é necessário aplicar o algoritmo euclidiano estendido
para z e e. Logo para calcular d a partir da chave pública é preciso achar z, implicando a
factorização de N. Para quebrar a cifra RSA é necessário factorizar N, logo basta
escolher um N apropriado para que a cifra seja segura, pelo facto de não existir um
algoritmo rápido de factorização.

Fábio Silva 10
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

4.2 - Cifra ECC

Os sistemas criptográficos têm por base problemas matemáticos que, devido ao


elevado nível de dificuldade inserido na sua resolução, tornam bastante complexa a sua
quebra. A cifra ECC tem por de atrás uma matemática complexa. Utiliza operações
sobre corpos finitos primos, possuindo propriedades especificas das curvas elípticas. A
cifra tem como grande vantagem a pequena dimensão da chave em relação a cifra RSA,
para o mesmo grau de segurança.
Uma das variantes é ECDSA (“Elliptic Curse Menezes-Vanstone”) e possui o
seguinte processamento:
1) Publicamente são conhecidos os coeficientes da curva elíptica (Zp, Ep(a,b)) e
o gerador (G);
2) O destinatário divulga a chave pública, Kp (através da um número aleatório
inteiro (Kd) e pelo gerador, kp=kd*G);
3) O indivíduo que envia a mensagem (m1,m2), selecciona aleatoriamente um
número inteiro K e realiza os seguintes cálculos:
a. K*G
b. K*kp=(c1,c2)
c. Envia a seguinte mensagem cifrada ((K*G, K*kp), c1*m1 mod Zp,
c2*m2 mod Zp);

Através de um exemplo é mais simples visualizar o processamento da cifra:


Seja a curva elíptica E31(16,7) e gerador G=(3,12). O Bruno selecciona KS=17
divulga KP=17×G=(26,22). A Alice pretende enviar, de forma cifrada, (m1,m2)=(10,12).
1. Alice selecciona aleatoriamente k=19 e calcula:
a) kG = 19 × (3,12) = (21,5)
b) kKp = 19 × (26,22) = (19,3)
c) y1 = 19 × 10 mod 31 = 4
y2 = 3 × 12 mod 31 = 5
2. Alice envia a Bruno a mensagem cifrada ((21,5),4,5);
3. Bruno calcula o KS ×(21,5) = (19,3);
4. Bruno decifra a mensagem:
a) m1=4/19 mod 31=4×18 mod 31=10 pois (19-1 mod 31=18);
Fábio Silva 11
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

b) m2=5/3 mod 31=5×21 mod 31=12 pois (3-1 mod 31=21).


Actualmente as cifras assimétricas são as mais utilizadas. A seguir é realizada
uma comparação entre a cifra ECC e RSA, segundo três parâmetros:
1-Carga Computacional: Mede a eficiência com que os algoritmos podem
implementar as transformações com as chaves públicas e privadas (sistema em
operação). As melhores implementações de cada um dos sistemas, indicam que
o ECC executa numa ordem de 10 vezes mais rápido que o RSA.
2- Tamanho de Chave: O ECC também apresenta grande vantagem nesse
aspecto. Enquanto RSA apresenta um par de chave (pública, privada) com
tamanhos em bits (1088,2048), no caso da implementação das curvas elípticas o
par de chave ECC (161,160).
3- Tamanho de Banda: Corresponde a quantos bits há a transmitir após
codificar ou assinar uma mensagem, em relação a mensagem original. O ECC
maximiza a utilização dos sistemas de transmissão de dados.

4.2.1 - ELCRODAT 6.2 comunicação segura de voz e dados no Euro- ISDN

Este dispositivo é um exemplo da utilização de cifras ECC para a criptografia de


dados. É um dispositivo produzido pela siemens, com uma implementação em
coprocessadores.
O ELCRODAT 6-2 é o primeiro sistema de criptografia aprovado pelo Serviço
Federal alemão de Segurança da Informação (BSI) para a transmissão de informações
classificadas até ao TOP SECRET. Ao iniciar uma nova sessão, são geradas no sistema
de criptografia novas chaves para a ligação.
O ELCRODAT 6.2 pode ser utilizado para todos os serviços ISDN (Integrated
Services Digital Network), mesmo através de ligações por satélite (Inmarsat M4), para
transmissão de voz, dados, vídeo e comunicações sejam aprovadas pelo Serviço Federal
de Segurança da Informação (BSI) para a transmissão de informação classificada. O
Elcrodat 6.2 está disponível em duas versões: uma para a Euro-ISDN com uma taxa de
acesso básico (S0) e outra para a Euro-ISDN com uma taxa de acesso primário (S2).
A típica aplicação desta versão tem uma velocidade na porta de criptografia a 2
Mbit/s no sistema PBX ISDN. Os dispositivos estão ligados entre os terminais ISDN
comerciais e os pontos de acesso ISDN. No que diz respeito à sinalização no ISDN os

Fábio Silva 12
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

dispositivos actuam como equipamentos terminais para a troca da linha e como um


terminal de rede para o sistema de telecomunicações.

4.3 - Cifras Wireless

As normas 802.11 do IEEE, descrevem redes sem fios nos níveis físico (rádio ou
IR) e MAC-”Middle Access Control”.
O WEP (wired equivalency protocol) é um protocolo de segurança do 802.11,
que actua na camada de ligação realizando a criptografia e a autenticação entre as
estações e os pontos de acesso. O seu principal objectivo é manter confidencialidade,
autenticidade e confiabilidade dos dados do utilizador que circulam pela a rede.
A criptografia da WEP utiliza uma cifra de fluxo baseada no algoritmo RC4. Na
WEP, o RC4 gera um fluxo de chaves que sofre uma operação XOR com o plano de
texto para formar o texto cifrado. O PRNG (Pseudo Randon Number Generator) gera
uma sequência de bits do mesmo tamanho do plano de texto, através da concatenação da
chave secreta e do vector de inicialização (IV). Ao plano de texto é adicionado o valor
CRC-32 (Cyclic Redundancy Check), para identificação de erros na transmissão. O IV
utilizado para iniciar o RC4 é enviado juntamente com o texto cifrado. O protocolo
WEP pode ser visualizado pela figura 8.

Fig 8 – Cifra WEP

Na cifra WEP, a chave secreta é igual para todos os utilizadores inseridos na


mesma rede, por isso o vector de inicialização deve ser diferente para cada pacote, a fim
de evitar a repetição da sequência RC4. Sendo o IV de tamanho pequeno, rapidamente
são interceptados pacotes com o mesmo IV. Por outro lado, também é possível realizar
ataques bem sucedidos ao algoritmo de detecção de erros. O CRC-32 é um algoritmo

Fábio Silva 13
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

linear e que não possui chave. Estas duas características tornam a cifra susceptível a
dois tipos de ataques prejudiciais e indesejáveis. Desta forma é possível modificar as
mensagens que eventualmente tenham sido capturadas no meio da transmissão, sem que
seja descoberto pelo receptor final devido a linearidade da função detectora de erros.
Além disso, pelo facto do algoritmo não possuir uma chave, é possível descobrir uma
sequência secreta RC4 e desta forma o intruso pode autenticar-se na rede e
consequentemente introduzir mensagens clandestinas na rede.
Na actualidade, a segurança nas redes 802.11 é realizada através do WAP 2.0,
onde utiliza protocolos padrão em todas as camadas. O WAP admite o uso total do
IPsec na camada rede, e na camada de transporte as conexões podem ser protegidas pelo
SSL. Num nível ainda mais alto, o WAP utiliza a autenticação de clientes HTTP. O
WAP 2.0 tem como base padrões conhecidos, de forma a realizar serviço com
segurança, destacando-se a privacidade, autenticação, controle da integridade e o não
repúdio.

5 - Segurança da Comunicação

Uma sessão entre dois participantes só pode ser mantida confidencial se for cifrada.
Contudo os participantes trocam as chaves pelo um meio inseguro da Internet. Neste
capítulo mostra a implementação de vários protocolos com o intuito de proporcionar
segurança ás redes. A Segurança pode ser aplicada a vários níveis na pilha de
protocolos:
- Rede
• IPSec
- Transporte:
• SSL-Sockets Secure Layer/ TLS-Transport Layer Security
- Aplicação:
• SSH (telnet segura)
• PGP (Email seguro)
• WWWS (World Wide Web seguro)

Fábio Silva 14
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

5.1 – Ipsec

O IPsec é a forma abreviada de Internet Protocol Security. IPsec é um conjunto


de protocolos que estão a ser desenvolvidos e melhorados pela IETP (Internet
Engineering Task Force) para viabilizar a implementação de VPNs na Internet.
O IPsec garante a confidencialidade, integridade e autenticidade das
comunicações de dados em redes públicas.
Um aspecto a salientar do IPsec, embora esteja na camada IP, é o facto de ser
orientado a conexão. Uma conexão no contexto do IPsec tem o nome de SA (security
association). Uma SA é uma conexão simplex entre dois pontos extremos e que
possuem um identificador de segurança. Os identificadores de segurança são
transportados em pacotes que percorrem as conexões seguras, sendo utilizados para
pesquisar chaves e outras informações relevantes ao chegar um pacote seguro.
Tecnicamente, o IPsec tem duas partes principais. A primeira parte descreve dois
novos cabeçalhos que podem ser acrescentados aos pacotes, a fim de transportar o
identificador de segurança, os dados de controlo de integridade e outras informações. A
outra parte, o ISAKMP (Internet Security Association and Key Management Protocol),
trabalha com o estabelecimento de chaves.
O IPsec implementa criptografia e autenticação ao nível do encaminhamento no
router, combinando ponto a ponto com a arquitectura da rede. A principal vantagem
deste processo é as aplicações individuais não têm a necessidade de ser alteradas e todos
os pacotes encaminhados entre dois equipamentos IPsec são automaticamente
protegidos.
O IPsec pode ser usado em dois modos: modo de transporte e modo de túnel. No
modo transporte, o cabeçalho é inserido logo depois do cabeçalho IP. O cabeçalho IPsec
contém informações de segurança, de realçar, o identificador SA, um novo número de
sequência e, possivelmente, uma verificação de integridade da carga útil. No modo de
túnel, todo o pacote IP, incluído o cabeçalho, é encapsulado no corpo de um novo
pacote IP com um cabeçalho IP completamente novo. O modo túnel é útil quando um
conjunto de conexões é agregado e tratado como um único fluxo codificado, porque isso
evita que um intruso tenha conhecimento de quem está a enviar, a receber e quantos
Fábio Silva 15
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

pacotes são enviados. Assim, o modo de túnel fornece uma forma de anular a análise de
tráfego. A desvantagem do modo de túnel é que acrescenta um cabeçalho IP extra,
aumentando substancialmente o tamanho dos pacotes.

Fábio Silva 16
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

O primeiro novo cabeçalho é AH (Authentication Header). Tem a capacidade de


fornecer a verificação de integridade e segurança contra a reprodução, contudo não
oferece sigilo, isto é, não há criptografia de dados.
O cabeçalho IPsec alternativo é o ESP (Encapsulado Security Payload). O ESP
tem a capacidade de fazer o que o AH faz, mas acrescenta-lhe o sigilo.

Fig 9 – Modo de transporte e de túnel

5.1.1 - IPsec no VOIP

Devido a facilidade de manusear as técnicas de captura de pacotes numa rede IP,


tornou-se fundamental a necessidade de cifrar a voz sobre o IP (VOIP). A segurança no
VOIP é responsável por proteger a informação de ambas as pessoas que estão em
comunicação. O IPsec pode ser utilizado como o objectivo de proteger a informação,
desde que seja aplicado o cabeçalho ESP, no modo de túnel. Assim é possível proteger a
identidade de ambos os utilizadores e proteger os dados de voz de intermediários que
pretendem intersectar os dados. A incorporação de IPsec em IPv6 aumentará a
disponibilidade de criptografia, contudo existe outras formas de tornar os dados seguros
ao nível de aplicação. VOIPsec (VOIP usando IPsec) ajuda a reduzir as ameaças dos
ataques “ man in the middle”, “packet sniffers”, e de analisadores de tráfico de voz.

Fábio Silva 17
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

O IPsec combinado com a firewall, torna o VOIP muito mais seguro do que uma
linha telefónica normal.

5.2 - SSL (Secure Sockots Layer)

O protocolo SSL funciona num nível intermédio entre a camada de transporte


(TCP) e a camada de aplicação. É utilizado para garantir transmissões seguras de dados
em vários serviços. O mais popular é o serviço HTTPS (HTTP em cima de SSL). A
SSL constrói uma conexão segura entre dois sockets, o que inclui:
- Negociação de parâmetros entre cliente e servidor;
- Autenticação mútua de cliente e servidor;
- Comunicação secreta;
- Protecção de integridade dos dados.
Depois da conexão segura ser estabelecida, a principal tarefa da SSL é manipular
a compactação e a criptografia.
O protocolo SSL, inserido entre níveis de transporte e aplicação, é formado por
dois subníveis:
– Confirmação (“handshake”) – troca de mensagens entre cliente e servidor.
– Registo (“record”) – definição do formato dos dados.

Fig 10 – Protocolo SSL, inserido entre os níveis de transporte e aplicação

O subnivel confirmação tem por objectivos a autenticação e a negociação, entre


o cliente e o servidor, dos parâmetros de segurança. O subnivel é constituído por
diversas fases:
1) Estabelecimento das características de segurança;
2) Autenticação e troca de chaves do servidor para o cliente;

Fábio Silva 18
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

3) Autenticação do cliente;
4) Finalização.
Na primeira fase, o cliente envia uma solicitação ao servidor para estabelecer
uma conexão. Nesta solicitação o cliente especifica a versão do SSL, algoritmos de cifra
para a troca de chaves e sessão, algoritmos para compressão e número aleatório
(“nounce”), para evitar ataques por repetição. Em seguida estão apresentadas as opções
do cliente em relação ao algoritmo das cifras a utilizar.
– Troca de chaves
• RSA: servidor possui certificado de chaves públicas;
• DH fixo: cliente e servidor possuem certificados de chaves públicas;
• DH efémero;
• DH anónimo: autenticação de chaves inexistente, a evitar!
– Cifra de sessão
• Simétrica
– Contínua (RC4 de 40 e 128 bits);
– bloco CBC (RC2 de 40 bits, DES 40 e 56 bits, AES de 128 bits,
3DES, IDEA, Fortezza) ;
• Assimétrica: RSA, Diffie-Hellman;
O servidor realiza uma escolha entre os diversos algoritmos que o cliente pode
permitir e envia o seu “nounce”, a fim de evitar ataques de repetição. Por outro lado, o
servidor pode abortar a conexão.
Na segunda fase, o servidor envia um certificado contendo a sua chave pública.
Se esse certificado não for assinalado por nenhuma autoridade conhecida, o servidor
também envia uma cadeia de certificados que pode chegar até uma autoridade original.
O servidor depois de enviar a sua chave, envia um pedido de certificado da chave
pública do cliente.
Na terceira fase, o cliente envia uma chave pré-privada, cifrada com a chave
pública do servidor. A chave da sessão real usada para cifrar os dados é derivada da
chave pré-privada combinada com os ambos “nounces” de forma complexa. Depois esta
mensagem chegar ao servidor, ambos são capazes de calcular a chave da sessão.
Embora, o cliente tenha conhecimento acerca do servidor, o servidor não sabe
quem é cliente, pois o cliente não possui uma chave pública, nem o certificado
correspondente.
Fábio Silva 19
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

O subnivel registo recebe dados da aplicação, executando 3 tarefas:


– Fragmentação;
– Compressão (eventualmente);
– Cifra/autenticação.
Este protocolo permite a troca de mensagens entre o servidor e o cliente sem que
a captura de pacotes ou a falsificação de mensagens seja permitida. O SSL opera entre
as camadas de Aplicação e Transporte, o que torna independente dos protocolos de alto
nível, permitindo operar de forma transparente com qualquer aplicação (http, ftp,
telnet).

5.3 - PGP – Pretty Good Privacy

O PGP é um pacote completo para a segurança de mensagens de correio


electrónico que fornece privacidade, autenticação, assinaturas digitais e compactação,
de uma forma fácil de utilizar. O PGP codifica dados utilizando uma cifra de bloco,
IDEA (International Data Encryption Algorithm), com uma chave de 128 bits. De
salientar que a cifra RSA também é utlizada neste protocolo em duas situações:
- Para cifrar o hash MD5 de 128 bits;
- Para cifrar a chave IDEA de 128 bits.
Devido à sua qualidade, preço (zero) e disponibilidade nos sistemas operativos
existentes, este protocolo é bastante utilizado.

Fábio Silva 20
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

6 - VOIP

Actualmente, a segurança no VOIP é um aspecto crítico que está a ser tomado


mais em consideração, devido ao aumento da sua popularidade e implementação. O
objectivo é garantir uma comunicação com a total privacidade e integridade.
Existem procedimentos e mecanismos que mantêm seguras as transmissões na
Internet, contudo estes procedimentos e mecanismos consomem bastante tempo de
processamento para aplicações de voz em tempo real.
As aplicações de dados sobre a Internet requerem apenas uma camada de
segurança, desde que sejam do mesmo tipo de pacotes. Por outro lado, devido a maior
complexidade da aplicação VOIP, são necessárias quatro camadas para garantir a
segurança. A segurança é individual para cada camada, já que cada camada tem o seu
protocolo de segurança e sua chave. Cada camada tem a sua própria ligação e o seu
próprio canal através da rede IP, bem como o seu próprio conjunto dos destinos dos
pacotes.
Na figura 10 está representado uma implementação VOIP, capaz de realizar
transmissões seguras.

Fig 10 – Implementação segura do VOIP.

Fábio Silva 21
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

Nesta arquitectura são notórias duas componentes de maior relevo: Micro e o


DSP. O fluxo de voz é empacotado utilizando IETF RFC 1889 Real-Time Protocol
(RTP), e como é possível visualizar pelo trajecto da linha vermelha, o processamento é
realizado pelo DSP utilizando um protocolo de encriptação da voz e uma troca de
chaves. A encriptação pode ser realizada pelo DSP ou Micro. A sinalização (linha a
verde) é estabelecida entre o dispositivo Micro e o Call Manager Server. Depois da
troca de algumas mensagens entre o Micro e o Call Manager Server, é possível
transmitir directamente entre os dois dispositivos Micros. O Session Initiation Protocol,
H.323 e Gateway Control Protocol (MGCP), são os mais comuns protocolos utilizados
para realizar a sinalização.
Como já foi referido, a segurança no VOIP é alcançada em quatro camadas,
como é possível visualizar pela figura 12.

Fig 12 - As quatro camadas de segurança numa aplicação de VOIP

A configuração da segurança é estabelecida durante o registo de um novo


utilizador. É instituído entre customer premises equipment (CPE) e o servidor. Depois
da configuração, o CPE pode iniciar o fluxo de dados. O fluxo de dados é independente
da sinalização e do fluxo de voz. Quando o CPE detecta um sinal off-hook, é possível
realizar a sinalização com Call Manager Server. Depois de estabelecida a chamada é
possível transmitir fluxo de voz entre os dois CPE.
Oferecendo principal relevo à segurança na camada de envio de voz, onde é
utilizado o protocolo SRTP para a encriptação e autenticação dos pacotes RTP. O SRTP
foi criado com o intuito de fornecer um rápido e eficiente método de segurança, com o

Fábio Silva 22
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

mínimo overhead. Contudo o SRTP necessita de chaves de segurança. Por esta razão, o
Multimédia Internet Keying protocol (MIKEY) foi concebido para fornecer um robusto
e eficiente mecanismo de gestão de chaves para ser utilizado com SRTP.
Neste quatro é possível visualizar os possíveis algoritmos para realizar a troca de
chaves.

Quadro 1 – Algoritmos de gestão de chaves

6.1 – Autenticação através do TLS

Actualmente TLS é um protocolo bastante utilizado para garantir o tráfego de


rede. O protocolo TLS fornece um canal seguro para aplicações primárias com três
parâmetros de segurança:
- Autenticação;
- Confidencialidade do canal de comunicação;
- Integridade do canal de comunicação.
O “handshake” no TLS tem duas rondas para o estabelecimento da chave. A
variante mais utilizada do “handshake” é baseada no RSA. Na figura 13 apresenta o
“handshake” dividido em quatro fases.
Na primeira fase o cliente envia um “client_hello” para o servidor que responde
com um “server_hello”. O cliente com esta mensagem vai negociar alguns parâmetros

Fábio Silva 23
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

com o servidor. O cliente envia a versão do protocolo que pretende utilizar, um número
aleatório de 32 bits que gerará a chave pré-privada, o seu ID e a cifra utilizar.

Fig 13 – As quatro fases do “handshake”

Na segunda fase o servidor transmite um certificado contendo a sua chave


pública. Se não for possível verificar o certificado, a conexão é finalizada. Na terceira
fase o cliente envia a sua chave pré-privada, gerada através do número aleatório de
32bits, cifrada com a chave pública do servidor. O “handshake” é finalizado na quarta
fase, com a geração da chave privada. A partir desta fase todas as mensagens são
cifradas com a chave privada.

6.1.1 – Autenticação do SIP

Fábio Silva 24
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

A figura 14 mostra a autenticação e encriptação de acordo mútuo. A


autenticação mútua e encriptação da chave SIP são realizadas através de um
“handshake” com quatro mensagens. O método de desafio/resposta é utilizado na
autenticação entre cliente e servidor. A autenticação mútua garante que ambos terminais
não podem ser falsificados por um determinado atacante.

Fig 14 – Fluxo de autenticação entre terminais

Após o término do processo de sinalização é viável a criação e manutenção de


um canal de dados (voz, vídeo ou texto).

6.2 – Mikey

O protocolo MIKEY foi concebido para satisfazer as exigências das aplicações


multimédias em tempo-real. O MIKEY foi projectado para possuir as seguintes
características:
- Segurança de terminal a terminal, onde apenas os utilizadores envolvidos na
comunicação têm acesso às chaves geradas;
- Simplicidade;
- Reduzida largura de banda, carga computacional e código;
Fábio Silva 25
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

- Possibilita a integração com os protocolos de estabelecimento de sessão, como


o SDP (Session Description Protocol) e RTSP;
- Poucas repetições de etapas.
O protocolo Mikey utiliza a seguinte estrutura para realizar a gestão de chaves.

Fig 15 – Estrutura do Mikey

O protocolo Mikey suporta três diferentes mecanismos de autenticação: Pré-


share key (PSK), Public key e Diffie-Hellman.

6.2.1 Diffie-Hellman

É um protocolo de acordo de chaves. Com este protocolo é possível realizar


troca de chaves num meio inseguro.

Fig 16 – Meio Inseguro


Publicamente são conhecidos p (obrigatoriamente é um número primo) e g
(base). Os valores numéricos de p e (p-1)/2 devem ser primos, em que o valor de p deve
ser grande (pelo menos 512 bits) e o valor de g deve ser raíz primitiva de p, de forma a
dificultar a decrifa do protocolo. O cliente e o servidor seleccionam respectivamente
dois números secretos a, b.

Fábio Silva 26
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

Esquema 2 – Protocolo DH
O cliente e o servidor calculam a mesma chave. O intruso não consegue calcular
a chave a partir de (gb mod p) e (ga mod p), devido a dificuldade de identificar
algoritmos discretos.
KBA = (gb mod p) a mod p
= (gb) a mod p
= (ga ) b mod p
= (g a mod p) b mod p
= KAB

6.3 - SRTP

O SRTP é um padrão criado pelo IETF para garantir a confidencialidade e a


integridade do áudio transportado pelo RTP, de forma a garantir que o tráfego de áudio,
na eventualidade de ser capturado por um determinado intruso, seja inútil, pois não é
possível remontar o áudio e ouvir a transmissão sem a chave de encriptação.
Para a gestão das chaves de criptografia, o SRTP utiliza o protocolo MIKEY,
que utiliza o mecanismo de chaves PSK, Public key e Diffie-Hellman para a troca de
chaves.
Como o tráfego de áudio pode ser encriptado de uma terminal até o outro
terminal, o SRTP foi projectado para utilizar poucos recursos computacionais, já que
geralmente um telefone IP possui um hardware simples.
O algoritmo de criptografia utilizado pelo SRTP é o Advanced Encryption
Standard (AES) de 128 bits, o que proporciona um nível de segurança elevado para o
tráfego de áudio.
Na figura 17 é possível visualizar o formato do SRTP.

Fábio Silva 27
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

Fig 17 – Formato da frame SRTP

A finalidade do campo opcional Master Key Identifier (MKI) é identificar qual a


chave privada que tem sido utilizada para obter as chaves da sessão para encriptar os
pacotes. O campo de authentication tag tem a função de fornecer a autenticação,
integridade e a protecção contra a repetição de pacotes. Este campo é altamente
recomendado pela especificação SRTP, pois garante a autenticação da chamada.
O processamento do protocolo SRTP está esquematizado na figura 18.

Fig 18 – Processamento do SRTP


1) Troca de parâmetros entre os dois lados da ligação, de forma a coordenar as
cifras e protocolos a utilizar.

Fábio Silva 28
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

2) Determinar o valor do índice do pacote SRTP. O índice i do pacote é


utilizado para fornecer protecção contra a replicação, encriptação e
autenticação. Quando a sessão inicia, o rollover counter, ROC, está a zero.
Cada vez que o número de sequência (SEQ) do pacote RTP ultrapassa o
módulo 2^32, há um incremento no ROC. O índice i é definido pela seguinte
equação, i=(2^16)*ROC+SEQ.
3) Determinar a chave primária e o salt primário (utilizado na derivação das
chaves de sessão. Deve ter um valor aleatório e poderá ser público). Estas
operações são calculadas utilizando o índice i.
4) Determinar as chaves de sessão de encriptação, autenticação e salt, através
da chave primária, salt primário.

Esquema 3 – Determinação de chaves


5) Encriptar o payload do RTP com a chave de encriptação.
6) Se existir, adicionar o MKI ao pacote;
7) Para a mensagem de autenticação, calcular o authentication tag. Nesta etapa
são utilizados os valores do actual ROC e a chave de autenticação. Adicionar
o authentication tag ao pacote.

É tanto importante encriptar o áudio como encriptar a manipulação dos


protocolos de sinalização, impedindo assim a captura e modificação das mensagens de
configuração de chamadas.

Fábio Silva 29
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

Fábio Silva 30
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

7 – Conclusão

Os grandes objectivos da segurança na informação são: Autorização,


Autenticação, Integridade, Privacidade e não replicação. Para atingir estes objectivos
são utilizados mecanismo de segurança baseados várias modelos de cifras e protocolos.
Neste trabalho estudou-se cifras simétricas e assimétricas. As cifras simétricas
dividem-se em duas grandes classes, cifra de blocos e cifra de fluxo de chaves. A cifra
de blocos mais utilizada é AES. Esta cifra foi proposta por Rijndael, com base num
algoritmo de blocos de 128 bits, podendo ser alterado para múltiplos de 32 bits (192 e
256 bits). O algoritmo é cíclico e desenrola-se ao longo de 4 etapas: Substituição,
deslocamento de linhas, mistura e adição de chave. Na última iteração não é realizada a
etapa da mistura.
As cifras de fluxo de chaves são bastante utilizadas em sistemas de
telecomunicações (GSM, Bluetooth, 802.11). Nas cifras de fluxo de chaves, o plano de
texto sofre uma operação XOR bit a bit, com um fluxo de chaves gerado através do
algoritmo PRNG. O GSM é o sistema de comunicações móveis mais usado no mundo e
utiliza uma cifra de chaves de fluxos, o LFSR.
Na cifra assimétrica são criadas duas chaves, a chave pública e a chave privada.
A chave pública é utilizada para cifrar a mensagem. Após a mensagem ter sido cifrada,
somente o conhecedor da chave privada poderá decifrar a mensagem. Através do
conhecimento da chave pública é impossível identificar a chave privada. As cifras
assimétricas RSA são baseadas na dificuldade em factorizar números inteiros de grandes
dimensões.
A cifra assimétrica ECC tem por de atrás uma matemática complexa. Utiliza
operações sobre corpos finitos primos, possuindo propriedades especificas das curvas
elípticas. A cifra ECC relativamente a cifra RSA tem como vantagens a inferior carga
computacional, tamanho da chave e tamanho de banda.
Uma sessão entre dois participantes só pode ser mantida confidencial se for
cifrada. Contudo os participantes trocam as chaves pelo um meio inseguro da Internet.
A implementação de um determinado protocolo é essencial para proporcionar segurança
à rede. A Segurança pode ser aplicada a vários níveis na pilha de protocolos:

Fábio Silva 31
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

- Rede
• IPSec
- Transporte:
• SSL/ TLS
- Aplicação:
• SSH
• PGP
• WWWS
A voz sobre o IP tem o nome de VOIP. VOIP é um sistema que permite o
transporte de voz, vídeo e texto em tempo real numa rede de pacotes IP. Para além de
possibilitar a transmissão de dados, o sistema VOIP tem que garantir a integridade dos
dados a transmitir. Existem procedimentos e mecanismos que mantêm seguras as
transmissões na Internet, contudo a utilização destes procedimentos e mecanismos não
podem consumir tempo de processamento, de forma a manter este sistema de voz em
tempo real.
É necessário ter especial atenção na manipulação dos protocolos de sinalização e
nos protocolos de transmissão de dados. Com o término correcto do protocolo de
sinalização, SIP, é viável a criação e manutenção de um canal de dados (voz, vídeo ou
texto). Na transmissão de dados é utilizado o protocolo SRTP para a encriptação e
autenticação dos pacotes RTP. O SRTP foi criado com o intuito de fornecer um rápido e
eficiente método de segurança, com o mínimo overhead. Contudo o SRTP necessita de
chaves de segurança. Por esta razão, o protocolo MIKEY foi concebido para fornecer
um robusto e eficiente mecanismo de gestão de chaves para ser utilizado com SRTP.
Qualquer que seja o sistema de telecomunicações no futuro e independentemente
da rede de acesso que utilize, a segurança na informação será sempre um requisito
exigido pelo utilizador.

Fábio Silva 32
Nº63740
Redes de Acesso Segurança na Informação

Trabalho Individual
11 Dezembro de 2008

8 – Bibliografia

 Andrew S.Tanenbaum (2003). Redes de Computadores. Elsevier Editora.

Apontamentos Consultados:

 PDF coligidos por Senhor Professor Rui Gustavo Crespo.


 PDF coligidos por Senhor Professor João Paulo Baptista de Carvalho.

Sites consultados:

www.tiger.towson.edu/users/aalexa3/securingvoiptu.ppt

www.juniper.net/solutions/literature/white_papers/200179.pdf

www.albertosato.voipcenter.com.br/wp-content/uploads/2007/11/07.11%2004%20Alexandre
%20Barreto.pdf

www.security.hsr.ch/docs/DFN_SIP.pdf

www.cic.unb.br/docentes/pedro/trabs/vpn.pdf

www.cert.pt/download/REC-VOIP.pdf

www.cci.unama.br/margalho/portaltcc/tcc2004/carlosgustavo&romulo.pdf

www.eprints.qut.edu.au/archive/00004422/01/4422_1.pdf

www.analogzone.com/nett0913.pdf

www.epubl.luth.se/1402-1617/2005/183/LTU-EX-05183-SE.pdf

Fábio Silva 33
Nº63740

You might also like