Protocolos


Todo e qualquer criptossistema quando utilizado isoladamente (somente cifragem e decifração) tem uma utilidade muito restrita. Para ser realmente útil, a criptografia deve resolver algum tipo de problema (como autenticação de usuários, votação eletrônica, etc.).

Um protocolo é uma série de passos, envolvendo um ou mais participantes, objetivando executar uma tarefa. Se entende por protocolos criptográficos, aqueles protocolos que se utilizam de criptografia em um ou mais de seus passos, normalmente com o objetivo de criar alguma aplicação mais complexa do que simplesmente cifrar e decifrar textos.

Os diversos participantes de um protocolo podem trocar informações entre si confiando ou não confiando uns nos outros e usar esta troca de informações para realizar tarefas como votação secreta, assinatura de contrato em grupo e outras mais.

Para que uma série de passos possa realmente ser chamada de protocolo, é necessário que as seguintes premissas sejam obedecidas:

  1. Todos os participantes de um protocolo devem conhecê-lo e saber todos os passos de antemão, antes da execução do protocolo;
  2. Todos os participantes de um protocolo devem concordar em seguí-lo;
  3. O protocolo não deve apresentar ambigüidade; cada passo deve ser bem definido e não haver possibilidade de algo ser mal entendido
  4. O protocolo deve ser completo; deve haver uma ação específica para cada situação possível.

Todo protocolo tem seus participantes que são os usuários de um sistema ou rede. Entretanto, para fins didáticos e ilustrativos, desde a década de 80, são dados nomes de pessoas aos participantes de um protocolo, tornando assim uma tradição em trabalhos sobre protocolos.

Os participantes de um protocolo são os seguintes:

  1. Alice e Bob: executam a maioria dos protocolos. Por convenção, define-se que Alice inicia todo os protocolos. Bob executa a segunda parte. Alice e Bob estarão usando algum tipo de computador para executar o protocolo: pode ser um terminal burro ou uma estação de trabalho. Esta estação pode ser confiável ou não confiável, se é ou não garantido que ninguém tem acesso à memória do processador durante a execução do protocolo. Em alguns protocolos também participam Carol e Dave com as mesmas características de Alice e Bob.
  2. Eve: é o intruso passivo, ou seja, um atacante que não pode influir no protocolo, mas somente ter acesso às mensagens que são trocadas por Alice e Bob. Assume-se que Eve conhece todos os detalhes tanto do protocolo quanto dos criptossistemas envolvidos, bem como qualquer assunto que envolva a linha de comunicação empregada (velocidade, paridade, níveis de sinal etc.). Uma das principais atividades de Eve é descobrir uma chave ou senha que lhe permita usar a identidade de Alice ou Bob para acessar um sistema ao qual não está autorizado.
  3. Mallet: é o intruso ativo, capaz de interferir nos protocolos, atrasando, eliminando ou alterando mensagens. Além de ter os mesmos conhecimentos de Eve, Mallet ainda dispõe de grande poder computacional, habilitando-o a interferir nos protocolos sem que isso acarrete aumento nos tempos de transmissão. Embora isto possa parecer exagerado, é um pressuposto muito usado para analisar a robustez de protocolos.
  4. Trent: é um árbitro de confiança. Alice e Bob se reportam a ele em certos protocolos a fim de obter autenticação sobre outros participantes.
  5. Um protocolo é dito auto-sustentável se nenhum árbitro é exigido a fim de completar a execução do protocolo.

A escolha de um protocolo adequado e eficiente é fundamental para a segurança dos dados que são compartilhados durante as transações bem como do resultado das tarefas realizadas pelas aplicações.

Alguns exemplos de aplicações para Protocolos Criptográficos são descritos abaixo: