Beruflich Dokumente
Kultur Dokumente
12 de octubre de 2011
Bluetooth
12 de octubre de 2011
1 / 42
Contenidos
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
2 / 42
Contenidos
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
2 / 42
Contenidos
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
2 / 42
Contenidos
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
2 / 42
Contenidos
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
2 / 42
Bluetooth
Estamos en:
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
3 / 42
Bluetooth
Introduccin
Bluetooth - Historia
En 1994, Ericson empez el estudio de una nueva tecnologa de radio, de bajo costo y consumo para conectar los teffonos mviles con sus accesorios En 1998, cinco compaas (Ericson, Nokia, Toshiba, Intel e IBM) forman SIG (Special Interest Group) Anunciado formalmente en mayo de 1998 y en julio de 1999 se lanz la especicacin de la versin 1.0 Actualmente, ms de 1900 empresas forman el SIG Llamado Bluetooth en honor al rey dans Harald Blatand (Harold Bluetooth en ingls) que unic Dinarmarca, Noruega y Suecia El logo proviene de la fusin entre las runas nrdicas que representan la H y la B ltima versin (2010): Bluetooth 4.0
Bluetooth
12 de octubre de 2011
4 / 42
Bluetooth
Introduccin
Introduccin
Tecnologa wireless de corto alcance, baja potencia, velocidades bajas y bajo costo Capa fsica opera en la banda ISM (Industrial, Scientic and Medical) de 2,4 Ghz Emplea FHSS (Frequency-Hopping Spread Spectrum) Velocidades de 1 Mb/s (Basic Data Rate) y 2 3 Mb/s (Enhanced Data Rate) Provee conexiones punto-a-punto o punto-multipunto Transmisin de datos en paquetes Canal fsico dividido en slots. Paquetes entre dispositivos se envan en estos slots Conexiones Non Line of Sight (NLoS) Utiliza esquema Time-Division Duplex (TDD) para transmitir
Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 5 / 42
Bluetooth
Arquitecturas
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 6 / 42
Bluetooth
Arquitecturas
Arquitectura
El Bluetooth Core consiste de dos partes:
Host Controller (uno o ms)
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 7 / 42
Bluetooth
Arquitecturas
BR/EDR
Opera en la banda no licenciada de 2,4 Ghz (ISM) Dos modos de modulacin denidos con igual symbol rate (1 Mbit/s):
Basic Rate: 1 Mbit/s. Obligatorio Enhanced Basic Rate: 2 3 Mbits/s segn tipo de modulacin. Opcional
Ambos modos usan Time Division Duplex half- duplex EDR: modulacin es cambiada en el medio del paquete Ocupa la banda de frecuencias 2,4 - 2,485 (f = 2, 402 + k , k = 0, 1, 2, ..., 78) FHSS: 79 canales (puede variar segn el pas) Cada canal ocupa 625 microsegundos
Bluetooth
12 de octubre de 2011
8 / 42
Bluetooth
Arquitecturas
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 9 / 42
Bluetooth
Arquitecturas
Piconets
Dos o ms dispositivos compartiendo el mismo canal fsico (physical channel) forman un piconet Un dispositivo funciona como master, el resto son slaves (hasta un mximo de 7 slaves activos) Pueden existir ms dispositivos, hasta 255, conectados en estado parked Piconets con dispositivos en comn: scatternet No se especica el ruteo entre las distintas piconets que forman una scatternet
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 10 / 42
Bluetooth
Arquitecturas
Piconets Clock
Cada dispositivo Bluetooth tiene un reloj nativo, CLKN, que deriva de un reloj free ejecutando en el sistema Determina periodos crticos y dispara eventos en el dispositivo CLK es el reloj maestro de la piconet. Todas las actividades de la piconet estn programadas de acuerdo a este reloj CLK es derivado del CLKN. Cada slave agrega un offset a su CLKN para obtener su CLK CLKN del master es el CLK de la piconet Master de una piconet nunca actualiza su clock Slaves actualizan su CLKN cada vez que reciben un frame del master
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 11 / 42
Bluetooth
Arquitecturas
Solamente se puede utilizar uno de esos canales por vez Un dispositivo est conectado a un physical channel si est sincronizado al timing(ritmo), frecuencia y access code de ese canal
Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 12 / 42
Bluetooth
Arquitecturas
Formato paquetes
Bluetooth
12 de octubre de 2011
13 / 42
Bluetooth
Arquitecturas
Direccionamiento
Dividida en 3 partes:
LAP: Lower Address Part UAP: Upper Address Part NAP: Non-signicant Address Part
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 14 / 42
Bluetooth
Arquitecturas
Physical Links
Un physical link se forma entre el master y un slave, nunca entre slaves Siempre est asociado a un solo physical channel Tienen propiedades comunes que se aplican a todos los logical transports en ese physical link Estas propiedades son:
Power control Supervisin del enlace Cifrado Cambio de velocidad basado en la calidad del canal
Bluetooth
12 de octubre de 2011
15 / 42
Bluetooth
Arquitecturas
Logical Transports
Existen 5 tipos de logical transports entre el master y los slaves: Synchronous Connection-Oriented (SCO)
Conexin punto-a-punto simtrica entre el master y un slave especco Utilizados para transportar trcos con tiempos acotados Master mantiene los SCO mediante el uso de slots reservados en intervalos regulares No realiza retransmisiones Master puede soportar hasta 3 SCO con el mismo o diferentes slaves Slave puede soportar hasta 3 SCO con el mismo master 2 con diferente
Bluetooth
Arquitecturas
Logical Transports
Asynchronous Connection-Oriented (ACL)
Conexin punto-a-punto asimtrica entre el master y un slave Trabaja en los slots no reservados para SCO y eSCO Existe un slo ACL entre el master y un slave Permite la retransmisin de paquetes
Bluetooth
Arquitecturas
Bluetooth
12 de octubre de 2011
18 / 42
Bluetooth
Arquitecturas
Logical Links
Cada logical link est asociado con un logical transport Se denen 5 logical links:
Link Control (LC) ACL Control (ACL-C) User Asynchronous/Isochronous (ACL-U) User Synchronous (SCO-S) User Extended Synchronous (eSCO-S)
LC y ACL-C son utilizados a nivel de Link Control y Link Manager respectivamente Link control se mapea dentro del header del paquete (ARQ, ow control y caractersticas del payload), los dems en el payload ACL-U es usado para transmitir datos del usuario L2CAP ACL-U y ACL-C se diferencian por el Logical Link ID (LLID) (LLID = 01 => ACL-C) ubicado en la cabecera del payload ACL-C tiene ms prioridad que ACL-U
Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 19 / 42
Bluetooth
Arquitecturas
Link Manager
Es el responsable del control del link Bluetooth entre dos dispositivos Intercambio de informacin es mediante el Link Manager Protocol Se utiliza para el establecimiento y el control de los logical transport y logical links y para el control de los physical links Mensajes LMP son intercambiados usando el logical link ACL-C en el default ACL logical transport No se propagan directamente hacia las capas superiores, mensajes LMP son interpretados por la LM LMP opera en trmino de transaccin No realiza control de errores sobre sus mensajes Tambin se encarga de intercambiar mensajes de seguridad
Bluetooth
12 de octubre de 2011
20 / 42
Bluetooth
Arquitecturas
L2CAP
Realiza las siguientes tareas:
Provee servicios de datos orientados a conexin y sin conexin a las capas superiores Capacidad de multiplexacin Segmentacin y reensamblado Retransmisin y control de ujo (opcionales) Quality of Service
Provee canales lgicos, L2CAP channels, que son multiplexados sobre uno o ms links lgicos CID (Channel Identier): cada uno de los puntos nales de un canal L2CAP
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 21 / 42
Estamos en:
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
22 / 42
Access Code
Access Code
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 24 / 42
Packet Header
Packet Header
Est compuesto de 6 campos y contiene informacin de la capa Link Control Longitud de 18 bits, pero codicado con 1/3 FEC 54 bits
LT_ADDR: indica la direccin del slave TYPE: indica el tipo de paquete FLOW: control de ujo en los canales ACL (FLOW=0 STOP) ARQn: informa al origen de una transferencia exitosa SEQn: provee un esquema de numeracin secuencial HEC: Header error-check. Permite vericar la integridad de la cabecera
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 25 / 42
Packet Header
Packets Types
15 tipos de paquetes especcos para cada logical transport Se los agrupa en segmentos segn la cantidad de slots que ocupan
Bluetooth
12 de octubre de 2011
26 / 42
Packet Header
Payload Format
En el payload se distinguen dos campos:
Campo con datos asincrnicos solamente (paquetes ACL) Campo con datos sincrnicos solamente (paquetes SCO o eSCO)
Excepcin: existe un paquete, DV, que transporta ambos campos SCO slo se soporta en el modo BR, tiene una longitud ja y no contiene cabecera en el payload eSCO soportado en BR y EDR:
BR: contiene dos segmentos: datos sincrnicos y cdigo CRC. No hay cabecera presente EDR: 5 segmentos: tiempo de guarda, secuencia de sincronizacin, datos sincrnicos, cdigo CRC y un trailer. No hay cabecera presente
Packet Header
Payload Header
Puede ocupar 1 2 bytes de longitud.
1 byte: Basic Rate en segmentos 1 y 2 2 bytes: segmentos 3 y 4 y en todos los paquetes EDR
Bluetooth
12 de octubre de 2011
28 / 42
Packet Header
Fuente grco: Bluetooth Specication v4.0 - www.bluetooth.org Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 29 / 42
Estamos en:
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
30 / 42
Procedimiento Inquiry
Inquiry Procedure: procedimiento usado por un dispositivo para descubrir qu otros dispositivos estn en su rea de cobertura El inquiring device enva mensajes inquiry, comienzan con el access code GIAC o DIAC, en una determinada secuencia de saltos Aunque no est denido previo a la conexin, el inquiring device ser el master y slave el inquiry scanning device Un dispositivo discoverable escanea la secuencia inquiry hop, inquiry scan El tiempo de permanencia en una frecuencia lo determina el CLKN del scanning device y la secuencia de saltos la determina el GIAC Al reconocer un mensaje inquiry, contesta con un frame FHS (Frequency Hop Synchronization) que contiene la informacin necesaria para que el inquiring device puede realizar el siguiente paso Mensaje inquiry es annimo. No hay ACK Inquiring Device almacena los datos recolectados
Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 31 / 42
Procedimiento Page
Con la informacin obtenida se puede conectar a un dispositivo en particular enviando un mensaje page Aunque no est determinado, el paging device ser el master y el page scanning device el slave Paging device utiliza informacin recibida del page scanning device en el FHS para determinar el access code de los mensajes de paging Master transmite mensajes paging correspondientes al slave a ser conectado en dos frecuencias distintas por slot. 3200 hops por segundo Espera respuesta del slave en esas frecuencias. Sino recibe nada se mueve a otra frecuencia y realiza el mismo proceso Si escucha una respuesta, en el prximo slot enva un paquete FHS para pasarle, entre otros datos, su clock y su BD_ADDR
Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 32 / 42
Bluetooth
12 de octubre de 2011
33 / 42
Ejemplo funcionamiento
Bluetooth
12 de octubre de 2011
34 / 42
Estamos en:
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
35 / 42
BitStream Processing
El transmisor realiza varios procesamientos de los bits para mejorar la conabilidad y seguridad de los mismos Se aplican distintos procesos al header y al payload Header:
Se agrega un HEC Data Whitening Se aplica una cdigo FEC
Payload:
Se genera el CRC (opcional) Encriptacin (opcional) Data Whitening Se aplica un cdigo FEC (opcional)
Bluetooth
12 de octubre de 2011
36 / 42
BitStream Processing
Primero se controla si el Access Code es correcto. Se chequea si el LAP es correcto, si pertenece al master HEC y CRC son inicializados con el UAP del master
Bluetooth
12 de octubre de 2011
37 / 42
Correcciones de errores
Las cabeceras de los paquetes son siempre protegidos por el 1/3 rate FEC 2/3 rate FEC es utilizado en determinados paquetes: DM, DV payload, HV2 y EV4
Bluetooth
12 de octubre de 2011
38 / 42
Esquema ARQ
DM, DH y EV sern transmitidos hasta que se recibe un ACK o el timeout es excedido La informacin del ACK es incluida en la cabecera del paquete siguiente Slo se utiliza el esquema ARQ si el paquete tiene CRC ACK (ARQ=1) o NAK (ARQ=0) es retornado en respuesta a la recepcin de un paquete A los paquetes broadcast se les chequea el CRC, pero no se aplica ningn esquema ARQ Bit SEQN permite detectar payloads duplicados
Bluetooth
12 de octubre de 2011
39 / 42
Power Control
Sniff Mode
Slave escucha en intervalos regulares, Tsniff, por un instante corto de tiempo, sigue en estado activo en la red. Mantiene su LT_ADDR Enva y/o recibe datos, luego se vuelve a dormir Adems, permite que el slave se pueda re-sincronizar con la piconet
Hold Mode
Slave contina sincronizado a la piconet. Mantiene la direccin de logical transport (LT_ADDR) Slave deja de estar activo en la piconet durante un tiempo determianado. Cuando se vence este tiempo, el dispositivo vuelve a estar activo
Park Mode
Slave sigue sincronizado con el canal pero no participan en el mismo Mensaje enviados a una estacin parked son enviados sobre el canal especco Slave libera su LT_ADDR
Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 40 / 42
Bluetooth Security
Estamos en:
1
Bluetooth Introduccin Arquitecturas Formato y tipo de paquetes Access Code Packet Header Establecimiento red Bluetooth Procedimientos Inquiry y Page Control y correccin de errores Bluetooth Security
4 5
Bluetooth
12 de octubre de 2011
41 / 42
Bluetooth Security
Modos de seguridad
Las distintas versiones de las especicaciones Bluetooth denen 4 modos de seguridad Cada dispositivo debe operar en uno de los 4 modos:
Security Mode 1: sin seguridad. No se realiza autenticacin ni cifrado. Soportado en la versin 2.0 + EDR y anteriores Security Mode 2: seguridad forzada a nivel de servicio. Procedimientos de seguridad son iniciados despus que se estableci el link LMP, pero antes del establecimiento del canal L2CAP. Security Mode 3: seguridad a nivel de link. Autenticacin y cifrado obligatorio para todos las conexiones. Security Mode 4: similar al modo 2. Seguridad obligatoria a nivel de servicio. Secure Simple Pairing (SSP) usa Elliptic Curve Dife Hellman para la generacin e intercambio de claves. Diferentes modelos de asociacin
Secure Simple Pairing simplica el procedimiento de pairing para el usuario Mejora la seguridad provista por el uso de un PIN de 16 valores alfanumrico Security Mode 2 y 3 usan un mtodo para generar las claves y el modo 4 utiliza otro
Marrone-Barbieri-Robles (LINTI UNLP) Bluetooth 12 de octubre de 2011 42 / 42