Solución técnica

Cadena de bloques

Integrar la tecnología blockchain en iText 7 para poder guardar firmas digitales de forma segura en una cadena de bloques en lugar de hacerlo en el propio documento PDF.

Introducción

Blockchain con iText 7

La tecnología blockchain es muy conocida debido a su uso en bitcoin, pero hay varias aplicaciones menos conocidas del blockchain y la tecnología de libro mayor distribuido (DLT o Distributed Ledger Technology).

Al integrar la tecnología blockchain en iText 7, aumenta la seguridad de sus facturas, documentos o licitaciones al almacenar las firmas digitales en una cadena de bloques y no en los propios documentos PDF.

Beneficios

¿Por qué utilizar iText y la tecnología blockchain?

  • Compruebe en tiempo real quién ha firmado ya un contrato y quién lo tiene en cada momento. 

  • Compruebe la autenticidad y la firma de una factura digital antes de pagarla.

  • Proteja sus documentos de licitación digitales y rastree su estado de procesamiento.

  • Envíe ofertas vinculantes a sus clientes con la certeza de que no los podrán manipular.

  • Envíe notas internas a sus empleados y compruebe quién y cuándo las ha leído.

  • Eleve el estatus legal de cualquier documento.

Combinando iText con la tecnología blockchain, ahora es posible implementar estas y otras muchas soluciones para proteger documentos y garantizar la eficiencia de los flujos de trabajo en los que intervienen documentos. 

Siga leyendo para descubrir más.

Blockchain icon
Reducción de costos

  • Acelere las interacciones entre clientes y partes interesadas.

  • Reduzca su trazo de documentos.

  • Automatice sus  procesos.

Blockchain icon
Comunicación mejorada y segura

  • La información confidencial se transmite con riesgos o filtraciones, se pierde o distorsiona en el camino.

  • Comunicación interna rápida y clara en caso de cambios frecuentes de precios, tasas de conversión, etc.   

Blockchain icon
Monitoreo en tiempo real

  • Vea quién ya firmó, quién tiene el documento ahora, etc.

  • Para monitoreo logístico de dónde está el paquete en este momento.

Características clave

Funciones básicas de blockchain con iText 7

Las cadenas de bloques (en inglés, "blockchain") son contenedores de datos. Estos datos están agrupados en unidades denominadas bloques. Aplicando un determinado mecanismo, se puede demostrar que un bloque no ha sido manipulado. Con el tiempo, los bloques se van encadenando. Este encadenamiento forma una especie de registro histórico ("historial").

El uso de cadenas de bloques sustituye a las anteriores tecnologías de autenticación y de no repudio. En principio, existen muchas formas de firmar digitalmente un documento. Por lo general, con el término "firmar" nosotros nos referimos al proceso consistente en generar un hash (una especie de resumen digital) del documento a firmar, generar una firma a partir de dicho hash aplicando una clave privada y almacenar la firma. Este proceso tiene dos efectos:

  • la firma identifica a la persona que firmó el documento,
  • una vez descifrada, la firma también identifica al archivo a partir del cual fue generada.

Una vez incorporada a una cadena de bloques, la firma ya no se puede modificar ni eliminar. Esto aporta una ventaja adicional: la firma incorporada a la cadena de bloques demuestra en qué momento se realizó la operación.

 

iText
Datos en una cadena de bloques

  • Se puede firmar mediante infraestructura PKI conocida.
  • Se valida y se añade una marca de tiempo automáticamente.
  • Todos pueden verlo
  • Puede estar separado de los datos físicos (del mundo real) a los que hace referencia.

iText
Relación con PDF

  • Los documentos PDF pueden firmarse digitalmente.
  • Web de confianza
  • Integridad: "El documento tiene este contenido exacto".
  • Autenticación: "He creado este documento. Y puedo probarlo".
  • Sin rechazo: "Él creó este documento. Y puedo probarlo".
  • Marca de tiempo

iText
Firmas digitales seguras

  • Requiere autoridad de certificación (centralizada).
  • Requiere servidor de tiempo (centralizado).
  • No se puede firmar en paralelo.
  • Firmas en directo en el documento.

Caso teórico - nivel alto

En un nivel de abstracción alto, se trata de separar del PDF las funciones de firma y de integridad, transfiriéndolas a la cadena de bloques. A continuación encontrará un ejemplo real. 

  • Se crea un documento y el ID del documento (junto con su hash y el nombre del algoritmo hash) se incorpora a una cadena de bloques pública. Esto no causa ningún problema, ya que normalmente el hash por sí solo no permite reconstruir el documento. El algoritmo hash también se incorpora a la cadena para garantizar que siga siendo validable a largo plazo.
  • Coincide que este documento es una factura. Bob ha hecho obras en su casa y la empresa de reformas le envía una factura digital en PDF.
  • Bob quiere firmar la factura para indicar que está de acuerdo con el precio y confirmar que pagará. Utiliza su clave privada para cifrar el valor hash del documento. Esta firma (que incluye el ID del documento, el valor hash original, el valor hash firmado, así como los nombres del algoritmo hash y el algoritmo de firma) se almacenan en la cadena de bloques.
  • Alice, que trabaja para la empresa de reformas, quiere comprobar si Bob ya ha firmado y, por tanto, ha aceptado la factura. Puede buscar fácilmente todos los registros en la cadena de bloques para un ID determinado (el ID del documento). En este caso, uno de estos registros es el registro que Bob creó anteriormente. Dado que el registro contiene el hash original y los nombres de todos los algoritmos involucrados, Alice puede verificar dos cosas:
    • que fue Bob quien firmó, usando el hash, el hash firmado y su clave pública y
    • que Bob firmó el documento exacto que ella le envió, usando el ID del documento y el hash.

En resumen, que Bob aceptó la factura como correcta y la pagará.

Caso de uso de cadenas de bloques a alto nivel

 

Caso teórico - nivel bajo

Implementación

Aunque las interfaces que imponemos a las implementaciones de cadenas de bloques (blockchain) son mínimas, nos brindan la abstracción necesaria para permitirnos construir aplicaciones y flujos de trabajo complejos a partir de ellas. Abstraemos las cadenas de bloques como estructuras multimap para que los usuarios finales puedan almacenar en ellas objetos (representados por "Record", que es "HashMap") y vincularlos a una clave ("String").

Implementación concreta usando JSON-RPC y MultiChain

Como prueba de concepto, proporcionamos una implementación de la interfaz IBlockchain utilizando JSON-RPC (llamada a un procedimiento remoto) y MultiChain.

Si desea información sobre cómo configurar una instancia de cadena de bloques con MultiChain, visite el sitio web de MultiChain, donde encontrará recursos como la guía de iniciación (clic aquí).

Caso de uso de cadenas de bloques a bajo nivel

 

Un ejemplo de iText y blockchain

 En este ejemplo mostramos cómo introducir un documento en la cadena de bloques, con firma:

Par obtener información sobre un documento incorporado a la cadena de bloques:

 

¿Todavía tiene preguntas sobre las soluciones PDF que utilizan tecnología blockchain?

¡Nos complace poder ayudarle! Envíenos sus preguntas y nos pondremos en contacto con usted lo antes posible.

Contáctenos
Contacto

¿Aún tiene preguntas? 

Estamos encantados de responder a sus preguntas. Comuníquese con nosotros y le responderemos a la brevedad.

Contáctenos
Manténgase actualizado

Únase a más de 11,000 suscriptores y conviértase en un experto en iText PDF al mantenerse al día con nuestros nuevos productos, actualizaciones, consejos, soluciones técnicas y eventos.

Suscríbase ahora