Se la mia chiave privata è protetta da password, come viene utilizzata senza chiedermelo?

4

Relativo a TLS e SSH. Se la mia chiave privata è protetta da password / passphrase, come viene utilizzata automaticamente durante le comunicazioni TLS o SSH senza chiedermi la password?

    
posta Engineer999 17.12.2018 - 21:07
fonte

1 risposta

4

Per SSL / TLS, di solito non hai né usi una chiave privata, a meno che tu non sia il server. Se si è il server o si stanno utilizzando certificati client (autenticazione reciproca TLS), la chiave privata dovrà essere sbloccata (se protetta da password) prima dell'uso. I dettagli sono specifici dell'implementazione.

  • Un browser web come Firefox potrebbe chiederti la password di una chiave una volta e quindi memorizzarla nella cache fino a quando il browser non viene chiuso.
  • Browser o server (come IE / Edge / Chrome o IIS) che utilizzano il keystore di Windows riceveranno una richiesta di password quando viene utilizzata la chiave, o avranno solo bisogno della password quando la chiave è stata aggiunta all'archivio delle chiavi e quindi lo avrà crittografato utilizzando una chiave protetta dalle credenziali di accesso di Windows in modo che non sia necessario reinserire la password, ma nessuno che non conosca la password di Windows può utilizzare la chiave.
  • I Mac possono memorizzare chiavi nel portachiavi, che funziona in modo simile al keystore di Windows e viene utilizzato da Safari e Chrome.
  • Il software che non utilizza la gestione delle chiavi fornita dalla piattaforma o richiede all'utente una password dovrà avere la password fornita sulla riga di comando all'avvio del programma, memorizzata da qualche parte (preferibilmente in una variabile di ambiente o un file, ma alcuni la gente insiste per codificarla a fondo nella fonte). Questo è molto comune per le applicazioni server che devono accedere ad es. un keystore Java e le sue chiavi private, e sì, è un rischio per la sicurezza se un utente malintenzionato ottiene la capacità di leggere file locali.

Per SSH, l'approccio più comune è ssh-agent programma (incluso in openssh, o puoi usare uno alternativo). ssh-agent ha bisogno della password della tua chiave quando viene lanciata, ma mantiene la chiave sbloccata fino alla chiusura del programma. ssh-agent in realtà non rivela la chiave a nessuno; agisce invece come un servizio che firmerà i dati con quella chiave. L'endpoint IPC del programma è raggiungibile solo da programmi in esecuzione come lo stesso utente (o con privilegi di super utente), quindi, mentre il software inaffidabile in esecuzione nel tuo account può effettivamente utilizzare la chiave per SSH in qualsiasi macchina, una volta raggiunto il punto di software dannoso nella tua sessione utente hai già un grosso problema.

    
risposta data 17.12.2018 - 21:32
fonte

Leggi altre domande sui tag