Los dispositivos con licencia se autentican con certificados de cliente X.509 emitidos por la propia autoridad de certificación (CA) de Hermetry. Esta página describe cómo se construye y opera la CA, para revisiones de seguridad. Lo que ve y hace como cliente (la lista de certificados, la renovación y la revocación) está en Certificados de dispositivo.
La jerarquía
| Nivel | Vida útil | Dónde reside su clave privada |
|---|---|---|
| CA raíz (G1), con una raíz de reserva fijada (G2) | 20 años (G1), 25 años (G2) | Solo fuera de línea, en medios extraíbles, protegida bajo una clave dividida entre dos custodios. Nunca en ninguna base de datos ni sistema en línea. |
| CA emisora de dispositivos | 5 años, emitiendo durante 24 meses como máximo | Sellada en la base de datos bajo una clave de envoltura que solo posee el proceso firmante. |
| CA emisora de servidores | 5 años | Igual que la anterior. Emite el certificado TLS propio del host del dispositivo. |
| Certificados de dispositivo | 365 días por defecto (de 30 a 825, configurado en el perfil del dispositivo) | Solo en el dispositivo. |
Todas las claves son ECDSA P-256 para los dispositivos con licencia actuales.
La ceremonia de la clave raíz
Las claves raíz se crean en una ceremonia registrada, en una máquina dedicada que nunca está conectada a la red, con dos custodios y un testigo. La clave que envuelve las claves raíz se divide en dos mitades; cada custodio conserva una mitad, sellada en sobres guardados en cajas fuertes de dos sedes. Ninguna persona ni ninguna caja fuerte tiene nunca ambas mitades. Solo se importa en línea material público (certificados y listas de revocación). La lista de revocación de la raíz se vuelve a firmar cada año del mismo modo.
El firmante
Un proceso aislado, el firmante, es el único que posee la clave de envoltura de las CA emisoras. Solo firma certificados de dispositivo y listas de revocación, y nada más. La pasarela de dispositivos comprueba los certificados de cliente frente a la cadena de CA y el conjunto de revocación sin ver nunca una clave de CA.
Emisión de un certificado
- El dispositivo genera su propio par de claves. La clave privada nunca sale del dispositivo.
- El dispositivo envía una solicitud de firma de certificado (CSR) a través de su sesión de aprovisionamiento.
- El worker de aprovisionamiento comprueba quién lo solicita y pasa la solicitud al firmante.
- El firmante emite un certificado cuyo nombre común (CN) es el número de serie del dispositivo, y lo registra en el libro de certificados.
El libro registra cómo se emitió cada certificado: Primer certificado (fábrica), Renovación, Recuperación, Clave generada por el servidor, Subido o Alta. En el caso de una clave generada por el servidor, la clave se entrega una sola vez y nunca se almacena: «La plataforma generó la clave de este certificado y la entregó una sola vez. Renuévelo para que el dispositivo genere una clave propia.»
Comprobaciones en cada conexión
En cada conexión MQTT con certificado, la pasarela comprueba que:
- el certificado encadena con una CA emisora de dispositivos de Hermetry,
- no está revocado (la pasarela rechaza todos los certificados mientras su conjunto de revocación no esté cargado),
- no ha caducado,
- su huella digital coincide con la credencial X.509 activa del dispositivo, y CN = número de serie = ID de cliente.
Un certificado presentado siempre decide: no hay alternativa con contraseña. Un certificado no fiable termina el handshake TLS.
Renovación
Los dispositivos renuevan su certificado por sí mismos antes de que caduque, como máximo 30 días antes. También puede pedir a un dispositivo que se renueve con Renovar certificado (el comando cert.renew); conserva el certificado actual hasta que el nuevo esté en uso.
Los administradores reciben avisos sobre los certificados que caducan dentro de los Aviso de caducidad (días) (de 30 a 180, por defecto 30) y que no se han renovado, y sobre los dispositivos a los que se pidió renovar y no lo hicieron.
Recuperación
Un dispositivo que solicita un nuevo certificado mientras el actual sigue siendo válido podría ser un clon. Hermetry no lo emite automáticamente:
- Recibe el aviso «Un dispositivo solicita un nuevo certificado».
- En la página del dispositivo, Aprobar revoca de inmediato el certificado actual y permite al dispositivo obtener uno nuevo para la clave mostrada, en un plazo de 7 días. Rechazar mantiene el certificado actual y no emite nada.
- Si el dispositivo lo intentó con otras claves mientras la solicitud estaba abierta, la página muestra la advertencia: «Solo se puede aprobar la clave mostrada aquí.»
Apruebe solo si restableció o reparó el dispositivo.
Revocación
Al revocar un certificado (Revocar certificado, con el motivo Compromiso de la clave, Sustituido, Dispositivo retirado o No especificado):
- se marca como revocado en el libro,
- su huella digital se añade al conjunto de revocación de la pasarela y el dispositivo se desconecta de inmediato, en todos los nodos de la pasarela,
- se incluye en la siguiente lista de revocación.
«El dispositivo se desconecta de inmediato y no puede volver a conectarse con este certificado. Esta acción no se puede deshacer.» Para confirmar, escriba el número de serie del dispositivo.
Cada CA emisora publica una lista de revocación de certificados (CRL) firmada, que se renueva periódicamente y es válida durante 7 días. Hermetry recibe una alerta si una lista no se renueva a tiempo.
Rotación de las CA emisoras
Una CA emisora emite durante 24 meses como máximo, y después una nueva toma el relevo. La CA antigua sigue publicando listas de revocación hasta que expire su último certificado. Los dispositivos confían en la raíz, así que una rotación no requiere ningún cambio en los dispositivos.
Certificados de otras autoridades
No está disponible la subida de su propia CA para dispositivos de terceros. Los dispositivos de terceros usan tokens de acceso o usuario y contraseña de MQTT. Consulte Credenciales de dispositivo.
Auditoría
Las revocaciones, las solicitudes de renovación, las solicitudes y aprobaciones de recuperación, y las transferencias de certificados se registran en el registro de auditoría (iot_pki.certificate.revoked, iot_pki.certificate.renewal_requested, iot_pki.recovery.requested, iot_pki.recovery.approved). Consulte Qué se audita.

