Aunque quisiéramos que así fuera, las marcas de tiempo no duran para siempre. Con los registros de evidencia, existe una forma de permitir la no repudiación a largo plazo de la existencia de datos, incluso si la marca de tiempo original expira.
A menudo se asume que las marcas de tiempo criptográficas duran para siempre. Además de los problemas relacionados con los cambios en la seguridad de los algoritmos, lo que significa que no permanecen seguros para siempre, también existe el problema de que cuando se publicó el estándar original del Protocolo de Marca de Tiempo, RFC 3161, en 2001, 'para siempre' se consideraba entre 20 y 30 años, y ahora estamos en 2022. Para algunos, parece que el 'para siempre' ha llegado, y para otros no está lejos.
Un registro de evidencia es una estructura diseñada para soportar la no repudiación a largo plazo de la existencia de datos, donde una marca de tiempo debe ser significativa mucho después de su fecha de caducidad original. La estructura de los registros de evidencia, así como la forma de generarlos y validarlos, se describe en RFC 4998, 'Evidence Record Syntax (ERS)'.
Comience a utilizar los registros de evidencia en Bouncy Castle
Bouncy Castle 1.72 ahora permite la renovación de marcas de tiempo en registros de evidencia, así como actualizaciones de algoritmos hash. Además, está disponible el soporte para múltiples documentos, lo que permite que un grupo de documentos, o incluso un grupo de documentos agrupados, se recopilen bajo una única marca de tiempo mediante el uso de una estructura de árbol de Merkle, tal como se describe en RFC 4998 con aclaraciones adicionales descritas en RFC 6283.
También se está planificando trabajo adicional en esta API para permitir a los desarrolladores configurar qué algoritmos hash son aceptables y qué fechas de caducidad deben especificarse. Agradecemos cualquier comentario sobre las API ampliadas. Publique sus comentarios en GitHub Discussions.
La API ERS se proporciona en el jar bcpkix y se puede encontrar en el paquete org.bouncycastle.tsp.ers. Hay ejemplos de uso para documentos individuales y múltiples disponibles en org.bouncycastle.tsp.test.ERSTest.
Para más información
Aquí puede encontrar más información para empezar: