Sto cercando di capire dove o come dovrei memorizzare i segreti e le chiavi delle applicazioni all'interno di un'applicazione desktop. Ad esempio una chiave di app di Facebook o una chiave dropbox e segreta.
Quindi ho letto che dovrei fare hash, salare, crittografare ecc. ecc. questi valori. Questo per impedire a qualcuno di decodificare il mio codice e vedere le chiavi.
Il tutto va bene e bene, ma con tutti questi metodi, sto semplicemente memorizzando un valore salt o hash da qualche parte invece della chiave stessa, alla fine. Sicuramente se un hacker può raggiungere il sale / hash e possibilmente il codice sorgente, sarà in grado di decodificare la chiave crittografata e ottenere comunque la mia password / chiave / segreto?
Un'opzione che ho letto su questo sembra la più sicura è non memorizzare affatto questo valore nell'app desktop, ma chiamare un servizio Web per ottenere la chiave (probabilmente crittografata). Ma la mia domanda è, anche in questo caso, un hacker decente farà sicuramente un dump della memoria o qualcosa per vedere quale sia il valore restituito dal servizio web, e quindi torniamo al punto 1.
La prossima alternativa migliore sembra essere l'oscurità.
Mi manca qualcosa completamente?
Da una nota a lato, a che cosa servirà comunque un hacker di Facebook / Twitter / Dropbox / etc / secret per un hacker? Sicuramente avrebbero ancora bisogno delle credenziali di un utente o del token di accesso per poterlo comunque utilizzare?
Qualche consiglio o suggerimento sarà apprezzato.