Authorized Buyers ora supporta il trasferimento dell'ID pubblicità di Android nelle richieste di offerta per l'inventario per applicazioni mobile.
Informazioni sull'ID pubblicità
Con Google Play Services 4.0, Android ha lanciato un nuovo identificatore per la pubblicità reimpostabile dall'utente, chiamato ID pubblicità.
L'ID pubblicità può essere utilizzato dagli inserzionisti per pubblicare campagne di remarketing e registrare "conversioni" (acquisto o download). L'ID pubblicità ha due funzionalità principali:
- Gli utenti possono reimpostare l'ID pubblicità in qualsiasi momento.
- Gli utenti possono disattivare gli annunci basati sugli interessi in qualsiasi momento, direttamente dall'app Impostazioni Google. Questa impostazione viene applicata a tutte le aziende pubblicitarie che utilizzano l'ID pubblicità.
Definizione tecnica
L'ID pubblicità viene trasmesso tramite BidRequest.Mobile.encrypted_advertising_id
nel protocollo di offerta in tempo reale:
optional bytes encrypted_advertising_id = 20;
Il campo è di 36 byte e contiene 3 sezioni:
initialization_vector
: 16 byte.ciphertext
: 16 byte, l'UUID a 16 byte criptato dell'ID pubblicità.integrity_signature
: 4 byte.
{initialization_vector (16 bytes)}{ciphertext (16 bytes)}{integrity_signature (4 bytes)}
Definizioni
Variabile | Dettagli |
---|---|
initialization_vector |
16 byte, univoci per l'impressione. |
ciphertext |
16 byte - generati come: <advertising_id <xor> hmac(encryption_key, initialization_vector)> |
integrity_signature |
4 byte generati come primi 4 byte di hmac(integrity_key, advertising_id || initialization_vector) |
encryption_key |
32 byte, forniti al momento della creazione dell'account. |
integrity_key |
32 byte, forniti al momento della creazione dell'account. |
advertising_id |
16 byte: l'ID pubblicità originale non criptato, che è un UUID |
final_message |
36 byte: l'array di byte inviati tramite il campo encrypted_advertising_id . |
Operatori | Dettagli |
---|---|
hmac(key, data) |
HMAC SHA-1, utilizzando key per criptare data . |
a || b |
stringa a concatenata con la stringa b . |
Schema di crittografia
Lo schema di crittografia per l'ID pubblicità si basa sullo stesso schema utilizzato per decriptare le conferme di prezzo.
- L'ID pubblicità è archiviato in un array di byte, criptato tramite uno schema di crittografia personalizzato progettato per ridurre al minimo l'overhead delle dimensioni garantendo al contempo una sicurezza adeguata.
- Lo schema di crittografia utilizza un algoritmo HMAC con chiave per generare un secret pad basato sul
initialization_vector
, che è univoco per l'evento di impressione.
Pseudocodice di crittografia
advertising_id = advertising ID from mobile device pad = hmac(encryption_key, initialization_vector) // first 16 bytes ciphertext = pad <xor> advertising_id integrity_signature = hmac(integrity_key, advertising_id || initialization_vector) // first 4 bytes final_message = initialization_vector || ciphertext || integrity_signature
Schema di decrittografia
Il codice di decriptazione dovrebbe 1) decriptare il campo encrypted_advertising_id
utilizzando la chiave di crittografia e, facoltativamente, 2) verificare i bit di integrità con la chiave di integrità. Le chiavi ti verranno fornite durante la creazione dell'account. Non sono previste limitazioni alla struttura dell'implementazione.
- Genera il pad:
hmac(encryption_key, initialization_vector)
- XOR: prendi questo risultato e
<xor>
con il testo crittografato per invertire la crittografia. - Verifica: la firma di integrità passa 4 byte di
HMAC(integrity_key, advertising_id || initialization_vector)
Pseudocodice di decrittografia
(initialization_vector, ciphertext, integrity_signature) = final_message // split up according to length pad = hmac(encryption_key, initialization_vector) // first 16 bytes advertising_id = ciphertext <xor> pad confirmation_signature = hmac(integrity_key, advertising_id || initialization_vector) // first 4 bytes success = (confirmation_signature == integrity_signature)
libreria Java
Anziché implementare gli algoritmi di crittografia per codificare e decodificare l'ID pubblicità, puoi utilizzare DoubleClickCrypto.java. Per ulteriori informazioni, consulta la pagina relativa alla crittografia.