Contesto
In realtà sto creando un'applicazione di scansione di sicurezza automatica, il che significa che ogni utente sarà in grado di eseguire la scansione del proprio sito Web (la proprietà verificationpart è stata eseguita) e di individuare i difetti nei report.
Il problema è che voglio davvero proteggere i dati archiviati, il che significa che voglio che i miei dati siano leggibili solo dall'utente e dal server (Perché è esposto usando un'API RESTful, per eseguire il server di un'applicazione angularjs).
I dati sono memorizzati in un graphdb chiamato neo4j
Già pensato
-
Memorizzazione di una chiave di crittografia in ciascun nodo utente
- Il problema è che se qualcuno ruba il mio database, devono solo trovare l'algoritmo usato per crittografare e possono ottenere ogni difetto di ogni sito web.
-
Crittografa i dati inviati dall'utente con la sua password (cancella) sul lato client, quindi il server non conosce la chiave poiché sta memorizzando solo la password con hash.
- Il problema è che il server non sarà in grado di memorizzare i dati crittografati se non conosce la chiave di crittografia.
Come posso ottenerlo? Ho davvero bisogno di proteggere i miei dati a questo punto, il che significa che anche se rubi il database, è impossibile ottenere i dati da esso, a meno che tu non sia ... io o lo sviluppatore che ha creato il sistema di crittografia.