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.953 ]

Por: Perfil removido em 23/05/2008


Encapsulamento de mensagens AVPs dentro da camada de gravação TLS



Após o handshake TLS, a informação pode ser "tunelada" entre o cliente e o servidor TTLS através do uso de pares de atributo-valor (AVPs) encriptados com a camada de gravação de TLS.

O formato AVP escolhido para o protocolo EAP-TTLS é compatível com o formato do protocolo Diameter. Isso não representa um requerimento de que todos os dispositivos ou servidores participantes tenham suporte para Diameter durante a negociação EAP-TTLS. O uso desse formato é meramente uma conveniência. Diameter é um "superconjunto" de RADIUS, incluindo TODOS seus espaços de nome e atributos.

Todavia, Diameter não limita o tamanho do AVP, como faz RADIUS, mas por outro lado RADIUS é um protocolo AAA com maior abrangência (grande número de usuários) e amplo suporte para muitos métodos de autenticação por senha, incluindo EAP.

A representação do campo data de um AVP em EAP-TTLS deve ser idêntica como definido em Diameter.

Ao usar uma definição de espaço de nomes comum a RADIUS/Diameter permite que o servidor TTLS traduzir facilmente entre as AVPs usadas pelos clientes para se comunicarem e o protocolo pelos servidores AAA que são mais utilizados. Além disto, isso fornece um mecanismo bem entendido que permite aos vendedores que estendam o espaço de nomes de seus requerimentos particulares.

É esperado que os mesmos códigos usados pelas AVPs em EAP-TTLS possuirão o mesmo significado em EAP-TTLS, fazendo as mesmas funções como fazem em Diameter, e por extensão em RADIUS.

Entretanto, apesar de EAP-TTLS usar o mesmo formato dos códigos das AVPs e a sintaxe de Diameter, a semântica pode ser diferente, e a maioria das AVPs de Diameter não são bem definidas em EAP-TTLS. Um relação das AVPs que podem ser usadas em EAP-TTLS e sua semântica podem ser encontradas na sessão 13.

Um servidor TTLS copiando AVPs entre uma troca EAP-TTLS e Diameter ou RADIUS NÃO DEVE fazer qualquer suposição sobre AVPs cujo uso, tanto em EAP-TTLS ou no protocolo por trás que ele não entende, e, portanto NÃO DEVE copiar essa AVP entre o EAP-TTLS e Diameter/RADIUS, a menos que a semântica realmente seja compreendida nos dois contextos.

O formato AVP

O formato de um AVP é demonstrado pela figura abaixo. Todos os itens são em rede, ou no formato big-endian. Ou seja, o octeto mais significativo está representado da esquerda para direita.



O campo AVP Code é formado por quatro octetos e, combinado com o valor de campo Vendor-ID, se presente, identifica um atributo de modo singular. Os primeiros 256 códigos AVP representam os atributos definidos em RADIUS [RFC 2865], os atributos acima são definidos em Diameter [RFC 3588].

Sinalizadores AVP

Um campo de sinalizadores formado por um octeto, e que fornecem informações suficientes para interpretar o AVP.

O bit (V) - Vendor Specific - indica a presença de um campo Vendor-ID (normalmente opcional). Quando configurado como 1, o Vendor-Id está presente e o AVP é interpretado de acordo com o espaço de nomes definido pelo vendedor indicado no campo Vendor-ID.

O bit (M) - (Mandatory) - indica quando o suporte para AVP é requerido. Quando desativado (0), indica que o AVP pode ser seguramente ignorado caso a parte que esteja recebendo não entenda ou não suporte esses AVP. Quando ativado (1), indica que a parte que está recebendo o AVP deve falhar durante a negociação caso não entenda um AVP. Para um servidor TTLS isso implica em retornar um pacote EAP-Failure para o cliente, o que resulta no abandono da negociação.

Os bit (R) - (Reservados) não são utilizados e devem ser configurados como zero pelo emissor e ignorado pelo receptor.

O campo AVP Length é composto por três octetos, e indica o comprimento do AVP incluindo o AVP Code, AVP Length, AVP Flags, Vendor-Id ( se presente) e o campo Data.

O campo Vendor-Id estará presente se o sinalizador (V) estiver ativo no campo de sinalizadores. Formado por quatro octetos, contém um valor que representa o código SMI - Network Management Private Enterprise Codes - atribuído pela IANA e atualmente disponível no portal da entidade em:
Os vendedores definem seus próprios AVPs mas devem manter consistência para a utilização destes com o espaço de nomes usado por RADIUS, Diameter e EAP-TTLS.

Um Vendor-ID igual a zero é equivalente a ausência do parâmetro.

Observe que o sinalizador (M) mandatório fornece um modo para estender as funcionalidades de EAP-TTLS, enquanto preserva a compatibilidade quando essa é desejada. Ao ativar ou desativar (M) como o AVP apropriado, a parte inicializa a função para a outra parte indicando se o suporte a essa função é opcional ou requerido.

Seqüências AVP

Os dados encapsulados na camada de gravação por TLS devem consistir inteiramente de uma seqüência de zero ou mais AVPs. Cada AVP deve começar na borda onde termina o anterior. O primeiro AVP terá quatro octetos de comprimento. Caso um AVP não seja múltiplo de quatro, será preenchido com zeros até seu limite. Neste caso a propriedade AVP Length não inclui esse preenchimento.

Orientações para máxima compatibilidade com servidores AAA

As seguintes sugestões são feitas para máxima compatibilidade:
    AVPs que NÃO são Vendor-Specific destinadas a serem utilizadas com servidores AAA devem ser selecionadas de um conjunto de atributos definidos por RADIUS. Esses atributos terão o código menor que 256. Isso mantém a compatibilidade tanto com RADIUS quanto com Diameter.

    AVPs que SÃO Vendor-Specific destinadas a serem utilizadas com servidores AAA devem ser definidas em termos de RADIUS. Atributos Vendor-Specific de RADIUS são traduzidos para Diameter (e, conseqüentemente para EAP-TTLS) automaticamente. O inverso não é verdadeiro.

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

Adaptador Bluetooth no Slackware

Instalação de um servidor de mensagens instantâneas Openfire na sua rede com clientes Microsoft Windows e cliente Jabber Exodus

Revista Viva o Linux

Asterisk com PostgreSQL e unixodbc

Restaurando o LILO com o Slackware 9.1 (HOWTO)

Leitura recomendada

Preconceito x Mente aberta

Oferta imperdível: Linux em promoção, somente hoje!

A miséria social do Brasil e o software proprietário

Sorteio de camisetas promovido pela GeekWorld

Software Livre é o futuro

  
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