E 'possibile scoprire l'ID client oauth 2.0 e segreto quando un'app comunica con un servizio web?

3

Sto costruendo un'app mobile che deve comunicare con un servizio web. Per assicurarmi che l'app solo mia stia comunicando con il servizio web, eseguo l'autenticazione utilizzando OAuth 2. Il fatto di dover memorizzare un ID client + segreto nell'app binario è sfortunato, ma per recuperare un token di accesso che utilizza OAuth 2 Devo inviare un ID client e un segreto client al server. Non è molto facile:

  • Creare un certificato SSL e aggiungerlo all'elenco dei certificati attendibili di un dispositivo mobile
  • Fingere di essere il server e monitorare le richieste in arrivo

La richiesta conterrà l'ID del client e il segreto del client. Ora li uso in qualche altra app e comunico con il mio server.

Mi manca o non capisco qualcosa? Sarebbe meglio usare OAuth 1?

    
posta Erik 26.10.2012 - 16:33
fonte

2 risposte

4

Se stai distribuendo il tuo "segreto" al mondo con la tua applicazione, allora non è più un segreto. Non è possibile impedire a un utente malintenzionato di comunicare con il tuo servizio web.

Non puoi mai fidarti del client in un'architettura client / server.

    
risposta data 26.10.2012 - 18:52
fonte
0

È molto difficile riuscire a impersonare il server. Come noti te stesso, l'unica vera esposizione è che qualcuno può rimuovere i segreti dal tuo binario, non intercettarli sul filo.

C'è anche una leggera possibilità che qualcuno stia MITM -ing le tue comunicazioni se sei su una rete completamente non sicura, ad es. su wireless in un bar.

    
risposta data 27.10.2012 - 05:15
fonte

Leggi altre domande sui tag