ES2866103T3 - Método, dispositivo, y sistema de aceleración de IPSec - Google Patents

Método, dispositivo, y sistema de aceleración de IPSec Download PDF

Info

Publication number
ES2866103T3
ES2866103T3 ES15880958T ES15880958T ES2866103T3 ES 2866103 T3 ES2866103 T3 ES 2866103T3 ES 15880958 T ES15880958 T ES 15880958T ES 15880958 T ES15880958 T ES 15880958T ES 2866103 T3 ES2866103 T3 ES 2866103T3
Authority
ES
Spain
Prior art keywords
module
ike
data forwarding
packet
forwarding module
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
ES15880958T
Other languages
English (en)
Inventor
Yuming Xie
Xinyu Hu
Yuping Zhao
Fan Yang
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2866103T3 publication Critical patent/ES2866103T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
    • H04L41/0286Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP] for search or classification or discovery of web services providing management functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un método de aceleración de Seguridad de Protocolo de Internet, IPSec, en donde el método se realiza por un módulo de Intercambio de Claves de Internet, IKE, desplegado en un primer dispositivo, el primer dispositivo se comunica con un segundo dispositivo y un dispositivo par, y el método comprende: generar (S101), por el módulo de IKE, un paquete de sesión de establecimiento del enlace de IKE según un parámetro de configuración de IPSec y una política de seguridad que está en una base de datos de políticas de seguridad, SPD; enviar (S102), por el módulo de IKE, el paquete de sesión de establecimiento del enlace de IKE al dispositivo par, y establecer una asociación de seguridad, SA, con el dispositivo par; y enviar (S103), por el módulo de IKE, la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo.

Description

DESCRIPCIÓN
Método, dispositivo, y sistema de aceleración de IPSec
Campo técnico
Las realizaciones de la presente invención se refieren a tecnologías de ciberseguridad y, en particular, a un método, un aparato y un sistema de aceleración de Seguridad de Protocolo de Internet (en inglés, Internet Protocol Security, IPSec).
Antecedentes
El rápido desarrollo de los servicios de red requiere una mayor seguridad de la información de la red. El Grupo de Trabajo de Ingeniería de Internet (en inglés, Internet Engineering Task Force, IETF) ha desarrollado IPSec para garantizar la seguridad de las comunicaciones.
Un flujo de trabajo de IPSec se divide en dos etapas.
La primera etapa es el establecimiento del enlace de Intercambio de Claves de Internet (en inglés, Internet Key Exchange, IKE). El establecimiento del enlace de IKE proporciona, para IPSec, servicios de negociación automática de intercambio de claves y establecimiento de asociación de seguridad (en inglés, Security Association, SA). El establecimiento del enlace de IKE incluye: intercambio de carga útil de SA de IKE, una carga útil de intercambio de claves (en inglés, Key Exchange, KE), intercambio de carga útil de número aleatorio usado una sola vez (nonce), cálculo de un parámetro de clave compartida y autenticación de identidad por dos partes de la comunicación, intercambio de carga útil de SA de IPSec, negociación de un algoritmo de verificación de SA de IPSec y algoritmo de cifrado, y similares.
La segunda etapa es el reenvío de datos. Un paquete de Protocolo de Internet (en inglés, Internet Protocol, IP) se reenvía después de ser cifrado/descifrado y encapsulado/desencapsulado.
En la técnica anterior, cuando una herramienta Pluto de gestión de claves de un producto Openswan de código abierto que se ejecuta en una plataforma de sistema operativo Linux realiza el establecimiento del enlace de IKE, una máquina de un solo subproceso y un solo estado maneja, en modo de usuario, todo el trabajo de establecimiento del enlace de IKE. Es decir, un paquete para el siguiente establecimiento del enlace de IKE se puede recibir y procesar solo después de que se procesen todos los paquetes para el establecimiento del enlace de IKE actual. Esto provoca una gran carga en Pluto y una baja velocidad de establecimiento del enlace. Además, el establecimiento del enlace de IKE y el reenvío de datos se completan por una sola máquina virtual (en inglés, Virtual Machine, VM) o un host. Debido a que la capacidad de procesamiento de la máquina virtual o del host es limitada, el establecimiento del enlace de IKE se ve afectado, y el reenvío de datos es lento.
El documento US7536548B1 se refiere a un sistema y una metodología que facilitan la seguridad de la red y el acceso a los datos en un entorno de control industrial. Se proporciona un sistema de control industrial que incluye un controlador industrial para comunicarse con una red. Se puede configurar al menos una capa de seguridad en el controlador industrial, en donde la capa de seguridad se puede asociar con uno o más componentes de seguridad para controlar y/o restringir el acceso de datos al controlador. Un sistema operativo gestiona la capa de seguridad según un procesador para limitar o mitigar las comunicaciones de la red basadas en la capa o capas de seguridad configuradas.
El documento "Implementation of IPSec in High Performance router" se refiere al diseño detallado que incluye hardware y software para implementar IPSec en el enrutador de alto rendimiento.
El documento US20110078436A1 se refiere a un método de control para controlar un aparato para realizar la comunicación de IPsec, y realizar la negociación para generar SA de IPSec que incluye realizar la negociación proponiendo todas las combinaciones de un algoritmo de cifrado, un algoritmo hash, y un grupo DH (Diffie-Hellman) a un aparato contador, extraer una combinación, que es seleccionada por el aparato contador, de todas las combinaciones en un caso donde la SA de IPsec ha sido generada con éxito por la negociación, almacenar y usar la combinación extraída como un valor determinado de IKE.
El documento US20110228934A1 se refiere a un dispositivo de comunicación que realiza la comunicación y un método de comunicación.
El documento US20090122990A1 se refiere a métodos y aparatos para aplicar una única dirección de red privada virtual (en inglés, Virtual Private Network, VPN) a túneles o conexiones asociadas con diferentes interfaces de acceso.
Compendio
Las realizaciones de la presente invención proporcionan métodos y aparatos de aceleración de IPSec, para resolver un problema de establecimiento lento del enlace de IKE y reenvío de datos en IPSec existente.
La presente invención se define en las reivindicaciones independientes. Las realizaciones preferidas se definen en las reivindicaciones dependientes.
Según el método, el aparato y sistema de aceleración de IPSec que se proporcionan en las realizaciones de la presente invención, el establecimiento del enlace de IKE se implementa usando un módulo de IKE, y un paquete de datos se reenvía usando un módulo de envío de datos; el módulo de IKE y el módulo de reenvío de datos son independientes entre sí y se pueden desplegar por separado en diferentes dispositivos. Por lo tanto, el rendimiento de los dos dispositivos no se afecta entre sí, mejorando así una velocidad y flexibilidad de IPSec y resolviendo un problema de establecimiento lento del enlace de IKE y reenvío de datos en IPSec existente.
Breve descripción de los dibujos
Para describir las soluciones técnicas en las realizaciones de la presente invención o en la técnica anterior de forma más clara, a continuación se describen brevemente los dibujos adjuntos requeridos para describir las realizaciones o la técnica anterior. Aparentemente, los dibujos adjuntos en la siguiente descripción muestran algunas realizaciones de la presente invención, y los expertos en la técnica aún pueden derivar otros dibujos de estos dibujos adjuntos sin esfuerzos creativos.
La FIG. 1 es un diagrama de flujo de la Realización 1 de un método de aceleración de IPSec según la presente invención;
La FIG. 2 es un diagrama de un ejemplo de escritura, por un módulo de IKE, de una SA/una política de seguridad en un módulo de reenvío de datos usando acceso múltiple por división de polarización (en inglés, Polarization Division Multiple Access, PDMA) en la Realización 1 de un sistema de aceleración de IPSec según la presente invención;
La FIG. 3 es un diagrama de flujo de la Realización 2 de un método de aceleración de IPSec según la presente invención;
La FIG. 4 es un diagrama de flujo de la Realización 3 de un método de aceleración de IPSec según la presente invención;
La FIG. 5 es un diagrama estructural esquemático de la Realización 1 de un módulo de IKE según la presente invención;
La FIG. 6 es un diagrama estructural esquemático de la Realización 2 de un módulo de IKE según la presente invención;
La FIG. 7 es un diagrama estructural esquemático de la Realización 1 de un módulo de reenvío de datos según la presente invención;
La FIG. 8 es un diagrama estructural esquemático de la Realización 1 de un sistema de aceleración de IPSec según la presente invención;
La FIG. 9 es un diagrama estructural esquemático de la Realización 2 de un sistema de aceleración de IPSec según la presente invención;
La FIG. 10 es un diagrama de flujo de la Realización 4 de un método de aceleración de IPSec según la presente invención; y
La FIG. 11 es un diagrama de flujo de la Realización 5 de un método de aceleración de IPSec según la presente invención.
Descripción de las realizaciones
Para aclarar los objetivos, las soluciones técnicas, y las ventajas de las realizaciones de la presente invención, lo siguiente describe clara y completamente las soluciones técnicas en las realizaciones de la presente invención con referencia a los dibujos adjuntos en las realizaciones de la presente invención. Aparentemente, las realizaciones descritas son algunas, pero no todas, las realizaciones de la presente invención. Todas las demás realizaciones obtenidas por expertos en la técnica basadas en las realizaciones de la presente invención sin esfuerzos creativos caerán dentro del alcance de protección de la presente invención.
Una idea básica de las realizaciones de la presente invención es separar el establecimiento del enlace de IKE lógicamente del reenvío de datos y desplegar el establecimiento del enlace de IKE y el reenvío de datos de forma físicamente ilimitada, por ejemplo, en diferentes dispositivos, tales como tarjetas aceleradoras, máquinas virtuales, servidores, y agrupaciones (en inglés, clusters). Esto puede acelerar el establecimiento del enlace de IKE y mejorar una capacidad de reenvío de datos. Además, se puede garantizar alto rendimiento y flexibilidad.
La FIG. 1 es un diagrama de flujo de la Realización 1 de un método de aceleración de IPSec según la presente invención. Esta realización de la presente invención proporciona un método de aceleración de IPSec. El método puede ser ejecutado por cualquier aparato que ejecute un método de aceleración de IPSec, y el aparato puede implementarse usando software y/o hardware. Como se muestra en la FIG. 1, el método incluye las siguientes etapas.
S101: Un módulo de IKE genera un paquete de sesión de establecimiento del enlace de IKE según un parámetro de configuración de IPSec y una política de seguridad que está en una base de datos de políticas de seguridad (en inglés, Security Policy Database, SDP).
La SPD es una base de datos de políticas de seguridad (SDP). La SPD incluye al menos una política de seguridad (en inglés, Security Policy, SP), y la política de seguridad determina un servicio de seguridad que se proporcionará para un paquete de datos. La política de seguridad incluye: una característica de un paquete de datos que debe protegerse; cómo proteger el paquete de datos, por ejemplo, un método de procesamiento del paquete de datos, tal como un algoritmo de cifrado, usado para proteger el paquete de datos; e información sobre un extremo de transmisión y un extremo receptor del paquete de datos.
El parámetro de configuración de IPSec incluye, pero no se limita, los siguientes parámetros: una dirección IP de pasarela, una dirección IP de dispositivo de subred, un modo de trabajo de IPSec, un formato de encapsulación, una SA de IKE, y un ciclo de vida de SA de IKE. El modo de trabajo de IPSec incluye un modo de túnel y un modo de transporte.
S102: El módulo de IKE envía el paquete de sesión de establecimiento del enlace de IKE a un dispositivo par, y establece una SA con el dispositivo par.
El módulo de IKE determina, como dispositivo par según la SPD, un dispositivo que recibe el paquete de sesión de establecimiento del enlace de IKE, y envía el paquete de sesión de establecimiento del enlace de IKE al dispositivo par, para desencadenar una negociación de IKE con el dispositivo par, obteniendo así la SA.
Específicamente, el establecimiento del enlace de IKE incluye dos etapas: una negociación de IKE de primera etapa y una negociación de IKE de segunda etapa. Por lo tanto, la SA incluye una SA de IKE y una SA de IPSec. La negociación de IKE de primera etapa genera la SA de IKE, y la negociación de IKE de segunda etapa genera la SA de IPSec. La negociación de IKE de segunda etapa se realiza bajo la protección de la SA de IKE.
S103: El módulo de IKE envía la SA a un módulo de reenvío de datos, donde el módulo de IKE y el módulo de reenvío de datos son módulos discretos.
En esta realización, el módulo de IKE y el módulo de reenvío de datos son discretos, es decir, independientes entre sí. Por lo tanto, los dos módulos pueden integrarse en un dispositivo o desplegarse por separado en diferentes dispositivos. Es decir, los dos módulos se separan lógicamente y se despliegan de forma físicamente ilimitada.
Se puede saber de las etapas anteriores que el módulo de IKE puede completar el establecimiento del enlace de IKE y obtener la SA. Además, el módulo de reenvío de datos realiza el reenvío de paquetes de datos (reenvío de datos) según la SA.
En la técnica anterior, tanto el establecimiento del enlace de IKE como el reenvío de datos se completan por una única máquina virtual o máquina física, lo que provoca una baja velocidad de IPSec.
En esta realización de la presente invención, un módulo configurado para implementar una función de establecimiento del enlace de IKE y un módulo configurado para implementar una función de reenvío de datos están separados lógicamente. Es decir, el establecimiento del enlace IKE se implementa usando un módulo de IKE, y un paquete de datos se reenvía usando un módulo de reenvío de datos. El módulo de IKE y el módulo de reenvío de datos son independientes entre sí. De esta forma, se puede acelerar el establecimiento de una sesión de IPSec, y se puede mejorar la flexibilidad de procesamiento de IPSec. Los efectos beneficiosos anteriores son relativamente obvios en una red de área local inalámbrica (en inglés, Wireless Local Area, WLAN) en un escenario de acceso de alta densidad.
Basado en la realización anterior, en una forma de implementación, el módulo de IKE se puede desplegar en una matriz de puertas programables en campo (en inglés, Field-Programmable Gate Array, FPGA) de una tarjeta aceleradora. En esta forma de implementación, la S101 puede incluir: procesar concurrentemente, por el módulo de IKE usando un algoritmo de Montgomery según el parámetro de configuración de IPSec y la política de seguridad que está en la SPD, la multiplicación modular requerida para el establecimiento del enlace de sesión de IKE, generar un gúgol (en inglés, googol), calcular un valor de clave de Diffie-Hellman (DH), y generar el paquete de sesión de establecimiento del enlace de IKE. El gúgol es, por ejemplo, 1024 bits, 2048 bits, o similares. El módulo de IKE se despliega en el chip de FPGA de la tarjeta aceleradora, lo que reduce el consumo de tiempo para la generación de gúgol y el cálculo del valor de clave DH, y similares.
Además, se observa que, en un procesador Gx8072, un módulo MiCA completa el establecimiento del enlace de IKE y el reenvío de paquetes de datos. El módulo MiCA tiene una capacidad de procesamiento de protocolo IPSec/Capa de Conexión Segura (en inglés, Secure Sockets Layer, SSL) de 40 Gbps. Todo el trabajo de IPSec es entregado y completado por el módulo MiCA. En un escenario real, si solo se necesita una función IPSec, cualquier otro atributo del módulo MiCA es innecesario, lo que provoca un desperdicio de recursos y un aumento de los costes. Además, el módulo MiCA procesa IPSec; una velocidad de establecimiento del enlace de IKE y una capacidad de ancho de banda de reenvío de paquetes de datos son valores fijos y no se pueden aumentar bajo demanda. En esta realización de la presente invención, el módulo de IKE se despliega en el chip de FPGA, para que una velocidad de establecimiento del enlace de IKE pueda cambiar bajo demanda y, por lo tanto, pueda aumentarse bajo demanda.
En esta forma de implementación, el módulo de IKE se despliega en un dispositivo de aceleración. El chip de FPGA de la tarjeta aceleradora es solo un ejemplo, y la presente invención no se limita a él.
Además, la S103 puede incluir: escribir, por el módulo de IKE, la SA en el módulo de reenvío de datos por medio de acceso remoto directo a memoria (en inglés, Remote Direct Memory Access, RDMA) o un protocolo preestablecido. Por ejemplo, la SA se escribe en la memoria del módulo de reenvío de datos. Alternativamente, la S103 puede incluir: escribir, por el módulo de IKE, la SA en un módulo de control por medio de RDMA o un protocolo preestablecido, y reenviar la SA al módulo de reenvío de datos usando el módulo de control. Opcionalmente, el módulo de IKE puede escribir además la política de seguridad en el módulo de reenvío de datos por medio de RDMA o un protocolo preestablecido. Cuando el módulo de IKE transmite la SA escribiendo, por medio de RDMA, la SA en la memoria del módulo de reenvío de datos, una velocidad de transmisión puede superar los 20 Gbps.
Un tipo específico de protocolo preestablecido no se limita en la presente invención. Por ejemplo, la SA puede transmitirse entre el módulo de IKE y el módulo de reenvío de datos usando cualquier protocolo público o privado.
Como se muestra en la FIG. 2, RDMA se usa como ejemplo para explicar cómo un módulo 11 de IKE escribe una SA/una política de seguridad en un módulo 12 de reenvío de datos. El módulo 11 de IKE incluye un procesador (por ejemplo, una CPU) 111, una memoria (por ejemplo, una RAM) (no mostrada) conectada al procesador 111, y un adaptador 112 de red (Tarjeta de Interfaz de Red, NIC para abreviar). El módulo 12 de reenvío de datos incluye un procesador (por ejemplo, una CPU) 121, una memoria (por ejemplo, una memoria de acceso aleatorio RAM) (no mostrada) conectada al procesador 121 y, una NIC 122. El adaptador de red también se denomina tarjeta de interfaz de red. Un proceso RDMA es el siguiente.
S201: El procesador 111 escribe una SA/una política de seguridad que se establece en la memoria del módulo 11 de IKE en la NIC 112 según un estándar de bus e interfaz (PCI-E).
Los datos escritos en la NIC 112 incluyen una dirección de inicio de memoria en la que se almacena la SA/política de seguridad, una longitud de la SA/política de seguridad, y similares.
Cabe señalar que, en esta realización, RDMA se usa como un ejemplo para describir la transmisión de datos entre módulos y, por lo tanto, se usa una interfaz de bus de interconexión de componentes periféricos express (en inglés, Peripheral Component Interconnect Express, PCI-E). Si se usa otro protocolo preestablecido, por ejemplo, un protocolo propietario, no se limita un tipo de interfaz de bus en la presente invención y puede ser una interfaz de bus de PCI-E u otra interfaz de bus.
S202: La NIC 112 envía una solicitud de escritura de RDMA a la NIC 122.
La solicitud de escritura de RDMA transporta la SA/política de seguridad. Una función correspondiente a la solicitud de escritura de RDMA es, por ejemplo, Escribir(local_buf, tamaño, remote_addr), donde local_buf se usa para representar una ubicación en la que la SA/política de seguridad se almacena en memoria intermedia en la NIC 112, el tamaño se usa para representar la longitud de la SA/política de seguridad, y remote_addr se usa para representar una dirección de destino remoto, es decir, una dirección en la que se escribe la SA/política de seguridad en la NIC 122.
S203: El procesador 121 escribe la SA/política de seguridad en la NIC 122 en la memoria del módulo 12 de reenvío de datos por medio del acceso directo a memoria (en inglés, Direct Memory Access, DMA) de PCI-E.
En la técnica anterior, Pluto necesita relativamente tiempo para escribir una SA desde un modo de usuario a un modo de núcleo. Sin embargo, en esta realización, el módulo de IKE transfiere rápidamente la SA al módulo de reenvío de datos remoto por medio de RDMA, sin afectar un sistema operativo. De esta forma, se usan pocas funciones de procesamiento de un ordenador. Debido a que RDMA evita una operación de replicación en una memoria externa y una operación de intercambio de texto, se puede liberar un ancho de banda de memoria y un período de unidad central de procesamiento (CPU) para mejorar el rendimiento del sistema de aplicaciones.
En la realización anterior, el módulo de IKE envía el paquete de sesión de establecimiento del enlace de IKE al dispositivo par, y establece la SA con el dispositivo par. En consecuencia, a continuación se describe un proceso correspondiente en el lado del dispositivo par.
La FIG. 3 es un diagrama de flujo de la Realización 2 de un método de aceleración de IPSec según la presente invención. Esta realización de la presente invención proporciona un método de aceleración de IPSec. El método puede ser ejecutado por cualquier aparato (en esta realización, se usa un módulo de IKE como un ejemplo para la descripción) que ejecute un método de aceleración de IPSec, y el aparato puede implementarse usando software y/o hardware. Como se muestra en la FIG. 3, el método incluye las siguientes etapas:
S301: Un módulo de IKE recibe un paquete de sesión de establecimiento del enlace de IKE.
S302: El módulo de IKE establece, según un parámetro de configuración de IPSec y una política de seguridad que está en una SPD, una SA con un dispositivo de envío del paquete de sesión de establecimiento del enlace de IKE.
S303: El módulo de IKE envía la SA a un módulo de reenvío de datos, donde el módulo de IKE y el módulo de reenvío de datos son módulos discretos.
La realización mostrada en la FIG. 3 y la realización mostrada en la FIG. 1 son procesos de pares. La realización mostrada en la FIG. 1 se implementa en un extremo que inicia una negociación de IKE, y la realización mostrada en la FIG. 3 se implementa en un extremo que responde a la negociación de IKE. Por lo tanto, los principios de implementación y los efectos técnicos de la realización en la FIG. 3 son similares a los de la realización en la FIG. 1, y no se describen en la presente memoria nuevamente.
Opcionalmente, el módulo de IKE se despliega en un chip de FPGA de una tarjeta aceleradora. La S302 puede incluir: procesar concurrentemente, por el módulo de IKE usando un algoritmo de Montgomery según el parámetro de configuración de IPSec y la política de seguridad que está en la SPD, la multiplicación modular requerida para el establecimiento del enlace de sesión de IKE, generar un gúgol, calcular un valor de clave de Diffie-Hellman, y el establecer la SA con el dispositivo de envío del paquete de sesión de establecimiento del enlace de IKE.
En una realización, la S303 puede incluir: escribir, por el módulo de IKE, la SA en el módulo de reenvío de datos por medio de RDMA o un protocolo preestablecido.
En otra realización, la S303 puede incluir: escribir, por el módulo de IKE, la SA en un módulo de control por medio de RDMA o un protocolo preestablecido, y reenviar la SA al módulo de reenvío de datos usando el módulo de control.
En las realizaciones anteriores, el módulo de IKE envía la SA al módulo de reenvío de datos. En consecuencia, a continuación se describe un flujo de proceso en un lado del módulo de reenvío de datos.
La FIG. 4 es un diagrama de flujo de la Realización 3 de un método de aceleración de IPSec según la presente invención. Esta realización de la presente invención proporciona un método de aceleración de IPSec. El método puede ser ejecutado por cualquier aparato (en esta realización, se usa un módulo de reenvío de datos como un ejemplo para la descripción) que ejecute un método de aceleración de IPSec, y el aparato puede implementarse usando software y/o hardware. Como se muestra en la FIG. 4, el método incluye las siguientes etapas:
S401: El módulo de reenvío de datos recibe un paquete de datos, donde el módulo de reenvío de datos se despliega en un chip de FPGA de una tarjeta aceleradora.
S402: El módulo de reenvío de datos realiza, según una SA, una operación concurrente de un algoritmo de cifrado/descifrado y una forma de autenticación en el paquete de datos, para obtener un paquete objetivo.
S403: El módulo de reenvío de datos reenvía el paquete objetivo.
En un escenario, el módulo de reenvío de datos recibe un primer paquete de datos enviado por un dispositivo de subred, realiza el procesamiento de cifrado y encapsulación en el primer paquete de datos según la SA, y reenvía un paquete obtenido a un dispositivo par.
En otro escenario, el módulo de reenvío de datos recibe un segundo paquete de datos enviado por el dispositivo par, realiza el procesamiento de descifrado y desencapsulado en el segundo paquete de datos según la SA, y reenvía un paquete obtenido al dispositivo de subred.
El dispositivo de subred es un dispositivo de red de área local servido por un dispositivo en el que está integrado el módulo de reenvío de datos. El dispositivo par incluye un dispositivo que está fuera de la red de área local y que se comunica con el dispositivo en el que está integrado el módulo de reenvío de datos. El paquete de datos incluye el primer paquete de datos y el segundo paquete de datos. El paquete objetivo incluye el paquete obtenido después de que se realiza el procesamiento de cifrado y encapsulación en el primer paquete de datos y el paquete obtenido después de que se realiza el procesamiento de descifrado y desencapsulación en el segundo paquete de datos.
Una diferencia entre esta realización y la técnica anterior es que el módulo de reenvío de datos de la presente invención se despliega en el chip de FPGA de la tarjeta aceleradora. De esta forma, el módulo de reenvío de datos puede procesar rápidamente un paquete de protocolo de carga útil de seguridad de encapsulación (en inglés, Encapsulation Security Payload, ESP) o un paquete de protocolo de cabecera de autenticación (en inglés, Authentication Header, AH), reduciendo así el consumo de tiempo y acelerando el procesamiento de reenvío de datos de IPSec, para implementar la aceleración de IPSec. Es decir, el paquete de protocolo de ESP y el paquete de protocolo de AH se incluyen en el paquete de datos.
En la realización anterior, antes de la S402, el método de aceleración de IPSec puede incluir además: aceptar, por el módulo de reenvío de datos, una operación de escritura de la SA por el módulo de IKE. Una forma de escritura usada para la escritura es RDMA o un protocolo preestablecido, y el módulo de reenvío de datos y el módulo de IKE son módulos discretos.
En esta realización de la presente invención, un módulo configurado para implementar una función de establecimiento del enlace de IKE y un módulo configurado para implementar una función de reenvío de datos están separados lógicamente. Es decir, el establecimiento del enlace de IKE se implementa usando un módulo de IKE, y un paquete de datos se reenvía usando un módulo de reenvío de datos. El módulo de IKE y el módulo de reenvío de datos son independientes entre sí. De esta forma, se puede acelerar el establecimiento de una sesión de IPSec, y se puede mejorar la flexibilidad de procesamiento de IPSec. Los efectos beneficiosos anteriores son relativamente obvios en una WLAN en un escenario de acceso de alta densidad. Además, en la técnica anterior, Pluto necesita relativamente tiempo para escribir una SA desde un modo de usuario a un modo de núcleo. Sin embargo, en esta realización, el módulo de IKE transfiere rápidamente la SA al módulo de reenvío de datos remoto por medio de RDMA, sin afectar a un sistema operativo. De esta forma, se usan pocas funciones de procesamiento de un ordenador. Debido a que RDMA evita una operación de replicación en una memoria externa y una operación de intercambio de texto, se puede liberar un ancho de banda de memoria y un período de CPU para mejorar el rendimiento del sistema de aplicaciones.
La FIG. 5 es un diagrama estructural esquemático de la Realización 1 de un módulo de IKE según la presente invención. Esta realización de la presente invención proporciona un módulo de IKE, y el módulo puede implementarse usando software y/o hardware. Como se muestra en la FIG. 5, un módulo 50 de IKE incluye una unidad 51 de procesamiento y una unidad 52 de envío. La unidad 52 de envío incluye una primera subunidad 521 de envío y una segunda subunidad 522 de envío.
La unidad 51 de procesamiento está configurada para generar un paquete de sesión de establecimiento del enlace de IKE según un parámetro de configuración de IPSec y una política de seguridad que está en una SPD. La primera subunidad 521 de envío está configurada para enviar el paquete de sesión de establecimiento del enlace de IKE a un dispositivo par, y el módulo 50 de IKE establece una SA con el dispositivo par usando el paquete de sesión de establecimiento del enlace de IKE. La segunda subunidad 522 de envío está configurada para enviar la SA a un módulo de reenvío de datos (no mostrado). El módulo 50 de IKE y el módulo de envío de datos son módulos discretos.
El aparato en esta realización puede configurarse para implementar la solución técnica en la realización del método que se muestra en la FIG. 1. Los principios de implementación y los efectos técnicos del aparato son similares a los de la realización del método mostrada en la FIG. 1, y no se describen en la presente memoria nuevamente.
Opcionalmente, el módulo 50 de IKE se despliega en un chip de FPGA de una tarjeta aceleradora. La unidad 51 de procesamiento puede configurarse específicamente para: procesar concurrentemente, usando un algoritmo de Montgomery según el parámetro de configuración de IPSec y la política de seguridad que está en la SPD, la multiplicación modular requerida para el establecimiento del enlace de sesión de IKE, generar un gúgol, calcular un valor de clave de Diffie-Hellman, y generar el paquete de sesión de establecimiento del enlace de IKE.
Además, la segunda subunidad 522 de envío puede configurarse específicamente para escribir la SA en el módulo de reenvío de datos por medio de RDMA o un protocolo preestablecido. Alternativamente, la segunda subunidad 522 de envío puede configurarse específicamente para escribir la SA en un módulo de control (no mostrado) por medio de RDMA o un protocolo preestablecido, y reenviar la SA al módulo de reenvío de datos usando el módulo de control.
La FIG. 6 es un diagrama estructural esquemático de la Realización 2 de un módulo de IKE según la presente invención. Esta realización de la presente invención proporciona un módulo de IKE, y el módulo puede implementarse usando software y/o hardware. Como se muestra en la FIG. 6, un módulo 60 de IKE incluye una unidad 61 receptora, una unidad 62 de procesamiento y una unidad 63 de envío.
La unidad 61 receptora está configurada para recibir un paquete de sesión de establecimiento del enlace de IKE. La unidad 62 de procesamiento está configurada para establecer, según un parámetro de configuración de IPSec y una política de seguridad que está en una SPD, una SA con un dispositivo de envío del paquete de sesión de establecimiento del enlace de IKE. La unidad 63 de envío está configurada para enviar la SA a un módulo de reenvío de datos (no mostrado). El módulo de IKE y el módulo de reenvío de datos son módulos discretos.
El aparato en esta realización puede configurarse para implementar la solución técnica en la realización del método que se muestra en la FIG. 3. Los principios de implementación y los efectos técnicos del aparato son similares a los de la realización del método mostrado en la FIG. 3, y no se describen en la presente memoria nuevamente.
Además, el módulo 60 de IKE se puede desplegar en un chip de FPGA de una tarjeta aceleradora. La unidad 62 de procesamiento puede configurarse específicamente para: procesar concurrentemente, usando un algoritmo de Montgomery según el parámetro de configuración de IPSec y la política de seguridad que está en la SPD, la multiplicación modular requerida para el establecimiento del enlace de sesión de IKE, generar un gúgol, calcular un valor de clave de Diffie-Hellman, y establecer la SA con el dispositivo de envío del paquete de sesión de establecimiento del enlace de IKE.
La unidad 63 de envío puede configurarse específicamente para escribir la SA en el módulo de reenvío de datos por medio de RDMA o un protocolo preestablecido. Alternativamente, la unidad 63 de envío puede configurarse específicamente para escribir la SA en un módulo de control por medio de RDMA o un protocolo preestablecido, y reenviar la SA al módulo de reenvío de datos usando el módulo de control.
La FIG. 7 es un diagrama estructural esquemático de la Realización 1 de un módulo de reenvío de datos según la presente invención. Esta realización de la presente invención proporciona un módulo de reenvío de datos. El módulo puede implementarse usando software y/o hardware, y el módulo se despliega en un chip de FPGA de una tarjeta aceleradora. Como se muestra en la FIG. 7, un módulo 70 de reenvío de datos incluye una unidad 71 receptora, una unidad 72 de procesamiento y una unidad 73 de envío.
La unidad 71 receptora está configurada para recibir un paquete de datos. La unidad 72 de procesamiento está configurada para realizar, según una SA, una operación concurrente de un algoritmo de cifrado/descifrado y una forma de autenticación en el paquete de datos, para obtener un paquete objetivo. La unidad 73 de envío está configurada para reenviar el paquete objetivo.
El aparato en esta realización puede configurarse para implementar la solución técnica en la realización del método que se muestra en la FIG. 4. Los principios de implementación y los efectos técnicos del aparato son similares a los de la realización del método mostrada en la FIG. 4, y no se describen en la presente memoria nuevamente.
Opcionalmente, el módulo 70 de reenvío de datos puede incluir además una unidad de almacenamiento (no mostrada). La unidad de almacenamiento está configurada para aceptar una operación de escritura de la SA por un módulo de IKE. Una forma de escritura usada para la escritura es RDMA o un protocolo preestablecido. El módulo de reenvío de datos y el módulo de IKE son módulos discretos.
La FIG. 8 es un diagrama estructural esquemático de la Realización 1 de un sistema de aceleración de IPSec según la presente invención. Esta realización de la presente invención proporciona un sistema de aceleración de IPSec. Como se muestra en la FIG. 8, un sistema 80 de aceleración de IPSec incluye un módulo 81 de IKE y un módulo 82 de reenvío de datos. El módulo 81 de IKE y el módulo 82 de reenvío de datos se despliegan por separado de forma independiente en diferentes dispositivos de aceleración (no mostrados). Una conexión entre el módulo 81 de IKE y el módulo 82 de reenvío de datos puede ser una conexión por cable o una conexión inalámbrica (por ejemplo, una conexión de red).
El módulo 81 de IKE está configurado para realizar el establecimiento del enlace de IKE. El módulo 82 de reenvío de datos está configurado para reenviar un paquete de datos.
Específicamente, cuando el sistema 80 de aceleración de IPSec actúa como un extremo proactivo (un extremo iniciador) de IPSec, el módulo 81 de IKE está configurado específicamente para generar un paquete de sesión de establecimiento del enlace de IKE según un parámetro de configuración de IPSec y una política de seguridad que está en una SPD, enviar el paquete de sesión de establecimiento del enlace de IKE a un dispositivo par, establecer una SA con el dispositivo par, y enviar la SA al módulo 82 de reenvío de datos. En este caso, el módulo 82 de reenvío de datos está configurado para: recibir un primer paquete de datos enviado por un dispositivo de subred, realizar el procesamiento de cifrado y encapsulación en el primer paquete de datos según la SA, y reenviar un paquete obtenido al dispositivo par; y recibir un segundo paquete de datos enviado por el dispositivo par, realizar el procesamiento de descifrado y desencapsulado en el segundo paquete de datos según la SA, y reenviar un paquete obtenido al dispositivo de subred. El dispositivo de subred es un dispositivo de red de área local servido por un dispositivo en el que está integrado el módulo 82 de reenvío de datos.
Cuando el sistema 80 de aceleración de IPSec actúa como un extremo reactivo (un extremo no iniciador) de IPSec, el módulo 81 de IKE está configurado específicamente para: recibir un paquete de sesión de establecimiento del enlace de IKE; establecer, según un parámetro de configuración de IPSec y una política de seguridad que está en una SPD, una SA con un dispositivo de envío del paquete de sesión de establecimiento del enlace de IKE; y enviar la SA al módulo 82 de reenvío de datos. El módulo 82 de reenvío de datos está configurado para: recibir un primer paquete de datos enviado por el dispositivo de envío, realizar el procesamiento de descifrado y desencapsulado en el primer paquete de datos según la SA, y reenviar un paquete a un dispositivo de subred; y recibir un segundo paquete de datos enviado por el dispositivo de subred, realizar el procesamiento de cifrado y encapsulación en el segundo paquete de datos según la SA, y reenviar un paquete obtenido al dispositivo de envío. El dispositivo de subred es un dispositivo de red de área local servido por un dispositivo en el que está integrado el módulo 82 de reenvío de datos.
Los expertos en la técnica pueden entender cada uno del primer paquete de datos y el segundo paquete de datos como un paquete de protocolo de ESP, un paquete de protocolo de AH, o similar. También cabe señalar que, en cualquier realización de la presente invención, "primero" y "segundo" son solo para distinguir diferentes paquetes de datos y no se usan para indicar el primero de los paquetes de datos y el segundo de los paquetes de datos.
En la técnica anterior, tanto el establecimiento del enlace de IKE como el reenvío de datos se completan por una única máquina virtual o máquina física, lo que provoca una baja velocidad de IPSec. En esta realización de la presente invención, un módulo configurado para implementar una función de establecimiento del enlace de IKE y un módulo configurado para implementar una función de reenvío de datos están separados lógicamente. Es decir, el establecimiento del enlace de IKE se implementa usando un módulo de IKE, y un paquete de datos se reenvía usando un módulo de reenvío de datos. El módulo de IKE y el módulo de reenvío de datos son independientes entre sí y se despliegan por separado en diferentes dispositivos de aceleración. De esta forma, se puede acelerar el establecimiento de una sesión de IPSec, por ejemplo, se puede reducir el consumo de tiempo para la generación de gúgol y el cálculo del valor de la clave de DH. Además, se puede mejorar la flexibilidad del procesamiento de IPSec. Los efectos beneficiosos anteriores son relativamente obvios en una WLAN en un escenario de acceso de alta densidad.
En la realización anterior, el módulo 82 de reenvío de datos puede configurarse para realizar el cálculo de la autenticación de AH del paquete de datos, y similares. Para una función específica del módulo 82 de reenvío de datos, consulte el procesamiento de un paquete de datos por, por ejemplo, un núcleo Linux en la técnica anterior, y los detalles no se describen en la presente memoria.
La FIG. 9 es un diagrama estructural esquemático de la Realización 2 de un sistema de aceleración de IPSec según la presente invención. Como se muestra en la FIG. 9, basado en la realización mostrada en la FIG. 8, un sistema 90 de aceleración de IPSec puede incluir además un módulo 91 de clasificación. El módulo 91 de clasificación puede configurarse para recibir un paquete, recuperar una política de clasificación preestablecida, y distribuir el paquete. El paquete recibido y distribuido incluye el paquete de sesión de establecimiento del enlace de iKe y el paquete de datos. Específicamente, el módulo 91 de clasificación recupera la política de clasificación preestablecida, por ejemplo, una regla de lista de control de acceso (en inglés, Access Control List, ACL). La regla ACL incluye una dirección IP de origen, un puerto de origen, una dirección IP de destino, un puerto de destino, y un número de protocolo del paquete. Un paquete cuya dirección de destino es un módulo de IKE y cuyo número de puerto de destino es 500 o 4500 se envía al módulo de IKE. Un paquete cuya dirección de destino es un módulo de reenvío de datos se envía al módulo de reenvío de datos. Refiriéndose a la FIG. 9, el ejemplo puede expresarse como el siguiente contenido cuando se refleja específicamente en una ACL:
condición 1: un paquete cuya dirección IP de destino es un módulo de IKE y cuyo número de puerto de destino es 500; acción 1: reenviar desde un segundo puerto al módulo 81 de IKE;
condición 2: un paquete cuya dirección IP de destino es un módulo de IKE y cuyo número de puerto de destino es 4500; acción 2: reenviar desde un segundo puerto al módulo 81 de IKE; y
condición 3: un paquete cuya dirección IP de destino es una dirección IP de un dispositivo de subred de protección de IPSec; acción 3: reenviar desde un tercer puerto al módulo 82 de reenvío de datos.
Además, el sistema 90 de aceleración de IPSec puede incluir además un módulo 92 de control. El módulo 92 de control puede configurarse para enviar el parámetro de configuración de IPSec al módulo 81 de IKE. Opcionalmente, el módulo 92 de control puede configurarse además para enviar la política de clasificación preestablecida al módulo 91 de clasificación. Además, el módulo 91 de clasificación envía un paquete que no se menciona anteriormente al módulo 92 de control para su procesamiento.
Basado en la realización de la estructura mostrada en la FIG. 9, a continuación se proporciona una descripción detallada sobre el método de aceleración de IPSec en las realizaciones de la presente invención usando varias realizaciones específicas.
En una Realización 4 no cubierta por la invención reivindicada, el módulo 81 de IKE mantiene una base de datos de SA y una base de datos de políticas de seguridad. La FIG. 10 es un diagrama de flujo de la Realización 4 de un método de aceleración de IPSec según la presente invención. Como se muestra en la FIG. 10, el método incluye las siguientes etapas.
S1001: El módulo 92 de control envía una política de clasificación preestablecida al módulo 91 de clasificación. S1002: El módulo 92 de control envía un parámetro de configuración de IPSec al módulo 81 de IKE.
La S1001 y la S1002 son etapas opcionales.
S1003: El módulo 91 de clasificación recibe un paquete.
S1004: El módulo 91 de clasificación determina un extremo receptor del paquete según la política de clasificación preestablecida. Si una dirección de destino del paquete es el módulo 81 de IKE y un número de puerto del paquete es 500 o 4500, se realizan de la S1005 a la S1007. Si una dirección de destino del paquete es el módulo 82 de reenvío de datos, se realizan de la S1008 a la S1009. Se envía otro paquete al módulo 92 de control, y el módulo 92 de control realiza el procesamiento, por ejemplo, descartando el paquete.
S1005: El módulo 91 de clasificación envía el paquete al módulo 81 de IKE.
En esta etapa, el paquete puede entenderse como un paquete de sesión de establecimiento del enlace de IKE. S1006: El módulo 81 de IKE establece una SA con un dispositivo par usando el paquete.
S1007: El módulo 81 de IKE envía la SA/política de seguridad al módulo 82 de reenvío de datos.
S1008: El módulo 91 de clasificación envía el paquete al módulo 82 de reenvío de datos.
En esta etapa, el paquete puede entenderse como un paquete de datos, por ejemplo, el primer paquete de datos y el segundo paquete de datos descritos anteriormente.
S1009: El módulo 82 de reenvío de datos reenvía el paquete según una SA establecida.
Específicamente, el módulo 82 de reenvío de datos recibe un primer paquete de datos enviado por el dispositivo par (por ejemplo, el dispositivo de envío descrito anteriormente), realiza el procesamiento de descifrado y desencapsulado en el primer paquete de datos según la SA, y reenvía un paquete obtenido a un dispositivo de subred. Alternativamente, el módulo 82 de reenvío de datos recibe un segundo paquete de datos enviado por un dispositivo de subred, realiza el procesamiento de cifrado y encapsulación en el segundo paquete de datos según la SA, y reenvía un paquete obtenido al dispositivo par. El dispositivo de subred es un dispositivo de red de área local servido por un dispositivo en el que está integrado el módulo 82 de reenvío de datos.
En la realización anterior, el módulo 81 de IKE mantiene la base de datos de SA y la base de datos de políticas de seguridad.
En otra Realización 5 no cubierta por la invención reivindicada, el módulo 92 de control mantiene una base de datos de SA y una base de datos de políticas de seguridad. La FIG. 11 es un diagrama de flujo de la Realización 5 de un método de aceleración de IPSec según la presente invención. Como se muestra en la FIG. 11, el método incluye las siguientes etapas.
S111: El módulo 92 de control envía una política de clasificación preestablecida al módulo 91 de clasificación.
S112: El módulo 92 de control envía un parámetro de configuración de IPSec al módulo 81 de IKE.
La S111 y la S112 son etapas opcionales.
S113: El módulo 91 de clasificación recibe un paquete.
S114: El módulo 91 de clasificación determina un extremo receptor del paquete según la política de clasificación preestablecida. Si una dirección de destino del paquete es el módulo 81 de IKE y un número de puerto del paquete es 500 o 4500, se realizan de la S115 a la S118. Si una dirección de destino del paquete es el módulo 82 de reenvío de datos, se realizan de la S119 a la S120. Se envía otro paquete al módulo 92 de control, y el módulo 92 de control realiza el procesamiento, por ejemplo, descartando el paquete.
S115: El módulo 91 de clasificación envía el paquete al módulo 81 de IKE.
En esta etapa, el paquete puede entenderse como un paquete de sesión de establecimiento del enlace de IKE. S116: El módulo 81 de IKE establece una SA con un dispositivo par usando el paquete.
S117: El módulo 81 de IKE envía la SA al módulo 92 de control.
S118: El módulo 92 de control envía la SA al módulo 82 de reenvío de datos.
S119: El módulo 91 de clasificación envía el paquete al módulo 82 de reenvío de datos.
En esta etapa, el paquete puede entenderse como un paquete de datos, por ejemplo, el primer paquete de datos y el segundo paquete de datos descritos anteriormente.
S120: El módulo 82 de reenvío de datos reenvía el paquete según una SA establecida.
En esta realización, el módulo 81 de IKE envía primero la SA al módulo 92 de control, y luego el módulo 92 de control envía la SA al módulo 82 de reenvío de datos. El módulo 92 de control gestiona la base de datos de SA.
Se puede usar RDMA y/o un protocolo preestablecido para la transmisión de datos entre diferentes módulos, por ejemplo, transmisión de SA entre el módulo 81 de IKE y el módulo 82 de reenvío de datos, transmisión de SA entre el módulo 81 de IKE y el módulo 92 de control, o transmisión de SA entre el módulo 92 de control y el módulo 82 de reenvío de datos. Esto no se limita en la presente invención.
También cabe señalar que el sistema de aceleración de IPSec en las realizaciones de la presente invención puede incluir al menos los tres tipos siguientes. Tipo 1: se incluyen el módulo de IKE mostrado en la FIG. 5 y el módulo de reenvío de datos mostrado en la FIG. 7. Tipo 2: se incluyen el módulo de IKE mostrado en la FIG. 6 y el módulo de reenvío de datos mostrado en la FIG. 7. Tipo 3: se incluyen el módulo de IKE mostrado en la FIG. 5, el módulo de IKE mostrado en la FIG. 6, y el módulo de reenvío de datos mostrado en la FIG. 7.
Los expertos en la técnica pueden comprender que todos o algunas de las etapas de las realizaciones del método pueden implementarse por un programa que dé instrucciones al hardware relevante. El programa puede almacenarse en un medio de almacenamiento legible por ordenador. Cuando se ejecuta el programa, se realizan las etapas de las realizaciones del método. El medio de almacenamiento anterior incluye: cualquier medio que pueda almacenar código de programa, tal como una ROM, una RAM, un disco magnético, o un disco óptico.
Finalmente, cabe señalar que las realizaciones anteriores están destinadas únicamente a describir las soluciones técnicas de la presente invención, pero no a limitar la presente invención. Aunque la presente invención se describe en detalle con referencia a las realizaciones anteriores, los expertos en la técnica deben entender que aún pueden hacer modificaciones a las soluciones técnicas descritas en las realizaciones anteriores o hacer reemplazos equivalentes a algunas o todas las características técnicas de las mismas, sin apartarse del alcance de las soluciones técnicas de las realizaciones de la presente invención, que se define por las reivindicaciones adjuntas.

Claims (15)

REIVINDICACIONES
1. Un método de aceleración de Seguridad de Protocolo de Internet, IPSec, en donde el método se realiza por un módulo de Intercambio de Claves de Internet, IKE, desplegado en un primer dispositivo, el primer dispositivo se comunica con un segundo dispositivo y un dispositivo par, y el método comprende:
generar (S101), por el módulo de IKE, un paquete de sesión de establecimiento del enlace de IKE según un parámetro de configuración de IPSec y una política de seguridad que está en una base de datos de políticas de seguridad, SPD; enviar (S102), por el módulo de IKE, el paquete de sesión de establecimiento del enlace de IKE al dispositivo par, y establecer una asociación de seguridad, SA, con el dispositivo par; y
enviar (S103), por el módulo de IKE, la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo.
2. El método según la reivindicación 1, en donde el primer dispositivo es un chip de matriz de puertas programables en campo, FPGA, de una tarjeta aceleradora, y la generación, por un módulo de IKE, de un paquete de sesión de establecimiento del enlace de IKE según un parámetro de configuración de IPSec y una política de seguridad que están en una SPD comprende:
procesar concurrentemente, por el módulo de IKE usando un algoritmo de Montgomery según el parámetro de configuración de IPSec y la política de seguridad que está en la SPD, la multiplicación modular requerida para el establecimiento del enlace de sesión de IKE, generar un gúgol, calcular un valor de clave de Diffie-Hellman, y generar el paquete de sesión de establecimiento del enlace de IKE.
3. El método según la reivindicación 1 o 2, en donde el envío, por el módulo de IKE, de la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo comprende:
escribir, por el módulo de IKE, la SA en el módulo de reenvío de datos por medio de acceso remoto directo a memoria, RDMA, o un protocolo preestablecido.
4. El método según la reivindicación 1 o 2, en donde el envío, por el módulo de IKE, de la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo comprende:
escribir, por el módulo de IKE, la SA en un módulo de control por medio de acceso remoto directo a memoria, RDMA, o un protocolo preestablecido, y reenviar la SA al módulo de reenvío de datos usando el módulo de control.
5. Un método de aceleración de Seguridad de Protocolo de Internet, IPSec, en donde el método se realiza por un módulo de Intercambio de Claves de Internet, IKE, desplegado en un primer dispositivo, el primer dispositivo se comunica con un segundo dispositivo y un dispositivo par, y el método comprende:
recibir (S301), por el módulo de IKE, un paquete de sesión de establecimiento del enlace de IKE desde el dispositivo par;
establecer (S302), por el módulo de IKE según un parámetro de configuración de IPSec y una política de seguridad que está en una base de datos de políticas de seguridad, SPD, una asociación de seguridad, SA, con el dispositivo par; y
enviar (S303), por el módulo de IKE, la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo.
6. El método según la reivindicación 5, en donde el envío, por el módulo de IKE, de la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo comprende:
escribir, por el módulo de IKE, la SA en el módulo de reenvío de datos por medio de acceso remoto directo a memoria, RDMA, o un protocolo preestablecido.
7. El método según la reivindicación 5, en donde el envío, por el módulo de IKE, de la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo comprende:
escribir, por el módulo de IKE, la SA en un módulo de control por medio de acceso remoto directo a memoria, RDMA, o un protocolo preestablecido, y reenviar la SA al módulo de reenvío de datos usando el módulo de control.
8. Un método de aceleración de Seguridad de Protocolo de Internet, IPSec, en donde el método se realiza por un módulo de reenvío de datos en un primer dispositivo, el primer dispositivo se comunica con un segundo dispositivo, el primer dispositivo es un chip de matriz de puertas programables en campo, FPGA, de una tarjeta aceleradora, y el método comprende:
recibir (S401), por el módulo de reenvío de datos, un paquete de datos;
realizar (S402), por el módulo de reenvío de datos según una asociación de seguridad, SA, una operación concurrente de un algoritmo de cifrado/descifrado y una forma de autenticación en el paquete de datos, para obtener un paquete objetivo; y
reenviar (S403), por el módulo de reenvío de datos, el paquete objetivo;
antes de realizar, por el módulo de reenvío de datos según una SA, una operación concurrente de un algoritmo de cifrado/descifrado y una forma de autenticación en el paquete de datos, para obtener un paquete objetivo, que comprende además:
aceptar, por el módulo de reenvío de datos, una operación de escritura de la SA por un módulo de Intercambio de Claves de Internet, IKE, en el segundo dispositivo, en donde una forma de escritura usada para la escritura es el acceso remoto directo a memoria, RDMA, o un protocolo preestablecido.
9. Un módulo de Intercambio de Claves de Internet, IKE, desplegado en un primer dispositivo, en donde, el primer dispositivo se comunica con un segundo dispositivo y un dispositivo par, y el módulo de IKE está configurado para: generar un paquete de sesión de establecimiento del enlace de IKE según un parámetro de configuración de Seguridad de Protocolo de Internet, IPSec, y una política de seguridad que está en una base de datos de políticas de seguridad, SPD;
enviar el paquete de sesión de establecimiento del enlace de IKE a un dispositivo par, y establecer una asociación de seguridad, SA, con el dispositivo par usando el paquete de sesión de establecimiento del enlace de IKE; y enviar la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo.
10. El módulo de IKE según la reivindicación 9, en donde cuando se envía la SA al módulo de reenvío de datos, el módulo de IKE está configurado específicamente para:
escribir la SA en el módulo de reenvío de datos por medio de acceso remoto directo a memoria, RDMA, o un protocolo preestablecido.
11. El módulo de IKE según la reivindicación 9, en donde cuando se envía la SA al módulo de reenvío de datos, el módulo de IKE está configurado específicamente para:
escribir la SA en un módulo de control por medio de acceso remoto directo a memoria, RDMA, o un protocolo preestablecido, y reenviar la SA al módulo de reenvío de datos usando el módulo de control.
12. Un módulo de Intercambio de Claves de Internet, IKE, desplegado en un primer dispositivo, en donde el primer dispositivo se comunica con un segundo dispositivo y un dispositivo par, y el módulo de IKE está configurado para: recibir un paquete de sesión de establecimiento del enlace de IKE desde el dispositivo par;
establecer, según un parámetro de configuración de Seguridad de Protocolo de Internet, IPSec, y una política de seguridad que está en una base de datos de políticas de seguridad, SPD, una asociación de seguridad, SA, con el dispositivo par; y
enviar la SA a un módulo de reenvío de datos desplegado en el segundo dispositivo.
13. El módulo de IKE según la reivindicación 12, en donde el módulo de IKE está configurado específicamente para escribir la SA en el módulo de reenvío de datos por medio de acceso remoto directo a memoria, RDMA, o un protocolo preestablecido.
14. El módulo de IKE según la reivindicación 12, en donde el módulo de IKE está configurado específicamente para: escribir la SA en un módulo de control por medio de acceso remoto directo a memoria, RDMA, o un protocolo preestablecido, y reenviar la SA al módulo de reenvío de datos usando el módulo de control.
15. Un módulo de reenvío de datos, en donde el módulo de reenvío de datos se despliega en un primer dispositivo, el primer dispositivo se comunica con un segundo dispositivo, el primer dispositivo es un chip de matriz de puertas programables en campo, FPGA, de una tarjeta aceleradora, y el módulo de reenvío de datos está configurado para: aceptar una operación de escritura de una asociación de seguridad SA, por un módulo de Intercambio de Claves de Internet, IKE, en el segundo dispositivo, en donde una forma de escritura usada para la escritura es acceso remoto directo a memoria, RDMA, o un protocolo preestablecido;
recibir un paquete de datos;
realizar, según la SA, una operación concurrente de un algoritmo de cifrado/descifrado y una forma de autenticación en el paquete de datos, para obtener un paquete objetivo; y reenviar el paquete objetivo.
ES15880958T 2015-02-05 2015-10-30 Método, dispositivo, y sistema de aceleración de IPSec Active ES2866103T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510059986.4A CN105991562B (zh) 2015-02-05 2015-02-05 IPSec加速方法、装置及系统
PCT/CN2015/093381 WO2016124016A1 (zh) 2015-02-05 2015-10-30 IPSec加速方法、装置及系统

Publications (1)

Publication Number Publication Date
ES2866103T3 true ES2866103T3 (es) 2021-10-19

Family

ID=56563408

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15880958T Active ES2866103T3 (es) 2015-02-05 2015-10-30 Método, dispositivo, y sistema de aceleración de IPSec

Country Status (7)

Country Link
US (2) US11063812B2 (es)
EP (2) EP3886366B1 (es)
JP (1) JP6617984B2 (es)
CN (1) CN105991562B (es)
ES (1) ES2866103T3 (es)
PT (1) PT3247074T (es)
WO (1) WO2016124016A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909527A (zh) * 2017-02-19 2017-06-30 郑州云海信息技术有限公司 一种系统加速方法及装置
CN107172072B (zh) * 2017-06-09 2020-11-06 中国电子科技集团公司第四十一研究所 一种基于FPGA的IPSec数据流高速处理系统及方法
CN109428852B (zh) * 2017-07-18 2023-09-15 中兴通讯股份有限公司 通信隧道端点地址分离方法、终端、ePDG及存储介质
CN108494744B (zh) * 2018-03-07 2021-08-24 杭州迪普科技股份有限公司 一种IPsec VPN客户端报文处理方法及装置
CN108924157B (zh) * 2018-07-25 2021-04-27 杭州迪普科技股份有限公司 一种基于IPSec VPN的报文转发方法及装置
US11196726B2 (en) 2019-03-01 2021-12-07 Cisco Technology, Inc. Scalable IPSec services
CN112738114B (zh) * 2020-12-31 2023-04-07 四川新网银行股份有限公司 一种网络安全策略的配置方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020490A (ja) 1998-07-01 2000-01-21 Fujitsu Ltd 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
JP3603830B2 (ja) * 2001-09-28 2004-12-22 日本電気株式会社 セキュリティゲートウェイ装置
US7536548B1 (en) * 2002-06-04 2009-05-19 Rockwell Automation Technologies, Inc. System and methodology providing multi-tier-security for network data exchange with industrial control components
JP3992579B2 (ja) 2002-10-01 2007-10-17 富士通株式会社 鍵交換代理ネットワークシステム
US7350233B1 (en) * 2003-09-12 2008-03-25 Nortel Networks Limited Fast re-establishment of communications for virtual private network devices
JP2006041684A (ja) * 2004-07-23 2006-02-09 Sony Corp 暗号処理装置および暗号処理方法
US7783880B2 (en) * 2004-11-12 2010-08-24 Microsoft Corporation Method and apparatus for secure internet protocol (IPSEC) offloading with integrated host protocol stack management
CN1838590B (zh) * 2005-03-21 2011-01-19 松下电器产业株式会社 在会话起始协议信号过程提供因特网密钥交换的方法及系统
US20080137863A1 (en) * 2006-12-06 2008-06-12 Motorola, Inc. Method and system for using a key management facility to negotiate a security association via an internet key exchange on behalf of another device
US8141126B2 (en) * 2007-01-24 2012-03-20 International Business Machines Corporation Selective IPsec security association recovery
EP1956755A1 (en) * 2007-02-08 2008-08-13 Matsushita Electric Industrial Co., Ltd. Network controlled overhead reduction of data packets by route optimization procedure
US7904711B2 (en) * 2007-10-24 2011-03-08 Harris Corporation Scaleable architecture to support high assurance internet protocol encryption (HAIPE)
US8272046B2 (en) * 2007-11-13 2012-09-18 Cisco Technology, Inc. Network mobility over a multi-path virtual private network
EP2166724A1 (en) * 2008-09-23 2010-03-24 Panasonic Corporation Optimization of handovers to untrusted non-3GPP networks
JP4850884B2 (ja) * 2008-10-02 2012-01-11 株式会社日立製作所 べき乗剰余演算器
US8892789B2 (en) * 2008-12-19 2014-11-18 Netapp, Inc. Accelerating internet small computer system interface (iSCSI) proxy input/output (I/O)
JP2011077931A (ja) * 2009-09-30 2011-04-14 Canon Inc IPsec通信方法および装置
CN101697522A (zh) * 2009-10-16 2010-04-21 深圳华为通信技术有限公司 虚拟专用网组网方法及通信系统以及相关设备
US20110113236A1 (en) * 2009-11-02 2011-05-12 Sylvain Chenard Methods, systems, and computer readable media for offloading internet protocol security (ipsec) processing using an ipsec proxy mechanism
JP2011199537A (ja) * 2010-03-18 2011-10-06 Fujitsu Ltd 通信装置および通信方法

