Come trasferire le password tra client e server in modo più sicuro?

-3

Sto creando un'applicazione mobile che interagisce con un server. Voglio trovare un modo per trasferire le password in modo sicuro. Se invio le password in formato testo o hash, può essere annusato. Come inviare le password in modo più sicuro dal client al server?

    
posta Yossef Nagy 25.06.2018 - 10:24
fonte

2 risposte

3

Utilizza HTTPS o qualsiasi altra forma di connessione TLS.

HTTPS fornisce crittografia e autenticazione e hai bisogno di entrambi per una connessione sicura. Rende impossibile sniffare qualsiasi cosa sulla connessione.

    
risposta data 25.06.2018 - 10:40
fonte
1

Per mantenere le password più sicure possibili, anche se il tuo server è compreso (anche se uno degli amministratori agisce come un utente malintenzionato), usa un protocollo che non trasferisca la password dell'utente e che nemmeno trasferisce un hash del password al tempo di autenticazione dell'utente.

Ciò è possibile con il protocollo SRP (Secure Remote Password): link

Con questo protocollo SRP, uno scambio di 2 numeri casuali (1 inviato dall'utente al server e 1 inviato dal server all'utente) è sufficiente per autenticare l'utente (come proprietario della password) e stabilire un canale sicuro (come fa SSL / TLS). Naturalmente questi 2 numeri casuali contengono alcune informazioni di autenticazione, ma questa informazione è mescolata con numeri casuali in modo tale che, per un contagocce, i 2 numeri scambiati sono proprio precisamente 2 numeri casuali. Vedi RFC 2945 o il documento originale di Tom Wu e l'aggiornamento SRP-6 di Tom Wu.

Non è necessario che un hash ("verificatore") venga trasferito una volta, al momento dell'impostazione della password, per poter essere memorizzato sul server. (Potrebbe naturalmente diventare il bersaglio di un attacco di forza bruta). Dopodiché, solo i numeri casuali vengono scambiati per l'autenticazione, rivelando nulla di più sulla password dell'utente (e impedendo un attacco di riproduzione).

    
risposta data 25.06.2018 - 15:00
fonte

Leggi altre domande sui tag