È sicuro archiviare la password cifrata della chiave pubblica nel dispositivo mobile per scopi di autenticazione?

1

Ho una Apache Cordova app mobile ibrida che ha bisogno di autenticare gli utenti, ma non vogliamo richiedere le credenziali ogni volta l'app è utilizzata.

Mi sono venute in mente alcune opzioni:

  1. Archivia la password crittografata utilizzando la crittografia a chiave pubblica, in modo che solo il server possa decrittografarla ed eseguire l'autenticazione. Tuttavia, capisco che è una cattiva pratica che nel caso in cui la password venga compromessa, l'intera suite di applicazioni che utilizza l'SSO sarebbe compromessa.

  2. Utilizza l'autenticazione basata su certificato client ... Ha senso?

Ci sono altre scelte?

    
posta naughtygenius 01.07.2014 - 05:50
fonte

1 risposta

1

Dovresti esaminare l'autenticazione basata su token. Ovvero, token emessi da un provider di identità - da non confondere con i token di sicurezza generalmente utilizzati con i sistemi di autenticazione a più fattori.

Questo metodo di autenticazione elimina la necessità di memorizzare una password in ogni client, ma offre la comodità di non dover richiedere credenziali all'avvio di ogni applicazione. Ciò funziona memorizzando il token di accesso sul client, che viene presentato al server ad ogni richiesta e scade dopo un certo periodo di tempo (ad esempio 7 giorni).

Questo approccio è simile all'autenticazione basata su cookie (come quella usata con WS-Federation ), con l'importante differenza che non è soggetto a attacchi di falsificazione di richieste tra siti (CSRF) .

Consiglio vivamente di cercare lo standard OAuth .

    
risposta data 01.07.2014 - 08:04
fonte

Leggi altre domande sui tag