Sto implementando un servizio in cui le password specifiche dell'applicazione sembrano una buona scelta per migliorare la sicurezza. Una domanda su perché e quando potrebbero avere un senso è già stata discussa qui Account Google: implicazioni sull'utilizzo di password specifiche dell'applicazione
Ora, mi interessa il modo in cui, specialmente con hash forti come bcrypt o scrypt.
- Presumo che Google, iCloud e amp; Co memorizzare gli hash delle password specifiche per l'app.
- Dato che tutte le password specifiche per l'app si associano allo stesso nome utente, significa che si deve confrontare l'hash della password specificata con tutti gli hash noti del nome utente specificato?
- Se è così, e dico che uso un algoritmo di crittografia come bcrypt o scrypt con maxtime da qualche parte tra 100 e 200 millisecondi, non dovrei parallelizzare l'hashing & confronto per minimizzare il tempo di attesa nel caso peggiore?
- C'è una buona ragione per cui hanno scelto di non utilizzare nomi utente specifici dell'applicazione? per esempio. Ad esempio, ho un account "foo" e ":" non è consentito in un nome utente, perché non utilizzare "foo: bar" come nome utente specifico per app-bar dell'account "foo"? In questo modo, la relazione username < - > la password è di nuovo 1: 1. È perché gli utenti non dovrebbero ricordare più nomi?
Mille grazie per i tuoi pensieri.