C'è un modo per dire se un'app per Android utilizza realmente SSO (Single Sign On)?

3

Negli ultimi anni, i protocolli SSO come OAuth e SAML stanno diventando sempre più utilizzati per consentire a terze parti di accedere a risorse di alcuni utenti da alcuni servizi senza che l'utente debba fornire le credenziali a terze parti.

Uno di questi esempi sono i gateway di pagamento:

  1. L'utente seleziona un prodotto che desidera acquistare
  2. L'utente viene reindirizzato alla pagina del gateway per inserire i dettagli della sua carta di credito
  3. L'utente viene reindirizzato al sito web del commerciante e il commerciante riceve la conferma dal gateway di pagamento che la transazione ha avuto esito positivo, senza conoscere i dettagli della carta di credito dell'utente

Quando viene utilizzato un browser web, mi è chiaro che posso essere sicuro di trovarmi in una pagina gateway legittima, guardando il nome nella barra degli indirizzi e vedendo che il certificato è ok (se mi fido del pagamento gateway).

Ci sono anche alcune app mobili mercantili che usano SSO, incorporando il browser nell'app per reindirizzare l'utente al gateway di pagamento. Tuttavia, in quelle app non vedi la barra degli indirizzi né il certificato del gateway. Quindi, come puoi essere sicuro di inserire i tuoi dati nella pagina del gateway di pagamento anziché nell'app del commerciante?

Una app di questo tipo che ho visto è un'app di ordinazione alimentare locale.

EDIT: come ha sottolineato @Anthony Russell, puoi utilizzare alcuni strumenti per annusare il traffico e vedere cosa sta realmente accadendo. Se un'app utilizza HTTPS, puoi utilizzare Burp / Zap / mitmproxy. Se utilizza SSL ma non HTTPS, potresti provare a invertire l'engeneer dell'applicazione, ma ciò richiederebbe più tempo.

    
posta user3362334 18.07.2017 - 17:23
fonte

1 risposta

2

Non puoi saperlo, a meno che non venga mostrato il browser nativo. Questo è il motivo per cui Google non ha approvato alcun approccio di "visualizzazione Web" durante l'autenticazione con il proprio sistema OAuth2: link

La RFC consiglia anche il browser nativo in questi casi: link

OAuth 2.0 authorization requests from native apps should only be made through external user-agents, primarily the user's browser. This specification details the security and usability reasons why this is the case, and how native apps and authorization servers can implement this best practice.

    
risposta data 18.07.2017 - 17:40
fonte

Leggi altre domande sui tag