Cómo firmar datos en MySQL segura de revisión de base de datos (registro de tiempo de confianza)?
-
10-10-2019 - |
Pregunta
Actualmente estoy planeando un proyecto en el que la seguridad de revisión de los datos de base de datos es importante. Esto significa que:. Que quieren ser capaces de probar que los datos en la base de datos no se templó con desde que fue importada - ningún usuario cambia el valor, sin DB Admin registra en la base de datos y lo cambió
¿Cuál es la mejor manera de lograr esto?
Hasta ahora, me gusta la idea de firmar la fila de base de datos mejor: creo un hash MD5 de todos los campos de la fila, a continuación, enviarlo a un servidor de sellado de tiempo de firma ( echar un vistazo en la wikipedia ) y almacenar la firma creada con la fila. A partir de entonces, podemos probar que nadie cambió la fila desde la creación de este sello.
Cualquier mejores ideas? Y, si te gusta la idea tanto como lo hago, qué servidor de marca de tiempo debo usar y cómo puedo acceder a ella? El certificado de servidor de marca de hora parece ser utilizado mucho, pero no pudo encontrar ninguna documentación sobre cómo usarlo "en bruto", por ejemplo, sin las herramientas de código firmante de Microsoft, etc.
Gracias!
Solución
servidores sello de tiempo por lo general no son libres de usar.
Como alternativa se puede utilizar un HMAC-MD5 (o HMAC-SHA1) en lugar y el uso de una contraseña que sólo es conocida por el usuario autorizado. La contraseña es, por supuesto, no se utiliza directamente, a través de una mejor PKCS # 5 o al menos hash con una semilla. Sin la contraseña nadie puede verificar o volver a crear el HMAC-MD5