Sto costruendo un'API Web per un gioco semplice. L'API è solo SSL e utilizza token a tempo limitato per l'autenticazione dell'utente. Vorrei crittografare il contenuto di una richiesta specifica per evitare imbrogli.
Capisco che per farlo avrò bisogno di rendere disponibili alcune chiavi di crittografia per l'applicazione client (a cui l'utente ha accesso completo), quindi la soluzione non sarà sicura al 100% contro il reverse engineering.
Tuttavia, sento che qualcosa è meglio di niente e mi chiedo quale sia l'approccio migliore.
Ho trovato un paio di alternative:
- Hardcode un segreto condiviso nel codice sorgente dell'applicazione.
- Utilizza il token di sessione corrente dell'utente in combinazione con un algoritmo di offuscamento e utilizza il risultato come chiave di crittografia.
Non mi piace particolarmente nessuno di questi, quindi ho voluto verificare se c'è un modo migliore. Qualche idea?