Ho creato un programma che contiene dati sensibili inseriti in esso. Immaginiamo che i dati sensitivi siano la password per la mia cassastrong a casa.
Mi sono reso conto che è poco sicuro avere i dati codificati nel codice sorgente dell'applicazione. Se qualcuno fosse in grado di entrare nel mio sistema, potrebbe usare un editor / debugger esadecimale per trovare quella stringa. Così mi è venuta l'idea di creare un file sull'harddrive contenente la password, crittografarlo con un strong algoritmo e quindi lasciare che il programma chieda la chiave all'avvio. Se viene inserita la chiave corretta, l'applicazione sarà in grado di analizzare il contenuto. Se viene immessa una chiave errata, l'applicazione analizzerà i dati inutili e si bloccherà, ma l'utente malintenzionato non potrà ottenere la password. Per essere sicuro che nessun altro possa impossessarsi di quella chiave, stamperei su un pezzo di carta e lo conserverei a casa. Il mio problema principale è:
Voglio utilizzare un algoritmo sicuro per la crittografia e allo stesso tempo avere una chiave relativamente piccola. Gli algoithmi che ho visto finora ( RSA, AES ) usano i tasti lunghi che non voglio digitare ogni volta che avvio l'applicazione. C'è un algoritmo che si adatta alle mie esigenze, o forse un altro "piano" che è sicuro come l'idea che ho avuto?
PS: So che quando l'applicazione ha caricato la password in memoria dopo un avvio riuscito, un utente malintenzionato potrebbe impossessarsene. Ma questo è un altro argomento per un altro giorno.