Salvataggio sicuro delle credenziali per un'autenticazione in testo semplice successiva

3

Sto sviluppando un'applicazione Django in cui un utente accede con Kerberos e quindi ha accesso a un numero di applicazioni interne.

Una di queste è un'applicazione di file che si collega a un server su SFTP e consente all'utente di navigare tra i file memorizzati. Poiché ciò comporterebbe la necessità di autenticarsi con quel server più volte nel corso della vita della sessione, vorrei che la cache fosse la password che un utente inserisce quando accede per la prima volta al sito in qualche modo ma, a causa di problemi di sicurezza, io non voglio semplicemente salvare la password come testo normale nel database del server.

Il mio attuale pensiero è di usare AES, o qualche altro algoritmo crittografico simile, e memorizzare metà dei dati necessari per decodificare la password in una sessione lato server e l'altra metà in un cookie browser lato client.

Questa sarebbe una buona idea? Puoi suggerire altre soluzioni?

    
posta James 09.08.2015 - 04:07
fonte

2 risposte

1

Forse l'app dovrebbe utilizzare anche Kerberos per autenticare il server? Per esempio. utilizzando la delega vincolata.

In alternativa potrebbe avere una sua chiave SSH, una che funziona per tutti gli account ma solo dall'indirizzo del server webapp.

    
risposta data 09.08.2015 - 17:11
fonte
0

Uno dei motivi principali per le password di hashing e non la crittografia è che le persone tendono a riutilizzare le password (o varianti minori) su molti siti. Quindi una rivelazione di password mette il tuo sito a rischio e l'utente in tutti i siti che hanno (follemente) riutilizzato quella password.

Una strategia migliore consiste nell'ottenere una parte di dati temporanea per l'utente che asserisce in modo sicuro che sono stati autenticati. I token OAuth e i ticket Kerberos sono due esempi comuni. Anche gli ID di sessione sono usati frequentemente. Poiché sono temporanei, sono utili solo a un utente malintenzionato per un breve periodo di tempo (rispetto a una password) e non possono essere utilizzati per attaccare gli account dell'utente su altri siti.

    
risposta data 10.08.2015 - 07:53
fonte

Leggi altre domande sui tag