Seguridad y Auditoría del Sistema
Primera Capa de Seguridad: Registro de Eventos (Log)
Para garantizar la transparencia y seguridad en nuestro sistema de facturación e inventario, hemos implementado un sistema de auditoría y registro de eventos (log), cumpliendo con los requisitos de la providencia SNAT/2024/000121 del SENIAT, el ente regulador fiscal de Venezuela. Cada acción que pueda modificar cualquier aspecto del sistema se registra en una base de datos con la siguiente información:
- Detalles de la solicitud: Incluye los datos enviados al sistema.
- Encabezados de la petición (headers): Información adicional sobre la solicitud.
- Punto de acceso (endpoint): Dirección específica del sistema que recibió la solicitud.
- Respuesta del servidor: Resultado de la operación realizada.
- Fecha y hora exacta: Momento preciso en que se realizó la solicitud.
Estos registros se almacenan en la base de datos por un período máximo de 90 días, garantizando la seguridad y transparencia del sistema. Posteriormente, solo los registros más relevantes para una auditoría futura se trasladan a una segunda capa de seguridad, donde se protegen contra modificaciones o manipulaciones. A continuación, se detallan los mecanismos de esta segunda capa de seguridad.
Segunda Capa de Seguridad: Registro en Blockchain
Para una validación aún más segura, utilizamos una tecnología que hace que nuestros datos sean inalterables, garantizando que nadie pueda modificarlos sin dejar rastro. Esto se logra mediante el uso de OpenTimestamps en la blockchain de Bitcoin.
¿Qué es una blockchain?
Una blockchain es un registro digital descentralizado, similar a un libro de contabilidad que no puede ser alterado una vez que la información ha sido escrita en él. La blockchain de Bitcoin es una de las más seguras y reconocidas en el mundo.
¿Cómo funciona OpenTimestamps?
Cada 24 horas, el sistema agrupa todos los registros de eventos por usuario en un archivo comprimido (.json.gz). Luego, este archivo se firma digitalmente utilizando OpenTimestamps, generando un sello de tiempo que se almacena en la blockchain de Bitcoin. Este sello de tiempo incluye:
- Un código único (hash) que representa los datos sin revelar su contenido.
- La fecha y hora exacta en la que fue sellado en la blockchain.
¿Dónde se almacena esta información?
Para garantizar la disponibilidad y seguridad de los datos, mantenemos tres copias de estos archivos junto con las firmas:
- En TurpialApp, donde convive con todo el sistema de facturación.
- En un servidor en Venezuela, con un respaldo cada 36 a 72 horas.
- En un servidor en el extranjero, con un respaldo cada 36 a 72 horas.
¿Qué información se almacena?
Se almacena la mínima información requerida para una auditoría futura. Por ejemplo, en el caso de una factura, los datos almacenados incluyen:
- Cliente.
- Fecha.
- Número de factura.
- Productos con sus precios.
- Impuestos asociados.
- Monto total de la factura.
Protección Contra Manipulación de Datos
Si un atacante lograra acceder al sistema y modificar los registros, las firmas almacenadas en la blockchain no coincidirían con los datos alterados, lo que evidenciaría cualquier manipulación. De esta manera, el SENIAT y cualquier auditoría podrán verificar que la información almacenada no ha sido alterada desde el momento en que fue registrada.
Esta implementación garantiza que los datos de nuestro sistema sean seguros, verificables y conformes con las normativas fiscales, ofreciendo tranquilidad tanto a nuestros usuarios como a los organismos reguladores.
¿Cómo acceder a esta información?
Puedes acceder a esta información en la sección de "Auditoría" en el menú principal. También se encuentra disponible en el pie de página de la factura o documento fiscal correspondiente.
¿Cómo validar las firmas con OpenTimestamps?
Para validar un archivo y obtener más información sobre el tema, puedes consultar nuestra documentación de OpenTimestamps.