O protocolo EAP-TTLS

Esse documento é uma tradução livre do rascunho (draft) que descreve o protocolo EAP-TTLS, disponível em http://tools.ietf.org/html/draft-funk-eap-ttls-v0-05. Use por sua conta e risco.

[ Hits: 94.952 ]

Por: Perfil removido em 23/05/2008


O formato do pacote EAP-TTLS



O formato do pacote EAP-TTLS é visto a seguir:



O campo Code vale 1 para request e 2 para response.

O campo Identifier formado por um octeto e auxilia na combinação dos pacotes Response com os Request. O identificador muda a cada pacote Request, sendo ecoado no pacote Response correspondente.

O campo Length formado por dois octetos e indica o número de octetos de todo o pacote EAP.

O campo Type terá valor 21 e significa EAP-TTLS.

Uma seqüência de sinalizadores (flags) que ocupam um octeto dividido do seguinte modo:



O bit 0 (L) do octeto (mais a esquerda) é usado para indicar a presença de quatro octetos TLS campo tamanho da mensagem.

O bit 1 (M) indica mais fragmentos quando ativo.

O bit 2 (S) indica uma mensagem de início (Start).

Os bits 3 e 4 são reservados (R).

Os bits de 5 a 7 (V) indicam a versão do protocolo (000 para TTLSv0).

O campo Message Length - Comprimento da mensagem - Esse campo de quatro octetos somente está presente quando o sinalizador (L) está ativo. Esse campo informa o comprimento total do campo Data antes da fragmentação (?).

O campo Data - Para todos os pacotes que não sejam do tipo Start, o campo data consiste de uma mensagem TLS crua, em seqüência ou o fragmento de uma mensagem. Para os pacotes do tipo Start, o campo data pode conter uma seqüência de AVPs.

O pacote EAP-TTLS do tipo Start

O bit (S) DEVE ser configurado no primeiro pacote enviado pelo servidor para iniciar o protocolo EAP-TTLS e não deve ser usado em nenhum outro pacote seguinte.

Este pacote "especial" DEVE conter informações adicionais e necessárias na forma de AVPs, que fornecem dicas úteis ao cliente, que permitem ao cliente escolher corretamente o ID da sessão TLS, para que uma sessão seja reiniciada. Cada AVP deve começar na fronteira de quatro octetos relativa ao primeiro AVP da seqüência. Caso o AVP não seja múltiplo de quatro, ele deve ser preenchido (padded) com zeros até o limite de quatro octetos.

Negociação da versão

A negociação da versão de EAP-TTLS é feita na primeira troca feita entre o servidor e o cliente. O servidor apresenta o número da maior versão do protocolo atualmente aceita, configurando o sinalizador (V), com o número da versão (atualmente TTLSv0, com valor igual a 000), no pacote Start. Na primeira mensagem de Response, o cliente configura o sinalizador (V) com o maior número da versão suportada por ele. Caso a versão do cliente não seja suportada pelo servidor um pacote EAP-Failure será enviado para terminar a sessão. Caso cliente e servidor entrem em acordo sobre qual versão usar, todos os pacotes EAP seguintes terão o campo sinalizador (V) com o mesmo valor.

Fragmentação

Cada mensagem EAP-TTLS consiste em um perna de uma conversação half-duplex. Os protocolos EAP de portadora (como, PPP, RADIUS e EAPOL) podem impor limites ao tamanho da mensagem EAP. Como conseqüência, pode ser necessário fragmentar uma mensagem EAP-TTLS em múltiplas mensagens.

Cada fragmento, exceto o último, DEVE ter o sinalizador (M) ativo, indicando que mais fragmentos estão a chegar. O último fragmento possui o sinalizador desativado.

Caso sejam múltiplos fragmentos, o primeiro fragmento terá o sinalizador (L) ativado e incluirá o comprimento total da mensagem que segue fragmentada. Os demais fragmentos terão o sinalizador (L) desativado.

Mensagens não fragmentadas podem indicar o tamanho total da mensagem e ativar o sinalizador (L). Mas, isso não terá qualquer efeito prático, sendo visto mais como uma redundância.

Após a recepção de um pacote com o sinalizador (M) ativo, o recebedor DEVE transmitir um pacote Acknowledgement. O recebedor é responsável pela remontagem dos fragmentos do pacote.

Pacotes Acknowledgement

Um pacote Acknowledgement é um pacote EAP-TTLS sem dados após o octeto dos sinalizadores (flags), e com os sinalizadores L,M e S desativados. O sinalizador V deve informar a versão atualmente em uso pela sessão.

Um pacote Acknowledgement é enviado com os seguintes fins:
  • Conhecimento da Fragmentação, em resposta a um pacote EAP com o sinalizador (M) ativado.
  • Quando o pacote final de uma negociação EAP-TTLS é enviado pelo servidor, o cliente deve responder com um pacote Acknowledgement, para permitir que o servidor prossiga com completando a negociação EAP-TTLS (basicamente enviando ou causando o envio de um EAP-Success ou EAP-Failure para o cliente).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Motivação
   3. Terminologia
   4. Modelo arquitetônico
   5. Modelo de camadas do protocolo
   6. Uma visão geral sobre EAP-TTLS
   7. Gerando material criptográfico
   8. O formato do pacote EAP-TTLS
   9. Encapsulamento de mensagens AVPs dentro da camada de gravação TLS
   10. Autenticação tunelada
   11. Estrutura de chaves
   12. Considerações de segurança
   13. Considerações finais
Outros artigos deste autor

Instalando o modem Huawey E1556 no GNU/Linux

Qmail + Patches + Performance Tuning, the Debian AMD64 way

Instalando o Gnome-2.20.0 no Slacware 12

Instalando o Virtualbox da Sun Microsystems no Ubuntu

Algumas Distribuições GNU/Linux Excêntricas!

Leitura recomendada

Repensando o PID 1 - Lennart Poettering

Abrir o código fonte?

Linux, uma quebra de barreiras

A Evolução do Software Livre

Blogs de mais, conteúdo de menos

  
Comentários
[1] Comentário enviado por removido em 24/05/2008 - 14:09h

existe alguma aplicacao baseada nele?

[2] Comentário enviado por removido em 26/05/2008 - 20:49h

Timidboy... FreeRADIUS já implementa...


Contribuir com comentário