Dispositivo Bluetooth de bajo consumo (BLE)

La implementación del servicio de vinculación rápida de Google (GFPS) para dispositivos BLE es compatible con la especificación Bluetooth Core versión 4.2 o posterior.

El siguiente anexo a la especificación de Vinculación rápida permitirá la compatibilidad con dispositivos solo de baja energía (LE) y audio de baja energía (LEA) en GFPS.

Niveles de cumplimiento

A continuación, se explican las palabras clave “debe”, “debe”, “hará”, “debería”, “puede” y “puede” que se mencionan en la especificación:

Término Descripción
shall es obligatorio: Se usa para definir requisitos.
imprescindible se usa para expresar lo siguiente:
una consecuencia natural del requisito obligatorio indicado anteriormente
O
una declaración de hecho indiscutible (que siempre es verdadera independientemente de las circunstancias).
la es verdad que: Solo se usa en afirmaciones de hechos.
should Se recomienda: Se usa para indicar que, entre varias posibilidades, se recomienda una como particularmente adecuada, pero no es obligatoria.
mayo is permitted to: Se usa para permitir opciones.
lata Puede: Se usa para relacionar una afirmación de manera causal.

Característica de vinculación basada en claves

Mensaje del buscador al proveedor

La solicitud sin procesar type 0x00 de la característica de vinculación basada en claves usa el Bit 4 para indicar si el Seeker admite la especificación de dispositivo BLE y el Bit 5 para indicar si el Seeker admite audio de bajo consumo.

Octet Tipo de datos Descripción Valor ¿Es obligatorio?
0 uint8 Tipo de mensaje 0x00 = Solicitud de vinculación basada en claves Obligatorio
1 uint8 Marcas
  • Bit 0 (MSB): El buscador lo dejó de usar y lo ignora.
  • Bit 1: 1 si el buscador solicita que el proveedor inicie la vinculación y esta solicitud contiene la dirección BR/EDR del buscador. 0 en caso contrario.
  • Bit 2: 1 si el buscador solicita que el proveedor notifique el nombre existente. 0 en caso contrario.
  • Bit 3: 1 si es para escribir la clave de la cuenta de forma retroactiva. 0 en caso contrario.
  • Bit 4: 1 si el buscador admite la especificación del dispositivo BLE. 0 en caso contrario.
  • Bit 5: 1 si el buscador admite LE Audio. 0 en caso contrario.
  • Los bits 6 y 7 están reservados para uso futuro y se deben ignorar.
varía Obligatorio
2 a 7 uint48 Puedes hacer lo siguiente:
  • Dirección BLE actual del proveedor
  • Dirección de identidad del proveedor
varía Obligatorio
8 a 13 uint48 Dirección de BR/EDR del solicitante varía Presente solo si se establecieron los bits 1 o 3 de las marcas
n: 15 Valor aleatorio (sal) varía Obligatorio

Mensaje del proveedor al solicitante

Cuando se configura el bit 4 de la solicitud, se puede usar el nuevo mensaje de respuesta type 0x02 para la característica de vinculación basada en claves a fin de proporcionar opciones de vinculación adicionales al Seeker.

Octet Tipo de datos Descripción Valor
0 uint8 Tipo de mensaje 0x02 = Respuesta extendida de la vinculación basada en claves
1 uint8 Marcas
  • Bit 0 (MSB): 1 si el proveedor es un dispositivo solo de LE, de lo contrario, 0. Si el bit 0 se establece en 1, el buscador asumirá que el bit 1 está establecido en 1.
  • Bit 1: 1 si el proveedor prefiere la vinculación LE, 0 de lo contrario.
  • Bit 2: 1 si el tipo de dirección de la segunda dirección es aleatorio, 0 si es pública.
  • Los bits del 3 al 7 están reservados para uso futuro y se deben ignorar.
varía
2 uint8 Cantidad de direcciones del proveedor
(en la versión actual, el número es 1 o 2, ya que debemos modificar el modo de algoritmo de cifrado por bloques a AES-CTR si el número es >= 3)
varía
De 3 a 8 o
de 3 a 14
  • La primera dirección debe ser la dirección de identidad de la principal y debe vincularse si se prefiere la vinculación BR/EDR.
  • La segunda dirección debe ser la dirección secundaria si está disponible.
varía
9-15 o 15 Valor aleatorio (sal) varía

Un proveedor que admita la Especificación del dispositivo BLE debe leer los bits 4 y 5 para comprender las capacidades del buscador.

  • Cuando el bit 4 sea 0, el proveedor debe ignorar el bit 5 y responder con el formato type 0x01.
  • Cuando el bit 4 es 1,
    • En el caso del proveedor solo para LE, debe responder con type 0x02 para indicar la preferencia de vinculación de LE.
    • En el caso del proveedor de modo dual, puede responder con type 0x02 para indicar la preferencia de vinculación BR/EDR o LE.
  • Para casos de proveedores de modo dual de audio LE (LEA), consulta Ejemplo: Vinculación con un proveedor de modo dual de LEA como referencia.

Característica de PSM (multiplexor de servicio de protocolo) de flujo de mensajes

Para admitir la transmisión de mensajes en dispositivos BLE, Vinculación rápida establecerá y mantendrá un canal L2CAP BLE para enviar y recibir mensajes. El servidor L2CAP de Vinculación rápida debe implementar el control de flujo basado en créditos de LE.

Esta característica permite que el buscador lea el valor de PSM y, luego, establezca una conexión L2CAP segura según el valor de PSM.

Característica del servicio de Vinculación rápida Encriptado Permisos UUID
PSM de flujo de mensajes Leer FE2C1239-8366-4814-8EB0-01DE32100BEA
Octet Tipo de datos Descripción Valor
0 uint8 Estado
  • 0x00 = Desconocido FP Seeker volverá a intentarlo varias veces.
  • 0x01 = Listo para conectar
  • 0x02 = No disponible. FP Seeker no usará este componente para conectarse esta vez.
varía
1 - 2 uint16 El valor de PSM debe estar entre 0x80 y 0xFF. varía

Nota: Para TWS, hay dos componentes: el principal y el secundario. Las funciones de estos componentes son intercambiables en determinadas condiciones. Suponiendo que A es el componente principal y B es el secundario, debido al agotamiento de la batería en el componente A , el componente B debe asumir el rol de componente principal y esta situación se denomina role switch.

Después de role switch, si el proveedor no puede controlar el flujo de mensajes de Vinculación rápida, debe desconectar de forma proactiva la conexión L2CAP existente. Luego, el buscador de Vinculación rápida puede restablecer la conexión de flujo de mensajes L2CAP con el nuevo componente principal.

Característica de llave de acceso adicional

Esta característica es proporcionar protección contra MITM en los componentes adicionales.

Protección contra MITM de miembros falsos de CSIS

La Vinculación rápida requiere protección contra MITM como parte del procedimiento de vinculación. Como la CSIS no proporciona protección contra MITM, el diseño actual de la FP para varios componentes debe extenderse para proporcionar protección contra MITM en los componentes adicionales.

Definición de la característica

Característica del servicio de Vinculación rápida Encriptado Permiso UUID
Llave de acceso adicional Leer,escribir,notificar FE2C123A-8366-4814-8EB0-01DE32100BEA

Mensajes

El formato de mensaje se aplica a las operaciones de lectura, escritura y notificación.

Formato de datos encriptados

Los datos encriptados se envían mediante la conexión GATT de Vinculación rápida.

Octet Tipo de datos Descripción Valor
0-15 uint128 Bloqueo de llave de acceso adicional encriptado varía
Formato de datos sin procesar

Después de desencriptar los datos encriptados con el secreto compartido, el formato es el siguiente:

Octet Tipo de datos Descripción Valor
0 uint8 Tipo de mensaje uno de
  • 0x00 = Llave de acceso del buscador
  • 0x01 = Llave de acceso del proveedor
1-3 uint24 Llave de acceso de 6 dígitos varía
4-9 uint48 Dirección del componente de vinculación de destino varía
10 uint8 Código de estado, que solo usa la operación de lectura Uno de
  • 0x00 = Se completó correctamente
  • 0x01 = Pendiente. Reintento del buscador de FP hasta que se agote el tiempo de espera
  • 0x02 = Error. Se detuvo el reintento del buscador de FP
11-15 Valor aleatorio (sal) varía

El principal (primer componente vinculado) es el puente entre el buscador de vinculación rápida y los componentes de vinculación adicionales. La característica debe seguir las pautas:

  • Cuando reciba una solicitud de escritura del buscador de Vinculación rápida, el proveedor deberá hacer lo siguiente:
    • Establece la dirección del componente que se vinculará.
    • Envía la llave de acceso al componente que se vinculará.
    • Establece el código de estado como Pendiente, 0x01.
  • Cuando reciba una solicitud de lectura antes de recibir la llave de acceso del componente que se vinculará, el proveedor debe mostrar un mensaje con lo siguiente:
    • Llave de acceso, cualquier valor
    • Dirección del componente que se vincula
    • Código de estado pendiente, 0x01
  • Antes de que el proveedor envíe una notificación al buscador de Vinculación rápida, establece el resultado de la solicitud de lectura con
      .
    • Llave de acceso del componente que se vinculará
    • Dirección del componente que se vinculará
    • Código de estado de éxito, 0x00
  • Si hay algún error irrecuperable del proveedor, establece el resultado como
    • Llave de acceso, cualquier valor
    • Dirección del componente que se vinculará
    • Código de estado de error, 0x02

Consulta el diagrama 1 de MITM y el diagrama 2 de MITM para obtener más detalles.

Requisitos de los dispositivos LE

LE Advertising

En el modo detectable o el no detectable, el proveedor debe usar la RPA para anunciar los datos de FastPair.

Capacidad de vinculación

En el caso de los dispositivos compatibles con LE, el buscador debe crear una vinculación con la conexión LE existente. Después de aprobar la verificación de vinculación basada en llaves de Fast Pair, el proveedor debe permitir la vinculación con RPA y establecer la capacidad de E/S en DisplayYesNo para la verificación de llaves de acceso de Fast Pair.

Requisitos de los dispositivos de la LEA

LEA Advertising

Para dispositivos de modo dual: Para el modo detectable, el proveedor debe anunciar los datos de Vinculación rápida con la dirección de identidad. En el caso del modo no detectable, el Proveedor deberá anunciar los datos de Vinculación rápida con el RPA. Se recomienda usar anuncios heredados (BT 4.2) para admitir dispositivos más antiguos con fines de retrocompatibilidad. Es necesario cambiar el IRK cada vez que se restablece la configuración de fábrica del dispositivo.

Para dispositivos que no son de modo dual: Para el modo detectable o no detectable, el proveedor debe usar publicidad extendida (BT 5.0) con RPA para anunciar datos de FastPair.

El anuncio conectable LE que contiene datos del servicio de FP debe incluir el UUID de CAS de conformidad con el requisito del perfil de adaptador Bluetooth (BAP 1.0.1) y el perfil de audio común. En el caso de los anuncios no detectables, si no hay suficiente espacio disponible en el anuncio heredado debido a la inclusión de datos de batería y SASS, es obligatorio incluir el UUID de CAS en la respuesta de análisis en ese caso.

Capacidad de vinculación LEA

El buscador debe crear una vinculación con la conexión LE existente. Después de aprobar la verificación de vinculación basada en claves de Vinculación rápida, el proveedor de modo dual debe permitir la vinculación con la dirección de identidad y la RPA, mientras que el proveedor que no es de modo dual debe permitir la vinculación con la RPA y establecer la capacidad de E/S en DisplayYesNo para la verificación de llaves de acceso de Vinculación rápida.

Canal de comunicación interna entre componentes

Se mantiene la conexión GATT existente para realizar la protección de MITM en los componentes adicionales. El componente vinculado principal debe controlar las publicaciones de mensajes entre el buscador de Vinculación rápida y sus componentes restantes.

La comunicación interna se usa para Initial Pair y Subsequent Pair.

  • Cuando el procedimiento de vinculación basada en claves pasa en el componente principal, este debe enviar un mensaje para cambiar la capacidad de E/S de los componentes restantes.
  • Cuando se complete la vinculación rápida, el componente principal deberá enviar un mensaje para restablecer la capacidad de E/S de los componentes restantes.
  • Cuando se ejecuta el procedimiento de llave de acceso adicional, el componente principal debe controlar las entregas de llaves de acceso entre el buscador de vinculación rápida y sus componentes restantes.

Es hora de cambiar la capacidad de E/S

  • Se cambió la capacidad de E/S a DisplayYesNo cuando se aprobó el procedimiento de vinculación basada en claves.
    • Si el dispositivo tiene varios componentes, todos los componentes se deben configurar en DisplayYesNo
    • Una excepción en la que el proveedor no debe cambiar la capability de E/S a DisplayYesNo es Retroactive Pair, cuyo bit 3 de la solicitud de vinculación basada en claves está configurado en 1. Consulta Mensaje del buscador al proveedor.
  • Cambia la capacidad de E/S al parámetro de configuración predeterminado
    • Vinculación inicial
      • Si se desconecta la conexión LE, finaliza la sesión de Vinculación rápida.
      • Después de que se vincule el dispositivo principal, si no hay una solicitud de escritura de llave de acceso adicional en 15 segundos, finaliza la sesión de Vinculación rápida.
      • Después de recibir una solicitud de escritura de llave de acceso adicional, si el componente que se vincula no se vincula en un plazo de 15 segundos, finaliza la sesión de Vinculación rápida.
      • Después de que se vinculen todos los componentes, si no hay una solicitud de escritura de la clave de la cuenta en un plazo de 15 segundos, finaliza la sesión de Vinculación rápida.
      • Después de recibir la solicitud de escritura de la clave de la cuenta, establece un tiempo de espera de 15 segundos para finalizar la sesión de Vinculación rápida.
    • Vinculación posterior
      • Si se desconecta la conexión de LE, finaliza la sesión de Vinculación rápida
      • Después de que se vincule el dispositivo principal, si no hay una solicitud de escritura de llave de acceso adicional en un plazo de 15 segundos, finaliza la sesión de Vinculación rápida.
      • Después de recibir una solicitud de escritura de llave de acceso adicional, si el componente que se vincula no se vincula en un plazo de 15 segundos, finaliza la sesión de Vinculación rápida.
      • Cuando todos los componentes estén vinculados, finaliza la sesión de Vinculación rápida

Oculta la indicación de la IU

Cuando los auriculares no estén listos para vincularse, el proveedor debe usar type 0b0010 para establecer la indicación de ocultación de la IU para los datos de clave de la cuenta para indicarle al buscador que no muestre la IU de vinculación posterior (consulta Carga útil publicitaria: Datos de la cuenta de vinculación rápida).

Requisitos de los dispositivos de audio LE

Requisitos de Bluetooth

Consulta las recomendaciones de auriculares para Android y LE Audio.

Asistencia de CTKD

Para los dispositivos de modo dual, la CTKD de LE a BR/EDR es obligatoria y está alineada con los requisitos de BAP.

Anuncio de segmentación

Un dispositivo periférico debe usar el anuncio segmentado para solicitar una conexión desde un dispositivo central vinculado. Los anuncios segmentados se definen en BAP y CAP para la administración de conexiones según la tabla 8.4 de CAP 1.0 (p. 48/58).

Compatibilidad con el servidor EATT de GATT

EATT permite que el dispositivo central envíe varias transacciones GATT en paralelo cuando el dispositivo está vinculado. En el caso de los dispositivos compatibles con CSIP, aumentará el rendimiento de la conexión de perfiles y, luego, comenzará el procedimiento de vinculación CSIP para los otros auriculares.

Si el proveedor no es un solo dispositivo, sino un conjunto coordinado con la implementación de CSIP, para reducir la cantidad de veces que se realiza la detección de servicios y acelerar la conexión, el proveedor debe implementar el almacenamiento en caché de GATT definido en Bluetooth 5.1.

Requisitos de Vinculación rápida

LE Advertising

En el caso del modo detectable o el no detectable, si el dispositivo tiene varios componentes, el componente principal debe anunciar los datos de Vinculación rápida. Si el dispositivo no está listo para la vinculación posterior, el componente secundario puede anunciar datos de Vinculación rápida para funciones extendidas. Consulta Cómo ocultar la indicación de IU.

Visibilidad del servicio GATT

La base de datos de GATT debe ser la misma para todas las conexiones de GATT de transporte LE. Se debe incluir el servicio de audio LE (0x184E) en la base de datos de GATT de la conexión de Vinculación rápida.

Ejemplo: Vinculación con un proveedor de modo dual LEA

Situación 1: Cuando el buscador no admite LEA

El proveedor debe tener retrocompatibilidad con el buscador que no admite LEA.

Componentes
  • Proveedor: A2DP/HFP/LEA
  • Buscador: A2DP/HFP
Comportamiento esperado para la vinculación inicial o posterior
  • El proveedor anuncia los datos del servicio de vinculación rápida (0xFE2C) con la dirección de identidad (inicial) o la RPA (posterior).
    • Usa la publicidad heredada
  • El buscador recibe el anuncio del proveedor con la dirección de identidad para la vinculación inicial o la RPA para la vinculación posterior.
  • El buscador envía una solicitud de vinculación basada en claves
    • El bit 5 de la marca de la solicitud de vinculación basada en claves se establece en 0.
  • El proveedor envía una respuesta de vinculación basada en claves con la dirección pública en uno de los siguientes formatos:
    • Si se usa el tipo de mensaje 0x01, la dirección debe ser pública.
    • Si se usa el tipo de mensaje 0x02
      • Bit-0 debe ser 0
      • Bit-1 debe ser 0
      • La dirección debe ser pública.
  • The Seeker crea un vínculo con el transporte BR/EDR
    • La capacidad de E/S se establece en DisplayYesNo para BR/EDR.
  • El buscador y el proveedor realizan el procedimiento de verificación de la llave de acceso de Fast Pair.

