La mia app è un gioco educativo per le scuole elementari, che non comporta denaro o nulla di valore, quindi non sono preoccupato per gli attaccanti sofisticati che hanno alcun interesse in questo. Tuttavia, mi piacerebbe seguire le migliori pratiche nel caso in cui uno di questi codici finisse per proteggere qualcosa di attraente.
La sicurezza consiste in valori di hashing con un pepe costante per produrre un hash. Generalmente, i valori sono cose come l'id utente e altre informazioni sullo stato, e l'hash viene utilizzato per evitare manomissioni (ad esempio, quindi non è possibile modificare l'id utente su un valore diverso e accedere ai dati di qualcun altro).
Pertanto, nel tempo, l'attaccante ha accesso a un ampio insieme di informazioni sullo stato (il pre-hash) e l'hash, ma non il pepe. L'algoritmo di hash è anche lato server e sconosciuto (anche se limitato nelle possibilità).
Con questa conoscenza, un utente malintenzionato può determinare l'algoritmo di pepe e hash e essere in grado di generare un hash adatto per qualsiasi messaggio, infrangendo la nostra sicurezza?