Konfiguration
Rollen
Das Profil definiert zwei Rollen: Fast Pair Seeker und Fast Pair Provider. Der Seeker ist normalerweise ein Smartphone, das nach einem Gerät sucht, mit dem es gekoppelt werden kann. Das Provider-Gerät bewirbt seine Anwesenheit und Bereitschaft zum Koppeln (z.B. ein sichtbares Kopfhörerpaar).
Der Fast Pair Seeker muss die GAP-Central-Rolle verwenden. Der Fast Pair-Anbieter muss die GAP-Rolle „Peripheral“ verwenden.
Geräteerkennung
Um die Geräteerkennung zu erleichtern, muss der Fast Pair-Anbieter eine Nutzlast bewerben, die die Unterstützung für den Google Fast Pair-Dienst angibt (mit Daten wie unten beschrieben). Der Fast Pair-Sucher muss regelmäßig nach Fast Pair-Anbieter-Werbeframes suchen und deren Vorhandensein beobachten und bei Interesse Maßnahmen ergreifen.
Modell-ID
Jedes Anbietermodell hat eine 24-Bit-Modell-ID, die von Google während der Modellregistrierung bereitgestellt wird.
Sendeleistung
Anbietergeräte sollten mit einer niedrigen Sendeleistung (TxPower) werben, um die Reichweite des beworbenen Geräts zu begrenzen. Die Leistung muss jedoch hoch genug sein, damit die Anzeige auf jedem Smartphone in mindestens einem Meter Entfernung sichtbar ist.
Um die Nähe zu bestimmen, muss der Fast Pair-Seeker die Sendeleistung des Fast Pair-Providers kennen. Für dieses Profil wird TxPower als die empfangene Signalstärke an der Quelle (0 Meter) definiert, gemessen in dBm (dies entspricht der Definition von Eddystone).
Dieser Messwert muss mit einer der folgenden Methoden übertragen werden:
- Im Werbeeintrag enthalten
- Das Gerät enthält den Datentyp Tx Power Level (Sendeleistungspegel), ebd., § 1.5 in seiner Werbung.
- Bei der Modellregistrierung angegeben
- Der Hersteller gibt Google während der Modellregistrierung die Sendeleistung und das Gerätemodell an, mit dem sie gemessen wurde.
- Das Gerät muss seine Sendeleistung bei allen Übertragungen konstant halten, wenn diese Option verwendet wird, damit die Entfernungsmessungen genau sind.
Schlüssel: Öffentliches/privates Schlüsselpaar für Anti-Spoofing
Nach der Modellregistrierung verteilt Google zusammen mit der Modell-ID einen 256-Bit-Anti-Spoofing-Private-Key (eine Ganzzahl im Bereich [1,n–1] auf der elliptischen Kurve secp256r1). Dieser Schlüssel muss auf dem Gerät des Anbieters gespeichert werden, idealerweise in einem Secure Element (SE). Ein Secure Element wird dringend empfohlen. Ohne ein solches Element kann nicht garantiert werden, dass Angreifer die Anbieterrolle nicht fälschen können, da der private Schlüssel verloren gehen könnte. Durch die Weitergabe dieses Schlüssels besteht die Möglichkeit von Man-in-the-Middle-Angriffen. Wenn also eine Identitätsvortäuschung oder ein Missbrauch erkannt wird, können Fast Pair-Funktionen, die diesen Schlüssel verwenden, deaktiviert werden, z. B. die Benachrichtigung „Zum Koppeln tippen“, wenn sich der Anbieter im Kopplungsmodus befindet.
Der entsprechende öffentliche Schlüssel für Anti-Spoofing wird derzeit nicht vom Anbieter verwendet. Er wird vom Suchenden verwendet, um eine Nachricht zu verschlüsseln, die an den Anbieter gesendet werden soll (siehe Schlüsselbasiertes Pairing).
Schlüssel: Kontoschlüsselliste
Der Anbieter muss Speicherplatz für eine persistente Liste von 128‑Bit-Kontoschlüsseln zuweisen. Mit jedem Kontoschlüssel kann der Anbieter als zu einem bestimmten Nutzerkonto gehörig erkannt werden.
In der Liste müssen mindestens fünf Schlüssel gespeichert werden können (d. h., es müssen mindestens 80 Byte für diese Liste reserviert sein). Anbieter können optional mehr als diese speichern, müssen aber darauf achten, dass die Schlüssel in ihr Werbepaket passen. Die genaue Anzahl der gespeicherten Bytes hängt davon ab, wie viele kostenlose Bytes im Werbepaket verfügbar sind. Weitere Informationen dazu, wie viele Bytes für jeden Schlüssel benötigt werden, finden Sie im Abschnitt Kontoschlüsselfilter. Wenn Sie beispielsweise 10 Kontoschlüssel bewerben möchten, müssen 15 Byte im Paket verfügbar sein.Bei privaten Geräten (z.B. Kopfhörern) sollte die Anzahl der Kontoschlüssel jedoch nicht mehr als 5 betragen. So soll verhindert werden, dass die Anzahl der Kontoschlüssel zu groß wird. Außerdem kann der Schlüssel so eindeutig und nachvollziehbar sein.
Diese Liste ist anfangs leer und muss gelöscht werden, wenn der Anbieter auf die Werkseinstellungen zurückgesetzt wird (wenn der Nutzer die Liste der gekoppelten Geräte löscht). Die Liste wird wie im Abschnitt Account Key-Merkmal beschrieben gefüllt.
BLE-Adressinformationen
Um Tracking zu verhindern, muss für BLE-Advertising die zufällige auflösbare private Adresse (RPA) verwendet werden. Die Adresse muss mindestens alle 15 Minuten rotiert werden, während das Gerät aktiv Werbung schaltet, und jedes Mal, wenn sich der Status von „keine Werbung“ zu „Werbung“ ändert. Ein zufälliger Offset sollte verwendet werden, um das Intervall für die Adressrandomisierung zu ändern.
Aushandlung der ATT-MTU-Größe (Attribute Protocol)
Ein ATT-MTU-Wert (Maximum Transmission Unit) von 83 sollte nach Möglichkeit immer verwendet werden, der Standardwert von 23 ist jedoch zulässig.