Situación 2: Cuando el buscador admite LEA

Componentes
  • Proveedor
    • Compatibilidad con A2DP/HFP/LEA
    • Componente único
  • Buscador
    • Compatibilidad con A2DP/HFP/LEA
Comportamiento esperado para la vinculación inicial o posterior
  • El proveedor anuncia los datos del servicio de vinculación rápida (0xFE2C) con la dirección de identidad (inicial) o la RPA (posterior).
    • Usa la publicidad heredada
  • El buscador envía una solicitud de vinculación basada en claves.
    • El bit 5 de la marca de la solicitud de vinculación basada en claves se establece en 1.
  • El proveedor envía una respuesta de vinculación basada en claves con el tipo de mensaje 0x02.
    • El bit 0 debe ser 0.
    • El bit 1 debe ser 1.
    • La dirección es la dirección de identidad
  • El buscador crea una vinculación con la conexión LE existente en el transporte LE.
    • La dirección de CTKD es de LE a BR/EDR.
    • La capacidad de E/S se establece en DisplayYesNo para LE.
  • El buscador y el proveedor realizan el procedimiento de verificación de la llave de acceso de Fast Pair.

Situación 3: Cuando el Seeker involucra a LEA y CSIP

Componentes
  • Proveedor
    • Compatibilidad con A2DP/HFP/LEA
    • Varios componentes
      • El componente principal es BR/EDR/LE
      • El componente secundario es solo para LE
  • Buscador
    • Compatibilidad con A2DP/HFP/LEA
Comportamiento esperado para la vinculación inicial o posterior
  • El componente principal anuncia datos del servicio de vinculación rápida (0xFE2C) con la dirección de identidad (inicial) o la RPA (posterior).
    • Cómo usar la publicidad heredada
  • El buscador envía una solicitud de vinculación basada en claves al componente principal.
    • El bit 5 de la marca de la solicitud de vinculación basada en claves se establece en 1.
  • El componente principal envía una respuesta de vinculación basada en claves con el tipo de mensaje 0x02.
    • Bit-0 debe ser 0
    • El bit 1 debe ser 1.
    • Las direcciones son las siguientes:
      • La primera dirección es la dirección de identidad del componente principal.
      • La segunda dirección es la dirección vinculable para el componente secundario. El segundo componente también usa esta dirección para realizar anuncios de CSIP.
  • El buscador crea una vinculación con el componente principal en la conexión LE existente.
    • La dirección de CTKD es de LE a BR/EDR.
    • La capacidad de E/S se establece en DisplayYesNo para LE.
  • El buscador crea una vinculación con el componente secundario cuya dirección proviene de la respuesta extendida de vinculación basada en claves.
    • La capability de E/S debe ser DisplayYesNo, de lo contrario, se rechaza la solicitud de vinculación.
  • El solicitante y el proveedor realizan el procedimiento de protección contra MITM para vincular el componente secundario. El proveedor debe implementar ambas situaciones.
  • El buscador espera hasta que se una al componente secundario

Diagrama secuencial de MITM

En esta sesión, se describe la secuencia del procedimiento de protección contra MITM.

Cómo obtener la llave de acceso del componente que se vincula mediante una notificación

Obtén una llave de acceso del componente que se une con lectura

Problema conocido

La FP para LEA se optimizó para funcionar con Android V(Android 15).

Por el contrario, encontramos muchos problemas con auriculares que admiten LEA, pero que no tienen la implementación correcta de Vinculación rápida a través de LEA (es decir, solo Vinculación rápida a través de Classic). En particular, por ejemplo, cuando la RPA del proveedor no la genera la clave de resolución de identidad (IRK) correcta y la dirección no se puede resolver. Si bien no pudimos probar una lista completa de configuraciones de auriculares, nuestra prueba limitada reveló varios problemas, incluidos errores de visualización de la batería de los auriculares, falta de funcionalidad de cambio de audio (SASS), errores de vinculación iniciales y posteriores, y mucho más.

Por lo tanto, recomendamos a los socios que implementen la especificación de Fast Pair-LEA para los dispositivos nuevos y existentes en el campo (a través de actualizaciones inalámbricas) que admitan modos duales.