60
Préparé par : Med Zakaria Boujadi 1

Bluetooth.pps

Embed Size (px)

Citation preview

Page 1: Bluetooth.pps

Préparé par : Med Zakaria Boujadi

1

Page 2: Bluetooth.pps

La technologie sans fil Bluetooth est un système de communication à courte portée (RF)

Conçu pour remplacer les câbles utilisés auparavant afin de relier les périphériques portables et/ou les périphériques électroniques fixes.

Le système principal Bluetooth comporte un émetteur-récepteur RF, une bande de base et une pile protocolaire. Il offre des services qui permettent de relier des périphériques qui peuvent ensuite échanger différentes classes de données.

Caractéristiques

◦ Robustesse ◦ Faible consommation d'énergie◦ Faible coût ◦ Interopérabilité totale sans intervention de l’utilisateur

◦ Possibilité d’accéder à des réseaux locaux (LANs) ou de réaliser des picoréseaux (piconets)

2

Page 3: Bluetooth.pps

Origine de l’appellation

Bluetooth est le nom d'un chef Viking du nord : Harald Blaatand ("Harald la dent bleue"). Celui-ci réussit l'exploit d'unifier au sein d'un même royaume le Danemark et la Norvège, à l'époque où l'Europe était divisée par des querelles de religions et de territoires.

Partenaires du projet◦ Ericsson, initiateur du projet en 1994, et rejoint rapidement en

1998 par IBM, Intel, Nokia et Toshiba.

◦ De nombreuses sociétés ont rejoint le Bluetooth Special Interest Group (SIG) qui est aujourd'hui composé de plus de 2400 constructeurs, dont 3 Com, Motorola et Microsoft.

3

Page 4: Bluetooth.pps

Déposé comme standard à l’IEEE : norme 802.15 qui est découpée en 4 sous-standards :

802.15.1 : standard déposé et publié à l’aide du groupe Bluetooth, débit de 1Mbit/sec Wireless PAN, Bluetooth v1.x

802.15.2 : recommandations liées à l’utilisation de la bande de fréquence 2,4 GHz, standard non encore validé

802.15.3 : travail en cours sur le haut débit avec la technologie Bluetooth avec des débits allant à plus de 20 Mb/s pour une utilisation multimédia

802.15.4 : travail en cours sur le bas débit avec la technologie Bluetooth

4

Page 5: Bluetooth.pps

La norme 802.15 définit les WPAN

Spécifications :

◦ Faible portée◦ Faible consommation◦ Faible coût◦ Réseaux réduits◦ Communication de périphériques dans un espace

personnel réduit (Personal Operating Space)

5

Page 6: Bluetooth.pps

◦ Bande ISM (Industrial, Scientific & Medical) : 2,4 GHz à un débit maximal de 1 Mbits/s

◦ Etalement de spectre par saut de fréquence (Frequency Hopping Spread Spectrum) : divise la bande en 79 canaux (2.402 – 2.480 GHz)

◦ Changement de canal de façon pseudo-aléatoire, déterminée par le maître

◦ 8 périphériques par piconet (1 maître et 7 esclaves)

◦ Piconets combinés en Scatternets

6

Page 7: Bluetooth.pps

7

Page 8: Bluetooth.pps

Le transport de données en Bluetooth utilise une architecture en couches. Les deux premières couches correspondent au niveau le plus bas de la transmission. La couche physique s’occupe du transfert des bits par modulation de fréquence, des sauts de fréquence, de la détection, etc. La couche logique, séparée en deux couches lien et transport, distingue quant à elle un lien logique utilisé pour des transports indépendants entre deux ou plusieurs périphériques.

8

Page 9: Bluetooth.pps

Cette partie du protocole Bluetooth prend en charge la partie matérielle de la transmission. La couche physique rassemble deux couches, la couche RF et la couche bande de base.

La couche RF (Radio Frequency) La couche Bande de Base

9

Page 10: Bluetooth.pps

La couche RF est la plus basse. C’est à son niveau que les flux de données sont transformés afin d’être émis sur le support de transmission et les fréquences reçues transformées en bits.

Concrètement, la technologie Bluetooth utilise, pour la transmission sur courtes distances, les ondes radio de la bande des 2.4 GHz. Pour améliorer les transmissions, elle utilise des sauts entre 79 fréquences différentes dans sa bande de fréquence (2.4 à 2.4835 GHz) grâce à la technique FHSS (Frequency Hopping Spread Spectrum) et engage ainsi jusqu’à 1600 échanges par seconde en full-duplex.

Les 79 canaux RF sont numérotés de 0 à 78 et séparés par 1 MHz en commençant par 2 402 GHz.

Afin de respecter la réglementation hors-bande dans chaque comté, une bande de garde est mise en place aux extrémités inférieure et supérieure de la bande.

Plage réglementaire Canaux RF

2 400 - 2 483,5 GHz f=+k MHz, k=0,…,78

Bande de garde inférieure Bande de garde supérieure

2 MHz 3,5 MHz

10

Page 11: Bluetooth.pps

Les techniques de modulation varient en fonction de la norme employée. ◦ Dans la norme de base, Basic Rate pour le Bluetooth version 1.x, les débits autorisés sont de 1 Mbit/s en

modulation GFSK (Gaussian Frequency Shift Keying). ◦ Avec les dernières améliorations de Bluetooth en version 2.x + EDR (pour Enhanced Data Rate), en

modulation π/4 DQPSK, les débits atteignent 2 Mbit/s et 3 Mbit/s en modulation 8DPSK.

Les portées sont fonction de la classe (liées à la taille et la puissance du matériel), de 10 mètres pour les périphériques de classe II (émetteur de 2.5 mW) à 100 mètres pour les périphériques de classe I (émetteur de 100 mW).

Classe Puissance (Atténuation en dBm) Portée

3 1 mW (0dBm)  <= 10 mètres

2 2,5 mW (4dBm) 10 à 20 mètres

1 100 mW (20dBm) 100 mètres

11

Page 12: Bluetooth.pps

Les modulations fondamentales Aucune modulation

Est-il possible de transmettre un signal audio par onde hertzienne sans modulations ?

Les ondes sonores seraient alors converties en ondes radio de même fréquence. Nous irions au-devant de plusieurs problèmes : les fréquences sonores s’étaleraient de 20 Hz à 20 KHz, les ondes radio basse fréquence seraient très difficiles à produire et à capter et surtout toutes les émissions radio utiliseraient les mêmes bandes de fréquence (de 20 Hz à 20 KHz). Ce serait la cacophonie.

Modulation d’amplitude

Pour résoudre ce problème, on utilise la modulation d’amplitude. On émet une onde radio de fréquence fixe, appelée porteuse, dont on module l’amplitude en fonction de l’onde sonore. Ce n’est possible que si l’onde porteuse a une fréquence bien plus élevée que l’onde source (loi de Shannon Fe <= 2 Fmax). L’avantage est que l’on peut alors choisir les différentes fréquences des signaux porteurs (en faisant bien attention que les fréquences ne se chevauchent pas). C’est ce qu’on appelle le multiplexage fréquentiel ; il permet d’émettre plusieurs émissions en même temps sur des fréquences différentes. Le récepteur n’a plus qu’à sélectionner un canal (la fréquence d’une des porteuses) et à démoduler le signal pour écouter son émission. C’est ce qu’on fait lorsque nous choisissons une radio AM (Amplitude Modulation) sur la radio.

