Editar: utilicé principalmente las directrices de mi universidad sobre cómo cumplir con las normas DPA y sus propias. Extrapolamos un poco porque el cifrado en una máquina virtual alojada por mi uni que probablemente ya está cifrada no tiene mucho sentido. adversarios.
Los datos que manipulamos son muy confidenciales y el sitio web permanecerá disponible durante un tiempo y se reutilizará en todos los proyectos, por lo que creo que debo incluir ataques al servidor web y cifrar la PII contra él.
Me doy cuenta de que esto no tiene nada que ver con el DPA, sino solo mi interpretación de "mantener los datos personales seguros, en proporción a su sensibilidad".
El problema
Necesito configurar un servidor web en el que los participantes de la investigación suban tarballs (cuyo tamaño y contenido dependen de los proyectos) que contienen información de identificación personal y datos confidenciales . Debo cumplir con la DPA y otras pautas que recomiendan el cifrado, pero no aclaro el cifrado contra qué amenazas. Por lo tanto, asumo que debo proteger los datos de mi participante contra una violación en el servidor .
Esto es lo que planeaba hacer:
- Los datos están cifrados por mi servidor web al llegar con una clave simétrica recién creada.
- La clave simétrica está encriptada por el servidor mediante la clave pública del investigador que procesará los datos, y esa clave simétrica se almacena con los datos.
- Los investigadores nos conectamos al servidor y configuramos una imagen desencriptada de los archivos cifrados.
- Trabajamos en esa imagen, potencialmente agregando o modificando archivos (es decir, creando resúmenes de datos, transcripciones, métricas, etc., que también pueden contener algún PII hasta que nos sentamos y los anonimizamos correctamente).
- Cada vez que abandonamos el servidor, no se deben dejar datos sin cifrar.
Originalmente le pregunté a si podía crear volúmenes encriptados automáticamente y luego volver a abrirlos desde otro lugar, lo cual fue señalado como una idea especialmente mala por smrt28. Lo que planeé hacer:
- El servidor crea un volumen encriptado por usuario, coloca los datos sin procesar del usuario en la carpeta raíz de ese volumen y cierra el volumen correctamente cuando termina.
- I SSHFS a la carpeta que contiene todos esos archivos de volumen.
- Utilizo un script local para abrir puntos de montaje sin cifrar para todos esos volúmenes.
- Felizmente modifico los datos de los usuarios y creo nuevos archivos.
- Cierre los puntos de montaje y todo está bien, los nuevos datos se agregaron a los servidores ya encriptados.
La pregunta original: ¿cómo puedo hacer que dm-crypt use claves asimétricas para que el servidor solo pueda crear un nuevo volumen cifrado y pueda cifrar / descifrar? ¿Es eso posible con los volúmenes? Si lvm no puede hacer eso, ¿alguna alternativa?
La solución que adoptaré
Simplemente conseguiré que este servidor web escriba los datos en un montaje de solo escritura de la partición de otro servidor. El otro servidor será alojado por mi universidad y solo será accesible desde nuestra VPN universitaria autenticada. La partición será encriptada y respaldada por la universidad según lo crea conveniente.
Los investigadores solo nos conectaremos a la VPN, montaremos la partición y haremos lo nuestro, que es esencialmente el mismo que en la configuración original.