Introdução
Este documento descreve o procedimento para configurar RADIUS KeyWrap no Cisco ISE e no Cisco Switch.
Pré-requisitos
- Conhecimento de dot1x
- Conhecimento do protocolo RADIUS
- Conhecimento de EAP
Componentes Utilizados
- ISE 3.2
- Cisco C9300-24U com versão de software 17.09.04a
- PC com Windows 10
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
A quebra de chaves é uma técnica em que um valor de chave é criptografado usando outra chave. O mesmo mecanismo é usado no RADIUS para criptografar o material da chave. Esse material é geralmente produzido como um subproduto de uma autenticação EAP (Extensible Authentication Protocol) e retornado na mensagem Access-Accept após uma autenticação bem-sucedida. Esse recurso será obrigatório se o ISE estiver sendo executado no modo FIPS.
Isso fornece uma camada de proteção que isola o material-chave real para proteção contra ataques potenciais. O material essencial subjacente torna-se praticamente inacessível aos agentes de ameaças, mesmo em casos de intercepção de dados. A principal intenção por trás do encapsulamento de chaves RADIUS é evitar a exposição de materiais-chave que protegem o conteúdo digital, particularmente em uma rede de grande escala de nível empresarial.
No ISE, a chave de criptografia é usada para criptografar os materiais da chave com a criptografia AES e a chave do código do autenticador de mensagem separada da chave secreta compartilhada RADIUS para gerar o código do autenticador de mensagem.
Configurar
ISE
Passo 1: Navegue até Administração > Recursos de rede > Dispositivos de rede. Clique na caixa de seleção do dispositivo de rede para o qual você deseja configurar RADIUS KeyWrap. Clique em Editar (se o dispositivo de rede já tiver sido adicionado).

Passo 2: Expanda as Configurações de Autenticação RADIUS. Clique na caixa de seleção Enable KeyWrap. Insira a chave de criptografia de chave e a chave do código do autenticador de mensagem. Click Save.

Observação: a Chave de Criptografia da Chave e a Chave do Código do Autenticador de Mensagem devem ser diferentes.
Switch
Configuração AAA no Switch para habilitar o recurso KeyWrap RADIUS.
aaa authentication dot1x default group RADGRP
aaa authorization network default group RADGRP
aaa accounting dot1x default start-stop group RADGRP
radius server ISERAD
address ipv4 10.127.197.165 auth-port 1812 acct-port 1813
key-wrap encryption-key 0 22AB0###CA#1b2b1 message-auth-code-key 0 12b1CcB202#2Cb1#bCa# format ascii
key Iselab@123
aaa group server radius RADGRP
server name ISERAD
key-wrap enable
interface GigabitEthernet1/0/22
switchport access vlan 302
switchport mode access
device-tracking attach-policy IPDT
authentication host-mode multi-domain
authentication order mab dot1x
authentication priority dot1x mab
authentication port-control auto
dot1x pae authenticator
end
Note: A chave de criptografia deve ter 16 caracteres e o código de autenticação de mensagem e 20 caracteres.
PC
Windows 10 Supplicant configurado para PEAP-MSCHAPv2.

Verificar
Quando o recurso KeyWrap do RADIUS não estiver habilitado no Switch:
show radius server-group <SERVER GROUP NAME>
A saída do comando deve mostrar Keywrap habilitado: FALSO.
Switch#show radius server-group RADGRP
Server group RADGRP
Sharecount = 1 sg_unconfigured = FALSE
Type = standard Memlocks = 1
Server(10.127.197.165:1812,1813,ISERAD) Transactions:
Authen: 239 Author: 211 Acct: 200
Server_auto_test_enabled: FALSE
Keywrap enabled: FALSE
Na captura de pacotes, você pode ver que não há atributo Cisco-AV-Pair para app-key, random-nonce e message-authenticator-code separado. Isso indica que RADIUS KeyWrap está desabilitado no switch.

