0% ont trouvé ce document utile (0 vote)
135 vues88 pages

Introduction au Bluetooth et WPAN

Transféré par

el brak
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
135 vues88 pages

Introduction au Bluetooth et WPAN

Transféré par

el brak
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TM

Bluetooth
PAN :
les réseaux
personnels
et Bluetooth

Camille Diou
Docteur en microélectronique

LABORATOIRE INTERFACES UNIVERSITÉ


CAPTEURS & MICROÉLECTRONIQUE DE METZ

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 1


PAN : les réseaux personnels et
Bluetooth
Introduction au Bluetooth
Positionnement et usage
Architecture
Les profiles
Établissement d’une connexion
Les états de fonctionnement
Les modes de fonctionnement
Établissement de la liaison
Sécurité

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 2


TM

Introduction

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 3


Introduction : contexte
Standard de liaison radio faible portée
Motivations : remplacement de toute la connectique
nécessaire à l’interconnexion de matériels électroniques fixes
ou portables
Possibilité d’accéder à des réseaux locaux (LANs) ou de
réaliser des picoréseaux (piconets)
Objectifs :
 Faible consommation
 Faible coût
 Interopérabilité totale sans intervention de l’utilisateur

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 4


Introduction : histoire
Introduit par Ericsson en 1994
Harald Blaatand « Bluetooth » II, roi du Danemark de 940 à
981. Sa pierre tombale indiquait :
 Harald a christianisé la Scandinavie
 Harald a contrôlé le Danemark et la Norvège
 Harald pensait que les ordinateurs portables et les téléphones mobiles
devaient communiquer sans fils
Special Interest Group (SIG) : Ericsson, IBM, Intel, Nokia, et
Toshiba, adopté par 3000 entreprises
Version 1.1 disponible gratuitement à :
[Link]
En cours de normalisation : norme IEEE 802.15.1

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 5


Introduction : challenges
Utilisation d’une bande de fréquences libre d’utilisation et
universelle
Dispositifs mobiles : nécessité de s’adapter aux
environnement changeant rapidement
Implantation la plus petite possible : embarqué
Puissance consommée : une faible fraction du dispositif hôte
Établissement de la communication automatique
Synchronisation des horloges

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 6


Introduction : spécifications
Bande ISM (Industrial, Scientific & Medical) : 2,4 GHz
 Plus qu’une radio : une solution end-to-end
Les spécifications Bluetooth comprennent :
 La spécification des protocoles matériels et logiciels
 Des profiles d’utilisation et des contraintes d’interopérabilité
IEEE 802.15.1 : standardisation des couches PHY et MAC
(liaison physique et contrôle d’accès)

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 7


Introduction : spécifications
802.15 définit les WPAN
Wireless Personal Area Networks

Faible portée
Faible consommation
Faible coût
Réseaux réduits
Communication de périphériques dans un espace d’opération
personnel (Personal Operating Space)

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 8


Introduction : spécifications
Opère dans la bande 2.4 GHz à un débit de données maximal
de 1 Mb/s
Étalement de spectre par saut de fréquence (Frequency
Hopping Spread Spectrum) : divise la bande en n canaux
(2.402 - 2.480 GHz = 79 canaux)
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

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 9


TM

Positionnement et
usage

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 10


Positionnement du Wireless
WPAN et
Wireless Bluetooth
LAN Espace personnel :
Bureau, bureau, pièce, valise,
Université, poche, véhicule
Aéroport, Hôtel,
Maison Faible portée/faible
conso
Voix ET Données
Faible coût
Téléphonie Facteur de forme
Cellulaire réduit
Couverture globale Nombreux réseaux
co-localisés
Pont universel

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 11


Positionnement du Wireless
Satellite

WWAN
GPRS UMTS

WLAN
802.11 ou Wifi
HiperLAN HomeRF

WPAN
Bluetooth
Inftrarouge
10m

100m
10km

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 12


Usage : apports de Bluetooth

Remplacement
des câbles

Points d’accès
Connectivité personnelle
voix/données
adaptée
– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 13
Usage : casques sans fils
Bénéfices pour l’utilisateur :
 Accès à des périphériques multiples
 Téléphones sans fils
 Opérations mains-libres

Liberté de mouvement …
– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 14
Usage : casques sans fils
Bénéfices pour l’utilisateur :
 Accès à des périphériques multiples
 Téléphones sans fils
 Opérations mains-libres

Liberté de mouvement …
– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 15
Usage : synchronisation
Bénéfices pour l’utilisateur :
 Synchronisation de proximité
 Maintenance aisée des bases de données
 Base de données d’informations commune

Partage de données communes …


– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 16
Usage : points d’accès données
Bénéfices pour l’utilisateur :
 Plus de connecteurs
 Accès Internet aisé
 Partage de connection

Connexion à distance …
– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 17
TM

Architecture

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 18


Architecture

Applications Application Framework


& Support
Autres TCS RFCOMM SDP

tro l
Data

Audio Con
L2CAP Logical Link Control &
Application Protocol
HCL
Host Controller Layer
LMP
Link Manager Protocol
BB Bande de base
RF Radio

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 19


