MÉTODO Y SISTEMA PARA MEJORAR LA SINCRONIZACIÓN DE CIFRADOS DE FLUJO.

Método y sistema para mejorar la sincronización de cifrados de flujo.



Método y sistema para mejorar la encriptación de datos por cifrado de flujo, en el que los datos que van a encriptarse, denominados texto simple, se combinan con una secuencia aleatoria de dígitos, denominada flujo de clave, para obtener el texto simple encriptado denominado texto cifrado. La invención propone un nuevo tipo de sincronismo de cifrado de flujo, en el que la acción de sincronización se produce a intervalos aleatorios con una planificación temporal impredecible.

Tipo: Patente de Invención. Resumen de patente/invención. Número de Solicitud: P201130574.

Solicitante: TELEFONICA, S.A..

Nacionalidad solicitante: España.

Inventor/es: HERNANDEZ ENCINAS,LUIS, SOTO RODRÍGUEZ,MERCEDES, MARTÍN MUÑOZ,Agustín, MONTOJA VITINI,Fausto, ORÚE LOPEZ,Amalia Beatriz, GUERRA ESTEVEZ,Alberto.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • H04L9/00 ELECTRICIDAD.H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS.H04L TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION TELEGRAFICA (disposiciones comunes a las comunicaciones telegráficas y telefónicas H04M). › Disposiciones para las comunicaciones secretas o protegidas.

PDF original: ES-2409458_A2.pdf

 


Fragmento de la descripción:

Método y sistema para mejorar la sincronización de cifrados de flujo

CAMPO TÉCNICO

La presente invención se refiere, en general, a la encriptación de datos y más en particular a un método y a un sistema para mejorar la sincronización y, por tanto, el comportamiento de procedimientos de encriptación por cifrado de flujo.

DESCRIPCIÓN DE LA TÉCNICA ANTERIOR

La encriptación es el proceso de transformar información (denominada texto simple, texto sin codificar o texto en claro) usando un algoritmo (denominado cifrado) para hacer que sea ilegible para cualquiera excepto para aquéllos que tienen un conocimiento especial, normalmente denominado clave. El resultado del proceso es información encriptada (en criptografía denominada texto cifrado) . En muchos contextos, el término encriptación también se refiere implícitamente al proceso inverso, desencriptación, hacer legible de nuevo la información encriptada (es decir, desencriptarla) .

La encriptación se usa en la actualidad habitualmente en la protección de información en muchas clases de sistemas. La encriptación puede usarse para proteger datos “en reposo”, tales como archivos en ordenadores y

dispositivos de almacenamiento. En los últimos años, numerosos informes de datos confidenciales, tales como registros personales de clientes, han quedado expuestos debido a pérdida o robo de ordenadores portátiles o unidades de copia de seguridad. La encriptación de tales archivos en reposo ayuda a protegerlos si fallan las medidas de seguridad físicas. Los sistemas de gestión de derechos digitales que impiden el uso o la reproducción no autorizados de material sujeto a copyright y protegen el software frente a ingeniería inversa son otro ejemplo algo diferente de uso de la encriptación de datos en reposo. La encriptación también se usa para proteger datos en tránsito, por ejemplo datos que están transfiriéndose a través de redes (por ejemplo, Internet, comercio electrónico) , teléfonos móviles, micrófonos inalámbricos, sistemas de intercomunicación inalámbricos, dispositivos Bluetooth y cajeros automáticos. Se han interceptado numerosos informes de datos en tránsito en los últimos años. La encriptación de datos en tránsito también ayuda a protegerlos ya que a menudo es difícil proteger físicamente todos los accesos a redes.

Un cifrado de flujo es un tipo de algoritmo de encriptación simétrico. La encriptación se logra combinando el texto simple (el mensaje que va a encriptarse) con un flujo de clave, normalmente con la operación de O exclusivo (XOR) , aunque también son posibles otras operaciones. La combinación se realiza dígito a dígito; normalmente los dígitos consisten en uno o varios bits. La transformación de bits de texto simple sucesivos varía durante la encriptación, se encriptan bits de texto simple iguales en diferentes bits de texto cifrado dependiendo de su posición en el mensaje.

El flujo de clave consiste en una secuencia aleatoria de bits, que puede generarse por adelantado o en el momento de uso. Esta secuencia de bits puede representar cualquier dato, cuya confidencialidad deba protegerse, tanto para su almacenamiento como para su transmisión: texto, imágenes, programas, audio y vídeo. Para garantizar la inquebrantabilidad del cifrado, la longitud del flujo de clave debe ser igual a la longitud del texto simple, y cada flujo de clave no debe reutilizarse para más de una operación de encriptación. Puesto que todo el flujo de clave es aleatorio, incluso un enemigo con infinitos recursos informáticos sólo puede adivinar el texto simple si ve el texto cifrado. Se dice que un cifrado de este tipo ofrece un secreto perfecto.

Los precedentes históricos del cifrado de flujo son el cifrado César, cuyo flujo de clave sólo tenía un dígito que consistía en un carácter alfabético, y el cifrado de Blaise de Vigenere, cuya clave tenía un número limitado de dígitos y se volvía a reproducir tantas veces como fuese necesario para alcanzar la longitud del texto simple. El primer cifrado de flujo moderno fue el cifrado Vernam, también conocido como libreta de un solo uso, que es el único cifrado inquebrantable que puede demostrarse matemáticamente. La libreta de un solo uso se usó en tiempo de guerra en canales diplomáticos que requerían una seguridad excepcionalmente alta. El hecho de que la clave secreta (que puede usarse sólo una vez) sea tan larga como el mensaje introduce graves problemas de gestión de claves. Aunque es perfectamente segura, la libreta de un solo uso es en general poco práctica. Los cifrados de flujo actuales se desarrollaron como una aproximación a la acción de la libreta de un solo uso. Aunque los cifrados de flujo contemporáneos no pueden proporcionar la seguridad teórica satisfactoria de la libreta de un solo uso, son al menos prácticos.

La generación del flujo de clave se logra mediante un generador de números pseudoaleatorios (PRNG; del inglés pseudo-random numbers generator) o mediante determinados modos de operación de cifrado por bloques, que los transforman de manera eficaz en un generador de flujos de clave; de esta manera, puede usarse cualquier cifrado por bloques como cifrado de flujo: como en los modos de operación TDEA (algoritmo triple de encriptación de datos) o AES (sistema de encriptación avanzada) en OFB (realimentación abierta) o CRT (contador) . Sin embargo, los cifrados de flujo con un diseño dedicado son normalmente mucho más rápidos. Los PRNG o cifrados por bloques deben tener una clave K que pueda determinar la función de siguiente estado y la función de salida así como el estado inicial. El problema básico del diseño de generador de flujos de clave en el contexto de máquinas de estados finitos es hallar las funciones de siguiente estado y las funciones de salida que garanticen que se produce un flujo de clave que satisface los requisitos básicos de las propiedades de periodo grande, gran complejidad lineal y distribución uniforme. La determinación de estos criterios de rendimiento básicos implica, naturalmente, la analizabilidad del generador de flujos de clave. La construcción de generadores de claves de funcionamiento seguro implica necesariamente la introducción de transformaciones no lineales, lo que complica enormemente el análisis indispensable. Existen métodos implícitos y explícitos para introducir efectos no lineales.

La generación del flujo de clave puede se independiente del texto simple y el texto cifrado, produciendo lo que se denomina un cifrado de flujo síncrono, o puede depender de los datos y su encriptación, en cuyo caso el cifrado de flujo se dice que es de autosincronización. El cifrado Vernam era del primer tipo.

Un generador de flujos de clave puede describirse mediante una 6-tupla (S, R, f, g, K1, i) , de manera más precisa:

S, conjunto de estados internos;

R, alfabeto de salida;

f: f (S, K1) S, la función de transición de estados;

g: g (S, K1) R, la función de salida;

K1, la clave de las funciones f y g;

i, el valor inicial (seed) que determina el estado inicial.

El número de estados internos S es mucho mayor que el alfabeto de salida R; cada estado es una función f de la clave K1 y el estado previo (la clave K1 suele ser una secuencia de dígitos) ; la salida en cada momento es una función g de la clave K1 y el estado correspondiente; el estado inicial está determinado por la constante i. Cada vez que cambia que el estado interno se genera un nuevo dígito de salida, que es una función del nuevo estado y de la clave K1; el momento de cambio del estado interno se controla normalmente mediante un reloj interno o un mecanismo de sincronismo entre un transmisor y un receptor.

Existen dos tipos principalmente de cifrado de flujo, los cifrados de flujo síncronos y los cifrados de flujo de autosincronización.

En un cifrado de flujo síncrono se genera un flujo de dígitos pseudoaleatorios independientemente de los mensajes de texto simple y texto cifrado, y luego se combina con el texto simple (para la encriptación) o con el texto cifrado (para la desencriptación) . En la forma más común se usan dígitos binarios (bits) y el flujo de clave se combina con el texto simple usando O exclusivo (XOR) (también pueden usarse otras funciones lógicas) . Esto se denomina cifrado de flujo aditivo binario.

En un cifrado de flujo síncrono, el emisor y el receptor deben estar exactamente en sintonía para que la desencriptación sea satisfactoria. Si se añaden o se eliminan dígitos para el mensaje durante la transmisión, se pierde la sincronización. Para restaurar la sincronización, pueden probarse sistemáticamente diferentes desviaciones para obtener la desencriptación correcta.... [Seguir leyendo]

 


Reivindicaciones:

1. Un método para mejorar la encriptación de datos por cifrado de flujo, en el que los datos que van a encriptarse, denominados texto simple, se combinan con una secuencia aleatoria de dígitos, denominada flujo de clave, para obtener el texto simple encriptado denominado texto cifrado, generándose el flujo de clave mediante un generador de números pseudoaleatorios, PRNG, en función de una determinada secuencia de clave y el estado actual del generador, siendo los dígitos bloques de s bits, siendo s un parámetro de diseño, comprendiendo el método las siguientes etapas:

a) determinar el estado inicial del generador de números pseudoaleatorios y poner al estado cero, el contenido de una primera y una segunda línea de retardo (13a, 14a) del texto cifrado y el contenido de un primer y un segundo registro b) obtener la primera clave, K1, que se usará como la secuencia de clave del PRNG

c) obtener una segunda clave, K2, que será una secuencia de l dígitos, siendo l un parámetro de diseño d) retardar en la primera línea de retardo la secuencia actual del texto cifrado k dígitos y almacenar en el primer registro los últimos l dígitos del texto cifrado retardado, siendo k un parámetro de diseño, siendo k≥0.

e) comparar K2 con la secuencia de l bits del texto cifrado retardado almacenado en la etapa d)

f) si ambas secuencias no coinciden, generar el siguiente estado del PRNG en función de la primera clave y el estado previo y avanzar a la etapa j) d) si ambas secuencias coinciden, retardar en la segunda línea de retardo el texto cifrado j dígitos y almacenar en el

segundo registro los últimos m dígitos del texto cifrado retardado, siendo j y m parámetros de diseño, siendo j≥0

h) aplicar una función de transferencia a la secuencia de m dígitos almacenados en la etapa g) para obtener una secuencia transformada i) generar una orden de carga al PRNG para cambiar el estado del PRNG a un valor forzado que viene dado por la secuencia transformada j) generar el PRNG un dígito de flujo de clave de salida en función de la primera clave y el estado actual del PRNG k) leer un dígito del texto simple l) combinar el dígito de texto simple y el dígito de flujo de clave generando como resultado un dígito del texto cifrado,

siendo la combinación una operación XOR del dígito de texto simple y el dígito de flujo de clave m) almacenar el dígito de texto cifrado obtenido y añadirlo a la secuencia de texto cifrado previa, la secuencia de texto cifrado obtenida será la secuencia de texto cifrado actual n) avanzar a la etapa d) .

2. Un método según cualquiera de las reivindicaciones anteriores, en el que el estado inicial del PRNG viene dado por un valor inicial, i, que es un parámetro de diseño.

3. Un método según cualquiera de las reivindicaciones anteriores, en el que s=1, es decir, los dígitos son bits independientes.

4. Un método según cualquiera de las reivindicaciones 1-2, en el que, si s>1, la operación XOR se realiza en cada dígito bit a bit.

5. Un método según cualquiera de las reivindicaciones anteriores, en el que las etapas de obtener las claves primera y segunda comprenden las etapas de leer los registros correspondientes en los que están almacenadas las claves.

6. Un método según cualquiera de las reivindicaciones anteriores, en el que la función de transferencia depende de una tercera clave, K3, almacenada en un registro.

7. Un método según las reivindicaciones 1 a 5, en el que la función de transferencia es una identidad.

8. Un método según cualquiera de las reivindicaciones anteriores, en el que k > j + m.

9. Un método según las reivindicaciones 1 a 7, en el que j > k + l.

10. Un sistema para mejorar la encriptación y desencriptación de datos por cifrado de flujo, comprendiendo el sistema un dispositivo de cifrado y un dispositivo de descifrado, en el que, en el dispositivo de cifrado, los datos que van a encriptarse, denominados texto simple, se reciben y se combinan con una secuencia aleatoria de dígitos, denominada flujo de clave, para obtener el texto simple encriptado denominado texto cifrado, y en el dispositivo de descifrado, el

texto que va a desencriptarse, texto cifrado, se recibe y se combina con el flujo de clave para obtener el texto desencriptado, texto simple, siendo los dígitos bloques de s bits;

comprendiendo el dispositivo de cifrado:

-un generador de números pseudoaleatorios, PRNG, generándose el flujo de clave por el PRNG en función de una clave, K1, y el estado actual del generador y determinándose el siguiente estado del generador por K1 y el estado previo si no hay un valor forzado para el siguiente estado

-un combinador que lee un dígito del texto simple, lee un dígito del flujo de clave, combina ambos dígitos y genera como resultado un dígito del texto cifrado, siendo la combinación una operación XOR del dígito de texto simple y el dígito de flujo de clave

-una primera línea de retardo que retarda la secuencia de texto cifrado k dígitos, siendo k un parámetro de diseño, k≥0.

-una segunda línea de retardo que retarda la secuencia de texto cifrado j dígitos, siendo j un parámetro de

diseño, j≥0.

-un primer registro de memoria que almacena los últimos l dígitos de las secuencias de texto cifrado retardadas por la primera línea de retardo, siendo l un parámetro de diseño, actualizándose el registro cada vez que se genera un nuevo dígito de texto cifrado

-un segundo registro de memoria que almacena los últimos m dígitos de las secuencias de texto cifrado retardadas por la segunda línea de retardo, siendo m un parámetro de diseño, actualizándose el registro cada vez que se genera un nuevo dígito de texto cifrado

-un módulo de transferencia que aplica una función de transferencia a la secuencia de m dígitos almacenados en el segundo registro de memoria, generando una secuencia transformada

-un comparador que, tras cada nuevo dígito generado del texto cifrado, compara la secuencia de l dígitos almacenados en el primer registro de memoria con una segunda clave K2 que es una secuencia de l dígitos; y si ambas secuencias coinciden, genera una orden de carga al PRNG para cambiar el estado del PRNG a un valor forzado que viene dado por la secuencia transformada generada por el módulo de transferencia;

comprendiendo el dispositivo de descifrado:

-un generador de números pseudoaleatorios, PRNG, generándose el flujo de clave por el PRNG en función de la clave K1 y el estado actual del generador y determinándose el siguiente estado del generador por K1 y el estado previo si no hay un valor forzado para el siguiente estado

-un combinador que lee un dígito del texto cifrado, lee un dígito del flujo de clave, combina ambos dígitos y genera como resultado un dígito del texto cifrado desencriptado, que es el texto simple, siendo la combinación una operación XOR del dígito de texto cifrado y el dígito de flujo de clave

-una primera línea de retardo que retarda la secuencia de texto cifrado k dígitos

-una segunda línea de retardo que retarda la secuencia de texto cifrado j dígitos

-un primer registro de memoria que almacena los últimos l dígitos de las secuencias de texto cifrado retardadas por la primera línea de retardo, actualizándose el registro cada vez que se recibe un nuevo dígito de texto cifrado

-un segundo registro de memoria que almacena los últimos m dígitos de las secuencias de texto cifrado retardadas por la segunda línea de retardo, siendo m un parámetro de diseño, actualizándose el registro cada vez que se recibe un nuevo dígito de texto cifrado

-un módulo de transferencia que aplica una función de transferencia a la secuencia de m dígitos almacenados en el segundo registro de memoria, generando una secuencia transformada

-un comparador que, tras cada nuevo dígito recibido del texto cifrado, compara la secuencia de l dígitos almacenados en el primer registro de memoria con la segunda clave K2; y si ambas secuencias coinciden, se genera una orden de carga al PRNG para cambiar el estado del PRNG a un valor forzado que viene dado por la secuencia transformada generada por el módulo de transferencia.

11. Un programa informático que comprende medios de código de programa informático adaptados para realizar el procedimiento según cualquiera de las reivindicaciones 1 a 9, cuando dicho programa se ejecuta en un ordenador, un procesador de señal digital, una disposición de puertas programables en campo, un circuito integrado de aplicación específica, un microprocesador, un microcontrolador o cualquier otra forma de hardware programable.


 

Patentes similares o relacionadas:

Procedimiento de protección de circuitos electrónicos contra interceptación por análisis de potencia y circuito electrónico que usa el mismo, del 3 de Junio de 2020, de Winbond Electronics Corp: Un circuito electrónico con protección contra interceptación por análisis de potencia, que comprende: un elemento de almacenamiento […]

Método de codificación por señales acústicas aleatorias y método de transmisión asociado, del 27 de Mayo de 2020, de CopSonic: Método de codificación de símbolos de información que pertenecen a un alfabeto (A) por medio de señales acústicas, que comprende las siguientes etapas: (a) se adquieren […]

METODO PARA LA CREACION DE UNA IDENTIDAD DIGITAL EN BLOCKCHAIN BASADO EN LA FIRMA ELECTRONICA, del 19 de Marzo de 2020, de SIGNE, S.A.: Método para la creación de una identidad digital en blockchain basado en la firma electrónica que contempla la generación de la identidad digital en la que se crea […]

Método de consulta confidencial de una base de datos cifrada, del 18 de Marzo de 2020, de COMMISSARIAT A L'ENERGIE ATOMIQUE ET AUX ENERGIES ALTERNATIVES: Método de consulta confidencial de una base de datos alojada por un servidor, conteniendo la base de datos una tabla de registros, obteniéndose cada registro por medio de un […]

Algoritmo criptográfico con etapa de cálculo enmascarada dependiente de clave (llamada de SBOX), del 12 de Febrero de 2020, de Giesecke+Devrient Mobile Security GmbH: Unidad de procesador con una implementación ejecutable implementada en la misma de un algoritmo criptográfico (AES, DES), que está configurado para, […]

Procedimiento de securización y de autentificación de una telecomunicación, del 1 de Enero de 2020, de Airbus CyberSecurity SAS: Procedimiento de comunicación entre dos entidades comunicantes, generando una primera entidad comunicante un mensaje de datos que comprende datos útiles […]

Procedimiento y dispositivo de autenticación de entidad, del 20 de Noviembre de 2019, de CHINA IWNCOMM CO., LTD: Un procedimiento para autenticar una entidad, comprendiendo el procedimiento: la operación 1 de transmitir, por una entidad A, un primer mensaje […]

Generación de firma digital, del 6 de Noviembre de 2019, de NAGRAVISION S.A.: Metodo para firmar digitalmente un mensaje, donde el metodo comprende: a) obtener parametros de dominio que definen un grupo asociado a una operacion de grupo […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .