¿Se puede cifrar el intercambio por usuario?

8

El problema surge para una computadora multiusuario con intercambio encriptado, en cuanto a cómo permitir que cada usuario hiberne y reanude la hibernación sin comprometer la seguridad de los otros usuarios.

Estoy buscando una forma en que el uso de intercambio de cada usuario esté encriptado específicamente para ellos, de modo que cuando quieran reanudar la hibernación puedan hacerlo ingresando solo su contraseña / frase de contraseña. No deberían poder descifrar el intercambio de otros usuarios; todos los procesos de los usuarios deben detenerse hasta que el usuario respectivo pueda proporcionar su frase de contraseña para descifrar su intercambio y continuar sus procesos.

Los usuarios pueden desear que algunos o todos sus procesos no estén encriptados para que puedan continuar independientemente de quién reanude la computadora.

Mientras no se almacenen datos personales en los procesos del sistema y el sistema no permita que las teclas de los usuarios presionen el intercambio, entonces el intercambio del sistema no necesita estar encriptado, y eso significa que cualquier usuario puede reanudar el sistema sin comprometer a otros usuarios .

Tenga en cuenta que esto podría complementarse cifrando el sistema con una clave almacenada en el firmware del BIOS como Coreboot o LibreBoot para dificultar la manipulación, pero este es un enfoque fundamentalmente diferente basado en la aparente dificultad de manipular el hardware involucrado en lugar de un completo El enfoque criptográfico para evitar que las personas lean datos personales de otros suponiendo que la manipulación no sea un problema. Para una seguridad óptima, estos dos mecanismos podrían usarse juntos, pero en esta pregunta, estoy pidiendo el enfoque completamente criptográfico.

En teoría tiene sentido, pero en la práctica puede no implementarse. Espero que esto sea posible en Linux.

James Haigh
fuente
1
¿Pueden estos otros usuarios obtener acceso de root a este host? Si no pueden, entonces creo que estoy en lo cierto al decir que el sistema de permisos normal debería evitar que lean los archivos de intercambio de otros usuarios (es decir, creo que es correcto que incluso en el intercambio sin cifrar, los usuarios no puedan leer los archivos de intercambio de cada uno). Si pueden obtener root, ¿podrían extraer las claves para la partición de intercambio cifrada de otros usuarios de todos modos?
Geeb
Si los usuarios tienen acceso de root a la computadora (y efectivamente lo hacen si tienen acceso directo a toda la computadora, ¡lo que está implícito en el hecho de que pueden suspenderlo en primer lugar!), Entonces no hay cantidad de cifrado y juego de pies sofisticado con diferentes particiones de intercambio para cada usuario realmente protegerá a los usuarios entre sí. ¡Use hardware diferente para cada usuario!
Greg A. Woods
Puede haber una manera de hackear algo como esto manteniendo la sesión de inicio de sesión de cada usuario en un contenedor LXC, con sus propias instancias systemd, e intercambiando espacio almacenado dentro de chroots privados, pero no puedo ofrecer una sugerencia concreta de cómo, precisamente , eso se implementaría.
BRPocock

Respuestas:

1

Sí, todo es posible a través del software. Tendría que modificar probablemente algunas partes significativas del núcleo para hacer esto. Si estás hablando ahora ... no. De hecho, no puede asignar espacio de intercambio del sistema en función de un usuario determinado.

Otra vía de enfoque es no asignar ningún espacio de intercambio en la partición física y crear un gran archivo preasignado para un volumen de cripta verdadera, montarlo y crear un archivo de intercambio debajo de eso. Luego configure el sistema para usar ese archivo bajo el volumen truecrypt como un archivo de intercambio. No garantizo la estabilidad ni la eficiencia de procesamiento de tal movimiento, sin embargo, esto sería para usted experimentar. Sin embargo, esto sería por SISTEMA, no por usuario.

mdpc
fuente
44
Desalentaría el uso de TrueCrypt, hay soluciones específicas de Linux para el cifrado de bloques que deberían ser favorecidas (dm-crypt / LUKS et al).
Andreas Wiese el