Cita:
Empezado por Neftali
No acabo de enterder cómo, si has definido la seguridad correctamente, pueden desde otras aplicaciones abrir la BD y ver la estructura y contenido.
Si has definido usuario y contraseña para caceder desde tu aplicación y la BD tiene configurada la seguridad, cualquier otra app/persona que no conozca esos datos no podrá abrir la BD.
Tal vez (seguramente) me estoy perdiendo algo...
|
El problema radica que obteniendo la clave de Administrador puedes hacer, lo que quieras con tu BD, aun y cuando existan reglas de usuarios... cuando eres Administrador eso no importa y podras accessar a cuanta BD tengas instalada.. aun asi es tambien tan sencillo como sacar una copia de tu BD he instalarla en una PC con FIREBIRD y con el usuarios SYSDBA puedes manipularla sin problemas..
Lo que se me ocurre a mi es que creees una DLL(Windows) o un .so(Linux) con una funcion UDF que encripte y desencripte ciertos datos, de tal manera que unicamente desde tu APP mande llamar las funciones, con algun parametro unico, de tal manera que si quisieran obrtener ese dato lo regresaria encriptado y no lo podrian utilizar y la unica seria desde tu APP...
Ejemplo: Obviamente la usariamos sobre campos importantes..
Tabla: CLientes
idCliente int
strCliente Varchar(80) <- se ecnriptaria
datos normales
idCleinte =1
strCliente = "JUAN PEREZ"
datos encriptados
idCliente =1
strCliente = "!"·"·$%$%$&&%"
Accesando desde tu logica de SQL seria
Para GRabar seria
INSERT INTO Clientes (idCliente,strCliente) VALUES (1,MyEncriptado('JUAN PEREZ'))
o para Actualizar
UPDATE Clientes Set strCliente=MyEcriptado('JUAN PEREZ') where idCliente=1
SELECT idCliente,MyDesEncriptado(strCliente,"miFraseUnica") FROM clientes
regresaria
1 JUAN PEREZ
Sin Encriptar regresaria
1 "!"·"·$%$%$&&%"
A quien le va a servir ?????
Crea una UDF,, es facil...
/////////////////////////////////
//// OTRA FORMA SERIA /////
/////////////////////////////////
Otra UDF pero que pueda establecerse en algun TRIGGER que detenga sierta ACCION..
No se si FIREBIRD pueda manejar el Evento de Conexion en el que tambien se pueda establecer la ejecucion de una funcion UDF...