Introduction

Le protocole UniFi inform est utilisé par les appareils UniFi pour se connecter à leur contrôleur. Le paquet contient des informations sur l'appareil, telles que son adresse MAC, et est chiffré à l'aide de l'algorithme AES-128-CBC. Cependant, les 40 premiers octets du paquet sont non chiffrés, ce qui permet de lire l'adresse MAC de l'appareil.

Contexte Technique

Le protocole inform est utilisé par les appareils UniFi pour se connecter à leur contrôleur sur le port 8080. Le paquet contient des informations sur l'appareil, telles que son adresse MAC, des flags, des informations de version et la longueur du payload chiffré. Les 40 premiers octets du paquet sont non chiffrés, ce qui permet de lire l'adresse MAC de l'appareil.

La structure du paquet est la suivante : les 4 premiers octets sont la signature « TNBU », les 4 octets suivants sont la version du paquet, les 6 octets suivants sont l'adresse MAC de l'appareil, les 2 octets suivants sont des flags, les 2 octets suivants sont la longueur de l'IV AES, les 16 octets suivants sont l'IV AES, les 4 octets suivants sont la version des données et les 4 octets suivants sont la longueur du payload chiffré.

Analyse et Implications

La possibilité de lire l'adresse MAC de l'appareil dans le paquet non chiffré permet de mettre en place un système de routage multi-locataire pour les contrôleurs UniFi. En effet, il est possible de créer un proxy qui lit l'adresse MAC de l'appareil et achemine le paquet vers le contrôleur approprié.

Cela permet de réduire les coûts liés à la mise en place de plusieurs contrôleurs UniFi, car il n'est plus nécessaire d'avoir un contrôleur dédié par locataire. Le proxy peut être mis en place à l'aide d'un langage de programmation tel que Go, et peut être configuré pour acheminer les paquets vers les contrôleurs appropriés en fonction de l'adresse MAC de l'appareil.

Perspective

La possibilité de mettre en place un système de routage multi-locataire pour les contrôleurs UniFi ouvre de nouvelles perspectives pour les fournisseurs de services de mise en réseau. En effet, il est maintenant possible de proposer des services de contrôleurs UniFi à plusieurs locataires sans avoir à mettre en place plusieurs contrôleurs dédiés.

Cependant, il est important de noter que cette fonctionnalité n'a pas été conçue par Ubiquiti pour être utilisée de cette manière. La présence de l'adresse MAC de l'appareil dans le paquet non chiffré est une nécessité technique pour permettre au contrôleur de décrypter le paquet, et non une fonctionnalité conçue pour permettre la mise en place de systèmes de routage multi-locataires.