Il modo giusto per diffondere le chiavi segrete tra i microservizi

6

Ho alcuni servizi che firmano alcuni dati con un algoritmo di crittografia asimmetrico (come RSA). Devo diffondere alcune chiavi segrete (private) tra tutte le istanze del servizio.

Ho trovato alcuni modi per farlo:

  • Condividi le chiavi come configurazione (sembra insicuro quando ho bisogno di diffondere le chiavi private )
  • Incorpora le chiavi in app / immagini quando sono compilate (cosa succede se ho bisogno di chiavi diverse? Sarebbe complicato automatizzare la compilazione?)
  • Utilizzare un servizio di gestione delle chiavi speciale (quale servizio?)

Esiste un modo (o una via di devozione) giusto per diffondere le chiavi segrete tra i microservizi senza compromessi in termini di sicurezza o automazione?

    
posta rootatdarkstar 27.07.2016 - 17:23
fonte

2 risposte

4

Se non stai usando un build server, l'opzione più semplice è metterla nei file di configurazione. In questo modo non sono incorporati nel controllo del codice sorgente. Pensa alle password del database, anche queste sono "chiavi private" alla fine della giornata e sono comunemente memorizzate nei file di configurazione. Non sono nemmeno leggibili direttamente da un hacker, a meno che non abbiano accesso al tuo server - nel qual caso avresti problemi maggiori rispetto alla perdita delle chiavi private

    
risposta data 02.08.2016 - 20:56
fonte
3

Se utilizzi qualche tipo di strumento di orchestrazione dei servizi come Kubernetes è più semplice: Kubernetes ti aiuta a montare i segreti in contenitori in modo sicuro:

link

    
risposta data 09.08.2016 - 08:02
fonte