ES2338083B1 - Procedimiento seguro en tiempo real para la transmision de datos de comunicacion. - Google Patents

Procedimiento seguro en tiempo real para la transmision de datos de comunicacion. Download PDF

Info

Publication number
ES2338083B1
ES2338083B1 ES200800912A ES200800912A ES2338083B1 ES 2338083 B1 ES2338083 B1 ES 2338083B1 ES 200800912 A ES200800912 A ES 200800912A ES 200800912 A ES200800912 A ES 200800912A ES 2338083 B1 ES2338083 B1 ES 2338083B1
Authority
ES
Spain
Prior art keywords
server
data
communication
client
encryption
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES200800912A
Other languages
English (en)
Other versions
ES2338083A1 (es
Inventor
Ioannis Aslanidis
Jordi Compte Garcia
Maria Dels Ange Moncusi Mercade
Carlos Ezquerra Cerdan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universitat Rovira i Virgili URV
Original Assignee
Universitat Rovira i Virgili URV
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 Universitat Rovira i Virgili URV filed Critical Universitat Rovira i Virgili URV
Priority to ES200800912A priority Critical patent/ES2338083B1/es
Publication of ES2338083A1 publication Critical patent/ES2338083A1/es
Application granted granted Critical
Publication of ES2338083B1 publication Critical patent/ES2338083B1/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Procedimiento seguro en tiempo real para la transmisión de datos de comunicación.
Un protocolo o procedimiento seguro en tiempo real de transmisión de datos de comunicación, en particular, de datos de imagen y de audio estructurados en paquetes entre un cliente y un entorno de aplicación integrada o servidor que implican la generación de flujo de datos de imagen y de audio, y el envío de órdenes a través de una red de acceso público, tal como la Internet, utilizando encriptación de corta vida. De acuerdo con el procedimiento, el cliente define un algoritmo de encriptación simétrico y un algoritmo de encriptación asimétrico con una clave pública y una clave privada. A continuación, utilizando el algoritmo de encriptación asimétrico, solicita una contraseña del servidor, que se empleará para la transmisión de las órdenes o los datos encriptados con el algoritmo simétrico, hasta que el servidor determine la expiración de la contraseña.
Se obtiene así un procedimiento robusto y flexible con un buen comportamiento en tiempo real, al poder emplear contraseñas de pequeño tamaño, y seguro, pues la rápida expiración de la contraseña no deja tiempo material para los ataques.

Description

Procedimiento seguro en tiempo real para la transmisión de datos de comunicación.
Campo técnico de la invención
La invención que se describe tiene su ámbito de aplicación en la transmisión de datos de comunicación y, en particular, en la transmisión de datos de imagen y de audio estructurados en paquetes entre un dispositivo cliente y un entorno de aplicación integrada o servidor que implican la generación de flujo de datos de imagen y de audio, así como el envío de órdenes a través de una red de acceso público, tal como la Internet.
\vskip1.000000\baselineskip
Antecedentes de la invención
La Internet es una red de comunicación universalmente extendida y de acceso público compuesta de redes informáticas interconectadas que transmiten datos mediante conmutación en paquetes utilizando el Protocolo de Internet (IP -"Internet Protocol") estándar. Se trata de una "red de redes", que consiste en millones de redes menores domésticas, académicas, comerciales y gubernamentales que, conjuntamente, transportan información y servicios, tales como correo electrónico, conversación ("chat") en línea, transferencia de archivos y las páginas Web interenlazadas, así como otros documentos de la WWW o Red de Extensión Universal ("World Wide Web").
En nuestros días, la Internet es una red comercial de fácil acceso y de uso absolutamente generalizado en todas estas aplicaciones, pero su desarrollo hasta alcanzar las actuales prestaciones que la han llevado a protagonizar una auténtica revolución en la comunicación, requirió la concurrencia de enormes esfuerzos tanto individuales como de empresas, gobiernos y organizaciones internacionales.
Fue durante su carrera tecnológica con la Unión Soviética cuando los Estados Unidos, para recuperar el liderazgo tecnológico amenazado por logros soviéticos como el lanzamiento del "Sputnik", crearon la Agencia de Proyectos de Investigación Avanzados, conocida como ARPA ("Advanced Research Projects Agency"). ARPA creó a su vez la Oficina de Tecnología del Tratamiento de la Información (IPTO -"Information Processing Technology Office"), con el fin de proseguir la investigación en un programa denominado Entorno Terrestre Semi-Automático (SAGE -"Semi Automatic Ground Environment"), que se había encargado de conectar, por primera vez, todos juntos en una red los sistemas de radar de todo el país.
Desde la IPTO, algunos expertos de renombre, como J. Licklider y L. Roberts, al vislumbrar las enormes posibilidades de unificación en las comunicaciones humanas que ofrecía la creación de una red de alcance universal, se basaron en la tecnología desarrollada en los trabajos de Paul Baran (quien había escrito un estudio exhaustivo para las Fuerzas Aéreas Norteamericanas en el que recomendaba la conmutación en paquetes -en contraposición a la conmutación de circuitos) para crear una red de comunicación altamente robusta y perdurable. Tras intensos trabajos, vio la luz en la universidad de UCLA, el 29 de octubre de 1969, el primer nodo de lo que se denominaría ARPANET, una de las redes embrionarias de la actual Internet. Siguiendo a este acontecimiento, la Oficina Postal Británica, la Western Union International y Timnet colaboraron para crear la primera red internacional conmutada en paquetes, a la que se hace referencia como Servicio Internacional Conmutado en Paquetes (IPSS -"International Packet Switched Service"), en 1978. Esta red creció y se extendió desde Europa y EEUU para cubrir, ya en 1981, Canadá, Hong Kong y Australia.
Así, el 1 de enero de 1983 estaba ya en funcionamiento la primera red de área extensa basada en los protocolos TCP/IP, y la Fundación Nacional de la Ciencia de los Estados Unidos (NSF -"National Science Foundation") ultimaba, basándose en dichos protocolos, la construcción de una red troncal universitaria que se convertiría más tarde en la NSFNet.
A ello siguió la apertura de la red a los intereses comerciales en 1985. Redes independientes importantes, como la Usenet, la BITNET y diversas redes comerciales y educativas, tales como Compuserve y JANET, que ofrecían pasarelas de conexión a la NSFNet, terminaron por confluir con ésta. Telenet (posteriormente denominada Sprintnet) era una gran red informática nacional, de fundación privada, con acceso gratuito por marcación en muchas ciudades a lo largo y ancho de EEUU, que había estado en funcionamiento desde los años '70. Esta red confluyó finalmente con las otras en los años '90, cuando los protocolos TCP/IP se hicieron aún más populares. La facultad de los TCP/IP de trabajar en estas redes de comunicación preexistentes, especialmente en la red internacional X.25 IPSS, hizo posible una gran facilidad de crecimiento. Fue en este tiempo cuando comenzó el uso del término "Internet" para describir una red única y global de TCP/IP.
Un TCP/IP, al que se suele hacer referencia como "juego" de protocolos de Internet, o juego de protocolos TCP/IP, es un conjunto de procedimientos o protocolos de comunicación que implementan la batería o pila de protocolos con los que funcionan no sólo la Internet, sino también la mayor parte de las redes comerciales actuales (como las Redes de Área Local (LANs -"Local Area Networks")). Recibe este nombre por dos de los protocolos más importantes que lo forman: el Protocolo de Control de Transmisión (TCP -"Transmission Control Protocol") y el Protocolo de Internet (IP -"Internet Protocol"), que fueron también los dos primeros protocolos de funcionamiento de red que se definieron.
Como otros muchos juegos de protocolos, el juego de protocolos de Internet puede contemplarse como un conjunto de capas que reflejan los diversos grados de abstracción en el intercambio de información, instrucciones, servicios... entre las diversas partes que conforman un sistema de comunicación. Así, cada capa resuelve un conjunto de problemas que implica la transmisión de datos y proporciona un servicio bien definido para los protocolos de las capas superiores basándose en el uso de servicios procedentes de algunas capas inferiores. Las capas superiores están, desde un punto de vista lógico, más próximas al usuario y se ocupan de datos más abstractos, dejando a los protocolos de las capas inferiores el cometido de traducir los datos a formas en las que puedan, en última instancia, ser físicamente transmitidos. El modelo de referencia original de TCP/IP consistía en cuatro capas, pero ha evolucionado en la actualidad a un modelo de cinco capas.
En la Figura 1 se muestra esquemáticamente esta arquitectura o estructura de capas del protocolo TCP/IP. En ella:
\bullet la capa física 11 es la responsable de la codificación y la transmisión de los datos por los medios físicos de comunicación de la red. Funciona con datos en forma de bits que se envían desde la capa física del dispositivo emisor (fuente) y son recibidos en la capa física del dispositivo destinatario. La capa física es ineludible y no puede ser modificada, por lo que tan sólo es necesario aquí precisar que en este nivel los dispositivos utilizan direcciones de Control de Acceso de Medios (MAC -"Media Access Control") para comunicarse entre ellos (según la norma IEEE802). La dirección de MAC original, conforme a la IEEE 802 y denominada actualmente "MAC-48", viene de la especificación para Ethernet, y, como los diseñadores originales de la Ethernet previeron el uso de un espacio de direcciones de 48 bits, existen potencialmente 248, 281, 474, 976, 710 ó 656 direcciones de MAC posibles;
\bullet la capa 12 de enlace de datos, que se encarga de desplazar los paquetes desde la capa de red a dos dispositivos anfitriones diferentes, no es realmente parte del juego de protocolos de Internet, ya que el IP puede funcionar en una pluralidad de capas de enlaces de datos diferentes. En ella se llevarán a cabo funciones de enlace de los datos, tales como la adición de una cabecera de paquete para prepararlo para su transmisión, y la subsiguiente transmisión efectiva de la trama a través de un medio físico;
\bullet la capa 13 de red, tal y como se definió inicialmente, resuelve el problema de hacer avanzar los paquetes a través de una misma red. Con el advenimiento del concepto de integración de redes en Internet ("Internetworking"), se añadió a esta capa una capacidad funcional adicional, a saber: hacer avanzar los datos desde la red de origen o fuente hasta la red de destino;
\bullet la capa 14 de transporte se encarga de las capacidades de transferencia de mensajes de terminal a terminal independientes de la red subyacente, conjuntamente con el control de los errores, la fragmentación y el control del flujo; y
\bullet la capa 15 de aplicación es la utilizada por la mayor parte de los programas para la comunicación de red. En ella, los datos se obtienen del programa en un formato específico de la aplicación, para ser entonces encapsulados en un protocolo de capa de transporte.
\vskip1.000000\baselineskip
En el nivel más bajo, puesto que las transmisiones se van a efectuar a través de la Internet, es el Protocolo de Internet definido en la RFC 791 (RFC: "Request For Comments", Petición de Comentarios) el que se encargará de los aspectos más básicos de la comunicación entre dos dispositivos (véase también la Figura 4). El Protocolo de Internet proporciona el modo óptimo de transmitir bloques de datos denominados datagramas desde las fuentes a los destinos, cuando las fuentes y los destinos son dispositivos anfitriones (A, B en la Figura 4) identificados por direcciones de longitud fija. El Protocolo de Internet proporciona también la fragmentación y el reensamblaje de los datagramas largos, en caso necesario, para su transmisión a través de redes "de paquetes pequeños".
El uso del Protocolo de Internet es ineludible y transparente a los demás, y proporciona una cabecera cuyos campos más significativos, que la aplicación se encargará de definir explícitamente, son la Dirección de IP de Fuente y la Dirección de IP de Destino. En circunstancias normales, la cabecera del IP consume 160 bits de datos.
Por encima del Protocolo de Internet, el siguiente nivel es la capa de transporte, en la que opera el Protocolo de Datagrama de Usuario (UDP -"User Datagram Protocol") (Figura 4). El Protocolo de Datagrama de Usuario ofrece únicamente un servicio de transporte mínimo, consistente en una entrega de datagramas no garantizados, y proporciona a las aplicaciones el acceso directo al servicio de datagramas de la capa del IP. El UDP se utiliza en aplicaciones que no requieren el nivel de servicio del TCP o que desean utilizar servicios de comunicación (por ejemplo, entrega de difusión múltiple o radiodifusión) que no están disponibles con el TCP. El UDP es casi un protocolo nulo; los únicos servicios que proporciona además de los del IP son la suma de comprobación de los datos y la multiplexación por el número de puertas o accesos.
Este protocolo es muy ligero -ocupa muy poco espacio- y sólo consume 64 bits de datos. Sus campos más significativos, que definirá explícitamente la aplicación, son la Puerta de Fuente y la Puerta de Destino. No obstante, de la descripción dada por el IETF (Grupo de Trabajo de Ingeniería de Internet -"Internet Engineering Task Force") del RUDP (UDP Fiable -"Reliable UDP") pueden tomarse ideas para implementar algunas otras características que hagan más fiable el UDP (véase como referencia http://www3.ietf.org/proceedings/99mar/I-D/draff-ietf-sigtran-reliable-udp-0.txt).
Otros protocolos actualmente conocidos que se emplean en la transmisión de datos por Internet son el Protocolo de Transporte en Tiempo Real (RTP -"Real-time Transport Protocol") y el Protocolo Seguro de Transporte en Tiempo Real (SRTP -"Secure RTP"), con sus respectivos Protocolo de Control de Transporte en Tiempo Real (RTCP) y Protocolo Seguro de Control de Transporte en Tiempo Real (SRTCP).
El Protocolo de Transporte en Tiempo Real es un protocolo de la capa de aplicación que se utiliza normalmente por encima del UDP y define un formato de paquete normalizado para suministrar información de audio y de vídeo por la Internet. Desarrollado por el Grupo de Trabajo de Transporte de Audio-Vídeo del IETF y publicado primeramente en 1996 como RFC 1889, para ser sustituido en 2003 por el RFC 3550, el Protocolo de Transporte en Tiempo Real puede utilizarse también en combinación con otro protocolo denominado RSPV o Protocolo de Reserva de Recursos (RFC 2205), que mejora el campo de las aplicaciones multimedia. El RTP se define, por tanto, como un protocolo de transporte para aplicaciones en tiempo real que proporciona funciones de transporte de red, de terminal a terminal, para aplicaciones que transmiten datos en tiempo real, tales como audio, vídeo o datos de simulación, a través de servicios de red de difusión múltiple o difusión individual.
De acuerdo con la RFC 1889, los servicios proporcionados por el RTP incluyen, entre otros, la identificación del contenido de información útil ("payload"), la numeración de la secuencia, el sello temporal y el seguimiento de la entrega. Estos servicios se recogen en los campos de la cabecera del paquete, a los que se añaden campos de versión, de relleno, de extensión, de fuente de sincronización (SSRC -"Synchronization SouRCe"), de CSRC (Fuente Contribuyente -"Contributing SouRCe"), de cómputo del número de CSRCs y de marcador.
El RTP proporciona, pues, los datos necesarios a la aplicación para asegurarse de que ésta puede colocar los paquetes recibidos en el orden correcto. Además, aporta información sobre la calidad de la recepción, que la aplicación puede utilizar para realizar ajustes locales. Por ejemplo, si se está formando una congestión, la aplicación puede decidir rebajar la velocidad de transmisión de los datos.
El RTP, sin embargo, no se ocupa de la reserva de recursos ni garantiza la calidad de servicio en servicios en tiempo real.
Asociado al RTP para la mejora del transporte y la supervisión de la entrega de los datos de una manera aumentable en escala para grandes redes de difusión múltiple, así como para aportarle una capacidad funcional de control e identificación mínima, se encuentra el Protocolo de Control de Transporte en Tiempo Real (RTCP -"Real-time Transport Control Protocol"), que proporciona información de control fuera de banda para un flujo de RTP. Acompaña al RTP en el suministro y empaquetamiento de datos multimedia, pero no transporta ningún dato por sí mismo. Se utiliza periódicamente para transmitir paquetes de control a los participantes en una sesión de generación de flujo de datos multimedia. La función fundamental del RTCP es proporcionar realimentación respecto a la calidad del servicio que está siendo proporcionado por el RTP. RTP y RTCP se han diseñado para ser independientes de las capas de transporte y de red subyacentes, y soportan el uso de traductores y mezcladores en el nivel de RTP.
Con el fin de cubrir las necesidades de un protocolo en tiempo real que sea seguro, surgen dos soluciones: la primera consiste en añadir una nueva capa de seguridad por encima de la estructura existente proporcionada por el RTP; la segunda consiste en hacer confluir la capa de seguridad con la capa más superior que proporciona el RTP. En cualquier caso, las capas más bajas permanecen sin cambios.
De esta forma, para las aplicaciones cada vez más extendidas de transmisión de datos tanto de difusión individual como de difusión múltiple que requieren elevadas exigencias de seguridad, se ha definido el Protocolo Seguro de Transporte en Tiempo Real (SRTP -"Secure Real-time Transport Protocol"), que establece un perfil de RTP destinado a proporcionar cifrado o encriptación, autentificación de mensajes e integridad, así como protección de la reproducción de datos de RTP en dichas aplicaciones.
Al igual que el RTP está estrechamente relacionado con el RTCP (protocolo de control del RTP), que puede utilizarse para controlar la sesión del RTP, el SRTP tiene también un protocolo de control emparentado, que recibe el nombre de SRTCP (Protocolo Seguro de Control de Transporte en Tiempo Real -"Secure Real-time Transport Control Protocol"). El SRTCP proporciona las mismas características de seguridad al RTCP que las que aporta el SRTP al RTP.
El uso del SRTP o del SRTCP es opcional al uso del RTP o del RTCP, pero incluso si se usa el SRTP/SRTCP, todas las características aportadas (tales como la encriptación y la autentificación) son opcionales y pueden ser habilitadas o inhabilitadas independientemente. La única excepción es la característica de autentificación de mensajes, que se requiere indispensablemente cuando se usa el SRTCP.
Puesto que se ha aludido a la encriptación con referencia a los anteriores protocolos con características de seguridad, se hará a continuación una breve exposición de este concepto.
En criptografía, el cifrado o encriptación es el procedimiento de transformar información (a la que se hace referencia como texto inteligible para las partes en comunicación -"plaintext") a fin de hacerla ilegible para cualquiera, a excepción de quienes poseen unos conocimientos especiales, habitualmente denominados clave. El resultado del procedimiento es información cifrada o encriptada (a la que en criptografía se hace referencia como texto cifrado). En muchos contextos, el término "encriptación" también alude al procedimiento inverso, el descifrado o desencriptación (por ejemplo, el software para encriptación también puede, típicamente, llevar a cabo la desencriptación) para hacer nuevamente legible una información encriptada.
La encriptación se ha venido utilizando durante mucho tiempo por los militares y gobiernos para facilitar la comunicación secreta. En la actualidad, se utiliza también para proteger información en muchos tipos de sistemas civiles, tales como computadoras, redes informáticas (por ejemplo, la Internet o el comercio electrónico), teléfonos móviles y cajeros automáticos de bancos. La encriptación se utiliza también en la gestión de los derechos digitales, para restringir el uso de material sujeto a derechos de autor y para la protección de copias de software, a fin de protegerlo contra la ingeniería de intrusión y la piratería de software.
La encriptación es capaz de proteger, por sí misma, la confidencialidad de los mensajes, pero son necesarias aún otras técnicas para verificar la integridad y la autenticidad de un mensaje; por ejemplo, un código de autentificación de mensaje (MAC -"Message Authentication Code") o firmas digitales. Se dispone de forma generalizada de normas y hardware y software criptográficos para realizar la encriptación, pero el uso satisfactorio de la encriptación para garantizar la seguridad sigue siendo un problema al que hay que hacer frente. Un simple desliz en el diseño o en la realización del sistema puede permitir ataques exitosos, y, en ocasiones, un adversario puede obtener información encriptada sin tener que deshacer directamente la encriptación.
En criptografía, un cifrador es un algoritmo para realizar la encriptación y la desencriptación -una serie de etapas bien definidas que pueden seguirse a la manera de un procedimiento. En la mayoría de los casos, el procedimiento se varía dependiendo de una clave que cambia la operación detallada del algoritmo. En lenguaje llano, un "cifrador" es lo mismo que un "código"; sin embargo, ambos conceptos son distintos en criptografía. En la criptografía clásica, los cifradores se distinguían de los códigos. Los códigos operaban sustituyendo el texto de acuerdo con una gran tabla de consulta que enlazaba una cadena de caracteres o números aleatorios con una palabra o frase del texto. Por ejemplo, UQJHSE podría ser el código para "Proseguir hasta las siguientes coordenadas".
La información original se conoce como "texto inteligible", y la forma encriptada como "texto cifrado". El mensaje de texto cifrado contiene toda la información del mensaje de texto inteligible, pero no está en un formato legible por una persona o una computadora sin el mecanismo adecuado para desencriptarlo; tendrá el aspecto de un galimatías aleatorio para quienes no se desee que lo lean.
El funcionamiento de un cifrador depende habitualmente de un fragmento de información auxiliar denominada clave, o, en el lenguaje tradicional de la NASA, variable criptográfica. El procedimiento de encriptación se varía dependiendo de la clave, que cambia el funcionamiento detallado del algoritmo. Ha de seleccionarse una clave antes de utilizar un cifrador para encriptar un mensaje. Sin el conocimiento de la clave, deberá resultar muy difícil, si no imposible, desencriptar el texto cifrado resultante en un texto inteligible.
\vskip1.000000\baselineskip
La mayoría de los cifradores modernos pueden clasificarse en diversas maneras:
- según actúen sobre bloques de símbolos habitualmente de un tamaño fijo (cifradores en bloque) o sobre una cadena continua de símbolos (cifradores en cadena);
- según se utilice la misma clave para la encriptación y la desencriptación (algoritmos de clave simétrica, o algoritmos simétricos) o se emplee una clave diferente para cada una de ellas (algoritmos de clave asimétrica, o algoritmos asimétricos). Si el algoritmo es simétrico, la clave debe ser conocida por el destinatario y por nadie más, es decir, ha de ser privada. Si el algoritmo es asimétrico, la clave de cifrado es diferente de la clave de descifrado aunque estrechamente relacionada con ésta. Si no puede deducirse una de las claves de la otra, el algoritmo asimétrico tiene la propiedad de clave pública/privada y una de las claves puede hacerse pública sin pérdida de confidencialidad. El cifrador de Feistel utiliza una combinación de técnicas de sustitución y de transporte. La mayor parte de los algoritmos actuales (cifradores en bloque) están basados en esta estructura.
\vskip1.000000\baselineskip
Cuando se intenta desentrañar o "romper" un cifrador en un ataque matemático puro (es decir, careciendo de cualquier otra información que ayude a romper el cifrador), cuentan tres factores sobre todos los demás: los avances matemáticos, que permiten descubrir y aprovechar nuevos modos de ataque o debilidades; la potencia computacional disponible, que puede aumentarse, por ejemplo, aumentando el número de computadoras para incrementar sustancialmente la velocidad de búsqueda exhaustiva de una clave (esto es, la "fuerza bruta"); y el tamaño de la clave, que al crecer aumenta la complejidad de la búsqueda exhaustiva hasta un punto en que resulta prácticamente inviable romper la encriptación directamente. Puesto que el objetivo es dificultar la computación, se decidirá, para un algoritmo dado, la longitud de la clave en correspondencia con la dificultad deseada.
Para la encriptación y desencriptación del flujo de datos (proporcionando entonces confidencialidad al flujo de datos), el SRTP (conjuntamente con el SRTCP) normaliza el uso de un único algoritmo de cifrado o cifrador, el AES, que se puede utilizar en dos modos de cifrado, los cuales aportan la posibilidad de utilizar el cifrador AES, originalmente en bloque, como cifrador en cadena.
Además del cifrador AES, el SRTP posibilita la facultad de inhabilitar totalmente la encriptación mediante el uso del denominado "cifrador NULL". En efecto, este cifrador no lleva a cabo ninguna encriptación y opera como si la cadena de la clave contuviese sólo ceros, copiando sin cambio alguno la cadena de entrada en la cadena de salida. Este modo de cifrado es de implementación obligada en cualquier sistema compatible con el SRTP, y como tal, puede utilizarse cuando no se requieren garantías de confidencialidad, pero sí otras posibilidades que ofrece el SRTP, como la autentificación o la integridad de los mensajes.
El SRTP se encuentra encapsulado dentro del RTP, añadiéndole una cabecera adicional cuyos principales campos son: el identificador de clave maestra de la que se obtendrá(n) la(s) clave(s) de sesión con la(s) que se autentificará y/o encriptará el paquete en cuestión; y la etiqueta de autentificación, utilizada para portar datos de autentificación de los mensajes.
Como se ha visto, los protocolos de transmisión de datos con exigencias de seguridad implementan algoritmos de encriptación para garantizar funciones de confidencialidad.
Algoritmos de encriptación simétricos
Se conocen muchos algoritmos de encriptación simétricos, pero todos ellos se usan con una misma interfaz que permite una extensibilidad total a la hora de añadir algoritmos de encriptación simétricos adicionales al protocolo que se utilice. Esta interfaz implementa un método de encriptación y un método de desencriptación.
El método de desencriptación desencripta una entrada dada en una matriz de bytes (en formato de paquete binario) en una cadena de caracteres. En él, los archivos binarios, tales como las imágenes, primeramente se convierten, típicamente a notación de base 64 (sistema de numeración posicional que utiliza como base el número 64 -la mayor potencia de 2 que puede ser representada utilizando únicamente caracteres imprimibles ASCII según el estándar MIME), antes de ser encriptados.
El método de encriptación encripta una entrada dada como una cadena en una matriz de bytes (formato de paquete binario).
Con el fin de suprimir información duplicada que incrementa el esfuerzo de soporte del protocolo, todos los algoritmos de encriptación simétricos utilizan como extensión una clase abstracta de base común que consta de campos de palabra de paso, para el acceso al procedimiento de encriptación y desencriptación; de cifrador, para determinar el algoritmo concreto utilizado; de codificación, para almacenar la codificación interna de la cadena; de parámetros de inicialización del algoritmo de encriptación, y de generador de números aleatorios, para la generación de palabras de paso aleatorias. Esta clase de base común comprende también los anteriores métodos públicos de encriptación y desencriptación, así como un método protegido de conversión de matrices de bytes en cadenas, y un método protegido inverso, de conversión de cadenas en matrices de bytes.
\vskip1.000000\baselineskip
Pueden citarse como algoritmos de encriptación simétricos de uso actual:
-
Blowfish (http://www.shneier.com/blowfish.html)
-
Camellia (http://info.isl.ntt.co.jp/crypt/eng/camellia/index.html)
-
CAST5 (http://tools.ietf.org/html/rfc2144)
-
CAST6 (http://www.rfc-editor.org/rfc/rfc2612.txt)
-
DES (Data Encryption Standard) (http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf)
-
DESede (Triple DES o TDES) (http://csrc.nist.gov/publications/nistpubs/800-67/SP800-67.pdf)
-
IDEA (Algoritmo Internacional de Encriptación de Datos -"International Data Encryption Algorithm") [http://cypherspace.org/adam/rsa/idea.html]
-
NOEKEON (http://gro.noekeon.org/),
-
RC2 (http://tools.ietf.org/html/rfc2268)
-
RC5 (http://www.cs.ut.ee/~helger/crypto/link/block/rc5.php)
-
RC6 (http://www.rsasecurity.com/rsalabs/node.asp?id=2512)
-
Rijndael o AES (http://www.esat.kuleuven.ac.be/~rijmen/rijndael/)
-
SEED (http://www.kisa.or.kr/seed/seed_eng.html)
-
Serpent (http://www.cl.cam.ac.uk/~rja14/serpent.html)
-
Skipjack (http://csrc.nist.gov/encryption/skipjack/skipjack.pdf)
-
TEA (Algoritmo de Encriptación Pequeño -"Tiny Encryption Algorithm") y XTEA (TEA eXtendido) [http://www.simonshepherd.supanet.com/tea.htm]
-
el Twofish (http://www.shneier.com/twofish.html).
\vskip1.000000\baselineskip
Descripción de la invención
Los protocolos conocidos en el presente y de los que se ha hecho una breve exposición en lo anterior, adolecen, sin embargo, de ciertos inconvenientes, particularmente en la transferencia de información entre dispositivos móviles. Así, en la actualidad, la mayor parte de los protocolos en tiempo real implementados no proporcionan una característica de seguridad fiable que pueda satisfacer las necesidades de la transmisión de flujos de datos a través de la Internet para dispositivos portátiles. Además, los protocolos no proporcionan por sí mismos mecanismos que garanticen la entrega regulada temporalmente de los datos ni dan garantías de la Calidad del Servicio (QoS -"Quality of Service"). Estos aspectos han de ser aportados por algún otro mecanismo. Puede producirse también la entrega desordenada de los datos, y no se proporciona un soporte directo del control del flujo y de la congestión del tráfico.
En particular, en aplicaciones de transmisión de datos que implican la generación de flujos de datos de audio y vídeo y el envío de órdenes a través de la Internet, el requisito de un protocolo seguro en tiempo real se ha convertido en una necesidad evidente que aún está por satisfacerse. La aplicación exige la generación de flujos de datos de audio e imágenes de una forma segura, de tal modo que únicamente puedan recibirlos los usuarios autorizados.
En este sentido, cuando quiere potenciarse la seguridad utilizando encriptación "robusta" con claves largas, las cabeceras añadidas por algunos de estos protocolos de la técnica anterior resultan demasiado grandes para las aplicaciones anteriores (la alta velocidad de transmisión que se requiere para imágenes y audio se ve obstaculizada por un volumen demasiado grande de los paquetes) y sería deseable reducirlas sustancialmente. Esta reducción de tamaño será particularmente significativa cuando se transmitan órdenes, debido a que las cabeceras no serán ya más grandes que el propio mensaje. En otros casos, las cabeceras incluyen contenido innecesario; por ejemplo, las cabeceras del SRTP proporcionan mecanismos de seguridad que son de escaso uso en tales aplicaciones.
El propósito principal de la presente invención es dar una respuesta al complejo problema de definir correctamente la relación entre la seguridad y el comportamiento en tiempo real de la transmisión de datos en dichas aplicaciones, proporcionando la seguridad más alta posible en la transmisión del flujo de datos sin interferir en sus requisitos de instantaneidad. Por otra parte, el usuario puede desear enviar órdenes a la aplicación, lo que puede exigir una técnica de encriptación más robusta (resistente a ataques) que podría requerir más recursos, con el consiguiente sacrificio de las exigencias de tiempo real. Se plantea así un compromiso entre la robustez de los aspectos de seguridad y la instantaneidad o comportamiento en tiempo real de la transmisión de datos, al que la presente invención se propone dar respuesta mejorando las soluciones conocidas del estado de la técnica.
Así pues, con el propósito de tener las cabeceras de los paquetes más pequeñas posibles, el concepto de la presente invención se basa en utilizar una técnica de encriptación de vida corta (es decir, con caducidad en el tiempo) que utilice cambios de clave frecuentes con el fin de establecer un canal seguro a través de un medio inseguro. Al imponer esta expiración de las sesiones de comunicación, pueden utilizarse palabras de paso o contraseñas más cortas para los algoritmos de encriptación simétricos sin miedo a los ataques, pues no hay tiempo material para descubrirlas. De esta forma, se hace posible conseguir un protocolo en tiempo real con capacidades de seguridad y tamaño de las cabeceras reducido.
Otro propósito de la presente invención es proporcionar un protocolo seguro en tiempo real de transferencia de información entre dispositivos móviles con la mayor velocidad y el menor consumo de recursos de CPU y de memoria posibles, a fin de obtener un rendimiento óptimo en los dispositivos móviles.
Un propósito adicional de la presente invención es proporcionar un protocolo seguro en tiempo real que sea capaz de utilizar, para garantizar la confidencialidad de los datos, cualesquiera algoritmos de encriptación actuales y futuros, al proporcionar interfaces que permitan una fácil extensibilidad, así como algoritmos para garantizar la integridad de los datos.
Constituye otro propósito adicional de la presente invención proporcionar un protocolo seguro en tiempo real que permita, mediante encriptación, que un usuario de un dispositivo cliente, se identifique ante un dispositivo que implementa la aplicación, o servidor.
Es, en fin, un objeto adicional de la presente invención proporcionar un protocolo seguro en tiempo real que permita cambiar dinámicamente el protocolo de encriptación utilizado dependiendo del contenido que se está transfiriendo en una misma conexión.
\vskip1.000000\baselineskip
Estos propósitos y ventajas se alcanzan gracias a la presente invención, que consiste, en un primer aspecto de la misma, en un protocolo o procedimiento seguro en tiempo real de transmisión de datos de comunicación, en particular, de datos de imagen y de audio estructurados en paquetes entre un cliente y un entorno de aplicación integrada o servidor que implican la generación de flujo de datos de imagen y de audio, y el envío de órdenes de comunicación y órdenes de control de la aplicación, a través de una red de acceso público, tal como Internet. Este protocolo utiliza encriptación de corta vida, es decir, encripta las órdenes (de la aplicación: de comunicación y de control) con una palabra de paso o contraseña que expira con el menor de entre un cierto número preestablecido de usos de dicha contraseña y un tiempo de uso preestablecido de la misma, al objeto de establecer un canal de comunicación seguro a través de un medio inseguro, de tal manera que dicho protocolo o procedimiento comprende los siguientes pasos:
a) Seleccionar, por parte del cliente, unos algoritmos de encriptación simétrico y asimétrico, y, utilizando el algoritmo de encriptación asimétrico, contactar con el servidor para que establezca la sesión de comunicación, la inscriba en una lista de sesiones y obtener de él una contraseña para el algoritmo de encriptación simétrico;
b) Una vez que el cliente y el servidor comparten la contraseña para el algoritmo de encriptación simétrico, enviar, por parte del cliente, paquetes de datos de texto con las órdenes deseadas para la comunicación y/o el control de la aplicación, encriptados con el algoritmo de encriptación simétrico; y/o
c) Una vez que el cliente y el servidor comparten la contraseña para el algoritmo simétrico, enviar, por parte del servidor, los datos (imágenes o audio, información procedente de sensores, etc.) al cliente utilizando un algoritmo de encriptación, en respuesta a las órdenes recibidas; y
d) Comprobar, por parte del servidor, el tiempo durante el que se ha estado utilizando la contraseña y por cuántas veces se ha utilizado, y enviar al cliente, cuando se sobrepasa uno de entre dicho número preestablecido de usos de la contraseña y dicho tiempo de uso preestablecido de la misma, un mensaje que indica la expiración de la sesión, invalidando la contraseña y eliminando dicha sesión de su lista de sesiones. Ejemplos de motivos por los que se puede provocar la expiración de la sesión pueden ser: sospecha de clave usurpada, tiempo de uso, caducidad de la contraseña, se sobrepasa el numero límite de uso de la contraseña, ...
\vskip1.000000\baselineskip
Aspectos adicionales de la presente invención se refieren a un dispositivo de cliente y a un dispositivo de servidor que implementan dicho procedimiento, así como a una aplicación domótica y de vigilancia por cámaras integrada que emplea dichos procedimiento, dispositivo de cliente y dispositivo de servidor. Estos dispositivos componen un sistema cliente- servidor al que se aplica el protocolo descrito anteriormente, no sólo en entornos de vigilancia sino que también es aplicable en entornos domóticos. Según el tipo de sensores y actuadores conectados a la unidad informática de control que componen el entorno domótico concreto y dependiendo de la configuración de dicha unidad de control, el sistema puede aplicarse en diferentes ámbitos de utilización, por ejemplo: en agricultura, un payés puede ordenar a un actuador que abra un riego determinado, o un sensor de presencia activa una cámara de vigilancia; o en ganadería, unos actuadores a una hora concreta dispensan comida a los animales; o en un comercio un sensor de ruido hace que se aumente el volumen de la música, un sensor de calor accione el aire acondicionado, ...
Breve descripción de los dibujos
A continuación se describirá más detalladamente la invención con referencia a los dibujos que se acompañan, que ilustran con carácter no limitativo un ejemplo de realización de la misma, y en los cuales:
la Figura 1 es un diagrama esquemático de la estructura de niveles de abstracción de las interacciones lógicas, o capas, del protocolo de TCP/IP;
la Figura 2 es un diagrama esquemático de la estructura de capas del procedimiento seguro en tiempo real de transmisión de datos de comunicación de la presente invención, de acuerdo con el modelo OSI (Interconexión de Sistemas Abiertos -"Open System Interconnection");
la Figura 3 es un diagrama esquemático del sistema domótico y de vigilancia con cámaras integrado en el que se aplica el procedimiento seguro en tiempo real de transmisión de datos de comunicación de acuerdo con la presente invención; y
la Figura 4 es una representación esquemática de la capa de comunicaciones del procedimiento seguro en tiempo real de transmisión de datos de comunicación de acuerdo con la presente invención, en la comunicación entre un dispositivo de cliente y un dispositivo de servidor según la presente invención.
Descripción detallada de la invención
De acuerdo con lo anterior, la presente invención consiste en un protocolo o procedimiento seguro en tiempo real de transmisión de datos de comunicación, en particular, de datos de imagen y de audio estructurados en paquetes entre un cliente y un entorno de aplicación integrada o servidor que implican la generación de flujo de datos de imagen y de audio, y el envío de órdenes a través de una red de acceso público, tal como la Internet, utilizando cifrado o encriptación de corta vida, es decir, utilizando encriptación con una palabra de paso o contraseña que expira con el menor de entre un cierto número preestablecido de usos de dicha contraseña y un tiempo de uso preestablecido de la misma, al objeto de establecer un canal de comunicación seguro a través de un medio inseguro, de tal manera que dicho procedimiento comprende:
a) seleccionar, por parte del cliente, unos algoritmos de encriptación simétrico y asimétrico, y, utilizando el algoritmo de encriptación asimétrico, contactar con el servidor para que establezca la sesión de comunicación, la inscriba en una lista de sesiones y obtener de él una contraseña para el algoritmo de encriptación simétrico;
b) una vez que el cliente y el servidor comparten la contraseña para el algoritmo de encriptación simétrico, enviar, por parte del cliente, paquetes de datos de texto con las órdenes deseadas para la comunicación y/o el control de la aplicación, encriptados con el algoritmo de encriptación simétrico; y/o
c) una vez que el cliente y el servidor comparten la contraseña para el algoritmo simétrico, enviar, por parte del servidor, imágenes o audio al cliente encriptadas con el algoritmo de encriptación simétrico, en respuesta a las órdenes recibidas; y
d) comprobar, por parte del servidor, el tiempo durante el que se ha estado utilizando la contraseña y por cuántas veces se ha utilizado, y enviar al cliente, cuando se sobrepasa uno de entre dicho número preestablecido de usos de la contraseña y dicho tiempo de uso preestablecido de la misma, un mensaje que indica la expiración de la sesión, invalidando la contraseña y eliminando dicha sesión de su lista de sesiones.
\vskip1.000000\baselineskip
De acuerdo con lo anterior, el caso de que la etapa b) sea alternativa a la etapa c), es decir, se lleve a cabo la primera y no la segunda (opción "o"), corresponde a la posibilidad de que el cliente, en lugar de datos de imagen o audio, solicite al servidor la realización de determinadas instrucciones que está capacitado para darle. En tal caso, como se verá más adelante, el procedimiento puede escoger el uso de un algoritmo de encriptación simétrico más robusto, ya que en la etapa b) el tamaño de los paquetes puede ser más pequeño (son datos de texto) y la privacidad exigida para ellos superior (puede ser información personal o sensible). Por lo tanto, en el procedimiento de acuerdo con la invención, el cliente tiene la posibilidad de cambiar dinámicamente de algoritmo de encriptación simétrico (usando cualquiera de los conocidos y anteriormente expuestos) en función del tipo de datos que se transmiten en cada momento.
En la etapa a) de selección de algoritmos y contacto con el servidor, el cliente puede realizar también, opcionalmente, una autentificación frente al servidor utilizando el algoritmo de encriptación asimétrico. Para ello, el cliente solicita al servidor su clave pública y encripta con esta clave, utilizando el algoritmo de encriptación asimétrico, los datos de usuario y una contraseña de identificación para transmitirlos al servidor. El servidor, al recibirlos, acepta o rechaza dicha identificación.
También en esta etapa a) de establecimiento de la sesión de comunicación, una vez escogidos los algoritmos de encriptación simétrico y asimétrico, el cliente, para solicitar la contraseña que permitirá la transmisión de los datos a lo largo de toda la sesión de comunicación, genera una clave privada y una clave pública para el algoritmo de encriptación asimétrico, y envía al servidor dicha clave pública, tras lo cual el servidor envía al cliente dicha contraseña para el algoritmo de encriptación simétrico, encriptada con dicha clave pública, y el cliente la desencripta utilizando su clave privada.
El servidor, además, al dar su conformidad para el inicio de la sesión con la entrega de la contraseña para el algoritmo de encriptación simétrico que protegerá la transmisión de datos y órdenes, guarda en una tabla una dirección de IP y una puerta o acceso de UDP correspondientes al origen de los datos recibidos, es decir la dirección de IP y la puerta de UDP asociadas al dispositivo de comunicación que está utilizando el cliente.
Una vez establecida la comunicación entre cliente y servidor en la etapa a), y en caso de que el cliente desee llevar a cabo la etapa b) de envío de paquetes de datos con las órdenes requeridas, el servidor, al recibir dichos paquetes encriptados con el algoritmo de encriptación simétrico, desencripta las órdenes, las ejecuta y envía una respuesta de vuelta al cliente confirmando la ejecución de las órdenes e instando al cliente a constatar dicha confirmación.
Como ya se ha expuesto, en una sesión de comunicación subsiguiente a otra anterior, ya expirada, el procedimiento puede cambiar de algoritmo de encriptación simétrico, de tal manera que el algoritmo de encriptación simétrico que se utilice en una etapa c) de envío de imágenes o audio de dicha sesión de comunicación subsiguiente, sea más ligero, o menos robusto, que el utilizado en la etapa b) de envió de paquetes de datos de texto de órdenes de la sesión de comunicación anterior, debido al hecho de que en la etapa b) el tamaño de los paquetes es más pequeño y la privacidad exigida superior respecto a la etapa c). El cliente seleccionará para ello el nuevo algoritmo de encriptación simétrico y solicitará una nueva contraseña para él, de acuerdo con la etapa a) del procedimiento. Se iniciará entonces la nueva sesión de comunicación, regida por la nueva contraseña.
Y a la inversa, si en una sesión de comunicación ulterior se desea de nuevo transmitir órdenes y no datos de imagen o audio, el cliente puede pasar de nuevo a un algoritmo de encriptación simétrico más robusto o resistente a los ataques, para el que obtendrá del servidor una nueva contraseña en correspondencia con la robustez deseada, mediante la etapa a).
En una realización concreta del procedimiento de transmisión seguro en tiempo real de datos de comunicación, el servidor puede, en la etapa c) de envío de datos de imagen o audio al cliente, convertir los datos de imagen o audio, por ejemplo a base 64 si se sigue el estándar MIME, pero también es posible realizar otra conversión y a cualquier otra base e incluso no hacer ningún tipo de conversión previa. Para encriptar la cadena de datos se utiliza el algoritmo de encriptación simétrico, tras lo cual se envían al dispositivo cliente para que éste los desencripte y, opcionalmente, confirme su recepción.
Por otra parte, en otra realización específica del presente procedimiento seguro en tiempo real de transmisión de datos de comunicación, el servidor puede disponer, para la etapa d) de comprobación del tiempo de uso de la contraseña del algoritmo de encriptación simétrico y del número de veces que se ha utilizado ésta, de un contador que almacena el número de veces que se ha utilizado dicha contraseña y el instante en que se generó.
\vskip1.000000\baselineskip
En la Figura 2 se ha representado un esquema que ilustra la estructura de capas o niveles de abstracción de las interacciones lógicas que implementa el procedimiento seguro en tiempo real de transmisión de datos de comunicación de la presente invención, según el modelo OSI (Interconexión de Sistemas Abiertos). Estas capas son:
- una capa de aplicación L7, a través de la cual interactúa como interfaz de uso sencillo para la comunicación con la aplicación deseada. La aplicación funciona en este nivel y se comunica aquí con la implementación del protocolo;
- una capa de presentación L6, en la que el procedimiento opera añadiendo encriptación, de manera que los datos son encriptados o desencriptados en este nivel;
- una capa de sesión L5, en la que el procedimiento añade el control de las sesiones y la intercomunicación entre el cliente y el servidor que lo utilizan;
- una capa de transporte L4, en la que el procedimiento utiliza UDP para transferir los datos, estructurados en paquetes;
- una capa de red L3, en la que el procedimiento utiliza IP para transferir los paquetes de datos;
- dos capas inferiores, de enlace de datos L2 y física L1, que son independientes de las anteriores y pueden diferir dependiendo del sistema de aplicación concreto.
\vskip1.000000\baselineskip
Las capas de sesión L5 y de transporte L4 de la estructura OSI del presente protocolo o procedimiento de transmisión de datos corresponden a la capa de comunicaciones entre servidor y terminal en la arquitectura genérica de implementación de los protocolos de transporte convencionales.
\vskip1.000000\baselineskip
Por otra parte, a los paquetes de datos que se generan e intercambian entre el servidor y el cliente se les pueden añadir, de acuerdo con el presente procedimiento de transmisión, cabeceras que comprenden los siguientes campos:
i)- un campo (1 byte) que indica el tipo de operación asociado al paquete que se envía, que puede ser:
-
Publickey: Se trata de un paquete de transmisión de clave pública. Si el emisor es el cliente, el servidor responderá con la contraseña encriptada para el algoritmo simétrico con la clave pública del cliente. Si el emisor es el servidor, el cliente enviará datos sensibles (como datos de autentificación) al servidor, encriptados con la clave pública del servidor:
-
PassIV: Corresponde a un paquete encriptado con la clave pública del algoritmo de encriptación asimétrico y que contiene la contraseña del algoritmo de encriptación simétrico, o que contiene datos de usuario y contraseña de autentificación;
-
AckPassIV: Corresponde a un paquete de confirmación de recepción de los paquetes anteriores. Dado que los puntos anteriores son primordiales, es necesario que se verifique su correcta recepción. Este paquete se encarga de confirmar dicha recepción;
-
Image: Este paquete contiene una imagen encriptada con la contraseña en el algoritmo de encriptación simétrico escogido;
-
AckImages: Se trata de un paquete de confirmación de la recepción de un número predeterminado de imágenes. Es opcional para sistemas en tiempo real y confirma la recepción de una o más imágenes;
-
Command: Este paquete contiene una orden del cliente para el servidor, encriptada con la contraseña en el algoritmo de encriptación simétrico;
\newpage
-
CommandReplay: Corresponde a un paquete que confirma la recepción de una orden y puede informar del resultado de su ejecución. Esta información referente a la ejecución del comando puede estar encriptada con la contraseña del algoritmo de encriptación simétrico;
-
SessionExpired: Se trata de un paquete de expiración de la sesión de comunicación. Este paquete es enviado del servidor al cliente cuando la sesión ha expirado. Puede retransmitirse si el cliente insiste en usar la misma clave durante un tiempo o un número de usos predeterminado, lo cual sirve como medida de prevención contra posibles ataques. Opcionalmente, puede indicar el motivo.
ii)- un campo (1 byte) que indica el algoritmo de encriptación que se va a utilizar en el paquete que sigue;
iii)- un campo que indica un número de secuencia (4 bytes) que permite tanto al cliente como al servidor determinar si se ha perdido algún paquete; y
iv)- un campo de confirmación de la recepción de un paquete, utilizando su número de secuencia (4 bytes).
\vskip1.000000\baselineskip
En general, la estructura de capas en la que operan los protocolos de transmisión se ve reflejada en la formación de los paquetes que se transmiten. La implementación de un protocolo que actúa en una determinada capa implica la inclusión de un conjunto de datos en el paquete correspondiente al protocolo de la capa inferior, en una estructura que se conoce como encapsulado. Así, el encapsulado más externo por encima de la capa de red (es decir, excluyendo el medio físico) es la cabecera de IP, que suele utilizar 20 bytes. Dentro del paquete IP existe un paquete UDP que utiliza 8 bytes. Esto suma 28 bytes de información de encabezamiento inherente a la red, que es ineludible.
Dentro de los paquetes UDP se encuentran encapsulados los paquetes del protocolo o procedimiento, por ejemplo, el de la presente invención, que añaden una información de encabezamiento adicional de 10 bytes, compuesta por los campos anteriormente descritos. Tras ellos vienen los datos, encriptados o no encriptados dependiendo del tipo de paquete.
Así pues, la información de encabezamiento total de la cabecera es de 30 bytes, contando todos los protocolos encapsulados.
\vskip1.000000\baselineskip
La presente invención se refiere también, según otro aspecto de la misma, a un dispositivo de cliente para la transmisión de datos de comunicación, en particular, de datos de imagen y de audio estructurados en paquetes entre dicho dispositivo de cliente, implementado en una aplicación de cliente, y un entorno de aplicación integrada o servidor, empleando el procedimiento seguro en tiempo real de transmisión de datos de comunicación de acuerdo con la presente invención, anteriormente expuesto, que comprende:
- un módulo de encriptación, que, en la etapa a) de selección de los algoritmos de encriptación simétrico y asimétrico y conexión con el servidor para el establecimiento de la sesión de comunicación, genera los paquetes de datos necesarios para establecer dicha sesión de comunicación, y que comprende, a su vez:
-
un módulo de seguridad; y
-
un módulo de comunicación;
y
- un módulo de comunicaciones de red, que, en dicha etapa a) recibe los paquetes del módulo de comunicación con cabeceras y clave pública no encriptada, determina el destinatario de los paquetes, crea paquetes de UDP con el contenido de los paquetes, y los envía usando IP.
\vskip1.000000\baselineskip
Análogamente a lo explicado para el procedimiento en sí, en dicho dispositivo de cliente para la transmisión de datos de comunicación, en la etapa b) de envío de datos de órdenes del cliente al servidor, el módulo de encriptación elige el algoritmo de encriptación que se ha de utilizar y pasa dichos datos con el algoritmo de encriptación al módulo de seguridad, donde se encriptan los datos y se crea un paquete con las cabeceras apropiadas para poder ser transmitido, el cual se pasa al módulo de comunicación de manera que el módulo de comunicaciones de red recibe de éste el paquete con cabeceras y datos encriptados, determina el destinatario del paquete y crea un paquete de UDP con el contenido del paquete que ha recibido del módulo de comunicación, para su envío utilizando IP.
Asimismo, en dicho dispositivo de cliente para la transmisión de datos de comunicación, en la etapa c) de envío de datos del servidor al cliente, o en la etapa d) de comunicación de expiración de la sesión por parte del servidor, el módulo de comunicaciones de red recibe el paquete y obtiene los datos encriptados con cabeceras, que se pasan al módulo de encriptación, donde se desencriptan de acuerdo con las cabeceras y se entregan a la aplicación del cliente, enviándose, opcionalmente, un paquete de confirmación de vuelta.
Se contempla también en la presente invención la posibilidad de que dicho dispositivo de cliente para la transmisión de datos de comunicación sea un dispositivo móvil, que puede ser portátil (por ejemplo, un teléfono) o un ordenador con conexión a Internet, por citar algunas realizaciones preferidas.
Por otra parte, según un aspecto adicional de la presente invención, ésta se refiere también a un dispositivo de servidor para la transmisión de datos de comunicación, en particular, de datos de imagen y de audio estructurados en paquetes entre dicho dispositivo de servidor, implementado en una entorno de aplicación integrada o servidor, y un dispositivo de cliente de acuerdo con la presente invención, según se ha expuesto en lo anterior, empleando el procedimiento seguro en tiempo real de transmisión de datos de comunicación de acuerdo con la presente invención, según se ha expuesto anteriormente, que comprende:
- un módulo de comunicaciones de red, que, en la etapa a) de selección de los algoritmos de encriptación simétrico y asimétrico y conexión con el servidor para el establecimiento de la sesión de comunicación, recibe el paquete del dispositivo de cliente y obtiene la clave pública del cliente;
- un módulo de encriptación, que, en dicha etapa a), recibe el paquete con la clave pública y, usando las cabeceras, determina el contenido de las órdenes, y que comprende, a su vez:
-
un módulo de seguridad; y
-
un módulo de comunicación;
y
- un módulo de control de sesiones, que, en dicha etapa a), establece la sesión generando una contraseña que se envía al dispositivo de cliente, encriptada con la clave pública del cliente.
\vskip1.000000\baselineskip
En dicho dispositivo de servidor para la transmisión de datos de comunicación, en la etapa b) de envío de datos de órdenes del cliente al servidor, el módulo de comunicaciones de red recibe el paquete y obtiene los datos encriptados con cabeceras, que pasa al módulo de encriptación, donde se desencriptan los datos de acuerdo con las cabeceras y se pasan a la aplicación del servidor.
Siempre de acuerdo con la presente invención, en la etapa c) de envío por el servidor de imágenes o audio al cliente, una vez elegido el algoritmo de encriptación, el módulo de encriptación de dicho dispositivo de servidor pasa los datos de imagen o audio con el algoritmo de encriptación al módulo de seguridad, donde se encriptan los datos y se crea un paquete con las cabeceras apropiadas para ser transmitido, que se pasa al módulo de comunicación, desde donde es recibido, con cabeceras y datos encriptados, por el módulo de comunicaciones de red, que determina el destinatario del paquete y crea un paquete de UDP con el contenido del paquete recibido, para enviarlo usando IP.
Asimismo, en la etapa d), la comunicación de expiración de la sesión por parte del servidor se realiza según los mismos pasos de la etapa c) de envío por el servidor de imágenes o audio al cliente.
Por último, en un aspecto adicional de la misma, la presente invención se refiere a un uso del procedimiento de acuerdo con la presente invención, del dispositivo de cliente de acuerdo con la presente invención y del dispositivo de servidor de conformidad con la presente invención, en el que el entorno de aplicación integrada es un sistema domótico y de vigilancia por cámaras integrado, según se representa en la Figura 3, que comprende cuatro componentes principales:
- un gestor 31 de las cámaras de vigilancia y de audio;
- un módulo 32 de comunicaciones seguras, que implementa el procedimiento seguro en tiempo real de transmisión de datos y opera en la capa de comunicaciones (L5, L4) del procedimiento;
- un módulo 33 compuesto por un gestor 34 de sensores, un gestor 35 de dispositivos de accionamiento y un intérprete lógico 36, que está en comunicación con el gestor 34 de sensores y con el gestor 35 de dispositivos de accionamiento, para actuar como interfaz entre éstos y
- un módulo de control 37, que está en comunicación con los tres componentes anteriores para controlar su funcionamiento conjunto.
\vskip1.000000\baselineskip
En la Figura 4 se ha representado esquemáticamente la capa de comunicaciones 40 del procedimiento seguro en tiempo real de transmisión de datos de comunicación de acuerdo con la presente invención, implementada en la comunicación entre un dispositivo de cliente 42 y un dispositivo de servidor 41 según la presente invención. Dicha capa de comunicaciones es la que interacciona, en el servidor del sistema domótico y de vigilancia con cámaras integrado, a través del módulo 32 de comunicaciones seguras.
El propósito del gestor 31 de cámaras de vigilancia y de audio es detectar las cámaras del sistema, configurarlas y calibrarlas, generar un flujo de datos con su contenido y proporcionar funciones de inteligencia artificial para la detección del movimiento, entre otras capacidades.
En el módulo 33, el gestor 34 de sensores proporciona una abstracción a la capa superior de la comunicación de bajo nivel con los sensores. El gestor 35 de dispositivos de accionamiento proporciona una abstracción a la capa superior de la comunicación de bajo nivel con los dispositivos de accionamiento. El cometido del intérprete lógico 36 es ensamblar las funciones de sensores y dispositivos de accionamiento, implementar métodos lógicos para controlar y relacionar unos con otros los sensores y los dispositivos de accionamiento, y proporcionar una interfaz con la capa superior, de manera que el funcionamiento con los sensores y dispositivos de accionamiento se realice con facilidad.
Por su parte, el módulo 32 de comunicaciones seguras está presente en ambos terminales de la comunicación (cliente y servidor) e implementa el protocolo seguro en tiempo real para la transferencia de los datos entre el dispositivo de cliente y el sistema domótico y de vigilancia.
El módulo de control 37 integra todos los componentes, estableciendo los vínculos de relación entre ellos y haciéndolos funcionar de forma adecuada.
El módulo 32 de comunicaciones seguras proporciona, en el nivel de la capa de comunicaciones, una capa de alta abstracción que es utilizada por el control del servidor para enviar contenido (imágenes de las cámaras, realimentación, ...) a la aplicación del cliente. Para ello, su implementación interna es completamente transparente tanto para el servidor como para el cliente, proporcionando una interfaz muy simple y fácil de utilizar.
Entre sus funciones, las más notables son la de enviar y recibir órdenes y objetos en serie, y la de personalizar el protocolo de seguridad interno de modo que se adecue a los requisitos en cada momento. Así, por ejemplo, el envío de una imagen de una cámara puede requerir comprobaciones de integridad y autenticidad, en tanto que el envío y la recepción de órdenes pueden requerir también una fuerte encriptación. De esta forma, la capa de comunicaciones permite una amplia adaptabilidad, dependiendo del uso y la situación.
Si bien la presente invención se ha descrito, con fines ilustrativos, con referencia a un ejemplo de realización de la misma, son evidentes para un experto en la materia diversos cambios y modificaciones en la realización descrita dentro del ámbito de la invención, tal y como se define por las reivindicaciones que se acompañan.

Claims (21)

1. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, en particular, de datos de imagen y de audio estructurados en paquetes entre un cliente y un servidor o entorno de aplicación, que implica la generación de flujo de datos de imagen y de audio, e implica el envío, a través de una red de acceso público, de órdenes de comunicación y órdenes de control de la aplicación, caracterizado porque usa encriptación con una contraseña que expira con el menor de entre un cierto número preestablecido de usos de dicha contraseña y un tiempo de uso preestablecido de la misma, a fin de establecer un canal de comunicación seguro a través de un medio inseguro, y porque dicho procedimiento comprende:
a) seleccionar, por parte del cliente, unos algoritmos de encriptación simétrico y asimétrico, y, utilizando el algoritmo de encriptación asimétrico, contactar con el servidor para que establezca una sesión de comunicación, inscriba dicha sesión de comunicación en una lista de sesiones y obtener del servidor una contraseña para el algoritmo de encriptación simétrico;
b) una vez que el cliente y el servidor comparten la contraseña para el algoritmo de encriptación simétrico, enviar, por parte del cliente, paquetes de datos de texto con las órdenes de la aplicación, encriptados con el algoritmo de encriptación simétrico; y/o
c) una vez que el cliente y el servidor comparten la contraseña para el algoritmo de encriptación simétrico, enviar, por parte del servidor, imágenes y/o audio al cliente encriptados con el algoritmo de encriptación simétrico; y
d) comprobar, por parte del servidor, el tiempo durante el que se ha estado utilizando la contraseña y por cuántas veces se ha utilizado, y enviar al cliente, cuando se sobrepasa uno de entre dicho número preestablecido de usos de la contraseña y dicho tiempo de uso preestablecido de la misma, un mensaje que indica la expiración de la sesión, invalidando la contraseña y eliminando dicha sesión de la lista de sesiones del servidor.
\vskip1.000000\baselineskip
2. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con la reivindicación 1, en el cual se realiza también en la etapa a) de selección de algoritmos y contacto con el servidor, por parte del cliente, una autentificación frente al servidor utilizando el algoritmo de encriptación asimétrico.
3. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con la reivindicación 2, en el cual, para la autentificación del cliente frente al servidor, el cliente solicita al servidor su clave pública y encripta con esta clave, utilizando el algoritmo de encriptación asimétrico, los datos de usuario y una contraseña de identificación para transmitirlos al servidor.
4. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones 1 a 3, en el cual, en la etapa a), para el establecimiento de la sesión de comunicación, el cliente genera una clave privada y una clave pública para el algoritmo de encriptación asimétrico, y envía al servidor dicha clave pública, tras lo cual el servidor envía al cliente dicha contraseña para el algoritmo de encriptación simétrico, encriptada con dicha clave pública, y el cliente la desencripta utilizando su clave privada.
5. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones anteriores, en el cual, en la etapa a), para el establecimiento de la sesión de comunicación, el servidor guarda además en una tabla una dirección de IP y una puerta o acceso de UDP correspondientes al origen de los datos recibidos.
6. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones anteriores, en el cual, en la etapa b) de envío de paquetes de datos con las órdenes deseadas, el servidor, al recibir dichos paquetes, desencripta las órdenes, las ejecuta y envía una respuesta de vuelta al cliente confirmando la ejecución de las órdenes e instando al cliente a constatar dicha confirmación.
7. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones anteriores, en el cual, en una sesión de comunicación subsiguiente a otra anterior, ya expirada, el procedimiento puede cambiar de algoritmo de encriptación simétrico, de tal manera que el algoritmo de encriptación simétrico utilizado en una etapa c) de envío de imágenes o audio de dicha sesión de comunicación subsiguiente, es más ligero, o menos robusto, que el utilizado en la etapa b) de envió de paquetes de datos de texto de órdenes de la sesión de comunicación anterior, debido al hecho de que en la etapa b) el tamaño de los paquetes es más pequeño y la privacidad exigida superior respecto a la etapa c).
8. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones anteriores, en el cual, en la etapa c) de envío de datos de imagen o audio del servidor al cliente, el servidor convierte los datos de imagen o audio a una base de numeración posicional y los encripta utilizando el algoritmo de encriptación simétrico, tras lo cual el servidor envía los datos encriptados al cliente para que dicho cliente los desencripte.
9. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que el servidor dispone, para la etapa d) de comprobación del tiempo de uso de la contraseña del algoritmo de encriptación simétrico y del número de veces que se ha utilizado ésta, de un contador que almacena el número de veces que se ha utilizado dicha contraseña y el instante en que se generó.
\vskip1.000000\baselineskip
10. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con una cualquiera de las reivindicaciones anteriores, cuyo funcionamiento está estructurado en:
- una capa de aplicación (L7), a través de la cual interactúa como interfaz de comunicación con la aplicación deseada;
- una capa de presentación (L6), en la que el procedimiento opera añadiendo encriptación;
- una capa de sesión (L5), en la que el procedimiento añade el control de las sesiones y la intercomunicación entre el cliente y el servidor que lo utilizan;
- una capa de transporte (L4), en la que el procedimiento utiliza UDP para transferir los datos;
- una capa de red (L3), en la que el procedimiento utiliza IP para transferir los paquetes de datos; y
- dos capas inferiores, de enlace de datos (L2) y física (L1), que son independientes de las anteriores y pueden diferir dependiendo del sistema de aplicación concreto.
\vskip1.000000\baselineskip
11. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones anteriores, en el que a los paquetes de datos se les añaden cabeceras que comprenden:
i) un campo que indica el tipo de operación asociado al paquete que se envía, que puede ser:
-
de paquete de transmisión de clave pública;
-
de paquete encriptado con la clave pública del algoritmo de encriptación asimétrico y que contiene la contraseña del algoritmo de encriptación simétrico, o que contiene datos de usuario y contraseña de autentificación;
-
de paquete de confirmación de recepción de los paquetes anteriores;
-
de paquete de datos encriptados con la contraseña en el algoritmo de encriptación simétrico;
-
de paquete de confirmación de la recepción de un número predeterminado de paquetes de datos;
-
de paquete que contiene una orden del cliente para el servidor, encriptada con la contraseña en el algoritmo de encriptación simétrico;
-
de paquete que confirma la recepción de una orden y puede informar del resultado de su ejecución; y
-
de paquete de expiración de la sesión de comunicación;
ii) un campo que indica el algoritmo de encriptación que se va a utilizar en el paquete que sigue;
iii) un campo que indica un número de secuencia que permite tanto al cliente como al servidor determinar si se ha perdido algún paquete; y
iv) un campo de confirmación de la recepción de un paquete, utilizando su número de secuencia.
\vskip1.000000\baselineskip
12. Un procedimiento seguro en tiempo real de transmisión de datos de comunicación, de acuerdo con la reivindicación 11, en el que las cabeceras de los paquetes tienen una longitud total de 30 bytes, contando el tamaño de dichos campos, que suman 10 bytes, así como el tamaño de los encapsulados necesarios para IP y UDP.
\vskip1.000000\baselineskip
13. Un dispositivo de cliente para la transmisión de datos de comunicación, en particular, de datos de imagen y/o de audio estructurados en paquetes entre dicho dispositivo de cliente, implementado en una aplicación de cliente, y un entorno de aplicación integrada o servidor, y la transmisión de datos de comunicación que incluye órdenes de control de la aplicación, y empleando el procedimiento seguro en tiempo real de transmisión de datos de comunicación de acuerdo con cualquiera de las reivindicaciones precedentes, que comprende:
- un módulo de encriptación, que, en la etapa a) de selección de los algoritmos de encriptación simétrico y asimétrico y conexión con el servidor para el establecimiento de la sesión de comunicación, genera los paquetes de datos necesarios para establecer dicha sesión de comunicación, y que comprende, a su vez:
-
un módulo de seguridad; y
-
un módulo de comunicación;
y
- un módulo de comunicaciones de red, que, en dicha etapa a) recibe los paquetes del módulo de comunicación con cabeceras y clave pública no encriptada, determina el destinatario de los paquetes, crea paquetes de UDP con el contenido de los paquetes, y los envía usando IP.
\vskip1.000000\baselineskip
14. Un dispositivo de cliente para la transmisión de datos de comunicación, de acuerdo con la reivindicación 13, caracterizado por que, en la etapa b) de envío de datos de órdenes del cliente al servidor, el módulo de encriptación elige el algoritmo de encriptación que se ha de utilizar y pasa dichos datos con el algoritmo de encriptación al módulo de seguridad, donde se encriptan los datos y se crea un paquete con las cabeceras apropiadas para poder ser transmitido, el cual se pasa al módulo de comunicación de manera que el módulo de comunicaciones de red recibe de éste el paquete con cabeceras y datos encriptados, determina el destinatario del paquete y crea un paquete de UDP con el contenido del paquete que ha recibido del módulo de comunicación, para su envío utilizando IP.
15. Un dispositivo de cliente para la transmisión de datos de comunicación, de acuerdo con la reivindicación 13 ó la reivindicación 14, caracterizado por que, en la etapa c) de envío de datos del servidor al cliente, o en la etapa d) de comunicación de expiración de la sesión por parte del servidor, el módulo de comunicaciones de red recibe el paquete y obtiene los datos encriptados con cabeceras, que se pasan al módulo de encriptación, donde se desencriptan de acuerdo con las cabeceras y se entregan a la aplicación del cliente, enviándose, opcionalmente, un paquete de confirmación de vuelta.
16. Un dispositivo de cliente para la transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones 13 a 15, caracterizado por que se selecciona entre un dispositivo portátil y un ordenador conectado a internet.
\vskip1.000000\baselineskip
17. Un dispositivo de servidor para la transmisión de datos de comunicación, en particular, de datos de imagen y de audio estructurados en paquetes entre dicho dispositivo de servidor, implementado en una entorno de aplicación integrada o servidor, y un dispositivo de cliente de acuerdo con cualquiera de las reivindicaciones 13 a 16, empleando el procedimiento seguro en tiempo real de transmisión de datos de comunicación de acuerdo con cualquiera de las reivindicaciones 1-12, que comprende:
- un módulo de comunicaciones de red, que, en la etapa a) de selección de los algoritmos de encriptación simétrico y asimétrico y conexión con el servidor para el establecimiento de la sesión de comunicación, recibe el paquete del dispositivo de cliente y obtiene la clave pública del cliente;
- un módulo de encriptación, que, en dicha etapa a), recibe el paquete con la clave pública y, usando las cabeceras, determina el contenido de las órdenes, y que comprende, a su vez:
-
un módulo de seguridad; y
-
un módulo de comunicación;
y
- un módulo de control de sesiones, que, en dicha etapa a), establece la sesión generando una contraseña que se envía al dispositivo de cliente, encriptada con la clave pública del cliente.
\vskip1.000000\baselineskip
18. Un dispositivo de servidor para la transmisión de datos de comunicación, de acuerdo con la reivindicación 17, caracterizado por que, en la etapa b) de envío de datos de órdenes del cliente al servidor, el módulo de comunicaciones de red recibe el paquete y obtiene los datos encriptados con cabeceras, que pasa al módulo de encriptación, donde se desencriptan los datos de acuerdo con las cabeceras y se pasan a la aplicación del servidor.
19. Un dispositivo de servidor para la transmisión de datos de comunicación, de acuerdo con la reivindicación 17 ó la reivindicación 18, caracterizado por que, en la etapa c) de envío por el servidor de datos de imágenes o audio al cliente, una vez elegido el algoritmo de encriptación, el módulo de encriptación pasa los datos junto con dicho algoritmo de encriptación al módulo de seguridad, donde se encriptan los datos y se crea un paquete con las cabeceras apropiadas para ser transmitido, que se pasa al módulo de comunicación, desde donde es recibido, con cabeceras y datos encriptados, por el módulo de comunicaciones de red, que determina el destinatario del paquete y crea un paquete de UDP con el contenido del paquete recibido, para enviarlo usando IP.
20. Un dispositivo de servidor para la transmisión de datos de comunicación, de acuerdo con cualquiera de las reivindicaciones 17-19, caracterizado por que, en la etapa d), la comunicación de expiración de la sesión por parte del servidor se realiza según los mismos pasos de la reivindicación 15 para la etapa c) de envío por el servidor de imágenes o audio al cliente.
\vskip1.000000\baselineskip
21. El uso del procedimiento de acuerdo con cualquiera de las reivindicaciones 1-12, del dispositivo de cliente de acuerdo con cualquiera de las reivindicaciones 13-16 y del dispositivo de servidor de acuerdo con cualquiera de las reivindicaciones 17-20, en el que el entorno de aplicación integrada es un sistema domótico y de vigilancia por cámaras integrado que comprende cuatro componentes principales:
- un gestor 31 de las cámaras de vigilancia y de audio;
- un módulo 32 de comunicaciones seguras, que implementa el procedimiento seguro en tiempo real de transmisión de datos y opera en la capa de comunicaciones (L5, L4) del procedimiento;
- un módulo 33 compuesto por un gestor 34 de sensores, un gestor 35 de dispositivos de accionamiento y un intérprete lógico 36, que está en comunicación con el gestor 34 de sensores y con el gestor 35 de dispositivos de accionamiento, para actuar como interfaz entre éstos y
- un módulo de control 37, que está en comunicación con los tres componentes anteriores para controlar su funcionamiento conjunto.
ES200800912A 2008-04-02 2008-04-02 Procedimiento seguro en tiempo real para la transmision de datos de comunicacion. Active ES2338083B1 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES200800912A ES2338083B1 (es) 2008-04-02 2008-04-02 Procedimiento seguro en tiempo real para la transmision de datos de comunicacion.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200800912A ES2338083B1 (es) 2008-04-02 2008-04-02 Procedimiento seguro en tiempo real para la transmision de datos de comunicacion.

