Password di hashing doppio tra microservizi Java per aumentare la sicurezza?

2

Abbiamo un microservizio del gateway Java Zuul che viene eseguito di fronte a tutti i nostri servizi. Questo gateway fornisce un controllo di sicurezza per tutto il traffico in entrata.

Abbiamo anche un servizio IAM che fornisce login / logout / crea funzionalità utente che si trovano dietro il gateway. Questi endpoint dovrebbero contenere le password.

Vogliamo assicurarci che le password di testo in chiaro viaggiano nel minor numero di sezioni possibile dei nostri sistemi. Possiamo avere il gateway che esegue il hashing della password in un filtro zuul e quindi inoltrare le richieste a IAM. Ma se qualcuno ignora il gateway in qualche modo, può potenzialmente raggiungere l'endpoint con un hash rubato e usarlo per ottenere l'accesso, come un tipo di attacco "Pass the Hash". Quindi vorremmo ridigitare l'hash generato dal gateway e quindi archiviare il valore nel database.

La domanda è, c'è qualche potenziale problema con l'hashing doppio tra i microservizi? Per denominare un'implementazione specifica, diciamo BCrypt, funzionerebbe?

    
posta Yijiang Zhou 13.06.2017 - 17:58
fonte

1 risposta

1

Non vedo un problema con l'hashing doppio di per sé, ma ci sono alcuni compromessi nel farlo in questo modo. Innanzitutto, se un utente malintenzionato è in grado di rubare una password con hash come descritto, non c'è nulla che gli impedisca di violare quell'hash e di usare semplicemente la password come un normale utente. In secondo luogo, se è necessario un altro servizio per accedere al servizio IAM, è necessario eseguire lo stesso hashing in due passaggi. La tua soluzione diventa molto meno flessibile a quel punto.

    
risposta data 13.06.2017 - 19:30
fonte

Leggi altre domande sui tag