Spécification Bluetooth. Sécurité. Benoît Calmels.

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

La Couche Réseau.
Couche liaison de données
Protocole PPP* *Point-to-Point Protocol.
- Couche 4 - Couche transport. Sommaire 1) Caractéristiques de la couche transport 2) Les protocoles TCP & UDP 3) Méthode de connexion TCP.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
– Karima YAHIAOUI & Benjamin HOELLINGER - Les protocoles de sécurité
BAILLET Damien LOVERY Clément DESS IIR option Réseaux Promotion
Architecture de réseaux
Spécification Bluetooth. Sécurité.
LES TRANSMISSIONS DE DONNEES DANS LE SECTEUR INDUSTRIEL. ZOBRIST Julien TS1 ETA.
Les réseaux locaux sans fil : normes, domaines d'utilisation et enjeux
Partage de ressources par codes CDMA pseudo- aléatoires pour les réseaux ad-hoc Nicolas MARECHAL ème année Master ISSI INSA Lyon Encadrants : Jean-Marie.
BLUETOOTH IEEE
Généralités sur les réseaux sans fil
wireless sensor networks
Améliorer les performances du chiffrage à flot SYND
Plateforme de gestion de données de capteurs
BUS de TERRAIN CANOPEN.
Etude des Technologies du Web services
Prof : M.Trannoy - Professeur d'électrotechnique.
Le modèle O.S.I..
Interbus Présentation Patrick MONASSIER Université Lyon 1 France.
L'algorithme Blowfish.
Damier Alexandre & Lebrun Bastien
Architecture Réseau Modèle OSI et TCP.
Génération de séquences d’étalement
TRANSMISSION DES DONNEES.
LIAISON MODBUS.
Distributed Queue Dual Bus
Les relations clients - serveurs
Protocole 802.1x serveur radius
L’IEEE
802.1x Audric PODMILSAK 13 janvier 2009.
Le Modele OSI.
Le multiplexage Réalisé par: Amama Ahmed Bahria Mohamed Amine.
TCP – Transmission Control Protocol
Le chiffrement symétrique
La sécurité dans les réseaux mobiles Ad hoc
SECURITE DES RESEAUX WIFI
Cours 5 Le modèle de référence.
Sommaire Dans ce chapitre, nous aborderons :
La Technologie BLUETOOTH
Sommaire Qu’est-ce que c’est ? Historique L’objectif de bluetooth
Cours n° 2 Liaison de données et trames
Couche Transport (4) Routeur Messages entre A et B
GPS Bluetooth.
IPV6 MOBILE.
SURVEILLANCE VIDEO SUR RESEAU ETHERNET
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
1. Introduction Le traitement informatisé de données requiert un dialogue, une communication entre l’homme et la machine, et parfois, entre plusieurs.
– Karima YAHIAOUI & Benjamin HOELLINGER - Les protocoles de sécurité
Les Réseaux Informatiques
Commutation de circuits
Les réseaux PAN 3ème année de cycle d’ingénieur SET réseaux sans fils
Les réseaux personnels (PAN)
IPSec Formation.
Université Sidi Mohamed Ben Abdellah Faculté des Sciences et Techniques Fès Filière Ingénieur: Systèmes Electroniques et Télécommunications Réseaux Sans.
Université Sidi Mohamed Ben Abdellah Faculté des Sciences et Techniques Fès Filière Ingénieur: Systèmes Electroniques et Télécommunications Réseaux Sans.
Le Bluetooth ou IEEE
UE3-1 RESEAU Introduction
IPv6 IP Next Generation Xavier BUREAU & Emilien GUERRIER 11/01/2002.
17/04/2017.
L’horloge et type de transmission
Réseau Bluetooth 3ème année de cycle d’ingénieur SET réseaux sans fils
Bouchet Axel- 1ere Année Réseaux et Télécommunications
La sécurité du Wifi Le WEP Le WPA Le 802.1X.
Département Informatique Les Réseaux Informatiques Couche Transport Protocoles UDP & TCP Laurent JEANPIERRE.
Le WiFi [Présentation] [Sujet du cours : WiFi, et réseaux sans fils]
Bluetooth WPAN Boitel Olivier Fodouop Kamalogne Cédric
Transcription de la présentation:

Spécification Bluetooth. Sécurité. Benoît Calmels

Sécurité Bluetooth – Bilan des faiblesses Spécification Bluetooth. Introduction Les différentes couches Mécanismes de découverte et connexion La sécurité Bluetooth. Ce quon peut en attendre. Flexibilité, mise en place. Vulnérabilités Quelques services (profiles)

Introduction à Bluetooth Spécification de communications sans fil, courte distance et faible consommation dénergie, destinée à des éléments tels que PDA, téléphones, PC,… Développé à lorigine par Ericsson; création en 1998 du Bluetooth Special Interest Group, avec Ericsson, IBM, Intel, Nokia, Toshiba. Aujourdhui plus de 2000 entreprises y participent. Débit: Voix: 64kbps, Max 3 simultanément. Données: Symétrique: 433 kbps, Asymétrique: 723/57 kbps. Distance de transmission: 10 ~ 30 mètres.

Couche Physique Bande de fréquence des 2.4 GHz (micro-ondes) ISM (Industrial, Scientific & Medical) sans licence.

Introduction à Bluetooth Pile protocolaire:

Couche Physique Communication entre un maître et jusquà sept esclaves (piconet). Communication entre plusieurs piconet: scatternet.

Couche physique Time Division Duplex: Canal physique divisé en slots de 625μs. Communication alternée entre le maître et les esclaves.

Couche physique Possibilité d'émettre sur plusieurs slots (5 max)

Couche physique Canal de communication composé de 72 sauts de fréquences (Frequency Hopping): 1600 sauts par seconde. Séquence de sauts définie à partir de ladresse Bluetooth BD_ADDR du maître (48 bits). Position dans la séquence de saut (synchronisation) déterminée à laide de lhorloge du maître (27 bits). Modulation de fréquence (Gaussian Frequency Shift Keying).

Couche physique Bluetooth enhanced : AFH Adaptive frequency Hopping V1.2 de la norme Améliorer la cœxistence avec WiFi (partage de la bande des 2,4GHz) Pkt error rate Signal strength

Couche Liaison (Baseband) 2 types de liens : SCO : Synchronous Connection-Oriented link QoS de type commutation de circuit : réservation de slots. Transport de la voix. 64 kb/s. 1 Master et 3 esclaves T SCO : délai entre 2 envoies du Maître. Esclave répond dans le slot suivant. Pas de CRC, jamais retransmis. ACL : Asynchronous Connection-Less link. Transport de données. Utilise les slots non réservés par SCO Gestion de la retransmission de paquets endommagés. Débits: Symétrique : kbps, Asymétrique: (723.2kbps, 57.6kbps)

Baseband Adresse Bluetooth BD_ADDR 48 bits A la manière de IEEE802: LAP: Lower Address Part UAP: Uper Address Part NAP: Non-significant Address Part Ex: 00:80:98:24:53:BC

Baseband Format des paquets:

Baseband/Access Code Access Code: Identifie le canal de communication 3 types: CAC : Channel Access Code: – identification du piconet. – Généré à partir de du maître. DAC : Device Access Code: – utilisé dans la phase de paging. – Généré à partir de de l'unité visée. IAC : Inquiry Access Code : – utilisé dans la phase d'Inquiry – GIAC General IAC: utilisé pour la découverte d'autres unités – DIAC Dedicated IAC : utilisé pour la découverte des unités qui partagent des caractéristiques communes.

Baseband/Access Code Access Code: Préambule: 2 types suivant le 1 er bit suivant. Éviter un courant continu pour faciliter la sync.

Baseband/Access Code Sync word: À partir Bluetooth Différent suivant le type d'AC (IAC, DAC, CAC) Trailer: 2 types suivant le 1 er bit précédent. Pas forcement présent dans DAC, IAC. Utile pour les paquets de synchronisation (FHS).

Baseband/Header AM_ADDRESS: adresse temporaire d'une unité active du piconet 000 = broadcast. Type: 16 Interprétation selon SCO ou ACL. Donne le nombre de slots occupés par le paquet.

Baseband/Header/Type Type (suite): Paquets de contrôle 1 slot 3 slots 5 slots

Baseband/Header/Type Quelques paquets: ID: simplement Access Code DAC ou IAC: utilisé pour paging, inquiry. Donc pas dans le tableau précédent (pas de Header!)… NULL: AC+Header, payload = 0. Utilisé pour Ack des données. POLL: AC+Header, payload = 0. Impose une réponse (Ack) de la part du correspondant. FHS: synchronisation: fournit l'horloge de l'émetteur et DM1: contrôle et données sur SCO ou ACL. HV: dans les liens SCO: transport de la voix. DV: données et voix. Retransmission possible des données, pas de la voix. DM: dans les liens ACL: data ou contrôle. FEC (correction) + CRC (détection) DH: idem DH, sans le FEC.

Baseband/Header Flow Pour ACL Contrôle de flux (STOP) ARQN Pour acquitter des données SEQN Pour s'assurer qu'on acquitte bien la bonne trame: alterné après chaque transmission. Permet de détecter les doublons. HEC : Header Error Check (cf CRC)

Baseband/Payload Payload SCO: 240 bits, pas d'en-tête Payload ACL: Header: longueur de la charge utile, couche supérieure: LMP, L2CAP. 8 ou 16 bits. Body: octets. CRC : 16 bits. HeaderBodyCRC

Baseband/Payload Débits :

Établissement de connexion: découverte du voisinage. INQUIRY Unité "découvrable" dans l'état INQUIRY SCAN Parcours une séquence de sauts de fréquence définie à partir d'une adresse de référence, partagée par tous (LAP: 0x9E8B33). Séquence composée de 32 sauts. Change de fréquence tous les 1,28s Attend la réception d'un GIAC ou DIAC. Répond avec un paquet FHS et horloge) Unité qui effectue une découverte de réseau est dans l'état INQUIRY envoie des paquets ID, courts (simplement AC) envoie GIAC ou DIAC suivant le type d'unité cherché. n'envoie aucune info le concernant. durée de 10s max.

Établissement de connexion Paging Unité "connectable" dans l'état PAGE SCAN Parcours une séquence de sauts de fréquence définie à partir de SON adresse bluetooth. Séquence composée de 32 sauts. Change de fréquence tout les 1.28s écoute et attente de son DAC durant T w page scan. période de scan T page scan Après réception, passe dans l'état "Slave Response" puis répond avec un paquet "ID" contenant son DAC. Attend alors un Paquet FHS T w page scan T page scan f t

Établissement de connexion Paging Unité cherchant à se connecter dans l'état PAGE Envoi un "page" i.e. un paquet ID avec le DAC de l'équipement cible. – séquence de saut: connaît LAP (dérive de la BD_ADDR du futur esclave), suite à Inquiry ou mémorisé lors d'une communication antérieure. – phase :possède l'horloge (suite à Inquiry) du futur esclave ou approximation de l'horloge (mémorisée lors d'une communication précédente, mais dérive). Utilisation de trains de fréquences, centrés autour de la fréquence supposée: – trains A : f(k-8)… f(k).. f(k+7) – trains B : f(k-16).. f(k-9), f(k+8)…f(k+15)

Établissement de connexion Paging Unité cherchant à se connecter dans l'état PAGE paquets ID très courts : on en envoie 2 par slots attente d'une réponse ID avec le DAC du futur esclave répond avec un paquet FHS et passe dans l'état "Master Response"

Établissement de connexion

Sécurité Bluetooth – Bilan des faiblesses Spécification Bluetooth. Introduction Les différentes couches Mécanismes de découverte et connexion La sécurité Bluetooth. Ce quon peut en attendre. Flexibilité, mise en place. Vulnérabilités Quelques services (profiles)

Sécurité Assurer la sécurisation de la couche liaison Authentification des unités Bluetooth. Confidentialité des échanges. 3 niveaux pour mettre en place de façon flexible ces mécanismes: Mode 1: Pas de sécurité Mode 2: Sécurité au niveau service (après létablissement de la connexion L2CAP). Mise en place dun security manager qui gère les accès aux différents services: Ouvert à tous. Authentification nécessaire. Authentification et Autorisation nécessaires. Mode 3: Sécurité au niveau liaison (LMP)

Security Manager:

Sécurité Éléments intervenants: BD_ADDR (48 bits). Clefs de liaison (128 bits). K AB : combination key. K A : unit key. K MASTER : master key. K INIT : initialisation key. Clefs de chiffrement K C (8-128 bits). Aléas (128 bits). PIN (8-128 bits).

Sécurité Mise en place: Association de deux unités Bluetooth (bonding) Création dune clef dinitialisation. Création dune clef de liaison. Échange de la clef de liaison. Authentification. Création dune clef de chiffrement (optionnel). pairing. Connexion dunités déjà associées préalablement (possèdent déjà une clef de liaison): Authentification. Création dune clef de chiffrement (optionnel).

Sécurité Génération des clefs: utilisation de SAPHER+, Cylink. Chiffrement par blocs de 128 bits. Candidat à lAES, NESSIE. Utilisé dans : E 1 (Authentification). E 21 (Unit key, Combination key). E 22 (Initialisation, clef de groupe). E 3 (clef de chiffrement). Légère Modification de SAFER+ pour empêcher une réversibilité.

Sécurité E 0 : Chiffrement par flux: Composition: IV: Kc (8-128 bits), BD_ADDR (48 bits), aléa (128), horloge (26). Quatre LFSR: 25, 31, 33 et 39 bits. Un mélangeur. 2 niveaux. texte chiffré + IV texte clair G Vers chiffrant

Niveau 1: initialisation du niveau 2 Niveau 2: vers chiffrant

Sécurité Chiffrement de la payload: Format de la payload:

Sécurité Authentification, pairing A,B honnêtes, C attaquant. - Génération de K INIT : Une seule donnée secrète: le code PIN.

Sécurité - Création et échange de la clef de liaison: Échanges daléas chiffré par K INIT (Xor). - Authentification de B par A:

Faiblesses protocolaires Conséquences: Confidentialité perdue. Si C peut modifier sa BD_ADDR, une imposture est possible. Imposture possible sans avoir à recommencer une phase de pairing. Attaque réalisée off-line. Difficulté de réalisation: Écoute de la phase de pairing. PIN code « faible ». Parades: Éviter les endroits publics pour la phase dappariement. Couche logicielle. PIN bien choisi.

Faiblesses protocolaires Complexité des PINs:

Faiblesse des Unit Keys 3 unités A (ressources limités), B, C. Pairing de A avec C: Création de K INIT. A calcule K A à partir dun aléa et de sa BD_ADDR avec E 21. A négocie et fournit K A à C, qui devient la clef de liaison. Conclusion: C peut désormais écouter et déchiffrer toutes les conversations de A. Si C peut modifier sa BD_ADDR, il peut réaliser des impostures. C nest pas obligé de sappairer avec A, sil utilise lattaque précédente (pairing). Parades: Utilisation des Combination Keys sil ny a pas de contraintes matérielles réelles.

Déni de service Temps dattente après un échec de la phase dappariement: Usurper lidentité dun utilisateur légitime et effectuer des tentatives de connexion avec de mauvais paramètres (PIN/clefs erronés): le temps dattente croît exponentiellement Sur-consommation dénergie.

Cryptanalyse de E 0 Hypothèse de travail à clair connu Saarinen: Complexité de 2 100, avec 125 bits de message connu. Jakobsson et Wetzel Complexité de 2 66, avec 2 66 bits de message connu. Fluhrer et Lucks Complexité de 2 84 pour 132 bits de message connu. Complexité de 2 73 pour 2 43 bits connus. Krause Complexité de 2 77 pour 128 bits de connu. Études théoriques, restent inapplicables aujourdhui car trop complexes, ou nécessitent trop de clair connu.

Sécurité Bluetooth – Bilan des faiblesses Spécification Bluetooth. Introduction Les différentes couches Mécanismes de découverte et connexion La sécurité Bluetooth. Ce quon peut en attendre. Flexibilité, mise en place. Vulnérabilités Quelques services (profiles)

Link Manager Protocol Commandes pour la gestion de la connexion ou de la sécurité LMP_encryption_key_size_req LMP_switch_role LMP_max_power LMP_name_req

L2CAP Logical Link Control and Adaptation Protocol Protocol multiplexing: car non géré au niveau de la Baseband (pas de champs "type"). Segmentation et réassemblement : gérer les données des couches supérieures en fonction des différentes MTU possibles. Utilisation de Channels pour identifier les flux.

SDP Service Discovery Profile Donne les services disponibles sur un équipement, et le moyen de les obtenir. Service Class : donne le type de service (printer, headset, …) en fonction d'un code: Classe de serviceUUID Headset0x1108 Generic Audio0x1203 Cordless Telephony0x1109 GenericTelephony0x1204

Bluetooth Pour aller plus loin: