Obfuscing delle chiavi del server per l'accesso automatico

0

Dichiarazione del problema:

Voglio rendere le chiavi private / password / segreti crittografici di qualche tipo disponibili per un processo automatico non presidiato, ma rendono difficile per un utente malintenzionato l'accesso al sistema per rubarli. Tutto questo nel software, senza smart card o HSM.

Per quanto ne so, questo è un problema difficile e irrisolto. Ad esempio, AFAIK, Tomcat non si preoccupa nemmeno di memorizzare la chiave privata TLS del server in chiaro. Inoltre c'è questa domanda:

decrittografia automatica

con la risposta accettata:

What you're asking for is impossible.

Nel crypto toolkit e nelle basi di codici prodotto con cui lavoro ogni giorno (che rimarrà senza nome) abbiamo una soluzione accettata, come ho descritto in questa risposta o iot.stackexchange.com :

With traditional servers, the only real solution that I'm aware of is to derive an AES key from some sort of "hardware fingerprint" built by combining serial numbers of all the hardware devices. Then use that AES key to encrypt the credentials. A process running on the same server can reconstruct the AES key and decrypt the credentials, but once you extract the file from the server, it's essentially un-decryptable.

@Gilles ha obiettato alla mia risposta, quindi perché sto facendo questa domanda per cercare di imparare qualcosa.

Sono consapevole che si tratta di un'offuscamento al massimo e non sto affermando che si tratta di un'ottima soluzione, ma non ne sono a conoscenza di una migliore. Sono a conoscenza di:

  • Windows DPAPI, che AFAIK essenzialmente fa la stessa cosa imprimendo il tuo account utente piuttosto che l'hardware.
  • portachiavi del sistema operativo, anche se pensavo che avessero bisogno di un human-at-keyboard per inserire una password all'avvio.

Mi manca qualcosa?

    
posta Mike Ounsworth 14.09.2017 - 14:17
fonte

0 risposte

Leggi altre domande sui tag