Nota: l'ho già pubblicato su Crypto Stack Exchange, ma è stato indirizzato qui
Sto lavorando a un progetto che richiede la crittografia di dati sensibili, con la comunicazione di tali dati tra un'app mobile e un sito Web (tramite un'API).
Sono nuovo per la crittografia e la sicurezza, ma le mie attuali riflessioni sono le seguenti:
- I dati saranno sempre inseriti nell'app e visualizzati tramite il sito Web, quindi solo gli utenti del sito web avranno bisogno di una chiave pubblica e privata in quanto solo loro hanno bisogno di visualizzare le informazioni (potrebbero usare l'ibrido, ma i messaggi saranno brevi)
- Cifra i dati lato server utilizzando la chiave pubblica dell'utente corretto autorizzato a visualizzare le informazioni
- I dati crittografati verranno archiviati nel database
- Le chiavi saranno memorizzate sul server (non sono sicuro di come funzioni in termini di controllo di accesso)
È importante che gli altri utenti del sito Web siano in grado di vedere solo i dati che sono autorizzati a visualizzare, da cui la crittografia a chiave pubblica e privata. Ovviamente, interrogare il database qui potrebbe rivelarsi difficile, ma penso che l'uso di ID e altre informazioni non identificabili renderebbe più semplice.
Questa è un'idea realistica o completamente errata in termini di funzionamento della crittografia? Sono un principiante assoluto qui, quindi non so molto sulla gestione delle chiavi ecc.