Gracias a todos, espectaculares las respuestas!.

 

-----Mensaje original-----
De: Carlos Peix [mailto:[EMAIL PROTECTED] 
Enviado el: Martes, 13 de Noviembre de 2007 08:30 a.m.
Para: [EMAIL PROTECTED]
Asunto: [dbms] RE: [dbms] Marcas de garantía en los registros

Hola Alejandro,

Lo que necesitas hacer es posible, yo le he hecho en algunas tablas, por
ejemplo
de autenticacion de usuarios. Incluso es la manera en que almaceno los
passwords
en aplicaciones que deben cumplir con estandares de seguridad.

Existe una operación de cifrado (ya hay algun mail que te recomienda algo)
que
te permite procesar todos los datos sensibles mediante esta funcion
matematica a
la que agregas una clave (solo de conocimiento tuyo). Esta funcion
matematica
devuelve un hash, esto es, un dato de longitud fija que podes almacenar en
otra
columna.

Esta funcion matematica te asegura que desde ese dato, el hash, no puede
obtenerse ni los datos ni la clave. Esto es efectivamente una firma
electronica
sobre los datos.

Para verificar si los datos fueron modificados solo tenes que reprocesar los
datos de origen con tu clave privada y verificar si el hash producido
coincide
con el original (verificar las firmas).

Dependiendo del motor de base de datos que uses tendras sera mas facil o no
implementar esto. Parece que hay alguna funcion en SQLServer, pero te
sugiero
que utilices algun algoritmo que tambien tenga soporte en el framework.

En el caso del passaword, se procesa con esta funcion y se almacena el hash,
descartando el password real, luego, para verificar el password, volves a
procesar y comparas los hashes.

Carlos Peix 

> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of 
> Alejandro A. ALEKSICH
> Sent: Lunes, 12 de Noviembre de 2007 09:05 p.m.
> To: [EMAIL PROTECTED]
> Subject: [dbms] Marcas de garantía en los registros
> 
> Tengo la siguiente situación:
> Trabajamos sobre una base de datos editando y agregando 
> registros, finalizado el trabajo "devolvemos" la base al cliente. 
> El tema es que quiero crear una "marca" sobre los registros 
> tal cual le entrego al cliente, algo así como un precinto de 
> seguridad.
> ¿hay alguna manera de hacer esto?.
> Pensé en agregar un campo Guid o timestamp y guardar el valor 
> de cada registro en una base de datos separada, la pregunta 
> es: el valor de este campo puede ser editado ?, si los 
> valores son coincidentes al estado inicial, ¿puedo afirmar 
> que ese registro nunca fue modificado?
> 
> Hay que tener en cuenta que el cliente es el propietario de 
> los datos, o sea tiene pleno derechos sobre ellos. Solo 
> quiero evitar que nadie cambie malintesionadamente los datos 
> y luego me atribuyan el error a mí trabajo.
> 
> Se trabaja con SQL2k
> 
> Gracias.-
> 
> 
> __________ Información de NOD32, revisión 2653 (20071112) __________
> 
> Este mensaje ha sido analizado con  NOD32 antivirus system 
> http://www.nod32.com
> 
> 




__________ NOD32 2653 (20071112) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com



Responder a