Architecture : couche radio
Opère dans la bande 2,4 GHz
Communication en étalement de spectre
 Saut de fréquence : frequency hopping
 Sauts rapides : nombreux réseaux coexistants
 Faible taille de paquets : bande bruitée, taux d’erreur élevé
Mode voix en CVSD : supporte des taux d’erreur élevé
En-têtes des paquets protégés : correction d’erreur
Sauts de fréquence :
 2402 + k MHz et k=0,1,…,78
 1600 changements/s : hop slot de 625 µs
Modulation BFSK pré-filtrée :filtre gaussien BT=0,5
Puissance d’émission 0dBm@10m, 20dBm@100m

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 20


Architecture : bande de base
Contrôle la couche radio
Fournit les séquences de sauts de fréquence
Gère le cryptage bas niveau
Deux type de liaisons :
 SCO : Synchronous Connection Oriented : synchrone orienté
connexion, typiquement pour la voix
 ACL : Asynchronous Connection less : asynchrone sans connexion,
pour les applications de transfert de données ne nécessitant pas de
liaison synchrone

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 21


Architecture : bande de base
Fournit les fonctionnalités requises pour :
 la synchronisation des horloges,
 l’établissement des connexions,
 l’inquisition (inquiry) des adresses des périphériques présents,
 la correction d’erreur des paquets
5 canaux différents :
 information de contrôle,
 information de gestion de liaison,
 données synchrones,
 données asynchrones,
 données isosynchrones

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 22


Architecture : couche LMP
Link Manager Protocol :
Protocole de gestion de liaison
 Gestion des piconets
 Configuration de la liaison
 Fonctions de sécurité
Fournit les fonctionnalités de :
 d’attachement/détachement d’esclaves
 de basculement de rôle maître/esclave
 d’établissement des liaisons ACL/SCO
 de gestion des modes low-power : hold, sniff et park

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 23


Architecture : couche LMP
Configuration de la liaison :
 Définition des paramètres de liaison
 Qualité de service (QoS : Quality of Service)
 Contrôle de la consommation
Authentification des périphériques
Gestion des clefs de liaison

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 24


Architecture : piconet
Ensemble de périphériques connectés
de manière ad-hoc S M

Une unité se comporte en maître, les P

autres en esclaves, pour la durée de la SB


S S
connexion piconet
Le maître définit l’horloge et le saut de P

fréquence M=Master P=Parked


S=Slave SB=Standby
Chaque piconet a un unique motif/ID de
saut
Chaque maître connecter jusqu’à 7
esclave simultanément ou 200+
esclaves inactifs (parqués)

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 25


Architecture : scatternet
Liaison de piconets co-localisés
partageant des périphériques maîtres
S M
ou esclaves
P
Un périphérique peut être à la fois
maître et esclave S
SB S

Radios are symmetric (same radio can


be master or slave) P

P
Système haute capacité : chaque
SB
piconet a une capacité maximale (720
M
Kbps)
S

M=Master P=Parked
S=Slave SB=Standby

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 26


Architecture : couche L2CAP
Logical Link Control and Adaptation Protocol :
Protocole de contrôle du lien logique et de l’adaptation
Fonctions de base :
 Multiplexage : plusieurs applications peuvent utiliser un même lien
entre deux périphériques simultanément
 Segmentation et ré-assemblage : réduction de la taille des paquets
fournis par l’application à la taille acceptée par la bande de base ;
L2CAP = 64 ko, BB = 2745 bits
 Qualité de service : les applications peuvent demander de la QoS sur
des paramètres tels bande passante, latence et retard ; L2CAP vérifie
si la liaison peut satisfaire la demande et l’effectue dans le cas où c’est
possible

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 27


Architecture : couche HCI
Module Bluetooth = carte séparée (PCI, USB)
Intègre les couches basses : radio, bde base, LMP
Les données doivent traverser un bus physique : nécessité
d’introduire deux couches supp :
 Driver HCI : driver pour le HCI, réside dans l’hôte (logiciel), formate les
données
 Host Controller Interface : réside dans le matériel bluetooth, accepte
les communications sur le bus physique

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 28


Architecture : couche HCI
Host Controller Interface : Interface contrôleur hôte
Hôte 1 Hôte 2
Bluetooth hôte Données utilisateur Bluetooth hôte

Wireless

Drivers des Drivers des


couches couches
supérieures Contrôleur Contrôleur supérieures
bande de base bande de base

Firmware link Firmware link


manager manager
HCI HCI
Drivers HCI Firmware HCI Firmware HCI Drivers HCI

Physique Physique
Bus physique Bus physique (USB,
Drivers de bus (USB, PCCard, etc.) PCCard, etc.)
Drivers de bus

Bus matériel Bus matériel


– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 29
Architecture : couche application
Les applications accèdent à la couche L2CAP directement ou
à travers un protocole tel RFCOMM, TCS ou SDP
Modèles d’utilisation :
 Téléphone trois-en-un : un seul combiné fonctionne comme intercom,
téléphone, ou mobile selon les services disponibles
 L’attaché-case : liaison portable / téléphone
 Synchronisation automatique
 Casques sans-fils
 Kits mains libre pour véhicule
 Domotique, partage de données lors de réunions, alarmes, systèmes
