2010-01-07 11 views
5

Me gustaría firmar registros en una base de datos con una marca de tiempo segura para demostrar que no han sido alterados por nadie después de esa fecha.¿Cómo firmo los datos de forma segura con una marca de tiempo?

¿Qué métodos o protocolos debo considerar? RFC 3161? La mayoría de los sitios web que he encontrado que afirman proporcionar ese servicio realmente no se ven muy respetables para mí.

¿Es posible hacer las suyas?

+0

Si está buscando un sitio web de buena reputación, este es el sitio generalmente aceptado: http://www.itconsult.co.uk/stamper/stampinf.htm, pero no creo que sea lo que usted desea. –

Respuesta

4

Si está buscando un servidor RFC3161 que funcione, entonces http://time.certum.pl/ ha sido uno de los que he conocido y ha existido.

Si usted está buscando una solución grande que no dependen de una caja de sellado de tiempo basada solo en secreto (básicamente algo que escala bien) echar un vistazo a http://www.guardtime.com

Técnicamente, una marca de tiempo es una marca de tiempo UNIX :) Pero las propiedades que parece asignar a una marca de tiempo son un hash y una "firma" (posibilidad de verificar que el reclamo de que un cierto hash existió en un momento determinado).

Cualquier cosa que tenga que ver con "confiar" es algo que puede hacer por sí mismo. De la misma manera que puede hacer rodar su propia CA, de la misma manera que puede hacer rodar su propio servicio basado en estándares o inventar su propio esquema. Pero convencer a otras partes de que "confíen" en lo que ha hecho suyo podría ser más complicado.

Es por eso que las personas pagan por los certificados de CA, ya que los proveedores de navegadores confían en ellos. Es por eso que cuando necesita una solución en la que otros tienen que confiar o si está obligado a marcar sus datos por tiempo, necesita una fuente de marca de tiempo certificada.

+0

Parece que puede obtener un tsr RFC3161 libre simple para fines no comerciales de certum simplemente tomando su propia suma sha1 de su documento y haciendo una solicitud "GET" como esta: http://time.certum.pl/? sha1 = da39a3ee5e6b4b0d3255bfef95601890afd80709 Si lo guarda como "download.tsr" puede inspeccionarlo con el comando "openssl asn1parse -inform DER nealmcb

+0

@nealmcb - respondiendo a la publicación anterior - si uso time.certum.pl - ¿dónde obtengo el cert/pubkey de time.certum.pl. es decir, cuando regrese el Time Stamped Data - Necesitaría la clave pública de TSA para verificarlo, ¿correcto - dónde obtendría esto? – user93353

-2

El método simple sería agregar los valores que desea asegurarse de que no estén alterados, agregarle sal, y luego md5 todo, y guardar el hash md5.

Así que si usted tiene una tabla con las columnas: nombre de usuario, nombre, apellido, Hash

Haces un MD5 (nombre de usuario + Nombre + Apellido + "MySuperSecretSalt") y guardar el valor de hash.

Pero debo decir que suena como algo raro de hacer.

Cuestiones relacionadas