UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE ...pericas/orientacoes/LogicaBAN2004.pdfBLUMENAU, 2004 I...
Transcript of UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE ...pericas/orientacoes/LogicaBAN2004.pdfBLUMENAU, 2004 I...
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS TECNOLÓGICAS
CURSO DE ENGENHARIA DE TELECOMUNICAÇÕES
FERRAMENTA DE ANÁLISE MODAL DE PROTOCOLOS DE SEGURANÇA
PARA REDES SEM FIO
FÁBIO FERNANDES BEZERRA
BLUMENAU, 2004
I
FÁBIO FERNANDES BEZERRA
FERRAMENTA DE ANÁLISE MODAL DE PROTOCOLOS DE SEGURANÇA
PARA REDES SEM FIO
Trabalho de Conclusão de Curso submetido à
Universidade Regional de Blumenau para a
obtenção dos créditos na disciplina Trabalho
de Conclusão de Curso do curso de
Engenharia de Telecomunicações.
Prof. Francisco Adell Péricas – Orientador
BLUMENAU, 2004
II
FERRAMENTA DE ANÁLISE MODAL DE PROTOCOLOS DE SEGURANÇA
PARA REDES SEM FIO
FÁBIO FERNANDES BEZERRA
ESTE TRABALHO DE CONCLUSÃO DE CURSO FOI JULGADO ADEQUADO
PARA OBTENÇÃO DOS CRÉDITOS NA DISCIPLINA DE TRABALHO DE
CONCLUSÃO DE CURSO OBRIGATÓRIA PARA A OBTENÇÃO DO TÍTULO DE:
ENGENHEIRO DE TELECOMUNICAÇÕES
______________________________________________
Prof. Francisco Adell Péricas, Ms. – Orientador, FURB
______________________________________________
Prof. Romeu Hausmann – Coordenador do TCC, FURB
BANCA EXAMINADORA
______________________________________________
Prof. José Gil Fausto Zipf
______________________________________________
Prof. Ricardo José De Oliveira
Blumenau, 28 de Junho de 2004
III
DEDICATÓRIA
Dedico este trabalho à memória do meu
irmão José Ricardo Fernandes Bezerra.
IV
AGRADECIMENTOS
A Deus, pelas oportunidades que me proporcionou e pelo seu imenso amor.
À minha namorada, que sempre me incentivou e deu força para não desistir.
À minha família, que sempre acreditou no meu potencial.
Ao meu orientador, Francisco Adell Péricas que compreendeu a importância
deste trabalho e aceitou orientar-me.
V
RESUMO
Este trabalho apresenta o desenvolvimento de uma ferramenta de análise de protocolos de segurança destinados a redes sem fio (redes móveis), em particular aos protocolos de autenticação. A ferramenta visa automatizar o processo de análise dos protocolos, especificados na forma de uma lista de crenças e de regras, fundamentado na aplicação do método modal baseado nos postulados da lógica BAN.
VI
ABSTRACT
This work presents the development of a tool of security protocols analysis destined of a wireless net (mobiles nets), particularly to authentication protocols. The tool aims at to automatize the process of analysis of the protocols, specified in the form of a list of beliefs and rules, founded on application of modal method based in the BAN logic postulates.
VII
SUMÁRIO
1 INTRODUÇÃO...................................................................................................10
1.1 MOTIVAÇÃO ..............................................................................................10 1.2 OBJETIVOS GERAIS .................................................................................11 1.3 OBJETIVOS ESPECÍFICOS.......................................................................11 1.4 ORGANIZAÇÃO DO TRABALHO...............................................................12
2 SEGURANÇA DE REDE ...................................................................................13
2.1 INTRODUÇÃO............................................................................................13 2.2 CRIPTOGRAFIA .........................................................................................14 2.3 SISTEMAS CRIPTOGRÁFICOS.................................................................15
2.3.1 Algoritmos de Criptografia ...................................................................15 2.3.2 Sistemas Criptográficos de Chave Simétrica.......................................16 2.3.3 Sistemas Criptográficos de Chave Assimétrica ...................................17
2.4 ASSINATURA DIGITAL ..............................................................................18 2.4.1 Assinatura Digital em Sistemas de Chave Simétrica ...........................18 2.4.2 Assinatura Digital em Sistemas de Chave Assimétrica........................19 2.4.3 Sumários de Mensagens .....................................................................19
2.5 PROTOCOLOS DE AUTENTICAÇÃO........................................................20 2.6 DISTRIBUIÇÃO DE CHAVES.....................................................................21
3 REDES SEM FIO ...............................................................................................23
3.1 INTRODUÇÃO............................................................................................23 3.2 SISTEMAS MÓVEIS...................................................................................23 3.3 REDE LOCAL SEM FIO..............................................................................24 3.4 SISTEMA CELULAR...................................................................................25
3.4.1 Componentes do Sistema Celular .......................................................25 3.4.2 Evolução das Redes Celulares............................................................26
3.5 SEGURANÇA EM SISTEMAS MÓVEIS .....................................................28
4 MÉTODOS DE ANÁLISE DE PROTOCOLOS E LÓGICA BAN .......................31
4.1 INTRODUÇÃO............................................................................................31 4.2 MÉTODOS FORMAIS.................................................................................32
4.2.1 Métodos Baseados em Linguagem de Verificação..............................32 4.2.2 Métodos Baseados em Sistemas Especialistas...................................32 4.2.3 Métodos Baseados em Lógicas Modais ..............................................33 4.2.4 Métodos Baseados em Sistemas Algébricos.......................................33
4.3 LÓGICA BAN ..............................................................................................33 4.3.1 Notação Básica....................................................................................34 4.3.2 Postulados ...........................................................................................35
4.3.2.1 Regra 1 – Significado da Mensagem (Message Meaning Rule).......35 4.3.2.2 Regra 2 – Verificação de Identificador (Nonce Verification Rule) .36 4.3.2.3 Regra 3 – Jurisdição (Jurisdiction Rule) .......................................36 4.3.2.4 Regra 4 – Conjunto de Crenças ...................................................37 4.3.2.5 Regra 5 – Conjunto de Autoridade ...............................................37 4.3.2.6 Regra 6 – Conjunto de Recebimento............................................37 4.3.2.7 Regra 7 – Novidade......................................................................37 4.3.2.8 Regra 8 – Duas Vias da Chave ....................................................38
VIII
4.3.3 Aplicação da Lógica BAN ....................................................................38
5 IMPLEMENTAÇÃO DA FERRAMENTA ...........................................................43
5.1 INTRODUÇÃO............................................................................................43 5.2 REQUISITOS BÁSICOS DA FERRAMENTA .............................................43 5.3 ESPECIFICAÇÃO DA FERRAMENTA .......................................................45
5.3.1 Estrutura ..............................................................................................45 5.3.2 Algoritmo de Análise ............................................................................51
5.4 IMPLEMENTAÇÃO.....................................................................................53 5.4.1 Ferramentas de Desenvolvimento .......................................................53 5.4.2 Interface com o Usuário.......................................................................54
5.4.2.1 Janela Principal ............................................................................54 5.4.2.2 Janela de Edição dos Arquivos de Análise...................................55 5.4.2.3 Janela de Edição das Mensagens do Protocolo Idealizado..........56 5.4.2.4 Janela de Edição das Crenças .....................................................56 5.4.2.5 Janela de Edição dos Objetivos....................................................57 5.4.2.6 Janela de Opções.........................................................................57 5.4.2.7 Janela de Resultados ...................................................................58
5.5 PROCEDIMENTOS OPERACIONAIS ........................................................59 5.5.1 Nova Análise........................................................................................59 5.5.2 Última Análise ......................................................................................63 5.5.3 Configuração........................................................................................64 5.5.4 Outras Operações................................................................................64
5.6 TESTES......................................................................................................65
6 CONCLUSÃO ....................................................................................................67
7 REFERÊNCIAS BIBLIOGRÁFICAS..................................................................69
IX
LISTA DE FIGURAS
FIGURA 1 – FORMAS DE AÇÃO DO INTRUSO....................................................................13 FIGURA 2 – SISTEMA CRIPTOGRÁFICO DE CHAVE SIMÉTRICA............................................16 FIGURA 3 – SISTEMA CRIPTOGRÁFICO DE CHAVE ASSIMÉTRICA ........................................17 FIGURA 4 – ESQUEMA DE ASSINATURA DIGITAL ..............................................................18 FIGURA 5 – DISTRIBUIÇÃO DE CHAVES DE DIFFIE-HELLMAN ............................................22 FIGURA 6 – REDE WLAN.............................................................................................24 FIGURA 7 – ESTRUTURA CELULAR ................................................................................25 FIGURA 8 – COMPONENTES DO SISTEMA CELULAR..........................................................26 FIGURA 9 – PADRÃO FDMA.........................................................................................27 FIGURA 10 – PADRÃO TDMA E CDMA.........................................................................28 FIGURA 11 – PROTOCOLO DE DISTRIBUIÇÃO DE CHAVES DE NEEDHAM-SCHROEDER .........38 FIGURA 12 – DIAGRAMA DE CASO DE USO......................................................................45 FIGURA 13 – DIAGRAMA DE CLASSES DE PERSISTÊNCIA ..................................................48 FIGURA 14 – DIAGRAMA DE CLASSES DE ANÁLISE...........................................................50 FIGURA 15 – ALGORITMO DE ANÁLISE ...........................................................................52 FIGURA 16 – AMBIENTE DE TRABALHO DO MODELMAKER ...............................................53 FIGURA 17 – AMBIENTE DE TRABALHO DO DELPHI 7.0 ....................................................54 FIGURA 18 – JANELA PRINCIPAL DA FERRAMENTA...........................................................55 FIGURA 19 – JANELA DE EDIÇÃO DE ANÁLISE .................................................................55 FIGURA 20 – JANELA DE EDIÇÃO DE MENSAGEM .............................................................56 FIGURA 21 – JANELA DE EDIÇÃO DE CRENÇA .................................................................57 FIGURA 22 – JANELA DE EDIÇÃO DE OBJETIVO ...............................................................57 FIGURA 23 – JANELA DE OPÇÕES .................................................................................58 FIGURA 24 – JANELA DE VISUALIZAÇÃO DE RESULTADOS.................................................58 FIGURA 25 – PRIMEIRO PASSO DE UMA NOVA ANÁLISE ....................................................59 FIGURA 26 – SEGUNDO PASSO DE UMA NOVA ANÁLISE....................................................60 FIGURA 27 – TERCEIRO PASSO DE UMA NOVA ANÁLISE ...................................................60 FIGURA 28 – QUARTO PASSO DE UMA NOVA ANÁLISE ......................................................61 FIGURA 29 – QUINTO PASSO DE UMA NOVA ANÁLISE .......................................................62 FIGURA 30 – ÚLTIMO PASSO DE UMA NOVA ANÁLISE ......................................................63 FIGURA 31 – DIÁLOGO DE QUESTIONAMENTO SOBRE REANÁLISE .....................................63 FIGURA 32 – DIÁLOGO DE QUESTIONAMENTO SOBRE CRENÇA DUVIDOSA..........................64 FIGURA 33 – MENU ARQUIVO .......................................................................................64 FIGURA 34 – RESULTADO OBTIDO ATRAVÉS DA FERRAMENTA ..........................................66
LISTA DE QUADROS E TABELAS
TABELA 1 – NOTAÇÃO BÁSICA DA LÓGICA BAN ..............................................................35 QUADRO 1 – FORMATO GERAL DOS ARQUIVOS DA FERRAMENTA ......................................45 QUADRO 2 – FORMATO DOS ARQUIVOS DE ANÁLISE ........................................................46 QUADRO 3 – FORMATO DOS ARQUIVOS DE RESULTADO .................................................47 QUADRO 4 – RESULTADO DA ANÁLISE MANUAL...............................................................65
10
1 INTRODUÇÃO
1.1 MOTIVAÇÃO
Das tecnologias de comunicações, as que utilizam o ar como meio de
propagação, conhecidas como sem fio (wireless), são as que representam a maior
tendência de necessidade da sociedade moderna. Estima-se que em 2015, metade
da população possuirá celular ou outro equipamento móvel de comunicação sem fio
(RNT, 2004).
A quase total liberdade de localização associada à quantidade de serviços
agregados permite grande adesão a estas tecnologias. Dentre os demais serviços,
operações bancárias, compras on-line, troca de mensagens, conversações, são os
exemplos mais comuns. Nesses serviços estão envolvidas trocas de informações
que na maioria das vezes requerem alto grau de segurança, por motivos bastante
óbvios, que abrangem desde motivos financeiro a particulares. O não cumprimento
desse requisito básico prejudica diretamente a confiabilidade do serviço e da
tecnologia, comprometendo a difusão da mesma.
Nos sistemas de comunicação sem fio, também conhecidos como
comunicações móveis, o princípio básico consiste na troca de mensagens entre as
partes envolvidas. A interceptação indesejada destas mensagens por intrusos
permite-lhes interagir através da exclusão, alteração e armazenamento impróprio
das informações contidas nas mesmas. Num ambiente sem fio, como é o caso das
comunicações móveis, esse problema é bastante grave, pois a interceptação é feita
sem que o intruso possa ser detectado devido ao meio utilizado para a propagação.
Assim, informações importantes oriundas da utilização dos serviços, como senhas,
chaves, documentos secretos, correm o risco de ficarem expostas a pessoas não
autorizadas.
Dessa forma, para que essas informações sejam protegidas, técnicas e
métodos são empregados com o objetivo de evitar as ações de intrusos. Mediante o
desenvolvimento de protocolos criptográficos, empregando técnicas de criptografia é
possível proteger essas informações, atingindo os objetivos da sigibilidade,
autenticidade, integridade e não-repúdio, necessários para a segurança.
11
Existem diversos protocolos de segurança que se propõem a fornecer a
segurança necessária para as informações tramitadas entre as entidades da
comunicação móvel (sem fio). Porém, observa-se que muitos dos objetivos
propostos pelos protocolos utilizados não são atingidos e que na maioria das vezes,
essas falhas são detectadas após a fase de publicação dos mesmos, o que
despende perdas consideráveis de recursos que poderiam ser evitadas caso as
falhas fossem detectadas antes desta fase.
Para que possa ser detectada prematuramente e minimizada a ocorrência
dessas falhas nos protocolos de segurança, vários métodos de análise são
propostos. O método de análise modal empregando lógica BAN é o que apresenta
resultados satisfatórios com grau de complexidade relativamente baixo com relação
a outros métodos, além de ser um dos métodos mais difundidos.
1.2 OBJETIVOS GERAIS
Este trabalho tem a finalidade de desenvolver uma ferramenta de software
para análise de protocolos de segurança para redes sem fio, em particular
protocolos de autenticação, empregando lógica BAN.
1.3 OBJETIVOS ESPECÍFICOS
• Estudar como as informações modeladas se correlacionam na obtenção
dos resultados lógicos;
• Especificar o tipo e a forma de entrada e saída das informações da
ferramenta;
• Desenvolver o algoritmo computacional capaz de aplicar as regras
previstas na lógica BAN;
• Utilizar a ferramenta para analisar alguns protocolos de segurança;
• Comparar os resultados obtidos através da utilização da ferramenta com
os obtidos a partir da análise manual dos protocolos.
12
1.4 ORGANIZAÇÃO DO TRABALHO
Este trabalho está organizado em 6 capítulos, distribuídos da seguinte
forma:
Capítulo 1 – Introdução – Uma breve introdução sobre o assunto deste objeto de
pesquisa justificando a motivação para realização do trabalho, bem como sua
composição estrutural;
Capítulo 2 – Segurança de Rede – revisão bibliográfica sobre conceitos básicos de
segurança;
Capítulo 3 – Redes sem Fio – descrições conceituais básicas de redes sem fio e
métodos de segurança empregados;
Capítulo 4 – Métodos de Análise de Protocolos e Lógica BAN – apontamentos sobre
métodos de análise de protocolos de segurança e detalhamento do método de
análise modal baseado na lógica BAN empregado neste trabalho;
Capítulo 5 – Implementação da Ferramenta – aplicação dos conceitos especificados
e desenvolvimento do algoritmo de análise;
Capítulo 6 – Considerações Finais e Conclusão – algumas considerações sobre os
resultados obtidos e apresenta as principais conclusões deste trabalho.
13
2 SEGURANÇA DE REDE
2.1 INTRODUÇÃO
Com a crescente demanda por serviços de comunicações móveis (wireless),
a segurança das informações se torna muito mais importante e necessária. A
demanda ocorre devido às características desta tecnologia, que permite alto grau de
mobilidade e provê uma quase total independência de localização. Porém, o meio
utilizado para propagação é muito hostil, pois propicia ao intruso, condições
necessárias para agir passivamente ou ativamente na interceptação e manipulação
dos dados trafegados sem que seja identificado (Figura 1).
Figura 1 – Formas de ação do intruso
A principal preocupação da segurança é garantir a proteção contra o acesso
ou a manipulação, intencional ou não, de informações confidenciais por pessoas não
autorizadas (TANEMBAUM, 2003).
Para garantir a segurança destas informações, foram desenvolvidos
sistemas criptográficos baseados em protocolos criptográficos. Um protocolo é um
conjunto de regras e convenções que definem uma estrutura de comunicação entre
14
duas ou mais entidades da rede (SANTOS, 2002). Esses protocolos visam atender
os seguintes requisitos de segurança (BRASIL, 2000):
• sigilo: os dados são mantidos secretos e somente as partes autorizadas
podem visualizar seu conteúdo;
• integridade: a informação deve permanecer inalterada durante a sua
transferência;
• autenticação: a identidade das entidades deve ser legítima e confirmada;
• não-repúdio: o emissor da mensagem não poderá negar posteriormente
a autoria da mesma.
Esses requisitos baseiam-se nas necessidades básicas relacionadas à
segurança de rede que norteiam todos os trabalhos orientados a este fim. Outros
sistemas de comunicação tradicionais preocupam-se com estas questões, porém a
implementação da solução é mais simplificada (TANENBAUM, 2003), como por
exemplo, os serviços postais, onde o sigilo é obtido através do registro da
correspondência e a integridade através do bloqueio dos documentos. Obviamente,
no caso de redes de dados, esta implementação é feita através de métodos que
objetivam simular de forma análoga os métodos empregados no sistema exemplo.
2.2 CRIPTOGRAFIA
A criptografia caracteriza-se por ser a ciência de manter mensagens
secretas, onde a própria etimologia descreve como sendo formada pelas palavras
gregas que significam “escrita oculta”. Ao contrário do que muitos conclui, ela não
fornece segurança, e sim, permite alcançar os requisitos de segurança: sigilo,
autenticidade, integridade e não-repúdio (TANENBAUM, 2003).
Ela consiste em modificar o texto original da mensagem (texto legível, texto
claro) através de uma lógica (algoritmo), gerando uma mensagem de forma que ela
se torne ilegível (texto cifrado). O texto cifrado é transmitido e decifrado no destino.
O processo de ciframento e deciframento é realizado de acordo com algoritmos
matemáticos dependentes de uma informação adicional denominada chave. As
chaves devem ser de comum conhecimento entre as entidades envolvidas na
comunicação. A segurança efetiva é obtida não pelo segredo do algoritmo utilizado,
15
conhecido como segredo pela obscuridade, mas pela manutenção do segredo da
chave, conhecido como princípio de Kerckhoff. Esse nome foi dado em homenagem
ao criptógrafo flamengo Auguste Kerckhoff. Para que algoritmos criptográficos sejam
considerados seguros, eles são publicados para que a criptoanálise possa avaliá-
los.
Os sistemas criptográficos são compostos por textos legíveis, textos
cifrados, algoritmo criptográfico e chaves que permitem que as entidades se
comuniquem segundo especificações dos protocolos de segurança. Existem dois
tipos de sistemas criptográficos: sistemas de chaves simétricas e sistemas de
chaves assimétricas.
Nos sistemas de chaves simétricas, ambas as entidades utilizam a mesma
chave para ciframento e deciframento, ao contrário dos sistemas de chaves
assimétricas, onde são utilizadas chaves de ciframento e deciframento diferentes.
Portanto, na manutenção do segredo dessas chaves concentra a atenções
da segurança de rede sem fio, com principal enfoque aos protocolos de
autenticação, onde as chaves de seção são estabelecidas entre as partes.
2.3 SISTEMAS CRIPTOGRÁFICOS
Os sistemas criptográficos constituem o principal método de segurança
empregado na segurança de redes sem fio. Eles são compostos por diversas partes
como texto legível, texto cifrado, algoritmos criptográficos, chaves. São divididos em
dois tipos: sistemas criptográficos de chaves simétricas e sistemas criptográficos de
chaves assimétricas.
2.3.1 Algoritmos de Criptografia
Os algoritmos constituem a lógica responsável pela transformação do texto
legível (texto claro) em texto cifrado (criptografado). Essas lógicas utilizam uma
informação adicional denominada de chave. Os algoritmos também conhecidos
como cifra, são classificados em duas categorias: cifras de substituição e cifras de
transposição (TANENBAUM, 2003). Essas categorias constituem a base dos
algoritmos criptográficos.
16
Nas cifras de substituição cada letra ou grupo de letras é substituído por
outras letras ou grupos, de forma a criar um “disfarce”. Como exemplo, uma das
cifras mais antigas pode-se citar a cifra de César (Caeser Cipher), onde a letra A se
torna D, B em E, e assim por diante. Então, ao enviar a mensagem ATAQUE, a
palavra ficaria assim DWDTXH. Nessa cifra a chave é o número de saltos, que no
exemplo acima é 3 (três), o que poderia ser qualquer número.
As cifras de transposição utilizam como princípio a reordenação das letras.
Como exemplo desta categoria, pode-se citar a cifra de transposição de colunas,
que consiste em dispor o texto numa grade de n colunas. A quantidade de colunas é
especificada de acordo com o tamanho da chave, a qual é formada por letras que
não se repetem. Sendo assim, cada coluna é representada por uma letra
correspondente da chave. O objetivo desta chave é numerar as colunas de acordo
com a ordem alfanumérica das letras da chave. Portanto, o texto legível é escrito
horizontalmente na grade e o texto cifrado é lido verticalmente na ordem definida na
chave.
A principal diferença entre as duas categorias de cifra é que a cifras de
substituição disfarçam as letras da mensagem sem alterar sua ordem, enquanto as
cifras de transposição alteram a ordem das letras sem disfarçá-las.
2.3.2 Sistemas Criptográficos de Chave Simétrica
São os sistemas de criptografia que utilizam algoritmos que cifram o texto
legível e decifram o texto cifrado a partir da mesma chave. Por convenção, este
trabalho adotará que “C” significa a rotina de ciframento e “D” a de deciframento.
Subscrito a elas está a chave utilizada para realizar a operação (Figura 2).
Figura 2 – Sistema criptográfico de chave simétrica
17
Os sistemas criptográficos de chave simétrica podem ser divididos em duas
categorias: os que operam o texto claro bit a bit (ou byte a byte), chamados de cifra
de fluxo (stream cipher); e os que manipulam o texto claro em grupos de bits
denominados cifra de blocos (block cipher) (SANTOS, 2002). Os algoritmos de
chave simétrica mais comuns são: o DES (American Data Encryption Standart) e o
Rijndael (Daemen e Rijmen) (TANENBAUM, 2003).
2.3.3 Sistemas Criptográficos de Chave Assimétrica
São os sistemas de criptografia que utilizam algoritmos que cifram o texto
legível e decifram o texto cifrado a partir de chaves diferentes (Figura 3).
Figura 3 – Sistema criptográfico de chave assimétrica
O sistema consiste em cifrar o texto legível com a chave pública do
destinatário, a qual é publicada para conhecimento de todos, e o destinatário decifra
o texto cifrado com sua própria chave privada. Portanto, cada usuário possuirá um
par de chaves, uma pública e outra privada. Exemplificando, o remetente A antes de
enviar o texto legível “M” para o destinatário B cifra a mesma com um algoritmo de
chave assimétrica utilizando a chave “k”. Essa é a chave pública de B, que após o
recebimento do texto cifrado “T” decifra a mensagem a partir do mesmo algoritmo
que A, porém utilizando sua chave privada “s”.
18
2.4 ASSINATURA DIGITAL
Para o atendimento dos requisitos básicos necessários para a segurança
como a integridade, autenticidade, sigibilidade e não-repúdio, várias técnicas são
propostas. A assinatura digital vem exatamente para atender o requisito do não-
repúdio, isto é, garantir que o remetente não negue a autoria do envio da mensagem
determinada. Essa prática é comum em documentos em papel, onde a garantia é
oferecida através da assinatura de próprio-punho do interessado. Sendo assim,
pode-se denominar a assinatura como uma marca que comprova a autoria de certa
mensagem ou documento.
Existem duas formas de implementação desta técnica: através do uso de
uma entidade intermediária e sem o uso desta. Antes de iniciar a explanação sobre
o assunto, vale mencionar as convenções propostas pelo trabalho. A maioria das
literaturas que abordam o assunto segurança usam personagens com nomes
próprios, como Alice e Bob para os usuários finais. Para o intruso geralmente é
empregado o nome de Trudy. Para manter a compatibilidade, o trabalho adotará as
mesmas denominações.
2.4.1 Assinatura Digital em Sistemas de Chave Simétrica
A primeira forma de implementar a assinatura digital, através de um agente
intermediário, aplica-se basicamente à assinatura digital para sistemas criptográficos
de chave simétrica. Esse agente é denominado de “Autoridade Central” e todas a
mensagens passam por ele (Figura 4).
Figura 4 – Esquema de assinatura digital
Nesse caso, a chave secreta de A é compartilhada com a autoridade central.
Quando Alice envia uma mensagem de texto assinada, é gerado KA(B, RA, t, P) ,
onde B é a identificação de Bob, RA um número gerado randomicamente, t um
timbre de data-hora para manter a atualidade e P a mensagem a ser enviada. Todo
19
esse conteúdo é cifrado (criptografado) com a chave KA. Por suas vez, a autoridade
central recebe a mensagem, identifica que vem de A e localiza sua chave no seu
banco de chaves, decifra (descriptografa) a mensagem e envia a B (Bob) o conteúdo
KB(A, RA, t, P, KAC(A, t, P)) cifrado com a chave KB. Todo o conteúdo foi extraído da
mensagem de Alice e a última parte foi cifrada com a chave da autoridade central
KAC. A prova da autoria é dada por essa parcela KAC(A, t, P), onde a autoridade
central confirma a origem da mensagem sendo de A. Isso é possível pois a
autoridade é de confiança de todos, que geralmente é formado por órgãos
governamentais, bancos, etc.
O grande problema relacionado a essa forma de implementação é a
necessidade de alto grau de confiança na autoridade central, que, infelizmente
formado basicamente por órgãos governamentais e bancos, não é amplamente
atendido.
2.4.2 Assinatura Digital em Sistemas de Chave Assimétrica
Constitui outra forma de implementação da assinatura digital. Para tal, é
necessário que a propriedade C(D(P))=P além de D(C(P))=P seja válido. Nas
convenções deste trabalho, C significa cifrar e D decifrar, enquanto P é uma
mensagem qualquer. Para o algoritmo RSA essa propriedade é válida, portanto, tal
procedimento é aplicável. Supondo que esse seja o caso, Alice pode enviar uma
mensagem P assinada a Bob, transmitindo CB(DA(P)), pois A conhece sua chave
privada DA e a chave pública CB. Assim que Bob recebe a mensagem, ele decifra a
mensagem utilizando sua chave privada DB e guarda DA(P) em um lugar seguro
(TANENBAUM, 2003, p.805). Aplicando CA em DA(P) ele obtém P, através da
propriedade já mencionada. A prova de autoria da mensagem é dada pelo fato de
que Bob poderá produzir tanto P quanto DA(P). Como DA é de único e exclusivo
conhecimento de Alice (chave privada), logo fica evidente que a única pessoa capaz
de enviar DA(P) seria Alice.
2.4.3 Sumários de Mensagens
Com o objetivo de implementar a assinatura digital sem o ciframento da
mensagem desenvolveu-se o método de sumários de mensagens (message
20
digests). Esse objetivo baseia-se na necessidade de autenticar informações sem que
o sigilo seja levado em consideração, onde muitos casos a autenticação é
necessária e o sigilo não. Geralmente a criptografia é lenta e o usuário prefere enviar
o texto claro (legível) somente assinado (TANENBAUM, 2003). Esse método baseia-
se na aplicação de uma função de hash unidirecional que gera um resumo da
mensagem e calcula uma string de bits de tamanho fixo. A função hash é
representada por MD e tem quatro importantes propriedades (TANEMBAUM, 2003):
• se P é fornecido, MD(P) deve ser calculado facilmente;
• se MD(P) é fornecido, P deverá ser impossível de ser encontrado;
• dado P, não é possível encontrar P’ tal que MD(P’)=MD(P);
• uma mudança na entrada deve produzir uma saída muito diferente.
O cálculo do sumário da mensagem é muito mais rápido que cifrar toda a
mensagem, por esse motivo que esse método poder ser utilizado para agilizar
algoritmos de assinatura digital.
Considerando a assinatura digital em sistemas de chaves simétricas
(privadas), ao invés da autoridade central assinar a mensagem com KAC(A, t, P) ele
assina com KAC(A, t, MD(P)). Dessa forma, a redução de custos e aumenta da
performance é considerável. Também pode-se aplicar o método em sistemas de
chaves assimétricas (públicas), onde, ao invés de assinar a mensagem com DA(P)
pode-se assinar com DA(MD(P)).
2.5 PROTOCOLOS DE AUTENTICAÇÃO
Denomina-se autenticação a técnica que confirma a identidade das partes
na comunicação entre elas, isto é, confirma a um processo que seu parceiro na
comunicação não se trata de um impostor. Portanto, a autenticação garante que um
impostor não passe por uma parte legítima e capture informações importantes e
sigilosas.
A técnica de autenticação é confundida com a de autorização, porém ambas
possuem significados distintos. Enquanto a autenticação preocupa-se com a
questão de determinar se um processo está ou não comunicando com outro
21
processo específico, a autorização preocupa-se com a questão das permissões
delegadas a um processo.
A técnica de autenticação é aplicada mediante aplicação de protocolos de
autenticação que utilizam os conceitos dos sistemas criptográficos de chaves
simétricas (chave privada) ou chaves assimétricas (chave pública) (SANTOS, 2002).
Ainda assim, os protocolos de autenticação podem basear-se no uso de uma
autoridade central ou não. A essa autoridade central é dado o nome de KDC (Key
Distribution Center) no qual é depositada toda confiança das partes envolvidas na
comunicação.
O modelo genérico aplicado por todos os protocolos de autenticação é dado
por Alice enviando uma mensagem para Bob ou um KDC. A medida que essas
mensagens são trocadas, Trudy a intrusa, pode interceptar, modificar e reproduzir
essas mensagens com o objetivo de enganar Alice e Bob ou simplesmente
atrapalhar (TANENBAUM, 2003). Porém, ao término da execução do protocolo, Alice
terá certeza que a outra parte trata-se de Bob e vice-versa, havendo desta forma, o
estabelecimento de uma chave de sessão secreta entre as partes.
A chave de sessão será utilizada durante toda a conversação,
caracterizando-se assim um sistema criptográfico de chave simétrica, mesmo com a
aplicação de sistemas de chaves assimétricas (pública) no estabelecimento da
chave de sessão. A razão pela qual justifica a utilização de chaves de sessão é a
necessidade de minimizar o volume de tráfego (o que é muito importante em
sistemas sem fio) provocado pela transmissão de chaves públicas do usuário
(TANENBAUM, 2003). Na maioria dos casos, a chave de sessão será a única chave
existente no sistema.
2.6 DISTRIBUIÇÃO DE CHAVES
Em todos os sistemas criptográficos são necessárias uma ou mais chaves
para executar as operações de ciframento e deciframento (SANTOS, 2002). Essas
chaves devem ser de comum conhecimento entre as partes, porém, em muitos
casos não é possível negocia-las anteriormente. Muitos sistemas de segurança
preferem que essas chaves compartilhadas sejam estabelecidas dinamicamente,
isto é, que não sejam fixas e por conseqüência elevem o grau de segurança do
22
sistema. A partir do protocolo de troca de chaves de Diffie-Hellman é possível a troca
de chaves entre partes que não se conhecem.
O protocolo de troca de chaves de Diffie-Hellman consiste em Alice e Bob
concordar em relação a dois números extensos, n e g, onde n e g são números
primos. Esses números podem ser públicos, sendo que uma das partes seleciona n
e g e informa ao outro abertamente. Em seguida, Alice escolhe um grande número x
e o mantém em segredo. Igualmente, Bob escolhe um número y. Desta forma, Alice
inicia o protocolo enviando a Bob uma mensagem contendo (n, g, gx mod n) e Bob
responde enviando (gy mod n), conforme apresentado na Figura 5.
Figura 5 – Distribuição de chaves de Diffie-Hellman
Para concluir, Alice eleva a x-ésima potência em módulo n a mensagem
enviada por Bob e obtém gxy mod n. Bob também executa o mesmo cálculo com
uma pequena diferença, elevando a y-ésima potência em módulo n parte da
mensagem enviada por Alice (gx mod n) (TANENBAUM, 2003).
(gy mod n)x = gxy mod n
(gx mod n)y = gxy mod n
Finalmente, Alice e Bob compartilham da chave gxy mod n. Contudo, existe
um porém. Nem Alice sabe se realmente está se comunicando com Bob, como Bob
também não tem garantias que está se comunicando com Alice.
23
3 REDES SEM FIO
3.1 INTRODUÇÃO
As redes fixas caracterizam-se pela associação da identidade numérica ou
não a um terminal, entretanto, o propósito maior é de alcançar pessoas ou um grupo
(FERRARI, 2003). Portanto, existe uma forte ligação associativa entre o local e a
identidade.
Devido a associação das identificações aos locais e não às pessoas
combinado com o crescente interesse em evitar custos elevados associados a
instalações e realocações em ambientes interligados por fios deu-se início a
pesquisas e desenvolvimento na área de redes sem fio (ALENCAR, 2001).
As redes sem fio consistem em redes de comunicações por enlaces sem fio
como rádio freqüência e infravermelho que permitem mobilidade contínua através de
sua área de abrangência. As redes sem fio são compostas por sistemas móveis, que
têm como principal e mais difundido representante as redes celulares.
Sendo assim, as redes sem fio vêm a atender a necessidade de associar
identificações a pessoas ou processos sem que as mesmas estejam conectadas
fisicamente, permitindo alto grau de mobilidade e redução de custos durante fases
de instalação e realocação.
3.2 SISTEMAS MÓVEIS
Os sistemas móveis são definidos como sendo redes de comunicações por
rádio que permitem mobilidade contínua através de sua área de abrangência. Nos
últimos anos, o oferecimento de comunicações móveis por rádio à população tem se
tornado uma área de intensa pesquisa e desenvolvimento acelerado (ALENCAR,
2001).
No desenvolvimento desta tecnologia, evidenciou-se uma série de questões
técnicas e operacionais que estavam correlacionadas com a mobilidade, onde entre
elas destaca-se (FERRARI, 2003):
• propagação das ondas de rádio em face ao relevo do ambiente;
24
• limite de alcance dos terminais;
• interferência entre canais;
• uso eficiente das limitadas faixas de freqüências;
• identificação dos terminais;
• dimensão da rede móvel.
Os principais representantes desta tecnologia são os sistemas celulares,
cujo objetivo é associar identidades em terminais a pessoas garantindo mobilidade
contínua com quase total liberdade de localização.
3.3 REDE LOCAL SEM FIO
As redes locais sem fio (WLAN – Wireless Local Area Network) constituem-
se basicamente em redes locais cabeadas (LAN), conforme representado na Figura
6, fornecendo as mesmas funcionalidades, mas com grande flexibilidade e
conectividade em ambientes prediais ou de campus. Combinando mobilidade e
conectividade a elevadas velocidades, podem atingir distâncias de até 18 metros de
acordo com alguns casos (RNP, 2004).
Figura 6 – Rede WLAN
25
O princípio básico é constituído na modulação dos dados em portadoras de
radiofreqüência ou infravermelho. Várias portadoras podem ser empregadas num
mesmo ambiente, permitindo assim que a micro-segmentação dos domínios de
colisão, aumentando assim a eficiência da rede.
As WLANS são compostas por transceptores (transmissor/receptor)
instalados nas estações e nos pontos de acesso (access point) à rede ethernet
cabeada. Os pontos de acesso permitem não somente a conexão com a rede
convencional (cabeada), mas também provê conectividade entre os pontos de
acesso vizinhos.
3.4 SISTEMA CELULAR
O sistema celular, como o próprio nome já denuncia, é baseado no conceito
celular, que consiste na divisão da área de cobertura do serviço em módulos
(pequenas áreas) de atendimento chamados células, sendo que cada uma é servida
por uma estação-rádio (Figura 7). Essa divisão permite o uso de transmissores de
baixa potência e um emprego eficiente do espectro por meio do reuso de
freqüências (ALENCAR, 2001).
Figura 7 – Estrutura Celular
3.4.1 Componentes do Sistema Celular
O sistema celular consta das seguintes partes (GARG, 1996):
26
• CCC (Central de Comutação de Controle) é o centro de controle e
comutação dos canais de telefonia móvel, baseada na tecnologia CPA.
Também denominada de MSC (Mobile Switching Center), é responsável
pela coordenação central das estações-rádio dentro de sua área de
controle, bem como prover interface com a rede de comutação pública;
• ERB (Estação Radio-Base) a estação radio-base, também denominada
de RBS (Radio Base Station) é onde se encontra o equipamento rádio
transmissor/receptor, cuja função é a de prover interface entre a estação
móvel e a central de comutação. O local onde se encontra a ERB chama-
se “site”;
• EM (Estação Móvel) ou MS (Mobile Station) a unidade de estação móvel
é o equipamento terminal do assinante chamado apenas de “telefone
celular” (Figura 8).
Figura 8 – Componentes do sistema celular
3.4.2 Evolução das Redes Celulares
Até 1992, somente existiam os sistemas celulares analógicos. Dentro desta
tecnologia, há quatro grandes famílias de sistemas celulares no mundo (FERRARI,
2003):
• AMPS (Advanced Mobile Phone System) usado na América, Austrália;
27
• TACS (Total Access Communication System) usado no Reino Unido,
Itália, Emirados árabes, Malásia entre outros;
• NMT900 (Nordic Mobile Telecommunications) usado nos países
nórdicos, na Suíça, entre outros;
• NTT (Nippon Telephone and Telegraph) usado no Japão.
Como tecnologia de acesso múltiplo, isto é, tecnologia responsável pelo
acesso ao sistema por vários usuários ao mesmo tempo, é empregada o FDMA
(Frequency Division Multiple Access). Essa tecnologia consiste em subdividir o
espectro destinado ao serviço, permitindo que o usuário utilize o sistema a partir de
uma parcela do espectro (Figura 9).
Figura 9 – Padrão FDMA
Devido o esgotamento da capacidade de expansão nos EUA e a
necessidade de integração da Europa houve a migração dos sistemas analógicos
para os digitais.
Os sistemas digitais fazem parte de um ramo das telecomunicações de
maior crescimento, devendo esse sucesso à mobilidade do terminal, área de
cobertura do serviço, opções de vários serviços agregados. O sistema caracteriza-se
em digitalizar toda informação, inclusive voz, e envia-la/recebê-la através do canal
de comunicação. Como tecnologia de acesso múltiplo podem ser utilizados o TDMA
(Time Division Multiple Access) que corresponde na subdivisão do espectro em
vários slots de tempo, sendo cada slot destinado a um usuário, ou o CDMA (Code
Division Multiple Access) que consiste na subdivisão do espectro disponível em
códigos, também conhecido como Espalhamento de Espectro (Spread Spectrun)
(Figura 10).
28
Figura 10 – Padrão TDMA e CDMA
Existem quatro grandes sistemas digitais de uso mundial empregando uma
dessas tecnologias de acesso:
• GSM (Global System Mobile) que usa o TDMA e é utilizado na Europa;
• D-AMPS (Digital Advanced Mobile Phone System) que também utiliza o
TDMA e é empregado exclusivamente nas Américas;
• PDC (Personal Digital Cellular) Utilizando a tecnologia TDMA é
empregado no Japão;
• IS-95 que utiliza o CDMA e é conhecido também pelo mesmo nome da
tecnologia de acesso (CDMA).
Essas fases de evolução do sistema celular são classificadas em gerações,
partindo desde a primeira geração correspondendo aos sistemas analógicos,
passando pela segunda geração e finalmente pela terceira geração. Existe ainda
uma geração intermediária entre a segunda e a terceira conhecida como 2.5G, onde
o G significa geração.
3.5 SEGURANÇA EM SISTEMAS MÓVEIS
Para uma rede sem fio, a segurança é uma questão importante e complexa,
pois além de todos os fatores comuns a todas as redes existe ainda o fator meio de
transmissão, que no caso das redes em fio é o ar. Por se tratar de uma ambiente
bastante hostil e susceptível a invasões, a segurança deste ambiente torna-se
bastante difícil, porém necessária. Nos tempos em que a comunicação se restringia
à voz, a principal preocupação era a de que intrusos conseguissem ouvir conversas
sigilosas (SANTOS, 2002).
29
Para garantir a segurança nestes sistemas são empregados protocolos
criptográficos projetados com a finalidade de fornecerem serviços de segurança de
acordo como descrito abaixo (SANTOS, 2002):
• estabelecimento da chave de sessão – o estabelecimento desta chave é
efetuada durante o processo de autenticação, que por motivos de
segurança é recomendado que a cada conexão seja estabelecida uma
chave de sessão diferente;
• autenticação mútua – a autenticação deve ser efetuada por ambas as
partes envolvidas na comunicação para garantir que nenhum intruso se
passe por uma entidade legítima;
• sigilo da mensagem – as mensagens envolvidas na comunicação devem
ser protegidas através de algoritmos de ciframento/deciframento;
• sigilo de identidade da parte chamadora – em determinadas aplicações é
necessário que a identidade da parte que está chamando seja protegida,
como por exemplo, aplicações militares;
• não-repúdio do serviço – para assegurar que o emissor de uma
mensagem num ambiente sem fio não negue a autoria da mesma esse
serviço se faz necessário.
Os protocolos empregados na segurança de ambientes sem fio, além de
fornecer os serviços citados acima, devem observar algumas características
relacionadas ao planejamento de protocolos para redes móveis, como capacidade
computacional do sistema, quantidade de mensagens trocadas, capacidade de
armazenamento das partes envolvidas.
Em ambientes sem fio, geralmente os dispositivos dispõem de baixa
capacidade computacional, muitas vezes de forma intencional, como o caso das
unidades móveis, que para reduzir o consumo da energia das baterias, tem essa
característica reduzida, implicando na redução da complexidade e números de
operações de ciframento tanto quanto possível.
Devido ao meio e o atraso intrínseco às características de propagação do
sinal no canal de comunicação, a quantidade e o tamanho de mensagens deve ser
baixa tanto quanto possível para não implicar em esperas desnecessárias.
30
Geralmente, alguns dos dispositivos que compõem o sistema móvel
possuem baixa capacidade de armazenamento, portanto, é recomendado que os
requerimentos de armazenamento para esses dispositivos seja baixo. Via de regra,
esse espaço é destinado a guardar as chaves (privada ou pública), certificados, ou
qualquer dado requerido pelo protocolo.
Alguns aspectos também devem ser levados em consideração durante o
planejamento do protocolo como as Autoridades Centrais, que devem ser entidades
globalmente confiáveis, controle e segurança contra ataques do tipo repetição
através de timestamps (marcas de tempo) e sincronização entre as partes através
de nonces.
31
4 MÉTODOS DE ANÁLISE DE PROTOCOLOS E LÓGICA BAN
4.1 INTRODUÇÃO
A importância da segurança nas comunicações em ambientes sem fio
(wireless) já foi bastante explicitada neste trabalho. Para a garantia da segurança
são empregados protocolos criptográficos, dos quais, possuem como elemento
fundamental o uso de algoritmos de criptografia que necessitam de uma informação
para o funcionamento denominado “chave”. Verificou-se que a garantia da
segurança é dada pelo sigilo da chave e não pelo algoritmo utilizado.
Em ambientes sem fio, geralmente essas chaves são negociadas e
compartilhadas no momento da autenticação, onde essas chaves denominam-se
chaves de sessão.
Os protocolos de autenticação são os responsáveis pela identificação
legítima entre as partes envolvidas na comunicação e possuem fundamental
importância na segurança de redes sem fio. O problema é que os protocolos estão
sujeitos a erros no desenvolvimento e por isso é importante empregar algum método
formal para analisá-los (SANTOS, 2002). Uma análise formal pode determinar o
nível de eficiência de segurança oferecida pelo protocolo, por conseguinte o nível de
segurança oferecida pelo sistema.
Existem vários métodos formais para analisar protocolos de segurança,
cada um com suas características, oferecendo vantagens a determinados protocolos
destinados a um requisito de segurança e desvantagens a outros.
Um método de análise formal de protocolos de segurança se torna
importante pelo fato que muitas falhas relacionadas aos protocolos podem ser
identificadas antes da publicação das mesmas. Além da falhas, pontos de
vulnerabilidade podem ser determinados de acordo com o método empregado. O
custo para resolver essas falhas e pontos de vulnerabilidade é muito menor na fase
de desenvolvimento do que após a fase de publicação. É importante ater-se ao
detalhe de uma vez identificado uma falha no protocolo após a publicação, ele não é
mais considerado seguro, sendo evitado o seu uso pelos sistemas requisitantes.
32
4.2 MÉTODOS FORMAIS
Os métodos formais comprometem-se a auxiliar o desenvolvedor no
planejamento e na análise dos protocolos criptográficos, principalmente os de
autenticação e distribuição de chaves (SANTOS, 2002).
O planejamento informal dos protocolos criptográficos está propenso a erros,
evidenciando a importância do uso de métodos formais para o planejamento de tais
protocolos.
Os métodos formais permitem fazer uma análise completa, considerando os
diferentes modos de ataque e chegar à conclusão se os objetivos propostos pelo
protocolo foram alcançados (SANTOS, 2002). Existem quatro tipos de métodos
formais baseados em: linguagem de verificação, sistemas especialistas, lógicas
modais e sistemas algébricos.
4.2.1 Métodos Baseados em Linguagem de Verificação
Esse método baseia-se no tratamento dos protocolos criptográficos como se
fossem outro programa qualquer, tentando provar sua corretude. Várias técnicas são
utilizadas neste método, como diagramas de estado, técnicas de especificação
formal de protocolos. Infelizmente, esse método não prova a segurança além de sua
corretude (SANTOS, 2002).
4.2.2 Métodos Baseados em Sistemas Especialistas
Esse método consiste em desenvolver sistemas especialistas que podem
gerar e investigar vários cenários no protocolo criptográfico. Os protocolos são
modelados como máquinas de estado, sendo iniciados em um estado inseguro e
tentando descobrir um caminho para este estado. Apesar de apresentar melhores
resultados que o método anterior, possuem como desvantagem a grande quantidade
de eventos possíveis a serem analisados (SANTOS, 2002).
33
4.2.3 Métodos Baseados em Lógicas Modais
Basicamente, esses métodos consistem em formalizar várias declarações de
crença e conhecimento sobre as mensagens que compõem o protocolo de sistemas
distribuídos (SANTOS, 2002). Após a aplicação de postulados de lógicas modais é
possível argumentar sobre o processo de autenticação tão importante para as redes
sem fio.
Das lógicas empregadas nesses métodos, a lógica BAN (Burrows, Abadi e
Needham) foi a que mais contribuiu com popularização dos métodos, cuja principal
utilização é a análise de protocolos de autenticação.
4.2.4 Métodos Baseados em Sistemas Algébricos
Esses métodos consistem em modelar o protocolo analisado em um
sistema algébrico, associando um estado como conhecimento dos participantes do
protocolo.
4.3 LÓGICA BAN
Nos sistemas de redes sem fio, o processo de autenticação é responsável
em grande parte pela garantia da segurança na comunicação, pois as chaves de
sessão são negociadas neste instante. Torna assim, de fundamental importância, o
desenvolvimento sem falhas de protocolos específicos, e como conseqüência, a
necessidade de utilizar métodos para auxiliar o planejamento e desenvolvimento dos
mesmos.
Os métodos de análise formal baseado em lógicas modais são os que
apresentam os melhores resultados em relação aos processos de autenticação,
destacando-se os métodos baseados em lógica BAN pelo baixo nível de
complexidade. Ela foi publicada em 1989 por Michael Burrows, Martin Abadi e Roger
Needham, e foi a primeira sugestão para formalizar a descrição e análise de
protocolos de autenticação.
A lógica BAN tem como principal objetivo responder as seguintes perguntas:
• quais os objetivos do protocolo?
34
• a quantidade de suposições é suficiente em relação a outros protocolos?
• existem passos desnecessários na execução do protocolo?
A execução da lógica implica na segmentação da análise em 3 etapas
distintas. A primeira etapa consiste em idealizar o protocolo (Protocol Idealization). A
segunda etapa é o levantamento das suposições de crença (assertions) e os
objetivos com afirmações numa notação simbólica. A terceira e última etapa
transforma os passos do protocolo numa notação simbólica e aplica as regras dos
postulados (inference rules) para atingir os objetivos do protocolo, denominado esta
etapa como a de análise do protocolo (Protocol Analysis). A lógica divide o tempo
em duas épocas: passado e presente. Considera-se presente o tempo durante a
atual execução do protocolo. Qualquer mensagem enviada após é considerado
passado, devendo ser rejeitada pelo protocolo (SANTOS, 2002).
Muitas variantes da lógica foram propostas, porém os resultados frente à
complexidade exigida não justificaram sua maior difusão. Mesmo com baixo nível de
complexidade, a lógica BAN conseguiu encontrar falhas em diversos protocolos de
segurança como CCITT X.509, Kerberos e Needham-Schroeder.
A lógica possui como principal vulnerabilidade a condução a erros devido a
utilização de determinadas suposições, exigindo do projetista cuidado redobrado.
4.3.1 Notação Básica
Na lógica são distinguidos os seguintes objetos: Principal ou Participantes,
Chaves de Ciframento e Fórmulas Lógicas (KYNTAJA, 1995). Tipicamente, os
símbolos A, B e S denotam os participantes, sendo que A e B são os participantes
que desejam efetuar a comunicação e S a autoridade central. Também Kab, Kas e Kbs
são usados geralmente e denotam as chaves compartilhadas, da mesma forma que
Ka, Kb e Ks denotam as chaves públicas; e Ka-1, Kb
-1 e Ks-1 as chaves privadas
correspondentes. Além desses objetos existem Na, Nb e Ns que são identificadores
gerados pelos participantes. Os símbolos P, Q e R utilizados na tabela 1
representam os participantes genéricos; X e Y mensagens e declarações; e K a
chave de ciframento / deciframento.
35
Tabela 1 – Notação básica da lógica BAN
Representação Significado
P X P acredita em X: Para P X é verdadeiro.
P X P recebe X: P recebeu uma mensagem contendo X.
P X P disse X: P enviou uma mensagem contendo X.
P X P tem jurisdição sobre X: P é responsável por X.
#(X) Novo X: X é novo e não foi utilizado antes em nenhuma sessão.
P Q P e Q compartilham k: P e Q podem utilizar k para se
comunicarem.
P P possui uma chave pública k: A correspondente é k-1
P Q A fórmula X é um segredo de P e Q: Somente P e Q podem
utiliza-lo.
{X}k Fórmula X cifrada com a chave k
<X>Y Combinação entre a fórmula X e a Y
4.3.2 Postulados
Os postulados da lógica BAN são um conjunto de regras das quais
determinam a diversas operações lógicas. Existem várias regras, porém as
principais utilizadas na análise dos protocolos criptográficos são oito.
4.3.2.1 Regra 1 – Significado da Mensagem (Message Meaning Rule)
Esta regra verifica o significado da mensagem e pode possuir as seguintes
variantes: Regra 1a, Regra 1b e Regra 1c.
Regra 1a – Para chaves simétricas:
P (Q P), P {X}k P Q X
Se P acredita que Q e P compartilham a chave k e recebe uma mensagem
cifrada com k, então P acredita que Q disse X em algum momento.
36
Regra 1b – Para chaves assimétricas:
P Q, P {X}k-1
P Q X
Se P acredita que Q possui a chave pública k e recebe X cifrado com a
chave priva k-1, então P acredita que Q disse X em algum momento.
Regra 1c – Para segredos compartilhados:
P Q P, P <X>Y P Q X
Se P acredita que Pe Q compartilham o segredo Y e recebe X com segredo
compartilhado em Y, então P acredita que Q disse X.
4.3.2.2 Regra 2 – Verificação de Identificador (Nonce Verification Rule)
Esta regra verifica se a mensagem é recente.
P #(X), P Q X P Q X
Se P acredita que X é novo e P acredita que Q disse X em algum momento,
então P acredita que Q acredita em X.
4.3.2.3 Regra 3 – Jurisdição (Jurisdiction Rule)
Esta regra verifica a confiança sobre alguma declaração.
P Q X, P Q X P X
37
Se P acredita que Q tem autoridade sobre a declaração de X e acredita que
Q acredita em X, então P acredita em X.
4.3.2.4 Regra 4 – Conjunto de Crenças
Verifica a crença de conjunto de declarações.
P X, P Y P (X, Y) P Q (X, Y) P (X, Y) P X P Q X
4.3.2.5 Regra 5 – Conjunto de Autoridade
Verifica a autoridade de conjunto de declarações. Análogo a regra anterior
aplicado a ( ).
P Q (X, Y) P Q X
4.3.2.6 Regra 6 – Conjunto de Recebimento
Verifica e trata o recebimento de diversas partes da mensagem.
P (X, Y) P <X>Y P Q P, P {X}k P X P X P X
P P, P {X}k P Q, P {X}k-1
P X P X
4.3.2.7 Regra 7 – Novidade
Se uma parte da fórmula é nova, então toda a fórmula também é.
P #(X) P #(X, Y)
38
4.3.2.8 Regra 8 – Duas Vias da Chave
A mesma chave é utilizada em ambas as direções entre as partes envolvidas
na comunicação.
P R R' P Q R R' P R' R P Q R' R
Se P acredita que a chave k é compartilhada entre R e R’, então acredita
que a chave também é compartilhada entre R’ e R.
4.3.3 Aplicação da Lógica BAN
Como descrito anteriormente, a lógica BAN é empregada principalmente na
análise de protocolos de segurança em redes distribuídas com enfoque aos
protocolos de autenticação e distribuição de chaves.
Como exemplo de aplicação, será realizada a análise do protocolo de
distribuição de chaves de Needham-Shroeder, cujo fluxo de mensagens é
apresentada na figura 11.
Figura 11 – Protocolo de distribuição de chaves de Needham-Schroeder
Este protocolo baseia-se no mecanismo de desafio-resposta que foi utilizado
durante anos, até que em 1981 identificaram uma falha que acarretou na proposição
39
de um novo protocolo (SANTOS, 2002). Esse protocolo visa fornecer uma chave de
sessão compartilhada entre A e B. O responsável pela geração desta chave é uma
autoridade central (S) confiada globalmente entre os participantes. Esse protocolo é
composto por cinco mensagens representando cada uma etapa relacionada.
Na primeira mensagem A envia sua identidade, a identidade do outro
participante (B) e um identificador gerado por ele (Na) para a autoridade central (S).
Em seguida, a autoridade central gera a chave de sessão (Kab), uma
mensagem cifrada com a chave secreta (Kbs) contendo a chave de sessão e a
identidade de A; incorporando-as à segunda mensagem do protocolo juntamente
com o identificador Na e B. A segunda mensagem é cifrada com a chave secreta Kas
e enviada à A.
Após o recebimento da segunda mensagem proveniente da autoridade
central, A envia à B a chave de sessão Kab e sua identidade através de uma
mensagem cifrada com a chave secreta Kbs, mensagem essa que simplesmente é
parte da mensagem recebida por A de S, caracterizando-se assim a terceira
mensagem do protocolo e por conseqüência a terceira etapa. Na quarta mensagem
B envia uma mensagem cifrada com a chave de sessão Kab contendo um
identificador gerado por ele com destino à A, sendo que de imediato A responde
com a mensagem cifrada com a chave de sessão Kab contendo Nb’.
As duas últimas mensagens correspondem ao mecanismo de desafio-
resposta utilizado para a negociação entre os participantes da chave a ser utilizada
na comunicação entre eles.
Seguindo as três etapas da análise modal de protocolos através da lógica
BAN, é iniciada coma idealização do protocolo:
Mensagem 2 ( S� A ): {Na, (A B), #(A B), {A B} Kbs} Kas
Mensagem 3 ( A� B ): {A B} Kbs
Mensagem 4 ( B� A ): {Nb, (A B)} Kab
Mensagem 5 ( A� B ): {Nb', (A B)} Kab
Observe que no protocolo idealizado a mensagem um (1) foi ignorada, pois a
lógica BAN omite as mensagens em texto legível (texto claro) ou quando esta é
considerada desnecessária para validação da segurança. A próxima etapa consiste
40
em fazer o levantamento das suposições de crença. As crenças são todas as
suposições que o analisador julga possuir algum fundo de verdade. Também são
levantadas as crenças cuja especificação não é explícita no fluxo de mensagens
entre as partes, denominadas "Crenças Duvidosas":
A (A S) (1)
S (A S) (2)
S (A B) (3)
B (B S) (4)
S (B S) (5)
A (S (A B)) (6)
B (S (A B)) (7)
A (S #(A B)) (8)
A #Na (9)
B #Nb (10)
S #(A B) (11)
B #(A B) (12) « Crença Duvidosa »
E como terceira e última etapa, aplicar as regras do postulado da lógica BAN
a cada mensagem considerando as suposições de crença levantadas. A numeração
das fórmulas continua da numeração adotada no levantamento de suposições de
crença. Isso porque, ambas fórmulas, das suposições e do resultado da aplicação
das regras, podem ser reutilizadas para aplicação da lógica nas mensagens
seguintes, constituindo assim, uma única lista de fórmulas.
Mensagem 2 (S�A)
� {Na, (A B), #(A B), {A B} Kbs} Kas (13)
Aplicando a Regra 1 nas fórmulas (13) e (1):
A S (Na, (A B), #(A B), {A B} Kbs) (14)
Aplicando a Regra 5 em (14):
41
A S (Na, (A B), #(A B)) (15)
Aplicando a Regra 5 no resultado da aplicação da Regra 2 em (15) e (11):
A S (A B) (16)
A S #(A B) (17)
Aplicando a Regra 3 em (6) e (16):
A (A B) (18)
Aplicando a Regra 3 em (8) e (17):
A #(A B) (19)
Mensagem 3 (A�B)
B {A B} Kbs (20)
Aplicando a Regra 1 em (20) e (4):
B S (A B) (21)
Aplicando a Regra 3 em (7) e no resultado da aplicação da Regra 2 em (12) e (21):
B (A B) (22)
Mensagem 4 (B�A)
A {Nb, (A B)} Kab (23)
42
Aplicando a Regra 1 em (18) e (23):
A B (Nb, (A B)) (24)
Aplicando a Regra 2 em (19) e (24):
A B (A B) (25)
Mensagem 5 (A�B)
B {Nb', (A B)} Kab (26)
Aplicando a Regra 1 em (22) e (26):
B A (Nb', (A B)) (27)
Aplicando a Regra 2 em (12) e (27):
B A (A B) (28)
Após a fase de aplicação das regras, procura-se o atendimento dos objetivos
do protocolo nos resultados obtidos. O protocolo de distribuição de chaves de
Needham-Schroeder busca o conhecimento da mesma chave de sessão entre as
partes, objetivo atendido na demonstração das fórmulas 18 e 22, e propõe a
autenticação mútua entre as partes, demonstrado pelas fórmulas 25 e 28. Porém,
observa-se que sem a crença duvidosa 12 as fórmulas 22 e 28 não seriam possíveis
de serem encontradas. Assim, conclui-se que sem a certeza de que a chave de
sessão compartilhada com A é nova, B não acredita que a chave de sessão é
verdadeira e não confirma a legitimidade da parte A, evidenciando uma falha a ser
corrigida neste protocolo.
43
5 IMPLEMENTAÇÃO DA FERRAMENTA
5.1 INTRODUÇÃO
O desenvolvimento crescente de tecnologias para redes sem fio demanda
grande preocupação dos projetistas de protocolos de segurança, em especial os
protocolos de autenticação. Vários métodos são empregados para validação destes,
sendo que os métodos formais de análise modal são os mais recomendados para
consistir esse tipo de protocolo.
Os métodos formais de análise modal são bastante difundidos no meio
científico, principalmente os que utilizam a lógica BAN conforme descrito em seções
anteriores. Porém, poucas ferramentas de análise implementam esse tipo de
solução, sendo que em muitos casos, a análise acaba sendo prejudicada por falta de
meios que automatizem o processo.
Desta forma, vários aspectos justificam o desenvolvimento de uma
ferramenta que implemente a análise formal de protocolos de segurança
empregando a lógica BAN, dentre os quais se destaca a automatização do processo
de análise, bem como sua simplificação. Apesar de apresentar nível de
complexidade relativamente mediano frente aos resultados obtidos, a lógica requer
cuidados especiais com a especificação das crenças preliminares. Uma crença
duvidosa ou a falta de outra pode alterar os resultados finais, comprometendo a
qualidade da análise.
Sendo assim, uma ferramenta que permite modificar essas informações e
em poucos passos reanalisar, além de contribuir para a qualidade da análise,
acrescenta ao processo alto grau de interatividade do analisador com os resultados,
permitindo que possíveis soluções para as falhas dos protocolos sejam encontradas.
5.2 REQUISITOS BÁSICOS DA FERRAMENTA
Para atender as necessidades citadas na seção anterior, sugere-se neste
trabalho uma ferramenta que possibilite a execução do processo de análise
utilizando as informações preliminares contidas em arquivos metafiles, conhecidos
como arquivos de análise, e obter os resultados a partir da execução do algoritmo de
44
análise sob esses arquivos. O resultado do processo de análise será exibido em
vídeo mediante interpretação do arquivo de resultado gerado da execução do
algoritmo.
Uma das preocupações fundamentais é o desenvolvimento de uma interface
amigável, que além de facilitar o gerenciamento dos arquivos de análise, permita
que a complexidade do processo seja minimizada ao máximo. Os métodos de
entrada das informações também possuem tratamentos especiais, cuja notação
empregada será a mesma das especificações da lógica BAN, possuindo editor
específico para as fórmulas BAN.
Assim, uma nova análise será iniciada com a criação de um arquivo de
análise, que armazenará as informações iniciais do processo como o nome do
analisador, descrição da análise, protocolo analisado, mensagens do protocolo
idealizado e as crenças iniciais. Após o preenchimento dessas informações e a
respectiva gravação do arquivo, o processo é executado associando o arquivo de
análise anteriormente criado. Logo em seguida, após o término do processo de
análise, o resultado será exibido em vídeo, através da leitura do arquivo de
resultado.
O resultado da análise consistirá no atendimento dos objetivos propostos
nas respectivas mensagens do protocolo idealizado, sendo que o atendimento pode
ser parcial ou completo, sendo que a diferença dar-se-á pela utilização ou não de
crenças duvidosas.
Desta forma, os requisitos funcionais do sistema são:
• ler um arquivo metafile com as informações referentes ao protocolo a ser
analisado;
• analisar o protocolo a partir da execução do algoritmo de análise sob o
arquivo lido;
• exibir o resultado na forma de resumo e em vídeo, armazenado
fisicamente em arquivo próprio.
45
5.3 ESPECIFICAÇÃO DA FERRAMENTA
5.3.1 Estrutura
Os requisitos básicos propostos pela ferramenta são representados pelo
diagrama de caso de uso da figura 12:
Figura 12 – Diagrama de caso de uso
Como foi especificado na seção anterior, tanto as informações sobre o
protocolo a ser analisado como o resultado da análise serão armazenados sob forma
de arquivos metafiles, obedecendo o padrão genérico conforme o quadro 1 e por
conseguinte obedecendo o padrão específico de acordo com o conteúdo
armazenado. O quadro 2 apresenta o padrão seguido pelos arquivos de análise, e o
quadro 3 o padrão adotado pelos arquivos de resultado.
Quadro 1 – Formato geral dos arquivos da ferramenta
Formato Geral dos Arquivos Formato dos Registros
46
Tp : Tipo do Registro Tm : Tamanho dos dados em bytes Dados : Conteúdo do registro Tipos de Registro (Tp) Registros Cabeçalho 0x00 : Registro Identificador 0x01 : Nome 0x02 : Autor 0x03 : Descrição 0x04 : Reservado ... 0x15 : Reservado Registros Detalhe 0x16 : Reservado ... 0x1F : Reservado Registros Rodapé 0x20 : Reservado ... 0x24 : Reservado Registro Identificador
Id : Identificador do arquivo Vr : Versão do arquivo Ct : Certificado de validade do arquivo Cálculo do Certificado Ct = ((Id shl 8)+Vr)) xor ((Vr shl 8)+Id))
Quadro 2 – Formato dos arquivos de análise
Formato Arquivo de Análise Registros Cabeçalho
47
Registros Detalhe Registro Mensagem ( Tp = 0x16 )
Og : Origem Dt : Destino Td : Tamanho da Descrição Tc : Tamanho do Conteúdo Tn : Tamanho da Condição Tl : Tamanho do Cálculo Registro Crença ( Tp = 0x17 )
Dv : Duvidosa Td : Tamanho da Descrição Tc : Tamanho do Conteúdo Registro Objetivo ( Tp = 0x18 )
Td : Tamanho da Descrição Tc : Tamanho do Conteúdo
Quadro 3 – Formato dos Arquivos de Resultado
Formato Arquivo de Resultado Registros Cabeçalho
Registros Detalhe Registro Expressão ( Tp = 0x16 )
Tp : Tipo de Expressão Tc : Tamanho do Conteúdo
48
A estrutura conceitual é representada pelos diagramas de classe, sendo que
estes foram divididos em duas categorias: Persistência e Análise. Os diagramas são
apresentados nas figuras 13 e 14.
Figura 13 – Diagrama de classes de persistência
49
O diagrama de classes de persistência representa as classes destinadas a
armazenar informações e é composto pelas classes:
• Classe TArquivo: Responsável pela padronização geral dos arquivos da
ferramenta, obedecendo o padrão do quadro 1, além de prover os
métodos comuns de leitura e escrita do arquivo em disco;
• Classe TAnalise: Especialização da classe TArquivo responsável pela
manipulação dos arquivos de análise, adotando o padrão imposto no
quadro 2. Mantém lista de mensagens, crenças e objetivos do protocolo a
ser analisado;
• Classe TResultado: Especialização da classe TArquivo responsável pela
manipulação dos arquivos de resultado de análise, e adota o padrão do
quadro 3 nos métodos de gravação e leitura do arquivo. Mantém lista de
expressões para serem interpretadas pelo visualizador de resultados da
ferramenta;
• Classe TListaMensagens: Implementa as manipulações da lista de
mensagens mantida pela classe TAnalise;
• Classe TListaCrencas: Implementa as manipulações da lista de crenças
e suposições mantida pela classe TAnalise;
• Classe TListaObjetivos: Implementa as manipulações da lista de
objetivos mantida pela classe TAnalise;
• Classe TMensagem: Representa as mensagens do protocolo
especificado na classe TAnalise associada;
• Classe TCrenca: Representa as crenças e suposições especificadas na
classe TAnalise associada, e utilizadas no processo de análise do
protocolo associado;
• Classe TObjetivo: Representa os objetivos do protocolo especificado na
classe TAnalise associada;
• Classe TExpressao: Representa as expressões da classe TResultado.
50
Figura 14 – Diagrama de classes de análise
Por sua vez, o diagrama de classes de análise representa as classes
responsáveis pela análise de protocolos. O diagrama consiste em sete classes:
• TAnalisadorBAN: Classe que implementa o algoritmo de análise segundo
as regras do método de análise modal a partir da lógica BAN e é a
principal classe no processo em questão. O método analisar é
51
responsável por disparar o processo de análise e por conseqüência gerar
o arquivo de resultado;
• TRepositorio: Classe que implementa o armazenador de fórmulas, tanto
as especificadas nas informações preliminares quanto as fórmulas
geradas a partir da execução do algoritmo de análise;
• TFormula: Classe que representa o conceito geral das fórmulas utilizadas
no método de análise modal;
• TEntidade: Especialização da classe TFormula que representa as
entidades e suas ações de acordo com o especificado pela lógica BAN;
• TOperacao: Especialização da classe TFormula que representa as
operações de novo e cifra especificados pela lógica BAN;
• TDado: Especialização da classe TFormula que representa todas as
informações envolvidas no processo de troca de mensagens dos
protocolos;
• TRelacao: Especialização da classe TFormula que representa as
realções entre as entidades envolvidas no processo de troca de
mensagens dos protocolos.
5.3.2 Algoritmo de Análise
O algoritmo de análise, implementado na classe TAnalisadorBAN, leva em
consideração as principais regras da lógica BAN, e aproxima-se ao máximo do
raciocínio utilizado pelos analisadores no momento de decidirem pelo caminho mais
adequado a seguir na análise.
O algoritmo, após fragmentar as mensagens recebidas na forma de
fórmulas, busca verificar se houve o atendimento de todos os objetivos propostos
pelo protocolo. Além da busca pelo atendimento, existe a preocupação em
determinar se o atendimento ocorreu a partir de uma crença duvidosa, evidenciando
assim uma possível falha no protocolo analisado.
O algoritmo obedece aos seguintes passos conforme o diagrama de
atividades da figura 15:
52
Figura 15 – Algoritmo de análise
53
5.4 IMPLEMENTAÇÃO
5.4.1 Ferramentas de Desenvolvimento
No desenvolvimento foram utilizadas duas ferramentas de apoio, uma para a
modelagem e análise do sistema, e outra para a implementação. Na modelagem do
sistema (ferramenta) utilizou-se o ModelMaker. Essa ferramenta permite que sejam
confeccionados os diagramas segundo o padrão UML (Unified Modelage Language),
amplamente empregado no desenvolvimento de sistemas computacionais. A figura
16 ilustra o ambiente de trabalho do ModelMaker.
Figura 16 – Ambiente de trabalho do ModelMaker
Para a implementação propriamente dita, utilizou-se a linguagem de
programação Delphi, a qual possui alto grau de integração com as informações
geradas pelo ModelMaker. O Delphi é uma linguagem orientada a objeto que
permite utilizar todas as vantagens que a programação orientada a objeto oferece,
54
permitindo desta forma, a implementação da ferramenta. A figura 17 ilustra o
ambiente de trabalho do Delphi 7.0.
Figura 17 – Ambiente de trabalho do Delphi 7.0
5.4.2 Interface com o Usuário
A interface da ferramenta analisadora com o usuário é composta por várias
janelas que permitem desde a edição dos arquivos de análise até a exibição do
conteúdo do arquivo de resultados gerados pela análise do protocolo.
5.4.2.1 Janela Principal
A janela principal é a primeira janela visualizada pelo o usuário e consiste
em um menu principal com as opções suportadas pela ferramenta, uma barra de
ferramentas com as opções mais usuais e uma lista de visualização dos arquivos de
análise gravados (Figura 18).
55
Figura 18 – Janela principal da ferramenta
5.4.2.2 Janela de Edição dos Arquivos de Análise
Essa janela permite a edição das informações preliminares exigidos na
análise do protocolo, além de dados meramente descritivos (Figura 19). As
informações preliminares são compostas pelas mensagens do protocolo idealizado,
crenças e suposições referentes ao protocolo e os objetivos propostos pela
especificação do mesmo.
Figura 19 – Janela de edição de análise
56
5.4.2.3 Janela de Edição das Mensagens do Protocolo Idealizado
Essa janela é acessada a partir da janela de edição do arquivo de análise,
na guia de Mensagens, quando clicado o botão "Adicionar" ou "Modificar" (Figura
20). Permite a edição das mensagens do protocolo idealizado, isto é, as mensagens
de acordo com as especificações que o método de análise modal. O campo
"Condição" possui a fórmula a ser procurada no final do tratamento da respectiva
mensagem, que caso venha a existir, o conteúdo do campo "Calcular" é inserido no
repositório.
Figura 20 – Janela de edição de mensagem
5.4.2.4 Janela de Edição das Crenças
Essa janela é acessada a partir da janela de edição do arquivo de análise,
na guia de Crenças e Suposições, quando clicado o botão "Adicionar" ou "Modificar"
(Figura 21). Permite a edição das crenças utilizadas pelo analisador na análise do
protocolo referenciado. Destaca-se o campo "Crença Duvidosa", indicando a falta
de certeza na crença em questão.
57
Figura 21 – Janela de edição de crença
5.4.2.5 Janela de Edição dos Objetivos
Essa janela é acessada a partir da janela de edição do arquivo de análise,
na guia de Objetivos, quando clicado o botão "Adicionar" ou "Modificar" (Figura 22).
Permite a edição dos objetivos propostos pelo protocolo utilizados pelo analisador na
análise, verificando os seus atendimentos no final da mesma.
Figura 22 – Janela de edição de objetivo
5.4.2.6 Janela de Opções
Essa janela é acessada a partir da janela principal e a permite edição de
opções utilizadas pela ferramenta analisadora (Figura 23). O campo "Pasta de
análises" informa o diretório onde serão gravados e lidos os arquivos de análise e
resultado. Por sua vez, o campo "Crenças Duvidosas" informa os procedimentos
adotados pela ferramenta com relação às crenças duvidosas.
58
Figura 23 – Janela de Opções
5.4.2.7 Janela de Resultados
Essa janela é acessada a partir execução do algoritmo de análise e permite
a visualização do conteúdo do arquivo de resultado. O arquivo de resultado é
gravado no mesmo local do arquivo de análise, porém não é exibido no visualizador
de arquivos (Figura 24).
Figura 24 – Janela de visualização de resultados
59
5.5 PROCEDIMENTOS OPERACIONAIS
5.5.1 Nova Análise
Para realizar uma nova análise de um determinado protocolo, é necessário
que sejam seguidos os seguintes passos:
• 1º passo: iniciar novo arquivo de análise, clicando no menu Arquivo e em
seguida no menu Novo (Figura 25);
Figura 25 – Primeiro passo de uma nova análise
• 2º passo: preencher os campos descritivos do arquivo de análise na guia
Geral da janela de edição (Figura 26). O valor destes campos tem
importância somente na identificação da análise, do analisador
responsável e o nome do protocolo a analisar;
60
Figura 26 – Segundo passo de uma nova análise
• 3º passo: preencher a lista de mensagens que compõem o protocolo
idealizado segundo a lógica BAN na ordem em que as mesmas deverão
ser executadas. A lista das mensagens está localizada na guia
"Mensagens" e a edição das mensagens é dada pelas operações de
Adição, Modificação, Remoção e Ordenação. A figura 27 ilustra a janela
de edição de mensagem.
Figura 27 – Terceiro passo de uma nova análise
61
Na edição da mensagem é exibida a janela composta pelos campos de
origem, destino, descrição, conteúdo, condição e calcular. Os valores dos últimos
três campos deverão seguir a notação básica da lógica BAN, e para tal, o campo de
edição, denominado campo BAN, possui recursos especiais . As teclas F2 a F4 são
atalhos para inserir os símbolos relacionais empregado pela lógica: compartilhado,
possui, e segredo respectivamente. Por sua vez, as teclas F5 a F8 são atalhos para
inserir os símbolos de operação das entidades: acredita, disse, recebeu e controla
respectivamente.
• 4º passo: preencher a lista de crenças e suposições que farão parte da
análise do protocolo. A lista das crenças está localizada na guia "Crenças
e Suposições" e sua edição é dada pelas operações de Adição,
Modificação e Remoção. Na janela de edição, o campo "Conteúdo"
também é do tipo BAN, portanto, adota as mesmas teclas de atalho dos
campos BAN anteriormente citados. O campo "Crenças Duvidosa"
informa a falta de certeza na consistência da crença. A figura 28 ilustra a
janela de edição de crença;
Figura 28 – Quarto passo de uma nova análise
62
• 5º passo: preencher a lista de objetivos propostos pelo protocolo a
analisar que serão verificados no final do tratamento das mensagens. A
lista dos objetivos está localizada na guia "Objetivos" e sua edição é
dada pelas operações de Adição, Modificação e Remoção. Na edição, o
campo "Conteúdo" é do tipo BAN, implicando na obediência das mesmas
regras anteriormente explicitadas. A figura 29 ilustra a janela de edição;
Figura 29 – Quinto passo de uma nova análise
• 6º passo: gravar arquivo de análise clicando o botão "OK". Em seguida
informar o nome do arquivo no diálogo correspondente;
• 7º passo: executar análise selecionando o respectivo arquivo e clicando
no menu "Análise" e em seguida no menu "Analisar";
• 8º passo: após a análise será exibido o conteúdo do arquivo de resultado
no visualizador (Figura 30).
63
Figura 30 – Último passo de uma nova análise
5.5.2 Última Análise
Para visualizar o conteúdo do arquivo de resultado de uma análise realizada
anteriormente é necessário selecionar o arquivo de análise correspondente e
executar a análise novamente. Antes de executar a análise a ferramenta verifica a
existência de arquivo de resultado correspondente. Caso a verificação se confirme,
um diálogo de questionamento é exibido com a mensagem "Já existe resultado para
esse arquivo. Deseja analisar o arquivo novamente?". Se a resposta for "Não", é
exibido o conteúdo do arquivo de resultado gerado pela análise anterior. A figura 31
ilustra o diálogo de questionamento.
Figura 31 – Diálogo de questionamento sobre reanálise
64
5.5.3 Configuração
A configuração da ferramenta consiste em duas opções, e a interface
associada é a janela de opções. A primeira opção informa o diretório dos arquivos de
análise e resultado utilizados pela ferramenta. A segunda informa o procedimento a
ser adotado com as crenças duvidosas. Essa opção pode assumir um dos três
valores distintos: Considerar todas, Ignorar todas e Considerar mediante
confirmação. No primeiro valor, todas as crenças duvidosas são consideradas. No
segundo valor, o procedimento é o oposto do primeiro. O terceiro valor indica que o
procedimento adotado será de acordo com a resposta ao diálogo de questionamento
exibido antes da análise. A figura 32 apresenta o diálogo questionando o
procedimento a adotar quanto às crenças duvidosas.
Figura 32 – Diálogo de questionamento sobre crença duvidosa
5.5.4 Outras Operações
Outras operações como abrir, renomear, excluir e copiar são executadas
selecionando o arquivo de análise e clicando no menu correspondente do menu
"Arquivo" (Figura 33).
Figura 33 – Menu Arquivo
65
5.6 TESTES
Os testes da ferramenta consistiram em reproduzir os mesmos resultados
obtidos a partir de análises manuais empregando o método de análise modal
utilizando lógica BAN. Para tanto, analisaram-se vários protocolos de segurança de
redes sem fio, em especial protocolos de autenticação para redes celulares.
Também foram analisados protocolos de distribuição de chaves.
A exemplo dos testes efetuados, o presente trabalho demonstra os
resultados obtidos através da ferramenta, na análise do protocolo de distribuição de
chaves de Needhan-Schroeder, e os confronta com os resultados obtidos através da
análise manual realizada na seção 4.3.3. O quadro 4 demonstra os resultados
obtidos manualmente de acordo com os objetivos propostos pelo protocolo.
Quadro 4 – Resultado da análise manual
Objetivos
1) A obter chave de sessão Kab: A (A B)
2) B obter chave de sessão Kab: B (A B)
3) A autenticar B: A B (A B)
4) B autenticar A: B A (A B)
Porém, os objetivos 2 e 4 foram atendidos somente pela existência da crença
duvidosa "B #(A B)".
Em seguida, a figura demonstra os resultados obtidos a partir da ferramenta na
análise do mesmo protocolo (Figura 34).
66
Figura 34 – Resultado obtido através da ferramenta
Portanto, pôde-se constatar que a ferramenta obteve os mesmos resultados
dos obtidos através da análise manual.
Foram realizados testes com outros protocolos, como dos sistemas GSM,
CDPD, UMTS e WEP, obtendo igualmente os mesmos resultados e conclusões que
os encontrados na análise manual respectivamente.
67
6 CONCLUSÃO
Esse trabalho buscou o estudo detalhado dos métodos de análise de
protocolos de segurança de redes sem fio, em especial os métodos de análise modal
baseados na lógica BAN, para o desenvolvimento de uma ferramenta que fosse
capaz de realizar as mesmas tarefas que um analisador no processo manual. Para
tanto, vários aspectos construtivos foram levados em consideração, chegando a
algumas conclusões:
• as informações de entrada (informações do protocolo) e de saída
(resultados) sob forma de arquivos possibilitariam um fácil e eficaz
gerenciamento das mesmas;
• a interdependência lógica entre as regras permitiria o desenvolvimento
do algoritmo de análise;
• conhecimentos e experiências relacionadas a desenvolvimento de
software, modelagem e programação orientada a objeto contribuiriam
para atendimento dos objetivos.
Num aspecto não construtivo, observou-se ainda que os métodos de análise
têm grande importância no planejamento e verificação dos protocolos. Constatou-se
que mesmo aparentemente apresentando um quadro de funcionamento, os
protocolos podem apresentar determinadas falhas que são detectadas, muitas
vezes, após sua publicação. Também se chegou à conclusão que os requisitos de
autenticação no processo de comunicação de um sistema sem fio, representam o
ponto de vulnerabilidade mais requisitado na segurança, uma vez que durante essa
etapa são negociadas informações fundamentais no estabelecimento do canal
seguro.
Dos métodos de análise modal estudados, o que emprega a lógica BAN no
processo foi o que apresentou os melhores resultados na verificação dos protocolos
de autenticação e troca de chaves. Porém, o método está sujeito a erros, uma vez
que a avaliação do protocolo baseia-se nas informações preliminares como
mensagens, crenças e objetivos. A determinação equivocada destas informações
pode comprometer toda a análise, havendo desta forma, a necessidade de reiniciar
o processo.
68
Com o uso da ferramenta a complexidade do processo de análise foi
minimizada, automatizada e reduzida a poucas interações do usuário, aumentando
satisfatoriamente a qualidade da análise e aumentando as possibilidades de
aplicação do método. Além da verificação do atendimento dos objetivos propostos
pelo protocolo analisado, é possível determinar possíveis causas da falha detectada.
A importância dada a protocolos de segurança para redes sem fio mais
íntegros e eficientes é evidenciada pela grande demanda do mercado a tecnologias
wireless (sem fio). Numa análise de mercado pôde-se observar uma tendência de
crescimento do uso da tecnologia para várias operações envolvendo troca de
informações sigilosas, acentuando o grau de importância e comprometimento dos
mecanismos responsáveis pela segurança do sistema. Portanto, chegou-se a
conclusão que o desenvolvimento da ferramenta foi justificado e oportuno,
contribuindo desta forma para a validação do método e indiretamente a promoção da
confiabilidade nos sistemas sem fio por ela analisada.
Por fim, várias dificuldades foram encontradas durante a fase de elaboração
do trabalho, destacando a escassez de material nacional de pesquisa sobre o
assunto, sendo contornada através da busca em outras fontes. Porém, no que diz
respeito ao ambiente de trabalho, é importante citar que as ferramentas de apoio
utilizadas no desenvolvimento mostraram-se adequadas e eficientes, possibilitando
futuras implementações e adequações da ferramenta para aplicação em outros
casos semelhantes.
69
7 REFERÊNCIAS BIBLIOGRÁFICAS
ALENCAR, Marcelo S. Sistemas de Comunicações. São Paulo: Editora Érica,
2001.
BRASIL. Decreto Lei nº 3.587, de 5 de setembro de 2000. Estabelece normas para
a infra-Estrutura de Chaves Públicas do Poder Executivo Federal – ICP-Gov.
Diário Oficial da República Federativa do Brasil. Brasília, 5 set 2000.
FERRARI, Antonio M. Telecomunicações: evolução & revolução, 8. ed. São
Paulo: Editora Érica, 2003.
GARG, Vijay Kumar. Wireless and Personal Communications System. New York:
IEEE Telecomunications Handbook Series, 1996.
KYNTAJA, Timo. A Logic of Authentication by Burrows, Abadi and Needham,
Finlândia, [1995]. Disponível em: <http://www.tml.hut.fi/opinnto/tik-
110.501/1995/ban.html>. Acessado em: 10 mar 2004.
RNP. As Tecnologias de Redes Wireless. Brasil, [2004]. Disponível em:
<http://www.rpn.Br/newsgen/9805/wireless.html>. Acessado em 05 mar 2004.
RNT. Revista de Negócios em Telecomunicações. Brasil, [2004]. Disponível em:
<http://www.rnt.com.br>. Acessado em: 05 mar 2004.
SANTOS, Myrna C. Martins. Análise Formal de Protocolos de Autenticação para
Redes Celulares. Rio de Janeiro: IME, 2002.
TANENBAUM, Andrew S. Redes de Computadores, 4. ed. São Paulo: Editora
Campus, 2003.