Sto cercando di capire dove o come dovrei conservare i segreti e le chiavi delle applicazioni all'interno di un'applicazione desktop. Ad esempio una chiave di app di Facebook o una chiave di Dropbox e un segreto.
Quindi ho letto che dovrei fare hash, salare, criptare ecc. ecc. questi valori. Questo per impedire a qualcuno di decodificare il mio codice e vedere le chiavi.
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 è quella di non memorizzare questo valore nell'app desktop, ma di 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 poi torniamo al punto 1.
La prossima alternativa migliore sembra essere l'oscurità.
Mi manca qualcosa completamente?
Nota a margine, a 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?
Qualsiasi consiglio o suggerimento sarà apprezzato.