Lamassu IoT Docs

Listas de revocación (CRL)

Genera y distribuye listas firmadas para validar certificados sin conexión.

Servicio CRL

Una CRL (Certificate Revocation List) es una lista firmada que contiene los números de serie de los certificados revocados antes de su fecha de caducidad. A diferencia de OCSP, no requiere una consulta en tiempo real: la parte que confía descarga la lista periódicamente y la consulta de forma local.

Lamassu genera y mantiene una CRL por cada CA que gestiona. Cada CRL está firmada con la clave privada de la propia CA emisora y se almacena en el sistema de almacenamiento de objetos configurado en la plataforma.

Rol VA y configuración por CA

La publicación de la CRL de cada CA se controla mediante un rol VA. Este objeto define cómo se genera, cuándo se regenera y qué clave se utiliza para firmarla.

Los parámetros principales son:

ParámetroValor por defectoDescripción
validity7 díasPeríodo de validez de cada CRL emitida, reflejado en el campo nextUpdate.
refresh_interval~6 días y 23 horasIntervalo mínimo entre regeneraciones periódicas programadas.
regenerate_on_revoketrueCuando se revoca un certificado, se genera una nueva CRL de inmediato sin esperar al ciclo periódico.

El campo subject_key_id_signer identifica la CA cuya clave privada firma la CRL. Por defecto, cada CA firma su propia CRL.

Cada CRL lleva un número de versión incremental. Lamassu almacena todas las versiones en la ruta pki/va/crl/{subject_key_id}/{version}.crl del almacenamiento de objetos.

Regeneración periódica y automática

Un proceso en segundo plano supervisa los roles VA activos. Cuando la validez restante de la CRL vigente cae por debajo del período de vigilancia configurado (blind period), el sistema solicita la generación de una nueva CRL. Así se evita que la CRL publicada caduque sin que exista una versión válida disponible.

Además, cuando regenerate_on_revoke está activo, que es el comportamiento por defecto, cualquier revocación de un certificado desencadena inmediatamente la generación de una nueva CRL para la CA afectada. Esto reduce al mínimo el tiempo entre la revocación y su publicación.

Contenido de la CRL

Cada entrada de la CRL incluye el número de serie del certificado revocado, la fecha de revocación y el código de razón conforme a RFC 5280.

La CRL incluye también la extensión Issuing Distribution Point (IDP, OID 2.5.29.28), marcada como crítica, que indica la URL pública desde la que puede descargarse. Esa URL apunta al endpoint /crl/{subject_key_id} de cada dominio VA configurado.

Endpoint público de descarga

La CRL más reciente de una CA se puede obtener directamente sin autenticación:

curl https://<LAMASSU_HOST>/crl/<CA_SUBJECT_KEY_ID> -o ca.crl

La respuesta tiene Content-Type: application/pkix-crl y contiene la CRL en formato DER.

API de gestión del rol VA

El rol VA de una CA se puede consultar y actualizar mediante la API:

MétodoRutaDescripción
GET/v1/roles/{ca-ski}Devuelve la configuración del rol VA y los metadatos de la última CRL emitida.
PUT/v1/roles/{ca-ski}Actualiza los parámetros de la configuración del rol VA (validity, refresh_interval, regenerate_on_revoke).

Ejemplo de consulta del rol VA:

curl https://<LAMASSU_HOST>/v1/roles/<CA_SUBJECT_KEY_ID> \
  -H "Authorization: Bearer <TOKEN>"

La respuesta incluye el campo latest_crl con la versión, la fecha de inicio de validez y la fecha de caducidad de la CRL actualmente publicada.

Desde la interfaz

Desde el panel de detalle de una CA es posible previsualizar el contenido de la CRL activa y descargarla directamente para su uso offline o para importarla en aplicaciones que realicen validación local.

Referencias

  • RFC 5280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

On this page