Modulation de fréquence

C’est la modulation utilisée par les radios FM. L’amplitude de l’onde radio émise ne change pas, c’est la fréquence de l’onde porteuse qui est modulée de façon proportionnelle par rapport au signal source. Le même système de multiplexage fréquentiel permet d’émettre plusieurs émissions simultanées sur plusieurs fréquences et de recevoir une émission précise en choisissant sa porteuse de réception.

Modulation de phase

La phase d’une onde représente sa position dans le temps. Le signal émis aura donc une amplitude et une fréquence toujours identiques. Cependant, on modulera la phase de l’onde en fonction du signal source.

12

Page 13: Bluetooth.pps

Modulation simple ASK, FSK et PSK

Lorsque l’on veut transmettre des informations numériques comme en Bluetooth (des 0 et des 1), on peut utiliser les modulations AM, FM ou PM. On parle alors de codage (Keying).◦ Pour l’AM, on choisira deux amplitudes, une pour les 0, l’autre pour les 1 : l’ASK (Amplitude-Shift Keying) codage par décalage

d’amplitude, très sensible aux bruits et interférences.

◦ Pour la FM, on émettra une fréquence élevée pour les 0 et une autre beaucoup plus faible pour les 1 : FSK (Frequency-Shift Keying), c’est la technique utilisée par le wifi.

◦ Pour la PM : pas de changement de phase (0°) indiquera les 0, et un changement de phase (180°) les 1.

Modulation différentielles : DPSK (Differencial Phase Shift-Keying)

Dans cette technique, on ne prend pas les valeurs absolues des changements de phase mais la variation par rapport aux messages précédemment reçus. Aucun changement de phase signifie 0 et un changement de 180 ° signifie 1. On peut appliquer la même logique à l’ASK et au FSK.

L’avantage est qu’elles sont plus simples à mettre en œuvre que les systèmes absolus car le récepteur peut se calibrer à tout instant sur le signal. En revanche, elles sont souvent moins performantes en environnement bruyant.

Symboles à bits multiples : QPSK, QAM...

Pour améliorer le débit avec le PSK, on va non plus coder 1 bit pour un changement de phase mais 2 à la fois. Il nous faudra alors choisir 4 valeurs de phases différentes qui coderont chacune un groupe de 2 bits appelé alors symbole. (00 = 0° ; 01 = 90°, 10 = 180°, 11 = 270°) Ce qui double naturellement le débit. Cette technique s’appelle le QPSK ou 4 PSK (Quadrature PSK).

On peut aller encore plus loin en combinant le PSK et la modulation d’amplitude pour coder encore plus de bits d’information composant un symbole. C’est la technique du QAM (Quadrature Amplitude Modulation). Par exemple, avec un QPSK (à 4 phases possibles) et 2 amplitudes possibles pour chaque phase, on aura 8 combinaisons possibles et des symboles à 3 bits (23=8). Méthode nommée 8QAM. Le wifi, lui, utilise la méthode du 16QAM (12 phases possibles dont quatre pour lesquelles deux amplitudes sont possibles) avec 4 bits par symbole. On peut trouver du 64QAM avec 6 bits par symbole. Le QAM requiert un matériel sophistiqué.

13

Page 14: Bluetooth.pps

GFSK : Filtre gaussien

La technique du filtre gaussien consiste à lisser le signal source ce qui permet de diminuer les harmoniques des fréquences émises afin de diminuer considérablement les interférences d’un canal avec ses voisins : GFSK. C’est la modulation utilisée par le Bluetooth en version 1.x.

π/4 DQPSK

Dernière version de la modulation QPSK. On choisit 8 valeurs de phase pour représenter les symboles. En réalité, deux diagrammes de phase sont superposés, l’un des deux ayant subit une rotation de 45°, π/4 étant l’amplitude de fluctuations de l’une à l’autre. Le débit pour le Bluetooth atteint ainsi 2 Mbit/s

8DPSK

Dans cette modulation, la plus complexe des modulations PSK utilisée, on choisit toujours 8 valeurs de phase mais chaque symbole code 3 bits. D’où un débit augmenté. En Bluetooth, le débit atteint 3 Mbit/s.

14

Page 15: Bluetooth.pps

Le principe est assez simple : une large bande de fréquence est divisée en de multiples canaux et les communications se font en sautant successivement d’un canal à un autre, selon une séquence et un rythme convenus à l’avance entre l’émetteur et le récepteur

Dans cette technique, la bande de fréquence des 2.4 GHz (2.400 GHz à 2.4835 GHz) est découpée en canaux de 1 MHz de largeur chacun. En France, les canaux 2 à 80 sont autorisés (2401 MHz à 2480 MHz), d’où les 79 fréquences possibles. Au sein de chaque canal, la modulation gaussienne FSK à deux états (2GFSK) est utilisée et permet un débit de 1 Mb/s par canal. En utilisant π/4 DQPSK, on atteint 2 Mb/s et 3Mb/s en 8DPSK.

Un récepteur qui entre sur le réseau se synchronise avec l’émetteur en recevant une trame balise lui indiquant la séquence des sauts et leur durée. Leur conversation peut ensuite continuer.

Cette technique est très résistante aux interférences car un sous-canal pour lequel le signal est mauvais va pouvoir être évité afin de n’utiliser que ceux dont la réception est optimale. L’autre avantage est qu’on peut avoir plusieurs communications simultanées sur les mêmes canaux tant que leurs séquences ne tombent par sur le même sous-canal à un moment donné. C’est pour cela que les séquences sont prédéfinies.

‣ La version 802.11 FHSS n’est pratiquement plus utilisée pour le wifi. En revanche le Bluetooth l’utilise dans à peu près les mêmes fréquences. C’est pourquoi il peut brouiller le wifi.

15

Page 16: Bluetooth.pps

Cette couche prend en charge la communication entre les appareils en gérant différents types de liaisons et leur attribue une adresse nommée BD_ADDR (Bluetooth Device Adress) codée sur 48 bits équivalente de l’adresse MAC des cartes réseaux filaires.

16

Page 17: Bluetooth.pps

Connexion d’un point à un autre (figure a)

Connexion d’un point à plusieurs points (figure b) pour former un piconet ou picoréseau avec deux ou plusieurs périphériques. Dans un picoréseau, un des périphériques Bluetooth a le rôle de maître, les autres sont des esclaves. Un maître peut être connecté à 7 esclaves actifs ou 255 esclaves en mode Parked ou mode d’Attente. La connexion est établie mais aucun canal de transmission n’est engagé avec le maître. Le rôle du maître est primordial. Tous les périphériques du picoréseau sont synchronisés sur son horloge et c’est lui qui indique la séquence de saut utilisée dans le réseau. De plus, les esclaves ne peuvent pas parler entre eux, ils sont forcés de passer par le maître qui ordonne tous les échanges de données ou la découverte de nouveaux périphériques.

‣ Des picoréseaux peuvent être étendus en partageant un maître ou un esclave, on parle alors de Scatternet (figure c)

17

Page 18: Bluetooth.pps

