構成
ロール
このプロファイルでは、ファスト ペアリング シーカーとファスト ペアリング プロバイダの 2 つのロールを定義しています。通常、シーカーはペア設定するデバイスを探しているスマートフォンです。プロバイダは、ペア設定の準備ができていることをアドバタイズするデバイスです(検出可能なヘッドホンなど)。
ファスト ペアリング シーカーは GAP Central ロールを使用します。ファスト ペアリング プロバイダは GAP Peripheral ロールを使用しなければなりません。
デバイス検出
デバイスの検出を容易にするため、ファスト ペアリング プロバイダは、Google ファスト ペアリング サービスのサポートを示すペイロードをアドバタイズしなければなりません(データは下記のとおり)。ファスト ペアリング シーカーは、ファスト ペアリング プロバイダの広告フレームの存在を定期的にスキャンして監視し、関心がある場合はアクションを実行します。
モデル ID
各プロバイダ モデルには 24 ビットのモデル ID があります。これは、モデル登録時に Google から提供されます。
送信電力
プロバイダ デバイスは、アドバタイズされるデバイスの露出を制限するため、低い送信電力(TxPower)でアドバタイズする必要があります。ただし、広告が 1 メートル以上離れたどのスマートフォンからも見えるように、十分な出力でなければなりません。
近接性を判断するには、ファスト ペアリング シーカーがファスト ペアリング プロバイダの送信電力を知っている必要があります。このプロファイルでは、TxPower は送信元(0 メートル)での受信信号強度として定義され、dBm で測定されます(これは Eddystone で定義されている方法と同じです)。
この測定値は、次のいずれかの方法で送信するものとします。
- 広告レコードに含まれる情報
- デバイスは、送信電力レベルデータ型、同上、§ 1.5 に基づく広告を掲載する。
- モデル登録時に提供
- メーカーは、モデル登録時に、送信電力と、その測定に使用したデバイスモデルを Google に提供します。
- このオプションを使用する場合、距離測定の精度を確保するため、デバイスはすべてのブロードキャストで送信電力を一定に保つ必要があります。
鍵: 偽装防止の公開鍵/秘密鍵ペア
モデル登録後、モデル ID とともに、256 ビットのなりすまし防止秘密鍵(secp256r1 楕円曲線上の [1,n–1] の整数)が Google から配布されます。この鍵はプロバイダ デバイスに永続化され、理想的にはセキュア エレメント(SE)内に保存されます。セキュア エレメントは強く推奨されます。セキュア エレメントがない場合、秘密鍵が漏洩する可能性があるため、攻撃者がプロバイダ ロールをスプーフィングできないという保証はありません。このキーが漏洩すると、中間者攻撃の可能性が生じます。そのため、なりすましや不正使用が検出された場合、このキーを使用するファスト ペアリング機能(プロバイダがペア設定モードの場合の「タップしてペア設定」通知など)が無効になることがあります。
対応するなりすまし防止公開鍵は、現在プロバイダで使用されていません。これは、Provider に送信するメッセージを暗号化するために Seeker によって使用されます(鍵ベースのペア設定を参照)。
キー: アカウントキーのリスト
プロバイダは、128 ビットのアカウントキーの永続リストを保存するためのスペースを割り当てるものとする。各アカウント キーにより、プロバイダが特定ユーザー アカウントに属していることが認識されます。
リストは少なくとも 5 個の鍵を格納できる必要があります(つまり、このリスト専用のスペースが少なくとも 80 バイト必要です)。プロバイダは、必要に応じてこれ以上のデータを保存できますが、キーが広告パケットに収まるようにする必要があります。保存できる正確な数は、アドバタイズ パケットで使用可能な空きバイト数によって異なります。各キーが占有するバイト数の決定方法について詳しくは、アカウント キー フィルタのセクションをご覧ください。たとえば、10 個のアカウント キーをアドバタイズするには、パケットで 15 バイトを利用できるようにする必要があります。ただし、個人用デバイス(ヘッドフォンなど)の場合、アカウント キーの数は 5 個以下にする必要があります。これは、アカウント キーの数が大きくなりすぎないようにするためです。これにより、アカウント キーは一意で追跡可能になります。
このリストは最初は空で、プロバイダが工場出荷時の設定にリセットされた場合(ユーザーがペア設定されたデバイスのリストをクリアした場合)はクリアする必要があります。リストは、アカウントキーの特性セクションで説明されているように入力されます。
BLE アドレス情報
トラッキングを防ぐため、BLE アドバタイズではランダムな解決可能なプライベート アドレス(RPA)を使用しなければなりません。デバイスがアクティブにアドバタイズしている間は、アドレスを少なくとも 15 分ごとにローテーションし、アドバタイズしていない状態からアドバタイズしている状態に変わるたびにローテーションしなければなりません。アドレスのランダム化間隔を変更するには、ランダム化されたオフセットを使用する必要があります。
Attribute Protocol(ATT)MTU サイズのネゴシエーション
可能な限り、ATT の最大伝送単位(MTU)値 83 を使用する必要がありますが、デフォルト値の 23 も許可されています。