18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Comparação entre Linguagens <strong>de</strong> Especificação <strong>de</strong> Protocolos<br />

Thiago C. Vieira 1 , Cláudia Nalon 1<br />

1 Departamento <strong>de</strong> Ciência da Computação<br />

Universida<strong>de</strong> <strong>de</strong> Brasília (<strong>UnB</strong>) – Brasília, DF – Brasil<br />

thiagotcvieira@gmail.com, nalon@unb.br<br />

Abstract. The <strong>de</strong>velopment and verification of security protocols and authentication<br />

algorithms is a challenging problem. There are several tools for specifying<br />

and verifying protocols. We compare two of those specification approaches –<br />

one is based on combinations of logics and the other is based on a specification<br />

language for distributed systems. The analyses is carried out from the specifier<br />

point of view, highlighting the mechanisms that make easier (or difficult) to<br />

accomplish the task of <strong>de</strong>signing and verifying a protocol.<br />

Resumo. O <strong>de</strong>senvolvimento e verificação <strong>de</strong> protocolos é um problema <strong>de</strong>safiador,<br />

existindo várias ferramentas para auxiliar nestas tarefas. Neste trabalho,<br />

comparamos duas <strong>de</strong>stas ferramentas formais para especificação – uma<br />

baseada em combinações <strong>de</strong> lógicas e outra baseada em uma linguagem <strong>de</strong><br />

especificação para sistemas distribuídos. A análise é feita a partir do ponto <strong>de</strong><br />

vista do especificador, procurando enfatizar as dificulda<strong>de</strong>s e facilida<strong>de</strong>s encontradas<br />

pelo projetista na utilização <strong>de</strong> tais ferramentas.<br />

1. Introdução<br />

A criação e verificação <strong>de</strong> protocolos <strong>de</strong> segurança e algoritmos <strong>de</strong> autenticação é<br />

um problema <strong>de</strong>safiador. Com o avanço e socialização da Internet, incluindo a crescente<br />

alocação <strong>de</strong> dados e até <strong>de</strong> sistemas inteiros para o ambiente web, a correção dos mecanismos<br />

<strong>de</strong> segurança é um fator crítico. Em geral, um dos problemas para a verificação<br />

sistemas complexos, como sistemas concorrentes ou protocolos, por exemplo, está na<br />

dificulda<strong>de</strong> em especificá-los <strong>de</strong> maneira suficientemente completa.<br />

Protocolos <strong>de</strong> comunicação estão inseridos em diversas áreas do conhecimento,<br />

<strong>de</strong>s<strong>de</strong> linguística às engenharias. Um protocolo <strong>de</strong> comunicação <strong>de</strong>fine o formato e<br />

a or<strong>de</strong>m que são trocadas mensagens entre dois ou mais agentes, bem como as ações<br />

que são realizadas por quem envia e quem recebe a mensagem [Kurose and Ross 2008],<br />

on<strong>de</strong> os agentes são os participantes ativos <strong>de</strong> um processo. De forma mais geral, protocolos<br />

também po<strong>de</strong>m ser <strong>de</strong>finidos como uma forma <strong>de</strong> processamento distribuído<br />

baseado em troca <strong>de</strong> mensagens. Neste trabalho, consi<strong>de</strong>raremos somente os aspectos<br />

<strong>de</strong> comunicação, conforme [Dolev and Yao 1983], ou seja, aspectos criptográficos não<br />

serão consi<strong>de</strong>rados.<br />

O objetivo <strong>de</strong>ste artigo é mostrar as dificulda<strong>de</strong>s e facilida<strong>de</strong>s para especificar<br />

um protocolo, com o necessário <strong>de</strong>talhamento, em dois enfoques específicos: através <strong>de</strong><br />

combinações <strong>de</strong> lógicas modais e através <strong>de</strong> uma linguagem <strong>de</strong> especificação <strong>de</strong> processos<br />

distribuídos. O <strong>de</strong>talhamento <strong>de</strong> um protocolo exige, por exemplo, que se possa expressar<br />

na linguagem <strong>de</strong> especificação que <strong>de</strong>terminado agente A sabe (ou conhece) a chave<br />

320

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!