Accueil » Dossier » Le Bluetooth, une technologie méconnue » Page 7

Le Bluetooth, une technologie méconnue

1 : Le Bluetooth, un peu d'histoire 2 : Petite introduction 3 : Les normes et les Classe 4 : Mais comment ça marche ? 5 : Trois modes de transfert 6 : La pile Bluetooth et les stacks 8 : Le Bluetooth et les Profiles 9 : Les Profiles audio 10 : Conclusion, le futur

La sécurité et le jumelage

Le Bluetooth est un protocole sécurisé à l’origine, bien plus sûr que le Wi-Fi, par exemple.

Une sécurité implicite

La première chose qui protège le Bluetooth, c’est sa portée limitée : la majorité des équipements sont des périphériques de Classe 2, dont la portée excède rarement plus de 10 mètres. Il est possible d’utiliser des antennes directionnelles, mais cette pratique est marginale bien qu’assez simple à mettre en place : il suffit de relier le dongle Bluetooth à une antenne utilisée pour améliorer les réseaux Wi-Fi, car les fréquences utilisées sont proches. La deuxième chose, c’est que les périphériques Bluetooth sont indécelables par défaut : la majorité des périphériques doivent être explicitement placés en mode détection pour être vus par d’autres appareils que ceux auxquels ils sont jumelés.

Une sécurité explicite

Bien évidemment, le protocole Bluetooth implémente différentes méthodes de sécurisation. Un périphérique Bluetooth dispose d’une adresse unique, comme l’adresse MAC des cartes réseau. Cette adresse est formée de 48 bits : les trois premiers octets identifient le fabricant (24 bits), les 3 suivants sont ceux attribués au périphérique (24 bits). De plus, chaque périphérique se voit attribuer un type : PC, téléphone, oreillette, etc.

Trois modes pour le Bluetooth

Trois modes existent, numérotés de 1 à 3. Le niveau 1 n’a ni chiffrement ni authentification. Les appareils sont en mode « de promiscuité ». Ce niveau n’est disponible qu’à partir de la version 1.1 du Bluetooth. Le niveau 2 offre une protection au niveau de l’application (sur la couche L2CAP). La connexion s’effectue, et ensuite le gestionnaire propose l’authentification du périphérique. Le niveau 3 utilise une protection au niveau du canal de communication. L’authentification s’effectue par adresse Mac et code PIN, avant la connexion proprement dite.

La norme 2.1 du Bluetooth introduit un mode supplémentaire, le niveau 4 : la connexion ne peut s’effectuer que si c’est l’appareil en mode 4 qui initialise la communication.

Le jumelage

Avec les normes antérieures à la 2.1, les appareils utilisent un code PIN pour le pairage entre deux appareils. Le pairage consiste en une procédure de connexion entre 2 appareils, pour que ceux-ci puissent communiquer. Bien que le code puisse comprendre entre 1 et 16 octets, habituellement on travaille sur 4 octets (généralement 0000).

Le protocole utilise 3 étapes pour initialiser une connexion :

Création d’une clé d’initialisation : le maître envoie un nombre aléatoire (128bits) à l’esclave. L’esclave envoie son adresse BD_ADDR (48bits). À partir de ce nombre aléatoire, de la BD_ADDR et du code PIN (entré sur les deux périphériques) une clef d’initialisation est calculée.

Création d’une clef « de lien » (Link Key) : chacun des 2 périphériques utilise la clef d’initialisation pour coder un nombre aléatoire (128bits). Les 2 nombres aléatoires obtenus sont échangés, et un algorithme permet de créer une clef de liens à partir de ces 2 nombres.

L’authentification elle-même se déroule en utilisant un quatrième nombre aléatoire : une valeur 32bits (SRES) est créée via un algorithme, elle utilise la clef de lien, le nombre aléatoire et l’adresse BD_ADDR. Les périphériques vérifient mutuellement que les valeurs SRES sont identiques.

Les problèmes de sécurité à ce niveau : Certains appareils n’ont pas de dispositifs de saisie pour le code PIN (par exemple une oreillette), donc un code est fourni automatiquement avec le périphérique, et il n’est pas modifiable. Certains constructeurs proposent un code aléatoire, indiqué dans le manuel. D’autres utilisent un code par défaut, qui est souvent 0000 ou 1234, ce qui est pose des problèmes de sécurité.

En Bluetooth 2.1

La norme 2.1 introduit une nouvelle manière d’appairer deux appareils, le « Secure Simple Pairing ».

Concrètement, les deux appareils échangent une clé publique, et créent un nombre en fonction. Si les deux périphériques sont capables d’afficher des informations (et donc s’ils sont dotés d’un écran), ils affichent le code généré. L’utilisateur doit simplement accepter la connexion si les deux nombres sont identiques. Sur les appareils ne disposant pas d’un écran (une oreillette, par exemple), l’utilisateur doit simplement accepter la connexion, sans devoir taper un code PIN.

L’avantage au niveau de l’utilisation est évident, il n’y a plus de code PIN à taper pour l’utilisateur. Pour la sécurité, le Secure Simple Pairing est mieux sécurisé à la base, et le problème des appareils avec un code fixe et connu (le classique 0000 des oreillettes) disparaît.

Sommaire :

  1. Le Bluetooth, un peu d'histoire
  2. Petite introduction
  3. Les normes et les Classe
  4. Mais comment ça marche ?
  5. Trois modes de transfert
  6. La pile Bluetooth et les stacks
  7. La sécurité et le jumelage
  8. Le Bluetooth et les Profiles
  9. Les Profiles audio
  10. Conclusion, le futur