La crittografia non produce sicurezza, concentra la sicurezza . Vale a dire, la crittografia aiuterà a mantenere riservati i dati da persone che non conoscono la chiave di decrittografia . La tua applicazione, però, deve conoscere quella chiave per poter decodificare nuovamente i dati prima di inviarli al database.
Un importante primo passo è definire il tuo modello di attacco. Quali sono gli attaccanti che cercano di ottenere e cosa possono fare? Ad esempio, è possibile utilizzare quanto segue:
- Gli attaccanti vogliono imparare il contenuto di alcune richieste. Questo è un problema anche se la richiesta è vecchia.
- Gli attaccanti possono recuperare vecchi dischi rigidi praticando le immersioni con cassonetto.
Quindi, in quella situazione, se si scrivono le richieste XML ai file sul proprio disco (anche temporaneamente), gli hacker possono ottenere da un vecchio disco di scarto alcuni dati riservati. La crittografia può aiutare, ma solo se eseguita correttamente e, soprattutto, solo se la chiave di decrittografia non è essa stessa scritta sullo stesso disco. In alternativa, potresti voler configurare un "disco" basato sulla RAM sul tuo sistema in modo che i file XML non raggiungano mai un supporto fisico in primo luogo.
Se il tuo modello ha a che fare con l'attaccante che dirotta temporaneamente il tuo server attraverso alcune vulnerabilità, la crittografia non sarà di aiuto, perché il server deve conoscere la chiave, quindi diventa noto anche agli aggressori.