¿Cuáles son las opciones actuales de cifrado de disco multiplataforma?

Acabo de recibir un nuevo SSD USB de 1 TB, para usarlo como unidad de respaldo. Necesito compatibilidad multiplataforma y durabilidad. He usado LUKS+ext4, y parece confiable y bien establecido (es decir, es probable que tenga soporte a largo plazo, lo cual es imprescindible para mí).

Desafortunadamente, esto parece menos que conveniente en OS X (no hay un controlador ext4 de código abierto, como la mayoría de la gente sabe). Mi configuración actual es tener una máquina virtual Debian en VirtualBox, configurada para interceptar la unidad externa en el nivel USB (VirtualBox puede exponer dispositivos USB a máquinas virtuales invitadas).

Tengo esto funcionando y luego puedo SSH en la máquina virtual, pero no es lo más conveniente. Si solo estoy descargando cosas allí, rsync -av -e sshestá bien, pero navegar a través de archivos sshfsno es lo que yo llamaría ideal ( sshfses conocido por colgar y negarse a desmontar en conexiones interrumpidas, por ejemplo).

¿Alguien más ha intentado algo como esto?

Relacionado: Cifrado compatible con GUI multiplataforma (pero no me importan las GUI)

puede probar esto: use ExFAT para el disco en sí mismo, es nativo en Windows 7 y superior y está allí en OS X y también en Linux, tiene controladores para ExFAT (ya que no tengo un Linux en este momento, no puedo pruebe qué tan bien funciona en Linux) y guarde una imagen de disco encriptada en él y almacene sus datos de respaldo reales dentro del archivo de imagen
En MacOS, simplemente compre el controlador de Parallels.

Respuestas (1)

He hecho la solución de máquina virtual de Linux como la suya durante años en múltiples plataformas. Pero diferente, y dependiendo del caso de uso concreto, mucho mejor. (También probé su método. Demasiados problemas, particularmente con el paso de USB).

Esto es lo que hago, más o menos, usando VirtualBox (no es una guía paso a paso, pero debería ser suficiente para comenzar):

  • No adjunto el volumen externo a través de la intercepción de USB; Primero creo un VMDK sin procesar de la unidad externa. Esto requiere un poco de magia de secuencias de comandos: debe 1) asegurarse de que la máquina virtual esté apagada. 2) Elimine el archivo de metadatos VMDK. 3) Desconecte el controlador de almacenamiento virtual dedicado a la unidad USB. 4) Cree un nuevo archivo VMDK sin procesar para la unidad USB [esta parte es un desafío ya que la ubicación física cambia; Uso un parámetro de script para pasarlo al script]. 5) Cree un nuevo controlador de almacenamiento virtual para la máquina virtual. 6) Conecte el VMDK sin procesar al nuevo controlador de almacenamiento. 7) Inicie la máquina virtual. El inconveniente de este enfoque, por supuesto, es que la unidad USB y la VM están unidas durante toda la sesión de la VM. Si desconecta la unidad USB mientras la VM se está ejecutando, nunca volverá a ser válida (hasta que apague la VM y vuelva a ejecutar el script). Pero los beneficios son enormes: A) Funciona a la perfección, a diferencia de la intercepción USB con errores. Y B) El rendimiento es casi nativo [ya que el host maneja la E/S del dispositivo de bajo nivel], que no se puede obtener con la intercepción de USB.
  • Configuré la máquina virtual con dos adaptadores de red: 1) NAT con DHCP para el acceso regular a Internet desde la máquina virtual y 2) Solo host con IP estática para acceso de host a máquina virtual. También podría tener un adaptador en puente, pero descubrí que este enfoque es más ideal, ya que el acceso a Internet de VM no está vinculado a ningún adaptador.
  • Configuré la máquina virtual para compartir carpetas a través de SMB. En mi caso, estas son carpetas montadas en encfs.
  • Luego monto carpetas en el host, asignadas a través de SMB al invitado.

El rendimiento es bastante decente. SMB sobre gigabit ethernet entre hardware real tiene un máximo teórico de algo así como 120 MB/s (hay un número máximo específico pero eso es lo suficientemente cerca para esta discusión). Probablemente no obtendrá un tráfico SMB de host a máquina virtual tan alto, incluso si usa un adaptador virtio sin límite de ancho de banda. En mi hardware más rápido, he visto en el mejor de los casos alrededor de 70 MB/s sostenidos. Pero mi hardware no es súper rápido, podrías hacerlo mejor. (Aunque el USB y el disco giratorio en su solución serán los factores limitantes).

No me molestaría con sshfs. La sobrecarga es severa y el rendimiento terrible. El único beneficio de sshfs es cuando se monta en una red no segura. Host-to-vm existe completamente dentro de su propia computadora y, por lo tanto, es lo más seguro posible, no necesita encriptación y el protocolo de red más liviano que puede obtener es ideal. (SMB no es exactamente liviano, pero prácticamente todos los hosts admiten todas las acciones de archivos remotos que pueda necesitar).

La solución que he esbozado parece compleja, y lo es. Pero si documenta el proceso exitoso, es trivialmente fácil la segunda vez. Tengo todo esto escrito tanto en el host como en la VM, por lo que es casi automático para cada sesión y se configura fácilmente para nuevos hosts y/o VM. Y es una solución muy agradable y perfecta para el uso diario.

Espero que esto ayude.