저전력 블루투스 (BLE) 기기

BLE 기기의 Google 빠른 페어링 서비스 (GFPS) 구현은 다음과 같습니다. 블루투스 코어 사양 v4.2 이상과 호환되어야 합니다.

빠른 페어링 사양에 대한 다음 부록을 통해 GFPS의 저전력 오디오 (LEA) 기기 및 저전력 오디오 (LEA) 기기에만 적용됩니다.

적합성 수준

사양에서 언급된 '할 것', '반드시', '할 것', '해야 합니다', '할 수 있습니다', '할 수 있습니다'에 대한 설명은 아래에 나와 있습니다.

용어 설명
해야 한다 필요합니다. 요구사항을 정의하는 데 사용됩니다.
필수 다음을 표현하는 데 사용됩니다.
이전에 명시된 필수 요구사항의 자연스러운 결과
또는
논쟁의 여지가 없는 사실 진술 (상황과 관계없이 항상 참)
할 것이다 사실입니다. 사실의 진술에서만 사용됩니다.
should 권장됨: 여러 가능성 중에서 특별히 적합한 것으로 권장되지만 필수는 아님을 나타낼 때 사용됩니다.
5월 is allowed to - 옵션을 허용하는 데 사용됩니다.
…할 수 있다 할 수 있습니다 - 인과관계에 있는 문장과 연관되는 데 사용됩니다.

키 기반 페어링 특성

탐색자가 공급자에게 보내는 메시지

키 기반 페어링 특성의 원시 요청 type 0x00는 비트 4를 사용합니다. 를 사용하여 Seeker가 BLE Device Specification을 지원하는지 표시하고 비트 5: Seeker가 LE 오디오를 지원하는지 나타냅니다.

옥텟 데이터 유형 설명 필수 여부
0 uint8 메시지 유형 0x00 = 키 기반 페어링 요청 필수
1 uint8 플래그
  • 비트 0 (MSB): 지원 중단되었으며 Seeker가 무시합니다.
  • 비트 1: 1. 탐색자가 제공자에게 연결을 시작해야 한다고 요청하고, 이 요청에 탐색자의 BR/EDR 주소가 포함되어 있습니다. 그 이외의 경우에는 0입니다.
  • 비트 2: 1. 탐색자가 제공자에게 기존 이름을 알려달라고 요청하는 경우. 그 이외의 경우에는 0입니다.
  • 비트 3: 계정 키 소급 쓰기용인 경우 1. 그 이외의 경우에는 0입니다.
  • 비트 4: 탐색자가 BLE 기기 사양을 지원하는 경우 1. 그 이외의 경우에는 0입니다.
  • 비트 5: 1. 탐색자가 LE 오디오를 지원하는 경우. 그 이외의 경우에는 0입니다.
  • 비트 6~7은 향후 사용을 위해 예약되어 있으므로 무시됩니다.
다름 필수
2~7 uint48 다음 중 하나를 선택합니다.
  • 제공업체의 현재 BLE 주소
  • 제공업체의 ID 주소
다름 필수
8~13 uint48 탐색자의 BR/EDR 주소 다름 플래그 비트 1 또는 3이 설정된 경우에만 있습니다.
n - 15 임의의 값 (솔트) 다름 필수

제공자에서 탐색자에게 보내는 메시지

요청의 비트 4가 설정되면 다음에 대한 새 응답 메시지 type 0x02는 키 기반 페어링 특성은 추가적인 결합을 제공하는 데 사용할 수 있습니다. 옵션을 찾을 수 있습니다.

옥텟 데이터 유형 설명
0 uint8 메시지 유형 0x02 = 키 기반 페어링 확장 응답
1 uint8 플래그
  • 비트 0 (MSB): 제공자가 LE 전용 기기인 경우 1, 그렇지 않은 경우 0. 비트 0이 1로 설정되면 탐색자는 비트 1이 1로 설정된 것으로 가정합니다.
  • 비트 1: 제공자가 LE 연결을 선호하는 경우 1, 그렇지 않은 경우 0
  • 비트 2: 두 번째 주소의 주소 유형이 랜덤이면 1, 공개인 경우 0.
  • 비트 3~7은 나중에 사용할 수 있도록 예약되어 있으므로 무시됩니다.