de sécurité, accès réseau en zones publiques

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 30


TM

Les profiles

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 31


Les profiles Bluetooth
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 (Local Area Network) Access Profile
 K10 : GOEP Generic Object Exchange Profile
 K11 : OPP Object Push Profile
 K12 : FTP File Transfer Profile
 K13 : SP Synchronization Profile

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 32


Les profiles Bluetooth
Aux profiles précédents on peut ajouter 12 profiles en phase
finale de développement :
 ESDP Extended Service Discovery Profile (Universal Plug & Play)
 A2DP Advanced Audio Distribution Profile
 AVRCP Audio Video Remote Control Profile
 BIP Basic Imaging Profile
 BPP Basic Printing 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 PAN (Personal Area Networking) Profile
 SAP SIM Access Profile

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 33


Les profiles Bluetooth
Generic Access Profile
TCS-BIN Based Profiles
Audio/Video Remote
Control Profile Cordless Telephony Profile

Intercom Profile
Ext. Service Discovery Profile (1)

Common ISDN Access Profile Hardcopy Cable Replacement Profile

Service Discovery App. Profile Generic Audio/Video Distribution Profile


Adv. Audio Distribution Profile
PAN Profile
ESDP (2) Video Distribution Profile

Serial Port Profile


SIM Access Profile

Headset Profile Generic Object Exchange Profile

File Transfert Profile


Hands-free Profile

Object Push Profile


Dial-up Networking Profile

Synchronization Profile
Fax Profile

LAN Profile Basic Imaging Profile


ESDP (3)
Basic Printing Profile

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 34


Les profiles Bluetooth
Il existe aujourd'hui 21 profiles Bluetooth, qui correspondent à
autant de fonctions possibles dans une connexion Bluetooth :

GAP (Generic Access Profile) : assure le fonctionnement


des couches de liaison basses.
 AVRCP (A/V Remote Control Profile)
 ESDP (Extended Service Discovery Profile)
 CIP (Common ISDN Acces Profile)
 SDAP (Service Discovery Application Profile) : permet à une
application au sein d'un équipement Bluetooth de découvrir les
services Bluetooth d'autres équipements et d'acquérir les données
nécessaires à l'établissement d'une connexion.
 PAN (Personal Area Network Profile)
 HCRP (Hardcopy Cable Replacement Profile)

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 35


Les profiles Bluetooth
Il existe aujourd'hui 21 profiles Bluetooth, qui correspondent à
autant de fonctions possibles dans une connexion Bluetooth :

GAVDP (Generic Audio/Video Distribution Profile)


 Advanced Audio Distribution Profile
 Video Distribution Profile
TCS-BIN Based Profiles
 CTP (Cordless Telephony Profile) : permet aux téléphones
cellulaires de fonctionner comme téléphones sans fil avec un PC ou
une station de base.
 IP (Intercom Profile) : offre une utilisation en mode interphone ou
talkie-walkie.

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 36


Les profiles Bluetooth
Il existe aujourd'hui 21 profiles Bluetooth, qui correspondent à
autant de fonctions possibles dans une connexion Bluetooth :

SPP (Serial Port Profile) : permet l'émulation d'un connecteur


série. 3HS (Headset) : communication sur oreillette.
 HP (Headset Profile) : permet l’utilisation de casques sans fil avec les
dispositifs audio (téléphones, lecteurs MP3)
 HFP (Hands Free Profile) : permet l’utilisation en mode mains libres
de dispositifs audio (téléphones, interphones, etc.)
 DNP (Dial-Up Networking Profile) : autorise la connexion à un
modem, ou l'utilisation d'un tél. mobile comme modem.
 FP (Fax Profile) : service fax.
 LAP (Local Area Network Profile) : donne accès au réseau local ou
permet le fonctionnement en mode réseau local.
 SAP (SIM Access Profile)

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 37


Les profiles Bluetooth
Il existe aujourd'hui 21 profiles Bluetooth, qui correspondent à
autant de fonctions possibles dans une connexion Bluetooth :

GOEP (Generic Object Exchange Profile) : profile générique


d'échange d'objets pour synchronisation, FTP, Push...
 FTP (File Transfer Profile) : service situé du côté de l'application qui
provoque un transfert de fichiers vers un équipement Bluetooth.
 OPP (Object Push Profile) : service situé du côté de l'application qui
fait du Push vers un appareil Bluetooth, typiquement pour l'expédition
d'une carte de visite.
 SP (Synchronisation Profile) : service situé du côté de l'application
qui lance une opération de synchronisation vers un équipement BT.
 BIP (Basic Imaging Profile) :
 BPP (Basic Printing Profile) :

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 38


TM

Établissement d’une
connexion

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 39


Établissement d’une connexion
Exemple d’un connexion réseaux : récupération des mails
Les différentes étapes de la connexions :
 Inquisition (Inquiry)
 Paging
 Établissement de la liaison (Link establishment)
 Découverte de services (Service discovery)
 Canal L2CAP
 Canal RFCOMM
 Sécurité
 PPP
 Protocoles réseaux

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 40


Établissement d’une connexion
Inquisition (Inquiry) : Le dispositif qui atteint un nouvel
environnement initie une inquisition afin de trouver les points
d’accès accessibles :
 Tous les points d’accès présents répondent par leur adresse
 Le dispositif choisit l’un des points d’accès qui répondent
Paging
 Procédure en bande de base
 Synchronisation du dispositif avec le point d’accès
 Offset et phase d’horloge du saut de fréquence
Établissement de la liaison
 LMP, Liaison synchrone (SCO) ou asynchrone (ACL)
Découverte de services
 Le LMP utilise le SDP (Service Discovery Protocol) afin de découvrir
les services disponibles sur ce point d’accès

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 41


Établissement d’une connexion
Canal L2CAP
 À partir des information du SDP, un canal L2CAP est créé vers le point
d’accès
 Directement utilisé par l’application ou via un autre protocole (ex:
RFCOMM)
Canal RFCOMM : permet l’émulation d’un port série au-
dessus de L2CAP
Sécurité : appairage (pairing) à l’aide d’un code PIN :
génération d’une clef à partir du code PIN, et cryptage si
nécessaire
PPP : l’application habituelle peut utiliser PPP au dessus de la
couche RFCOMMM
Les protocoles réseaux habituels : TCP/IP, etc. peuvent être
utilisés pour envoyer des données via la liaison établie

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 42


Établissement d’une connexion
Diagramme d’état des différents modes

standby

page scan inquiry


page
inquiry scan

master response

inquiry response

slave response

connected

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 43


TM

Les états de
fonctionnement

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 44


Les états standby

inquiry
Standby : repos page
page scan

inquiry scan
 État par défaut d’un
master response
périphérique Bluetooth inquiry response

 Seule l’horloge native est active : slave response

la consommation est alors réduite


au maximum connected

 Cet état conduit aux états suivants :


 Inquiry inquiry

 Inquiry scan inquiry scan

 Page page

 Page scan page scan

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 45


Les états standby

inquiry
Inquiry : interrogation page
page scan

inquiry scan
– Envoi d’un paquet inquiry
master response
adressé soit au GIAC
inquiry response
(General Inquiry Access Code),
slave response
soit au DIAC (Dedicated Inquiry
Access Code) qui concerne une connected
classe particulière de périphériques

PAQUET INQUIRY
PAQUET INQUIRY

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 46


Les états standby

inquiry
Inquiry : interrogation page
page scan

inquiry scan
– Répété à 16 fréquences
master response
différentes : séquence de
inquiry response
saut d’inquisition (inquiry hop
slave response
sequence) appelé train. Un péri-
phérique qui peut être interrogé connected
écoute l’une de ces 16 fréquences

PAQUET INQUIRY 16 Écoute sur la fréquence 3


Fréquence 16

PAQUET INQUIRY 3
Fréquence 3

PAQUET INQUIRY 2
Fréquence 2

Maître PAQUET INQUIRY 1 Esclave


Fréquence 1

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 47


Les états standby

inquiry
Inquiry : interrogation page
page scan

inquiry scan
– La transmission est effec-
master response
tuée en alternance sur les
inquiry response
différents slots, les slots inter-
slave response
médiaires étant utilisés pour
l’écoute de la réponse éventuelle connected

réponse ?

PAQUET INQUIRY 16
Fréquence 16

réponse ?
PAQUET INQUIRY 3
Fréquence 3 réponse ?

PAQUET INQUIRY 2
Fréquence 2 réponse ?

Maître PAQUET INQUIRY 1 Esclave


Fréquence 1

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 48


Les états standby

inquiry
Inquiry : interrogation page
page scan

inquiry scan
– Deux trains de sauts de
master response
fréquence : A et B ; chaque
inquiry response
train est répété 256 fois pour
slave response
récupérer toutes les réponses.
connected

TRAIN A : 256 FOIS TRAIN B : 256 FOIS


réponse ? réponse ?

PAQUET INQUIRY 16 PAQUET INQUIRY 16


Fréquence 16 Fréquence 16

réponse ? réponse ?
PAQUET INQUIRY 3 PAQUET INQUIRY 3
Fréquence 3 réponse ? Fréquence 3 réponse ?

PAQUET INQUIRY 2 PAQUET INQUIRY 2


Fréquence 2 réponse ? Fréquence 2 réponse ?

Maître PAQUET INQUIRY 1 PAQUET INQUIRY 1 Esclave


Fréquence 1 Fréquence 1

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 49


Les états standby

inquiry
Inquiry : interrogation page
page scan

inquiry scan
– Le temps total requis pour
master response
cette opération est de 10,24
inquiry response
secondes mais si un nombre
slave response
suffisant de réponses est récolté
dans un intervalle de temps plus faible, connected
l’inquiry peut être interrompu.

Achèvement de l’interrogation

réponse ?
PAQUET INQUIRY 3
Fréquence 3 réponse ?

PAQUET INQUIRY 2
Fréquence 2 réponse ?

Maître PAQUET INQUIRY 1 Esclave


Fréquence 1

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 50


Les états standby

inquiry
Inquiry scan : page
page scan

inquiry scan
recherche d’ interrogation master response

 cet état ne concerne que les inquiry response

dispositifs qui s’autorisent à slave response

être découverts par la procédure


connected
d’inquiry

réponse ?

PAQUET INQUIRY 16
Fréquence 16
Écoute sur la fréquence 3

réponse ?
PAQUET INQUIRY 3
réponse ? Fréquence 3

?
PAQUET INQUIRY 2
réponse ? Fréquence 2

Maître PAQUET INQUIRY 1 Esclave


Fréquence 1

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 51


Les états standby

Inquiry scan : page


page scan inquiry

inquiry scan
recherche d’ interrogation master response
 entrée dans l’état d’inquiry inquiry response

scan : écoute sur une fréquence slave response

fixe dans l’attente de paquets


connected
d’inquiry.
 fréquence choisie parmi les 16 de la séquence de saut adéquate
(dépend de l’adresse du dispositif)
réponse ?

PAQUET INQUIRY 16
Fréquence 16
Écoute sur la fréquence 3

réponse OK
PAQUET INQUIRY 3
réponse ? Fréquence 3

?
PAQUET INQUIRY 2
réponse ? Fréquence 2

Maître PAQUET INQUIRY 1 Esclave


Fréquence 1

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 52


Les états standby

inquiry
Inquiry scan : page
page scan

inquiry scan
recherche d’ interrogation master response

 attente pendant un temps inquiry response

suffisant à la couverture de 16 slave response

fréquences
connected
 l’entrée dans l’état inquiry scan a lieu
depuis l’état standby ou l’état connected ; si elle se fait depuis l’état
connecté, les liaisons SCO en opération sont maintenues alors que les
liaisons ACL sont suspendues.
 la présence de liaisons SCO peut prolonger les procédures d’inquiry

Inquiry
travail travail Maître
scan

Esclave
Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 53


Les états standby

inquiry
Inquiry response : page
page scan

inquiry scan
réponse à l’interrogation master response

 un message d’inquiry est reçu inquiry response

lors de l’état inquiry scan slave response

 un paquet de réponse doit être


connected
envoyé après une attente correspondant
à un nombre aléatoire de slots afin d’éviter une collision éventuelle

Inquiry scan
Fréquence 3

PAQUET INQUIRY RESPONSE


Fréquence 4

PAQUET INQUIRY
Fréquence 3

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 54


Les états standby

inquiry
Inquiry response : page
page scan

inquiry scan
réponse à l’interrogation master response

 Le paquet FHS contient inquiry response

l’adresse du dispositif, son slave response

horloge, et des informations


connected
concernant la façon dont il accède aux
états page scan.

Adresse
Horloge
Informations
PAQUET INQUIRY RESPONSE
Fréquence 4

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 55


Les états standby

inquiry
Inquiry response : page
page scan

inquiry scan
réponse à l’interrogation master response

 Après avoir émis sa réponse, inquiry response

il poursuit la phase d’inquiry slave response

scan sans attendre d’acquittement.


connected
 Le dispositif en phase
d’inquiry peut ensuite continuer cette procédure aussi longtemps
qu’il le désire. Il pourra utiliser les informations contenues dans la
réponse plus tard, pour passer à l’état page.

Inquiry scan

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 56


Les états standby

inquiry
Page : mise en page page
page scan

inquiry scan
 Nécessite uniquement
master response
l’adresse du dispositif cible, inquiry response

mais la connaissance de son slave response

horloge accélère la procédure


 Le dispositif initiant la mise en page connected

(paging) est appelé « maître ». À partir de l’information sur l’horloge, il


détermine à quel endroit de la séquence de sauts l’esclave est en train
d’écouter en mode page scan. Cette estimation peut se révéler fausse.

Écoute sur la fréquence 3


Page
Fréquence estimée

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 57


Les états standby

inquiry
Page : mise en page page
page scan

inquiry scan
 Le maître détermine le Code
master response
d’Accès au Dispositif (DAC) inquiry response

de l’esclave à partir de son slave response

adresse.
 Le maître envoie un message de page. connected

 Il transmet ce message à un nombre de fréquences de la séquence de


sauts, à partir de la fréquence d’écoute estimée.
PAQUET PAGE +n
Fréquence estimée + n Fréquence d’écoute ?

Page
PAQUET PAGE 0
Fréquence estimée

PAQUET PAGE -1
Fréquence estimée - 1

Maître PAQUET PAGE -n Esclave


Fréquence estimée - n

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 58


Les états standby

inquiry
Page : mise en page page
page scan

inquiry scan
 La séquence de sauts
master response
consiste en 32 fréquences inquiry response

divisées en deux trains de 16. slave response

 Le train A inclut les 16 fréquences


entourant la fré- connected
Train A Train B
quence prédite,
PAGE +n
et le train B les
fréquences
Fréquence d’écoute ?
restantes. PAGE +1
Page
PAGE 0

PAGE -1

Maître PAGE -n Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 59


Les états standby

inquiry
Page : mise en page page
page scan

inquiry scan
 Le maître ne sachant pas
master response
si l’esclave est en mode inquiry response

page scan, il répète le train slave response

Npage fois, sauf s’il reçoit une


réponse plus tôt. connected

 Si le train A échoue, la procédure est reprise avec le train B.


 La mise en page dure 1,28 s si le train A aboutit, 2,56 s sinon.

Fréquence d’écoute ?

Page

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 60


Les états standby

inquiry
Page scan page
page scan
inquiry scan
 Atteint depuis les états
master response
standby ou connecté. inquiry response

 L’esclave écoute les paquets de slave response

page adressés à son DAC pendant


un intervalle Tw-page-scan à une fréquence connected

sélectionnée parmi la séquence de page scan.

Page scan
PAGE +1

PAGE 0

PAGE -1

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 61


Les états standby

inquiry
Page response : page
page scan

inquiry scan
réponse à la mise en page master response
 Lorsque l’esclave reçoit le inquiry response

message de page, il répond slave response

par son paquet ID contenant son


connected
DAC à la fréquence du slot suivant le
message de page

Page response

PAGE

PAQUET ID

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 62


Les états standby

inquiry
Page response : page
page scan

inquiry scan
réponse à la mise en page master response
 Le maître entre dans l’état inquiry response

master page response. slave response

 Il connaît la fréquence à laquelle


connected
l’esclave est en train d’écouter
 Il envoie son paquet FHS à l’esclave pour l’informer de son horloge, en
utilisant le DAC de l’esclave, à la fréquence d’écoute de celui-ci.

FHS

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 63


Les états standby

inquiry
Page response : page
page scan

inquiry scan
réponse à la mise en page master response
 Le paquet FHS assigne à inquiry response

l’esclave une adresse de membre slave response

actif sur 3 bits


connected
 L’esclave acquitte de ce paquet en renvoyant
son ID à sa fréquence de réponse.
 Il utilise utilise le paquet FHS pour déterminer le code d’accès au canal
du nouveau piconet. Il calcule également l’offset de l’horloge à utiliser.

PAQUET ID

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 64


Les états standby

inquiry
Page response : page
page scan

inquiry scan
réponse à la mise en page master response
 Le maître envoie le paquet inquiry response

POLL à l’adresse de membre slave response

actif de l’esclave, en utilisant


connected
le saut de fréquence dépendant
de l’horloge du maître et le code d’accès au canal.
 L’esclave doit acquitter avec n’importe quel paquet (ex. : NULL)
 En cas de succès, la procédure est terminée et les dispositifs passent
en mode connectés.
POLL

NULL

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 65


TM

Les modes de
fonctionnement

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 66


Les modes de fonctionnement
Active mode
 L’unité participe activement au canal
 Maître et esclaves transmettent sur les différents slots en alternance
 Le maître transmet sur les slots pairs, l’esclave adressé sur les impairs
 Des transmissions régulières sont effectuées pour conserver la
synchronisation de l’esclave avec le canal
 Amélioration pour l’économie d’énergie : le maître informe l’esclave sur
l’instant où il sera adressé : l’esclave peut donc passer en mode sleep
d’ici là.
 Les esclaves actifs sont contactés par le maître par polling.

Maître Esclave

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 67


Les modes de fonctionnement
Sniff mode
 Mode faible consommation : activité d’écoute limitée
 Le LMP du maître fournit à l’esclave un intervalle Tsniff,un offset Dsniff, et
un nombre de tentatives Nsniff.
 L’esclave écoute les transmissions à un intervalle fixe Tsniff, sur le slot
d’offset Dsniff, et un nombre Nsniff de fois.
Hold mode
 Le lien ACL vers l’esclave est suspendu : l’esclave ne supporte donc
plus les paquets ACL sur le canal, mais les éventuelles liaisons SCO
continuent d’être supportées
 L’esclave conserve son adresse de membre actif.
 Le maître et l’esclave se mettent d’accord pour la durée du mode hold
après laquelle l’esclave revient en mode actif

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 68


Les modes de fonctionnement
Park mode
 Mode très basse consommation : l’activité est minimale
 L’esclave rend son adresse de membre actif et reçoit une adresse de
membre parqué sur 8 bits ainsi qu’une adresse de requête d’accès sur
8 bits également
 L’adresse de membre parqué est utilisée par le maître pour déparquer
l’esclave alors que l’adresse de requête d’accès est utilisée par
l’esclave afin de demander au maître d’être déparqué
 En plus de permettre l’économie d’énergie, le mode park permet au
maître d’avoir plus de 7 esclaves dans le piconet.

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 69


TM

Établissement de la
liaison

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 70


Établissement de la liaison
Dès l’état de connexion atteint
 Le LMP démarre l’établissement de la liaison : il utilise ses paquets
LMP envoyés par la bande de base à la place des paquets L2CAP
 Le paquet LMP consiste en un opcode, un ID de transaction, et un
contenu dépendant de l’opcode.
 Les paquets sont envoyés aux LMP plutôt qu’au L2CAP et aux couches
hautes.
 Les étapes d’établissement de la connexion peuvent résumées en :
 Les paquets POLL et leurs réponses sont utilisés pour échanger les
informations de configuration sans interaction de l’hôte
 Envoi de LMP_host_connect_request
 Réponse du disp. distant avec LMP_not_accepted ou LMP_accepted
 L’esclave qui répond peut demander l’échange des rôles. Le premier
dispositif répond avec un paquet approprié pour accepter ou refuser la
requête
 La liaison est maintenant établie au niveau du gestionnaire de liaison,
mais l’application peut ne pas savoir quels sont les services disponibles
– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 71
Service Discovery Protocol
Protocole de découverte des services
 L’environnement Bluetooth change rapidement
 Les services disponibles doivent être découvert
 SDP : moyen pour les applications de découvrir les services
disponibles ainsi que leurs caractéristiques
 Les périphériques proposant un service exécutent un serveur SDP, les
périphériques recherchant un service exécute un client SDP
 Un client est exécuté par application, mais un périphérique exécute un
seul serveur SDP qui maintient un enregistrement pour chaque service
proposé par le dispositif Bluetooth
 Un client peut demander à parcourir la liste des classes de services
disponibles, ou chercher une classe de services particulière.
 Lorsqu’il y a peu de services, ils peuvent ne pas être divisés en classes
et les handles sont directement envoyés à l’esclave, sinon des
descripteurs de classes sont envoyés et le client peut effectuer une
recherche détaillée au sein d’une classe.

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 72


Liaison L2CAP
Permet d’accéder aux services
 Ne permet d’établir que des liens ACL
 Reposent sur le concept de canal, identifié par :
 l’adresse du périphérique
 un identificateur de canal alloué au périphérique distant pour 1 connexion
 Chaque canal est full duplex, avec spécification de QoS dans les deux
directions,
 Basée sur des datagrammes, sans streaming.
 Un canal séparé est établi pour la demande de connexion, la
configuration, la déconnexion et l’écho
 Paquet L2CAP : peu de surcharge, pas de CRC
 S’appuie sur la bande de base pour la sécurité des données et la
livraison
 Interaction avec les autres couches : évènements et actions

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 73


Liaison L2CAP
 Évènements : messages reçus des couches inférieures (LMP ou HCI)
ou supérieures (applications)
 Actions : réponses aux évènements renvoyées par la couche L2CAP
Séquence pour l’établissement d’une connexion
 Évènement/Action 0 : demande de connexion d’une couche de plus
haut niveau, envoi d’un paquet de requête de connexion par le L2CAP
au L2CAP distant. Paquet transporté par la bande de base.
 Évènement / Action 1 : réception du paquet précédent par le L2CAP
distant, réponse par un paquet de réponse à la connexion. Le L2CAP
aura interrogé l’application cible avant de prendre en charge le paquet.
 Évènement / Action 2 : réception du paquet de réponse et demande
des paramètres de configuration (QoS)
 Évènement / Action 3 : demande de configuration et envoi de la
réponse à la demande de configuration. Le L2CAP peut envoyer sa
propre demande de configuration pour des paramètres additionnels
 Évènement / Action 4 : demande de configuration précédente et envoi
de la configuration
– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 74
Liaison L2CAP
Initiator LP LP Target

L2CA_ConnectReq
LP_ConnectReq LMP
LP_ConnectInd

LP_ConnectCfm
LP_ConnectRsp
L2CAP_ConnectReq

L2CA_ConnectInd
[W4_L2CA_ConnectRsp]
[W4_L2CAP_ConnectRsp]
L2CA_ConnectRsp
L2CAP_ConnectRsp

L2CA_ConnectCfm

[CONFIG]

L2CA_ConfigReq
L2CAP_ConfigReq
L2CA_ConfigInd
[CONFIG] L2CAP_ConfigRsp
L2CA_ConfigCfm L2CA_ConfigRsp
L2CAP_ConfigReq
L2CA_ConfigInd L2CA_ConfigReq

L2CA_ConfigRsp
L2CAP_ConfigRsp

L2CA_ConfigCfm

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 75


Liaison L2CAP
Initiator LP LP Target
Data

[OPEN] Data

Data
[OPEN]

L2CA_DisconnectReq
L2CAP_DisconnectReq
L2CA_DisconnectInd

[W4_L2CAP_DisconnectRsp] [W4_L2CA_DisconnectRsp]
L2CAP_DisconnectRsp L2CA_DisconnectRsp

L2CA_DisconnectCfm
[CLOSED] [CLOSED]

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 76


TM

Sécurité

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 77


Sécurité
Réseau sans fil : accessible à tous
 Les communications doivent être cryptées
 L’accès aux périphériques doit être restreint aux dispositifs autorisés
 Ces deux fonctions sont prises en charge par la bande de base,
l’application pouvant crypter elle-même les données pour augmenter la
sécurité
 4 valeurs sont utilisées :
 L’adresse du dispositif, publique
 Une clef d’authentification sur 128 bits, privée
 Une clef de cryptage configurable de 8 à 128 bits, privée
 Un nombre aléatoire
 La procédure nécessite de connaître un code PIN pour pouvoir accéder
à un périphérique

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 78


Sécurité
Principale étapes de la procédure
 Une clef d’initialisation est générée à l’aide du code PIN, de la longueur
du code PIN, d’un nombre aléatoire et de l’adresse du périphérique
 Une procédure d’authentification est engagée par le vérifieur en
utilisant une technique de réponse à un challenge :
 Un nombre aléatoire est envoyé par le vérifieur
 À partir de ce nombre, de la clef d’initialisation, et de l’adresse, le
