WebRTC : introduction et modèle de sécurité

Dans les années à venir le WebRTC pourrait s’imposer comme le nouveau blockbuster en matière de communications unifiées sur Internet. Le WebRTC (pour Real Time Communication) va permettre aux navigateurs web de gérer de façon native, sans plugin ou applications à installer, des flux voix, vidéo, etc en Peer to Peer !

Pour l’instant limité à Chrome, Opera et Firefox (pour ne parler que des blockbusters) le WebRTC, si son succès se confirme, sera sans doute un nouveau challenge pour le monde de la sécurité.

Le but de cet article est de faire une rapide introduction non technique à WebRTC  et d’en présenter le modèle de sécurité.

WebRTC  qu’est-ce que c’est ?

Le WebRTC  à l’origine développé en HTML5 est en cours de standardisation par le W3C et l’IETF sous la forme d’une API JavaScript. Cette API dote le navigateur internet d’un terminal multimédia intégré supportant l’ensemble des flux : vidéo, audio, chat, transfert de fichier, partage d’écrans etc. Et comme le WebRTC  est indépendant par rapport à la plateforme ou au type d’équipement (PC, tablette, smartphones etc) il sera possible de communiquer nativement urbi et orbi.

Le but de l’API étant de permettre à des navigateurs différents d’utiliser des fonctions de communications temps réels en Peer to Peer, elle contient :

  • Une composante voix
  • Une composante vidéo
  • Un composant transport

Schéma de la Webrtc.org

Cependant même si le Web RTC a été développé pour la communication Peer to Peer il ne permet pas de s’affranchir d’un serveur, qui fournira les services, et d’un système d’échange de signalisation. Cette partie est assurée par le Websocket protocole de transport définit en HTML5.

Les codecs voix/vidéo supportés sont nombreux. Les principaux sont le G.711 et OPUS pour la voix et  VP8 pour la vidéo. Il y a aujourd’hui des débats sur le support du codec vidéo H264 pour que celui-ci soit supporté nativement par WebRTC.

Même s’il faut garder en tête que le WebRTC  est en cours de développement et qu’à ce jour les usages sont encore balbutiants, l’adoption pourrait être très rapide et les aspects de sécurité sont au cœur des débats.

Le WebRTC se base sur plusieurs principes pour assurer la sécurité des échanges:

  • Le chiffrement obligatoire pour tous les flux media du WebRTC. Pour cela WebRTC utilise des protocoles sécurisés tels que DTLS et SRTP. Le schéma ci-dessous (emprunté à Cisco) le démontre.

  • Rappelons que WebRTC n'est pas un plugin supplémentaire ajouté à un navigateur. Les composants WebRTC  font partie intégrante du navigateur. Ils sont donc mis à jour chaque fois que le navigateur est à jour. Il y a donc une gestion centralisée des mises à jour et non une gestion au cas par cas comme pour les plugins.
  • Les composants du RTC s'exécutent dans la Sandbox du navigateur et non dans des processus séparés.
  • Les accès à la Web Cam et au micro doivent être validés par l’utilisateur quand un interlocuteur le demande. De même lorsque la caméra ou le microphone sont en cours d'exécution, cela est clairement indiqué par l'interface utilisateur. Ceci pour éviter les enregistrements à l’insu de l’utilisateur comme dans les exemples ci-dessous

Demande de partage

Partage en cours

Voilà, le décor est planté il ne reste plus qu’à examiner dans un second volet les menaces qui pèsent d’ors et déjà sur le WebRTC !

Philippe, qui remercie Franck L’HEREEC pour sa relecture.

Crédit photo : © Julien Eichinger - Fotolia.com

Philippe Macia

Après un passé de formateur, d’opérationnel IT, d’avant-vente technique et de responsable service client, j’ai rejoint l’équipe sécurité d’Orange Business en tant que chef de produit. Je suis très attaché à l’expérience utilisateur et à la simplicité d’administration des solutions que nous créons. Mes maîtres mots : partage du savoir, logique, pragmatisme et simplicité.