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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic 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.
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
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.
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
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, ...
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.
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.
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)
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 |
-
2008
- 2008-04-02 ES ES200800912A patent/ES2338083B1/es active Active
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 |