Sécurité

Modèle de sécurité des consignes à colis

Objectif : même avec le contrôle total du cloud, c'est-à-dire du serveur, de la base de données et d'un compte administrateur, personne ne peut ouvrir un casier occupé. La consigne vérifie elle-même chaque ouverture, sans connexion internet.

Qui peut ouvrir un casier, et avec quoi

La consigne ne fait confiance qu'aux clés de son fichier de confiance, copié lors de l'installation et jamais transmis par le cloud. La clé racine de l'exploitant est conservée hors ligne.

01

Destinataire

Code à 6 chiffres ou QR code sur le téléphone. La consigne compare des empreintes HMAC. Le code est défini au dépôt du colis et ne change plus ensuite.

02

Expéditeur

Code à 8 chiffres. Il n'ouvre que des casiers libres.

03

Dépôt par le livreur

Jeton QR signé par la clé du cloud. Un dépôt n'ouvre que des casiers vides et ne peut pas modifier un colis déjà présent.

04

Retrait par le livreur

Jeton QR signé par la clé d'appareil du transporteur, certifiée par la clé racine de l'exploitant. Le cloud ne peut pas le falsifier.

05

Technicien

Jeton de service signé par une clé d'appareil de technicien certifiée.

06

Support, ouverture à distance

Passkey de l'exploitant et code affiché sur l'écran de la consigne. Sans ce code, il faut deux personnes distinctes avec deux clés distinctes. 3 ouvertures par heure au maximum.

RS485

Surveillance du bus de serrures

La plupart des cartes de serrures n'authentifient pas les commandes. Toute personne qui accède aux fils RS485 peut ouvrir des casiers avec un adaptateur bon marché. La consigne est le seul maître légitime sur la ligne. Elle considère donc comme suspect tout ce qu'elle n'a pas demandé.

  • Panneau de service ouvertLe contact du panneau signale une ouverture et aucun jeton de service n'a été utilisé au cours des 30 dernières minutes.
  • Trafic étrangerDes octets circulent sur la ligne alors que la consigne n'a envoyé aucune requête, ou des réponses arrivent à des requêtes qu'elle n'a jamais émises.
  • Parasites3 réponses corrompues ou plus en une minute.
  • Relais intercalé5 réponses consécutives plus lentes que 3 fois le temps normal plus 25 ms.
  • Casier forcéUn capteur de porte indique une ouverture alors que la consigne n'a pas ouvert ce casier dans la dernière minute.
  • Câble coupéToutes les cartes qui répondaient se taisent simultanément. L'événement liste les casiers contenant des colis.

Ce qui se passe ensuite

Le colis d'un casier forcé est bloqué : son code ne fonctionne plus et le casier reste occupé jusqu'au retrait par un livreur. Après un trafic étranger ou un casier forcé, la consigne coupe les bobines que les cartes maintiennent alimentées. Le cloud ouvre une alerte d'intrusion ou d'anomalie et envoie un webhook. Tout cela fonctionne avec les cartes existantes.

Les limites de la surveillance

La surveillance détecte une attaque, elle ne l'empêche pas. Au-delà d'un câble coupé, la consigne ne voit plus rien tant que la liaison n'est pas rétablie. Sans contact de panneau, l'ouverture du panneau passe inaperçue. Seule une carte qui vérifie la signature des commandes peut bloquer l'attaque elle-même.

Chaque casier dispose d'un capteur. La consigne le contrôle toutes les 0,5 s par rapport à ses propres commandes.

Journal de preuves chaîné par hachage

Chaque événement de la consigne est lié au précédent par SHA-256. Le cloud vérifie la chaîne à la réception des événements et lève une alerte en cas de rupture. Aucun enregistrement ne peut être modifié ou supprimé sans que cela se voie. Le journal est ainsi exploitable comme preuve en cas de litige.

Mises à jour signées

Seule la clé de publication du fichier de confiance de la consigne peut signer une mise à jour, jamais la clé du cloud. La consigne vérifie la signature, l'empreinte SHA-256 et la taille, refuse les versions antérieures et restaure la version précédente si la nouvelle ne démarre pas.

Protections côté serveur

  • Chaque consigne se connecte en mTLS avec son propre certificat, valable pour elle seule
  • Code d'enregistrement à usage unique, valable 24 heures et stocké uniquement sous forme d'empreinte
  • Mots de passe administrateur en argon2id, rôles, contrôles CSRF et Origin, CSP
  • Après 5 échecs de connexion, le compte est verrouillé 15 minutes, par IP et par couple compte et IP
  • Clés API stockées sous forme de hash, avec périmètres et une limite de 10 requêtes par seconde
  • Webhooks en HTTPS uniquement, adresses privées bloquées à la connexion, aucune redirection
  • Les codes destinataires transmis par lien n'atteignent jamais le serveur : ils restent dans le fragment de l'URL
  • Les données de carte n'atteignent jamais notre système : le paiement s'effectue sur la page du prestataire

Les risques résiduels, sans détour

01

Codes destinataires dans le cloud

Le cloud génère les codes et envoie les SMS. Un cloud compromis pourrait donc les connaître. Chaque code ne fonctionne que sur place, à la consigne, un à la fois, avec enregistrement caméra et journal. Le clavier se verrouille après 5 erreurs. Aucune ouverture massive à distance n'est possible.

02

Attaques physiques

Un logiciel ne peut pas empêcher l'effraction d'une armoire. La surveillance du bus la détecte et les colis concernés sont bloqués.

03

Consignes d'autres fabricants

Les consignes importées depuis le cloud d'un autre fabricant sont en lecture seule et signalées comme non couvertes par ces garanties.

04

Stockage des clés

Le stockage des clés racines dans un HSM ou une carte à puce, et de la clé TLS de la consigne dans un TPM, est prévu pour les installations en production.

Audit indépendant

En novembre 2026, une revue de sécurité interne a porté sur les colis rappelés, le stockage des codes, la règle des deux personnes, les attaques par rétrogradation, le rejeu de jetons après redémarrage, l'isolation entre clients, les abus de connexion et les attaques SSRF via les webhooks. Chaque constat a été corrigé et documenté.

Testez les attaques vous-même

La consigne de démonstration intègre des outils de cambrioleur : commande d'ouverture étrangère, bruit sur la ligne, relais, câble coupé et panneau de service. Observez ce que signale la surveillance.