Le VirtualHub 2.0 avec TLS en beta

Le VirtualHub 2.0 avec TLS en beta

Nous sommes en permanence en train de faire évoluer nos produits, nos librairies de programmation, ainsi que nos outils. Cette semaine, nous allons vous parler d'une nouvelle fonctionnalité que nous venons d'ajouter au VirtualHub: le support HTTPS. Nous vous proposons même de tester cette nouveauté en utilisant la version beta du VirtualHub 2.0.




A l'heure actuelle, la communication entre nos modules et les applications qui les utilisent n'est pas chiffrée. La communication est sécurisée avec une authentification et un mot de passe, nous avons fait du reste un article sur ce sujet, mais les données des capteurs ne sont pas chiffrées. En théorie, si quelqu'un a accès à votre réseau, il peut espionner le contenu de la transaction sauf le mot de passe. En pratique, ce genre d'attaque est compliquée à mettre en place et a peu d’intérêt. Mais l'absence de support HTTPS est aussi pénalisant pour d'autres utilisations, par exemple, le VirtualHub et les YoctoHubs ne peuvent pas se connecter à certains service de cloud, car ces derniers n'acceptent que les connexions HTTPS.

Pour ces raisons, nous avons décidé d'ajouter le support HTTPS à toute notre architecture. Cette fonctionnalité va être intégrée progressivement aux différentes parties de notre écosystème. Et la première étape est le VirtualHub.

VirtualHub 2.0


Malgré le changement de version majeure, le nouveau VirtualHub 2.0 reste compatible avec tous les composants Yoctopuce. Comme d'habitude, nous avons fait attention de ne pas casser la compatibilité ascendante. En fait, de l'extérieur la version 2.0 est identique à la version 1.0, mais en interne nous avons réécrit une bonne partie du code.

La principale nouveauté est l'ajout du support SSL/TLS qui permet au VirtualHub d'accepter des connexions entrantes HTTPS. Dorénavant, le VirtualHub accepte les connexions HTTP classiques sur le port 4444 mais aussi des connexions HTTPS sur le port 4443. Vous pouvez accéder au VirtualHub de manière sécurisée et chiffrée avec votre browser à l'aide de l'URL https://myhostname:4443.

Bien sûr, ces ports sont configurables à l'aide d'options à passer sur la ligne de commande:

  • l'option -p permet de changer le port HTTP
  • l'option -P permet de changer le port HTTPS
  • l'option --no_https désactive complètement le support SSL/TLS
  • l'option --only_https force l'utilisation d'HTTPS sur toutes les connexions entrantes


Notez que pour accepter les connexion HTTPS entrantes, le VirtualHub a besoin d'un certificat SSL au format CSR et d'une clef privée. Par défaut, il cherche les fichiers .virtualHub.csr et .virtualHub.key dans le répertoire du fichier de configuration. Il est possible de changer le path de ces deux fichiers à l'aide des options -s et -k.

Note: Cette étape n'est plus nécessaire. Le VirtualHub génère automatiquement un certificat auto-signé lors du premier démarrage.
Il n'y a pas de certificat de clef privée fourni avec le VirtualHub. Si vous n'avez pas de certificat, vous pouvez créer ces deux fichiers à l'aide de la commande suivante:

openssl req -newkey rsa:2048 -nodes -x509 -days 365 -keyout .virtualhub.key -out .virtualhub.crt






Les Outgoing callbacks


Nous avons aussi ajouté le support SSL/TLS pour les connexions sortantes. Il est donc désormais possible de configurer un Outgoing callbacks sur un serveur qui requière une connexion HTTPS. Cela vous permet par exemple d'avoir une connexion sécurisée et chiffrée entre le VirtualHub et la librairie PHP.

Il est désormais possible de configurer un callback sur un serveur web qui accepte des connexions HTTPS
Il est désormais possible de configurer un callback sur un serveur web qui accepte des connexions HTTPS



Désormais, le VirtualHub peut se connecter aux services Cloud qui acceptent uniquement les connexion HTTPS, comme par exemple InfluxDB OSS v2.0.

Version beta en test


Cette nouvelle version du VirtualHub est encore très jeune et à coup sûr il reste quelques bugs. Nous avons cependant décidé de la publier en beta afin que vous puissiez déjà la tester. Pour l'instant nous ne supportons que les architecture suivantes:

  • Windows Intel 32 et 64 bits
  • Linux Intel 32 et 64 bits
  • Linux ARM 64 bits

Les versions macOS Intel et Apple Silicone devraient arriver très vite.

Vous pouvez télécharger les binaires de la version 2.0 sur la page du VirtualHub.

Si vous trouvez des bugs ou que vous avez des suggestions, n’hésitez pas à les communiquer au support (support@Yoctopuce.com).

Et le reste


Comme nous l'avons dit plus haut, il s'agit de la première étape de la migration vers le chiffrage par SSL/TLS des communications. Le support pour le chiffrement des communications dans les librairies de programmation est dans les tuyaux et devrait arriver rapidement.

La dernière pièce est le support SSL/TLS dans les YoctoHubs. Malheureusement, les CPU qui sont utilisés dans les YoctoHubs ne sont pas assez performants pour cela. Cependant, nous travaillons sur le sujet et nous devrions avoir une solution courant 2021.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.