Excelente HackmanC!!
Lo que necesito no es nada superseguro, solo que como bien dices, alguien con acceso físico al lugar donde está guardada la base de datos no pueda leer los datos.
Cita: Encriptar físicamente los datos de la base de datos (como el vínculo que mostraste).
Comprendido!
Cita: Crear los usuarios lógicos de la base de datos, (en este caso la autenticación la hace la base de datos, pero tendrías que darle permiso a cada objeto de la base de datos por usuario o grupos de trabajo)
En mi proyecto no creo que sea tan complicado, cada usuario una vez que se identifica puede ingresar, modificar y consultar registros, pero solo "sus registros". Es como si fuera una especie de agenda, el usuario se identifica y puede ingresar registros que en si son citas, ya sabes, el asunto, la fecha del evento, fecha de un recordatorio, un campo de texto, etc...
Cada usuario tiene acceso solo a sus registros, supongo que lo solucionaré agregando a cada registro de cada cita el ID del usuario propietario, así luego el usuario Pedro que internamente es el ID 6 sólo accede a los registros que tengan esa ID.
Cita: En el caso de las bases de datos embebidas y que posiblemente van a estar los datos físicos al alcance de los usuarios del sistema operativo, posiblemente también tendrás que ver los permisos de los usuarios del sistema operativo hacia la ubicación física de los archivos de Derby.
Sólo va a funcionar en Windows y supongo que si empaqueto todo en un mismo directorio no habría problemas. El programa se instala en Mis Documentos y allí no hay problema de permisos.
Cita: Un detalle a tomar en cuenta es que la complejidad de la seguridad es inversamente proporcional a la facilidad de instalación y mantenimiento de un sistema.
OK entiendo.
Cita: Todo lo que necesitas para implementar cualquiera de las opciones lo encuentras en las librerías de Java y Apache Derby, no necesitas ninguna librería adicional.
Mil gracias, tu respuesta me enfoca mejor en dónde debo estudiar.
Tengo muchas cosas que aprender pero tu orientación general me facilita por dónde buscar.
Estuve probando ver el contenido de una base de datos Derby que no está encriptada y aún así es complicado porque cada tabla se guarda en un archivo diferente y tienes que estar abriendo cada archivo con un editor de texto hexadecimal. Para los efectos que yo preciso esa "seguridad" ya estaría bien pero igual voy a encriptar la base de datos.