Noeuds sécurisés et effets sur le maillage
Quatrième article dans la série sur la sécurité dans le protocole Z-Wave, cette fois je vais aborder le maillage.
Nous avons déjà abordé:
- Les classes de commandes sécurités du protocole Z-Wave.
- Comment modifier la clé réseau par défaut avec une clé privée unique.
- Comment procéder à des inclusions en mode sécurisé.
Mais quelle influence ces inclusions sécurisées ont-elles sur le maillage réseau ? C’est ce que nous allons découvrir ensemble.
Module sécurisés et non sécurisé quel effet sur le maillage?
Ces questions sont très souvent posées :
- Que devient-il du maillage réseau si j’ai des modules inclus en mode sécurisé et d’autres en non sécurisé ?
- Les modules non sécurisés sont-ils capables de relayer les messages aux modules sécurisés ?
- Est-il préférable d’avoir 2 réseaux distincts selon leur mode d’inclusion ?
Les réponses…
Le maillage se fait très bien, du moment que les modules en charge du maillage ont la capacité appelée «routing » (à savoir que le nœud a la capacité de routage), ce qui signifie qu’il est capable de faire passer des commandes à d’autres nœuds.
La limitation dans le maillage reste qu’il ne faut pas dépasser un maximum de 4 sauts.
Tous les nœuds d’un réseau Zwave avec la capacité de routage fonctionnent comme un relais / amplificateur de portée.
Un nœud avec la capacité de routage relaie tout trafic Zwave qui ne lui est pas destiné sur le prochain nœud qu’il soit sécurisé ou non.
Pour vérifier si un module supporte la capacité de routage, il faut simplement aller dans l’onglet résumé du nœud.
La mention « Le nœud a des capacités de routage (capable de faire passer des commandes à d’autres nœuds) » sera présente dans la section Informations Protocole.
C’est la section qu’on ne regarde jamais dans le résumé du module. Les modules secteurs devraient tous avoir cette capacité en principe.
Le protocole ZWave gère les transmissions sur l’ensemble des destinations du réseau. Lorsque nécessaire, des nœuds sont utilisés comme répéteurs. C’est ce qu’on appelle le routage. Lors de l’inclusion au réseau, le contrôleur principal demande au nouveau nœud de découvrir ses voisins.
Grâce aux informations sur les nœuds voisins, le contrôleur principal construit une carte de réseau. Avec cette carte, il connaît les différentes routes possibles pour atteindre tous les autres nœuds.
Lors de l’utilisation de répéteurs pour atteindre une destination, le nœud va inclure, dans l’envoi de la trame réseau, les informations d’itinéraire (la route à emprunter). Chaque répéteur analyse ensuite ces informations de routage et transmet la trame réseau en conséquence.
Pour faire simple et revenir sur ce questionnement, le module reçoit une trame avec un message dont le contenu est chiffré ou non, il va simplement se contenter de le retransmettre plus loin. Il n’a, ni à le lire, ni à l’interpréter, le contenu de ce message comme le message ne lui est pas destiné.
Il n’est pas nécessaire d’avoir deux réseaux selon le mode de sécurité utilisé en ce qui concerne le maillage réseau. D’autres contraintes pourraient évidemment le justifier.
Lorsqu’on fait des recherches sur la problématique du maillage dans un réseau mixte (nœuds sécurisés et non sécurisés), on trouve des informations contradictoires.
J’avais certaines convictions sur la réponse, mais je souhaitais des preuves. J’ai donc décidé de faire un laboratoire pour valider cette théorie.
Laboratoire maillage mixte
Pour valider et prouver, qu’un module ayant la capacité de routage participe au maillage réseau aussi pour des modules sécurisés, j’ai préparé un petit laboratoire. Il est composé d’un mixte de modules sécurisés et non sécurisés.
Je veux faire fonctionner une serrure de porte qui requiert des commandes passées obligatoirement en mode sécurisé afin de fonctionner.
La serrure doit être suffisamment éloignée du contrôleur principal afin qu’elle requiert un répéteur de signal pour rejoindre le contrôleur.
Mise en scène
J’ai donc déplacé la serrure de porte, un Danalock V2, hors portée réseau du contrôleur principal puis ajouter un module ayant la capacité de routage afin qu’il participe au maillage.
Voici l’inventaire des modules utilisés:
Node Id | Description | Sécurisé | Emplacement |
1 | Z-Stick Lite Gen5 (ZW092) | non | Bureau à l’étage |
26 | Keyfob (MT2653) | oui | Rez |
27 | Dual Nano Switch (ZW140) | non | Escalier |
229 | Danalock V2 BTZE | oui | Cuisine au Rez |
Visuellement le graphique réseau donne:
On peut constater que la seule route entre le contrôleur et la serrure passe par le nœud 27.
D’autres modules sur pile sont aussi présents mais ils n’entrent pas en jeu dans le maillage réseau c’est pour cette raison que je ne vais pas m’y attarder.
La télécommande keyfob sera, elle, utilisée en association directe et elle non plus ne participe pas au maillage.
On voit encore plus facilement via l’écran de santé que le nœud 27 est leur seul module secteur sur ce réseau.
Je vous rassure tout de suite que ce n’est pas mon réseau de production, c’est un de mes réseaux de développement, sinon mes belles théories de 2/3 secteur partiraient en fumée!
Avec la table réseau, on peut encore une fois constater que la serrure doit faire un seul saut pour rejoindre le contrôleur et que seulement le nœud 27 est en communication directe avec les modules de notre essai.
Détails des modules
on commence par le contrôleur principal:
Le contrôleur n’est vraiment pas en lien direct avec le 229, la serrure. Les plus observateurs ont remarqué qu’il s’agit d’un Z-Stick Lite GEN5 ZW092.
La version Lite est une version sans la batterie interne. Il n’est pas possible de l’utiliser pour faire des inclusions hors Jeedom. Ce module n’a jamais été rendu public pour la vente sauf erreur.
On poursuit avec notre module qui va servir de répéteur:
Le répéteur voit bien le contrôleur ainsi que la serrure. Il n’a pas été inclus en mode sécurisé. On peut voir qu’il a la capacité de routage, ce qui n’est pas étonnant pour un module secteur.
Ce module n’est pas encore disponible, ni 100% compatible d’ailleurs. Il fait partie de la gamme des nano modules de chez Aeotec. Mais pour son emploi dans le test, il fera très bien l’affaire.
Et pour finir, la serrure, une Danalock 2ème génération:
La serrure est bien en mode sécurisé et ne voit que le module 27 soit le Nano Switch.
Place aux tests
Via le dashboard de jeedom, je demande de verrouiller la serrure Danalock. Dans la seconde qui suit, la serrure Danalock change son état pour passer en Locked. Jeedom reçoit bien le retour d’état et le Dashboard est bien mit à jour.
Je déverrouille, même topo, la serrure Danalock exécute à la seconde la commande. Jeedom reçoit toujours son retour d’état.
Ces commandes requièrent obligatoirement d’être transmises en mode sécurisé. Elles peuvent donc bel et bien bénéficier du maillage réseau à travers de modules étant non sécurisés.
J’ai donc répété à plusieurs reprises les actions de verrouillage et déverrouillage de la serrure Danalock, sans jamais constater de raté.
Pour être certain que c’est bien mon nœud 27 qui permet de routage, je l’ai simplement débranché. Par la suite, j’ai testé à nouveau les commandes sur la serrure. Cette fois aucune commande ne s’est exécutée.
J’ai validé avec une télécommande keyfob que je pouvais toujours agir en association directe. Les résultats ont encore une fois été concluants.
Les commandes se sont effectuées en association directe sans intervention de Jeedom. La télécommande, elle aussi, était en mode de communication sécurisée.
Lors d’utilisation d’associations directes, il faut que le module source soit au moins sur le même niveau de sécurité ou plus grand. Pour plus de détail, je vous recommande de lire mon article sur les associations directes.
J’ai, en dernier lieu, toujours avec le relais débranché, rapproché la serrure du contrôleur principal pour m’assurer que les commandes passent toujours, comme les routes initialement définies ne sont plus respectées du fait d’avoir débranché le relais. Là encore avec succès les commandes passent sans problème.
Si j’éloigne suffisamment : à nouveau plus de réaction, ce qui est encore normal.
En rebranchant le relais, tout repart comme avant avec réaction dans la seconde.
Conclusion
Je pense c’est un cas de figure plutôt révélateur, à savoir que la serrure Danalock ne peut fonctionner que si elle reçoit des commandes sécurisées.
Tous les nœuds participent au routage, qu’ils soient sécurisés ou non sécurisés. Pour toute communication sécurisée, les messages sécurisés sont déchiffrés seulement à la destination finale.
Les informations de routage seront relayées normalement sans aucun problème même si un module non sécurisé répète un message sécurisé au nœud suivant.
J’espère que ces explications vous seront utiles, pour ma part j’ai eu beaucoup de plaisir à faire les différentes recherches et expérimentations pour mener à bien cet article.
Excellent article comme d’habitude.
Merci!
Merci ça fait un moment que je souhaitais clarifier cette information
Merci beaucoup pour ton tuto.
Comme beaucoup, je croyais qu’il existait deux maillages selon que les modules soient sécurisés ou non
Ce qui n’est clairement pas le cas
Avec plaisir, oui il y a beaucoup d’informations contradictoires à ce sujet. La première fois que j’avais lue la théorie des 2 réseaux j’avais beaucoup de mal à le croire. J’aurais dû faire la démonstration bien avant.
Bonne suite et merci du commentaire.
merci beaucoup pour les infos. Il est vrai que ce point n’etait jamais vraiment trés clair, là au moins il n’y a plus de doutes !
Super instructif, merci
Merci, j’en ai aussi tiré beaucoup de plaisir à réaliser et comprendre le tout.
Salut Nechry et merci pour toutes ces precisions. Une question néanmoins : quid des associations et quel impact avec les module securisé de ceux qui ne le sont pas ? J’ai l’impression que sur mon mon maillage les associations fonctionnent au bonheur la chance..
La limitation est bien coté association comme déjà expliqué dans le tout premier article sur les associations directes. Un module non sécurisé ne peut commander un sécurisé et vice versa, sauf exception de module sécurisé que l’on peut choisir d’envoyer des message en non sécurisé par groupe.
Il ne faut pas confondre maillage et association, c’est deux notions différente.
Déjà dit je sais mais…bravo. Super explication, et bon protocole pour le test.
Merci beaucoup pour tes articles.
Avec plaisir