¿Oculta de forma segura un directorio del sistema operativo utilizando Java?

1

Tengo un proyecto que realizar para mi maestría y necesito hacer una aplicación Java que cargue un archivo (leer algunos atributos y copiar el archivo en un directorio de trabajo), básicamente cualquier archivo, y hacer que el directorio de trabajo sea privado. Por privado, me refiero a ocultar ese directorio de alguna manera de cualquier sistema operativo (bueno, básicamente Windows y Linux). No estoy seguro de que las funciones del sistema operativo (Windows y Linux) para ocultar directorios funcionen porque un administrador / superusuario puede modificar esa configuración y acceder fácilmente a mis archivos.

La idea del proyecto es tener acceso exclusivo a los archivos cargados desde la aplicación y hacer que estén disponibles para las aplicaciones instaladas localmente para abrirlos / ejecutarlos (como "Abrir en el reproductor multimedia"), que también debería funcionar. Cuando copio la aplicación a un dispositivo USB.

Tengo 2 opciones:
  1. modifique cada archivo después de cargarlo para que sea ilegible para el mundo y deshaga las modificaciones cada vez que presione "Abrir" desde la aplicación;   2. (que creo que es la mejor y más simple opción) Modificar el directorio raíz de esos archivos (raíz = el directorio de trabajo o algún subdirectorio de la misma) para que sea ilegible / inaccesible para el mundo mientras está fuera de la aplicación y legible para la aplicación en tiempo de ejecución.

He estado pensando en algo como hacer una copia encriptada localmente de los atributos del sistema de archivos del directorio, "eliminarlos" cuando no esté en el tiempo de ejecución de la aplicación y volver a ponerlos mientras está en el tiempo de ejecución de la aplicación. Pero realmente no he jugado con esto antes y también con Windows & El sistema de archivos de Linux no es nada simple. Más aún, una memoria USB tiene un sistema de archivos FAT (que si no me equivoco "pertenece" a DOS), que es, sí, otro sistema de archivos en la ecuación.

Estoy casi seguro de que no es factible (¡y no es seguro!) simplemente reproducir el sistema de archivos a mi gusto, así que necesito algunas ideas para encontrar ese avance sin realmente romper nada.

    
pregunta Ionescu Alexandru 07.07.2015 - 17:02
fuente

1 respuesta

2

Un truco que puede usar en Linux es crear un archivo, mantener el puntero / controlador y eliminarlo de inmediato. A continuación, puede utilizar el identificador de su archivo para escribir y leer en él. Linux no mostrará el archivo a nadie porque lo eliminó de la tabla de archivos del sistema operativo. Desafortunadamente, tendría que volver a escribir el archivo en un archivo "normal" cuando el programa se cierre, ya que eliminó el archivo. Este método se usa generalmente para crear archivos temporales para programas.

En cuanto a las ventanas, no veo cómo puedes gestionar eso.

Espero que ayude un poco.

    
respondido por el Bibz 07.07.2015 - 20:06
fuente

Lea otras preguntas en las etiquetas