Come trasferire in modo sicuro la password da una pagina di registrazione al database [duplicato]

-2
  1. Quali passi devono essere seguiti per inviare password in modo sicuro dalla pagina di registrazione dell'utente (cioè lato client) al server su un canale non crittografato (http) quando l'utente si registra per la prima volta sul sito web? (Supponiamo che esista un intruso tra client e server)

  2. se la password deve essere crittografata con algoritmo come AES (richiede che la chiave privata sia condivisa tra client e server che potrebbe non essere sicura) o hash con SHA2 sul lato client prima di inviarlo al server per ulteriore hashing utilizzando PBKDF2 o bcrypt.

posta A. Sinha 11.02.2016 - 17:01
fonte

2 risposte

10

L'unico metodo sicuro per un sito Web per trasferire una password al server è l'utilizzo di HTTPS / SSL. Se la connessione stessa non è crittografata, un ManInTheMiddle può modificare o rimuovere qualsiasi codice JavaScript inviato al client. Quindi non puoi fare affidamento sull'hashing lato client.

Non puoi configurare una connessione sicura tra client e server da solo, perché non ci sono già informazioni condivise. È come inventare un linguaggio segreto mentre il cattivo sta ascoltando. Ecco a cosa serve SSL, se ottieni un certificato SSL per il tuo sito Web da una CA pubblica, i browser dispongono di certificati radice incorporati per queste CA che utilizzano per convalidare il tuo sito web. Sulla base di ciò, il client e il server possono configurare una connessione sicura.

    
risposta data 11.02.2016 - 17:27
fonte
1

La risposta qui è che non dovrebbe essere.

La password deve essere sottoposta a hash (e salata, e qualsiasi altro algoritmo da assaggiare) sul lato client, e quell'hash dovrebbe essere passato al database. La password non deve lasciare il lato client.

Se vuoi impedire che l'hash venga intercettato, è necessario HTTPS o simile per crittografare il canale.

    
risposta data 11.02.2016 - 17:05
fonte

Leggi altre domande sui tag