저전력 블루투스 (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 |
플래그
|
다름 | 필수 |
2~7 | uint48 |
다음 중 하나를 선택합니다.
|
다름 | 필수 |
8~13 | uint48 |
탐색자의 BR/EDR 주소 | 다름 | 플래그 비트 1 또는 3이 설정된 경우에만 있습니다. |
n - 15 | 임의의 값 (솔트) | 다름 | 필수 |
제공자에서 탐색자에게 보내는 메시지
요청의 비트 4가 설정되면 다음에 대한 새 응답 메시지 type 0x02
는
키 기반 페어링 특성은 추가적인 결합을 제공하는 데 사용할 수 있습니다.
옵션을 찾을 수 있습니다.
옥텟 | 데이터 유형 | 설명 | 값 |
---|---|---|---|
0 | uint8 |
메시지 유형 | 0x02 = 키 기반 페어링 확장 응답 |
1 | uint8 |
플래그
|
다름 |
2 | uint8 |
제공업체의 주소 수 (현재 버전에서는 1 또는 2입니다. 숫자가 3 이상인 경우 블록 암호화 모드를 AES-CTR로 수정해야 하기 때문입니다.) |
다름 |
3~8명 또는 3~14명 |
|
다름 | |
9~15명 또는 15명 | 임의의 값 (솔트) | 다름 |
BLE 기기 사양을 지원하는 제공업체는 비트 4와 비트 5를 읽어야 합니다. 탐색자가 어떤 역할을 하는지
- 비트 4가 0이면 제공자는 비트 5를 무시하고
type 0x01
형식으로 응답합니다. - 비트 4가 1이면,
- LE 전용 제공업체의 경우
type 0x02
로 응답하여 LE를 표시해야 합니다. 결합 선호도를 나타냅니다. - 듀얼 모드 Provider의 경우
type 0x02
로 응답하여 다음 중 하나를 나타낼 수 있습니다. BR/EDR 또는 LE 결합 선호
- LE 전용 제공업체의 경우
- LE 오디오 (LEA) 듀얼 모드 제공업체 케이스는 다음을 참고하세요. 예: LEA 듀얼 모드 제공업체와 페어링 참조
메시지 스트림 PSM (프로토콜 서비스 멀티플렉서) 특성
BLE 기기의 메시지 스트림을 지원하기 위해 빠른 페어링이 설정되고 메시지를 보내고 받기 위한 BLE L2CAP 채널을 유지합니다. 빠른 페어링 L2CAP 서버는 LE 크레딧 기반 흐름 제어를 구현해야 합니다.
이 특성을 통해 탐색자는 PSM 값을 읽은 후 L2CAP 연결을 설정합니다.
빠른 페어링 서비스 특성 | 암호화됨 | 권한 | UUID |
---|---|---|---|
메시지 스트림 PSM | 예 | 읽기 | FE2C1239-8366-4814-8EB0-01DE32100BEA |
옥텟 | 데이터 유형 | 설명 | 값 |
---|---|---|---|
0 | uint8 |
상태
|
다름 |
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 | 메시지 유형 |
|
1-3 | uint24 | 6자리 패스키 | 다양한 가격 |
4-9 | uint48 | 대상 결합 구성요소 주소 | 다양한 가격 |
10 | uint8 | 상태 코드입니다. 읽기 작업에만 사용됩니다. | 다음 중 하나:
|
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 Pair
및 Subsequent 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 결합을 시작합니다 절차를 진행합니다.
GATT 강력한 캐싱 (적극 권장됨)
제공업체가 단일 기기가 아니라 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를 구현하는 것이 좋습니다. 현장에서 새 기기와 기존 기기 모두에 관한 사양을 (무선 업데이트를 통해)됩니다.