다름
2 uint8 제공업체의 주소 수
(현재 버전에서는 1 또는 2입니다. 숫자가 3 이상인 경우 블록 암호화 모드를 AES-CTR로 수정해야 하기 때문입니다.)
다름
3~8명 또는
3~14명
  • 첫 번째 주소는 기본 주소의 신원 주소여야 하며, BR/EDR 결합이 선호되는 경우 보증할 수 있습니다.
  • 보조 주소를 사용할 수 있는 경우 두 번째 주소는 보조 주소의 보증 가능한 주소여야 합니다.
다름
9~15명 또는 15명 임의의 값 (솔트) 다름

BLE 기기 사양을 지원하는 제공업체는 비트 4와 비트 5를 읽어야 합니다. 탐색자가 어떤 역할을 하는지

  • 비트 4가 0이면 제공자는 비트 5를 무시하고 type 0x01 형식으로 응답합니다.
  • 비트 4가 1이면,
    • LE 전용 제공업체의 경우 type 0x02로 응답하여 LE를 표시해야 합니다. 결합 선호도를 나타냅니다.
    • 듀얼 모드 Provider의 경우 type 0x02로 응답하여 다음 중 하나를 나타낼 수 있습니다. BR/EDR 또는 LE 결합 선호
  • LE 오디오 (LEA) 듀얼 모드 제공업체 케이스는 다음을 참고하세요. 예: LEA 듀얼 모드 제공업체와 페어링 참조

메시지 스트림 PSM (프로토콜 서비스 멀티플렉서) 특성

BLE 기기의 메시지 스트림을 지원하기 위해 빠른 페어링이 설정되고 메시지를 보내고 받기 위한 BLE L2CAP 채널을 유지합니다. 빠른 페어링 L2CAP 서버는 LE 크레딧 기반 흐름 제어를 구현해야 합니다.

이 특성을 통해 탐색자는 PSM 값을 읽은 후 L2CAP 연결을 설정합니다.

빠른 페어링 서비스 특성 암호화됨 권한 UUID
메시지 스트림 PSM 읽기 FE2C1239-8366-4814-8EB0-01DE32100BEA
옥텟 데이터 유형 설명
0 uint8 상태
  • 0x00 = 알 수 없음. FP Seeker가 여러 번 다시 시도합니다.
  • 0x01 = 연결 준비 완료
  • 0x02 = 사용할 수 없음. 이번에는 FP Seeker가 이 구성요소를 사용하여 연결하지 않습니다.
다름
1 - 2 uint16 PSM 값은 0x80~0xFF 범위에 있어야 합니다. 다름

참고: TWS의 경우 두 가지입니다. 기본 및 보조 구성요소입니다. 이러한 구성요소의 역할은 특정 조건에서는 교체할 수 있습니다. A가 기본 구성요소이고 B가 보조 구성요소는 구성요소 A의 배터리 소모로 인해 구성요소 B가 이 시나리오의 이름은 role switch입니다.

role switch 후(제공업체에서) 빠른 페어링 메시지 스트림을 처리할 수 없는 경우 미리 연결을 끊어야 합니다. 기존 L2CAP 연결을 나타냅니다 그런 다음 빠른 페어링 탐색자가 L2CAP를 다시 설정할 수 있습니다. 새로운 기본 구성 요소와의 메시지 스트림 연결을 통한 것입니다.

추가 패스키 특성

이 특성은 추가 웹 애플리케이션이나 구성할 수 있습니다.

CSIS 가짜 회원 MITM 보호

빠른 페어링을 사용하려면 페어링 절차의 일부로 MITM 보호가 필요합니다. CSIS로서 MITM 보호를 제공하지 않는데, 이는 다수의 추가 웹 애플리케이션에 대한 MITM 보호를 제공하기 위해 구성할 수 있습니다.

특성 정의

빠른 페어링 서비스 특성 암호화됨 권한 UUID
추가 패스키 읽기,쓰기,알림 FE2C123A-8366-4814-8EB0-01DE32100BEA

메시지

메시지 형식은 읽기, 쓰기, 알림 작업에 적용됩니다.

암호화된 데이터 형식

암호화된 데이터는 빠른 페어링 GATT 연결을 사용하여 전송됩니다.

옥텟 데이터 유형 설명
0-15 uint128 암호화된 추가 패스키 블록 다양한 가격
원시 데이터 형식

공유 비밀번호를 사용하여 암호화된 데이터를 복호화한 후의 형식은 다음과 같습니다.

옥텟 데이터 유형 설명
0 uint8 메시지 유형
    중 하나
  • 0x00 = 탐색자의 패스키
  • 0x01 = 제공업체의 패스키
1-3 uint24 6자리 패스키 다양한 가격
4-9 uint48 대상 결합 구성요소 주소 다양한 가격
10 uint8 상태 코드입니다. 읽기 작업에만 사용됩니다. 다음 중 하나:
  • 0x00 = 성공
  • 0x01 = 대기 중. 제한 시간까지 FP Seeker 재시도
  • 0x02 = 실패. FP Seeker 중지 재시도
11-15 임의의 값 (솔트) 다양한 가격

기본 (첫 번째 결합된 구성요소)은 빠른 페어링과 탐색자 및 추가 결합 구성요소. 특성은 다음 가이드라인을 따르세요.

  • 제공자는 빠른 페어링 탐색 도구로부터 쓰기 요청을 수신하면
    • 결합되는 구성요소의 주소 설정
    • 결합되는 구성요소에 패스키 전송
    • 상태 코드를 대기 중, 0x01로 설정
  • 구성요소에서 패스키를 받기 전에 읽기 요청을 수신하는 경우 연결되면 제공자는
    • 패스키(원하는 값)
    • 결합되는 구성요소의 주소
    • 대기 중 상태 코드, 0x01
  • 제공자가 빠른 페어링 탐색 도구에 알림을 보내기 전에 결과를 설정합니다. 읽기 요청에 대해
    • 결합되는 구성요소의 패스키
    • 결합되는 구성요소의 주소
    • 성공 상태 코드, 0x00
  • 제공업체 측에서 복구할 수 없는 오류가 발생하면 결과를 설정합니다.
    • 패스키(원하는 값)
    • 결합되는 구성요소의 주소
    • 실패 상태 코드, 0x02

MITM 다이어그램 1 및 자세한 내용은 MITM 다이어그램 2를 참조하세요.

LE 기기 요구사항

저전력 광고

검색 가능 모드 또는 검색 불가 모드의 경우 제공업체는 RPA를 사용하여 FastPair 데이터를 알립니다.

담보 능력

저전력 지원 기기의 경우 탐색자가 기존 LE 연결. 빠른 페어링 키 기반 페어링 인증을 통과하면 제공업체는 RPA와의 연결을 허용해야 하며 IO 기능을 DisplayYesNo로 설정해야 합니다. 빠른 페어링 패스키 인증을 위해 사용합니다.

LEA 기기 요구사항

LEA 광고

듀얼 모드 기기: 검색 가능 모드의 경우 '제공업체'는 ID와 함께 빠른 페어링 데이터를 광고해야 합니다. 있습니다. 검색 불가 모드의 경우 제공업체는 RPA를 사용한 빠른 페어링 데이터를 광고해야 합니다. 이전 광고 (BT 4.2)를 사용하여 하여 이전 버전과의 호환성을 제공합니다. 기기를 초기화할 때마다 IRK를 변경해야 합니다.

듀얼 모드가 아닌 기기의 경우: 검색 가능 모드 또는 검색 불가 모드의 경우 제공자는 빠른 페어링 데이터를 광고하기 위해 RPA를 사용한 광고 (BT 5.0)를 지원합니다.

FP 서비스 데이터가 포함된 LE 연결 가능 광고에는 다음이 포함되어야 합니다. CAS UUID 블루투스 어댑터 프로필 (BAP 1.0.1)일반 오디오 프로필 요구사항을 충족해야 합니다 공간이 충분하지 않은 경우 검색할 수 없는 광고 기존 광고에 배터리 및 SASS 데이터가 포함되어 있었기 때문에 이 경우 스캔 응답에 CAS UUID를 포함해야 합니다.

LEA 보증 자격

탐색자는 기존 LE 연결과 관계를 만들어야 합니다. 통과 후 빠른 페어링 키 기반 페어링 인증의 경우, 듀얼 모드 제공자는 ID 주소 및 RPA와의 결합은 비이중 모드 제공자가 RPA로 결합하고 빠른 페어링을 위해 IO 기능을 DisplayYesNo로 설정 패스키 인증

구성요소 간 내부 통신 채널

기존 GATT 연결은 유지되어 모든 엔드포인트에서 MITM 보호를 살펴보겠습니다 기본 결합 구성요소는 메시지를 처리합니다. 전송하는 데 사용됩니다.

내부 통신은 Initial PairSubsequent Pair에 사용됩니다.

  • 키 기반 페어링 절차가 기본 구성 요소를 통과하면 기본 구성 요소는 나머지 구성 요소의 IO 기능을 변경하기 위한 메시지를 구성 요소
  • 빠른 페어링이 완료되면 기본 구성 요소가 나머지 구성요소의 IO 기능
  • 추가 패스키 절차를 실행할 때 기본 구성요소는 빠른 페어링 탐색 도구와 나머지 구성요소 간의 패스키 전송

IO 기능 변경 시간

  • 키 기반 페어링 절차를 통과했을 때 IO 기능을 DisplayYesNo로 변경
    • 기기에 구성요소가 여러 개 있는 경우 모든 구성요소는 DisplayYesNo
    • 제공자가 IO 기능을 DisplayYesNo로 변경하지 않음 Retroactive Pair, 비트 3 1로 설정되어 있는 경우 탐색자에서 제공업체로 메시지
  • IO 기능을 기본 설정으로 변경
    • 초기 페어링
      • LE 연결이 끊어지면 빠른 페어링 세션을 종료합니다.
      • 기본이 연결된 후 추가 패스키 쓰기가 없는 경우 15초 후에 요청을 보내고, 빠른 페어링 세션을 종료합니다.
      • 추가 패스키 쓰기 요청이 수신된 후, 구성요소가 연결되어 있지 않으면 15초 이내에 연결되지 않으면 빠른 페어링 세션을 종료합니다.
      • 모든 구성요소가 결합된 후 계정 키 쓰기가 없는 경우 15초 이내에 요청, 빠른 페어링 세션 종료
      • 계정 키 쓰기 요청이 수신되면 제한 시간 15초를 빠른 페어링 세션 종료
    • 다음 페어링
      • LE 연결이 끊어지면 빠른 페어링 세션을 종료합니다.
      • 기본이 연결된 후 추가 패스키 쓰기가 없는 경우 15초 이내에 요청, 빠른 페어링 세션 종료
      • 추가 패스키 쓰기 요청이 수신된 후, 구성요소가 연결되어 있지 않으면 15초 이내에 연결되지 않으면 빠른 페어링 세션을 종료합니다.
      • 모든 구성요소가 연결되면 빠른 페어링 세션을 종료합니다.

UI 표시 숨기기

헤드셋을 페어링할 준비가 되지 않은 경우 제공업체는 type 0b0010를 사용해야 합니다. 계정 주요 데이터의 UI 숨기기 표시를 설정하여 탐색자에게 표시되지 않도록 후속 페어링 UI를 설정합니다 (광고 페이로드: 빠른 페어링 계정 데이터 참고).

LE 오디오 기기 요구사항

블루투스 요구사항

Android, LE 오디오 헤드셋 권장사항을 참고하세요.

CTKD 지원

듀얼 모드 기기의 경우 LE에서 BR/EDR로의 CTKD가 필수이며 BAP 요구사항

목표 공지

주변기기는 타겟팅된 알림을 사용하여 연결을 요청해야 합니다. 페어링된 중앙 기기에서 타겟팅된 공지사항은 BAP 및 CAP에 정의되어 있습니다. CAP 1.0 표 8.4 (p48/58)에 따른 연결 관리에 사용합니다.

GATT EATT 서버 지원

EATT를 사용하면 중앙 기기가 여러 GATT 트랜잭션을 동시에 전송할 수 있습니다. 알 수 있습니다. CSIP를 지원하는 기기의 경우 곧 CSIP 결합을 시작합니다 절차를 진행합니다.

제공업체가 단일 기기가 아니라 CSIP 구현과 조정된 집합인 경우 연결 속도를 높이려면 제공업체는 블루투스 5.1에 정의된 GATT 캐싱을 구현해야 합니다.

빠른 페어링 요구사항

저전력 광고

검색 가능 모드 또는 검색 불가 모드의 경우 기기에 여러 구성 요소인 경우 빠른 페어링 데이터는 기본 구성 요소에 의해 공지됩니다. 만약 차후 페어링할 준비가 되지 않은 경우 보조 구성 요소는 확장 기능을 위한 빠른 페어링 데이터를 알립니다. 보기 UI 표시 숨기기.

GATT 서비스 가시성

GATT 데이터베이스는 모든 LE 전송 GATT 연결에 대해 동일해야 합니다. LE 오디오 서비스 (0x184E)가 빠른 페어링 연결의 GATT 데이터베이스에 포함되어야 합니다.

예: LEA 듀얼 모드 제공업체와 페어링

시나리오 1 - 탐색자가 LEA를 지원하지 않는 경우

'제공자'는 LEA를 지원해야 합니다

구성요소
  • 제공업체: A2DP/HFP/LEA
  • 탐색자: A2DP/HFP
초기 페어링 / 후속 페어링에서 예상되는 동작
  • 제공업체가 빠른 페어링 서비스를 광고합니다. ID 주소 (초기) 또는 RPA (후속)를 포함하는 데이터 (0xFE2C)입니다.
    • 기존 광고 사용
  • 탐색자는 제공자의 최초 페어링용 ID 주소 또는 후속 페어링을 위한 RPA가 포함된 공지
  • 탐색자가 키 기반 페어링 요청을 전송함
    • 키 기반 페어링 요청의 플래그 비트 5가 0으로 설정됩니다.
  • 제공자가 키 기반 페어링 응답을 공개 주소로 전송함 다음과 같습니다.
    • 메시지 유형 0x01을 사용하는 경우 주소는 공개 주소여야 합니다.
    • 메시지 유형 0x02를 사용하는 경우
      • 비트 0은 0이어야 합니다.
      • 비트 1은 0이어야 합니다.
      • 주소는 공개 주소여야 합니다.
  • BR/EDR 교통수단을 통해 유대감을 형성하는 시커
    • BR/EDR의 IO 기능이 DisplayYesNo로 설정됨
  • 탐색자와 제공업체가 빠른 페어링 패스키 확인 절차를 수행합니다.

시나리오 2 - 탐색자가 LEA를 지원하는 경우

구성요소
  • 제공업체
    • A2DP/HFP/LEA 지원
    • 단일 구성요소
  • 탐색자
    • SupportA2DP/HFP/LEA
초기 페어링 / 후속 페어링에서 예상되는 동작
  • 제공업체가 빠른 페어링 서비스를 광고합니다. ID 주소 (초기) 또는 RPA (후속)를 포함하는 데이터 (0xFE2C)입니다.
    • 기존 광고 사용
  • 탐색자가 키 기반 페어링 요청을 전송함
    • 키 기반 페어링 요청의 플래그 비트 5가 1로 설정됩니다.
  • 제공업체가 키 기반 페어링 응답을 메시지 유형 0x02와 함께 전송함
    • 비트 0은 0이어야 합니다.
    • 비트 1은 1이 되어야 합니다.
    • 주소가 ID 주소입니다.
  • 탐색자는 기존 물체와 유대감을 형성 LE 전송의 LE 연결
    • CTKD 방향이 LE에서 BR/EDR로 이동함
    • LE의 경우 IO 기능이 DisplayYesNo로 설정됨
  • 탐색자와 제공업체가 빠른 페어링 패스키 확인 절차를 수행합니다.

시나리오 3 - 탐색자가 관련된 LEA 및 CSIP를 지원하는 경우

구성요소
  • 제공업체
    • A2DP/HFP/LEA 지원
    • 여러 구성요소
      • 기본 구성요소는 BR/EDR/LE입니다.
      • 보조 구성요소는 LE 전용
  • 탐색자
    • A2DP/HFP/LEA 지원
초기 페어링 / 후속 페어링에서 예상되는 동작
  • 기본 구성요소가 빠른 페어링을 전달함 ID 주소 (초기) 또는 RPA (후속)를 포함하는 서비스 데이터 (0xFE2C)
    • 기존 광고 사용
  • 탐색자가 키 기반 페어링 요청을 기본 구성요소에 전송
    • 키 기반 페어링 요청의 플래그 비트 5가 1로 설정됩니다.
  • 기본 구성요소가 메시지 유형 0x02로 키 기반 페어링 응답을 보냅니다.
    • 비트 0은 0이어야 합니다.
    • 비트 1은 1이 되어야 합니다.
    • 주소는 다음과 같습니다.
      • 첫 번째 주소는 기본 구성요소의 ID 주소입니다.
      • 두 번째 주소는 보조 구성요소의 결합 가능한 주소이며 두 번째 구성요소도 이 주소를 사용하여 CSIP 공지를 수행합니다.
  • 시커는 주인공과 유대감을 형성함 기존 LE 연결의 구성요소
    • CTKD 방향이 LE에서 BR/EDR로 이동함
    • LE의 경우 IO 기능이 DisplayYesNo로 설정됨
  • 시커는 2차 세계관점과 키 기반 페어링 확장 응답에서 가져온 주소를 사용하는 구성요소
    • IO 기능은 DisplayYesNo여야 하며, 그렇지 않으면 페어링 요청을 거부합니다.
  • 탐색자와 제공자가 MITM 보호 절차를 수행하여 보조 구성요소로, 제공자는 두 시나리오 모두에서
  • 탐색자는 보조 구성 요소와 연결될 때까지 기다립니다.

MITM의 순차적 다이어그램

이 세션에서는 MITM 보호 절차의 순서를 설명합니다.

알림을 통해 연결된 구성요소에서 패스키 가져오기

읽기로 결합되는 구성요소에서 패스키 가져오기

알려진 문제

LEA용 FP는 Android V와 호환되도록 최적화되었습니다.

반대로 LEA를 지원하는 헤드셋에서 많은 문제가 발생했습니다. LEA를 통한 올바른 빠른 페어링 구현 (예: '기본'). 특히 제공업체의 RPA가 생성되지 않은 경우 주소를 확인할 수 없습니다. 전체 헤드셋 목록을 테스트할 수는 없지만 Google의 제한적인 테스트를 통해 시스템 오류 및 이어폰 배터리 알림 표시, 오디오 전환 (SASS) 부족 광범위한 초기 및 후속 페어링 실패 등입니다.

따라서 파트너에게 빠른 페어링-LEA를 구현하는 것이 좋습니다. 현장에서 새 기기와 기존 기기 모두에 관한 사양을 (무선 업데이트를 통해)됩니다.