$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Todos los experimentos se realizaron exclusivamente utilizando conjuntos de datos de intrusión de red de referencia disponibles públicamente (UNSW-NB15, CIC-IDS-2017 y Bot-IoT), que contienen registros de tráfico de red sin información personal o médica identificable. Los conjuntos de datos se utilizaron de acuerdo con sus respectivas licencias y términos de uso. Dado que no se implicaron participantes humanos, muestras de pacientes ni datos personales identificables, no se requirió la aprobación ética institucional ni el consentimiento informado.
Resumen del marco propuesto
Esta sección presenta el marco propuesto de detección y prevención de intrusiones de doble capa para asegurar entornos IoMT. El marco integra una red BiLSTM Extendida para la detección de intrusiones espacio-temporales con una capa ligera de blockchain para registro a prueba de manipulaciones y mitigación automatizada. A diferencia de los enfoques convencionales de IDS que se centran únicamente en la precisión de la detección, la arquitectura propuesta está diseñada para soportar simultáneamente la detección en tiempo real, la responsabilidad forense y el cumplimiento normativo, que son requisitos esenciales en los sistemas sanitarios. El flujo de trabajo general y la arquitectura del marco propuesto de detección de intrusiones BiLSTM–Blockchain para redes IoMT se ilustran en la Figura 1.

Figura 1. Arquitectura del marco propuesto de detección de intrusiones BiLSTM–Blockchain extendido para redes del Internet de las Cosas Médicas. Representación esquemática del marco propuesto mostrando los flujos de trabajo de formación y despliegue. En el flujo de trabajo de entrenamiento, los dispositivos del Internet de las Cosas Médicas (IoMT) generan tráfico de red que pasa por preprocesamiento de datos e ingeniería de características antes de ser analizado por el modelo Bidireccional Extendido de Memoria a Corto Plazo (BiLSTM) con atención temporal. Los parámetros del modelo se optimizan mediante cálculo de la función de pérdida y entrenamiento iterativo. En el flujo de trabajo de despliegue, el modelo entrenado realiza la detección de intrusiones según la función de decisión definida en la Ecuación 13. Los eventos de intrusión detectados se envían al módulo blockchain, donde se realizan registros inmutables, aislamiento de nodos y generación de alertas por parte del administrador. BiLSTM, Memoria Bidireccional a Corto Plazo a Corto Plazo; IoMT, Internet de las cosas médicas. Por favor, haz clic aquí para ver una versión ampliada de esta figura.
Los dispositivos IoMT generan flujos de datos heterogéneos que consisten en tráfico de red, metadatos de dispositivos y señales relacionadas con el paciente. Estas entradas en bruto suelen ser ruidosas, redundantes e inconsistentes, lo que las hace inadecuadas para el entrenamiento directo del modelo. Por ello, se aplica una tubería de preprocesamiento para asegurar la calidad y estructura de los datos antes de introducirlos en el modelo BiLSTM Extendido. El pseudocódigo detallado de preprocesamiento se proporciona en el Algoritmo 1 (Archivo Suplementario 1), que describe la cadena de preprocesamiento aplicada a los flujos de datos IoMT antes del entrenamiento BiLSTM Extendido (pseudocódigo en el Archivo Suplementario 1; implementación en el Archivo Suplementario 2). La arquitectura completa de BiLSTM Extendido se resume en el Algoritmo 2 (Archivo Suplementario 1).
Flujo de trabajo de reproducción de extremo a extremo
El estudio completo puede reproducirse siguiendo los pasos siguientes. El software y el hardware se listan en la Configuración Experimental, y el código suplementario cubre cada paso.
Obtén los conjuntos de datos → descarga UNSW-NB15. Usa los archivos UNSW_NB15_training-set.csv y UNSW_NB15_testing-set.csv. Descarga CICIDS2017. Utiliza los cinco archivos de día de MachineLearningCSV (de lunes a viernes). Descargar Bot-IoT. Usa los archivos del 5% de subconjuntos UNSW_2018_IoT_Botnet_Full5pc_1_to_4. Los estudios anteriores de detección de intrusiones se basaban habitualmente en conjuntos de datos de referencia como KDD Cup 9914; sin embargo, este estudio utiliza los conjuntos de datos más recientes de UNSW-NB15, CICIDS2017 y Bot-IoT para representar mejor el tráfico de red contemporáneo. Procesa cada conjunto de datos por separado. El conjunto de datos UNSW-NB15 está disponible en la Universidad de Nueva Gales del Sur en https://research.unsw.edu.au/projects/unsw-nb15-dataset (última modificación: 8 de febrero de 2024). El conjunto de datos CICIDS2017 está disponible en el Instituto Canadiense de Ciberseguridad en https://www.unb.ca/cic/datasets/ids-2017.html (publicado: julio de 2017). El conjunto de datos Bot-IoT está disponible en la Universidad de Nueva Gales del Sur en https://research.unsw.edu.au/projects/bot-iot-dataset (última modificación: 5 de febrero de 2024). Todos los conjuntos de datos fueron consultados en mayo de 2025 para este estudio.
Preprocesar los datos → eliminar registros corruptos. Rellenar los valores faltantes usando medios de conjunto de entrenamiento. Aplicar reducción de ruido EMA (α = 0,3). Normalizar características a [0,1] usando estadísticas de conjuntos de entrenamiento. Campos categóricos codificados por etiqueta. Construye ventanas correderas (T = 20, zancada = 1). Estos pasos de preprocesamiento apoyan una detección robusta de intrusiones reduciendo el ruido y mejorando la calidad de las representaciones del tráfico de red para los IDS basados en aprendizajeautomático 15,16.
Seleccionar características (AQU-IMF-RFE) → Clasificar características por información mutua. Refina con el Aquila Optimizer. Aplicar RFE en Random Forest con validación cruzada de 10 veces. Conserva las características finales. Esta estrategia híbrida de selección de características sigue el concepto más amplio de combinar técnicas complementarias de detección deintrusiones 17 y se implementa utilizando el marco AQU-IMF-RFE desarrollado en nuestro trabajoanterior 18.
Entrenar el modelo → Para cada conjunto de datos, los datos se particionaron aleatoriamente en conjuntos de entrenamiento (80%) y de prueba (20%) usando una semilla aleatoria fija de 42. El veinte por ciento de la partición de entrenamiento se reservaba además como conjunto de validación. Construye el BiLSTM extendido. Entrena usando pérdida binaria ponderada de entropía cruzada y el optimizador Adam (tasa de aprendizaje = 0,001, tamaño del lote = 64, máximo de 50 épocas, con parada temprana). Salva el modelo entrenado. El uso de modelos de aprendizaje profundo temporal es muy adecuado para tráfico heterogéneo deIoMT 19. El flujo de trabajo completo de entrenamiento de modelos se resume en el Algoritmo 3 (Archivo Suplementario 1). Los pesos finales de las clases se calcularon automáticamente a partir de las distribuciones de clases del conjunto de entrenamiento según las Ecuaciones 19 y 20. Los pesos de clase resultantes fueron los siguientes: UNSW-NB15:
,
; CICIDS2017:
,
; y Bot-IoT (subconjunto del 5%):
,
. El gran valor de wn para el conjunto de datos Bot-IoT refleja la grave infrarrepresentación de muestras benignas en la partición de entrenamiento del subconjunto del 5%.
Desplegar la blockchain → iniciar la cadena de Prueba de Autoridad (PoA). Despliega el contrato inteligente y apunta su dirección. Autoriza las cuentas de la pasarela. Ejecuta el cliente para que cada intrusión detectada se registre y active aislamiento y alertas. El flujo de trabajo completo de detección, registro de blockchain y mitigación se resume en el Algoritmo 4 (Archivo Suplementario 1). La capa blockchain se implementó utilizando el cliente go-ethereum (Geth) versión 1.13.15 para operar la red PoA con permisos, el compilador Solidity (solc) versión 0.8.19 para la compilación y despliegue de contratos inteligentes, y la biblioteca de web3.py versión 6.15.1 para la comunicación entre el IDS y la red blockchain.
Evalúa → prueba el modelo en el conjunto de pruebas extendido. Calcular la precisión, la exactitud, la recuperación, la puntuación F1 y la tasa de falsos positivos. Graba latencia y rendimiento. Verifica la integridad del libro de cuentas de la blockchain. El flujo de trabajo completo de evaluación se resume en el Algoritmo 5 (Archivo Suplementario 1). La latencia de detección (Td) se midió desde inmediatamente antes de la llamada de inferencia del modelo hasta el momento en que se devolvieron las probabilidades predichas. La latencia de mitigación de extremo a extremo (Td +T b) se midió desde el mismo punto de partida hasta la finalización de la correspondiente transacción de creación de bloques en blockchain. El rendimiento se calculaba como el número total de ventanas de prueba preprocesadas procesadas por la pipeline completa de detección y registro dividido por el tiempo de reloj de pared transcurrido para un único pase completo a través del conjunto de pruebas de cada conjunto de datos. La carga de trabajo consistía en las particiones de prueba en ventanas mientras se mantenía la distribución original de clases benignas a intrusión. Las ventanas maliciosas también conllevaban la sobrecarga de registro de blockchain, mientras que las ventanas benignas solo implicaban el coste de detección de intrusiones.
Generar cifras y tablas → Graficar las curvas de precisión y pérdida, la matriz de confusión y los gráficos de evaluación comparativa. Construye las tablas comparativas. El flujo de trabajo completo de generación de figuras y tablas se resume en el Algoritmo 6 (Archivo Suplementario 1). El código fuente completo y desarrollado a medida utilizado para generar todas las figuras y tablas se proporciona en el Archivo Suplementario 2. En particular, el figures.py script reproduce las cifras del manuscrito directamente a partir de los resultados experimentales guardados (por ejemplo, historial de entrenamiento y archivos de matriz de confusión), mientras que los scripts restantes generan los datos procesados y las métricas de rendimiento utilizadas para construir las tablas reportadas.
La Figura 2 es el flujo de datos a nivel de implementación entre los módulos IDS y blockchain. La BiLSTM extendida produce una decisión por ventana (Ecuación 13); en una clasificación maliciosa, el cliente gateway construye y firma una transacción y la envía a través de web3/JSON-RPC al contrato inteligente PoA, que añade un bloque vinculado por hash (Ecuación 14) al libro mayor inmutable y emite eventos (BlockCreated, NodeIsolated y AdminAlert) que activan el aislamiento de nodos y alertas de administrador.

Figura 2. Interacción a nivel de implementación entre la detección de intrusiones y los módulos blockchain. Diagrama de flujo de trabajo que ilustra la comunicación entre el sistema de detección de intrusiones y los componentes de blockchain. El modelo BiLSTM extendido clasifica cada ventana de entrada y aplica la regla de decisión definida en la Ecuación 13. Cuando se detecta una intrusión, el cliente gateway genera y firma una transacción que se transmite a través de Web3.py/JSON-RPC al contrato inteligente de Prueba de Autoridad (PoA). El contrato añade un bloque enlazado por hash al libro mayor inmutable según la Ecuación 14 y emite eventos BlockCreated, NodeIsolated y AdminAlert que activan acciones de contención y notificación. IDS, Sistema de Detección de Intrusiones; BiLSTM, Memoria Bidireccional a Corto Plazo a Corto Plazo; Poder notarial, Prueba de Autoridad; JSON-RPC, Notación de Objetos JavaScript–Llamada a procedimiento remoto. Por favor, haz clic aquí para ver una versión ampliada de esta figura.
Representación de datos
Consideremos R como el flujo bruto de tráfico de IoMT. Tras el preprocesamiento, cada registro
en bruto se mapea en un vector de características normalizado de dimensión d (Ecuación 1):
(1)
Aquí, f (⋅) es la función de transformación de características que mapea los registros en bruto en un vector de características normalizado en d dimensiones. Sea la red IoMT formada por un conjunto de nodos (Ecuación 2):
N = {n1 , n2, ... ,n k} (2)
Cada nodon j ∈ R produce un flujo de datos en serie temporal (Ecuación 3):
(3)
Aquí, xt es el vector de características en el tiempo t, con d características (por ejemplo, tamaño de paquete, tipo de protocolo, dirección de origen/destino) comúnmente observadas en el tráfico de redes sanitarias del Internet delas Cosas 19. El conjunto de etiquetas correspondiente es (Ecuación 4):
(4)
Aquí, yt=0 representa el tráfico normal y y t =1 denota una intrusión.
Preprocesamiento de datos
La cadena de preprocesamiento incluye los siguientes pasos, que abordan los desafíos comunes de calidad de datos y seguridad asociados con el tráficoIoMT 20:
Limpieza de datos y gestión de valores perdidos:
Un registro se identificaba como corrupto y eliminaba antes de la imputación si cumplía alguna de las siguientes condiciones explícitas: (i) faltaban todos los campos de características del registro (es decir, el registro completo era nulo), o (ii) el registro contenía un valor no finito (infinito positivo o negativo) en cualquier campo numérico tras coerción del tipo. La segunda regla elimina entradas inválidas, como las producidas por división por cero durante el cálculo de características de flujo (por ejemplo, valores infinitos de caudal derivados de flujos de duración cero). Tras la eliminación de registros corruptos, los valores restantes faltantes se imputaban mediante la sustitución media calculada por característica, por conjunto de datos y solo desde la partición de entrenamiento; Los medios resultantes se aplicaban a los conjuntos de entrenamiento, validación y prueba para evitar fugas de información. La imputación no era condicional a clase, y las medias no se agrupaban entre conjuntos de datos.
Reducción de ruido temporal:
La reducción temporal de ruido se realizó utilizando un filtro de media móvil exponencial (EMA) por característica aplicado a lo largo del eje temporal. Se utilizó la forma recursiva (causal ) yt = α·xt + (1 − α)·yt−1 , con factor de suavizado α = 0,3, implementada mediante la función ewm de pandas con adjust=False. Cada característica se suavizaba de forma independiente. Como filtro exponencial (respuesta infinita al impulso), la EMA no tiene un tamaño fijo de ventana o núcleo; El factor de suavizado α es el único parámetro que regula el grado de suavizado y la memoria efectiva del filtro.
Normalización Min–Max:
Se aplicó la normalización min–max para escalar cada característica al rango [0,1] usando la transformación x′=(x−min)/(max−min+ε), donde ε = 1 × 10−8. Las estadísticas mínima y máxima se calculaban por característica, por conjunto de datos y solo desde la partición de entrenamiento; Estas estadísticas de entrenamiento almacenadas se aplicaban para normalizar los conjuntos de entrenamiento, validación y prueba, evitando la filtración de información oculta. Durante la inferencia, los valores de características que quedaban fuera del rango de entrenamiento se recortaban al intervalo [0,1].
Codificación de características categóricas:
Las características categóricas se convirtieron a forma numérica mediante codificación de etiquetas. Esto se aplicó a todas las variables categóricas: en UNSW-NB15, los campos proto, servicio y estado; en Bot-IoT, el protocampo; CICIDS2017 no contiene campos categóricos entre las características seleccionadas. La codificación se implementaba con LabelEncoder ajustado por variable.
Ventanas temporales para aprendizaje secuencial:
El flujo de características preprocesado se segmentó en secuencias de longitud fija usando una ventana deslizante de longitud T = 20 pasos de tiempo con una zancada de s = 1. Cada ventana generada fue validada antes de su inclusión. Una ventana solo se aceptaba si contenía exactamente T = 20 pasos de tiempo consecutivos y todos los valores de las características eran finitos. Los flujos más cortos que T = 20 registros no producían ventanas. Esta configuración (T = 20, s = 1, 95% de solapamiento) se aplicó de forma consistente en todos los experimentos y conjuntos de datos. El flujo de trabajo completo de preprocesamiento se resume en el Algoritmo 1 (Archivo Suplementario 1).
El objetivo del preprocesamiento es permitir un mapeo predictivo de secuencias de entrada a etiquetas de intrusión (Ecuación 5).
(5)
parametrizado por θ, que predice si un evento es benigno o malicioso.
Selección de características usando AQU-IMF-RFE
La selección de características se realizó usando AQU-IMF-RFE, un método híbrido que integra Información Mutua (MI), el Aquila Optimizer (AO) y la Eliminación de Características Recursivas (RFE), introducido en nuestro trabajoprevio 18. El método funciona en tres etapas. En la primera etapa, se calcula la información mutua entre cada característica y la etiqueta de clase para obtener una clasificación inicial de relevancia. En la segunda etapa, el Aquila Optimizer realiza una búsqueda global sobre subconjuntos de características candidatas utilizando sus cuatro estrategias de optimización. En la tercera etapa, el subconjunto refinado pasa por la eliminación de características recursivas con validación cruzada de 10 veces usando un estimador de Bosque Aleatorio (RF).
El Aquila Optimizer estaba configurado con un tamaño de población de 100 personas, un máximo de 10 iteraciones, un factor de explotación de 0,1, una tasa de aprendizaje de 0,1 y un factor de atracción de 0,005. Aplicado de forma independiente a cada conjunto de datos, AQU-IMF-RFE conservó 14 características para UNSW-NB15, 24 para CICIDS2017 y 12 para Bot-IoT. El pseudocódigo completo se proporciona en el Archivo Suplementario 1, y los subconjuntos de características seleccionados se listan en la Tabla 4.
| Tabla 4A. Características seleccionadas conservadas para UNSW-NB15 |
| S. No. | Característica | Tipo | Categoría |
| 1 | dur | Numérico (flotante) | Básico |
| 2 | sbytes | Numérico (entero) | Básico |
| 3 | Índice | Numérico (flotante) | Básico |
| 4 | dload | Numérico (flotante) | Básico |
| 5 | sinpkt | Numérico (flotante) | Tiempo |
| 6 | DINPKT | Numérico (flotante) | Tiempo |
| 7 | Sjit | Numérico (flotante) | Tiempo |
| 8 | TCPRTTT | Numérico (flotante) | Tiempo |
| 9 | synack | Numérico (flotante) | Tiempo |
| 10 | ackdat | Numérico (flotante) | Tiempo |
| 11 | Smean | Numérico (entero) | Contenido |
| 12 | ct_srv_src | Numérico (entero) | Conexión |
| 13 | ct_dst_src_ltm | Numérico (entero) | Conexión |
| 14 | ct_srv_dst | Numérico (entero) | Conexión |
| Tabla 4B. Características seleccionadas conservadas para CICIDS2017 |
| S. No. | Característica | | |
| 1 | Puerto de destino | | |
| 2 | Duración del flujo | | |
| 3 | Longitud total de los paquetes hacia adelante | | |
| 4 | Longitud total de los paquetes hacia atrás | | |
| 5 | Longitud máxima de paquete redirigido | | |
| 6 | Longitud máxima de paquete hacia atrás | | |
| 7 | Media de la longitud de los paquetes hacia atrás | | |
| 8 | Paquetes de flujo | | |
| 9 | Tiempo máximo de interllegada del flujo | | |
| 10 | Total de tiempo entre llegadas hacia adelante | | |
| 11 | Longitud del cabezazo hacia delante | | |
| 12 | Longitud del cabecero hacia atrás | | |
| 13 | Paquetes directos por segundo | | |
| 14 | Longitud máxima de paquete | | |
| 15 | Media de la longitud del paquete | | |
| 16 | Desviación estándar de longitud de paquete | | |
| 17 | Variación de longitud de paquetes | | |
| 18 | Tamaño medio del paquete | | |
| 19 | Tamaño medio de segmentos hacia atrás | | |
| 20 | Bytes directos de subflujo | | |
| 21 | Subflujo de bytes hacia atrás | | |
| 22 | Bytes iniciales de ventana hacia adelante | | |
| 23 | Bytes iniciales de ventana hacia atrás | | |
| 24 | Media de la longitud de los paquetes hacia adelante | | |
| Tabla 4C. Características seleccionadas conservadas para Bot-IoT |
| S. No. | Característica | Tipo | |
| 1 | Sig. | Numérico | |
| 2 | media | Numérico | |
| 3 | StdDev | Numérico | |
| 4 | min | Numérico | |
| 5 | Max | Numérico | |
| 6 | srate | Numérico (flotante) | |
| 7 | drate | Numérico (flotante) | |
| 8 | N_IN_Conn_P_SrcIP | Numérico (entero) | |
| 9 | N_IN_Conn_P_DstIP | Numérico (entero) | |
| 10 | proto | Categórico (codificado) | |
| 11 | state_number | Numérico (entero) | |
| 12 | Índice | Numérico (flotante) | |
Tabla 4: Características seleccionadas por el método de selección de características AQU-IMF-RFE. Esta tabla muestra los subconjuntos finales de características seleccionados por el marco de selección de características AQU-IMF-RFE para los conjuntos de datos UNSW-NB15, CICIDS2017 y Bot-IoT. Se proporcionan nombres de características, tipos de datos y categorías funcionales cuando corresponde.
Montaje experimental
Todos los experimentos se realizaron en un servidor Dell PowerEdge R740 equipado con un procesador Intel Xeon Silver 4214 que operaba a una frecuencia base de 2,20 GHz, con 12 núcleos físicos, 24 hilos lógicos, 16,5 MB de caché y una velocidad Intel Ultra Path Interconnect (UPI) de 9,6 GT/s. El servidor estaba configurado con 128 GB de RAM, una unidad SSD de estado sólido (SSD) de 512 GB y funcionaba con Microsoft Windows 11. La pila de software comprendía Python 3.12.7, TensorFlow 2.16.1, scikit-learn 1.8.0, pandas 3.0.2 y NumPy 2.4.4. La capa blockchain se implementó en la misma estación de trabajo usando una red PoA Ethereum. La comunicación entre el IDS y la blockchain se realizaba mediante JSON-RPC utilizando la versión 1.13.15 del cliente go-ethereum (Geth), la versión 0.8.19 del compilador Solidity (solc) para la compilación y despliegue de contratos inteligentes, y la biblioteca de Web3.py versión 6.15.1. Se midieron el tiempo de entrenamiento reportado, la latencia de inferencia y el rendimiento en esta configuración de hardware y software.
Arquitectura y formación de modelos
El modelo BiLSTM Extendido constituye el componente central de detección del marco, basándose en enfoques previos de detección de intrusiones basados en aprendizaje desarrollados para entornosIoMT 21. Estudios anteriores de detección de intrusiones destacaron tanto la importancia de equilibrar el rendimiento de detección con la reducción de falsasalarmas 15 como los desafíos únicos de aplicar métodos de aprendizaje automático al tráfico de reden evolución 16. Las arquitecturas colaborativas de detección de intrusiones en redes neuronales han demostrado además el valor del aprendizaje secuencial profundo de características para el tráfico de redcomplejo 22. Mientras que los modelos estándar de BiLSTM capturan dependencias temporales bidireccionales, el tráfico IoMT presenta tanto patrones de ráfagas a corto plazo como dependencias a largo plazo causadas por ataques multietapa. Para abordar esto, el modelo propuesto extiende BiLSTM con extracción de características temporales, aprendizaje temporal bidireccional mejorado, conexiones residuales y priorización temporal basada en la atención. Los LSTM bidireccionales (BiLSTM) superan esta limitación combinando estados ocultos hacia adelante y hacia atrás, permitiendo una representación temporal más rica de los patrones de tráfico IoMT, como se indica en el Algoritmo 2 (Archivo Suplementario 1).
Sea la secuencia de entrada X(nj) = {x 1 , x2 , ... , xT }, donde cada xt ∈ Rd es un vector de características preprocesado.
Extracción de características temporales:
Se aplica una convolución ligera unidimensional a lo largo de la dimensión temporal para enfatizar anomalías temporales a corto alcance (Ecuación 6):
U = φ (Conv1D(X(n j)), U = {u1, u2, ..., uT } (6)
Aquí, φ(⋅) es una función de activación no lineal y las características convolucionadas ut se alimentan a la BiLSTM.
La capa Conv1D extrae patrones temporales de corto alcance antes del modelado bidireccional de secuencias. Los parámetros completos de implementación se proporcionan en el Archivo Suplementario 3B.
Aprendizaje LSTM bidireccional apilado:
Los estados ocultos hacia adelante y hacia atrás se calculan como (Ecuación 7):
(7)
La representación final de BiLSTM es la concatenación de estados ocultos pasados (hacia adelante) y futuros (hacia atrás) (Ecuación 8).
(8)
Dos capas BiLSTM apiladas modelan dependencias temporales bidireccionales. Los parámetros arquitectónicos detallados se proporcionan en el Archivo Suplementario 3B. Los detalles de inicialización de pesos se proporcionan en el Archivo Suplementario 3B.
Conexión residual y normalización
Tras la proyección lineal a dimensiones de coincidencia, se aplican conexiones residuales y normalización de capas (Ecuación 9):

La proyección residual y la normalización de capas alinean las representaciones convolucionales y BiLSTM antes de la atención. Los parámetros detallados de implementación se proporcionan en el Archivo Suplementario 3B.
Mecanismo de atención
Aunque BiLSTM proporciona un modelado temporal sólido, no todos los pasos temporales contribuyen por igual a la predicción. Para enfatizar marcas temporales críticas (por ejemplo, picos anómalos repentinos), se introduce un mecanismo de atención. A cada estado
oculto se le asigna una puntuación de relevancia αt para mejorar la precisión de detección (Ecuación 10).

Aquí, Wa es un parámetro entrenó y los pesos de atención satisfacen
El vector de contexto c agrega los estados ocultos según su importancia aprendida (Ecuación 11):

El mecanismo de atención agrega representaciones temporales en un vector de contexto. Los parámetros detallados de implementación se proporcionan en el Archivo Suplementario 3B.
Capa de salida y clasificación
El vector de contexto agregado se pasa a través de una capa totalmente conexa seguida de una activación sigmoide para obtener la predicción final (Ecuación 12):

Aquí, Wc y bc son parámetros entreables, y σ(·) es la función de activación sigmoide que asigna la salida al intervalo [0,1]. Se aplica un umbral para clasificar el tráfico como benigno (
) o intrusivo (
).
La regularización de abandono y el umbral fijo de clasificación utilizado durante la inferencia se describen en el Archivo Suplementario 3B.
La arquitectura BiLSTM extendida es idéntica en los tres conjuntos de datos; solo la dimensión de la característica de entrada difiere, tomando valores de 14, 24 y 12 para UNSW-NB15, CICIDS2017 y Bot-IoT, respectivamente. Debido a que la capa Conv1D mapea cualquier entrada de dimensión a una representación fija de 64 canales, todas las capas posteriores son independientes del conjunto de datos, y solo la forma de entrada y el conteo de parámetros Conv1D varían con . La arquitectura completa capa por capa se resume en la Tabla 5, con los conteos de parámetros expresados en términos de d; Los totales resultantes son 184.641, 186.561 y 184.257 parámetros entreenables para D = 14, D = 24 y D = 12, respectivamente.
| S. No. | Capa (tipo) | Forma de salida | Parámetros entreenables | Función de activación |
| 1 | Entrada | (20, d) | 0 | — |
| 2 | Conv1D (64 filtros, tamaño del núcleo = 3, mismo relleno) | (20, 64) | 192d + 64 | ReLU |
| 3 | Capa 1 de LSTM bidireccional (64 unidades por dirección) | (20, 128) | 66,048 | tanh / sigmoide |
| 4 | LSTM bidireccional Capa 2 (64 unidades por dirección) | (20, 128) | 98,816 | tanh / sigmoide |
| 5 | Proyección residual densa | (20, 128) | 8,320 | Lineal |
| 6 | Adición residual | (20, 128) | 0 | — |
| 7 | Normalización de capas (eje = −1, ε = 1 × 10⁻³) | (20, 128) | 256 | — |
| 8 | Atención temporal (Wa ∈ R¹²⁸×¹) | 128 | 128 | Softmax |
| 9 | Capa oculta densa | 64 | 8,256 | ReLU |
| 10 | Abandono (p = 0,3) | 64 | 0 | — |
| 11 | Capa de salida densa | 1 | 65 | Sigmoide |
Tabla 5: Arquitectura capa por capa del modelo de memoria bidireccional extendida a corto plazo. Esta tabla resume la arquitectura del modelo propuesto de Memoria Bidireccional Extendida a Corto Plazo (BiLSTM), incluyendo tipos de capas, dimensiones de salida, conteos de parámetros entreenables y funciones de activación.
El software y el entorno computacional utilizados para todos los experimentos se resumen en la Tabla 6.
| Componente | Versión / Especificación |
| Sistema operativo | Windows |
| Plataforma de Servidor | Dell PowerEdge |
| CPU | Procesador de 64 núcleos |
| RAM | 128 GB |
| Almacenamiento | SSD de 512 GB |
| Python | 3.12.7 |
| NumPy | 2.4.4 |
| Pandas | 3.0.2 |
| scikit-learn | 1.8.0 |
| TensorFlow / Keras | 2.16.1 |
| Web3 (cliente blockchain) | 6.15.1 |
| cuenta eth | 0.1 |
| Compilador Solidity (solc) | 0.8.19 |
| Go-ethereum (Geth) | 1.13.15 |
Tabla 6: Software y entorno computacional utilizados para la implementación y evaluación del marco propuesto. Esta tabla resume las especificaciones de hardware, componentes de software, herramientas blockchain y números de versión utilizados para el preprocesamiento de datos, selección de características, entrenamiento de modelos, despliegue de blockchain y evaluación del rendimiento.
Decisión de intrusión y respuesta automatizada
La detección de intrusiones en entornos sanitarios solo es efectiva si va acompañada de una respuesta rápida y una mitigación. La Capa de Detección de Intrusiones convierte la probabilidad predicha en una decisión. Formalmente, la decisión de intrusión en el paso de tiempo t se representa de la siguiente manera (Ecuación 13):

Aquí,
es la probabilidad de intrusión predicha en el tiempo t y
es el umbral de clasificación.
Una vez detectada una intrusión, la Capa de Detección de Intrusiones se conecta directamente con el módulo blockchain, que realiza registros inmutables, mitigación automatizada y aplicación de seguridad en bucle cerrado. Los detalles del evento, incluyendo información de origen, información de destino y características de tráfico seleccionadas, se registran en un nuevo bloque blockchain. Los contratos inteligentes ejecutan acciones de mitigación en tiempo real como aislamiento de nodos y alertas de administrador. Esta arquitectura de lazo cerrado permite que los resultados de detección de intrusiones se alimenten directamente en los mecanismos de prevención, minimizando así la latencia de mitigación. Así, la Capa de Detección de Intrusiones sirve como puente entre la detección temporal utilizando el modelo BiLSTM Extendido y la respuesta segura mediante tecnología blockchain, completando la funcionalidad de extremo a extremo del marco propuesto.
Registro forense basado en blockchain
Aunque el modelo BiLSTM extendido permite la detección de intrusiones en tiempo real, el almacenamiento seguro y la auditoría verificable de los eventos de intrusións son igualmente críticos en entornos sanitarios IoMT. Los mecanismos tradicionales de registro centralizado son vulnerables a manipulaciones y comprometen la trazabilidad forense. Para abordar esta limitación, el marco propuesto incorpora un módulo de blockchain ligero que garantiza inmutabilidad, descentralización y respuesta automatizada basada en contratos inteligentes.
Cada evento de intrusión detectado genera un bloque que se añade a la blockchain. Un bloque Bi se define de la siguiente manera (Ecuación 14):

Aquí, Hi es el hash criptográfico de los datos del evento, la marca de tiempo y el resultado de predicción, Ti es la marca de tiempo, Di contiene características seleccionadas del evento de intrusión, Sigi es la firma digital, y PrevHash vincula el bloque al bloque anterior, asegurando la inmutabilidad.
Este diseño garantiza la resistencia a la manipulación porque cualquier modificación de Di o Ti modifica el hash del bloque y rompe la integridad de la cadena. También proporciona auditabilidad porque todas las anomalías detectadas se almacenan de forma permanente y son verificables. La mitigación automatizada se apoya mediante contratos inteligentes que ejecutan acciones predefinidas como aislamiento de nodos y alertas para administradores. La descentralización se logra mediante múltiples gateways IoMT que mantienen el libro mayor distribuido, eliminando así un único punto de fallo.
La generación de bloques utiliza la función hash criptográfica Keccak-256, la primitiva nativa de hash del entorno Ethereum/Solidity (invocada a través de keccak256 de Solidity). Para cada bloque de intrusión, el hash del bloque se calcula de la siguiente manera:

Aquí, Di es el resumen de la característica del evento, Ti es la marca de tiempo y PrevHash es el hash del bloque anterior. Los campos se concatenan usando la codificación compactamente empaquetada de Solidity (abi.encodePacked) antes de hacer hash, produciendo un digest de 256 bits.
El mismo cálculo Keccak-256 es utilizado por la rutina de verificación de cadena, que recalcula cada hash de bloque desde sus campos almacenados y confirma que coincide con el valor registrado, validando así la integridad de la cadena. Keccak-256 fue seleccionado porque es el algoritmo estándar de hashing resistente a colisiones utilizado de forma nativa dentro de los contratos inteligentes de Ethereum. El contrato inteligente fue desarrollado en Solidity y compilado usando el compilador Solidity (solc) versión 0.8.19. Se desplegó en una red privada Ethereum Proof-of-Authority (PoA) operada con Geth versión 1.13.15. La red blockchain estaba configurada con cuatro nodos validadores usando el protocolo de consenso Clique Proof-of-Authority, un ID de cadena de 9848, un periodo de bloque de 5 s y un límite de gas de bloque de 30.000.000. La comunicación entre el motor de detección de intrusiones BiLSTM extendido y la capa blockchain se implementó usando la biblioteca Web3.py versión 6.15.1 a través de la interfaz HTTP JSON-RPC.
Mecanismo de Consenso del Poder PoA
Dado que los sistemas IoMT sanitarios son altamente sensibles a la latencia, el marco propuesto emplea un mecanismo de consenso PoA en lugar de una costosa Prueba de Trabajo (PoW)23, que es computacionalmente costosa. En PoA, un conjunto fijo de nodos validadores de confianza, como las pasarelas hospitalarias, autorizan las transacciones, proporcionando tanto eficiencia como resiliencia.
La complejidad temporal de la validación por bloques bajo PoW puede expresarse de la siguiente manera (Ecuación 15):

Aquí, d representa la dificultad de minería.
En cambio, la complejidad temporal del consenso PoA se expresa de la siguiente manera (Ecuación 16):

porque la validación solo requiere la verificación de firma digital por parte de nodos validadores autorizados.
Como resultado, PoA proporciona un funcionamiento de baja latencia adecuado para alertas médicas en tiempo real, eficiencia energética al evitar minería computacionalmente intensiva y resiliencia frente a un número limitado de validadores maliciosos. La red PoA se configuró con cuatro nodos validadores, y esta configuración se mantuvo fija durante todos los experimentos para garantizar mediciones de latencia consistentes, evaluación reproducible del rendimiento y una comparación justa entre todos los conjuntos de datos de referencia.
Implementación de blockchain y operación de contratos inteligentes
El componente blockchain se implementó en una red Ethereum autorizada que operaba bajo el modelo de consensoPoA 24. La red se ejecutaba usando el cliente go-ethereum (Geth) con el protocolo de consenso CliquePoA 25, en el que un conjunto de nodos validadores autorizados (selladores) son responsables de producir y validar bloques. El contrato inteligente de registro de intrusiones (IoMTIntrusionLedger) fue escrito en Solidity y desplegado en esta red, siguiendo arquitecturas de seguridad IoT basadas en blockchain para la gestión segura y descentralizada de eventos26. Solo las cuentas de pasarela autorizadas on-chain (a través de la función de control de acceso del contrato) podían enviar registros de intrusión, de acuerdo con las arquitecturas de contratos inteligentes de blockchain autorizadas para aplicaciones del Internetde las Cosas 27. La capa blockchain se implementó utilizando la versión 1.13.15 del cliente go-ethereum (Geth) para operar la red PoA con permisos, el compilador Solidity (solc) versión 0.8.19 para la compilación y despliegue de contratos inteligentes, y la biblioteca de Web3.py versión 6.15.1 para la comunicación entre el IDS y la red blockchain.
Los parámetros detallados de despliegue y configuración de la blockchain se proporcionan en el Archivo Suplementario 3C.
Cada registro de intrusións se firma digitalmente antes de ser registrado en el libro mayor, apoyando la auditoría sanitaria basada en blockchain y el mantenimiento seguro de registrosforenses 28. Los procedimientos de generación y verificación de firma digital, incluyendo ECDSA sobre la curva secp256k1 29,30, se describen en el Archivo Suplementario 3D. Cada puerta de enlace contiene un par de claves de Ethereum que consiste en una clave privada de 256 bits (32 bytes) y la clave pública correspondiente, de la cual se deriva la dirección de su cuenta; la generación de claves sigue el procedimiento estándar de Ethereum, utilizando una clave privada aleatoria de 256 bits criptográficamente segura, con la clave pública obtenida mediante multiplicación escalar secp256k1. Para crear una firma, el cliente gateway calcula el digest de la característica de evento Di y lo firma con su clave privada usando el formato de firma de mensajes EIP-191, produciendo una firma de 65 bytes compuesta por los componentes r, s y v. La firma se presenta junto con el registro de intrusión. La verificación se realiza en cadena mediante el contrato inteligente: usando la precompilación EVM ecreEQuest, el contrato recupera la dirección del firmante del digest y la firma firmados y requiere que sea igual a la dirección de la pasarela autorizada que presenta la transacción. Si la dirección recuperada no coincide con una pasarela autorizada, la transacción es rechazada. Esto vincula cada entrada del libro mayor a una pasarela autorizada específica y evita registros de intrusiones no autorizadas o falsificadas.
Los contratos inteligentes se activan automáticamente al detectar
intrusiones, asegurando una respuesta en tiempo real sin necesidad de intervención manual (Ecuación 17):
(17)
El módulo blockchain opera en paralelo con el clasificador BiLSTM Extendido. Una vez detectada una anomalía: (i) el evento es etiquetado y clasificado por el BiLSTM, (ii) se genera, firma y añade un bloque al libro mayor de la blockchain, y (iii) los contratos inteligentes aplican políticas de respuesta automática.
El contrato inteligente de registro de intrusiones (IoMTIntrusionLedger) mantiene un libro mayor solo de anexos de bloques de intrusións y un registro de cuentas de pasarela autorizadas, y expone las funciones resumidas en la Tabla 7. El contrato impone dos roles de acceso mediante modificadores: onlyAdmin (el administrador que despliega) y onlyGateway (cuentas autorizadas a enviar registros de intrusión). El estado consiste en el mapeo de autorización de la pasarela, el array del libro mayor de bloques y la cabeza de cadena actual (el hash del bloque más reciente).
| S. No. | Función / Componente | Tipo | Acceso | Lógica |
| 1 | constructor | Constructor | — | Establece al desplegador como administrador y lo autoriza como la puerta de enlace inicial. |
| 2 | setGateway(dirección, bool) | Función | onlyAdmin | Añade o elimina una cuenta de gateway autorizada; emite GatewayUpdated. |
| 3 | recordIntrusion(nodeId, patientId, attackClass, probabilityBp, dataDigest, signature, isolate) | Función | onlyGateway | Calcula Hi = Keccak-256(Di ∥ Ti ∥ probabilidad ∥ PrevHash); verifica la firma ECDSA de la pasarela en Di mediante ecrecover; añade el bloque al libro mayor; avanza la cabeza de la cadena; emite BlockCreated, opcionalmente NodeIsolated y AdminAlert. DevuelveH i. |
| 4 | verifyChain() | Función de visualización | Público | Recalcula el hash de cada bloque desde sus campos almacenados y comprueba el enlace PrevHash; devuelve true solo si toda la cadena es consistente (detección de manipulaciones). |
| 5 | ledgerLength() | Función de visualización | Público | Devuelve el número de bloques en el libro mayor. |
| 6 | _recoverSigner(hash, firm) | Función interna | — | Divide la firma de 65 bytes en (r, s, v) y recupera la dirección de firma mediante la precompilación ecrequed. |
| 7 | BlockCreated / NodeIsolated / AdminAlert / GatewayUpdated | Eventos | — | Emitido para que los oyentes fuera de cadena puedan gestionar el registro, aislamiento de nodos, alertas de administrador y actualizaciones del registro de gateway. |
| 8 | onlyAdmin / onlyGateway | Modificadores | — | Restringir funciones al administrador y a las pasarelas autorizadas, respectivamente. |
Tabla 7: Funciones, eventos y componentes de control de acceso del contrato inteligente IoMTIntrusionLedger. Esta tabla resume las funciones principales, eventos y modificadores de control de acceso implementados dentro del contrato inteligente blockchain autorizado. Estos componentes soportan la autorización de pasarela, registro de intrusiones, verificación de blockchain, generación de eventos y mitigación automatizada.
La propiedad de inmutabilidad de la blockchain se deduce directamente de la Ecuación 14, donde cualquier modificación en los datos de eventos o marcas de tiempo invalida la cadena hash. De este modo, la blockchain proporciona integridad de los datos, trazabilidad y capacidad de auditoría para los sistemas sanitarios mediante registros forenses inmutables. Los registros de intrusiones de pacientes y dispositivos permanecen sin cambios una vez almacenados, cada bloque se vincula de forma segura al bloque anterior permitiendo la reconstrucción cronológica de eventos, y los administradores o reguladores sanitarios pueden verificar incidentes de intrusións sin riesgo de falsificación.
Función de pérdida y optimización del modelo
El modelo BiLSTM Extendido propuesto aborda el problema de clasificación binaria de distinguir entre tráfico normal y eventos de intrusión en redes IoMT. Para guiar el proceso de entrenamiento, se adopta una pérdida binaria de entropía cruzada (BCE), que es muy adecuada para salidas probabilísticas de la capa de activación sigmoide. Para un conjunto de datos con N muestras, la pérdida se define de la siguiente manera (Ecuación 18):
(18)
Aquí,
es la etiqueta de verdad fundamental de la iésima secuencia de entrada (0 = benigno, 1 = intrusión), y
es la probabilidad predicha de intrusión.
El marco funciona como una cadena de clasificación en dos etapas. La primera etapa realiza la detección de intrusiones binarias: el BiLSTM extendido produce una salida
sigmoide y aplica el umbral τ = 0,5 para clasificar cada ventana como benigna o intrusiva (Ecuaciones 12,13), entrenada con pérdida cruzada binaria ponderada. Una segunda etapa puede realizar la categorización de ataques, en la que ventanas identificadas como intrusiones se pasan a un clasificador multiclase que asigna la categoría específica de ataque usando una capa de salida softmax entrenada con entropía cruzada categórica. El presente estudio se centra y evalúa la etapa de detección binaria. Las dos etapas comparten la misma columna vertebral de extracción de características de BiLSTM extendida (Conv1D, BiLSTM, capas residual, de normalización y de atención); solo difieren en su capa de salida (sigmoide para detección y softmax para categorización) y en la función de pérdida correspondiente. La etapa de detección binaria y la etapa de categorización multiclase fueron entrenadas y evaluadas bajo las mismas particiones de datos, semillas aleatorias y condiciones de entrenamiento descritas anteriormente.
Aunque el tráfico IoMT suele estar desequilibrado, se utiliza una pérdida binaria ponderada de entropía cruzada para penalizar la clasificación errónea de la clase minoritaria. Los pesos de clase se calculan usando el número de muestras de intrusión Np, el número de muestras benignas Nn y el número total de muestras N (Ecuaciones 19,20):


La ponderación asegura que el modelo no esté sesgado hacia la clase dominante de tráfico benigno y permanezca sensible a eventos de intrusión, raros pero críticos.
La pérdida ponderada de entropía cruzada binaria se da de la siguiente manera (Ecuación 21):
(21)
El entrenamiento se realizaba utilizando mini-lotes de tamaño 64. Al inicio de cada época, las muestras de entrenamiento se barajaban aleatoriamente antes de particionarse en lotes, de modo que la composición por lotes variaba entre épocas y el modelo no veía ejemplos en un orden fijo. Los lotes no estaban explícitamente equilibrados ni estratificados por clase; en cambio, cada lote reflejaba la distribución natural de clases del conjunto de entrenamiento, y el desequilibrio de clases se abordaba mediante la pérdida binaria ponderada por clase cruzada (Ecuaciones 19–21). El subconjunto de validación reservado de la partición de entrenamiento permaneció fijo entre épocas y no se barajó en los lotes de entrenamiento.
Los pesos de clase en la pérdida de entropía cruzada binaria ponderada no se establecieron manualmente, sino que se calcularon automáticamente para cada conjunto de datos a partir de los conteos de clases del conjunto de entrenamiento según las Ecuaciones 19 y 20. Para el conjunto de datos UNSW-NB15, los pesos de clase resultantes correspondían
a la clase normal y
a la clase de intrusión. Para el conjunto de datos CICIDS2017, los pesos resultantes de la clase normal
y
de la clase de intrusión. Para el conjunto de datos Bot-IoT (subconjunto del 5%), los pesos resultantes de la clase normal
y
de la clase de intrusión.
Estrategia de entrenamiento y optimización
El modelo BiLSTM extendido se entrenó usando mini-lotes de tamaño B = 64 con pérdida de entropía cruzada binaria ponderada, el optimizador Adam y parada temprana basada en la pérdida de validación. El entrenamiento se limitó a 50 épocas y se aplicó una parada temprana con paciencia K = 5. Si la pérdida de validación no mejoraba durante cinco épocas consecutivas, el entrenamiento se detenía y los pesos del modelo se restauraban a los de la época con la menor pérdida de validación. Así, 50 épocas representaban el presupuesto máximo de formación en lugar de una duración fija de entrenamiento. Se aplicó una probabilidad de abandono de 0,3 para la regularización. Los ajustes arquitectónicos incluían 64 filtros Conv1D, 64 unidades LSTM por dirección, una longitud de ventana de T = 20 y una zancada de s = 1. La estrategia de entrenamiento adoptada se resume en el Algoritmo 3 (Archivo Suplementario 1). Las ecuaciones de actualización de Adam utilizadas para optimización se proporcionan en el Archivo Suplementario 3A.
El optimizador Adam estaba configurado con una tasa de aprendizaje de
, una tasa de decaimiento en el primer momento (β1) de 0,9, una tasa de decaimiento en el segundo momento (β2) de 0,999 y una constante de estabilidad numérica (
) de 1 × 10-7. No se usaron opciones adicionales de optimizador, ni se aplicó decaimiento de peso ni recorte de gradiente.
Generación de alertas y mitigación automatizada
La detección por sí sola es insuficiente en redes IoMT sensibles a la latencia, donde la respuesta rápida es crítica para garantizar la seguridad del paciente. La Capa de Generación y Mitigación de Alertas operacionaliza la decisión de intrusión tomada por el modelo BiLSTM Extendido y el mecanismo de registro blockchain. Si δt = 1, el módulo blockchain añade un nuevo bloque que contiene los detalles
de la intrusión . Simultáneamente, se ejecuta un contrato inteligente para activar acciones de mitigación (Ecuación 22):
(12)
Aquí, BlockCreation garantiza un registro forense inmutable del evento, NodeIsolation (n j) pone en cuarentena el nodo IoMT comprometido para evitar daños mayores, y AdminAlert entrega notificaciones en tiempo real a los administradores del sistema. Para operar esta cadena de respuesta de doble capa, el pseudocódigo se presenta en el Algoritmo 4 (Archivo Suplementario 1).
El procesamiento de eventos por contratos inteligentes y los mecanismos de respuesta fuera de cadena se describen en el Archivo Suplementario 3E.
Cada entrada comprometida en el libro mayor de la blockchain se almacena como un registro IntrusionBlock, cuyos campos y formatos de datos se listan en la Tabla 8. El libro mayor es un array de solo añadir de estos registros, y el cabezal de cadena actual almacena el hash del bloque añadido más recientemente.
| S. No. | Campo | Tipo de datos | Tamaño | Descripción |
| 1 | hashId | bytes32 | 32 bytes | Hash de bloque Hi = Keccak-256(Di ∥ Ti ∥ probabilidad ∥ PrevHash) |
| 2 | Marca temporal | uint256 | 32 bytes | Tiempo de creación del bloque Ti (segundos de época Unix, desde la marca temporal del bloque) |
| 3 | nodeId | bytes32 | 32 bytes | Identificador del nodo IoMT nj |
| 4 | pacienteId | bytes32 | 32 bytes | Identificador de paciente/dispositivo (metadatos forenses) |
| 5 | Clase ataque | uint16 | 2 bytes | Código de categoría de ataque (0 = Normal, 1 = DDoS, 2 = Suplantación, ...) |
| 6 | probabilidadBp | uint16 | 2 bytes | Probabilidad de intrusión predicha ŷ en puntos base (0–10000, es decir, 0,00–100,00%) |
| 7 | dataDigest | bytes32 | 32 bytes | ResumenD i de las características seleccionadas del evento |
| 8 | Firma | Bytes | Variable (65 bytes) | Firma ECDSA Sigi del digest de eventos por la pasarela (r, s, v) |
| 9 | prevHash | bytes32 | 32 bytes | Hash del bloque anterior (PrevHash), enlazando la cadena |
| 10 | aislado | bool | 1 byte | Si se activó el aislamiento de nodos para este registro |
Tabla 8: Estructura del registro IntrusionBlock almacenado en el libro mayor de la blockchain. Esta tabla describe los campos, tipos de datos, tamaños de almacenamiento y propósitos de los registros del libro mayor de blockchain utilizados para almacenar eventos de intrusión. La estructura soporta la verificación de integridad criptográfica, la trazabilidad forense y mecanismos de respuesta automatizada.
La latencia total de mitigación puede expresarse como la suma del retardo de detección (Td) del modelo BiLSTM Extendido y el retraso de ejecución de la blockchain (Tb) (Ecuación 23):
(23)
Análisis de Complejidad Computacional
La eficiencia del marco propuesto de BiLSTM–Blockchain extendido está determinada tanto por el coste computacional del modelo BiLSTM como por la sobrecarga introducida por el módulo blockchain. El marco propuesto integra la detección BiLSTM Extendida con el registro de blockchain para satisfacer los requisitos de seguridad básicos de la tríada de Confidencialidad, Integridad y Disponibilidad (CIA).
Sea la longitud de la secuencia de entrada preprocesada T, la dimensión de características d y la dimensión oculta de la BiLSTM h.
Para cada paso de tiempo, una BiLSTM procesa entradas de dimensión d con tamaño oculto h. Dado que es bidireccional (adelante + atrás) (Ecuación 24):
) (24)
Aquí, T es la longitud de la secuencia (pasos de tiempo), d es la dimensión de característica de entrada, h es la dimensión de estado oculta
La capa de atención calcula pesos de importancia y agrega estados ocultos con complejidad (Ecuación 25).
(25)
que es lineal tanto en la longitud de secuencia T como en la dimensión oculta h.
Por tanto, la complejidad total de detección por secuencia se da de la siguiente manera (Ecuación 26):
(26)
demostrando que el modelado temporal domina el coste computacional, mientras que el mecanismo de atención introduce solo una sobrecarga ligera.
Por cada evento de intrusión detectado, el registro de blockchain realiza operaciones de hashing, firma y anexión de bloques (Ecuación 27):
(27)
Para N eventos de detección de intrusión, la complejidad combinada es la siguiente (Ecuación 28):
(28)
que puede simplificarse de la siguiente manera (Ecuación 29):
(29)
porque la sobrecarga de la blockchain crece linealmente con el número de eventos y sigue siendo insignificante en comparación con los cálculos de procesamiento de secuencias.
La complejidad computacional se resume en las Ecuaciones 24–29. La interpretación detallada se proporciona en el Archivo Suplementario 3F.