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 básica de Bluetooth v4.2 o posterior.

El siguiente anexo a la especificación de Fast Pair permitirá la compatibilidad con dispositivos de solo bajo consumo (LE) y audio de bajo consumo (LEA) en GFPS.

Niveles de cumplimiento

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

Término Descripción
deberá Se requiere: Se usa para definir requisitos.
debe Se usa para expresar:
una consecuencia natural de un requisito obligatorio establecido anteriormente
O
una declaración indiscutible de un hecho (una que siempre es verdadera independientemente de las circunstancias).
será it is true that: Solo se usa en declaraciones de hechos.
should Se recomienda: Se usa para indicar que, entre varias posibilidades, se recomienda una como especialmente adecuada, pero no obligatoria.
mayo is permitted to: Se usa para permitir opciones.
podemos is able to: Se usa para relacionar la declaración de manera causal.

Característica de vinculación basada en claves

Mensaje del buscador al proveedor

El type 0x00 de solicitud sin procesar de la característica de vinculación basada en claves usa el bit 4 para indicar si el buscador admite la especificación del dispositivo BLE y el bit 5 para indicar si el buscador admite LE Audio.

Octeto 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): Está en desuso y Seeker 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. De lo contrario, es 0.
  • Bit 2: 1 si el buscador solicita que el proveedor notifique el nombre existente. De lo contrario, es 0.
  • Bit 3: 1 si es para escribir la clave de la cuenta de forma retroactiva. De lo contrario, es 0.
  • Bit 4: Es 1 si el buscador admite la especificación de dispositivos BLE. De lo contrario, es 0.
  • Bit 5: 1 si el buscador admite LE Audio. De lo contrario, es 0.
  • Los bits 6 y 7 están reservados para uso futuro y se ignorarán.
varía Obligatorio
2 - 7 uint48 Una de estas opciones:
  • Dirección BLE actual del proveedor
  • Dirección de identidad del proveedor
varía Obligatorio
8 a 13 uint48 Dirección BR/EDR del buscador varía Solo está presente si se establecen los bits 1 o 3 de las marcas.
n: 15 Valor aleatorio (salt) varía Obligatorio

Mensaje del proveedor al solicitante

Cuando se establece 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 para proporcionar opciones de vinculación adicionales al buscador.

Octeto Tipo de datos Descripción Valor
0 uint8 Tipo de mensaje 0x02 = Respuesta extendida de 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 está establecido en 1, el buscador supondrá que el bit 1 está establecido en 1.
  • Bit 1: 1 si el proveedor prefiere la vinculación LE; de lo contrario, 0.
  • Bit 2: 1 si el tipo de dirección de la segunda dirección es aleatorio y 0 si es pública.
  • Los bits del 3 al 7 están reservados para uso futuro y se ignorarán.
varía
2 uint8 Cantidad de direcciones del proveedor
(en la versión actual, la cantidad es 1 o 2, ya que debemos modificar el modo de cifrado en bloque a AES-CTR si la cantidad es >= 3)
varía
3 a 8 o
3 a 14
  • La primera dirección debe ser la dirección de identidad del dispositivo principal y debe poder vincularse si se prefiere la vinculación BR/EDR.
  • La segunda dirección debe ser la dirección vinculable de la secundaria si esta está disponible.
varía
9 a 15 o 15 Valor aleatorio (salt) varía

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

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

Característica del PSM (multiplexor de servicio de protocolo) de la transmisión de mensajes

Para admitir el flujo de mensajes en dispositivos BLE, la Vinculación rápida establecerá y mantendrá un canal L2CAP de 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 Seeker lea el valor de PSM y, luego, establezca una conexión L2CAP segura con 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
Octeto Tipo de datos Descripción Valor
0 uint8 Estado
  • 0x00 = Desconocido. El 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 en el rango entre 0x80 y 0xFF. varía

Nota: En el caso de los TWS, hay dos componentes: primario y secundario. El rol de estos componentes es intercambiable en ciertas condiciones. Si suponemos que A es el componente principal y B es el secundario, debido al agotamiento de la batería del componente A, el componente B debe asumir el rol de componente principal, y este caso 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 transmisión de mensajes L2CAP con el nuevo componente principal.

Característica adicional de la llave de acceso

Esta característica sirve para proporcionar protección contra ataques de intermediario en los componentes adicionales.

Protección contra ataques de intermediario (MITM) de miembros falsos del CSIS

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

Definición de característica

Característica del servicio de Vinculación rápida Encriptado Permiso UUID
Llave de acceso adicional Lectura, escritura y notificación FE2C123A-8366-4814-8EB0-01DE32100BEA

Mensajes

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

Formato de datos encriptados

Los datos encriptados se envían a través de la conexión GATT de Vinculación rápida.

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

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

Octeto 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 objetivo varía
10 uint8 Código de estado, solo lo usa la operación de lectura Uno de los siguientes:
  • 0x00 = Success
  • 0x01 = Pendiente. FP Seeker reintenta hasta que se agota el tiempo de espera
  • 0x02 = Falla. Se detuvo el reintento del buscador de FP
11-15 Valor aleatorio (salt) varía

El componente principal (el 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 los siguientes lineamientos:

  • 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 está vinculando.
    • Envía la llave de acceso al componente que se está vinculando
    • Establece el código de estado como Pendiente, 0x01
  • Cuando se recibe cualquier solicitud de lectura antes de recibir la llave de acceso del componente que se está vinculando, el proveedor debe devolver un mensaje con
    • Llave de acceso, cualquier valor
    • Dirección del componente que se une
    • 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 vincula
    • Dirección del componente que se une
    • Código de estado de éxito, 0x00
  • Si se produce algún error irrecuperable en el proveedor, establece el resultado en
    • Llave de acceso, cualquier valor
    • Dirección del componente que se une
    • Código de estado de falla, 0x02

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

Requisitos del dispositivo LE

LE Advertising

En el modo detectable o no detectable, el proveedor usará 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 pasar la verificación de vinculación basada en claves de Vinculación rápida, el proveedor permitirá la vinculación con el RPA y establecerá la capacidad de E/S en DisplayYesNo para la verificación de la clave de acceso de Vinculación rápida.

Requisitos del dispositivo de la LEA

Publicidad de LEA

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

En el caso de los dispositivos que no son de modo dual, el proveedor deberá usar publicidad extendida (BT 5.0) con RPA para anunciar los datos de Fast Pair, ya sea en el modo detectable o no detectable.

El anuncio conectable de LE que contiene datos del servicio de FP debe incluir el UUID de CAS en cumplimiento con los requisitos del Perfil de adaptador de Bluetooth (BAP 1.0.1) y el Perfil de audio común.

El proveedor puede indicar la capacidad de la LEA incluyendo el UUID de la CAS (0x1853) en los datos del servicio (tipo de AD 0x16) o en los UUIDs de la clase de servicio de 16 bits (tipo de AD 0x02 o 0x03), independientemente del modo detectable.

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.

Capacidad de vinculación de LEA

El buscador debe crear un vínculo con la conexión LE existente. Después de pasar 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 el RPA, mientras que el proveedor de modo no dual debe permitir la vinculación con el RPA y establecer la capacidad de E/S en DisplayYesNo para la verificación de la clave de acceso de Vinculación rápida.

Canal de comunicación interno entre componentes

La conexión GATT existente se mantiene para realizar la protección contra ataques MITM en los componentes adicionales. El componente principal enlazado controlará la entrega 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 basado en claves se realiza correctamente en el componente principal, este debe enviar un mensaje para cambiar la capacidad de E/S de sus componentes restantes.
  • Cuando finalice la Vinculación rápida, el componente principal enviará un mensaje para restablecer la capacidad de E/S de sus 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.

Momento de cambiar la capacidad de IO

  • Cambia la capacidad de E/S a DisplayYesNo cuando se aprueba el procedimiento de vinculación basada en claves.
    • Si el dispositivo tiene varios componentes, todos se deben establecer en DisplayYesNo.
    • Una excepción que el proveedor no debe cambiar la capacidad de IO a DisplayYesNo es Retroactive Pair, cuyo bit 3 de la solicitud de vinculación basada en clave está establecido 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 vincula el dispositivo principal, si no hay ninguna 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 está vinculando no se vincula en un plazo de 15 segundos, finaliza la sesión de Vinculación rápida.
      • Después de que todos los componentes estén vinculados, 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 LE, finaliza la sesión de Vinculación rápida
      • Después de que se vincula el dispositivo principal, si no hay otra solicitud de escritura de llave de acceso 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 está vinculando no se vincula en un plazo de 15 segundos, finaliza la sesión de Vinculación rápida.
      • Cuando todos los componentes estén unidos, finaliza la sesión de Vinculación rápida.

Ocultar la indicación de la IU

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

Requisitos de dispositivos LE Audio

Requisitos de Bluetooth

Consulta Android, recomendaciones de auriculares LE Audio.

Asistencia de CTKD

En el caso de los dispositivos de modo dual, el CTKD de LE a BR/EDR es obligatorio y debe cumplir con los requisitos de BAP.

Anuncio de objetivo

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 GATT EATT

EATT permite que el dispositivo central envíe varias transacciones GATT en paralelo cuando el dispositivo está vinculado. En el caso del dispositivo que admite CSIP, aumentará el rendimiento de la conexión de perfil y, luego, comenzará el procedimiento de vinculación de 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 modo detectable o 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 Ocultar la indicación de la IU.

Visibilidad del servicio GATT

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

Ejemplo: Vinculación con un proveedor de LEA en modo doble

Situación 1: Cuando el buscador no admite la LEA

El Proveedor deberá tener retrocompatibilidad con el Solicitante que no admita la LEA.

Componentes
  • Proveedor: A2DP/HFP/LEA
  • Buscador: A2DP/HFP
Comportamiento esperado para la vinculación inicial y la vinculación posterior
  • El proveedor anuncia datos del servicio Vinculación rápida (0xFE2C) con la dirección de identidad (inicial) o el 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 la 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
      • El bit 0 debe ser 0.
      • El bit 1 debe ser 0
      • La dirección debe ser pública.
  • El buscador 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 Vinculación rápida

Situación 2: Cuando el Seeker admite LEA

Componentes
  • Proveedor
    • Compatible con A2DP/HFP/LEA
    • Un solo componente
  • Buscador
    • Admite A2DP/HFP/LEA
Comportamiento esperado para la vinculación inicial y la vinculación posterior
  • El proveedor anuncia datos del servicio Vinculación rápida (0xFE2C) con la dirección de identidad (inicial) o el 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 un vínculo con la conexión de LE existente en el transporte de 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 Vinculación rápida

Situación 3: Cuando el buscador admite la LEA y participa el CSIP

Componentes
  • Proveedor
    • Compatible con A2DP/HFP/LEA
    • Varios componentes
      • El componente principal es BR/EDR/LE
      • El componente secundario es solo para LE
  • Buscador
    • Compatible con A2DP/HFP/LEA
Comportamiento esperado para la vinculación inicial y la vinculación posterior
  • El componente principal anuncia los datos del servicio Vinculación rápida (0xFE2C) con la dirección de identidad (inicial) o el RPA (posterior).
    • Usa 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 la 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
    • 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 hacer publicidad de CSIP.
  • El buscador crea un vínculo con el componente principal en la conexión existente de 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 crea un vínculo con el componente secundario cuya dirección proviene de la respuesta extendida de vinculación basada en claves.
    • La capacidad de E/S debe ser DisplayYesNo; de lo contrario, se rechazará la solicitud de vinculación.
  • El Seeker y el Provider realizan el procedimiento de protección contra ataques de MITM para vincular el componente secundario. El Provider debe implementar ambos casos.
  • El buscador espera hasta que se une al componente secundario.

Diagrama secuencial para MITM

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

Obtén la llave de acceso del componente que se vincula por notificación

Obtén la llave de acceso del componente que se vincula con la lectura.

Problema conocido

Se optimizó FP para LEA para que funcione con Android V(Android 15).

Por el contrario, nos encontramos con varios problemas con auriculares que admiten LEA, pero 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). Específicamente, por ejemplo, cuando el RPA del proveedor no se genera con la clave de resolución de identidad (IRK) correcta y no se puede resolver la dirección. Si bien no pudimos probar una lista exhaustiva de configuraciones de auriculares, nuestras pruebas limitadas revelaron varios problemas, como la imposibilidad de mostrar notificaciones de batería de los auriculares, la falta de funcionalidad de cambio de audio (SASS), fallas generalizadas en el primer y posterior proceso de vinculación, 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 los existentes en el campo (a través de actualizaciones inalámbricas) que admitan modos duales.