Les appareils sous licence s’authentifient avec des certificats client X.509 émis par l’autorité de certification (CA) propre à Hermetry. Cette page décrit la manière dont la CA est conçue et exploitée, pour les revues de sécurité. Ce que vous voyez et faites en tant que client (la liste des certificats, le renouvellement, la révocation) se trouve dans Certificats d’appareils.
La hiérarchie
| Niveau | Durée de vie | Emplacement de sa clé privée |
|---|---|---|
| CA racine (G1), avec une racine de secours épinglée (G2) | 20 ans (G1), 25 ans (G2) | Hors ligne uniquement, sur support amovible, chiffrée sous une clé répartie entre deux dépositaires. Jamais dans une base de données ni dans un système en ligne. |
| CA émettrice des appareils | 5 ans, avec une émission pour 24 mois au maximum | Scellée dans la base de données sous une clé d’enveloppe que seul le processus de signature détient. |
| CA émettrice des serveurs | 5 ans | Identique à ci-dessus. Émet le certificat TLS propre à l’hôte de l’appareil. |
| Certificats d’appareils | 365 jours par défaut (de 30 à 825, défini sur le profil d’appareil) | Sur l’appareil uniquement. |
Toutes les clés sont en ECDSA P-256 pour les appareils sous licence actuels.
La cérémonie de la clé racine
Les clés racines sont créées lors d’une cérémonie enregistrée, sur une machine dédiée qui n’est jamais connectée au réseau, avec deux dépositaires et un témoin. La clé qui chiffre les clés racines est scindée en deux moitiés ; chaque dépositaire en détient une, scellée dans des enveloppes conservées dans des coffres sur deux sites. Aucune personne seule et aucun coffre seul ne détient jamais les deux moitiés. Seul le matériel public (certificats et listes de révocation) est importé en ligne. La liste de révocation de la racine est re-signée chaque année de la même manière.
Le signataire
Un processus isolé, le signataire, est le seul détenteur de la clé d’enveloppe des CA émettrices. Il signe les certificats d’appareils et les listes de révocation, et rien d’autre. La passerelle des appareils vérifie les certificats clients par rapport à la chaîne de CA et à l’ensemble de révocation, sans jamais voir de clé de CA.
Émission d’un certificat
- L’appareil crée sa propre paire de clés. La clé privée ne quitte jamais l’appareil.
- L’appareil envoie une demande de signature de certificat (CSR) au cours de sa session de provisionnement.
- Le worker de provisionnement vérifie l’identité du demandeur et transmet la demande au signataire.
- Le signataire émet un certificat dont le nom commun (CN) est le numéro de série de l’appareil, et l’enregistre dans le registre des certificats.
Le registre enregistre la manière dont chaque certificat a été émis : Premier certificat (usine), Renouvellement, Récupération, Clé générée par le serveur, Importé ou Enrôlement. Pour une clé générée par le serveur, la clé n’est remise qu’une seule fois et n’est jamais stockée : « La plateforme a généré la clé de ce certificat et l’a remise une seule fois. Renouvelez-le pour que l’appareil crée sa propre clé. »
Contrôles à chaque connexion
À chaque connexion MQTT avec un certificat, la passerelle vérifie que :
- le certificat remonte à une CA émettrice des appareils de Hermetry,
- il n’est pas révoqué (la passerelle refuse tout certificat tant que son ensemble de révocation n’est pas chargé),
- il n’est pas expiré,
- son empreinte correspond à l’identifiant X.509 actif de l’appareil, et CN = numéro de série = identifiant client.
Un certificat présenté fait toujours foi : il n’existe aucun repli vers un mot de passe. Un certificat non approuvé met fin à la négociation TLS.
Renouvellement
Les appareils renouvellent eux-mêmes leur certificat avant son expiration, au plus tard 30 jours avant. Vous pouvez aussi demander à un appareil de se renouveler avec Renouveler le certificat (la commande cert.renew) ; le certificat actuel est conservé jusqu’à ce que le nouveau soit en service.
Les administrateurs sont avertis des certificats qui expirent dans le délai défini par Alerte d’expiration (jours) (de 30 à 180, 30 par défaut) et qui n’ont pas été renouvelés, ainsi que des appareils à qui il a été demandé de se renouveler et qui ne l’ont pas fait.
Récupération
Un appareil qui demande un nouveau certificate alors que le sien est encore valide pourrait être un clone. Hermetry ne l’émet pas automatiquement :
- Vous recevez l’avis « Un appareil demande un nouveau certificat ».
- Sur la page de l’appareil, Approuver révoque immédiatement le certificat actuel et permet à l’appareil d’obtenir un nouveau certificat pour la clé affichée, dans les 7 jours. Rejeter conserve le certificat actuel et n’en émet aucun.
- Si l’appareil a tenté avec d’autres clés pendant que la demande était ouverte, la page affiche l’avertissement : « Seule la clé affichée ici peut être approuvée. »
N’approuvez que si vous avez réinitialisé ou réparé l’appareil.
Révocation
Révocation d’un certificat (Révoquer le certificat, avec le motif Compromission de clé, Remplacé, Appareil mis hors service ou Non précisé) :
- il est marqué révoqué dans le registre,
- son empreinte est ajoutée à l’ensemble de révocation de la passerelle, et l’appareil est déconnecté immédiatement, sur chaque nœud de passerelle,
- il figure dans la prochaine liste de révocation.
« L’appareil est déconnecté immédiatement et ne peut plus se connecter avec ce certificat. Cette action est irréversible. » Pour confirmer, vous saisissez le numéro de série de l’appareil.
Chaque CA émettrice publie une liste de révocation de certificats (CRL) signée, renouvelée régulièrement et valable 7 jours. Hermetry est alerté si une liste n’est pas renouvelée à temps.
Renouvellement des CA émettrices
Une CA émettrice émet pour 24 mois au maximum, puis une nouvelle prend le relais. L’ancienne CA continue de publier des listes de révocation jusqu’à l’expiration de son dernier certificat. Les appareils font confiance à la racine, donc un renouvellement ne nécessite aucune modification sur les appareils.
Certificats provenant d’autres autorités
Le téléversement de votre propre CA pour des appareils tiers n’est pas disponible. Les appareils tiers utilisent des jetons d’accès ou un nom d’utilisateur et un mot de passe MQTT. Voir Identifiants d’appareils.
Audit
Les révocations, demandes de renouvellement, demandes de récupération et approbations, ainsi que les transferts de certificats, sont inscrits dans le journal d’audit (iot_pki.certificate.revoked, iot_pki.certificate.renewal_requested, iot_pki.recovery.requested, iot_pki.recovery.approved). Voir Ce qui est audité.

