ES2917448T3 - Método y aparato para procesar datos de mensaje - Google Patents

Método y aparato para procesar datos de mensaje Download PDF

Info

Publication number
ES2917448T3
ES2917448T3 ES18305302T ES18305302T ES2917448T3 ES 2917448 T3 ES2917448 T3 ES 2917448T3 ES 18305302 T ES18305302 T ES 18305302T ES 18305302 T ES18305302 T ES 18305302T ES 2917448 T3 ES2917448 T3 ES 2917448T3
Authority
ES
Spain
Prior art keywords
rule
data
field
rules
instruction
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
ES18305302T
Other languages
English (en)
Inventor
Ana Minaburo
Mr Alexander Pelov
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.)
Acklio SAS
Original Assignee
Acklio SAS
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 Acklio SAS filed Critical Acklio SAS
Application granted granted Critical
Publication of ES2917448T3 publication Critical patent/ES2917448T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/088Access security using filters or firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)

Abstract

Un contexto de compresión de encabezado define una o más reglas, cada regla que comprende una o más líneas de instrucción de campo, cada línea de instrucción de campo que comprende un valor objetivo y una instrucción de procesamiento; y un operador coincidente que indica la manera en que el contenido una región especificada respectiva de un mensaje de datos debe corresponder al valor de destino. Cuando no se puede encontrar una regla coincidente sobre esta base, se lleva a cabo una operación de seguridad, como la emisión de una alerta o transmisión de bloqueo o procesamiento del mensaje. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método y aparato para procesar datos de mensaje
Campo de la invención
[0001] La presente invención se refiere, en general, al procesamiento de mensajes de datos y, en concreto, a la compresión de dichos datos.
Antecedentes de la invención
[0002] La figura 1 muestra esquemáticamente aspectos de un mecanismo de compresión de encabezado de red conocido en el estado de la técnica.
[0003] Específicamente, la figura 1 muestra elementos de un mecanismo de compresión de encabezado para redes IPv6, sustancialmente como se propone en LPWAN Static Context Header Compression (SCHC) for IPv6 and UDP draft-ietflpwan-ipv6-static-context-hc-10. Como se muestra, los datos deben ser transmitidos desde un dispositivo transmisor A a un dispositivo receptor B a través de una red LPWAN 150 basada en IPv6. Debido a limitaciones tales como la potencia o la disponibilidad de ancho de banda en el dispositivo transmisor, puede ser deseable reducir la cantidad total de datos que se han de transmitir. De acuerdo con el mecanismo de la figura 1, un paquete de datos que comprende un número de campos definidos para su transmisión se expone a un conjunto de reglas 110, 120, 130, 140, que en conjunto constituyen un contexto 100a. Cada regla comprende una pluralidad de líneas de instrucción de campo. Por ejemplo, la regla 140 comprende las líneas de instrucción de campo 141, 142, 143, 144, 145, etc. Las líneas de descripción de campo tienen una estructura común que comprende cuatro entradas. Específicamente, cada línea de descripción de campo comprende un ID de campo que especifica uno de los campos definidos del paquete de datos, un valor de destino, un operador de coincidencia y una acción de compresión/descompresión. Por lo tanto, como se muestra, los campos de la regla 141 pueden verse estructurados en cuatro columnas 140a, 140b, 140c, 140d. Por consiguiente, la línea de descripción de campo 141 presenta un ID de campo 141a, un valor de destino 141b, un operador de coincidencia 141c y una acción de compresión/descompresión 141d. De manera similar, la línea de descripción de campo 142 presenta un ID de campo 142a, un valor de destino 142b, un operador de coincidencia 142c y una acción de compresión/descompresión 142d.
[0004] En funcionamiento, un paquete de datos procesado en el lado del transmisor se compara sucesivamente con cada regla, y con cada regla sucesivamente con cada línea de descripción de campo de esa regla utilizando un operador de coincidencia.
[0005] Para cada línea de descripción de campo se determina si la entrada de valor de destino del campo al que se hace referencia en la entrada de ID de campo se corresponde de una manera prescrita según lo definido en la entrada de operador de coincidencia de esa línea de descripción de campo. En caso de que el campo referenciado corresponda al valor de destino de la manera prescrita para cada campo de una regla respectiva, se aplica la acción de compresión/descompresión de cada campo en la regla correspondiente.
[0006] Los posibles operadores de coincidencia incluyen los operadores "ignorar" o "igual".
[0007] A modo de ejemplo, la regla 140 podría comprender los tres campos que se muestran a continuación.
Figure imgf000002_0001
[0008] Sobre esta base, el primer campo del paquete de datos se expondría primero a la línea de instrucción de campo 141, ya que el método de comparación prescrito en la entrada de operador de coincidencia para este campo es "ignorar", esta comparación se satisface automáticamente. A continuación, el método procede a la línea de instrucción de campo 142, para la cual la forma de comparación prescrita en la entrada de operador de coincidencia es "igual". En consecuencia, el campo F2 del paquete de datos debe comprender el valor de destino "0x1230", tal como se define en el campo de valor de destino. A continuación, el método procede a la línea de instrucción de campo 143, para la cual la forma de comparación prescrita en la entrada de operador de coincidencia es "igual". En consecuencia, el campo F3 del paquete de datos debe comprender el valor de destino "0xABC0", tal como se define en el campo de valor de destino.
[0009] Suponiendo que los tres campos de la regla 140 se satisfacen sobre esta base, se selecciona la regla 140 para su aplicación. Sobre esta base, la instrucción de compresión de cada campo de la regla 140 se aplica al paquete de datos.
[0010] Como se ha mostrado anteriormente, la función de compresión de las tres líneas de instrucción de campo de la regla 141 es "no enviado", lo que indica que cada uno de los tres campos en cuestión F1, F2 y F3 se elimina del paquete que se ha de transmitir.
[0011] Como se muestra en la figura 1, el paquete comprimido se transmite entonces a través de la red 150 al lado receptor b, junto con un identificador de la regla 140 que se ha aplicado, ID4.
[0012] Como se muestra, un conjunto de reglas 160, 170, 180, 190, correspondientes a las reglas 110, 120, 130 140, como se ha descrito anteriormente, respectivamente, constituyen un contexto 100b. El contexto 100b se corresponde en estructura y contenido con el contexto 100a, de manera que cada regla comprende una pluralidad de líneas de instrucción de campo. Por ejemplo, la regla 190 comprende las líneas de instrucción de campo 191, 192, 193, 194, 195, etc. Las líneas de instrucción de campo tienen una estructura común que comprende cuatro entradas. En concreto, cada línea de instrucción de campo comprende una referencia de campo que especifica uno de los campos definidos del paquete de datos, un valor de destino, un operador de coincidencia y una acción de compresión/descompresión. Por lo tanto, como se muestra, las líneas de instrucción de campo de la regla 191 pueden verse estructuradas en cuatro columnas 190a, 190b, 190c, 190d. En consecuencia, la línea de instrucción de campo 191 tiene una referencia de campo 191a, un valor de destino 191b, un parámetro de coincidencia 191c y una función de compresión 191d. De manera similar, la línea de instrucción de campo 192 presenta una referencia de campo 192a, un valor de destino 192b, un parámetro de coincidencia 192c y una función de compresión 192d.
[0013] En funcionamiento, el paquete de datos recibido se procesa de acuerdo con la regla especificada por la transmisión recibida, es decir, la regla ID4, correspondiente a la regla 190. Cada línea de instrucción de campo en la regla especificada se aplica al campo respectivo de la manera prescrita.
[0014] Con referencia a una regla 190 que es idéntica a la regla 140 presentada anteriormente, como se indica por medio del ID único de regla, ID4, la Regla 190 podría comprender los tres campos que se muestran a continuación.
Figure imgf000003_0001
[0015] Sobre esta base, el primer campo F1 del paquete de datos se llenaría con el valor 0x00, el segundo campo F2 del paquete de datos se llenaría con el valor 0x1230 y el tercer campo F3 del paquete de datos se llenaría con el valor 0xABC0.
[0016] Se puede observar, sobre esta base, que el paquete resultante 13 es idéntico al paquete original 11, aparte del valor del campo F1, donde el valor original 0xA1 ha sido sustituido por el valor 0x00, por la operación del operador de coincidencia "ignorar" en el campo 141c. Se observará que, en ciertos casos, puede determinarse que el valor de un campo concreto puede establecerse de forma segura como un valor predeterminado de este modo sin interferir en el funcionamiento general del sistema El artículo titulado "LSCHC: Layered Static Context Header Compression form LPWANs" de Kaled Q. Abdelfadeel et al, publicado en CHANTS'17, octubre de 2017, Session:Security and IOT, compara la compresión de encabezado SCHC con IPHC y propone SCHC superpuesta, basada en un contexto estático. Este artículo sugiere la transmisión de un ID de regla "sin compresión" en los mensajes comprimidos en los que no se identifica ninguna regla que coincida con una cadena concreta, para evitar una condición de error debido a que el descompresor espera un id de regla en todos los casos.
[0017] El documento US2016191466 proporciona métodos y sistemas para la gestión de políticas de seguridad basadas en reglas optimizadas dinámicamente. Un dispositivo de gestión de seguridad de red recibe una solicitud para añadir una nueva regla de política de flujo de tráfico a múltiples reglas de política existentes gestionadas por el dispositivo de gestión de seguridad de red. Se determinan automáticamente dependencias de la nueva regla de política de flujo de tráfico con respecto a las reglas de política existentes. Se forma un conjunto actualizado de reglas de política incorporando la nueva regla de política de flujo de tráfico dentro de las reglas de política existentes basándose en las dependencias. A continuación, el conjunto actualizado de reglas de política se optimiza agrupando, reordenando y/o eliminando un subconjunto de reglas de política del conjunto actualizado de reglas de política, basándose en uno o varios de los pesos asignados a determinados tipos de tráfico, configuración de preferencias, configuración de prioridades, características del tráfico de red y estadísticas de uso de cada regla de política del conjunto actualizado de reglas de política.
[0018] El documento titulado "Personal Stateful Firewall Administration Guide, Version 11.0" de fecha 14 de enero de 2011, disponible en http://www.cisco.com/c/dam/en/us/td/docs/wore;ess/asr 5000/11 0/OL-24220 Firewall Admin.pdf" describe un Personal Stateful Firewall (cortafuegos con estado personal) que presenta una característica de servicio en línea que inspecciona el tráfico de los abonados y realiza un control de acceso basado en la sesión IP de las sesiones individuales de los abonados para proteger a los abonados de ataques de seguridad maliciosos. El Personal Stateful Firewall admite la inspección y el filtrado sin estado y con estado en función de la configuración.
[0019] En la inspección sin estado, el cortafuegos inspecciona un paquete para determinar la información de 5-tupla que contiene el paquete (el protocolo, las direcciones IP y los puertos de origen y destino). A continuación, esta información estática se compara con las reglas configurables para determinar si se permite o se descarta el paquete. En la inspección sin estado, el cortafuegos examina cada paquete individualmente, no conoce los paquetes que han pasado antes que él, y no tiene forma de saber si un paquete determinado forma parte de una conexión existente, está intentando establecer una nueva conexión o es un paquete fraudulento.
[0020] En la inspección de estado, el cortafuegos no sólo inspecciona los paquetes a través de la capa de aplicación / capa 7 determinando la información del encabezado y el contenido de datos de un paquete, sino que también supervisa y hace un seguimiento del estado de conexión. Para todas las conexiones activas que atraviesan el cortafuegos, la información de estado, que puede incluir las direcciones IP y los puertos implicados, los números de secuencia y los números de confirmación de los paquetes que atraviesan la conexión, los indicadores de paquete TCP, etc., se mantiene en una tabla de estado. Las decisiones de filtrado se basan no sólo en las reglas, sino también en el estado de conexión establecido por los paquetes anteriores en esa conexión. Esto permite evitar una variedad de DoS, DDoS y otras violaciones de seguridad. Una vez que una conexión se interrumpe o se agota el tiempo de espera, se descarta su entrada en la tabla de estado. Para obtener más información, véase la sección Connection State and State Table in Personal Stateful Firewall (Estado de conexión y tabla de estado en Personal Stateful Firewall).
[0021] Mecanismos como el descrito con referencia a la figura 1 proporcionan una base para la reducción del flujo de datos en redes. Sin embargo, a medida que crece el número de dispositivos que utilizan dichos sistemas de comunicación, y las capacidades de los dispositivos finales están sujetas a limitaciones cada vez más estrictas en términos de consumo de energía, potencia de procesamiento y ancho de banda de comunicaciones, es deseable proporcionar mecanismos para optimizar aún más dichas comunicaciones.
Sumario de la invención
[0022] De acuerdo con la presente invención, en un primer aspecto se proporciona un método de procesamiento de un mensaje de datos, en el que se definen una o más reglas, comprendiendo cada una de las reglas una o más líneas de instrucción de campo, comprendiendo cada línea de instrucción de campo un valor de destino y una instrucción de procesamiento. El método comprende los pasos de analizar el mensaje de datos, determinar para una línea de instrucción de campo si una región especificada respectiva del mensaje de datos corresponde al valor de destino de una manera prescrita respectiva, y en el caso de que la región especificada respectiva corresponda al valor de destino de la manera prescrita respectiva para cada línea de instrucción de campo en una regla respectiva, aplicar la instrucción de procesamiento de cada instrucción de campo en la regla correspondiente con respecto a la región especificada respectiva, y en el caso de que no se encuentre ninguna regla que corresponda, realizar un paso adicional de realizar una operación de seguridad.
[0023] En un desarrollo del primer aspecto, el valor de destino se obtiene de un servicio externo.
[0024] En un desarrollo del primer aspecto, el valor de destino se define a partir de información extraída de uno o más mensajes de datos.
[0025] En un desarrollo del primer aspecto, una o más de las líneas de instrucción de campo son líneas de instrucción de seguridad, y donde una o más de las líneas de instrucción de seguridad especifican una operación de seguridad que se ha de ejecutar en el caso de que la región especificada respectiva corresponda al valor de destino de la manera prescrita respectiva para cada línea de instrucción de campo en una regla respectiva.
[0026] En un desarrollo del primer aspecto, la operación de seguridad comprende el registro de un evento de seguridad.
[0027] En un desarrollo del primer aspecto, en el caso de que se supere un umbral predeterminado de eventos de seguridad registrados en un período predeterminado, se realiza una operación de seguridad adicional.
[0028] En un desarrollo del primer aspecto, la operación de seguridad comprende la emisión de un mensaje de alerta de seguridad.
[0029] En un desarrollo del primer aspecto, la operación de seguridad comprende la cancelación de la transmisión de una parte o de la totalidad del paquete de datos.
[0030] En un desarrollo del primer aspecto, la operación de seguridad comprende la modificación, adición o eliminación de una regla.
[0031] En un desarrollo del primer aspecto, el paquete de datos se transmite a través de una pluralidad de dispositivos, y en el que los pasos se repiten en cada dispositivo.
[0032] En un desarrollo del primer aspecto, el paquete de datos se transmite de acuerdo con un sistema de telecomunicaciones que define una pluralidad de capas de abstracción, y en el que los pasos se repiten en cada capa de abstracción.
[0033] De acuerdo con la presente invención, en un segundo aspecto se proporciona un programa de ordenador que comprende instrucciones adaptadas para implementar los pasos el primer aspecto.
[0034] De acuerdo con la presente invención, en un tercer aspecto se proporciona un procesador de mensajes de datos, que comprende un almacenamiento que almacena una o más reglas, comprendiendo cada regla una o más líneas de instrucción de campo, comprendiendo cada línea de instrucción de campo un valor de destino y una instrucción de procesamiento. El procesador está adaptado para analizar un mensaje de datos, y para determinar para una línea de instrucción de campo si una región especificada respectiva del mensaje de datos corresponde al valor de destino de una manera prescrita respectiva, y en el caso de que la región especificada respectiva corresponda al valor de destino de la manera prescrita respectiva para cada línea de instrucción de campo en una regla respectiva, para aplicar la instrucción de procesamiento de cada instrucción de campo en la regla correspondiente con respecto a la región especificada respectiva, y en el caso de que no se encuentre ninguna regla que corresponda, para realizar una operación de seguridad.
Breve descripción de los dibujos
[0035] Las anteriores y otras ventajas de la presente invención se describirán ahora con referencia a los dibujos que se adjuntan, con fines meramente ilustrativos, en los que:
La figura 1 muestra esquemáticamente aspectos de un mecanismo de compresión de encabezado de red tal como se conoce en la técnica anterior;
La figura 2 muestra un método según una primera realización;
La figura 3 presenta esquemáticamente un entorno en el que pueden implementarse ciertas realizaciones;
La figura 4 presenta un ejemplo de aprendizaje de especificación mediante comunicaciones de estado de acuerdo con una realización;
La figura 5 muestra un sistema informático genérico adecuado para la implementación de realizaciones de la invención; y
La figura 6 muestra un dispositivo de sensor independiente adaptable para constituir una realización.
Descripción detallada
[0036] La figura 2 muestra un método según una primera realización.
[0037] Como se muestra en la figura 2, se proporciona un método de procesamiento de un mensaje de datos. El mensaje puede ser un paquete, por ejemplo, definido de acuerdo con un protocolo de transmisión de paquetes conocido como IPv6 o IPv4. Se observará que las realizaciones pueden utilizarse en una gama muy amplia de redes de comunicaciones, incluyendo a modo de ejemplo no limitativo, IPv4 o IPv6, CoAP (Constrained Application Protocol), UDP (User Datagram Protocol), TCP (Transmission Control Protocol), ICMP (Internet Control Message Protocol), ICMPv6, Cb OR (Concise Binary Object Representation), CoMI (CoAP Management Interface), LWM2M (Light Weight Machine to Machine), OneM2M, OCF (Open Connectivity Foundation), MQTT (Message Queuing Telemetry Transport), RoHC (Robust Header Compression), VJ , GHC (Generic Header Compression), DTLS (Datagram Transport Layer Security) u otros rasgos característicos de cualquiera de los contextos de comunicaciones mencionados anteriormente, mensajes de datos no formateados en los que los campos de datos individuales se atribuyen a posiciones fijas de bits o palabras dentro de un mensaje que puede tener un formato propio, o de otro tipo. El mensaje puede constituir igualmente un mensaje de tipo ráfaga, por ejemplo, en una comunicación punto a punto. A modo de ejemplo, el mensaje puede comprender una comunicación con comunicaciones de información de estación meteorológica, comunicaciones de señalización de telefonía celular como PDU 3G, gestión de movilidad y similares, Bluetooth, Zigbee, comunicaciones de aeronave ADS-B, sensores industriales remotos como el control de flujo y la supervisión de estado de tuberías, la detección de intrusiones en instalaciones remotas, etc.
[0038] De acuerdo con la realización de la figura 2, se definen una o más reglas, comprendiendo cada regla una o más líneas de instrucción de campo, comprendiendo cada línea de instrucción de campo un valor de destino y una instrucción de procesamiento. Por definición, la realización presenta ciertas características en común con la disposición de la figura 1 y en algunas variantes puede constituir un desarrollo de este enfoque.
[0039] Como se muestra en la figura 2, el método comienza en el paso 205, en el que se analiza un mensaje de datos. A continuación, el método avanza al paso 210, en el que se selecciona la primera instrucción de campo de la regla considerada. En el paso 215, se determina, para la línea de instrucción de campo seleccionada de la regla considerada, si una región especificada respectiva del mensaje de datos corresponde al valor de destino de la línea de instrucción de campo seleccionada de una manera prescrita respectiva.
[0040] La determinación de si el campo especificado se corresponde con el valor de destino de la manera definida por el operador de coincidencia de la línea de instrucción de campo no constituye necesariamente la determinación de si el campo es igual al valor de destino. El operador de coincidencia puede utilizarse para evaluar si el valor de campo coincide con el valor de destino. Esto puede expresarse como: MO(Valor_de_campo, Valor_de_destino) - donde m O devuelve TRUE o FALSE (coincide o no coincide). Esta representación se denomina notación polaca. A continuación, el método avanza al paso 220, en el que se determina si se han evaluado todas las líneas de instrucción de campo de la regla considerada. En caso de que no se hayan evaluado todas las líneas de instrucción de campo de la regla actualmente considerada, el método avanza al paso 225, en el que se selecciona la siguiente instrucción de campo de la regla, antes de volver al paso 210. En el caso de que se determine que todas las líneas de instrucción de campo de la regla actualmente considerada han sido evaluadas en el paso 220, el método avanza al paso 230, en el que se determina si la región especificada respectiva corresponde a dicho valor de destino de dicha manera prescrita respectiva para cada línea de instrucción de campo en la regla considerada para cada línea de instrucción de campo en dicha regla, el método avanza al paso 235, en el que se aplica la instrucción de procesamiento de cada instrucción de campo en la regla correspondiente con respecto a la región especificada respectiva, antes de volver al paso 205 para un nuevo mensaje. Si, en el paso 230, se determina que la región especificada respectiva no se corresponde con el valor de destino de dicha manera prescrita respectiva para cada línea de instrucción de campo en la regla actualmente considerada, el método avanza al paso 240 en el que se determina si se han considerado todas las reglas definidas. Si se determina, en el paso 240, que no se han considerado todas las reglas, el método procede a seleccionar la siguiente regla para su consideración en el paso 245. Si, en el paso 240, se determina que se han considerado todas las reglas y, por lo tanto, no se encuentra ninguna regla que se corresponda con el mensaje de datos, el método avanza al paso 245, en el que se realiza una operación de seguridad, antes de volver al paso 205 para un nuevo mensaje.
[0041] De acuerdo con determinadas variantes, a dicho mensaje de datos, dicho marcador está asociado con una especificación de una operación de procesamiento que define dicha derivación.
[0042] En determinadas realizaciones, algunas o todas las líneas de instrucción de campo pueden especificar una operación de procesamiento que define la derivación de un componente de datos desde una fuente de datos que no sea un flujo de datos asociado al mensaje de datos, y realizar el paso de determinar la región especificada del mensaje de datos corresponde al valor de destino de la manera prescrita con referencia a los resultados de dicha operación de procesamiento. En particular, la operación de procesamiento puede comprender una instrucción para recuperar el componente de datos, o algún precursor del mismo, desde un repositorio como un archivo estático o una base de datos. La operación de procesamiento puede comprender, alternativa o adicionalmente, una instrucción para recuperar el componente de datos, o algún precursor del mismo, a partir de un proceso, que puede ser una aplicación externa, o una operación de software definida en la propia especificación, y ejecutada en una plataforma adecuada, en cuyo caso el software ejecutado puede constituir la fuente de datos. En cualquier caso, la fuente de datos no es el flujo de datos asociado al mensaje de datos, por ejemplo, un flujo de datos al que pertenece el mensaje de datos, o el propio mensaje de datos. La fuente de datos puede excluir opcionalmente la especificación, y/o un contexto al que pertenece la especificación. La operación de procesamiento puede contribuir a la definición de la respectiva región especificada (por ejemplo, tal y como define el ID de campo), el valor de destino, la manera prescrita en que el valor de destino y el valor en la región específica pueden ser requeridos para corresponder (por ejemplo, tal y como define el operador de coincidencia), o la instrucción de procesamiento que se realizará en el caso de que la línea de instrucción de campo se aplique en el paso 235, o cualquier combinación o algunos o todos estos. Así, el identificador de campo, el valor de destino, el operador de coincidencia o la instrucción de procesamiento pueden obtenerse de un servicio externo.
[0043] En las realizaciones, por ejemplo, que se explican a continuación, la modificación del mensaje de datos puede realizarse con el fin de comprimir o enriquecer el mensaje de datos. El marcador puede comprender un ID de regla, por ejemplo, como se describe con respecto a la figura 1, o en lo sucesivo, en cuyo caso la especificación de una operación de procesamiento que define la derivación de los datos sustitutivos puede corresponder a una regla, o a una línea de instrucción de una regla. Este proceso no implica una restricción acerca de la naturaleza del marcador - podría ser un conjunto opaco de bits (por ejemplo, una etiqueta) o información estructurada (por ejemplo, datos con formato CBOR, XML o de otro tipo).
[0044] Sobre esta base, en un modo de compresión el paso de modificación del mensaje de datos con el marcador puede comprender la sustitución del componente de datos por el marcador. A modo de ejemplo, el marcador puede comprender un ID de regla como se ha comentado con referencia a la figura 1, en la que los datos sustitutivos correspondientes al componente de datos son derivables de una fuente de datos distinta del mensaje de datos en combinación con el conocimiento de dicha característica.
[0045] Del mismo modo, en un modo de enriquecimiento, el paso de modificación del mensaje de datos con el marcador puede comprender la sustitución del componente de datos por el marcador. A modo de ejemplo, el marcador puede comprender un ID de regla como se ha comentado con referencia a la figura 1, en la que los datos sustitutivos correspondientes al componente de datos son derivables de una fuente de datos distinta del mensaje de datos en combinación con el conocimiento de dicha característica.
[0046] La figura 3 presenta de forma esquemática un entorno en el que pueden implementarse determinadas realizaciones.
[0047] Tal y como se muestra en la figura 3, un mensaje de datos 310 se procesa para su transmisión en un procesador de transmisión 320. De acuerdo con el método de la figura 2, se analiza un campo 311 del mensaje de datos 310, y en el caso de que la región especificada respectiva corresponda a dicho valor de destino de dicha manera prescrita respectiva para cada línea de instrucción de campo en una regla respectiva, se aplica la instrucción de procesamiento de cada instrucción de campo en la regla correspondiente con respecto a la región especificada respectiva. A continuación, el procesador de transmisión puede sustituir el componente de datos 312 por un marcador 333, 343 asociado al primer tipo de componente de datos y a la característica. Como se muestra, el marcador 333 puede sustituir simplemente el componente de datos en cuestión, o alternativamente un único marcador 343 puede sustituir componentes de datos pertenecientes a un número de campos en el mensaje de datos, por ejemplo, como lo permite el enfoque descrito anteriormente con respecto a la figura 1. Se observará que el término "sustituir" no debe entenderse como un requisito de que el marcador se sitúe en la misma posición en el mensaje de datos que el componente de datos, o que deba tener la misma longitud. De hecho, el marcador será normalmente mucho más corto que el componente de datos al que sustituye para conseguir un efecto de compresión. En efecto, en los casos en que el marcador adopta la forma de un ID de regla según el enfoque descrito con referencia a la figura 1, puede ser normalmente del orden de 1 byte, y puede ser tan pequeño como un bit. Se observará que pueden utilizarse uno o más marcadores para sustituir componentes de datos que pertenecen al mismo campo o que pertenecen a diferentes campos respectivos, o que se extienden a través de una pluralidad de campos respectivos. Se observará que, en ciertos casos, el campo o los campos que contienen componentes de datos que deben ser sustituidos por uno o más marcadores pueden contener contenido adicional que no es sustituido por un marcador; en cuyo caso este contenido adicional se incluye en el mensaje de datos 330, 340 como una carga útil residual respectiva 332, 342.
[0048] A continuación, el mensaje de datos resultante 330 o 340 se transmite a través de la red 350 desde el emisor a al receptor b, a través de una serie de servidores de retransmisión de red 351, 352, 353.
[0049] Cada uno de estos servidores de retransmisión de red 351, 352, 353 puede implementar los pasos del método de la figura 2, de modo que, una vez más, se analiza un campo 311 del mensaje de datos 310, y en caso de que la región especificada respectiva corresponda a dicho valor de destino de dicha manera prescrita respectiva para cada línea de instrucción de campo en una regla respectiva, se aplica la instrucción de procesamiento de cada instrucción de campo en la regla correspondiente con respecto a la región especificada respectiva.
[0050] Cuando el receptor b recibe el mensaje de datos 330 o 340, éste es procesado por un procesador receptor 360 y el marcador 333, 343 es extraído por una unidad funcional 361. El procesador receptor 360 puede implementar los pasos del método de la figura 2, de manera que, una vez más, se analiza un campo 311 del mensaje de datos 310 y, en el caso de que la región especificada respectiva corresponda a dicho valor de destino de la manera prescrita respectiva para cada línea de instrucción de campo en una regla respectiva, se aplica la instrucción de procesamiento de cada instrucción de campo en la regla correspondiente con respecto a la región especificada respectiva.
[0051] De este modo, los mismos pasos que se comentan con respecto a la figura 2 pueden implementarse en el dispositivo transmisor A, en el dispositivo receptor B y en cualquier número de dispositivos intermedios 351, 352, 353. En cada uno de estos dispositivos en los que se encuentra una regla aplicable, el mensaje se procesa de la manera definida y, en general, se reenvía al siguiente dispositivo. En el caso de que no se encuentre ninguna de dichas reglas que corresponda en ninguna de estas instancias del método de la figura 2, se realiza un paso adicional de realización de una operación de seguridad.
[0052] Por definición, el procesamiento de contextos comprendiendo una o más reglas, comprendiendo cada regla una o más líneas de instrucción de campo, comprendiendo cada línea de instrucción de campo un valor de destino y una instrucción de procesamiento puede, por un lado, proporcionar funciones tales como la compresión y descompresión de encabezado, por ejemplo, en el procesador de transmisión y el procesador de recepción respectivamente, pero también, de acuerdo con las realizaciones, proporcionar un medio de detección de una condición de seguridad cuando no se encuentra ninguna regla que coincida. La aplicación del enfoque en el emisor o en el receptor o en los puntos intermedios proporciona un medio para identificar condiciones de seguridad y reaccionar adecuadamente en cualquier punto de la red. Por definición, el mensaje de datos puede transmitirse a través de una pluralidad de dispositivos, y los pasos del método de la figura pueden repetirse en la totalidad o en algunos de estos dispositivos.
[0053] Por definición, se proporciona un procesador de mensajes de datos, que comprende un almacenamiento que almacena una o más reglas, comprendiendo cada una de dichas reglas una o más líneas de instrucción de campo, comprendiendo cada una de dichas líneas de instrucción de campo un valor de destino y una instrucción de procesamiento;
estando adaptado dicho procesador para analizar un mensaje de datos, y para determinar para una de dichas líneas de instrucción de campo si una región especificada respectiva de dicho mensaje de datos corresponde a dicho valor de destino de una manera prescrita respectiva, y en el caso de que dicha región especificada respectiva corresponda a dicho valor de destino de dicha manera prescrita respectiva para cada línea de instrucción de campo en una dicha regla respectiva, para aplicar la instrucción de procesamiento de cada instrucción de campo en dicha regla correspondiente con respecto a la región especificada respectiva, y en el caso de que no se encuentre ninguna de dichas reglas que corresponda, para realizar una operación de seguridad.
[0054] En consecuencia, la operación de seguridad puede comprender el registro de un evento de seguridad. Se puede definir un umbral predeterminado de eventos de seguridad registrados en un periodo predeterminado, y cuando se supera este umbral, se puede realizar una operación de seguridad adicional.
[0055] La operación de seguridad o la operación de seguridad adicional, puede comprender la emisión de un mensaje de alerta de seguridad, por ejemplo, por correo electrónico, SMS o cualquier otro canal conveniente.
[0056] La operación de seguridad o la operación de seguridad adicional, puede comprender la cancelación de la transmisión de una parte o de la totalidad del mensaje de datos.
[0057] La operación de seguridad o la operación de seguridad adicional puede comprender la modificación, adición o eliminación de una regla.
[0058] El paquete de datos puede transmitirse de acuerdo con un sistema de telecomunicaciones que define una pluralidad de capas de abstracción, y en el que dichos pasos se repiten en cada capa de abstracción.
[0059] En la disposición de la figura 1, se presume que las especificaciones son idénticas en el receptor y en el transmisor, y del mismo modo, que son idénticas independientemente de las características de dónde se implementen, por ejemplo, en un dispositivo final por un lado o en un servidor por otro. Por ejemplo, para la compresión, la dirección IP puede ser comprimida con respecto a los valores aprendidos a través de DHCP (global) o SLAAC (local de vínculo), de modo que el marcador indicará si se trata de una dirección global o local de vínculo. En el lado del receptor, sin embargo, puede ser suficiente descomprimir la dirección con un valor genérico que conozca la naturaleza de la dirección en el lugar del valor real de la dirección. De acuerdo con determinadas realizaciones, pueden preverse alternativas, por ejemplo, como las siguientes:
• Pueden definirse especificaciones que definen una operación de procesamiento en la que ciertos elementos presentan alternativas, para su aplicación en función de la situación -por ejemplo, diferentes valores de destino, operadores de coincidencia o instrucciones de procesamiento para los mensajes recibidos en contraposición a los mensajes transmitidos, etc.
• El procesador de transmisión o el procesador receptor puede adaptarse para procesar las especificaciones que definen una operación de procesamiento de una manera que corresponde a la situación del dispositivo en el que funciona. Por ejemplo, en los casos en que una especificación requiera una operación DHCP, en el caso de una transmisión desde el propio dispositivo, el procesador de transmisión puede programarse para omitir este paso y simplemente insertar un valor predefinido para la dirección IP de los dispositivos.
[0060] Sobre esta base, las realizaciones pueden contemplarse como una asociación de un estado con un determinado dispositivo, flujo de datos, mensaje o, en general, el compresor/descompresor. Un ejemplo específico sería la noción de que un dispositivo puede tener la misma dirección IPv6 durante su asociación con una red particular, la aplicación de gestión en este dispositivo tendrá el mismo puerto UDP durante toda la vida útil del dispositivo, una sesión de gestión específica (que reconfiguraría el período de suspensión del dispositivo) puede tener un ID de token CoAP válido para la duración de la sesión de gestión, el compresor/descompresor puede tener una función CDA específica implementada o ausente, etc. Sobre esta base, por ejemplo, si la entrada del valor de destino implementa una operación de aprendizaje como se describe con más detalle a continuación, el aprendizaje debe almacenarse en algún lugar. Esto puede ser en un servicio externo (por ejemplo, enviándolo a través de HTTPS o almacenándolo en una base de datos) o, de otro modo, pero en cualquier caso constituye esencialmente el mantenimiento de un estado. Lo mismo ocurre con cualquier función que pueda ser modificada, descubierta, aprendida o utilizada internamente. Puede haber una función que mantenga el número de mensajes que han pasado por el compresor. O bien, puede ser la función FEC la que podría estar almacenando mensajes específicos para su recuperación. O bien, las claves de cifrado, o de establecimiento de túnel, o de firma. Una vez que se considera que las comunicaciones tienen un aspecto imponente, cobra sentido un mecanismo de señalización que permite a los dos dispositivos en comunicación intercambiar datos relativos a su funcionamiento o a un estado concreto. A continuación, esto podría utilizarse para transmitir valores de las funciones, que podrían tener que configurarse cuando se ejecutan las funciones. Dicho estado puede conservarse por compresor/descompresor, por flujo de datos, por dispositivo, por especificación, por contexto, por función, o crearse dinámicamente. El estado puede guardarse localmente, remotamente (por ejemplo, a través de SSH, DNS, DHCP, HTTPS, MQTT, ODBC), o ambos. El contexto puede verse entonces como una descripción estática, que tiene indicaciones sobre cómo interactuar con el estado. Definición de la operación de procesamiento.
[0061] En determinadas realizaciones, un marcador o ID de regla puede transmitir información de estado para el compresor/descompresor en banda. Por ejemplo, un campo con una función puede tener un marcador de longitud variable estructurado (SVLM, por sus siglas en inglés). Este SVLM puede tener una estructura, por ejemplo, expresada en CBOR, como un TLV u otro. Esto puede dividir el marcador en dos partes - "marcador" e "información adicional". La "información adicional" puede contener información como el "nuevo valor de destino" para el valor de destino. En el ejemplo del servidor DHCP() que se muestra a continuación, la red puede realizar un DHCP para determinar la dirección IP, y luego enviar el valor obtenido en un SLVM al dispositivo.
[0062] Esto también podría utilizarse para inicializar la configuración de un dispositivo a través de una única especificación que define una operación de procesamiento asignada para este uso, por ejemplo, una especificación que define una operación de procesamiento que contiene todas las funciones que necesitan un valor. Las especificaciones que definen una operación de procesamiento por sí misma no generarán ningún paquete ni operaciones en el dispositivo más que la configuración del estado asociado a estas funciones.
[0063] Un ejemplo de esto podría ser preguntarle al usuario que defina algunos valores, por ejemplo, la IP de origen, la IP de destino y el destino de UDP en el dispositivo final. Esto podría expresarse, por ejemplo, con la definición de una función:
UserDefined()
[0064] El dispositivo puede, entonces, tener una ESPECIFICACIÓN DE CONFIG. con ID_DE_REGLA == 100, que es
Figure imgf000009_0001
[0065] Aquí, las variables "FirstIPv6Add", "SecondIPv6Add" y "FirstUDPDest" hacen referencia a parte del estado local en el punto final. A esto se le podría entonces hacer referencia mediante funciones en otras especificaciones que definen una operación de procesamiento, por ejemplo, para servir de valor de destino. La denominación está definida por el usuario, y puede tener una lógica como "All.IPv6.source" o "RuleID.5.IPv6.source", por ejemplo.
[0066] Esta especificación, que define una operación de procesamiento sólo coincidirá cuando sea necesario enviar una configuración, y puede utilizar el SVLM. (alternativamente, podría haber un protocolo de gestión que podría realizar esta configuración sobre CoAP u otros medios no entendidos directamente por el procesador de transmisión/procesador de recepción. El SLVM proporciona una manera de sincronizar los estados de los dos extremos comunicantes en banda.
[0067] La "información adicional" puede incluir también la indicación de que el emisor no tiene el campo en su estado. Esto indica al receptor que debe enviarlo siempre que sea posible. Por ejemplo, un dispositivo puede ver la función DHCP() en el contexto, pero puede NO ser capaz de ejecutar directamente el DHCP(). Tras la compresión, se indicaría en la parte "información adicional" del SVLM "estado local ausente".
[0068] Mientras que el método de la figura 2 presenta un enfoque generalmente binario para el procesamiento de mensajes de datos, en el que, por un lado, un mensaje se considera válido y se procesa de la misma manera que todos los mensajes válidos y, en el que, por otro lado, cuando no se encuentra ninguna regla, se realiza una operación de seguridad. En determinadas realizaciones, puede preverse que ciertas reglas pueden comprender un número de reglas que se proporcionan no con el propósito de compresión/descompresión y similares, sino específicamente para detectar condiciones de seguridad o de error.
[0069] Sobre esta base, mientras que el enfoque básico de la realización de una operación de seguridad puede depender de la captura de condiciones de seguridad o error imprevistas, se pueden proporcionar reglas para las condiciones de error predecibles.
[0070] Dichas reglas pueden comprender líneas de instrucción de campo como las descritas anteriormente, por ejemplo, para operaciones de compresión y descompresión, y líneas de instrucción de seguridad adicionales, que se proporcionan para la detección y caracterización de condiciones de error y seguridad. Cuando se toma este enfoque, puede existir una familia de reglas con líneas de instrucción de campo idénticas, pero que se diferencian por sus líneas de instrucción de seguridad.
[0071] Sobre esta base, una o más de dichas líneas de instrucción de campo pueden ser líneas de instrucción de seguridad, donde una o más de dichas líneas de instrucción de seguridad especifican una operación de seguridad para su ejecución en dicho caso de que la región especificada respectiva corresponda al valor de destino de la manera prescrita respectiva para cada línea de instrucción de campo en una dicha regla respectiva.
[0072] Un enfoque básico como el de la figura 3 puede extenderse en una serie de formas para aumentar su potencia y sotisficación.
[0073] El enfoque general de probar cada regla y luego aplicar cada línea de instrucción de campo en la regla significa que las operaciones pueden ser incluidas en la regla escrita de tal manera que no tienen ningún efecto en la prueba (siempre son verdaderas) por ejemplo, mediante la configuración del operador de coincidencia a ignorar, pero luego incluir operaciones particulares para el procesamiento adicional del mensaje de datos. Una serie de ejemplos presentados a continuación utilizan este enfoque.
[0074] En algunos casos, se puede suponer que las líneas de instrucción de campo de la regla seleccionada se aplican en el orden en que aparecen en la regla, y que el mensaje de datos de salida se construye de extremo a extremo en la misma secuencia que el orden de las líneas de instrucción de campo en la regla que se aplica. De este modo, el mensaje de datos de salida puede estructurarse definiendo adecuadamente la secuencia de líneas de instrucción de campo, y el número de ID de campo puede utilizarse, en algunos casos, para otros fines. Una serie de ejemplos presentados a continuación utilizan este enfoque.
[0075] La instrucción de procesamiento puede comprender una acción de compresión y/o descompresión como se comenta con respecto a la figura 1. Además de realizar una variedad de operaciones adicionales con la instrucción de procesamiento, también podemos definir funciones que proporcionan una salida de longitud cero (por ejemplo, que no emitan nada) y que sólo se centren en la acción. El componente de datos adicional recuperado de acuerdo con el método de la figura 2 puede utilizarse entonces de diversas maneras.
[0076] En algunos casos, el componente de datos adicional puede utilizarse para rellenar un mensaje de datos descomprimido llenando secciones vacías del mensaje de datos con la información recuperada. Sobre esta base, la operación de los métodos de la figura 2 y 3 tomados conjuntamente constituye una operación de compresión/descompresión de extremo a extremo. Por definición, el método puede comprender el paso adicional de sustituir el componente de datos por el componente de datos adicional.
[0077] La figura 4 presenta un ejemplo de aprendizaje de especificación mediante comunicaciones de estado de acuerdo con una realización. Tal y como se muestra, se produce una serie de comunicaciones 411, 412, 413, 414, 415 entre un primer dispositivo A 400 y un segundo dispositivo B 401. Al principio, no se realiza la fase de aprendizaje. El dispositivo A 400 recibe mensajes 411, 412 del dispositivo B 401 comprimidos y luego descomprimidos de acuerdo con una primera especificación. A continuación, el dispositivo A 400 envía un mensaje 413 también comprimido y luego descomprimido de acuerdo con una primera especificación. Este mensaje 413 contiene cierta información de aprendizaje. Cuando el procesador de recepción del dispositivo B recibe esto, éste puede aprender parámetros por medio de los cuales puede, entonces, compilar una nueva especificación. El dispositivo B 401 entonces utiliza la nueva especificación para indicar que puede alcanzarse un índice de compresión mayor en el mensaje 414. En este ejemplo, el residuo puede ser el mismo que en la regla 1 (ninguna fase de aprendizaje en enlace descendente). Cuando el dispositivo recibe la nueva especificación, éste puede utilizar una especificación más optimizada con un residuo justo.
[0078] Si el dispositivo B 401 se reinicia, puede volver a la especificación inicial y entonces el dispositivo A 400 tendrá que reenviar la información de aprendizaje. Si el dispositivo A 400 cambia su información de aprendizaje, también puede volver a la regla 1.
[0079] De acuerdo con diversas variantes opcionales, el componente de datos adicional puede someterse a procesamiento adicional en el procesador receptor o el procesador de transmisión.
[0080] De acuerdo con diversas variantes opcionales, el componente de datos adicional 371 puede ocupar el lugar del componente de datos original 312 en un mensaje de datos reconstituido o descomprimido 370, por ejemplo, a través de una unidad funcional de sustitución 365. De acuerdo con diversas variantes opcionales, el componente de datos adicional 391 puede ser añadido, por ejemplo, por una unidad funcional de "adición" 366 al mensaje de datos como un campo adicional que no pertenece al original o como un mensaje de datos reconstituido 380.
[0081] En determinadas realizaciones, en el lado de transmisión, el método puede comprender adicionalmente el procesamiento de un mensaje de datos que presenta una característica para su transmisión, comprendiendo el método los pasos de analizar un campo de dicho mensaje de datos para un componente de datos de un primer tipo, donde el componente de datos de dicho primer tipo es derivable de una fuente de datos diferente de un flujo de datos asociado a dicho mensaje de datos en combinación con conocimiento de dicha característica, añadir un marcador a dicho mensaje de datos, estando dicho marcador asociado a una especificación de una operación de procesamiento que define dicha derivación.
[0082] El paso de añadir un marcador asociado al primer tipo de componente de datos y la característica al mensaje de datos puede comprender sustituir el componente de datos por dicho marcador.
[0083] En determinadas realizaciones, en el lado de recepción, el método puede comprender adicionalmente un método de procesamiento de un mensaje de datos recibido que presenta una característica conocida, comprendiendo el método los pasos de extraer un marcador asociado a un primer tipo de componente de datos y la característica del mensaje de datos, y derivar un componente de datos adicional por medio de una operación de procesamiento con respecto a una fuente de datos diferente a un flujo de datos asociado al mensaje de datos, donde dicha operación de procesamiento es definida en una especificación asociada a dicho marcador. El método puede comprender el paso adicional de reconstituir el componente de datos con dicho componente de datos adicional.
[0084] En algunos casos, las líneas de instrucción de seguridad pueden utilizarse para enriquecer un mensaje de datos mediante la adición de datos complementarios en el mensaje de datos, además del mensaje de datos original. En algunos casos, el método puede comprender los pasos adicionales de almacenar el componente de datos adicional, y en una iteración adicional del paso de analizar una región de un mensaje de datos adicional para un marcador asociado a un primer tipo de componente de datos y dicha característica, recuperar dichos datos sustitutivos almacenados en lugar de repetir dicho paso de interrogar una fuente de datos asociada a dicho marcador basándose en dicha característica.
[0085] Cabe observar que los diversos casos de uso mencionados anteriormente pueden combinarse. Por ejemplo, los datos adicionales pueden añadirse al flujo de datos y almacenarse para futuras iteraciones, pueden utilizarse para descomprimir el mensaje de datos y almacenarse para futuras iteraciones o cualquier otra combinación.
[0086] Cabe observar que, en un contexto como este, la recuperación y, en su caso, el uso del componente de datos adicional, puede realizarse en diversos puntos diferentes del proceso. Por ejemplo, la fuente de datos puede ser interrogada en el contexto de la especificación del campo, la definición o resolución de la instrucción de procesamiento, la definición de la manera en la que se requiere que un valor de destino particular corresponda al valor de destino, la definición del valor, etc. En las siguientes secciones, algunas de estas posibilidades se exploran con mayor detalle.
[0087] En consecuencia, en determinadas realizaciones, un contexto de compresión de encabezado define una o más reglas, comprendiendo cada regla una o más líneas de instrucción de campo, comprendiendo cada línea de instrucción de campo un valor de destino y una instrucción de procesamiento; y un operador de coincidencia que indica la manera en que el contenido de una región especificada respectiva de un mensaje de datos debe corresponder al valor de destino. Cuando no se puede encontrar ninguna regla coincidente sobre esta base, se lleva a cabo una operación de seguridad tal como la emisión de una alerta o el bloqueo de una transmisión o el procesamiento del mensaje.
[0088] Alguna función CDA puede llevar a un proceso local del mensaje y sobrepasar el proceso de compresión.
[0089] Las realizaciones de software incluyen, pero no se limitan a, aplicaciones, firmware, software residente, microcódigo, etc. La invención puede adoptar la forma de un producto de programa de ordenador accesible desde un medio utilizable por ordenador o legible por ordenador que proporciona un código de programa para su uso por o en conexión con un ordenador o un sistema de ejecución de instrucciones. Las realizaciones de software incluyen software adaptado para implementar los pasos analizados anteriormente con referencia a las figuras 1 a 4. Un medio utilizable por ordenador o legible por ordenador puede ser cualquier aparato que pueda contener, almacenar, comunicar, propagar o transportar el programa para su uso por o en conexión con el sistema, aparato o dispositivo de ejecución de instrucciones. El medio puede ser un sistema (o aparato o dispositivo) electrónico, magnético, óptico, electromagnético, infrarrojo o semiconductor, o un medio de propagación.
[0090] En algunas realizaciones, los métodos y procesos descritos en la presente memoria pueden ser implementados en su totalidad o en parte por un dispositivo de usuario. Estos métodos y procesos pueden ser implementados por programas o servicios de aplicación informática, una interfaz de programación de aplicaciones (API), una biblioteca y/u otro producto de programa de ordenador, o cualquier combinación de dichas entidades.
[0091] El dispositivo de usuario puede ser un dispositivo móvil, como un teléfono inteligente o una tableta, un dron, un ordenador o cualquier otro dispositivo con capacidad de procesamiento, como un robot u otro dispositivo conectado, incluidos los dispositivos loT (Internet de las cosas).
[0092] La figura 5 muestra un sistema informático genérico adecuado para la implementación de realizaciones de la invención.
[0093] Como se muestra en la figura 5, un sistema incluye un dispositivo lógico 501 y un dispositivo de almacenamiento 502. El sistema puede, opcionalmente, incluir una interfaz de visualización 504 y una pantalla 511, un subsistema de entrada/salida 503, un subsistema de comunicación 520 y/u otros componentes no mostrados.
[0094] El dispositivo lógico 501 incluye uno o más dispositivos físicos configurados para ejecutar instrucciones. Por ejemplo, el dispositivo lógico 501 puede estar configurado para ejecutar instrucciones que forman parte de una o más aplicaciones, servicios, programas, rutinas, bibliotecas, objetos, componentes, estructuras de datos u otras construcciones lógicas. Tales instrucciones pueden ser implementadas para realizar una tarea, implementar un tipo de datos, transformar el estado de uno o más componentes, lograr un efecto técnico, o llegar a un resultado deseado de otro modo.
[0095] El dispositivo lógico 501 puede incluir uno o más procesadores configurados para ejecutar instrucciones de software. Adicional o alternativamente, el dispositivo lógico puede incluir uno o más dispositivos lógicos de hardware o firmware configurados para ejecutar instrucciones de hardware o firmware. Los procesadores del dispositivo lógico pueden ser de un solo núcleo o de varios núcleos, y las instrucciones ejecutadas en ellos pueden estar configuradas para un procesamiento secuencial, paralelo y/o distribuido. Los componentes individuales del dispositivo lógico 501 pueden ser distribuidos opcionalmente entre dos o más dispositivos separados, que pueden estar localizados remotamente y/o configurados para un procesamiento coordinado. Aspectos del dispositivo lógico 1001 pueden ser virtualizados y ejecutados por dispositivos informáticos en red accesibles remotamente y configurados en una configuración de computación en la nube.
[0096] El dispositivo de almacenamiento 502 incluye uno o más dispositivos físicos configurados para contener instrucciones ejecutables por el dispositivo lógico para implementar los métodos y procesos descritos en la presente memoria. Cuando se implementan dichos métodos y procesos, el estado del dispositivo de almacenamiento 502 puede transformarse, por ejemplo, para contener datos diferentes.
[0097] El dispositivo de almacenamiento 502 puede incluir dispositivos extraíbles y/o integrados. El dispositivo de almacenamiento puede estar almacenado local o remotamente (en una nube, por ejemplo). El dispositivo de almacenamiento 502 puede comprender uno o más tipos de dispositivo de almacenamiento, incluyendo memoria óptica (por ejemplo, CD, DVD, HD-DVD, Blu-Ray Disc, etc.), memoria de semiconductor (por ejemplo, FLASH, RAM, EPROM, EEPROM, etc.), y/o memoria magnética (por ejemplo, unidad de disco duro, unidad de disquete, unidad de cinta, MRAM, etc.), entre otros. El dispositivo de almacenamiento puede incluir dispositivos volátiles, no volátiles, dinámicos, estáticos, de lectura/escritura, de sólo lectura, de acceso aleatorio, de acceso secuencial, direccionables por ubicación, direccionables por archivo y/o direccionables por contenido. En determinadas disposiciones, el sistema puede comprender una interfaz 503 adaptada para soportar comunicaciones entre el dispositivo lógico 501 y otros componentes del sistema. Por ejemplo, los componentes del sistema adicionales pueden comprender dispositivos de almacenamiento extendido extraíbles y/o integrados. Los dispositivos de almacenamiento extendido pueden comprender uno o más tipos de dispositivo de almacenamiento, incluyendo una memoria óptica 532 (por ejemplo, CD, DVD, HD-DVD, Blu-Ray Disc, etc.), una memoria de semiconductor 533 (por ejemplo, RAM, EPROM, EEPROM, FLASH, etc.), y/o una memoria magnética 531 (por ejemplo, unidad de disco duro, unidad de disquete, unidad de cinta, MRAM, etc.), entre otros. Dicho dispositivo de almacenamiento extendido puede incluir dispositivos volátiles, no volátiles, dinámicos, estáticos, de lectura/escritura, de sólo lectura, de acceso aleatorio, de acceso secuencial, direccionables por ubicación, direccionables por archivo y/o direccionables por contenido.
[0098] Cabe observar que el dispositivo de almacenamiento incluye uno o más dispositivos físicos, y excluye la propagación de señales per se. Sin embargo, algunos aspectos de las instrucciones descritas en la presente memoria pueden ser propagados alternativamente por un medio de comunicación (por ejemplo, una señal electromagnética, una señal óptica, etc.), en lugar de ser almacenados en un dispositivo de almacenamiento.
[0099] Algunos aspectos del dispositivo lógico 501 y del dispositivo de almacenamiento 502 pueden integrarse juntos en uno o más componentes de hardware lógico. Dichos componentes de hardware lógico pueden incluir matrices de puertas programables en campo (FPGA), circuitos integrados específicos de programa y aplicación (PASIC/ASIC), productos estándar específicos de programa y aplicación (PSSP/ASSP), sistema en un chip (SOC), y dispositivos lógicos programables complejos (CPLD), por ejemplo.
[0100] El término "programa" puede utilizarse para describir un aspecto de sistema informático implementado para realizar una función concreta. En algunos casos, un programa puede ser instanciado a través de un dispositivo lógico que ejecuta instrucciones legibles por máquina contenidas en el dispositivo de almacenamiento 502. Se entenderá que diferentes módulos pueden ser instanciados desde la misma aplicación, servicio, bloque de código, objeto, biblioteca, rutina, API, función, etc. Del mismo modo, el mismo programa puede ser instanciado por diferentes aplicaciones, servicios, bloques de código, objetos, rutinas, API, funciones, etc. El término "programa" puede abarcar archivos individuales o grupos de archivos ejecutables, archivos de datos, bibliotecas, controladores, scripts, registros de bases de datos, etc.
[0101] En particular, el sistema de la figura 5 puede utilizarse para implementar realizaciones de la invención.
[0102] Por ejemplo, un programa que implemente los pasos descritos con respecto a las figuras 2 a 5, o los algoritmos presentados anteriormente pueden ser almacenados en el dispositivo de almacenamiento 502 y ejecutados por el dispositivo lógico 501. El mensaje de datos y/o el componente de datos puede ser recibido y/o transmitido a través de la interfaz de comunicaciones 520 y, en particular, a través de la red de radio 574 o de Internet 575. El contexto o las especificaciones individuales pueden recibirse y/o transmitirse a través de la interfaz de comunicaciones 520 y, en particular, a través de la red de radio 574 o de Internet 575. El mensaje de datos y/o el componente de datos puede ser almacenado en un buffer o de otra manera en el dispositivo de almacenamiento 502, 531, 532, 533. El contexto o las especificaciones individuales pueden almacenarse en el dispositivo de almacenamiento 502, 531, 532, 533. El mensaje de datos, y/o el componente de datos puede ser el usuario. Las funciones de cualquiera o de todas las unidades 320, 370, o de cualquiera o de todas sus respectivas subunidades, pueden ser implementadas de forma similar por un programa que realiza las funciones requeridas, en comunicación con unidades adicionales de hardware dedicado, según sea necesario. Por lo tanto, la invención puede ser incorporada en la forma de un programa de ordenador.
[0103] Cabe observar que un "servicio", tal y como se utiliza aquí, es un programa de aplicación ejecutable a través de múltiples sesiones de usuario. Un servicio puede estar disponible para uno o más componentes del sistema, programas y/u otros servicios. En algunas implementaciones, un servicio puede ejecutarse en uno o más dispositivos informáticos de servidor.
[0104] Cuando se incluye, el subsistema de visualización 511 puede utilizarse para presentar una representación visual de los datos contenidos en un dispositivo de almacenamiento. Esta representación visual puede adoptar la forma de una interfaz gráfica de usuario (GUI). A medida que los métodos y procesos descritos en la presente memoria cambian los datos contenidos en el dispositivo de almacenamiento 502 y, por lo tanto, transforman el estado del dispositivo de almacenamiento 502, el estado del subsistema de visualización 511 puede transformarse igualmente para representar visualmente cambios en los datos subyacentes. El subsistema de visualización 511 puede incluir uno o más dispositivos de visualización que utilizan virtualmente cualquier tipo de tecnología, por ejemplo, como se analizó anteriormente. Dichos dispositivos de visualización pueden combinarse con un dispositivo lógico y/o un dispositivo de almacenamiento en un contenedor compartido, o dichos dispositivos de visualización pueden ser dispositivos de visualización periféricos. También puede proporcionarse una salida de audio, como un altavoz 514.
[0105] Cuando se incluye, el subsistema de entrada puede comprender o interactuar con uno o más dispositivos de entrada de usuario, como un teclado 512, un ratón 513, una pantalla táctil 511 o un controlador de juegos (no mostrado). En algunas realizaciones, el subsistema de entrada puede comprender o interactuar con componentes seleccionados de entrada natural de usuario (NUI). Dichos componentes pueden ser integrados o periféricos, y la transducción y/o el procesamiento de las acciones de entrada pueden ser manejados dentro o fuera del tablero. Algunos ejemplos de componentes de NUI pueden incluir un micrófono 515 para el reconocimiento del habla y/o de la voz; una cámara de infrarrojos, de color, estereoscópica y/o de profundidad 516 para la visión artificial y/o el reconocimiento de gestos; un rastreador de cabeza, un rastreador de ojos, un acelerómetro y/o un giroscopio para la detección del movimiento y/o el reconocimiento de la intención; así como componentes de detección de campo eléctrico para evaluar la actividad cerebral. La interfaz de entrada/salida 503 puede interactuar igualmente con un altavoz 514, un motor vibratorio o cualquier otro dispositivo transductor que se le ocurra al experto en la materia. Por ejemplo, el sistema puede interactuar con una impresora 517.
[0106] Cuando se incluye, el subsistema de comunicación 520 puede estar configurado para acoplar de manera comunicativa el sistema informático con uno o más dispositivos informáticos. Por ejemplo, el módulo de comunicación de acoplar de manera comunicativa el dispositivo informático a un servicio remoto alojado, por ejemplo, en un servidor remoto 576 a través de una red de cualquier tamaño, incluyendo, por ejemplo, una red de área personal, una red de área local, una red de área amplia, o Internet. El subsistema de comunicación puede incluir dispositivos de comunicación por cable y/o inalámbricos compatibles con uno o varios protocolos de comunicación diferentes. Como ejemplos no limitativos, el subsistema de comunicación puede estar configurado para la comunicación a través de una red telefónica inalámbrica 574, o una red de área local o de área amplia por cable o inalámbrica. En algunas realizaciones, el subsistema de comunicación puede permitir que el sistema informático envíe y/o reciba mensajes hacia y/o desde otros dispositivos a través de una red como Internet 575. El subsistema de comunicaciones puede soportar, además, comunicaciones inductivas de corto alcance con dispositivos pasivos o activos (NFC, RFID, UHF, etc.). En determinadas variantes de las realizaciones descritas anteriormente, los datos de tráfico pueden recibirse a través de la red de radio 574 o de Internet 575.
[0107] El sistema de la figura 5 pretende reflejar una amplia gama de diferentes tipos de sistemas de gestión de información. Cabe observar que muchos de los subsistemas y características descritos con respecto a la figura 5 no son necesarios para la implementación de la invención, pero se incluyen para reflejar posibles sistemas de acuerdo con la presente invención. Cabe observar que las arquitecturas de sistema varían ampliamente, y la relación entre los diferentes subsistemas de la figura 5 es meramente esquemática, y es probable que varíe en términos de disposición y distribución de funciones en los sistemas. Cabe observar que, en la práctica, es probable que los sistemas incorporen diferentes subconjuntos de las diversas características y subsistemas descritos con respecto a la figura 5.
[0108] Entre los ejemplos de dispositivos que comprenden al menos algunos elementos del sistema descrito con referencia a la figura 5 y que son adecuados para implementar realizaciones de la invención se incluyen los teléfonos móviles, incluidos los teléfonos inteligentes, y los sistemas de navegación de vehículos, los sensores distribuidos, los electrodomésticos inteligentes, los equipos de infraestructura industrial conectados, las implementaciones o los componentes de ciudades inteligentes, las implementaciones o los componentes de consumo de energía inteligente, la búsqueda de artículos o personas, los servicios médicos y de emergencia, la agricultura, los sensores vestibles para humanos y otras especies, etc.
[0109] La figura 6 muestra un dispositivo de sensor independiente adaptable para constituir una realización. El dispositivo de sensor independiente 600 de la figura 6 puede representar un componente típico del "Internet de las cosas". Dichos dispositivos suelen estar sometidos a limitaciones significativas en términos de ancho de banda de comunicaciones, consumo de energía, capacidad de procesamiento y de memoria y, de este modo, pueden beneficiarse de muchos de los mecanismos presentados en el análisis anterior. Como se muestra en la figura 6, el dispositivo de sensor independiente incorpora unos elementos 501, 502, 503, 520 y un dispositivo de sensor 560. Está en comunicación con la red de radio 574 y un servidor 576 a través de la red 575. También pueden utilizarse mecanismos de comunicación alternativos, tal como una red dedicada o wifi.
[0110] Tal y como se muestra, el dispositivo de sensor es un sensor de temperatura. No obstante, cabe observar que podría igualmente incorporar cualquier otro tipo de sensor u otro transductor, o una pluralidad de transductores adecuados para la función del dispositivo.
[0111] Se entenderá que las configuraciones y/o los enfoques descritos en el presente documento son de naturaleza ilustrativa, y que estas realizaciones o ejemplos específicos no deben considerarse en un sentido limitativo, ya que son posibles numerosas variaciones. Las rutinas o métodos específicos descritos en la presente memoria pueden representar una o más de cualquier número de estrategias de procesamiento. Como tal, varios actos ilustrados y/o descritos pueden ser realizados en la secuencia ilustrada y/o descrita, en otras secuencias, en paralelo, u omitirse. Asimismo, puede cambiarse el orden de los procesos descritos anteriormente.
[0112] El objeto de la presente exposición incluye todas las combinaciones y subcombinaciones novedosas y no evidentes de los diversos procesos, sistemas y configuraciones, y otras características, funciones, actos y/o propiedades expuestos en la presente memoria, así como cualquier equivalente de los mismos.

Claims (9)

REIVINDICACIONES
1. Método de realización de compresión/descompresión de encabezado en un mensaje de datos (11; 12), donde se definen una o más reglas (110, 120, 130, 140; 160, 170, 180, 190), comprendiendo cada una de dichas reglas una o más líneas de instrucción de campo (141, 142, 143, 144, 145; 191, 192, 193, 194, 195), comprendiendo cada una de dichas líneas de instrucción de campo un valor de destino (141b, 142b; 191b, 192b) y una instrucción de procesamiento que define una operación de compresión/descompresión (141d, 142d;191d, 192d); comprendiendo dicho método los pasos de analizar dicho mensaje de datos, determinar para una de dichas líneas de instrucción de campo si una región especificada respectiva de dicho mensaje de datos corresponde a dicho valor de destino de una manera prescrita respectiva, y en el caso de que dicha región especificada respectiva corresponda a dicho valor de destino de dicha manera prescrita respectiva para cada línea de instrucción de campo en una de dichas reglas respectivas, aplicar la instrucción de procesamiento de cada instrucción de campo en dicha regla correspondiente con respecto a la región especificada respectiva, estando dicho método caracterizado por que en el caso de que no se encuentre ninguna de dichas reglas que corresponda, realizar un paso adicional de realización de una operación de seguridad que comprende una o más de una emisión de un mensaje de alerta de seguridad,
la cancelación de la transmisión de algunos o todos los paquetes de datos y
la modificación, adición o eliminación de una regla.
2. Método de acuerdo con la reivindicación 1, donde dicho valor de destino se obtiene de un servicio externo.
3. Método de acuerdo con cualquier reivindicación anterior, donde dicho valor de destino se define a partir de información extraída de uno o más de dichos mensajes de datos.
4. Método de acuerdo con cualquier reivindicación anterior, donde dicha operación de seguridad comprende, además, el registro de un evento de seguridad.
5. Método de acuerdo con la reivindicación 4, donde en el caso de que se supere un umbral predeterminado de eventos de seguridad registrados en un período predeterminado, se realiza una operación de seguridad adicional.
6. Método de acuerdo con cualquier reivindicación anterior, donde dicho paquete de datos se transmite a través de una pluralidad de dispositivos, y donde dichos pasos se repiten en cada uno de dichos dispositivos.
7. Método de acuerdo con cualquier reivindicación anterior, donde dicho paquete de datos se transmite de acuerdo con un sistema de telecomunicaciones que define una pluralidad de capas de abstracción, y donde dichos pasos se repiten en cada capa de abstracción.
8. Programa de ordenador que comprende instrucciones adaptadas para implementar los pasos de cualquiera de las reivindicaciones 1 a 7.
9. Procesador de compresión/descompresión de encabezado, que comprende un almacenamiento que almacena una o más reglas (110, 120, 130, 140; 160, 170, 180, 190), comprendiendo cada una de dichas reglas una o más líneas de instrucción de campo (141, 142, 143, 144, 145; 191, 192, 193, 194, 195), comprendiendo cada una de dichas líneas de instrucción de campo un valor de destino (141b, 142b; 191b, 192b) y una instrucción de procesamiento que define una operación de compresión/descompresión (141d, 142d;191d, 192d);
estando adaptado dicho procesador para analizar un mensaje de datos, y para determinar para una de dichas líneas de instrucción de campo si una región especificada respectiva de dicho mensaje de datos corresponde a dicho valor de destino de una manera prescrita respectiva, y en el caso de que dicha región especificada respectiva corresponda a dicho valor de destino de dicha manera prescrita respectiva para cada línea de instrucción de campo en una de dichas reglas respectivas, para aplicar la instrucción de procesamiento de cada instrucción de campo en dicha regla correspondiente con respecto a la región especificada respectiva, y estando dicho procesador caracterizado por que en el caso de que no se encuentre ninguna de dichas reglas que corresponda, se adapta además para realizar una o más de
la emisión de un mensaje de alerta de seguridad,
la cancelación de la transmisión de algunos o todos los paquetes de datos y
la modificación, adición o eliminación de una regla.
ES18305302T 2018-03-16 2018-03-16 Método y aparato para procesar datos de mensaje Active ES2917448T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP18305302.4A EP3541041B1 (en) 2018-03-16 2018-03-16 Method and apparatus for processing message data

Publications (1)

Publication Number Publication Date
ES2917448T3 true ES2917448T3 (es) 2022-07-08

Family

ID=61827659

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18305302T Active ES2917448T3 (es) 2018-03-16 2018-03-16 Método y aparato para procesar datos de mensaje

Country Status (5)

Country Link
US (1) US20210051134A1 (es)
EP (1) EP3541041B1 (es)
CN (1) CN112335212B (es)
ES (1) ES2917448T3 (es)
WO (1) WO2019175276A1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148694B (zh) * 2019-06-28 2022-06-14 华为技术有限公司 一种用于电子设备的数据压缩、数据解压方法及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873627B1 (en) * 1995-01-19 2005-03-29 The Fantastic Corporation System and method for sending packets over a computer network
US7386525B2 (en) * 2001-09-21 2008-06-10 Stonesoft Corporation Data packet filtering
US7260840B2 (en) * 2003-06-06 2007-08-21 Microsoft Corporation Multi-layer based method for implementing network firewalls
CN100450075C (zh) * 2004-08-16 2009-01-07 上海华为技术有限公司 签约分组数据协议上下文的处理方法
US7549158B2 (en) * 2004-08-31 2009-06-16 Microsoft Corporation Method and system for customizing a security policy
US7784094B2 (en) * 2005-06-30 2010-08-24 Intel Corporation Stateful packet content matching mechanisms
EP2245743B1 (en) * 2008-01-14 2020-02-26 Nxp B.V. Methods for compressing and decompressing mifare applications
US8627462B2 (en) * 2010-05-10 2014-01-07 Mcafee, Inc. Token processing
US9060032B2 (en) * 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8553688B2 (en) * 2011-07-28 2013-10-08 Cisco Technology, Inc. Dynamic allocation of context identifiers for header compression
CN103890754B (zh) * 2011-08-24 2016-12-14 谷歌公司 对字体文件中的数据进行压缩的系统和方法
US9424267B2 (en) * 2013-01-02 2016-08-23 Oracle International Corporation Compression and deduplication layered driver
US10171491B2 (en) * 2014-12-09 2019-01-01 Fortinet, Inc. Near real-time detection of denial-of-service attacks
US9894100B2 (en) * 2014-12-30 2018-02-13 Fortinet, Inc. Dynamically optimized security policy management
US10474637B2 (en) * 2015-08-21 2019-11-12 Waziki Corporation Systems, media and methods for virtualized data compression
WO2017175160A1 (en) * 2016-04-06 2017-10-12 Karamba Security Centralized controller management and anomaly detection
WO2018081051A1 (en) * 2016-10-25 2018-05-03 Redberry Systems, Inc. Real-time malware detection
US9692784B1 (en) * 2016-10-25 2017-06-27 Fortress Cyber Security, LLC Security appliance

Also Published As

Publication number Publication date
EP3541041A1 (en) 2019-09-18
CN112335212A (zh) 2021-02-05
CN112335212B (zh) 2023-04-04
WO2019175276A1 (en) 2019-09-19
US20210051134A1 (en) 2021-02-18
EP3541041B1 (en) 2022-03-09

Similar Documents

Publication Publication Date Title
CN113573288B (zh) 服务层的业务导向
US9479450B2 (en) Resolving communication collisions in a heterogeneous network
US9942247B2 (en) Traffic shape obfuscation when using an encrypted network connection
US10250578B2 (en) Internet key exchange (IKE) for secure association between devices
US11283607B2 (en) Dynamic data encryption
ES2921983T3 (es) Método y aparato para procesar datos de mensaje
US9674142B2 (en) Monitoring network traffic
US20240314058A1 (en) Radio equipment directive solutions for requirements on cybersecurity, privacy and protection of the network
EP3293933A1 (en) Communication content protection
US20180091510A1 (en) Device, system and method for protecting network devices
ES2917448T3 (es) Método y aparato para procesar datos de mensaje
US10367657B2 (en) Bridge port extender
EP4170971A1 (en) End point secured network
EP3298745B1 (en) Small form-factor pluggable module
US10659353B2 (en) Dynamic scriptable routing
KR101692670B1 (ko) 단방향 데이터 전송 시스템 및 그 방법
JP7068482B2 (ja) 通信制御システム
CN113452663A (zh) 基于应用特征的网络业务控制
WO2024060302A1 (en) Technologies for congestion signaling in wireless networks
US10469377B2 (en) Service insertion forwarding
CN114039770A (zh) 访问控制方法、装置、存储介质及电子设备