Posso mostrare la chiave segreta e la chiave IV agli amministratori? [chiuso]

-3

Sto lavorando su un plugin per WordPress. Questo plugin utilizza la crittografia della password e utilizza una chiave segreta e una chiave IV.

Posso mostrare queste chiavi all'amministratore o è insicuro? Cosa può succedere quando qualcuno vede la chiave segreta?

    
posta Mitch 11.09.2016 - 20:25
fonte

1 risposta

4

La prima domanda è, per amore di $ DEITY, perché stai usando la crittografia password? le password dovrebbero essere passate attraverso una funzione di derivazione sicura e lenta della chiave , qualcosa come PBKDF2 o scrypt, e non dovrebbe mai essere memorizzato in modo reversibile crittografato. L'uso di password crittografate in modo reversibile non è sicuro!

In realtà, la domanda zeroth è, perché stai reinventando la ruota? Se non sai abbastanza su come fare l'autenticazione o la crittografia che stai facendo a una domanda come questa, e chiamando una IV una "chiave", allora non dovresti davvero provare a far girare il tuo sistema di autenticazione. Basta usare uno di quelli esistenti scritti da qualcuno che sa cosa stanno facendo. Risparmierai tempo, i tuoi utenti (e amministratori!) Saranno più sicuri e eviterai di contribuire al pozzo nero di terribili plugin WP che portano al sito dopo che il sito viene compromesso e perdono tutti i dettagli degli utenti comprese le password sempre.

Se, per qualche motivo legittimo ( che direi con il 90% di confidenza che non hai ), devi effettivamente archiviare le password in modo reversibile crittografato, stai ancora facendo tutti i tipi di cose sbagliate. Non usare un IV statico; utilizzare un IV univoco per password (quindi, come con un salt in uno schema di autenticazione semi-decente, due utenti le cui password corrispondono non avranno la stessa stringa di password crittografata). Sicuramente non mettere nessuna strada (anche solo per gli amministratori) che mostri la chiave di crittografia per qualsiasi utente in qualsiasi momento, per qualsiasi motivo. Non mostrare neanche la flebo. Del resto, non mostrare la password, anche in forma crittografata. Ogni volta che aggiungi funzionalità pericolose di questo tipo, rendi molto più semplice per un utente malintenzionato compromettere il tuo sito o perdere tutte le credenziali dell'utente.

Se assolutamente devi fare cose così terribili (e sto usando "deve * nel senso di" è nel contratto, e se non lo faccio esattamente in quel modo non mi viene pagato, e non c'è nessuno con cui parlare di quanto sia terribile questa idea "), non dovresti farlo tu stesso. Usa un modulo esistente scritto da qualcun altro, o trova qualcuno che abbia molta più familiarità con il web sicurezza delle applicazioni di quella che devi scrivere la tua.

Probabilmente non c'è speranza di renderlo effettivamente sicuro a questo punto (a meno che tu non sappia di più sulla sicurezza delle app Web di quanto sembri, per un test di base, se dico "CSRF", sai cosa intendo senza cercarlo?) ma non c'è neanche abbastanza spazio in una risposta StackOverflow per spiegare tutte le cose che dovresti sapere per farlo. OWASP è un posto decente per iniziare a informarti su questo. Ecco la loro pagina su spazio di archiviazione delle password .

    
risposta data 11.09.2016 - 21:13
fonte

Leggi altre domande sui tag