No arquivo prt-server.log do ISE, você pode ver que o ISE valida somente o atributo de integridade que é o Autenticador de mensagem.
Radius,2025-03-16 13:41:08,628,DEBUG,0x7f43b6e4b700,cntx=0000071664,sesn=labpan02/530700707/490,CallingStationID=B4-96-91-26-DD-E7,FramedIPAddress=10.127.212.216,RADIUS PACKET:: Code=1(AccessRequest) Identifier=221 Length=289
[1] User-Name - value: [sksarkar]
[4] NAS-IP-Address - value: [10.127.212.64]
[5] NAS-Port - value: [50122]
[6] Service-Type - value: [Framed]
[8] Framed-IP-Address - value: [10.127.212.216]
[12] Framed-MTU - value: [1468]
[30] Called-Station-ID - value: [50-F7-22-B2-D6-16]
[31] Calling-Station-ID - value: [B4-96-91-26-DD-E7]
[61] NAS-Port-Type - value: [Ethernet]
[79] EAP-Message - value: [<02><01><00><0d><01>sksarkar]
[80] Message-Authenticator - value: [<88>/`f|><18><06>(?]
[87] NAS-Port-Id - value: [GigabitEthernet1/0/22]
[102] EAP-Key-Name - value: []
[26] cisco-av-pair - value: [service-type=Framed]
[26] cisco-av-pair - value: [audit-session-id=40D47F0A0000002B9E06997E]
[26] cisco-av-pair - value: [method=dot1x]
[26] cisco-av-pair - value: [client-iif-id=292332370] ,RADIUSHandler.cpp:2455
Radius,2025-03-16 13:41:08,628,DEBUG,0x7f43b6e4b700,cntx=0000071664,sesn=labpan02/530700707/490,CallingStationID=B4-96-91-26-DD-E7,FramedIPAddress=10.127.212.216,Not any of retransmit cases, remove TimeoutCallback from Session,RADIUSHandler.cpp:1258
Radius,2025-03-16 13:41:08,628,DEBUG,0x7f43b6e4b700,cntx=0000071664,sesn=labpan02/530700707/490,CallingStationID=B4-96-91-26-DD-E7,FramedIPAddress=10.127.212.216,Validate integrity related RADIUS attributes,RADIUSHandler.cpp:2060
No pacote Access-Accept, você pode ver que a chave MS-MPPE-Send-key e a chave MS-MPPE-Recv-Key são enviadas do Servidor RADIUS para o Autenticador. O MS-MPPE especifica o material-chave gerado pelos métodos EAP que podem ser usados para executar a criptografia de dados entre o peer e o Authenticator. Essas chaves de 32 bytes são derivadas do segredo compartilhado RADIUS, do autenticador de solicitação e de um salt aleatório.

Quando o recurso KeyWrap do RADIUS estiver habilitado no Switch e no ISE:
show radius server-group <SERVER GROUP NAME>
A saída do comando deve mostrar Keywrap enabled: VERDADEIRO.
Switch#show radius server-group RADGRP
Server group RADGRP
Sharecount = 1 sg_unconfigured = FALSE
Type = standard Memlocks = 1
Server(10.127.197.165:1812,1813,ISERAD) Transactions:
Authen: 239 Author: 211 Acct: 200
Server_auto_test_enabled: FALSE
Keywrap enabled: TRUE
Na captura de pacotes, você pode ver que há um atributo Cisco-AV-Pair para app-key (sem dados), random-nonce e message-authenticator-code separado presentes. Isso indica para o servidor RADIUS que o Authenticator (Switch) oferece suporte a KeyWrap RADIUS e que o servidor deve usar o mesmo.

No arquivo prt-server.log do ISE, você pode ver que o ISE valida os atributos app-key e que random-nonce e message-authenticator-code vieram no pacote ACCESS-REQUEST.
Radius,2025-03-16 14:05:20,882,DEBUG,0x7f43b704c700,cntx=0000072242,sesn=labpan02/530700707/539,CallingStationID=B4-96-91-26-DD-E7,RADIUS PACKET:: Code=1(AccessRequest) Identifier=17 Length=464
[1] User-Name - value: [sksarkar]
[4] NAS-IP-Address - value: [10.127.212.64]
[5] NAS-Port - value: [50122]
[6] Service-Type - value: [Framed]
[12] Framed-MTU - value: [1468]
[30] Called-Station-ID - value: [50-F7-22-B2-D6-16]
[31] Calling-Station-ID - value: [B4-96-91-26-DD-E7]
[61] NAS-Port-Type - value: [Ethernet]
[79] EAP-Message - value: [<02><01><00><0d><01>sksarkar]
[87] NAS-Port-Id - value: [GigabitEthernet1/0/22]
[102] EAP-Key-Name - value: []
[26] cisco-av-pair - value: [service-type=Framed]
[26] cisco-av-pair - value: [audit-session-id=40D47F0A000000319E1CAEFD]
[26] cisco-av-pair - value: [method=dot1x]
[26] cisco-av-pair - value: [client-iif-id=293712201]
[26] cisco-av-pair - value: [****]
[26] cisco-av-pair - value: [****]
[26] cisco-av-pair - value: [****] ,RADIUSHandler.cpp:2455
Radius,2025-03-16 14:05:20,882,DEBUG,0x7f43b704c700,cntx=0000072242,sesn=labpan02/530700707/539,CallingStationID=B4-96-91-26-DD-E7,Not any of retransmit cases, remove TimeoutCallback from Session,RADIUSHandler.cpp:1258
Radius,2025-03-16 14:05:20,882,DEBUG,0x7f43b704c700,cntx=0000072242,sesn=labpan02/530700707/539,CallingStationID=B4-96-91-26-DD-E7,Validate integrity related RADIUS attributes,RADIUSHandler.cpp:2060
Radius,2025-03-16 14:05:20,882,DEBUG,0x7f43b704c700,cntx=0000072242,sesn=labpan02/530700707/539,CallingStationID=B4-96-91-26-DD-E7,RADIUSVSAValidator::validateCiscoAVPairKeyWrapAppKey,RADIUSVSAValidator.cpp:139
Radius,2025-03-16 14:05:20,882,DEBUG,0x7f43b704c700,cntx=0000072242,sesn=labpan02/530700707/539,CallingStationID=B4-96-91-26-DD-E7,RADIUSVSAValidator::validateCiscoAVPairKeyWrapAppKey : KeyWrapAppKey is valid.,RADIUSVSAValidator.cpp:184
Radius,2025-03-16 14:05:20,882,DEBUG,0x7f43b704c700,cntx=0000072242,sesn=labpan02/530700707/539,CallingStationID=B4-96-91-26-DD-E7,RADIUSVSAValidator::validateCiscoAVPairKeyWrapRandomNonce,RADIUSVSAValidator.cpp:223
Radius,2025-03-16 14:05:20,882,DEBUG,0x7f43b704c700,cntx=0000072242,sesn=labpan02/530700707/539,CallingStationID=B4-96-91-26-DD-E7,RADIUSVSAValidator::validateCiscoAVPairKeyWrapMessageAuthenticatorCode,RADIUSVSAValidator.cpp:252
Radius,2025-03-16 14:05:20,882,DEBUG,0x7f43b704c700,cntx=0000072242,sesn=labpan02/530700707/539,CallingStationID=B4-96-91-26-DD-E7,RADIUSVSAValidator::validateCiscoAVPairKeyWrapMessageAuthenticatorCode : MessageAuthenticatorCode is valid.,RADIUSVSAValidator.cpp:324
No pacote Access-Accept, você pode ver os materiais da chave criptografada no atributo app-key junto com um random-nonce e um message-authenticator-code. Esses atributos foram projetados para fornecer proteção mais forte e mais flexibilidade do que os atributos MS-MPPE-Send-Key e MS-MPPE-Recv-Key definidos atualmente para cada fornecedor.

Perguntas mais freqüentes
1) O RADIUS KeyWarp precisa ser habilitado no dispositivo de rede e no ISE para que funcione?
Sim, o RADIUS KeyWrap precisa ser habilitado no dispositivo de rede e no ISE para que ele funcione. Embora, se você habilitar o KeyWrap somente no ISE, mas não no dispositivo de rede, a autenticação ainda funcionará. Mas, se você o habilitou no dispositivo de rede, mas não no ISE, a autenticação falhará.
2) A ativação do KeyWrap aumenta a utilização de recursos no ISE e no dispositivo de rede?
Não, não há aumento significativo na utilização de recursos no ISE e no dispositivo de rede após a habilitação de KeyWrap.
3) Quanto de segurança extra o RADIUS KeyWrap fornece?
Como o próprio RADIUS não fornece nenhuma criptografia para sua carga útil, o KeyWrap fornece segurança extra ao criptografar os materiais da chave. O nível de segurança depende do algoritmo de criptografia usado para criptografar o material da chave. No ISE, o AES é usado para criptografar o material da chave.
Referência