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: 101.905 ]

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

A origem do Linux

Instalando o kernel 2.6.13 pré-compilado no Slackware 10.2

Avaliando as dicas de segurança do Banco do Brasil

As novidades do Java 1.5

FwLogWatch - Analisando Registros do IPtables

Leitura recomendada

Linux, uma quebra de barreiras

Software Livre e o Código de Defesa do Consumidor

Dificuldades com o Debian Etch/Test

O Espírito do Linux

Para quem não conhece, eis o LMDE e umas palavras sobre Refisefuquis

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts