MX2012000104A - Metodo para generar una clave de encriptacion/desencriptacion. - Google Patents

Metodo para generar una clave de encriptacion/desencriptacion.

Info

Publication number
MX2012000104A
MX2012000104A MX2012000104A MX2012000104A MX2012000104A MX 2012000104 A MX2012000104 A MX 2012000104A MX 2012000104 A MX2012000104 A MX 2012000104A MX 2012000104 A MX2012000104 A MX 2012000104A MX 2012000104 A MX2012000104 A MX 2012000104A
Authority
MX
Mexico
Prior art keywords
node
data set
intermediate data
bit
key
Prior art date
Application number
MX2012000104A
Other languages
English (en)
Inventor
Elise Revell
Original Assignee
Kelisec Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kelisec Ab filed Critical Kelisec Ab
Publication of MX2012000104A publication Critical patent/MX2012000104A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Facsimile Transmission Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

La presente invención se refiere a un método para generar una clave de encriptación/desencriptación, y especialmente para generar una clave de encriptación/desencriptación de una sola vez, es decir, donde la misma clave se utiliza para la encriptación y desencriptación. Para mantener una generación de clave, un primer nodo (A) envía una solicitud a un servidor central (2) para establecer comunicación con un segundo nodo (B). El servidor central (2) envía un archivo de generación de clave a ambos nodos (A y B). Cada nodo genera un conjunto de datos intermedios diferentes, es decir, un primer y segundo conjunto de datos. El primer conjunto de datos generado por el primer nodo (A) se envía al segundo nodo (B), el cual basándose en este conjunto de datos genera un tercer conjunto de datos que se envía nuevamente al primer nodo. La generación de una primera clave de encriptación en el nodo (A) se basa en la comparación de bit a bit entre el tercer y primer conjunto de datos intermediarios y la generación de una segunda clave criptográfica se basa en la comparación de bit a bit entre el primer y segundo conjunto de datos intermediarios. La primera y segunda clave criptográfica es la misma.

Description

MÉTODO PARA GENERAR UNA CLAVE DE ENCRIPTACIÓN/DESENCRIPTACIÓN Campo Técnico La presente invención se refiere a un método para generar una clave de encriptación/desencriptación, y especialmente para generar una clave de encriptación/desencriptación de una sola vez utilizada para encriptación simétrica, es decir, donde la misma clave se utiliza para encriptación y desencriptación. La presente invención además se refiere a un programa de computadora que comprende medios de código para realizar el método cuando se ejecute en una computadora y un producto de programa de computadora que comprende medios de código de programación almacenados en un medio legible por computadora para realizar el método, cuando el producto se ejecuta en una computadora.
Anteceder!tes En. criptografía, una clave es una. pieza de información que determina. el resul tado funcional de un. algoritmo criptográfico. Sin una. clave, el algor tmo podría no tener ningún resultado. En encriptación, una clave específica la transformación particular de texto simple en el texto encriptado, o viceversa, durante la desencriptación. Las claves también se utilizan en otros algoritmos criptográficos, tales como esquemas de firma digital y códigos de autentificación de mensajes.
Con frecuencia se dice que al diseñar sistemas de seguridad, es acertado asumir que los detalles del algoritmo criptográfico ya se encuentran disponibles para un atacante. Este principio se conoce como principio de Kerckhoffs y de este inodo sólo el secreto de la clave proporciona seguridad. Este principio se basa en el hecho de que es difícil mantener los detalles de un algoritmo am liamente utilizado en secreto. Una clave con frecuencia es más fácil de proteger, puesto que a menudo es una pieza pequeña de información en comparación con el algoritmo de encriptación . Sin embargo, también puede ser difícil mantener una clave secreta y si el atacante obtiene la clave de cierta forma, puede recuperar el mensaje original de los datos encriptados .
Los algoritmos de encriptación que utilizan la misma clave para encriptación y desencriptación, como se menciona en lo anterior, se conocen como algoritmos de clave simétrica. También existen, algoritmos de clave asimétrica que utilizan un par de claves , una para encriptar y una para desencriptar . Estos algoritmos de clave asimétrica permiten que una clave se haga pública mientras que retienen la clave privada en una sola ubicación. Se diseñan para que encontrar la clave privada sea extremadamente difícil, incluso si se conoce la clave pública correspondiente. Un usuario de tecnología de clave pública puede publicar su clave pública, mientras mantiene su clave privada en secreto, permitiendo que cualquiera le envié un mensaje encriptado.
Para que una clave sea "segura" junto con los algoritmos de encriptación simétrica una longitud de 80 bits generalmente se considera el mínimo y las claves de 128 bits se utilizan comúnmente y se consideran muy fuertes. Las claves utilizadas en criptografía de clave pública tienen cierta estructura matemática. Por ejemplo, las claves públicas utilizadas en el sistema de RSA son el producto de dos números primos. De este modo, los sistemas de clave pública requieren longitudes más largas de claves que los sistemas simétricos para un ???/el equivalente de seguridad. La longitud de clave sugerida es de 3072 bits para sistemas basados en factorizacion y algoritmos discretos de números enteros que tienen como objetivo tener una seguridad equivalente a una cifra simétrica de 128 bits .
Como se menciona en lo anterior, es posible general claves con un alto c/rado de secjuridad, si son lo suficiente largas para claves basadas en algoritmos simétricos y asimétricos. Sin embargo, existe un problema en la. distribución de claves. Si, por ejemplo, dos partes desean comunicarse entre sí utilizando criptografía simétrica, primero tienen que decidir qué clave utilizar y después distribuirla de manera segura de una parte a la otra. Además, la clave tiene que mantenerse en secreto por cimbas partes . El riesgo de que un intruso pueda encontrar la clave incrementa con el tiempo en que se utiliza la clave. Por lo tanto, una clave normalmente es válida solo durante un tiempo limitado, por ejemplo, seis o doce meses. Después de ese tiempo, una nueva clave tiene que distribuirse.
También, la distribución de claves para la encriptación criptográfica asimétrica, encuentra problemas con la distribución de claves cuando dos partes desean comunicarse entre si. Para enviar información en ambas direcciones, necesitan intercambiar claves públicas entre sí. También, en este caso, las claves normalmente tienen un período de tiempo limitado durante el cual son válidas. Para una parte que se comunica con muchas partes diferentes, el manejo de distribución de claves públicas válidas puede ser fastidioso. Un ejemplo típico es que la validez de una clave ha finalizado cuando necesita enviar cierta información secreta de manera urgente a otra parte o que aún no ha intercambiado claves públicas .
Otro tipo de criptografía es la. criptografía, cuántica, la cual utiliza, mecánica cuántica para garantizar la comunicación segura. Permite que dos partes produzcan una cadena de bits aleatoria compartida conocida sólo por ellas, la cual puede utilizarse como clave para encriptar y desencriptar mensajes. Una propiedad importante y única de la criptografía cuántica es la capacidad de los dos usuarios en comunicación para detectar la presencia de cualquier tercero que trate de obtener el conocimiento de la clave. Este es el resultado de un aspecto fundamental de la mecánica cuántica, es decir, el proceso de medir un sistema cuántico afectará el sistema. Puesta que un tercero que trata de fisgonear la clave de cierta forma, tiene que medirla, exis irán anomalías detectabl.es . De este modo, la. seguridad de la criptografía cuántica se basa en. ios principios de la. mecánica cuántica., en contraste a la criptografía tradicional de claves públicas que se basa en la dificultad cornputacional de ciertas funciones matemáticas, y no puede proporcionar ninguna indicación de fisgoneo o garantía de seguridad de claves.
La criptografía cuántica sólo se utiliza para producir y distribuir una clave, no para transmitir ningún dato de mensajes. Esta clave entonces puede utilizarse con cualquier algoritmo de encriptación seleccionado para encriptar y desencriptar un mensaje, el cual entonces puede transmitirse sobre un canal de comunicación estándar.
Incluso si la generación de clave con la criptografía cuántica proporciona una forma muy segura de generar y distribuir una clave, también tiene una desventaja principal. La distancia sobre la cual puede distribuirse una clave cuántica se limita a aproximadamente 100 kilómetros, debido a las propiedades de la mecánica cuántica.
Dado los problemas antes mencionados, existe necesidad de una forma simple de generar y distribuir una clave criptográfica.
Compendio de la Invención El problema que se resolverá por la presente invención es generar una clave criptográfica, la cual no necesita distribuirse a los modos que desean comunicarse entre sí, es decir, donde la clave se genera por los nodos mismos .
Este problema es de acuerdo con un primer aspecto resuelto por un método para generar una clave . de encriptación/desencriptación , la cual se puede utilizar para comunicación segura entre un primer nodo y un segundo nodo. El método comprende las etapas de: enviar una solicitud desde el primer nodo A hasta un servidor central para ¦ establecer comunicación con el segundo nodo, enviar desde el servidor central un primer archivo de generación de claves al primer nodo y un segundo archivo de generación de claves al segundo nodo en respuesta a la solicitud del primer nodo, procesar el primer archivo de generación de claves en el primer nodo y el segundo archivo de generación de claves en el segundo nodo, generar un primer conjunto de datos intermedio en el primer nodo y un segundo conjunto de datos intermedio en el segundo nodo, enviar el primer conjunto de datos intermedio desde el primer nodo hasta el segundo nodo, comparar los bits del primer conjunto de datos intermedio con los bits correspondientes del segundo conjunto de datos intermedio, crear un nuevo tercer conjunto de datos intermedio basándose en la comparación de bit por bit entre el primer y segundo conjunto de datos intermedio al establecer un primer valor si los bits comparados son iguales y un segundo valor si los bits comparados son distintos, enviar el tercer conjunto de datos intermedio desde el segundo nodo al primer nodo, comparar los bits del tercer conjunto de datos intermedio con los bits correspondientes del primer conjunto de datos intermedio, generar una primera clave de encriptación basándose en la comparación de bit por bit entre el tercer y primer conjunto de datos intermedio al mantener el valor del bit del primer conjunto de datos si el bit correspondiente del tercer conjunto de datos intermedio se establece en el primer valor e ignorar el bit del primer conjunto de datos intermedio si el bit correspondiente del tercer conjunto de datos intermedio se establece en el segundo valor, generar una segunda clave de encriptación basándose en la comparación de bit por bit entre el primer y segundo conjunto de datos intermedio al mantener el valor del bit del segundo conjunto de datos si el bit correspondiente del primer conjunto de datos intermedio es igual e ignorar el bit del segundo conjunto de datos intermedio si los bits comparados son distintos, la primera y segunda claves de encriptación son las mismas.
De acuerdo con un segundo aspecto de la presente invención, el problema se resuelve por un método para generar una clave de encriptación/desencriptación en un primer nodo, el cual se puede utilizar para comunicación segura entre el primer nodo y el segundo nodo. El método de acuerdo con el segundo aspecto comprende las etapas de: enviar una solicitud a un servidor central para establecer comunicación segura con el segundo nodo, recibir el primer archivo de generación de claves desde, el servidor central en respuesta a la solicitud, procesar el primer archivo de generació de claves, generar un primer conjunto de datos intermedio, enviar el primer conjunto de datos intermedio al segundo nodo, recibir un tercer conjunto de datos intermedio desde el segundo nodo, comparar los bits del tercer conjunto de datos intermedio con bits correspondientes del primer conjunto de datos intermedio, generar una primera clave de encriptación basándose en la comparación de bit por bit entre el tercer y el primer conjunto de datos intermedio al mantener el valor del bit del primer conjunto de datos si el bit correspondiente del. tercer conjunto de datos intermedio se establece en un primer valor e ignorar el bit del primer conjunto de datos intermedio si el bit correspondiente del tercer conjunto de datos intermedio se establece en un segundo valor.
De acuerdo con un tercer aspecto de la presente invención, el problema se resuelve por un método para generar una clave de encrip ación/desencrip ación en un segundo nodo, el cual se puede utilizar para comunicación segura entre el primer nodo y el segundo nodo. De acuerdo con el tercer aspecto, el método comprende las etapas de: recibir un segundo archivo de generación de claves de un. servidor central, en. respuesta a una solicitud del primer nodo para iniciar comunicación segura entre, el primer nodo y el segundo nodo, procesar el segundo archivo de generación de claves , generar un. segundo conjunto de datos intermedio, recibir un tercer conjunto de datos intermedio del primer nodo, comparar los bits del primer conjunto de datos intermedio con bits correspondientes del segundo conjunto de datos intermedio, crear un nuevo tercer conjunto de datos intermedio basándose en la comparación de bit por bit entre el primer y segundo conjunto de datos intermedio al establecer un primer valor si los bits comparados son iguales y un segundo valor si los bits comparados son distintos, enviar el tercer conjunto de datos intermedio al primer nodo, generar una segunda clave de encriptación basándose en la comparación de bit por bit entre el primer y segundo conjunto de datos intermedio al mantener el valor del bit del segundo conjunto de datos si el bit correspondiente del primer conjunto de datos intermedio es igual e ignorar el bit del segundo conjunto de datos intermedio si los bits comparados son distintos.
De acuerdo con una modalidad preferida de la presente invención, la etapa de enviar el primer y segundo archivos de generación de el¿ives también comprende enviar metadatos unidos a cada archivo de generación de claves, respectivamente .
En aún otra modalidad preferida de la presente invención, los metadatos comprenden una constante que se utiliza para la generación de la primera y segunda claves de encriptación. Los metadatos también pueden comprender información sobre la longitud de clave de encriptación.
En otra modalidad, la longitud de clave puede generarse de manera aleatoria, dentro de un intervalo predeterminado .
De acuerdo con un cuarto aspecto de la invención, se proporciona un programa de computadora que comprende medios de código para realizar las etapas del método, cuando el programa se ejecuta en una computadora.
De acuerdo con un quinto aspecto de la invención, se proporciona un producto de programa de computadora, que comprende medios de código de programación almacenados en un medio legible por computadora para realizar las etapas del método, cuando el producto se ejecuta en una computadora.
El mayor beneficio de la presente invención es que la clave se genera en los nodos que desean comunicarse entre sí y de este modo no existe necesidad de distribución de claves .
Breve descripción de los dibujos La invención se describe en lo siguiente con referencia a los dibujos anexos, en los cuales La Figura 1 es un diagrama de flujo que muestra el método para generar una clave criptográfica de acuerdo con la presente invención, la Figura 2 es un ejemplo ele un archivo de generación de claves enviado desde el servidor central hasta los nodos que desean comunicarse, la Figura 3 es un ejemplo de una constante utilizada para generar el primer y segundo conjunto de datos intermedios , la Figura 4. es un ejemplo del primer conjunto de daos intermedio en el primer nodo A y el segundo conjunto de. datos intermedio en el segundo nodo B, la Figura 5 es un ejemplo de un proceso de correlación entre el primer y segundo conjunto de datos intermedios y la generación de una clave criptográfica para el segundo nodo B, y la Figura 6 es un ejemplo de la generación de una clave criptográfica para el primer nodo A.
Descripción detallada de la invención La presente invención ahora se describirá en detalle con la ayuda de diferentes .modalidades de la misma.
Las modalidades deben observarse como ejemplos y explicaciones para entender la invención y no como limitantes .
La Figura 1 muestra el método para generar una clave criptográfica de acuerdo con la presente invención. El método general se ejecuta por dos nodos A y B que desean establecer comunicación segura entre sí al utilizar una clave de encriptación/desencriptación segura. Además, el método se ejecuta con la ayuda de un servidor central 2. En la Figura 1, el primer nodo A se muestra en el lado izquierdo y el segundo nodo B se encuentra en el lado derecho, es decir, las etapas realizadas por el primer nodo A se muestran en el lado izquierdo de la línea discontinua y las etapas realizadas por el segundo nodo B se muestran en el lado derecho de la línea discontinua. En la práctica, el primer nodo A puede ser una computadora, de la cual el usuario puede desear iniciar comunicación segura con una computadora, el segundo nodo B, se encuentra en su banco. Como es evidente para una persona con experiencia en la técnica, el primer nodo A y el segundo nodo B pueden ser cualquier dispositivo de comunicación que desee comunicarse entre sí.
El servidor central 2 puede ser cualquier dispositivo de comunicación capaz de recibir y enviar datos en una form segura con la ayuda de cierto tipo de certificado de seguridad. Para que un nodo sea. capaz de utilizar el método de generación de claves de acuerdo con la. presente invención, el nodo necesita tener autorización para comunicarse con el servidor central 2. De este modo, el servidor central 2 se mantiene al tanto de todos los usuarios que tienen permiso para utilizar el método de generación de claves. Como se menciona en lo anterior, la comunicación entre el servidor central 2 y los nodos o viceversa es segura al utilizar cierto tipo de certificado de seguridad. De preferencia, un certificado X509 o similar se utiliza para comunicación segura.
El método para generar una clave de encriptación/desencriptación de acuerdo con la presente invención ahora se describirá por medio de un ejemplo. El método comienza con. un. nodo, en este ejemplo el primer nodo A, envia una solicitud al servidor central 2 para establecer comunicación con el segundo nodo B. El servidor central 2 primero comprueba si el primer nodo A tiene permiso pax~a establecer comunicación con el segundo nodo B y también que el segundo nodo B tenga permiso para comunicarse con el servidor central 2 y el primer nodo A. Si ambos nodos tienen permiso para comenzar la comunicación entre si, el servidor central 2, en respuesta a la solicitud del primer nodo A, enviará un primer archivo de generación de claves al primer nodo A y un segundo archivo de generación de claves al secjundo nodo B .
La Figura 2 muestra un ejemplo de un archivo de generación de claves que se envía desde el servidor central hacia el primer nodo A y el segundo nodo B. El archivo contiene un archivo de proceso, el cual cuando se ejecuta por el primer nodo A y el segundo nodo B generará la clave de encriptación/desencriptación. Puesto que los procesos en el primer nodo A y el segundo nodo B son diferentes, los cuales se explicarán a continuación, el archivo de proceso enviado al primer nodo A difiere del archivo de proceso enviado al segundo nodo B. Como es evidente a partir de la figura 2, el archivo de generación de claves también contiene metadatos MI, M2 , ... , Mn . Los metadatos pueden contener información que se utiliza. para generar la clave de. encriptación/desencriptación y los mismos metadatos se enviarán al primer nodo A y al segundo nodo B. Ejemplos de metadatos es una constante utilizada para generar las claves. La Figura 3 muestra un ejemplo de tal constante utilizada para generar un primer y un segundo conjunto de datos intermedios utilizados durante la generación de claves. Los metadatos también pueden contener una etiqueta de tiempo que se utiliza para comparar si los archivos de generación de claves tienen el mismo origen.
Además, los metadatos también pueden contener información sobre la longitud de clave que se utiliza o qué bits de la clave deben utilizarse para generar la clave . Como es evidente para una. persona con experiencia en la técnica, puede existir un número de otros metadatos que pueden utilizarse para incrementar adicionalmente la seguridad del proceso de generación de claves.
Cuando el archivo de generación de claves se ha recibido por el primer nodo A y el segundo nodo B, cada nodo comenzará el procesamiento del archivo. En primer lugar, el primer nodo A generará un primer conjunto de datos intermedio y el segundo nodo B generará un segundo conjunto de datos intermedio al utilizar el valor de la constante, como se representa en la figura 3. La constante contiene, en este caso, cuatro bits binarios cada uno asociado con una letra. La longitud de la constante puede variar de manera arbitraria y los bits pueden asociarse con letras , figuras , símbolos griegos, etc.
Un ejemplo del primer conjunto de datos intermedio para el primer nodo A y el segundo conjunto de datos intermedio para el segundo nodo B se muestra en la figura 4. Los conjuntos de datos intermedios se generan al utilizar cierto tipo de generador conocido de números seudoaleatorios , utilizando tales algoritmos seudoaleatorios como Blum Blum Shub, Fortuna o el Mersenne Twister, para generar una secuencia aleatoria de, en este caso, las letras A--D. La secuencia aleatoria de las letras se muestra en el encabezado del primer y segundo conjuntos de datos intermedios en. la. figura 4. De este .modo, para generar el. conjunto de datos intermedio, la secuencia de las letras se determina primero de manera seudoaleatoria y después el valor correcto asociado con la letra de acuerdo con la constante en la figura 3 se asignará. Si esta asignación resulta en generar por ejemplo sólo ceros o sólo unos para el conjunto de datos intermedio, este resultado puede filtrarse y se genera una nueva secuencia aleatoria.
Puesto que el primer y segundo conjuntos de datos intermedios se generan de manera seudoaleatoria, jamás serán los mismos . La longitud de los conjuntos de datos intermedios en este ejemplo sólo es de 8 bits para ilustrar fácilmente la presente invención en un ejemplo . En la práctica, sin embargo, la longitud del conjunto de datos intermedio típicamente se encuentra entre 64 y 2048 bits. La longitud de bit puede ser parte de los metadatos como se menciona en lo anterior y puede establecerse de manera aleatoria por el servidor central 2 cada vez que se realiza una nueva solicitud, desde un nodo.
Después de la generación del primer y segundo conjunto de datos intermedios, el primer nodo enviará el primer conjunto ele datos intermedio al segundo nodo B sin ninguna protección, es decir, públicamente.
El segundo nodo B comparará el primer y segundo conjuntos de datos intermedios entre sí . El resultado de la comparación se llama Correlación. 1 en la tabla mostrada en la. figura 5. El valor A y el valor B corresponden con el primer y segundo conjuntos de datos intermedios, respectivamente. La comparación es una comparación de bit por bit y el resultado es Verdadero si el valor para el primer y segundo bit de-conjunto de datos, respectivamente, es igual y Falso si son diferentes. El resultado, Correlación 1, de la comparación se utiliza para crear un nuevo tercer conjunto de datos intermedio, Valor 1, al establecer un primer valor si los bits comparados son iguales y un segundo valor si los bits comparados son diferentes. En este caso, 1 se utiliza cuando los bits comparados son. iguales y 0 se utiliza si los bits son diferentes. Sin embargo , también podría ser la otra forma sin apartarse de la. presente invención.
El tercer conjunto de datos intermedio entonces se envía públicamente desde el segundo nodo B hasta el primer nodo A. El primer nodo A entonces genera una primera clave criptográfica basándose en una comparación de bit por bit entre el tercer y primer conjuntos de datos intermedios al mantener el valor del bit del primer conjunto de datos si el bit correspondiente del tercer conjunto de datos intermedio se establece en el primer valor e ignora el bit del primer conjunto de datos intermedio si el bit correspondiente del tercer con unto de datos intermedio se establece en el segundo valor. En este caso, el cual se muestra, en la figura 6, el. primer valor corresponde con .1. y el segundo valor con 0. Como es evidente de la figura 6, la clave comprende cuatro bits en lugar de los ocho bits oricjinales , puesto que cuatro bits se han ignorado durante la generación de la clave.
Como se menciona en lo anterior, tanto el primer conjunto de datos intermedio como el tercer conjunto de datos intermedio se envían públicamente. Incluso, si se interceptarán, no existiría ninguna forma para que un tercero genere una clave utilizando estos datos, puesto que el valor de 1 en el tercer conjunto de datos realmente no significa el valor i, sino solo que el primer conjunto de datos y el segundo conjunto de datos tienen el mismo valor. De este .modo, un 1 en el tercer conjunto de datos realmente puede ser-cualquiera de 1 o un 0.
En el nodo B, la segunda clave criptográfica se genera basándose en la comparación de bit por bit entre el primer y segundo conjunto de datos intermedios, véase figura 5, ai mantener el valor del bit. del segundo conjunto de datos si el bit correspondiente del primer con unto de datos intermedio es igual e ignora el bit del segundo conjunto de datos intermedios si los bits comparados son diferentes. Como puede observarse, le primera y segunda claves criptográficas son las mismas c1caves . Las claves entonces pueden utilizarse para encriptación/desencriptación de información enviada, entre el. primer nodo A y el segundo nodo B. Cualquier método de encri tación conocido puede utilizarse junto con la clave generada por el método de acuerdo con la presente invención. De este modo, la presente invención no se dirige a cómo se realiza la encriptación/desencriptación sino hacia la generación de claves criptográficas . La clave generada será válida siempre y cuando la sesión de comunicación entre el primer" y segundo nodos sea activa. Además, cuando la clave se ha generado por el primer nodo A y el segundo nodo B, los archivos de generación de clave recibidos por el servidor central se borrarán en un nodo respectivo.
Ahora, el método general de la presente invención se ha descrito en detalle. Sin. embargo, la presente invención también se relaciona con un método para generar una clave de encriptación/desencriptación en el primer nodo A. Este mé odo es un subconjunto del método general descrito en lo anterior y por lo tanto se describirá brevemente. El método ejecutado por el primer nodo comienza con enviar una solicitud al servidor central 2 para establecer comunicación segura con el segundo nodo B. El primer nodo entonces recibe el primer archivo de generación de claves desde, hasta el servidor central 2 y comienza a procesarlo. Esto generará el primer conjunto de datos intermedio, el cual como se menciona en lo anterior se envía al segundo nodo B.
El. primer nodo A recibirá, el tercer con unto de datos intermedio desde el segundo nodo B y comparará los bits del tercer conjunto de datos intermedio con los bits correspondientes del primer conjunto de datos intermedio. El primer nodo A generará la primera clave de encriptación basándose en la comparación de bit por bit entre el tercer y el primer conjunto de datos intermedios al mantener el valor de bit del primer conjunto de datos si el bit correspondiente del tercer conjunto de datos intermedio se establece en el primer valor e ignora el bit del primer conjunto de datos intermedio si el bit correspondiente del tercer conjunto de datos intermedio se estableció en el segundo valor.
También, el segundo nodo B ejecutará un subconjunto del método general , el cual ahora se describirá, brevemente. El método para generar una clave de encriptación/desencriptación en el segundo nodo B comienza con aquel del segundo nodo B que recibe el segundo archivo de generación de claves desde el servidor central 2 y comienza a procesarlo. Esto generará el segundo conjunto de datos intermedio. Después de esto, el segundo nodo B recibirá el primer conjunto de datos intermedio del primer nodo A y comparará los bits del primer conjunto de datos intermedio con los bits correspondientes del segundo conjunto de datos intermedio. Después de esto, el segundo nodo B creará un nuevo tercer conjunto ele datos intermedio basándose en la comparación de bit por bit entre el primer y segundo conjun o de datos intermedios al establecer el primer valor y si los bits comparados son iguales y el segundo valor si los bits comparados son diferentes. El tercer conjunto de datos intermedio entonces se envía al primer nodo A.
El segundo nodo B entonces genera la segunda clave de encriptación basándose en la comparación de. bit por bit entre el primer y segundo conjunto de datos intermedios al mantener el valor del bit del segundo conjunto de datos si el bit correspondiente del primer conjunto de datos intermedio es igual e ignora el bit del segundo conjunto de datos intermedio si los bits comparados son diferentes.
De este modo, con el método descrito en lo anterior, es posible, en cualquier caso y de manera segura, generar claves criptográficas donde se utilicen, es decir, en los nodos. Esto es muy benéfico puesto que la necesidad de distribuir claves ya no existe. La clave es del tipo de una sola vez y sólo será válida para una sesión de comunicación y siempre y cuando se encuentre activa. Además, las claves se generan en dos procesos independientes en dos nodos separados .
Incluso, si se cree que el método anterior es muy seguro, la seguridad además puede mejorarse al hacer uso de los metadatos anexos al archivo de generación de claves. Por ejemplo, los metadatos pueden establecer que sólo cada tercer o segundo bit del resultado del proceso de generación de claves debe utilizarse como clave. Un uso similar de metadatos también podría establecer que sólo cada tercer bit o segundo bit debe leerse cuando el primer nodo A y el segundo nodo B se comuniquen entre sí durante el proceso de generación de claves.
Se debe entender que incluso si la invención se ha descrito con referencia a modalidades preferidas de la invención, no se limita a las mismas. Existen muchas otras modalidades y variaciones que de igual forma se encuentran dentro del alcance de la invención, la cual se. define mejor por las reivindicaciones anexas.

Claims (15)

REIVINDICACIONES
1. Un método para generar una clave de encriptación/desencriptación, la cual se puede utilizar para comunicación segura entre un primer nodo (A) y un segundo nodo (B) , el método comprende las etapas de: enviar una solicitud desde el primer nodo (A) hasta un servidor central (2) para establecer comunicación con el segundo nodo (B) , enviar desde el servidor central (2) un 'primer archivo de generación de claves hasta el primer nodo (A) y un segundo archivo de generación de claves hasta el segundo nodo (B) en respuesta a la solicitud del primer nodo (A) , comenzar a procesar el primer archivo de generación de claves en el primer nodo (A) y el segundo archivo de generación de claves en el segundo nodo (B) , generar un primer conjunto de datos intermedio en el primer nodo (A) y un segundo conjunto de datos intermedio en el segundo nodo (B) , enviar el primer conjunto de datos intermedio desde el primer nodo (A) hasta el segundo nodo (B) , comparar los bits del primer conjunto de datos intermedio con bits correspondientes del segundo conjunto de datos intermedio, crear un nuevo tercer conjunto de datos intermedio basándose en la comparación de bit por bit entre el primer y segundo conjunto de datos intermedios al establecer un primer valor si los bits comparados son iguales y un segundo valor si los bits comparados son diferentes, enviar el tercer conjunto de datos intermedio desde el segundo nodo (B) hasta el primer nodo (A) , comparar los bits del tercer conjunto de datos intermedio con los bits correspondientes del primer conjunto de datos intermedio, generar una primera clave criptográfica basándose en la comparación de bit por bit entre el tercer y primer conjunto de datos intermedio al mantener el valor del bit del primer conjunto de datos si el bit correspondiente del tercer conjunto de datos intermedio se establece en el primer valor e ignorar el bit del primer conjunto de datos intermedio si el bit correspondiente del tercer conjunto de datos intermedio se establece en el segundo valor, generar una segunda clave criptográfica basándose en la comparación de bit por bit entre el primer y segundo conjuntos de datos intermedios al mantener el valor del bit del segundo conjunto de datos si el bit correspondiente del primer conjunto de datos intermedio es igual e ignorar el bit del segundo conjunto de datos intermedio si los bits comparados son diferentes, la primera y segunda claves criptográficas son las mismas.
2. Un método de acuerdo con la reivindicación 1, en donde la etapa de enviar el primer archivo de generación de claves al primer nodo (A) y el segundo archivo de generación de claves al segundo nodo (B) también comprende enviar metadatos anexos a cada archivo de generación de claves, respectivamente.
3. Un método de acuerdo con la reivindicación 2, en donde los metadatos comprenden una constante que se utiliza para la generación de la primera y segunda claves criptográficas .
4. Un método de acuerdo con la reivindicación 2 ó 3 , en donde los metadatos comprenden información sobre la longitud de clave criptográfica.
5. Un método de acuerdo con la reivindicación 4, que además comprende la etapa de, dentro de un intervalo predeterminado, generar de manera aleatoria la longitud de clave criptográfica.
6. Un método para generar una clave de encriptación/desencriptacion en un primer nodo (A) la cual se puede utilizar para comunicación segura entre el primer nodo (A) y el segundo nodo (B) , el método comprende las etapas de: enviar una solicitud a un servidor central (2) para establecer comunicación segura con el segundo nodo (B) , recibir un primer archivo de generación de claves desde el servidor central (2) en respuesta a la solicitud, procesar el primer archivo de generación de claves, generar un primer conjunto de datos intermedio, enviar el primer conjunto de datos intermedio al segundo nodo (B) , recibir un tercer conjunto de datos intermedio desde el segundo nodo (B) , comparar los bits del tercer conjunto de datos intermedio con bits correspondientes del primer conjunto de datos intermedio, generar una primera clave criptográfica basándose en la comparación de bit por bit entre el tercer y el primer conjunto de datos intermedios al mantener el valor del bit del primer conjunto de datos si el bit correspondiente del tercer conjunto de datos intermedio se establece en un primer valor e ignorar el bit del primer conjunto de datos intermedio si el bit correspondiente del tercer conjunto de datos intermedio se establece en un segundo valor.
7. Un método de acuerdo con la reivindicación 6, en donde la etapa de recibir el primer archivo de generación de claves también comprende recibir metadatos anexos al archivo.
8. Un método de acuerdo con la reivindicación 7, en donde los metadatos comprenden una constante que se utiliza para la generación de la primera clave criptográfica.
9. Un método de acuerdo con la reivindicación 7 u 8, en donde los metadatos comprenden información sobre la longitud de clave criptográfica.
10. Un método para generar una clave de encriptación/desencriptación en un segundo nodo (B) , el cual se puede utilizar para la comunicación segura entre un primer nodo (A) y un segundo nodo (B) , el método comprende las etapas de: recibir un segundo archivo de generación de claves desde un servidor central (2) en respuesta a una solicitud del primer nodo (A) para comenzar la comunicación segura entre el primer nodo (A) y el segundo nodo (B) , procesar el segundo archivo de generación de claves , generar un segundo conjunto de datos intermedio, recibir un primer conjunto de datos intermedio desde el primer nodo (A) , comparar los bits del primer conjunto de datos intermedio con bits correspondientes del segundo conjunto de datos intermedio, crear un nuevo tercer conjunto de datos intermedio basándose en la comparación de bit por bit entre el primer y segundo conjunto de datos intermedios al establecer un primer valor si los bits comparados son iguales y un segundo valor si los bits comparados son diferentes, enviar el tercer conjunto de datos intermedio al primer nodo (A) , generar una segunda clave criptográfica basándose en la comparación de bit por bit entre el primer y segundo conjuntos de datos intermedios al mantener el valor del bit del segundo conjunto de datos si el bit correspondiente del primer conjunto de datos intermedio es igual e ignorar el bit del segundo conjunto de datos intermedio si los bits comparados son diferentes.
11. Un método de acuerdo con la reivindicación 10, en donde la etapa de recibir el segundo archivo de generación de claves también comprende recibir metadatos anexos al archivo.
12. Un método de acuerdo con la reivindicación 11, en donde los metadatos comprenden una constante que se utiliza para la generación de la segunda clave criptográfica.
13. Un método de acuerdo con la reivindicación 10 u 11, en donde los metadatos comprenden información sobre la longitud de clave criptográfica.
14. Un programa de computadora que comprende medio de código para realizar las etapas de cualquiera de las reivindicaciones 1-13, cuando el programa se ejecuta en una computadora.
15. Un producto de programa de computadora que comprende medio de código de programación almacenado en un medio legible por computadora para realizar el método de cualquiera de las reivindicaciones 1-13, cuando el producto se ejecuta en una computadora.
MX2012000104A 2009-07-03 2010-07-05 Metodo para generar una clave de encriptacion/desencriptacion. MX2012000104A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22294909P 2009-07-03 2009-07-03
SE0900918A SE534384C2 (sv) 2009-07-03 2009-07-03 Förfarande för att alstra en krypterings-/dekrypteringsnyckel
PCT/SE2010/050780 WO2011002412A1 (en) 2009-07-03 2010-07-05 Method for generating an encryption/decryption key

Publications (1)

Publication Number Publication Date
MX2012000104A true MX2012000104A (es) 2012-06-25

Family

ID=43411294

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2012000104A MX2012000104A (es) 2009-07-03 2010-07-05 Metodo para generar una clave de encriptacion/desencriptacion.

Country Status (21)

Country Link
US (1) US8433066B2 (es)
EP (1) EP2361462B1 (es)
JP (3) JP2012532486A (es)
KR (1) KR101747888B1 (es)
CN (1) CN102227887B (es)
AU (1) AU2010266760B2 (es)
BR (1) BRPI1014192A2 (es)
CA (1) CA2747891C (es)
DK (1) DK2361462T3 (es)
EA (1) EA019411B1 (es)
EG (1) EG26868A (es)
ES (1) ES2566160T3 (es)
HK (1) HK1157972A1 (es)
IL (1) IL216897A (es)
MX (1) MX2012000104A (es)
NZ (1) NZ596935A (es)
PL (1) PL2361462T3 (es)
SE (1) SE534384C2 (es)
SG (1) SG176707A1 (es)
WO (1) WO2011002412A1 (es)
ZA (1) ZA201103163B (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679495B (zh) * 2012-09-18 2018-08-10 星贝瑞有限公司 一种印花发放方法及系统
US10277559B2 (en) * 2014-05-21 2019-04-30 Excalibur Ip, Llc Methods and systems for data traffic control and encryption
SE538279C2 (sv) * 2014-09-23 2016-04-19 Kelisec Ab Förfarande och system för att fastställa förekomst av
SE542460C2 (en) * 2014-10-09 2020-05-12 Kelisec Ab Improved security through authenticaton tokens
SE538304C2 (sv) 2014-10-09 2016-05-03 Kelisec Ab Improved installation of a terminal in a secure system
SE539602C2 (en) 2014-10-09 2017-10-17 Kelisec Ab Generating a symmetric encryption key
SE539271C2 (en) 2014-10-09 2017-06-07 Kelisec Ab Mutual authentication
SE540133C2 (en) 2014-10-09 2018-04-10 Kelisec Ab Improved system for establishing a secure communication channel
CN106161402B (zh) * 2015-04-22 2019-07-16 阿里巴巴集团控股有限公司 基于云环境的加密机密钥注入系统、方法及装置
US10104048B2 (en) 2015-07-17 2018-10-16 Robert Bosch Gmbh Method and system for secure key generation over an insecure shared communication medium
DE102015219991A1 (de) * 2015-10-15 2017-04-20 Robert Bosch Gmbh Verfahren und Vorrichtung zum Etablieren eines gemeinsamen Geheimnisses
EP3373505A1 (en) * 2017-03-06 2018-09-12 Koninklijke Philips N.V. Device and method for sharing a matrix for use in a cryptographic protocol
US20200106787A1 (en) * 2018-10-01 2020-04-02 Global Data Sentinel, Inc. Data management operating system (dmos) analysis server for detecting and remediating cybersecurity threats
WO2021168164A1 (en) * 2020-02-21 2021-08-26 SDSE Networks LLC Method and system for secure communication
EP4189573A4 (en) * 2020-07-28 2024-08-14 Geneial Llc SECURE DATA EXCHANGE

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960086A (en) * 1995-11-02 1999-09-28 Tri-Strata Security, Inc. Unified end-to-end security methods and systems for operating on insecure networks
US20020159598A1 (en) 1997-10-31 2002-10-31 Keygen Corporation System and method of dynamic key generation for digital communications
US7043633B1 (en) * 2000-08-28 2006-05-09 Verizon Corporation Services Group Inc. Method and apparatus for providing adaptive self-synchronized dynamic address translation
IL144369A (en) * 2001-07-17 2009-06-15 Eli Yanovsky Secure communication system and method using shared random source for key changing
CN101288260A (zh) * 2005-01-27 2008-10-15 美商内数位科技公司 使用未由他人分享联合随机衍生秘钥方法及系统
JP5424008B2 (ja) 2006-12-19 2014-02-26 日本電気株式会社 共有情報の管理方法およびシステム
GB2447674B (en) * 2007-03-21 2011-08-03 Lancaster University Generation of a cryptographic key from device motion

Also Published As

Publication number Publication date
EA201100887A1 (ru) 2011-10-31
NZ596935A (en) 2013-02-22
EP2361462A4 (en) 2011-11-23
BRPI1014192A2 (pt) 2016-10-25
AU2010266760A1 (en) 2011-01-06
AU2010266760B2 (en) 2014-04-10
CA2747891A1 (en) 2011-01-06
IL216897A (en) 2015-07-30
EG26868A (en) 2014-11-10
US8433066B2 (en) 2013-04-30
EP2361462A1 (en) 2011-08-31
IL216897A0 (en) 2012-02-29
PL2361462T3 (pl) 2016-06-30
CN102227887A (zh) 2011-10-26
EP2361462B1 (en) 2016-01-27
US20120087495A1 (en) 2012-04-12
JP2015092745A (ja) 2015-05-14
HK1157972A1 (en) 2012-07-06
EA019411B1 (ru) 2014-03-31
ZA201103163B (en) 2012-08-29
CN102227887B (zh) 2014-07-09
SE0900918A1 (sv) 2011-01-04
DK2361462T3 (en) 2016-02-15
KR101747888B1 (ko) 2017-06-15
SG176707A1 (en) 2012-01-30
JP2012532486A (ja) 2012-12-13
SE534384C2 (sv) 2011-08-02
CA2747891C (en) 2014-09-02
KR20120040127A (ko) 2012-04-26
ES2566160T3 (es) 2016-04-11
WO2011002412A1 (en) 2011-01-06
JP2017022773A (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
US11621833B2 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
AU2010266760B2 (en) Method for generating an encryption/decryption key
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
JP2009529832A (ja) 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信
GB2514428A (en) Enabling access to data
CN113711564A (zh) 用于加密数据的计算机实现的方法和系统
EP4283922A2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN116830523A (zh) 阈值密钥交换
Singamaneni et al. A novel multi-qubit quantum key distribution Ciphertext-policy attribute-based encryption model to improve cloud security for consumers
Fatayer Secure Communication Using Cryptography and Covert Channel
US7327845B1 (en) Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad
RU2819174C1 (ru) Способ определения источника пакетов данных в телекоммуникационных сетях
JP4000899B2 (ja) 認証付暗号方法及び認証付復号方法及び装置及びプログラム及びコンピュータが読み取り可能な記録媒体
WO2022111823A1 (en) Devices and methods for supporting key management system for internet-of-things
Lee et al. Quantum Cryptography and Security
Sangamkumar et al. Improved Scheme of ECC and as Intrusion Detector.
Veeraiah et al. Authentication using Secure Node Signature Verification Algorithm with Quantum Cryptography
Shaker Proposed Digital Signature Using One Time Pad
Join et al. Table. The Comparison of Complexities [WaLe05, WuNgLe08b]. Communication Computation Storage
JP2005269587A (ja) 鍵共有システム、暗号システム、ファイル認証システム

Legal Events

Date Code Title Description
FG Grant or registration