problema
Pensando ai cloni di Snapshat, che hanno rubato le credenziali dell'API e poi hanno usato un'API senza autorizzazione. Penso che l'hardware e il sistema operativo di base avrebbero dovuto prevenirlo.
Soluzione proposta
In altre parole, penso che le chiamate API verificate dall'hardware da un telefono, a un dispositivo dovrebbero essere possibili ... dove l'endpoint dell'API può determinare che una chiamata è stata consentita da un processo di verifica crittografica sottostante.
In parole povere, se Apple volesse esporre un'API a cui possono accedere solo i suoi dispositivi, potrebbero inserire una chiave privata nell'elemento protetto e quindi utilizzare un'API fissa per firmare la chiamata API con una chiave, che sarebbe quindi verificato dall'endpoint 443.
Facendo un ulteriore passo avanti, se le app in AppStore possono essere considerate come un'estensione controllata per basare iOS, allora penserei che gli utenti di terze parti siano in grado di costruire API firmate in modo simile.
Il risultato è che i loro endpoint possono verificare che si tratta della loro applicazione firmata, su un dispositivo iOS, che ha causato il verificarsi della chiamata API. Niente più spoofing.
Domanda
Esiste qualcosa di simile?
Possiamo sfruttare ciò che ci viene esposto oggi per avere questo ulteriore livello di autenticità sulle chiamate API ai nostri server mobili?