La couche bande de base gère le type de communication établie entre les périphériques Bluetooth. Cinq types de transports logiques peuvent être utilisés :◦ SCO : Synchronous Conection-Oriented◦ eSCO : Extended Synchronous Conection-Oriented◦ ACL : Asynchronous Connection-Oriented◦ ASB : Active Slave Broadcast◦ PSB : Parked Slave Broadcast

Un hôte Bluetooth actif dans un piconet se voit attribuer une adresse logique de transport ou LT-ADDR (Logical Transport Adress). Codée sur 3 bits, l’adresse 000 étant attribuée au maître, il reste 7 adresses à attribuer aux esclaves, d’où la limitation des 7 connexions actives. Pour chaque connexion eSCO, une seconde adresse est attribuée mais utilisable uniquement pour ce type de transport. Quand un esclave n’est plus actif, il perd son adresse qui peut alors être attribuée à un autre périphérique par le maître.

18

Page 19: Bluetooth.pps

La liaison synchrone à débit élevé◦ Utilisée lorsque débit montant = débit descendant.◦ Partage de bande passante.◦ Débit bidirectionnel de 432Kb/s. Exemple d’utilisation : échanger des fichiers entre 2 ordinateursNon adaptée à une utilisation temps réel (Voix…)

Un maître peut supporter jusqu'à 3 liaisons de ce type avec ses esclaves.

19

Page 20: Bluetooth.pps

La liaison ACL (Asynchronous Connection-Less)◦ Utilisée pour les données acheminées par paquet et disponibles à intervalles

réguliers.◦ Les données proviennent et sont remises de et à la couche L2CAP

(émetteur/récepteur)◦ Débit : 721 kb/s (du maître à l’esclave), 57,6 Kb/s (de l’esclave au maître)Exemple d’utilisation : accès Internet par BluetoothUn esclave peut disposer au maximum d'une liaison ACL avec son maître.

20

Page 21: Bluetooth.pps

La liaison SCO (Synchronous Connection Oriented)◦ Utilisée pour la manipulation de données en temps réel◦ Slot fixe alloué dans chaque direction◦ code de correction d'erreurs peut être utilisé pour assurer une haute fiabilité.

Un esclave peut disposer au maximum de trois liaisons SCO avec son maître, chacune d'elles supportant un canal vocal PCM à 64 kb/s.

Exemple d’utilisation : oreillette Bluetooth d’un téléphone portable

Pour la transmission de la voix, Bluetooth utilise un codage de type CVSDM (Continuously Variable Slope Delta Modulation).  Étant donné que le canal ne fournit que 64 kilobits et que le CVSDM ne compresse pas le son, la qualité est assez faible : le son est transmis en monophonique, avec une fréquence d'échantillonnage de 8 KHz et une quantification en 8 bits. Pour rappel, le CD utilise une fréquence d'échantillonnage de 44 KHz en 16bits et stéréo. Concrètement, pour un usage "voix" uniquement cela suffit amplement, mais pour un usage musical c'est totalement insuffisant.

21

Page 22: Bluetooth.pps

Transport ASB (Active Slave Broadcast) Ce type de liaison est utilisé par un maître afin de transmettre des données à

tous les périphériques esclaves actifs sur le piconet.

Transport PSB (Parked Slave Broadcast) Ce type de liaison est utilisé par un maître afin de transmettre des données à

tous les périphériques esclaves inactifs sur le piconet.

22

Page 23: Bluetooth.pps

Gère les liens entre les périphériques maîtres et esclaves ainsi que les types de liaisons (synchrones ou asynchrones).

C'est le gestionnaire de liaisons qui implémente les mécanismes de sécurité comme :◦ L'authentification,◦ le pairage,◦ la création et la modification des clés,◦ le cryptage.

Cette couche prend aussi en charge la découverte de gestionnaires de liaisons distants et communiquent avec eux à travers le LMP (Link Manager Protocol). Pour accomplir son rôle de fournisseur, le gestionnaire de liaisons utilise les services du LC (Link Controller).

23

Page 24: Bluetooth.pps

Cette couche fournit une méthode uniforme pour accéder aux couches matérielles. Son rôle de séparation (pont) permet un développement indépendant du hardware et du software.

Les protocoles de transport suivants sont supportés :◦ USB (Universal Serial Bus)◦ PC-Card◦ RS-232◦ UART

24

Page 25: Bluetooth.pps

L2CAP = Logical Link Control & Adaptation Protocol Le protocole L2CAP est la partie logicielle qui permet de gérer les

paquets et d'utiliser les différents profils.

