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.
Parte 7: Gerando material criptográfico
Após a conclusão bem sucedida de uma negociação EAP-TTLS, 128 octetos de material criptográfico é gerado e exportado para usar na segurança da conexão de dados entre o cliente e o ponto de acesso. Os primeiros 64 bits do material criptográfico recebe a denominação de MSK e os 64 bits restantes recebe a denominação EMSK.
O material criptográfico é gerado usando a função PRF de TLS [RFC 4346], com entradas baseadas na chave mestre TLS, a cadeia constante codificada em ASCII ("ttls keying material"), um número aleatório TLS do lado cliente e outro do lado servidor. A cadeia de caracteres constante não possui nulo de terminação.
MSK = material criptográfico com 64 octetos [0..63].
EMSK = material criptográfico com 64 octetos [64..127].
Modelo da função PRF, usada para gerar material criptográfico:
Observe que a ordem de Client_Random e Server_Random para EAP-TTLS é invertida em relação ao definido no protocolo TLS [RFC 4346]. Essa ordenação segue o método de derivação de chaves proposto para EAP-TLS [RFC 5216]. Alterando a ordem dos números aleatórios evita-se a colisão de espaços de nomes entre as cadeias definidas para EAP-TTLS e as definidas para o protocolo TLS.
O servidor TTLS distribui esse material criptográfico para o ponto de acesso através de um protocolo de portadora. Quando RADIUS é o protocolo de portadora, os atributos MPPE-Recv-Key e MPPE-Send-Key [RFC 2548] pode ser usado para distribuir os primeiros 32 octetos e os próximos 32 octetos de MSK, respectivamente.
O material criptográfico é gerado usando a função PRF de TLS [RFC 4346], com entradas baseadas na chave mestre TLS, a cadeia constante codificada em ASCII ("ttls keying material"), um número aleatório TLS do lado cliente e outro do lado servidor. A cadeia de caracteres constante não possui nulo de terminação.
MSK = material criptográfico com 64 octetos [0..63].
EMSK = material criptográfico com 64 octetos [64..127].
Modelo da função PRF, usada para gerar material criptográfico:
Keying Material = PRF-128 (
SecurityParameters.master_secret,
"ttls keying material",
SecurityParameters.client_random + SecurityParameters.server_random)
SecurityParameters.master_secret,
"ttls keying material",
SecurityParameters.client_random + SecurityParameters.server_random)
Observe que a ordem de Client_Random e Server_Random para EAP-TTLS é invertida em relação ao definido no protocolo TLS [RFC 4346]. Essa ordenação segue o método de derivação de chaves proposto para EAP-TLS [RFC 5216]. Alterando a ordem dos números aleatórios evita-se a colisão de espaços de nomes entre as cadeias definidas para EAP-TTLS e as definidas para o protocolo TLS.
O servidor TTLS distribui esse material criptográfico para o ponto de acesso através de um protocolo de portadora. Quando RADIUS é o protocolo de portadora, os atributos MPPE-Recv-Key e MPPE-Send-Key [RFC 2548] pode ser usado para distribuir os primeiros 32 octetos e os próximos 32 octetos de MSK, respectivamente.