demandeur peut générer une réponse connue par le point d’accès
 Cette réponse est renvoyée et vérifiée par le vérifieur
 Le demandeur peut initier une procédure d’authentification du vérifieur
équivalente

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 79


Sécurité
Principale étapes de la procédure
 Chaque unité Bluetooth possède une clef unit key stockée en ROM ;
celle-ci est cryptée à l’aide de la clef d’initialisation puis envoyée à
l’autre unité qui la décrypte à l’aide de la clef échangée précédemment
 Le second dispositif combine cette clef avec sa propre unit key afin de
générer un clef de liaison, si les deux périphériques gèrent cette
technique ; sinon l’une des deux clefs sert de clef de liaison
 La clef de liaison est communiquée au premier dispositif et la clef
d’initialisation est annulée
 Une clef de cryptage est générée à partir de la clef de liaison, d’un
nombre aléatoire, et d’un nombre généré par une procédure prédéfinie.
 Cette clef de cryptage peut être générée indépendamment par les deux
dispositifs sans échange d’information
 La clef d’authentification (de liaison) peut être conservée en mémoire
pour une liaison ultérieure : toutes les étapes de génération et
d’échange de clefs seront alors inutiles

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 80


Génération de la clef de liaison
Génération de la clef d’initialisation
 Une clef d’initialisation est générée à l’aide du code PIN, de la longueur
du code PIN, d’un nombre aléatoire et de l’adresse du demandeur

PIN L’
8L’

128 Mode 2
IN_RANDA

BD_ADDRB E 22

128

KINIT : clef d’initialisation

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 81


Génération de la clef de liaison
Authentification

VÉRIFIEUR (A) DEMANDEUR (B)


AU_RANDA
AU_RANDA AU_RANDA

BD_ADDRB E1 E1 BD_ADDRB
SRES
KINIT KINIT

ACO SRES’ =? SRES SRES ACO

ACO : Authenticated Ciphering Offset


– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 82
Génération de la clef de liaison
Génération de la clef d’unité
 Une clef d’unité est génération lors de la première mise en service de
l’appareil, puis conservée dans une mémoire non volatile

128 Mode 1
RAND
48
BD_ADDR E 21

128

CLEF_UNITÉ

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 83


Génération de la clef de liaison
Génération de la clef de liaison
 la clef d’unité est utilisée pour générer la clef de liaison, en utilisant
l’une ou l’autre des deux méthodes suivantes :
 si une des deux unités a une très faible mémoire, alors sa clef d’unité est
cryptée à l’aide de la clef d’initialisation, puis utilisée comme clef de liaison

UNITÉ A UNITÉ B
KINIT KINIT

KA KBA = KA

- KBA = KA ⊕ KINIT ⊕ KINIT = KA

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 84


Génération de la clef de liaison
Génération de la clef de liaison
 la clef d’unité est utilisée pour générer la clef de liaison, en utilisant
l’une ou l’autre des deux méthodes suivantes :
 si les deux unités le supportent, une clef combinée dépendant des clefs
d’unité des deux dispositifs est utilisée :
• Les deux unités génèrent deux clefs aléatoires LK_RANDA et LK_RANDB
• les clefs LK_KA et LK_KB sont créées à partir des clefs précédentes et de
BD_ADDRA et BD_ADDRB, via l’algorithme E21.
- LK_KA = E21(LK_RANDA, BD_ADDRA)
- LK_KB = E21(LK_RANDB, BD_ADDRB)
• Les nombres LK_RANDA et LK_RANDB sont échangés en leur appliquant un
XOR avec la clef de liaison courante :
- A envoie K ⊕ LK_RANDA
- B envoie K ⊕ LK_RANDB
• Chaque unité peut donc reconstituer la clef LK_RANDx de l’autre unité, et créer
la clef de liaison finale par simple XOR entre les deux clefs d’unité :
- KAB = LK_KA ⊕ LK_KB
- KBA = LK_KB ⊕ LK_KA

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 85


Génération de la clef de cryptage
Générée pour chaque nouvelle liaison
 Dérivée de la clef de liaison courante, de l’offset de chiffrement (COF :
Ciphering Offset) de 96 bits et d’un nombre aléatoire de 128 bits, à
l’aide de l’algorithme E3 :
si la clef de liaison est celle du maître,
le COF est dérivé du BD_ADDR du
maître,
128 Mode 2
EN_RAND sinon, le COF prend la valeur de
96 l’ACO calculée lors de la procédure
COF E 22 d’authentification
128
KAB

128

KC : clef de cryptage

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 86


Génération de la clef de cryptage
Générée pour chaque nouvelle liaison
 Une nouvelle clef est générée

128 Mode 2
EN_RAND
96
COF E 22
128
KAB

128

KC : clef de cryptage

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 87


Bibliographie
Bluetooth Core Specification,
Bluetooth Profiles Specification,
[Link]
Bluetooth Primer, Aman Kansal
Renaud Bonnet, Les profiles Bluetooth, Décision Micro,
24/12/2002 : [Link]

– Camille Diou – LICM – Université de Metz – diou@[Link] – [Link] – 88

Vous aimerez peut-être aussi