Les profils sont des fonctions logicielles implémentant une fonction particulière (gestion d'oreillette, de transfert de données, etc.). Les profils supportés dépendent du matériel et de la stack utilisée. 

25

Page 26: Bluetooth.pps

En Bluetooth, un profil correspond à une spécification fonctionnelle d'un usage particulier. Ils peuvent également correspondre à différents types de périphériques.

Les profils ont pour but d'assurer une interopérabilité entre tous les appareils Bluetooth. Ils définissent :◦ la manière d'implémenter un usage défini◦ les protocoles spécifiques à utiliser◦ les contraintes et les intervalles de valeurs de ces protocoles

Il existe 13 profiles Bluetooth initiaux correspondant à autant de fonctions possibles dans une connexion

K1 GAP Generic Access Profile

K2 SDAP Service Discovery Application Profile

K3 CTP Cordless Telephony Profile

K4 IP Intercom Profile

K5 SPP Serial Port Profile

K6 HS Headset Profile

K7 DNP Dial-up Networking Profile

K8 FP Fax Profile

K9 LAP LAN Access Profile

K10 GOEP Generic Object Exchange Profile

K11 OPP Object Push Profile

K12 FTP File Transfer Profile

K13 SP Synchronization Profile

Le profil d'accès générique est le profil de base dont tous les autres profils héritent. Il définit les procédures génériques de recherche d'appareils, de connexion et de sécurité.

26

Page 27: Bluetooth.pps

Aux précédents profiles, 12 autres sont en phase finale de développement

ESDP Extended Service Discovery Profile (Plug & Play)

A2DP Advanced Audio Distribution Profile

AVRCP

Audio Video Remote Control Profile

BIP Basic Imaging Profile

BPP Basic Priniting Profile

CIP Common ISDN Access Profile

GAVDP

Generic Audio Video Distribution Profile

HFR Hands-Free Profile

HCRP Hardcopy Cable Replacement Profile

HID Human Interface Device Profile

PAN Personal Area Networking Profile

SAP SIM Access Profile

27

Page 28: Bluetooth.pps

Un graphique montrant les dépendances entre les Profils

28

Page 29: Bluetooth.pps

A2DP - Advanced Audio Distribution Profile

Un Profil dédié à la transmission audio de qualité. Contrairement aux Profil HSP et HFP, l'A2DP utilise une liaison ACL pour la voix, et offre une meilleure qualité. En A2DP, plusieurs codecs sont possibles : le MP2 et MP3, l'AAC, les différentes variantes Atrac et le SBC. Étant donné que ce codec est le seul obligatoire, c'est le plus souvent utilisé. Le SBC est un codec similaire au MP3 (compression avec pertes). Autre particularité, le micro n'est pas pris en compte en mode A2DP, car le Profil est uniquement prévu pour de la musique.

AVCTP - Audio Video Control Transport Profile

Le Profil intégrant les méthodes de transport pour l'AVRCP, par exemple

AVRCP - Audio Video Remote Control Profile

Un Profil permettant de commander un appareil Bluetooth avec une télécommande. L'oreillette HBH-DS970 de Sony-Ericsson utilise ce Profil pour contrôler les modèles compatibles. Ce Profil est en général associé au Profil A2DP. Techniquement, il reprend les signaux et les commandes associés à la technologie IEEE-1394 (FireWire) pour la commande des caméras.

29

Page 30: Bluetooth.pps

BIP - Basic Imaging ProfileUn Profil dédié à la gestion des images. Il propose plusieurs fonctions intéressantes (pas nécessairement implémentées).Envoyer et recevoir des images (avec création de Thumb automatique)◦ Imprimer une image

◦ Archiver une image

◦ Commander un appareil photo à distance

◦ Utiliser l'écran d'un appareil photo à distance

◦ Les formats supportés sont le GIF, le JPEG, le BMP, le PNG et le WBMP.

BPP - Basic Printing ProfileUn Profil pour l'impression. Il a été créé pour être utilisé d'une façon bien précise : imprimer vers une imprimante compatible Bluetooth nativement à partir d'un terminal de type GSM ou PDA. Pour les impressions depuis un PC, le Profil HRCP est nettement plus adapté.

CIAP - Common ISDN Access Profile

Un Profil assez rare, qui permet d'utiliser un modem ISDN (RNIS en France) via le Bluetooth. Il est utilisé en Allemagne, où les connexions ISDN sont assez courantes.

30

Page 31: Bluetooth.pps

CTP - Cordless Telephony ProfileC'est un Profil permettant d'utiliser un terminal (GSM, PDA, PC) pour téléphoner en utilisant une passerelle reliée au réseau commuté. En utilisant une base intégrant ce Profil, vous pourrez ainsi utiliser un GSM via le réseau téléphonique classique.

ESDP - Extented Service Discovery Profile

Un Profil qui est utilisé par la norme Universal Plug and Play pour véhiculer des informations via Bluetooth.

FAX - Fax Profile

Le nom le dit bien, c'est une interface permettant d'envoyer des FAX à travers un téléphone mobile, par exemple.

31

Page 32: Bluetooth.pps

DUN - Dial Up Networking ProfileLe DUN permet d'utiliser un modem via le Bluetooth. Le modem peut être un modem RTC, mais est plus généralement un modem GPRS ou UMTS intégré dans un téléphone mobile.

FTP - File Transfer ProfileCe Profil permet de visualiser la liste des fichiers et des répertoires d'un client, et d'envoyer ou recevoir des fichiers à celui-ci.

GAP - Generic Access ProfileC'est le Profil de base en Bluetooth, il permet à deux périphériques de communiquer entre eux. Tous les Profils dépendent du GAP.

GAVDP - General Audio Video Distribution ProfileLe Profil de base nécessaire aux appareils qui utilisent les fonctions audio et vidéo du Bluetooth (notamment via A2DP).

GOEP - Generic Object Exchange ProfileLe Profil de base qui permet d'utiliser la norme OBEX via le Bluetooth. Il est nécessaire pour tous les Profils utilisant OBEX, tel que le FTP ou le OPP.

32

Page 33: Bluetooth.pps

HFP - Hands Free ProfileLe Profile HFP est très proche du Profil HSP (HeadSet) mais offre plus de possibilités de contrôle. Il est prévu spécifiquement pour les systèmes mains libres dans les voitures.La gestion audio est identique au HSP, mais on peut commander le GSM à partir du système : composer un numéro, rappeler le dernier numéro, changer le volume, etc. Ces commandes utilisent les fonctions AT des téléphones. Le décrochage automatique nécessite d'utiliser ce Profil, tout comme l'identification de l'appelant sur l'oreillette.Pour identifier une oreillette HFP, c'est très simple : elle dispose de deux boutons, pour décrocher et raccrocher.

HCRP - Hardcopy Cable ReplacementCe Profil permet d'émuler une connexion parallèle (IEEE1284) via le Bluetooth. Un adaptateur Bluetooth est placé sur le port parallèle de la machine cible (imprimante ou scanner) et le système pourra utiliser le Bluetooth pour communiquer avec ce périphérique.Surtout utilisé pour les imprimantes qui n'ont pas le Bluetooth en natif.

33

Page 34: Bluetooth.pps

HID - Human Device InterfaceCe Profil permet d'utiliser des périphériques compatibles avec la norme USB HID via le Bluetooth. Par exemple un clavier, une souris, une manette de jeux, etc. La future Playstation 3 utilisera ce Profil pour ses manettes.Transformer un périphérique USB en version Bluetooth demande très peu de travail aux constructeurs, il suffit de rajouter une puce Bluetooth.

HSP - HeadSet Profile

Un des Profils les plus courants, il permet d'utiliser une oreillette sans fil avec un téléphone.Le son est transmis via un canal SCO (64kbps), en CVSDM. Le système utilisé convient très bien pour la voix, mais n'est pas très utile pour transférer autre chose (par exemple de la musique) même si c'est possible. Les fonctions HSP sont très limitées, l'oreillette peut décrocher et raccrocher, via un unique bouton.

LAP - Lan Access ProfileLe premier Profil réseau pour le Bluetooth. Il est aujourd'hui supprimé de la norme et remplacé par le PAN.Il servait à effectuer des connexions réseaux PPP entre les périphériques.

34

Page 35: Bluetooth.pps

ICP - InterComm ProfileCe Profil permet de créer une communication entre 2 appareils Bluetooth (par exemple des GSM) sans passer par le réseau GSM, à la manière de Talkie Walkie.

OPP - Object Push ProfileUn Profil qui utilise la norme OBEX (développée initialement pour l'Irda) pour s'envoyer des fichiers entre périphériques.

PAN - Personnal Area NetworkUn Profil permettant de créer un réseau adhoc entre deux périphériques. Il émule une connexion de type Ethernet. Pratique pour utiliser une connexion Internet fournie par un routeur, par exemple.Le PAN est normalisé sous le nom IEEE 802.15.1Il remplace le LAP, qui est obsolète et retiré de la norme Bluetooth 1.2.

PBAP - Phone Book Access Profile

Un Profil qui permet d'accéder au répertoire d'un GSM via un autre périphérique, par exemple une oreillette.

SDAP - Service Discovery Application Profil

Ce Profil est utilisé à l'initialisation d'un périphérique Bluetooth, il permet de déterminer les Profils supportés par celui-ci.

35

Page 36: Bluetooth.pps

SAP - SIM Access ProfileUn Profil créé essentiellement pour les téléphones de voiture. Il permet à un système embarqué d'utiliser la carte SIM d'un autre téléphone connecté en Bluetooth. Cela évite de devoir changer la carte de téléphone ou de devoir utiliser deux cartes différentes.

SPP - Serial Port ProfileC'est un des Profils de base, qui permet d'émuler une liaison série RS232 entre 2 périphériques Bluetooth. Les récepteurs GPS utilisent ce Profil par exemple.

SYNC - Synchronization ProfileUn Profil permettant la synchronisation de données de type PIM entre un téléphone et un PC, par exemple.

VDP - Video Distribution ProfileUn Profil peu utilisé actuellement, qui permet de streamer de la vidéo entre appareils Bluetooth. Les codecs possibles sont le H263 et le Mpeg4 Simple Profile. Le débit théorique est de 721kbps, donc ce n'est utilisable que pour des résolutions assez basses.

WAP - Wap Over Bluetooth ProfileUn Profil qui permet à un téléphone mobile de se connecter au WAP sans passer par le réseau GSM. On peut utiliser ce Profil pour faire des bornes d'accès WAP publiques, permettant d'envoyer du contenu dans un téléphone.

36

Page 37: Bluetooth.pps

4 types d'adresses peuvent être assignées aux unités Bluetooth :

BD_ADDR (Bluetooth Address Device) : elle correspond à l'adresse du dispositif. En effet,

à chaque émetteur récepteur Bluetooth est allouée une adresse de dispositif unique sur

48 bits. Cette adresse est équivalente à une adresse MAC mais ne sert qu'à identifier le

dispositif. Elle n'apparaît jamais dans le paquet de données.

AM_ADDR ou AMA (Active Member Adress) : c'est l'adresse d'un membre actif dans un

piconet. Elle correspond à une nombre de trois bits et est seulement valable tant que

l'esclave est actif sur le canal maitre-esclave. Cette adresse sur trois bits permet de

définir 8 valeur différentes ce qui correspond à la taille maximale d'un picoréseau.

PM_ADDR ou PMA : c'est une adresse réservée au membre non actifs. Elle est codée

sur huit bits et n'est valable que si l'esclave est inactif.

AR_ADDR ou ARA : c'est une adresse de demande d'accès. Elle est utilisé par l'esclave

inactif initialement pour déterminer le demi slot dans la fenêtre d'accès dans lequel la

demande d'accès peut être envoyée. Elle est seulement valable lorsque l'esclave est inactif.

37

Page 38: Bluetooth.pps

Format de paquet du débit de base standard

Access code (68/72 bits) : Il identifie le piconet maître et il est utilisé pour la synchronisation, le « paging » et la recherche. Il y a trois types de code d’accès :◦ CAC (Channel Access Code) : Ce code de canal

identifie un unique piconet.◦ DAC (Device Access Code) : Le code de

composant est utilisé durant pagination (« page » et « page scan ») et ses réponses. Ce code dérive de la BDA..

◦ IAC (Inquiry Access Code) : Ce code est utilisé dans les procédures de recherche de composant. Il y a deux type de IAC : GIAC (Generic IAC) : Utilisé par défaut pour

rechercher tous les périphériques Bluetooth dans la zone.

DIAC (Dedicated IAC) : Utilisé pour rechercher un type spécifique de composant.

‣ Header : Les 54 bits constituant l'en-tête du paquet (3 fois la même séquence de 18 bits) sont décomposés comme suit :

AMA (3 bits) : L’adresse actif de l’esclave. 0 pour le broadcast et 1 à 6 pour le périphérique.Type (4 bits) : SCO, ACL, NULL, POLL / type de FEC / durée du payloadFlow (1 bit) : Contrôle de flow pour signaler que la mémoire tampon est pleineARQN (1 bit) : Indication de l’acquittement (ACK)SEQN (1 bit) : Numéro de séquenceHEC (8 bits) : « Header Error Control »

‣ Payload : Données binaires utiles avec une zone de contrôle d’erreur de 16 bits.

38

AMA type flow ARQN SEQN HEC

3 4 1 1 1 8

Page 39: Bluetooth.pps

Les paquets standards : utilisés dans les opérations "administratives ". Leur contenu est dédié à la gestion des connections entre les appareils.

Les paquets SCO : utilisés pour les communications de données de type SCO.

Les paquets ACL : utilisés pour les communications de données de type ACL.

Pour chacun de ces types, plusieurs sous catégories existent: Les paquets DV : Pour " Data Voice Packet ". Ce type hétéroclite permet de transporter à la fois

des données et de la voie. Les paquets DM x : Pour "Medium Data rate Packet". Sous catégorie des paquets ACL. Cette

dénomination est due au fait que le corps de ce type de paquet est toujours encodé afin d'obtenir de la redondance (prévention d'erreur).

Les paquets DH x : Pour " High Data rate Packet". Sous catégorie des paquets ACL. Son nom vient du fait qu'aucun encodage de prévention d'erreur n'est employé, d'où un meilleur taux de transfert.

Les paquets HV y : Pour " High Quality Voice Packet ". Sous catégorie des paquets SCO. Ces paquets n'utilisent pas de CRC dans leur corps.

Le x dans les notations " DM x " et " DH x " remplace un des chiffres suivants : 1,3 ou 5. Ce chiffre représente le nombre de slots sur lesquels ce paquet s'étend. Par exemple les paquets de type DM3 s'étalent sur 3 slots.

Le y dans la notation " HV y " permet de préciser quel type de prévention d'erreur est utilisée: y = 1 <=> 1/3 FCE, y = 2 <=> 2/3 FCE, y = 3 <=> lorsqu'il n'y a pas de protections mise en place.

39

Page 40: Bluetooth.pps

Communication Single-Slot Le canal de communication est devisé en time-slots numérotés d’une durée de 625µs chacun. Le TDD (Time

Division Duplex) est utilisé, c-à-d que les unités maîtres et esclaves transmettent alternativement (une unité maître transmet dans les slots pairs, et les unités esclaves dans les slots impairs).

40

Les transmissions effectuées par les unités Bluetooth sont effectuées par paquets.

Chaque slot pour une communication maître esclave est systématiquement suivie par un slotesclave maître. Un esclave est uniquement autorisé à émettre dans un slot donné si le maître l’aadressé dans le slot précédent.

Toute communication directe entre esclaves est impossible, ils doivent passer par le maître dupiconet. Le maître gère l’ordonnancement des esclaves selon l’algorithme Round Robin.

Page 41: Bluetooth.pps

Communication Multi-Slots

Lorsqu’un paquet a une taille de 1 slot on parle de transmission/réception single slot, et lorsqu’un paquet possède une taille supérieure à 1 time slot (3 ou 5 slot), on parle de Multi-slot. Le saut de fréquence appliqué au paquet est celui du premier slot de ce paquet.

Bluetooth peut donc utiliser 3 types de paquets :◦ des paquets de données courts : 1 time-slot, 240 bits au maximum◦ des paquets de données moyens : 3 time-slot, 1480 bits au maximum◦ des paquets de données long : 5 time-slot, 2745 bits au maximum

41

Page 42: Bluetooth.pps

42

Page 43: Bluetooth.pps

L'état Standby Lorsqu'aucune connexion n'est établie dans le réseau, tous les périphériques Bluetooth sont en

mode « StandBy ». c'est un état de basse consommation pour un dispositif qui n'interagit avec aucune autre unité Bluetooth. Dans ce mode , une unité non connectée écoute les messages périodiquement toutes les 1,28 secondes. La procédure de connexion peut être initiée par n'importe quelle unité du réseau qui deviendra le maître.

Les états d'initialisation d'une connexion◦ Inquiry : un dispositif se trouve dans cet état lorsqu'il désire découvrir les nouveaux dispositifs

du réseau. Il envoie alors un paquet « inquiry » en broadcast à toutes les unités Bluetooth se trouvant dans sa zone. On utilise le message Inquiry pour communiquer avec des unités dont on ne connaît pas l'adresse. Ce message est envoyé sur les 32 séquences d'éveil (inquiry Hoping séquence).

◦ Inquiry scan : cet état désigne un dispositif à l'écoute des messages « inquiry » circulant sur le réseau. Il utilise le inquiry hoping sequence en écoutant successivement sur les 32 fréquences d'éveil.

◦ Page : l'envoi d'un message Page permet d'établir une connexion avec un dispositif Bluetooth si son adresse est connue. Un dispositif dans l'état Page signifie qu'il stocke les informations reçues sur une autre unités du réseau.

◦ Page scan : cet état désigne un dispositif à l'écoute des messages de type Page.

43

Page 44: Bluetooth.pps

Les états d'un dispositif connecté

Actif : En mode actif, le maître comme l'esclave participent activement a la communication sur la canal (écoute, envoi de paquets, réception de paquets).

Suspendu (Hold) : le lien ACL d'une connexion entre deux unités Bluetooth peut être placé en mode suspendu pour un temps spécifique. Pendant ce temps aucun paquet ACL ne sera transmis par le maître à l'esclave se trouvant dans ce mode. Le mode suspendu est typiquement utilisé lorsqu'on a pas besoin d'envoyer des données à un esclave pendant un certain temps. Dans ce mode l'esclave ne peut plus recevoir que des message de type SCO. Les de ce type arrivant à intervalles réguliers, l'esclave peut s'endormir lorsqu'il n'est pas susceptible d'en recevoir. Ce mode permet également au dispositif Bluetooth d'économiser de l'énergie. Le mode Hold peut également être utilisé quand un dispositif veux être découvert par d'autres unités Bluetooth ou veux joindre un autre piconet.

Parqué (Park) : Un esclave se trouvant dans cet état est très peu actif et économise son énergie. Il ne reçois plus du tout de message ni n'en envoie. Son unique activité est de se réveiller de temps en temps pour rester synchronisé avec le maître et sa séquence de sauts. Le maître envoie régulièrement des balises pour permettre à ses esclaves de rester synchronisés. Le fait de passer un esclave dans cet état Park permet de libérer une place dans le piconet (seul 7 unités peuvent être active en même temps sur un piconet). Ainsi plus de 7 unités Bluetooth peuvent cohabiter dans le même picoréseau.

Sniff : dans cet état le dispositif Bluetooth est en mode d'écoute. Il alterne N slots d'états endormis (économie d'énergie), et K slots d'états actifs.

44

Page 45: Bluetooth.pps

A l'initialisation d'un réseau Bluetooth, tous les périphériques sont en mode

standby. C'est à dire qu'ils ne connaissent pas les autres dispositifs Bluetooth

qu'il peut y avoir dans leur zone de couverture. Dans cet état les périphériques

écoute et cherche la présence de transmission toutes les 1,28 secondes

(inquiry scan) afin de savoir si quelqu'un désire communiquer. Aucun dispositif

n'est synchronisé (les périphériques écoutent différentes fréquences d'éveil

selon le séquencement de leur choix). Le standby est un état passif qui permet

à un dispositif Bluetooth d'économiser de l'énergie. Un dispositif Bluetooth

passe la moitié de son temps dans ce type d'état lui permettant ainsi d'avoir

une plus grande autonomie.

45

Page 46: Bluetooth.pps

N'importe quel dispositif Bluetooth peut être à l'initiative de la création d'un réseau de communication. Il deviendra alors le maître du picoréseau qui se créera par la suite.

La processus de connexion du maître avec les différents dispositifs du réseau suit certaines étapes importantes :

◦ Mode passif,◦ Phase d'inquisition : découverte des points d’accès,◦ Synchronisation avec le dispositif (paging),◦ Découverte des services,◦ Création d’un canal avec l'esclave,◦ Pairage éventuel à l’aide d’un code PIN (sécurité),◦ Utilisation du réseau.

46

Page 47: Bluetooth.pps

La phase de découverte est donc à l'initiative de la création d'un picoréseau. En effet cette phase va permettre au dispositif maître de découvrir les périphériques Bluetooth qui se trouve dans sa zone de portée. Cela consiste à envoyer une trame en Broadcast sur 32 fréquences d'éveil sur lesquelles les dispositifs Bluetooth en mode passif écoutent. Il pourront ainsi répondre et renseigner le maître sur les différentes informations les concernant.

Un dispositif peut être non découvert. C'est les cas de H dans le schéma précédent. Les codes d'accès utilisés dans cette phase sont spécifiques :

◦ GIAC (General Inquiry Access Code) : pour extraire les informations générales sur l'esclave.◦ DIAC (Dedicate Inquiry Access Code) : pour extraire des capacités plus spécifiques.

47

Page 48: Bluetooth.pps

48

Les étapes suivantes se déroule à chaque fois entre deux dispositifs distinct du réseau puisqu'elles consistent à établir un canal de communication spécifique entre le maître et l'esclave.

Page 49: Bluetooth.pps

Les mécanismes de sécurité ◦ Pour sécuriser les transmissions au niveau de la couche physique, Bluetooth utilise la méthode du saut de

fréquence, une technique de saut autour de la bande radio 1600 fois par seconde. Ceci améliore la clarté et réduit également ce qu’on appelle "écoute clandestine occasionnelle" en permettant seulement aux dispositifs synchronisés de pouvoir communiquer.

◦ La spécification Bluetooth inclut des mécanismes de sécurité au niveau liaison des données. Elle soutient l'authentification (unidirectionnelle ou mutuelle) et le chiffrage. Ces mécanismes sont basés sur une clé secrète de lien partagée par les deux dispositifs en communication. Pour générer cette clé un procédé appelé “pairing procedure” est employé quand les deux dispositifs se communiquent pour la première fois.

Les paramètres de base pour la sécurité La sécurité du protocole Bluetooth (niveau liaison de données) est basée sur l'exploitation des trois

paramètres suivants :

◦ Un nombre aléatoire RAND : permettant de simuler le hasard sur 128 bits. Il change fréquemment

et il est produit par le dispositif Bluetooth.

◦ Une adresse dépendante du dispositif physique BD-ADDR (Bluetooth Device ADDRess) : Chaque

carte Bluetooth se voit assigner une adresse permanente et unique de 48 bits lors de sa construction. Cette adresse permet aux autres utilisateurs d'avoir de la confiance en la personne à l'autre extrémité de la communication.

◦ Un code personnel d'identification PIN : C'est un code personnel qui est attribué à l'utilisateur. Ce code PIN peut être stocké sur 1 à 16 octets. Le PIN peu être stocké dans la mémoire non-volatile du dispositif.

Ces paramètres permettent de créer des clés pour authentifier et chiffrer les transferts de données

afin de les sécuriser.

49

Page 50: Bluetooth.pps

Les modes de sécurité Selon les caractéristiques de Bluetooth, les dispositifs peuvent fonctionner dans un des trois

modes de sécurité :

◦ Mode 1 : C’est le mode de sécurité le moins sûr dans lequel le dispositif Bluetooth ne lance aucun

procédé de sécurité. Un dispositif Bluetooth dans ce mode est dans un mode de découverte du réseau.

◦ Mode 2 : Ce mode impose la sécurité après l'établissement du lien entre les dispositifs au niveau

L2CAP. Ce mode permet l'établissement des politiques flexibles de sécurité comportant des commandes des couches application fonctionnant parallèlement aux protocoles des couches inférieurs.

◦ Mode 3 : Ce mode impose des commandes de sécurité telles que l'authentification et le chiffrage au

niveau de la couche Baseband, il est identique au mode 2 mais y ajoute des fonctions d'authentification

et de chiffrement avant que la connexion ne soit établie.

50

Page 51: Bluetooth.pps

Les niveaux de sécurité des dispositifs et des services Bluetooth définit des niveaux de sécurité pour les dispositifs et les services.

◦ Pour des dispositifs il y a deux niveaux possibles de sécurité. Un dispositif distant peut être: 1- Un dispositif fiable : Il aurait accès à tous les services pour lesquels la relation de confiance a été placée.

2- Un dispositif non fiable : Il aurait un accès limité aux services.

◦ Pour les services, trois niveaux de sécurité ont été définis. 1- Les services qui exigent l'autorisation et l'authentification : On accorde seulement l'accès

automatique aux dispositifs de confiance. D'autres dispositifs ont besoin d'une autorisation manuelle.

2- Les services qui exigent l'authentification seulement : L'autorisation n'est pas nécessaire. C.-à-d. le dispositif devrait être authentifié avant de pouvoir utiliser ces services.

3- Les services ouverts : L'authentification n'est pas exigée, aucune approbation d'accès n’est exigée avant qu'on accorde l'accès de service.

Note : L'architecture Bluetooth tient compte de définir les politiques de sécurité qui peuvent placer des relations de confiance de telle manière que même les dispositifs fiables puissent seulement obtenir l'accès aux services spécifiques et pas à d'autres.

Il est important de comprendre ici que les protocoles spécifiques Bluetooth peuvent seulement authentifier des dispositifs et pas des utilisateurs. Ceci ne doit pas dire que le contrôle d'accès basé sur l’utilisateur n'est pas possible. L'architecture de sécurité Bluetooth permet à des applications d'imposer leurs propres politiques de sécurité. La couche liaison, sur laquelle les mécanismes de sécurité spécifiques de Bluetooth fonctionnent, est transparente aux mécanismes de sécurité imposés par les couches supérieures. Ainsi il est possible d'imposer le contrôle d'accès granuleux basé sur l'authentification de l’utilisateur dans le cadre de sécurité de Bluetooth.

51

Page 52: Bluetooth.pps

Le contrôleur de sécurité Les mécanismes et les politiques de sécurité qui peuvent être soutenues par Bluetooth sont

possibles grâce à un composant appelé le contrôleur de sécurité (Security Manager). Le contrôleur de sécurité est l'entité qui décide quelles politiques sont à appliquer quand une demande de connexion est faite. Basé sur le service, le type de dispositif et son niveau de fiabilité, le contrôleur de sécurité peut imposer l'authentification du niveau application, le chiffrage de la session et toutes les autres politiques spécifiques d'accès.

Le contrôleur de sécurité a besoin de l'information concernant des dispositifs comme des services avant qu'elle puisse prendre une décision. Cette information est stockée dans deux bases de données notamment, la base de données de dispositif et la base de données de service.

1- La base de données de dispositif stocke des informations sur le type de dispositif, son niveau de fiabilité et sur la longueur de clé de lien utilisée pour le chiffrage.

2- la base de données de service stocke l'information concernant les conditions d'authentification, d'autorisation et de chiffrage pour les services.

52

Page 53: Bluetooth.pps

Le processus typique suivi par le contrôleur de sécurité en accordant l'accès à un dispositif pour un service particulier est comme suit :

1- Le dispositif distant demande l’accès

2- La demande de connexion vient à L2CAP

3- L2CAP demande au contrôleur de sécurité d’accorder l'accès

4- Le contrôleur questionne les bases de données de dispositif et de service

5- Si le dispositif est fiable, donc le contrôleur de sécurité peut ou ne peut pas demander l'authentification ou l'autorisation

6- Si le dispositif est non fiable, le contrôleur de sécurité peut terminer la connexion ou imposer l'autorisation. L'authentification au niveau de Bluetooth se produira quand des clés de lien sont échangées. Selon l'accès régissant la politique de sécurité, le contrôleur de sécurité pourrait inviter un protocole d'application pour imposer la sécurité de niveau d'application telle qu'un arrangement d'username/password pour l'authentification. L'appui est également incorporé pour d'autres arrangements d'authentification par l'interface de contrôleur de sécurité.

7- Le contrôleur de sécurité décidera alors si l'accès de service exige le chiffrage de lien. Si oui, des clés sont négociées et échangées au niveau du protocole L2CAP et la connexion continuera à être établie.

53

‣ Alternativement, si le dispositif est en mode de sécurité 3, le contrôleur de sécurité demande au LMP pour authentifier et chiffrer la communication avant que la connexion soit établie. L’architecture générale de sécurité dans Bluetooth est présentée dans la figure suivante :

Page 54: Bluetooth.pps

La gestion des clés Assurer une transmission sécurisée avec le protocole Bluetooth, implique l’utilisation de plusieurs

genres de clés et de contrôles.

◦ Le code PIN

En soi, le code PIN joue son rôle dans l'authentification pour identifier uniquement les dispositifs. Il est utilisé pour accéder au dispositif Bluetooth tout comme le code utilisé pour accéder à la carte SIM d’un appareil cellulaire. Le PIN est ou bien un nombre fixe inscrit au dispositif ou bien un code défini par l'utilisateur. Pour les codes PIN définis par l'utilisateur, il peut les changer quand il veut, de ce fait on ajoute de la sécurité d'authentification au système. Un PIN est normalement de 4 digits de longueur, mais il peut être entre 1 et 16 octets.

◦ Les clés de lien Les clés de lien sont utilisées dans le procédé d'authentification ainsi comme paramètre dans la dérivation de la clé de

chiffrage. Elles peuvent être temporaires ou semi-permanentes.

- Une clé temporaire dure seulement jusqu'à ce que la session courante soit terminée et ne puisse pas être réutilisée.

- Une clé semi-permanente peut être utilisée après que la session courante termine. Elle authentifie habituellement les unités Bluetooth qui partagent la session.

Il y a également quatre types principaux de clés de lien, qui sont tous des nombres aléatoires de 128-bits.

- La clé d’unité : (Unit Key KA) KA est la clé d'unité du dispositif Bluetooth A, dérivé à l'installation du dispositif.

- La clé d’initialisation : (Initialisation Key Kinit) Kinit, comme son nom le suggère, est employé dans le processus d'initialisation.

- La clé de combinaison : (Combination Key KAB) KAB est dérivée de deux dispositifs Bluetooth, A et B. Elle est produite pour chaque paire de dispositifs et est utilisée quand plus de sécurité est nécessaire.

- La clé maître (Master Key Kmaster) Kmaster est employée quand le dispositif maître, impliqué dans le piconet, veut transmettre à plusieurs dispositifs une fois pour toute. Elle dépasse la clé de lien courante seulement pour cette session maîtrisée.

54

Page 55: Bluetooth.pps

La clé de chiffrement La clé de chiffrage peut changer de 8 à 128 bits, elle assure le passage sécurisé pour chaque paquet transmis entre les

dispositifs pendant la session du transfert. Cette clé est dérivée de la clé courante de lien, et chaque fois que le chiffrage est exigé, elle est régénérée à nouveau.

Initialisation et génération des clés Chacun des dispositifs Bluetooth impliqués, après que l'utilisateur avait été authentifié par le système de contrôle par

PIN, exige l'échange des clés. Cet échange des clés se produit pendant une phase d'initialisation que les deux dispositifs sont exigés à accomplir.

Note: les algorithmes E22 et E21 sont combinés dans l'algorithme dénoté simplement E2 et déterminant la clé de lien.

55

Page 56: Bluetooth.pps

Toutes les procédures d'initialisation comprennent les étapes suivantes :

1- Génération d'une clé d'initialisation à l’aide de l’algorithme E22 en utilisant le code PIN du dispositif.

2- Génération de la clé de lien en utilisant l'algorithme E21.

3- L'authentification se produit, pendant cette opération une valeur excentrée de chiffrage d'authentification (ACO Authentication Ciphering Offset) est produite.

4- Echange des clés de lien.

5- Génération de la clé de chiffrage dans chaque unité par l'algorithme E3. Cette clé est calculée sur la base de la clé de lien, d’un nombre aléatoire et d’une valeur excentrée de chiffrage (COF : Ciphering OFfset) basée sur la valeur ACO du processus d'authentification.

Après ce procédé le lien est établi ou avorté, avec un temps d’attente et une période de re-essais des tentatives d'initialisation échouées.

Procédures d’authentification Le schéma d'authentification dans Bluetooth est essentiellement une stratégie de défi-réponse, où un

protocole de 2 passes est employé pour vérifier si l'autre partie connaît une certaine clé secrète.

L'authentification est réussie si le protocole vérifie que les deux dispositifs ont la même clé. Pendant le procédé d'authentification, une valeur ACO est produite et stockée dans des les deux dispositifs. La valeur ACO est employée pour déterminer un nombre de 96 bits COF qui est employé dans la génération de la clé de chiffrage, il constitue un des paramètres de l'algorithme E3 mentionné ci-dessus dans la phase d'initialisation.

56

Page 57: Bluetooth.pps

Le schéma d'authentification se produit comme suit :

Etape 1 : Le vérificateur (A) envoie au claimant (B) un nombre aléatoire (RAND A) à authentifier. Etape 2 : Le vérificateur et le claimant emploient la fonction E1 d'authentification avec le nombre aléatoire

(RAND A), l’adresse BD_ADDR du claimant et la clé courante de lien pour obtenir une réponse. Etape 3 : Le claimant envoie la réponse au vérificateur, qui s'assure alors de la validité de la réponse. De

même, tous les deux calculent la valeur ACO qui est employée plus tard dans la détermination de la valeur de COF employée pour produire la clé de chiffrage comme cité ci-dessus.

57

Page 58: Bluetooth.pps

Procédures de chiffrement et de confidentialité

Après que la clé de lien avait été établie et l'authentification a été couronnée de succès, la clé de chiffrage est produite par l'algorithme E3 et le système de chiffrage de Bluetooth est prêt à chiffrer systématiquement la charge utile pour la transmission. Le procédé de chiffrage 6 implique une graine binaire E0 qui est employée pour le chiffrage des données.

La graine binaire E0 se compose de 3 éléments : le générateur principal de clé, le générateur de clé de charge utile, et le composant de chiffrage/déchiffrage.

Le registre principal de la suite binaire contient quatre registres, connus sous le nom de registres à décalage linéaires de rétroaction (LSFR : Linear Feedback Shift Register). Ces registres sont de longueurs 25, 31, 33, et 39 donnant une longueur totale de 128. Le générateur de clé de charge utile combine les bits d'entrée dans les divisions appropriées et les décale aux quatre registres du générateur principal de la clé binaire.

E0 prend comme paramètres, le Kc qui est la clé de chiffrage produite par E3, un nombre aléatoire, l'adresse de dispositif BD_ADDR, et l'horloge du dispositif A. En utilisant la sortie de l'algorithme E0, Kstr et les données à transmettre, le texte chiffré est formulé dans des paquets de données pour la transmission.

58

Page 59: Bluetooth.pps

L'architecture de sécurité de Bluetooth, n'est pas sans faiblesse. Il y a un certain nombre de faiblesses dans cette architecture qui peuvent être exploitées.

L'une des failles du protocole Bluetooth est une faille spécifique aux réseaux sans fils : le déni de service par batterie. Comme les éléments d'un réseau sans fil sont nomades, ils sont dépendants d'une source d’énergie limitée. L'une des principales attaques de DoS est de surcharger de travail la machine à attaquer pour consommer le plus rapidement possible son énergie.

Un autre problème, cependant pas aussi simple à mettre en œuvre, est l'attaque «man in the middle» pour voler des clés d'identification et de chiffrage avant le début d'une session et l'usage de la même chose pour personnifier et/ou écouter des communications. Ce problème est cependant non spécifique à Bluetooth. La plupart des systèmes des échanges principaux sont enclins à ce type d'attaque.

La seule méthode pour atténuer ceci est de construire des systèmes d'authentification basés par certificat numérique.

Rendre les intervalles et les modèles de méthode du saut de fréquence raisonnablement imprévisibles, peut aider à empêcher un attaquant de se cloisonner sur le signal de dispositif.

Un problème de vol d’identité est encore possible lors de l'utilisation d'une clé de lien basée sur le « unit key » où il est assez facile de voler l'identité d'un correspondant. En imaginant que A et B communiquent en se basant sur le « unit key » de A, un troisième intervenant C peut venir communiquer avec A et obtenir cette clé. C peut donc utiliser l'adresse Bluetooth de B pour se faire passer pour lui...

L'autre issue traite le code PIN même. La plupart des dispositifs ont extrêmement un PIN très court (habituellement 4 caractères, c.à.d. il y a seulement (10000 possibilités). C'est une faiblesse de sécurité

importante, bien que cette faiblesse soit due à l’implémentation non plus à la spécification, les PINs courts peuvent être recherchés exhaustivement par les attaquants.

59

Page 60: Bluetooth.pps

Dans le futur, outre le fait de passer en UWB (Ultra Wide Band) dans le Bluetooth 3.0, le Wi-Fi et le Bluetooth pourrait être couplés. L’idée d’utiliser le Bluetooth pour les usages classiques et de passer automatiquement sur du Wi-Fi pour les gros transferts a été proposée par le consortium qui gère la norme (Bluetooth et Wi-Fi couplés dans le futur). Par ailleurs, une version filaire du Bluetooth semble aussi prévue (Du Bluetooth en Wi-Fi ou du Bluetooth filaire ?), pour un usage professionnel quand les ondes radio sont interdites.

Dans un futur proche, on devrait surtout voir débarquer des appareils capables de prendre en charge la norme 2.1 et sa gestion simplifiée du jumelage : certaines marques proposent déjà des oreillettes qui s’appairent sans utiliser de code PIN (entre appareils de la même marque).

60