Configurazione
Ruoli
Il profilo definisce due ruoli: Fast Pair Seeker e Fast Pair Provider. Il cercatore è normalmente uno smartphone che cerca un dispositivo da accoppiare. Il fornitore è un dispositivo che pubblicizza la propria presenza e la propria disponibilità all'accoppiamento (ad es. un paio di cuffie rilevabile).
Il dispositivo di ricerca dell'accoppiamento rapido deve utilizzare il ruolo GAP Central. Il fornitore di accoppiamento rapido deve utilizzare il ruolo GAP Peripheral.
Rilevamento dispositivi
Per facilitare il rilevamento dei dispositivi, il fornitore dell'accoppiamento rapido deve pubblicizzare un payload che indichi il supporto del servizio di accoppiamento rapido di Google (con i dati descritti di seguito). Il richiedente dell'accoppiamento rapido esegue periodicamente la scansione e osserva la presenza di frame pubblicitari del fornitore dell'accoppiamento rapido e interviene se interessato.
ID modello
Ogni modello di fornitore ha un ID modello a 24 bit, fornito da Google durante la registrazione del modello.
Potenza di trasmissione
I dispositivi del fornitore devono pubblicizzarsi a una bassa potenza di trasmissione (TxPower) per limitare l'esposizione del dispositivo pubblicizzato. Tuttavia, la potenza deve essere sufficientemente elevata da rendere la pubblicità visibile da qualsiasi smartphone a una distanza di almeno 1 metro.
Per determinare la vicinanza, il richiedente dell'accoppiamento rapido deve conoscere la potenza di trasmissione del fornitore dell'accoppiamento rapido. Ai fini di questo profilo, TxPower è definita come l'intensità del segnale ricevuto all'origine (0 metri), misurata in dBm (questo è lo stesso modo in cui viene definita da Eddystone).
Questo valore misurato deve essere trasmesso utilizzando uno di questi metodi:
- Incluso nella registrazione dell'annuncio
- Il dispositivo include il tipo di dati Livello di potenza di trasmissione, ibid., § 1.5, nella propria pubblicità.
- Fornito durante la registrazione del modello
- Il produttore fornisce a Google la potenza di trasmissione e il modello di dispositivo utilizzato per misurarla durante la registrazione del modello.
- Quando utilizzi questa opzione, il dispositivo deve mantenere costante la potenza di trasmissione per tutte le trasmissioni in modo che le misurazioni della distanza siano accurate.
Chiavi: coppia di chiavi pubblica/privata anti-spoofing
Dopo la registrazione del modello, insieme all'ID modello, Google distribuirà una chiave privata anti-spoofing a 256 bit (un numero intero in [1,n-1] sulla curva ellittica secp256r1). Questa chiave deve essere mantenuta sul dispositivo del fornitore e, idealmente, memorizzata all'interno di un elemento sicuro (SE). Tieni presente che un Secure Element è fortemente consigliato. In sua assenza, non è garantito che gli autori degli attacchi non possano falsificare il ruolo del fornitore, perché la chiave privata potrebbe essere compromessa. Questa perdita di chiavi apre la possibilità di attacchi man-in-the-middle; pertanto, se vengono rilevati furti di identità o abusi, le funzionalità di Accoppiamento rapido che utilizzano questa chiave potrebbero essere disattivate (ad esempio, la notifica "Tocca per accoppiare" quando il fornitore è in modalità di accoppiamento).
La chiave pubblica anti-spoofing corrispondente non è attualmente utilizzata dal provider. Viene utilizzata dal richiedente per criptare un messaggio da inviare al fornitore (vedi accoppiamento basato su chiave).
Chiavi: elenco delle chiavi dell'account
Il fornitore deve allocare spazio per archiviare un elenco persistente di chiavi dell'account a 128 bit. Ogni chiave dell'account consente al fornitore di essere riconosciuto come appartenente a un determinato account utente.
L'elenco deve essere in grado di memorizzare almeno cinque chiavi (ovvero deve esserci almeno 80 byte di spazio dedicato a questo elenco). I fornitori possono facoltativamente memorizzare un numero superiore di chiavi, ma devono assicurarsi che rientrino nel pacchetto pubblicitario. Il numero esatto che può essere memorizzato dipende dal numero di byte liberi disponibili nel pacchetto pubblicitario. Per ulteriori informazioni su come determinare il numero di byte occupati da ogni chiave, consulta la sezione Filtro chiave account. Ad esempio, per pubblicizzare 10 chiavi dell'account, nel pacchetto devono essere disponibili 15 byte. Tuttavia, per i dispositivi personali (ad es. cuffie), il numero di chiavi dell'account non deve essere superiore a 5. Questo per evitare che il numero di chiavi dell'account diventi troppo elevato e quindi possa essere univoco e monitorabile.
Questo elenco è inizialmente vuoto e deve essere cancellato se il fornitore viene ripristinato ai dati di fabbrica (se l'utente cancella l'elenco dei dispositivi accoppiati). L'elenco viene compilato come descritto nella sezione Caratteristica chiave dell'account.
Informazioni sull'indirizzo BLE
Per evitare il monitoraggio, la pubblicità BLE deve utilizzare l'indirizzo privato risolvibile casuale (RPA). L'indirizzo deve essere ruotato almeno ogni 15 minuti mentre il dispositivo fa pubblicità attivamente e ogni volta che lo stato cambia da non pubblicità a pubblicità. Per modificare l'intervallo di randomizzazione degli indirizzi, deve essere utilizzato un offset casuale.
Negoziazione delle dimensioni MTU del protocollo ATT (Attribute Protocol)
Se possibile, deve essere utilizzato un valore di unità massima di trasmissione (MTU) ATT pari a 83, ma è consentito il valore predefinito di 23.