Also Published As

Publication number Publication date
US11729042B2 (en) 2023-08-15
CN105991562A (zh) 2016-10-05
US20210314214A1 (en) 2021-10-07
EP3247074A4 (en) 2017-12-06
EP3886366B1 (en) 2023-12-06
WO2016124016A1 (zh) 2016-08-11
JP6617984B2 (ja) 2019-12-11
US20170359214A1 (en) 2017-12-14
JP2018504645A (ja) 2018-02-15
PT3247074T (pt) 2021-03-24
CN105991562B (zh) 2019-07-23
EP3886366A1 (en) 2021-09-29
US11063812B2 (en) 2021-07-13
EP3247074A1 (en) 2017-11-22
EP3247074B1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
ES2866103T3 (es) Método, dispositivo, y sistema de aceleración de IPSec
US10333919B2 (en) System and method for traversing a NAT device with IPSec AH authentication
US10250571B2 (en) Systems and methods for offloading IPSEC processing to an embedded networking device
JP6452181B2 (ja) 負荷平衡化インターネット・プロトコル・セキュリティ・トンネル
US10237241B2 (en) Transport layer security latency mitigation
US20190173860A1 (en) MACsec for encrypting tunnel data packets
US20150358313A1 (en) Systems and methods for secured communication hardware security module and network-enabled devices
US11115391B2 (en) Securing end-to-end virtual machine traffic
CN103929299B (zh) 地址即公钥的自安全轻量级网络报文传输方法
US20140153422A1 (en) Rate limiting mechanism based on device load/capacity or traffic content
JP2018139448A5 (es)
US9350711B2 (en) Data transmission method, system, and apparatus
US20210143997A1 (en) Deterministic distribution of rekeying procedures for a scaling virtual private network (vpn)
CN108964880A (zh) 一种数据传输方法及装置
CN105471827A (zh) 一种报文传输方法及装置
JP2011176395A (ja) IPsec通信方法およびIPsec通信システム
Vajaranta et al. Feasibility of FPGA accelerated IPsec on cloud
US11539668B2 (en) Selective transport layer security encryption
CN112019418B (zh) 基于野蛮模式的IPSec隧道建立方法及其装置
CN107454116A (zh) 单隧道模式下IPsec ESP协议的优化方法及装置
CN113765878B (zh) 选择性的传送层安全加密
US20230353543A1 (en) Flow-based secure packet forwarding
JP2011077887A (ja) パケット転送システム、パケット転送方法、通信装置及びパケット転送プログラム
Rosen et al. IPsec