Publications (2)

Publication Number Publication Date
ES2338083A1 ES2338083A1 (es) 2010-05-03
ES2338083B1 true ES2338083B1 (es) 2011-10-13

Family

ID=42105785

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200800912A Active ES2338083B1 (es) 2008-04-02 2008-04-02 Procedimiento seguro en tiempo real para la transmision de datos de comunicacion.

Country Status (1)

Country Link
ES (1) ES2338083B1 (es)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083177A1 (en) * 2002-10-29 2004-04-29 General Instrument Corporation Method and apparatus for pre-encrypting VOD material with a changing cryptographic key
US7305711B2 (en) * 2002-12-10 2007-12-04 Intel Corporation Public key media key block

Also Published As

Publication number Publication date
ES2338083A1 (es) 2010-05-03

Similar Documents

Publication Publication Date Title
CN109565510B (zh) 使用随机加密密码本加密法进行安全通信的系统和方法
Ahsan Covert channel analysis and data hiding in TCP/IP
ES2312483T3 (es) Arquitectura de difusion segura de datos por paquetes.
US8249255B2 (en) System and method for securing communications between devices
US7774594B2 (en) Method and system for providing strong security in insecure networks
US20190207758A1 (en) Generation of keys of variable length from cryptographic tables
US20100138649A1 (en) Transmission of packet data over a network with security protocol
JPH088895A (ja) インターネット手順のキー管理のための方法ならびにその装置
EP2060051A2 (en) Method and system for providing authentication service for internet users
Dhobale et al. Steganography by hiding data in TCP/IP headers
US20190215150A1 (en) Secure Data Transmission
Rogaway et al. A critique of CCM
TW200302652A (en) Cryptosync desing for a wireless communications system
US9438569B2 (en) Secured embedded data encryption systems
Iyer et al. Implementation and evaluation of lightweight ciphers in mqtt environment
US20220006652A1 (en) Method and architecture for securing and managing networks of embedded systems with optimised public key infrastructure
ES2338083B1 (es) Procedimiento seguro en tiempo real para la transmision de datos de comunicacion.
JP2010081108A (ja) 通信中継装置、情報処理装置、プログラム、及び通信システム
Song et al. Secure remote control of field-programmable network devices
CN108900535A (zh) 邮件加密方法、装置及计算机可读存储介质
Li Exploring the Application of Data Encryption Technology in Computer Network Security
Rogers et al. Secure communication over diverse transports: [short paper]
Gawade et al. Lightweight Secure Technology Future of Internet of Things
Gultchev et al. Securing reconfigurable terminals-mechanisms and protocols
Muhammad et al. Chacha stream cipher implementation for network security in wireless sensor network

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20100503

Kind code of ref document: A1

GD2A Contractual licences

Effective date: 20100630

FG2A Definitive protection

Ref document number: 2338083

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20111013