Requisito: Haber configurado OSPF en los routers que se quiera aplicar Autenticacition.

La autenticación OSPF verifica la identidad del router emisor y la integridad del paquete, evitando que un dispositivo no autorizado forme adyacencia o inyecte LSAs falsos.

Autentica, pero NO cifra

Incluso con MD5 o HMAC-SHA, la autenticación OSPF no cifra el contenido del paquete — solo prueba quién lo envió y que no fue alterado. Los LSAs viajan legibles. Para confidencialidad real se necesita IPsec (en OSPFv3 la autenticación ya es vía IPsec).

Los cuatro tipos

  • Type 0 — Null → sin autenticación (por defecto).
  • Type 1 — Plaintext → contraseña en texto plano. Deprecado (la clave viaja visible).
  • Type 2 — MD5 → hash criptográfico. Más seguro que plaintext.
  • Type 2 — Cryptographic (HMAC-SHA) → el más fuerte. RFC 5709, desde IOS 15.4(1)T. El recomendado hoy.

Configuración

Plaintext (Type 1) - No recomendado

Activar a nivel área (todas las interfaces del área): Router(config-router)# area <área> authentication

Activar a nivel interfaz (solo esa interfaz): Router(config-if)# ip ospf authentication

Definir la clave (en la interfaz): Router(config-if)# ip ospf authentication-key <contraseña>

MD5 (Type 2) - No Recomendado

Activar a nivel área: Router(config-router)# area <área> authentication message-digest

Activar a nivel interfaz: Router(config-if)# ip ospf authentication message-digest

Definir la clave (key-id + contraseña): Router(config-if)# ip ospf message-digest-key <núm-llave> md5 <contraseña>

Deben coincidir en ambos extremos

El key-id (<núm-llave>) y la contraseña deben ser idénticos en los dos routers, o la adyacencia no forma.

Cryptographic HMAC-SHA (Type 2) - Recomendado!

Se configura solo por interfaz (no hay opción a nivel área, Ni tampoco se puede aplicar a todas las interfaces al mismo tiempo.)

Paso 1 - Crear el key chain y la llave:

Router(config)# key chain <nombre-llavero>
Router(config-keychain)# key <núm-llave>
Router(config-keychain-key)# cryptographic-algorithm <algoritmo>
Router(config-keychain-key)# key-string <contraseña>

Paso 2 - Asociar el key chain a la interfaz:

Router(config-if)# ip ospf authentication key-chain <nombre-llavero>

Ejemplo:

R1(config)# key chain LLAVERO
R1(config-keychain)# key 1
R1(config-keychain-key)# cryptographic-algorithm hmac-sha-512
R1(config-keychain-key)# key-string cisco123
R1(config-keychain-key)# exit
R1(config)# interface gigabitEthernet 0/0
R1(config-if)# ip ospf authentication key-chain LLAVERO

Algoritmos disponibles: hmac-sha-1, hmac-sha-256, hmac-sha-384, hmac-sha-512, md5. (Recomendado: hmac-sha-512)

Qué debe coincidir y qué no

  • Nombre del key chain (LLAVERO) → significancia local; puede ser distinto en cada router.
  • Key-id (key 1) → debe coincidir en ambos extremos.
  • Algoritmo (hmac-sha-512) → debe coincidir.
  • Key-string (cisco123) → debe coincidir.

Verificación

  • Confirmar la autenticación activa en una interfaz: Router# show ip ospf interface <interfaz> = Debe aparecer el tipo de autenticación y, en HMAC-SHA, la criptografía activa.

  • Ver el contenido de un key chain: Router# show key chain <nombre-llavero>

  • Diagnóstico de adyacencia (un mismatch de auth aparece aquí): Router# debug ip ospf adj

Mismatch de autenticación

Si la adyacencia no forma por autenticación, debug ip ospf adj imprime el motivo (“authentication mismatch”). Es un caso clásico de adyacencia atascada sin mensaje obvio en la salida normal.