El cifrado no produce seguridad, concentra seguridad. A saber, el cifrado ayudará a mantener la confidencialidad de los datos de las personas que no conocen la clave de descifrado . Sin embargo, su aplicación debe conocer esa clave para descifrar los datos nuevamente antes de insertarlos en la base de datos.
Un importante primer paso es definir su modelo de ataque. ¿Qué intentan lograr los atacantes y qué pueden hacer? Por ejemplo, puedes usar lo siguiente:
- Los atacantes quieren aprender el contenido de algunas solicitudes. Esto es un problema incluso si la solicitud es antigua.
- Los atacantes pueden recuperar discos duros viejos practicando el buceo en contenedores.
Luego, en esa situación, si escribe las solicitudes XML en los archivos de su disco (incluso temporalmente), los atacantes pueden obtener de un disco de descarte antiguo algunos datos confidenciales. El cifrado puede ayudar, pero solo si se realiza correctamente y, lo que es más importante, solo si la clave de descifrado no está escrita en el mismo disco. Como alternativa, es posible que desee configurar un "disco" basado en RAM en su sistema para que los archivos XML nunca lleguen a un medio físico en primer lugar.
Si su modelo tiene más que ver con un atacante que está secuestrando temporalmente su servidor por alguna vulnerabilidad, entonces el cifrado no ayudará, ya que el servidor debe conocer la clave, por lo que también los atacantes lo saben.