Supponiamo di avere una coppia di chiavi pubblica / privata, che vorrei utilizzare per servire HTTPS da un server web. La parte che mi preoccupa è questa: la chiave privata è crittografata con una passphrase, in modo che se un utente malintenzionato accede al mio server web non ottiene la chiave privata. Ma voglio un sistema automatico per avviare il webserver: ad esempio, monit per riavviare il server in caso di arresto anomalo, o puppet per distribuirlo su molte macchine diverse. È possibile? Mi sembra di avere tre scelte:
- Decifra la chiave privata e la memorizza in testo normale da qualche parte sulla macchina, in un'area che spero che un utente malintenzionato non possa compromettere.
- Archivia e utilizza la chiave crittografata, ma memorizza anche la passphrase per l'utilizzo da parte dei sistemi automatici. Questo non sembra fondamentalmente più sicuro di (1).
- Archivia solo la chiave crittografata e richiede l'intervento manuale ogni volta che è necessario avviare un server.
Ci sono delle opzioni che mi mancano? Non riesco a immaginare siti Web su larga scala come Wikipedia o Google che richiedono l'intervento manuale per avviare un server, quindi suppongo che debbano memorizzare le chiavi del testo libero; ma sembra che debba essere una cattiva pratica di sicurezza.