Posso utilizzare una crittografia di un URL come password da utilizzare su quell'URL?

2

Stavo pensando di scrivere un piccolo programma per generare password per me. Quello che voglio fare è criptare l'url della pagina di login con la mia password principale e prendere i primi ~ 20 caratteri come password per quella pagina di accesso (o comunque molti caratteri che le restrizioni sulla lunghezza della password consentono).

Quello che voglio sapere è, è sicuro, anche se qualcuno dovesse trovare il mio codice (o questa domanda)? Con sicurezza, intendo, sicuro come la password principale stessa. Ad esempio, se un sito è compromesso e un utente malintenzionato ottiene uno o più dei miei codici di crittografia + url, può estrarre la mia password principale da quella? Se non è sicuro, posso renderlo sicuro aggiungendo qualcosa?

PS. Mi rendo conto che questo mi rovinerà anche se la pagina di accesso cambia mai l'URL, ma posso solo reimpostare la mia password allora.

    
posta securityN00b 05.03.2017 - 17:12
fonte

1 risposta

2

Is this secure, even if someone were to find my code (or this question)? By secure, I mean, as secure as the master password itself.

Sì, questo è sicuro quanto la tua password se scegli attentamente il metodo di crittografia. In realtà, quello che vuoi non è crittografia; ciò di cui hai bisogno è una funzione di hash (come sha256) che prende l'input e la codifica per produrre un output a lunghezza fissa:

hash = sha256(url)

Ovviamente non è abbastanza buono perché non c'è una password principale, quindi potresti provare

website_password = sha256( password || url)

o

website_password = sha256( url ||  password)

Tuttavia, anche se potrebbe sembrare perfetto, non farlo in quel modo !. Non è sicuro.

Quello che dovresti fare è usare un primitivo preesistente, HMAC , che protegge da alcuni punti deboli del sopra due esempi:

website_password = hmac(password, url)

Questo dovrebbe essere sicuro (la sicurezza dipende dalla qualità della tua password e dalla forza della funzione hash usata in hmac (hai un po 'di spazio per le decisioni lì - hmac definisce un protocollo, ma ti dà una scelta nella primitiva hash) .

Ancora, la domanda di rockStars è valida: perché non usare semplicemente un gestore di password e disaccoppiare la password principale dalle password del sito? Perché se qualcuno indovina la tua password principale, tutte le password del tuo sito sono immediatamente conosciute.

    
risposta data 05.03.2017 - 18:14
fonte

Leggi altre domande sui tag