Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR ENCODING AND DECODING INFORMATION IN TEXTS
Document Type and Number:
WIPO Patent Application WO/2022/123093
Kind Code:
A1
Abstract:
A method for encoding information (10) using Zero-Width SPaces, ZWSPs, of an original text (11), transforming it into a text with hidden information (12), wherein the encoded information (10) is integrated by adding the ZWSPs employed in the encoding. The hidden information encoded in a ZWSP in the text (120) may contain: the text block number, the pre-established size of the block, metadata relating to the text and the author, the calculated hash value of the text and a timestamp. A text supervision system (42) comprising a decoding module (30) that implements the reverse method for decoding information (10) in a text received, having detected ZWSPs in at least one part of the text, and extracting the information (10) to obtain the original text (11) by using the ZWSPs detected. The supervision system (42) may further comprise an encoding module (20) using the ZWSPs and may be integrated in a remote messenger server (41).

Inventors:
BIANZINO ARUNA (ES)
DE LOS SANTOS VILCHEZ SERGIO (ES)
NÚÑEZ-ROMERO CASADO ÁLVARO (ES)
SÁNCHEZ RICARDO (ES)
Application Number:
PCT/ES2020/070773
Publication Date:
June 16, 2022
Filing Date:
December 09, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TELEFONICA CIBERSECURITY TECH S L U (ES)
International Classes:
G06F21/16
Foreign References:
CN110414194A2019-11-05
US20180203983A12018-07-19
CN102096774A2011-06-15
CN107330306A2017-11-07
US10534898B22020-01-14
CN110414194A2019-11-05
CN110418029A2019-11-05
EP3477578A12019-05-01
Other References:
MELKUNDI SWATHI ET AL.: "A robust technique for relational database watermarking and verification", 2015 INTERNATIONAL CONFERENCE ON COMMUNICATION, INFORMATION & COMPUTING TECHNOLOGY (ICCICT, 15 January 2015 (2015-01-15), pages 1 - 7, XP032737792, DOI: 10.1109/ICCICT.2015.7045676
Attorney, Agent or Firm:
GONZALEZ PECES, Gustavo, Adolfo (ES)
Download PDF:
Claims:
REIVINDICACIONES

1. Un método para codificar información (10) en un texto original (11), caracterizado por que comprende los siguientes pasos: obtener la información (10) y codificarla usando espacios de tamaño nulo del texto original (11), determinar al menos una parte del texto original (11) para integrar la información (10) codificada en la, al menos una, parte determinada del texto original (11) transformándolo en un texto con información oculta (12), donde integrar la información (10) codificada consiste en añadir los espacios de tamaño nulo usados para la codificación.

2. El método de acuerdo con la reivindicación 1 caracterizado por que es realizado por un módulo codificador (20) implementable en un procesador que recibe el texto original (11).

3. El método de acuerdo con la reivindicación 2 caracterizado por que el módulo codificador (20) es un agente software.

4. El método de acuerdo con la reivindicación 3 caracterizado por que el módulo codificador (20) es un agente software integrado al menos en parte en un servidor remoto (41) de servicio de mensajería.

5. El método de acuerdo con la reivindicación 4, caracterizado por que el agente software del módulo codificador (20) tiene parte integrada en un terminal de usuario final (410, 420) del servicio de mensajería.

6. El método de acuerdo con la reivindicación 3 caracterizado por que el módulo codificador (20) es un agente software integrado en un editor de texto.

7. El método de acuerdo con cualquiera de las reivindicaciones 2-6, caracterizado por que obtener la información (10) comprende que la información (10) es introducida manualmente en el módulo codificador (20). El método de acuerdo con cualquiera de las reivindicaciones 2-6, caracterizado por que obtener la información (10) comprende que la información (10) es generada automáticamente por el módulo codificador (20). El método de acuerdo con la reivindicación 8 caracterizado por que generar la información (10) comprende dividir, por el módulo codificador (20), el texto original (11) en un número de bloques de tamaño pre-establecido y numerar cada bloque, y por que la información (10) generada comprende el número de bloques, la numeración de cada bloque y el tamaño de cada bloque. El método de acuerdo con cualquiera de las reivindicaciones 8-9 caracterizado por que generar la información (10) comprende calcular, por el módulo codificador (20), mediante una función resumen una cadena resumen, hash, del texto original (11) y por que la información (10) generada comprende la cadena resumen. El método de acuerdo con cualquiera de las reivindicaciones 8-10 caracterizado por que la información (10) generada comprende metadatos del texto original (11) y/o de un autor del texto original (11). El método de acuerdo con cualquiera las reivindicaciones 10 y 11 caracterizado por que la información (10) generada comprende la cadena resumen concatenada con al menos parte del los metadatos. El método de acuerdo con cualquiera de las reivindicaciones 8-10 caracterizado por que la información (10) generada comprende un sellado de tiempo indicando un tiempo de recepción del texto original (11) en el módulo codificador (20). El método de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que, para codificar la información (10) obtenida que comprende un mensaje formado por caracteres de texto de un conjunto de M caracteres y habiendo N espacios de tamaño nulo disponibles en el texto 14 original (11), se usa un numero de espacios de tamaño nulo para la codificación igual al entero superior del logaritmo en base N de M. Un método para decodificar información (10) de un texto recibido con información oculta (12’), caracterizado por que comprende los siguientes pasos: identificar, detectando espacios de tamaño nulo, al menos una parte del texto recibido (12’) que contiene la información (10), decodificar la información (10) usando los espacios de tamaño nulo detectados y extraerla del texto recibido (12’) para obtener un texto original (11). El método de acuerdo con la reivindicación 15, caracterizado por que además comprende verificar la información (10) comparando la información (10) decodificada con una información generada de referencia. El método de acuerdo con cualquiera las reivindicaciones 15-16, caracterizado por que además comprende proporcionar una visualization de la información (10) descodificada a un usuario final. El método de acuerdo con la reivindicación cualquiera las reivindicaciones 15- 17, caracterizado por que es realizado por un módulo decodificador (30) implementable en un procesador que recibe el texto con información oculta (12’). El método de acuerdo con la reivindicación 18, caracterizado por que el módulo decodificador (30) es un agente software. El método de acuerdo con la reivindicación 19, caracterizado por que el módulo decodificador (30) es un agente software integrado al menos en parte en un servidor remoto (41) de servicio de mensajería. El método de acuerdo con la reivindicación 20, caracterizado por que el agente software del módulo decodificador (30) tiene parte integrada en un 15 terminal de usuario final (410, 420) del servicio de mensajería.

22. El método de acuerdo con la reivindicación 19, caracterizado por que el módulo decodificador (30) es un agente software integrado en un editor de texto.

23. El método de acuerdo con cualquiera de las reivindicaciones 18-22, caracterizado por que el módulo decodificador (30) verifica la información (10) comparando la información (10) decodificada con una información de referencia generada por el módulo decodificador (30), la información de referencia generada comprendiendo al menos uno de los siguientes datos: i) una cadena resumen, hash, del texto recibido (12’) calculada por el módulo decodificador (30) mediante una función resumen; ¡i) un sellado de tiempo indicando un tiempo de recepción del texto recibido (12’) en el módulo decodificador (30); y iii) metadatos del texto texto recibido (12’) y/o de un autor del texto recibido (12’).

24. El método de acuerdo con cualquiera de las reivindicaciones 15-23, caracterizado por que, para descodificar la información (10), que comprende un mensaje formado por caracteres de texto de un conjunto de M caracteres, se usa un numero de espacios de tamaño nulo detectados igual al entero superior del logaritmo en base N de M, donde N es el número de espacios de tamaño nulo disponibles en el texto original (11).

25. Un sistema de supervisión (42) de textos, caracterizado por que comprende un módulo decodificador (30) configurado para realizar los pasos del método definido de acuerdo con las reivindicaciones 15-24.

26. El sistema de supervisión (42) de textos de acuerdo con la reivindicación 25, caracterizado por que además comprende un módulo codificador (20) configurado para realizar los pasos del método definido de acuerdo con las reivindicaciones 1-14.

27. El sistema de supervisión (42) de textos de acuerdo con la reivindicación 26, 16 caracterizado por que está integrado en un servidor remoto (41) de servicio de mensajería. Un programa de ordenador que implementa el método de codificación de la información definido de acuerdo con las reivindicaciones 1-14. Un programa de ordenador que implementa el método de decodificación de la información definido de acuerdo con las reivindicaciones 15-24.

Description:
MÉTODO Y SISTEMA PARA LA CODIFICACIÓN Y DECODIFICACIÓN DE INFORMACIÓN EN TEXTOS

DESCRIPCIÓN

OBJETO DE LA INVENCIÓN

La presente invención tiene su aplicación en el sector de las telecomunicaciones, dentro del campo de la seguridad de la información digital y el procesamiento de contenido digital, concretamente, en la industria dedicada a los sistemas de codificación y decodificación de información embebida en textos. Más particularmente, la presente invención se refiere a un sistema y método para codificar/decodificar información usando espacios de tamaño nulo en textos.

ANTECEDENTES DE LA INVENCIÓN

Diferentes sistemas se encuentran con la necesidad de embeber información en un texto, de forma visible o menos, pero de manera que:

• no altere el aspecto del mismo texto

• sea robusto a copiar y pegar el mismo texto

Los espacios de tamaño nulo o ancho cero (ZWSP: “Zero-width spaces”, en inglés) son caracteres que se incluyen en textos digitales, pero no son visibles cuando el texto se muestra en una pantalla o se imprime. Esos caracteres están presentes en la mayoría de los conjuntos de caracteres estándar, incluso el ASCII.

Los espacios de tamaño nulo son caracteres que se quedan en el texto también cuando el texto se envía a través de una red de comunicación, cambia de formato (por ejemplo, de HTML a txt a doc a PDF, etc.), se copia y se pega, se cambian los atributos del texto (negrita, cursiva, etc.), o la fuente, etc. Por lo tanto, esos caracteres se pueden utilizar para codificar información específica del texto e incluirla en el mismo, de forma que es visible sólo cuando se le busca específicamente. Esta información específica puede incluir, entre otros:

• Metadatos sobre el propio texto o su autor • Firma del autor del texto

• Hash del texto

• Información secreta que se quiera transmitir junto con el texto

Cuando se busca específicamente esta información en el texto, si está presente, se puede extraer y decodificar para volver a la información originaria, siguiendo un patrón de codificación/decodificación preestablecido y pre-compartido entre quien la envía y la recibe, eventualmente por medio de otro canal de comunicación.

US10534898B2 propone incluir una marca de agua en documentos textuales, codificando un mensaje que se quiera embeber en el texto en caracteres especiales de espacio blanco, y sustituyendo esos caracteres a los que originariamente estaban en el texto mismo.

CN110414194A se propone incluir una marca de agua en un texto, después de cada palabra, incluyendo información sobre el texto mismo (número de palabras, etc.) y codificando esa información en espacios de tamaño nulo.

CN110418029A permite codificar información cifrada en un texto, codificándola en forma de espacios de tamaño nulo. La información incluida es secreta.

EP3477578A1 describe una solución para ocultar un mensaje en un texto, utilizando alteraciones del tamaño de los espacios entre palabras y entre letras.

El problema técnico objetivo que se presenta es permitir, usando espacios de tamaño nulo, embeber en un texto información, sobre el propio texto o no, de forma invisible, robusta al copiar y pegar el texto o de sólo una parte del mismo, y resistente a la transmisión por redes de comunicación, al cambio de formato del fichero que incluye el texto, y/o al cambio de formato del propio texto.

DESCRIPCIÓN DE LA INVENCIÓN

La presente invención sirve para solucionar el problema mencionado anteriormente, mediante un método de codificación de información para proteger textos de manera oculta usando espacios en blanco de tamaño nulo (ZWSP) del texto. El texto original puede ser un documento digital o digitalizado (un documento digitalizado es un escaneo I imagen de un documento digital previamente impreso en papel, o la conversión a un formato digital diferente de un documento digital), incluidos documentos de texto, ambos en formato vectorial y objetos de mapeo de píxeles. Además, se proporciona el método inverso, es decir, el método para decodificar el texto con la información oculta, sin requerir el texto original.

El texto que incluye información oculta no es distinguible a la observación frente al texto original. La información puede repetirse a lo largo del documento vahas veces, en varios puntos del texto (por ejemplo, después de cada porción de texto), o replicarse dependiendo de la propia porción de texto (por ejemplo, una cadena de texto resultante de una función resumen o “hash”, en inglés), para añadir robustez a la solución (por ejemplo, sólo parte del texto originario se envía/copia y pega/reutiliza/etc.).

La presente invención es aplicable para:

Evitar identidades ficticias en un sistema de mensajería. Esta solución se puede así integrar en un sistema de mensajería (por ejemplo, mensajería instantánea) codificando en cada mensaje la firma de su autor.

Envío de peticiones de ayuda escondidas, por ejemplo, para evitar acoso. Esta función de la invención también se puede integrar en un sistema de mensajería instantánea, por ejemplo

- Verificar la integridad de un texto. En este caso se codifica una cadena resumen o “hash” del texto.

Evitar copias no autorizadas de un texto o rastreo de las mismas. En este caso, se codifica la firma del autor del texto.

Incluir metadatos del texto, del autor, de la versión, etc.

Transmisión de información secreta por canales públicos/abiertos (por ejemplo, exfiltración).

Un aspecto de la invención se refiere a un método de codificación de información en textos comprendiendo los siguientes pasos: obtener la información, de forma manual o automática, y codificarla usando espacios de tamaño nulo disponinbles en el texto original, determinar al menos una parte del texto original para integrar la información codificada en dicha parte determinada, añadiendo los espacios de tamaño nulo usados para la codificación, transformando así el texto original en un texto con información oculta.

Otro aspecto de la invención se refiere a un método de decodificación de información en textos, complementario al de codificación anteriormente descrito, comprendiendo los siguientes pasos: identificar, detectando espacios de tamaño nulo, al menos una parte del texto recibido que contiene la información a decodificar, decodificarla usando los espacios de tamaño nulo detectados y extraer la información decodificada del texto recibido para obtener el texto original.

Otro aspecto adicional de la presente invención se refiere a un programa de ordenador, que contiene instrucciones o código informático (almacenado en un medio legible por ordenador no transitorio) para hacer que unos medios de procesamiento (de un procesador informático) realicen los pasos de los métodos de codificación/ decodificación de información en textos descritos anteriormente.

Otro último aspecto de la invención se refiere a un sistema de supervisión de textos que comprende módulos implementables en uno o más procesadores informáticos para la codificación y decodificación de información en textos.

Las ventajas de la presente invención frente al estado de la técnica anterior y en relación a los sistemas existentes son fundamentalmente:

La presente invención garantiza:

■ Robustez a la copia parcial del texto

■ Identificación del autor del texto

■ Garantía de la integridad del texto

■ Invisibilidad a la inspección humana del texto

■ Todo lo anterior, también después de cambio de formato, fuente y/o estilo del texto, cambio de formato del fichero, así como después de su transmisión por una red de comunicación Con respecto a US10534898B2: En US10534898B2 el mensaje es codificado en espacios blancos, por lo que la cantidad de información que se puede codificar en esa solución depende del número de espacios blancos presentes en el texto originario. En la presente invención, el número de caracteres que se puede incluir sin alterar el aspecto del texto es ilimitado, ya que no tienen tamaño visible.

Con respecto a CN110414194A: CN110414194A sólo utiliza elementos gráficos no visibles dentro de la codificación Unicode, incluye una marca de agua en un texto genérico, y no se integra en otros sistemas, cómo, por ejemplo, un sistema de mensajería instantánea. En CN110414194A el mismo mensaje es codificado a lo largo de todo el texto originario, después de cada palabra. La presente invención es aplicable en sistemas de mensajería instantánea y es flexible porque permite incluir diferentes mensajes en diferentes secciones de texto y/o en diferentes posiciones.

Con respecto a CN110418029A: Mientras, como se ha dicho arriba, la presente invención es aplicable en sistemas de mensajería instantánea, CN110418029A no se puede integrar en otros sistemas, cómo, por ejemplo, un sistema de mensajería instantánea. Además, CN110418029A sólo permite incluir en un texto información secreta.

Con respecto a EP3477578A1 : EP3477578A1 resulta en variaciones visibles del texto y estas variaciones sólo funcionan en texto visible pero no si el propio texto viene copiado y pegado. Por otra parte, estas variaciones se quedan imprimiendo o haciendo copias físicas de un texto, mientras que en la presente invención no ocurre eso ya que se dirige únicamente a textos digitales.

Éstas y otras ventajas se desprenden de la descripción detallada de la invención que se hace a continuación.

BREVE DESCRIPCIÓN DE LAS FIGURAS

A continuación, se pasa a describir de manera muy breve una serie de dibujos que ayudan a comprender mejor la invención y que se relacionan expresamente con una realización de dicha invención que se presenta como un ejemplo no limitativo de ésta. FIGURA 1.- Muestra un diagrama de bloques de un método de codificación de información en textos, según una realización preferente de la invención.

FIGURA 2.- Muestra un diagrama de bloques del método inverso al anterior, es decir, un método de decodificación de información en textos, según una realización preferente de la invención.

FIGURA 3.- Muestra un ejemplo de texto que incluye información oculta y un detalle de los datos que contiene dicha información oculta, según una posible realización de la invención.

FIGURA 4.- Muestra un ejemplo de uso del método de codificación/decodificación de información en textos en un sistema de mensajería instantánea, según una posible realización de la invención.

REALIZACIÓN PREFERENTE DE LA INVENCIÓN

La Figura 1 muestra esquemáticamente el método de codificación implementable en un módulo codificador (20) que toma como entrada un documento o texto original (11) y codifica en él de forma oculta una información (10) para obtener un texto con información oculta (12). El documento original (11) puede ser un documento digital o, en algunos casos, se puede partir de un documento digitalizado para llegar a un documento digital que se aplica como texto original (11) de entrada. Por ejemplo, si se recodifica el texto con una técnica como la de OCR (Reconocimiento Óptico de Caracteres, “Optical Character Recognition”) o similar, se puede partir de un documento escaneado de un papel impreso y usar el documento con el texto recodificado como texto original (11) de entrada. El módulo codificador (20) codifica los caracteres del texto original (11) de entrada como tales caracteres y no como imágenes. El texto con información oculta (12), que es un documento digital, no se puede distinguir en la observación humana del texto original (11) pero incluye la información (10) codificada.

El método de decodificación implementable en un módulo decodificador (30), que se muestra en la Figura 2, es el proceso inverso del método de codificación mencionado anteriormente y toma como entrada un texto recibido con información oculta (12’), texto que está en formato digital , y extrae la información (10) descodificando el texto recibido para obtener el texto original (11). Puesto que los métodos de codificación y decodificación trabajan con documentos digitales, aunque en el texto recibido con información oculta (12’) puede cambiar el tipo de fuente de los caracteres, estilo o tipo de documento (pdf, doc, etc.), con respecto al texto con información oculta (12), esto no afecta el resultado.

Una posible implementación de la codificación de la información (10) para obtener el texto con información oculta (12) se ¡lustra en la Figura 3. El texto (12) no es distinguible a la observación humana del texto original (11) pero, si se pudiera observar una imagen (120) de la información codificada en un espacio de tamaño nulo del texto, como muestra la Figura 3, éste contiene la información codificada, por ejemplo, habiendo dividido el texto en un número pre-definido de bloques y, para cada uno de esos bloques, la información oculta comprende los siguientes datos: número de bloque de texto, tamaño pre-establecido del bloque, metadatos del texto y del autor, una cadena resumen o “hash” del texto previamente calculado, y un sellado de tiempo (“timestamp”, en inglés). Nótese que un espacio entre palabras puede corresponder a vahos espacios de tamaño nulo, ZWSP (“zero-width space”, en inglés) y los ZWSP pueden estar entre dos palabras, pero también entre dos letras de la misma palabra.

Por ejemplo, si el objetivo de la implementación es eliminar identidades ficticias y/o garantizar la autenticidad e integridad de los textos transmitidos en un sistema de mensajería, una posible implementación preve que se pueda generar automáticamente la información (10) a integrar en el texto mencionada anteriormente: división del texto en bloques de tamaño pre-establecido, cálculo del hash del texto originario, y concatenación del mismo con la información sobre el autor (eventual mente certificada, como, por ejemplo, una clave publica de un certificado) y/o timestamp de envío del texto originario y/o número de bloques de texto en el mensaje y su número progresivo. Una vez generada (o introducida manualmente) la información (10), se puede codificar utilizando espacios de tamaño nulo, ZWSP, y replicar en el propio mensaje antes o después de cada bloque. Esta implementación no requiere ninguna interación por parte del usuario. La codificación de la información (10) utilizando espacios de tamaño nulo, ZWSP depende del número de espacios de tamaño nulo o caracteres ZWSP disponibles y del número de caracteres que se quiere dejar disponibles para la codificación del mensaje (por ejemplo, 128 caracteres ASCII).

En un posible ejemplo, donde se requiere codificar un mensaje formado por caracteres de un conjunto de M caracteres y donde se tienen a disposición N distintos caracteres ZWSP en el texto original, se necesita un numero de caracteres ZWSP para la codificación igual al entero superior del logaritmo en base N de M. Por ejemplo, para 128 caracteres que codificar, con dos caracteres ZWSP distintos, se necesitan 7 espacios de tamaño nulo o ZWSP para cada carácter a codificar. Una vez establecido esto, se ponen en secuencia todos los posibles caracteres que hay que codificar (128 en este ejemplo) y se asigna un valor a cada carácter ZWSP empezando por 0 (0 y 1 si son dos, etc) y así se codifica con el correspondiente número en base N cada carácter.

La información codificada se integra en, al menos una, parte determinada del texto original (11) transformándolo en el texto con información oculta (12). Para integrar la información codificada simplemente se añaden los caracteres ZWSP que codifican el mensaje en la parte del texto original (11) que se haya determinado que debe ir; por ejemplo, al final de un bloque de texto se añade una secuencia de caracteres ZWSP que codifica el mensaje deseado; pero, en otro ejemplo, también se pueden repartir esos caracteres ZWSP entre todos los caracteres del bloque. Esto depende de las preferencias de implementación, pero es transparente para la finalidad de la invención.

De la misma forma, la recepción de un mensaje en un sistema que implementa esta solución para el proceso inverso de decodificación se acompaña con el cálculo automático de la información que debería contener (hash del bloque de texto, etc.), extración de la información codificada en los espacios de tamaño nulo y su comparación con la información calculada (por ejemplo, el hash del bloque de texto, el número de bloques de texto, etc.) y verificación de la otra información decodificada (por ejemplo, la clave publica del certificado del autor, el timestamp de envío del texto, etc.). De forma parecida, en otro posible ejemplo de implementación, una capa entremedia se puede implementar en un editor de texto para que el texto final incluya la codificación de la misma información que en el ejemplo anterior (número de bloques de texto, tamaño y número de cada bloque, metadatos del texto y del autor, “hash” del texto y “timestamp”) antes de que (en una página web, en un fichero pdf, etc.) se guarde o publique el texto editado final, con la información oculta en los espacios de tamaño nulo incluida.

La Figura 4 muestra una posible forma de integración de la solución en un sistema de mensajería instantánea como un sistema de supervisión (42) que comprende los anteriormente mencionados módulos codificador (20) y decodificador (30) para codificar/decodificar los mensajes de texto con información oculta según se ha descrito. El sistema de supervisión (42) puede ser una tercera parte externa a la conversación de mensajería instantánea proporcionada por un servidor remoto (41) entre un usuario A o primer miembro (410) y un usuario B o segundo miembro (420), cómo se muestra en la Figura 4, o bien, el sistema de supervisión (42) forma parte como tercer miembro de dicha conversación desempeñando una función de supervisión de los mensajes entre el primer miembro (410) y segundo miembro (420).

El sistema de supervisión (42), si es externo, sólo necesita decodificar (para verificar la información oculta o detectar peticiones ocultas de ayuda, por ejemplo), y en ese caso son los propios terminales de los usuarios los que codifican, en una capa entremedia transparente para el usuario cómo en el caso del editor de texto. Sin embargo, como se describe más abajo, en el caso de que el sistema de supervisión (42) se hace de forma integrada al sistema de mensajería, en los propios terminales de los usuarios, sí que el sistema de supervisión (42) integra tanto la codificación como la decodificación.

En una posible implementación de la invención, el sistema de supervisión (42) con los módulos codificador (20) y decodificador (30) consiste en un agente software integrado en el propio sistema de mensajería, tanto en el terminal del usuario final A ó B (410, 420), cómo en el servidor remoto (41) del servicio de mensajería. Tal agente se encarga de implementar las siguientes funcionalidades: 1 . Recopilar los parámetros del sistema (y establecer valores por defecto para los mismos en el caso de que no sean especificados por el usuario final). Esos parámetros incluyen, por ejemplo, los tamaños de los bloques de texto para el cálculo del hash, la frecuencia con la que se repite la integración de un mensaje en el texto a lo largo del mismo, etc.

2. Identificación y codificación (y eventual cifrado) del mensaje a integrar en el texto, así como su integración en el mismo, por el módulo codificador (20).

3. Identificación de eventuales mensajes codificados en mensajes recibidos, su eventual descifrado y su decodificación por el módulo decodificador (30). Eventualmente, además se verifica la información oculta que incluye el texto (ej. hash del bloque), y/o se proporciona una visualization al usuario final de la información extraída una vez descodificada (ej. integridad del mensaje verificada, autor verificado, etc.).

No todos los pasos son necesarios en cada implementation, sino que dependen de la aplicación concreta que se pretende desarrollar.

Por ejemplo, si se pretende desarrollar una integración de la solución en un sistema de mensajería de un servicio de petición de ayuda anti-acoso, no es necesario dividir el texto en bloques, ni calcular cadenas resúmenes del texto (“hashes”), sino que un mensaje especifico de ayuda preestablecido es codificado al inicio de cada mensaje enviado por el usuario que solicita la petición de ayuda anti-acoso. De la misma forma, no es necesario identificar ningún mensaje codificado en los mensajes recibidos, ya que las peticiones son eliminadas por el servidor remoto (41) del servicio, que es el único elemento del sistema que va a recibir dichas peticiones. Por lo tanto, la solución resulta en un sistema de supervisión (42) simplificado con solamente las siguientes funcionalidades:

1. Interacción preestablecida del usuario con el servicio para incluir petición de ayuda (por ejemplo, (a) el utilizo de un layout de teclado especifico, con los mismos caracteres que el habitual, pero que codifica un mensaje de ayuda con ZWSP después de cada carácter, o (b) que codifique un carácter normalmente no utilizado en una petición de ayuda en ZWSPs, por ejemplo el carácter “g” en español, o (c) la inclusión de una palabra preestablecida e inusual en un mensaje, que el usuario conozca y que no resultará en el texto codificado en el sistema de mensajería, sino en una petición de ayuda en ZWSPs, por ejemplo “bajativo” o “botijo” en español)

2. Codificar la petición de ayuda en los siguientes N mensajes enviados, por parte del agente con el módulo codificador (20) integrado en el sistema de mensajería. La repetición de la solicitud o petición de ayuda un número N de veces añade robustez al propio sistema. El número N de solicitudes es un parámetro configurado por parte del administrador de sistema en base a la robustez deseada.

3. Identificación y decodificación de la petición por parte del servidor central del servicio que comprende el módulo decodificador (30) y aviso para el usuario de control.

4. Eliminación de la petición de ayuda en el mensaje y su reenvío al usuaño/grupo de destino.

Según lo descrito, una implementación no es incompatible con la otra. Por ejemplo, se puede implementar un sistema de mensajería que prevea la petición de ayuda por parte del usuario final, así como que garantice la autenticidad e integridad de los textos transmitidos y la identidad de sus autores. En este caso, los diferentes mensajes codificados en espacios de tamaño nulo son concatenados en un orden preestablecido, por ejemplo, siempre presentes en la misma posición del texto (por ejemplo, al inicio del mismo), o bien, codificados en posiciones distintas del texto (por ejemplo, peticiones de ayuda al inicio del texto y metadato del texto al final de cada bloque de texto).