Deux ingénieurs de Google viennent de présenter une proposition de standard Web baptisé WebUSB dont l’objectif serait de permettre aux pages Web de dialoguer directement avec les périphériques USB connectés à l’ordinateur. L’idée peut sembler incongrue au premier abord, mais se révèle plutôt intéressante.
Pour de nouveaux usages
Prenons l’exemple de l’impression 3D. Aujourd’hui, un utilisateur peut se connecter sur une multitude de places de marché en ligne pour récupérer des plans, mais ces sites ne lui permettent pas d’imprimer directement ces objets virtuels par un bouton ou un « Ctrl-P », comme on peut le faire avec un document Word par exemple.
Intégrée dans le navigateur web, l’interface de programmation WebUSB permettrait à l’imprimante 3D d’exposer aux sites Web les fonctionnalités disponibles (imprimer en occurrence) et, le cas échéant, de recevoir les commandes correspondantes. Pratique.
Deux mécanismes de sécurité
Mais quid de la sécurité ? En effet, l’œil aiguisé du pirate verra dans une telle architecture un potentiel énorme. Plus besoin de passer par des failles de sécurité ou l’installation de chevaux de Troie pour piloter à distance un périphérique USB. Quelques lignes en JavaScript sur une page Web suffiraient. Evidemment, les deux ingénieurs ont réfléchi à ce problème et proposent deux mécanismes de protection.
D’une part, une page Web ne pourra pas scanner d’emblée les périphériques USB connectés à l’ordinateur. Elle devra avoir l’autorisation expresse de l’utilisateur pour pouvoir détecter la présence d’un périphérique et, le cas échéant, s’y connecter.
D’autre part, il sera possible de définir au niveau des périphériques des listes blanches pour qu’ils ne puissent se connecter que sur certains sites web autorisés. Dans le cas d’une imprimante 3D MakerBot, cette liste référencerait au minimum le domaine d’une place de marché pour accéder aux données 3D (www.thingiverse.com, par exemple) et celui du constructeur pour récupérer le « driver JavaScript » (api.makerbot.com par exemple).
Transfert de code
Plus concrètement, la place de marché intègrerait sur sa page Web un iframe caché qui viendrait chercher sur le site de MakerBot le code JavaScript lui permettant d’accéder aux fonctionnalités de l’imprimante. Quand l’utilisateur cliquerait sur le bouton « Imprimer », la place de marché utiliserait le code JavaScript correspondant et l’enverrait, via l’iframe, à l’interface WebUSB du navigateur. Celle-ci se chargerait ensuite de l’interpréter et de transférer la commande correspondante au driver de l’imprimante.
Pour l’instant, évidemment, tout ceci n’est que de la théorie. Pour voir le jour, WebUSB devrait d’abord être accepté par le consortium W3C. Pour l’instant, cette technologie n’a même pas encore le statut officiel de proposition.
Tous les détails techniques de WebUSB sont disponibles sur le site GitHub.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.