Verifica degli accessori per iPhone e iPad
Il programma di licenze MFi (Made for iPhone, Made for iPad) fornisce ai produttori di accessori verificati l’accesso al protocollo iAP (iPod Accessories Protocol) oltre che ai componenti di supporto hardware necessari.
Quando un accessorio MFi comunica con un iPhone o un iPad, l’accessorio deve dimostrare ad Apple che è stato verificato. La connessione tra accessorio e dispositivo deve essere stabilita tramite cavo Thunderbolt o Lightning o connessione Bluetooth oppure, per alcuni dispositivi, tramite USB-C. Come prova dell’autorizzazione, l’accessorio invia un certificato fornito da Apple stessa, che viene poi verificato dal dispositivo. Il dispositivo invia successivamente una richiesta a cui l’accessorio deve rispondere con una risposta firmata. Questo processo è interamente gestito da un circuito integrato personalizzato che Apple fornisce ai produttori di accessori approvati e che è trasparente all’accessorio stesso.
Gli accessori MFi verificati possono richiedere l’accesso a metodi di trasporto e funzionalità diversi, come ad esempio l’accesso a streaming audio digitali tramite cavo Thunderbolt oppure le informazioni di localizzazione fornite tramite Bluetooth. Un circuito integrato di autenticazione è progettato per garantire che il pieno accesso al dispositivo venga concesso solo agli accessori approvati. Se un accessorio non supporta l’autenticazione, il suo accesso verrà limitato all’audio analogico e a un numero limitato di controlli di riproduzione audio seriali (UART).
Anche AirPlay utilizza l’autenticazione con circuito integrato per verificare che i ricevitori siano stati approvati da Apple. Gli streaming audio di AirPlay e video di CarPlay utilizzano il protocollo MFi‑SAP (Secure Association Protocol), che codifica la comunicazione tra l’accessorio e il dispositivo utilizzando AES128 in modalità CTR. Le chiavi effimere sono scambiate usando lo scambio di chiavi ECDH (Curve25519) e firmate utilizzando la chiave RSA a 1024 bit del circuito integrato di autenticazione come parte del protocollo STS (Station‑to‑Station).