• No se han encontrado resultados

Esquema de seguridad para la reprogramación de redes inalámbricas de sensoresSecurity scheme for the reprogramming of wireless sensor networks

N/A
N/A
Protected

Academic year: 2020

Share "Esquema de seguridad para la reprogramación de redes inalámbricas de sensoresSecurity scheme for the reprogramming of wireless sensor networks"

Copied!
219
0
0

Texto completo

(1)

Carlos Fernando Caloca de la Parra

Y aprobada por el siguiente comit´e:

Dr. Jos´e Antonio Garc´ıa Mac´ıas

Director del Comit´e

Dr. Carlos Alberto Brizuela Rodr´ıguez

Miembro del Comit´e

Dr. Lu´ıs Armando Villase˜nor Gonz´alez

Miembro del Comit´e

Dr. Pedro Gilberto L´opez Mariscal

Coordinador del Posgrado en Ciencias en Ciencias de la Computaci´on

Dr. David Hilario Covarrubias Rosales

Encargado del despacho de la Direcci´on de Estudios de Posgrado

(2)

SUPERIOR DE ENSENADA

PROGRAMA DE POSGRADO EN CIENCIAS

EN CIENCIAS DE LA COMPUTACI ´

ON

Esquema de Seguridad para la Reprogramaci´

on de Redes

Inal´

ambricas de Sensores

TESIS

que para cubrir parcialmente los requisitos necesarios para obtener el grado de

MAESTRO EN CIENCIAS

Presenta:

Carlos Fernando Caloca de la Parra

(3)

CIAS DE LA COMPUTACI ´ON. Ensenada, B. C. Diciembre del 2007.

Esquema de Seguridad para la Reprogramaci´

on de Redes

Inal´

ambricas de Sensores

Resumen aprobado por:

Dr. Jos´e Antonio Garc´ıa Mac´ıas

Director de Tesis

Recientemente se han enfocado muchos esfuerzos de investigaci´on en redes inal´ am-bricas de sensores para utilizar esta tecnolog´ıa en aplicaciones reales de sensado y c´omputo ubicuo. Uno de los avances recientes en este sentido es la idea de utilizar el medio inal´ambrico para diseminar c´odigo de manera autom´atica a toda la red. A este proceso se le conoce como reprogramaci´on inal´ambrica. Sin embargo, a pesar de haberse hecho varias propuestas para la reprogramaci´on de las redes de sensores, poca atenci´on se le ha prestado a la incorporaci´on de mecanismos de seguridad a este proceso. Es precisamente este el enfoque del presente trabajo.

La propuesta que aqu´ı se presenta consiste en proteger la autenticaci´on del nuevo programa mediante firmas digitales y estructuras hash. Asimismo, se propone proteger la confidencialidad del nuevo programa mediante el cifrado sim´etrico del c´odigo, de modo que ´este se descifre una vez que el nodo vaya a cambiar al nuevo programa. Por ´

ultimo, se proponen mecanismos que limitan la efectividad de algunos posibles ataques al funcionamiento del protocolo de reprogramaci´on. Esta propuesta es una extensi´on de seguridad a Deluge, un protocolo de reprogramaci´on de redes de sensores eficiente e incluido en el sistema operativo TinyOS.

Con el prop´osito de evaluar el impacto y desempe˜no de los mecanismos de segu-ridad propuestos, se ofrece una evaluaci´on experimental en nodos reales TmoteSky y utilizando al simulador Tossim. Adicionalmente, se presenta un an´alisis te´orico que demuestra la seguridad de los mecanismos propuestos. Esta evaluaci´on muestra que los mecanismos de seguridad propuestos agregan un modesto costo adicional, el cual hace viable y pr´actica la implementaci´on de tales mecanismos en redes inal´ambricas de sensores reales.

Palabras clave: Reprogramaci´on de Red, Seguridad, Redes Inal´ambricas de Sensores, Deluge, Seguridad en Diseminaci´on de C´odigo, Firmas Digitales y Estructuras Hash.

(4)

SCIENCES. Ensenada, B. C. August 2007.

Security Scheme for the Reprogramming of Wireless Sensor

Networks

Abstract approved by:

Dr. Jos´e Antonio Garc´ıa Mac´ıas

Thesis director

Recently, many research efforts have been focused in wireless sensors networks in order to use this technology in real-world applications for sensing and ubiquitous com-puting. One of the recent developments in this direction is the idea of using the wireless channel to automatically disseminate code to the entire network. This process is known as wireless reprogramming. However, despite of the several proposals for reprogramm-ming sensor networks, little attention has been given to the incorporation of security mechanisms to this process. This is precisely the focus of the present work.

The proposal presented here consists in protecting the authentication of the new program through digital signatures and hash structures. Also, the use of symmetric encryption of the code is proposed, in order to protect the confidentiality of the new program. This code will be decrypted when the node changes to the new program. Finally, mechanisms limiting the effectiveness of some possible attacks on the operation of the reprogramming protocol are proposed. This proposal is a security extension for Deluge, an efficient reprogramming protocol for wireless sensor networks, which is included in the TinyOS operating system.

In order to assess the impact and performance of the proposed security mechanisms, this work provides an experimental evaluation in real TmoteSky sensor nodes, as well as using the Tossim simulator. Additionally, it presents a theoretical analysis that demonstrated the security of the proposed mechanisms. This evaluation shows that the proposed security mechanisms add a modest additional cost, thus making feasible and practical the implementation of these mechanisms in real wireless sensor networks.

Keywords: Network Reprogramming, Security, Wireless Sensor Networks, Deluge, Secured Code Dissemination, Digital Signatures and Hash structures.

(5)

A mi pap´

a, que aunque pase por momentos dif´ıciles siempre contamos

con su apoyo incondicional y comprensi´

on. El sabe que siempre contar´

a

tambi´

en con el apoyo y amor de sus hijos... Admiraci´

on y respeto padre.

A mi mam´

a, por todo el amor que nos dio y nos sigue dando, y por

siempre consentirme. No se puede pedir mejor madre.

A mi hermana que me aguanto todos los jalones de pelos que le di

cuando ´

eramos ni˜

nos. Mi siento orgulloso de ser su hermano mayor, y

sabe que es mi hermana consentida.

A mi abuelita Rosario y mi tata Ernesto a los cuales admiro mucho.

(6)

A mi asesor el Dr. Antonio Garc´ıa Mac´ıas, por guiar y darle forma a esta tesis, por sus sabios consejos y paciencia. Por darse el tiempo de leer esta tesis con un extremo gasto de recursos de papel.

Al Dr. Carlos Brizuela y Dr. Lu´ıs Villase˜nor, integrantes de mi comit´e de tesis, por sus acertados comentarios y aportaciones en favor de la mejora a este trabajo. Adi-cionalmente quiero darles las gracias por no cortarme mi presentaci´on que dur´o hora y media, soy muy verbo que se le va hacer.

A mi familia que siempre me ha apoyado todos los aspectos de mi trayectoria acad´emica, por siempre tener su amor y cari˜no incondicional.

Al grandioso club de Toby integrado por caballeros de primer calibre: David, Torito, Tocayo, Borrego, Leo, Oscar, adem´as de no olvidar a la peque˜na Lulu del club Dalila. Gracias por ofrecer un ambiente de trabajo sano, divertido y lleno de frases celebres dignas de plasmarse en un pizarr´ın, las cuales inspiran en momentos dif´ıciles.

A Torito, Tocayo y David por ayudarme en la redacci´on de algunas p´arrafos de la tesis, y tener la paciencia de leer algunos de los cap´ıtulos de tesis. Adem´as a Tocayo, Leo, Dalila y Adrian por ayudarme a darle forma y ensayar la presentaci´on de la defensa de tesis.

A los inventores del monster, dulci gomas, pretzels, coca cola y mate, por darme la energ´ıas para aguantar las desveladas.

Al Centro de Investigaci´on Cient´ıfica y de Educaci´on Superior, especialmente a todo el Departamento de Ciencias de la Computaci´on.

Al Consejo Nacional de Ciencia y Tecnolog´ıa, por la beca otorgada para realizar mis estudios de maestr´ıa.

Ensenada, M´exico Carlos Fernando Caloca de la Parra

13 de Diciembre del 2007.

(7)

Secci´on P´agina

Resumen ii

Abstract iii

Agradecimientos v

Lista de Figuras xi

Lista de Tablas xiv

I Introducci´on 1

I.1 Planteamiento del problema . . . 2

I.2 Objetivo general . . . 4

I.3 Objetivos espec´ıficos . . . 4

I.4 Contenido de la tesis . . . 5

II Seguridad en redes inal´ambricas y redes inal´ambricas de sensores 8 II.1 Seguridad en redes inal´ambricas . . . 8

II.1.1 Redes inal´ambricas . . . 8

II.1.2 Seguridad en redes inal´ambricas . . . 9

II.2 Seguridad en redes inal´ambricas de sensores . . . 15

II.2.1 Redes inal´ambricas de sensores . . . 15

II.2.2 Consideraciones de seguridad en la redes inal´ambricas de sensores 17 II.2.3 Protocolos propuestos para seguridad en redes inal´ambricas de sensores . . . 18

II.2.4 Cifrado de llave asim´etrica en redes inal´ambricas de sensores . 22 II.3 Conclusiones . . . 23

III Reprogramaci´on de redes inal´ambricas de sensores 25 III.1 Mecanismos de reprogramaci´on . . . 25

III.1.1 Introducci´on . . . 25

III.1.2 Reprogramaci´on tradicional de una red de sensores . . . 26

III.1.3 Importancia de la Reprogramaci´on de redes de sensores . . . . 27

III.1.4 Retos de la Reprogramaci´on de redes de sensores . . . 28

III.1.5 Funcionamiento de un protocolo de reprogramaci´on gen´erico . 29 III.1.6 Propiedades para caracterizar a los protocolos de reprogramaci´on 31 III.1.7 Protocolos de reprogramaci´on propuestos . . . 32

III.2 Seguridad en la reprogramaci´on de las redes inal´ambricas de sensores 40 III.2.1 Importancia de la seguridad en los protocolos de reprogra-maci´on de redes de sensores . . . 40

III.2.2 Particularidades de la seguridad en la reprogramaci´on de redes de sensores . . . 42

III.2.3 Propuestas de seguridad en los protocolos de reprogramaci´on de redes de sensores . . . 43

(8)

Secci´on P´agina

III.2.4 Mecanismos de seguridad relevantes . . . 56

III.3 Conclusiones . . . 58

IV Propuesta de soluci´on e implementaci´on 59 IV.1 Esquema general de la propuesta . . . 59

IV.2 Herramientas de seguridad . . . 61

IV.2.1 Criptograf´ıa asim´etrica . . . 61

IV.2.2 Operaci´on hash . . . 63

IV.2.3 Criptograf´ıa sim´etrica . . . 64

IV.2.4 Herramientas de seguridad para la estaci´on base . . . 65

IV.3 Autenticaci´on e integridad del c´odigo de actualizaci´on . . . 65

IV.3.1 Justificaci´on de modificar el ´arbol hash de Deng et al.(2006) . 67 IV.3.2 Metodolog´ıa de encontrar una nueva configuraci´on de ´arbol hash 68 IV.3.3 Configuraci´on final de ´arbol hash . . . 69

IV.4 Adaptaci´on del protocolo Deluge para dar soporte al esquema de seguridad . . . 71

IV.4.1 Estructura de los mensajes del protocolo . . . 72

IV.4.2 Formato del c´odigo de actualizaci´on en memoria de almacena-miento . . . 75

IV.4.3 Estado del nodo durante transferencia de c´odigo . . . 77

IV.4.4 Definici´on de paquetes hash . . . 79

IV.5 Esquemas que limitan ataques de negaci´on de servicios de Deluge . 81 IV.5.1 Descripci´on de ataques considerados . . . 81

IV.5.2 Protecci´on al ataque de anuncio de versi´on mayor . . . 85

IV.5.3 Protecci´on al ataque de anuncio de p´agina mayor . . . 87

IV.6 Confidencialidad del c´odigo de actualizaci´on . . . 89

IV.6.1 Cifrado sim´etrico del c´odigo de actualizaci´on con llave sim´etrica global . . . 90

IV.7 Volumen de seguridad . . . 92

IV.8 Conclusiones . . . 94

V An´alisis de la seguridad de la propuesta 95 V.1 Autenticaci´on y verificaci´on del c´odigo de actualizaci´on mediante la estaci´on base (AS-1) . . . 96

V.2 Verificaci´on intermediaria de los paquetes del c´odigo de actualizaci´on (AS-2) . . . 98

V.3 Protecci´on de la confidencialidad del c´odigo de actualizaci´on (AS-3) 98 V.4 Limitar posibles ataques de negaci´on de servicios inherentes al pro-tocolo de reprogramaci´on (AS-4) . . . 99

(9)

Secci´on P´agina

V.4.1 Ataque de anuncio de versi´on mayor . . . 100

V.4.2 Ataque de p´aginas mayores . . . 101

V.5 Autenticaci´on del mensaje de reinicializaci´on del nodo al nuevo c´odigo de actualizaci´on por medio de la estaci´on base (AS-5) . . . 102

V.6 Seguridad en la elecci´on de las herramientas de seguridad de la pro-puesta(AS-6) . . . 102

V.6.1 Fuerza de seguridad de la firma digital . . . 102

V.6.2 Fuerza de seguridad del cifrador sim´etrico . . . 103

V.6.3 Fuerza de seguridad del algoritmo hash . . . 104

V.7 Conclusiones . . . 106

VI Evaluaci´on del desempe˜no 107 VI.1 M´etricas de evaluaci´on . . . 108

VI.1.1 Overhead del tiempo de diseminaci´on . . . 108

VI.1.2 Overhead de comunicaci´on . . . 108

VI.1.3 Overhead de gasto de energ´ıa . . . 109

VI.1.4 Overhead espacial . . . 112

VI.2 Especificaci´on de las condiciones de las Pruebas . . . 112

VI.2.1 Pruebas en nodos reales . . . 113

VI.2.2 Pruebas en simulaci´on . . . 113

VI.3 Evaluaci´on de tiempo de diseminaci´on . . . 115

VI.3.1 Influencia del n´umero de nodos en el tiempo de diseminaci´on (P1) . . . 116

VI.3.2 Influencia del n´umero de p´aginas en el tiempo de diseminaci´on (P2) . . . 120

VI.3.3 Influencia del n´umero de saltos en el tiempo de diseminaci´on (P3) . . . 123

VI.4 Evaluaci´on de overhead de comunicaci´on por diseminaci´on . . . 127

VI.4.1 Influencia del tama˜no de la red en los mensajes generados por el protocolo, en una diseminaci´on(P4) . . . 128

VI.4.2 Influencia del n´umero de p´aginas en los mensajes generados por el protocolo, en una diseminaci´on(P5) . . . 132

VI.4.3 Relaci´on entre las transmisiones y recepciones de los mensajes de la diseminaci´on (P6) . . . 136

VI.5 Evaluaci´on de gasto de energ´ıa de la red por diseminaci´on . . . 137

VI.5.1 Influencia del tama˜no de la red en el gasto de energ´ıa por di-seminaci´on(P7) . . . 138

VI.5.2 Influencia del n´umero de p´aginas en el gasto de energ´ıa por diseminaci´on (P8) . . . 141

(10)

Secci´on P´agina VI.5.3 Relaci´on entre el consumo de energ´ıa de las operaciones b´asicas

de la reprogramaci´on(P9) . . . 144

VI.6 Evaluaci´on de overhead espacial de la propuesta . . . 145

VI.7 An´alisis de costos de la propuesta . . . 147

VI.8 Conclusiones . . . 149

VII Conclusiones, aportaciones y trabajo a futuro 154 VII.1 Conclusiones de la investigaci´on . . . 154

VII.2 Aportaciones . . . 157

VII.3 Trabajo a futuro . . . 158

A Seguridad 166 A.1 Objetivos de la seguridad en c´omputo . . . 166

A.1.1 Confidencialidad . . . 166

A.1.2 Integridad de datos . . . 166

A.1.3 Autenticaci´on . . . 166

A.1.4 No repudio . . . 167

A.1.5 Frescura de datos . . . 167

A.1.6 Disponibilidad . . . 168

A.2 Criptograf´ıa . . . 168

A.2.1 Tipos de funciones criptogr´aficas . . . 168

A.3 Criptograf´ıa de llave secreta / sim´etrica . . . 169

A.4 Criptograf´ıa de llave p´ublica / asim´etrica . . . 170

A.4.1 Definici´on formal de cifrado asim´etrico . . . 171

A.5 Funciones hash . . . 172

A.6 Firmas digitales . . . 174

A.6.1 Construcci´on del esquema de firma digital . . . 175

A.6.2 Procedimiento de firmado . . . 176

A.6.3 Procedimiento de verificaci´on de firma . . . 176

A.7 Modos de cifrado . . . 177

A.7.1 CBC - Cipher Block Chaining mode . . . 177

A.8 Explicaci´on de algunos de algoritmos criptograficos . . . 179

A.8.1 SkipJack . . . 179

A.8.2 Criptograf´ıa de curvas el´ıpticas (ECC) . . . 182

A.8.3 SHA-1 . . . 185

B Detalles de implementaci´on de Deluge 189 B.1 Soporte a m´ultiples im´agenes de c´odigo . . . 189

B.2 Estructura Metadata de Deluge . . . 190

B.3 Utilizaci´on y organizaci´on de la memoria EEPROM por Deluge . . 190

(11)

Secci´on P´agina

C Informaci´on sobre hardware y software utilizados 194

C.1 Hardware de nodos sensores . . . 194 C.2 Descripci´on del hardware de nodos sensores utilizado en este trabajo 197 C.3 Software de redes de sensores utilizado en este trabajo . . . 199 C.3.1 TinyOS . . . 199 C.3.2 NesC . . . 200

(12)

Figura P´agina 1 Red inal´ambrica . . . 8 2 Red inal´ambrica de sensores . . . 15 3 Esquema general de una reprogramaci´on de sensores, aqu´ı el c´odigo es

dividido y distribuido a los nodos de la red desde la estaci´on base y en m´ultiples saltos . . . 25 4 Formato de la c´odigo de actualizaci´on antes de diseminarse a la red . . 35 5 Diagrama de estados de Deluge, mostrando la interacci´on de los mensajes

y los estados . . . 37 6 Esquema de cadena hash de Lanigan. La granularidad de la verificaci´on

es a nivel de p´aginas . . . 45 7 En el esquema de cadena hash de Dutta, la granularidad de la verificaci´on

es a nivel de paquetes. La parte sombreada del paquete representa in-formaci´on agregada de seguridad . . . 47 8 Esquema de ´arbol hash de Deng. Esta estructura de ´arbol hash tiene

solo 5 niveles (m= 4) y cada paquete ´ındice del ´arbol contiene 2 valores hash (w= 2) . . . 49 9 Esquema de hash h´ıbrido de Deng, combina la estructura de cadena de

hash para autenticacion e integridad entre p´aginas y una estructura de ´

arbol para los paquetes internos de las p´aginas . . . 51 10 Construcci´on de la firma para el mensajem, utilizando esquema HORS

con ´arboles Merkle . . . 53 11 Estructura hash utilizada para autentificar los paquetes del c´odigo de

actualizaci´on en la propuesta de Shangwon et al. . . 55 12 Arbol binario resultante de una p´´ agina de Deluge, con una carga ´util de

paquetes de datos de 46 bytes. N´otese que se necesitan 46 valores hash de 4 bytes cada uno. . . 67 13 Arbol binario que se utiliz´´ o en para el protocolo seguro aqui propuesto.

N´otese que solo se utilizan 19 valores hash de 10 bytes cada uno. . . 71 14 Interacci´on de mensajes que se da al comienzo de la trasferencia de un

c´odigo de actualizaci´on. En el dibujo (a) se muestra la interacci´on con la nueva estructura de mensajes, y en (b) como se llevaba a cabo originalmente 74 15 Aqu´ı se muestra como est´an organizados la meta informaci´on, datos de

seguridad y contenido del c´odigo de actualizaci´on en la memoria perma-nente (Flash externa). . . 76 16 Serializaci´on del ´arbol hash de una p´agina. Se almacenan los 19 valores

hash de manera lineal empezando de h0 hasta h18. . . 77

(13)

Figura P´agina 17 Interacci´on de los estados Hash y Datos que ocurren en el nodo receptor,

al momento de transferirse una p´agina . . . 78 18 Env´ıo de los valores hash de una p´agina en los 4 paquetes hash. Como

referencia se pone parte de la estructura cadena/´arbol hash para que se vea exactamente que valor hash est´a en cada campo. . . 80 19 Como se realiza el ataque de versi´on mayor. El mensaje de versi´on 10

opaca a la versi´on de la actualizaci´on real que era la 3. Esto ocasiona que se procese una firma inv´alida del atacante. . . 82 20 Como se realiza el ataque de p´aginas mayor. Aunque el atacante y

nodo emisor A anuncien casi al mismo tiempo, el atacante es escuchado primero por el nodo receptor B (por eso lo de 1.1 y 1.2). Ya que el atacante es un emisor que no manda datos v´alidos, y a A nunca le llegan peticiones de B, se produce una interrupci´on en la diseminaci´on. . . . 83 21 Como se realiza el ataque de petici´on infinita. El nodo receptor solo

solicita los paquete 5 y 6, el emisor manda estos paquetes y adem´as se queda en ciclo sin fin de mandar paquetes, mientras el atacante los siga solicitando. . . 84 22 Representaci´on gr´afica del esquema de niveles de seguridad. La flecha

simboliza el nivel de seguridad en que se est´a en ese momento . . . 87 23 Funcionamiento de la protecci´on al ataque de p´agina mayor. El dibujo

(a) se muestra como se elige el emisor del nodo B, aunque el atacante sea m´as r´apido que el nodo A, aqu´ı A resulta elegido. El dibujo (b) muestra que pasa si el atacante se vuelve emisor de B. . . 88 24 Construcci´on de los elementos de seguridad del c´odigo de actualizaci´on.

Las clases java de arriba muestran que el c´odigo es procesado por varios objetos en forma de pipa. Obs´ervese que el cifrado sim´etrico es inclusive antes que los CRC. . . 92 25 Organizaci´on del volumen de seguridad. N´otese que primero van las

llaves criptogr´aficas. . . 93 26 Topolog´ıa grid de NxN utilizado en las simulaciones . . . 115 27 Topolog´ıa estrella recreada para la prueba P1. Los enlaces con el nodo

emisor del dibujo sirven solo para especificar que el emisor est´a a un salto de distancia de los dem´as. . . 117 28 Gr´afica que muestra la relaci´on del n´umero de nodos en el tiempo de

diseminaci´on . . . 118 29 Topolog´ıa simple de dos nodos utilizada para la prueba P2. . . 120 30 Gr´afica que muestra la relaci´on del n´umero de p´aginas en el tiempo de

(14)

Figura P´agina

31 Topolog´ıa simple de dos nodos utilizada para la prueba P2 . . . 124

32 Gr´afica que muestra la relaci´on del n´umero de saltos en el tiempo de diseminaci´on . . . 125

33 Gasto de comunicaci´on de la red, variando el tama˜no de la red . . . 129

34 Gasto de comunicaci´on de la red por tipo de mensaje, variando el tama˜no de la red . . . 130

35 Gasto de comunicaci´on del nodo centro y orilla por tipo de mensaje, variando el tama˜no de la red . . . 131

36 Gasto de comunicaci´on de la red, variando el tama˜no del c´odigo de ac-tualizaci´on . . . 133

37 Gasto de comunicaci´on de la red por tipo de mensaje, variando el tama˜no del c´odigo de actualizaci´on . . . 134

38 Gasto de comunicaci´on del nodo centro y orilla por tipo de mensaje, variando el tama˜no del c´odigo de actualizaci´on . . . 135

39 Consumo de energ´ıa total de la red, variando el tama˜no de la red . . . 139

40 Consumo de energ´ıa total del nodo centro y orilla, variando el tama˜no de la red . . . 140

41 Consumo de energ´ıa total de la red, variando el tama˜no del c´odigo de actualizaci´on . . . 142

42 Consumo de energ´ıa total del nodo centro y orilla, variando el tama˜no del c´odigo de actualizaci´on . . . 143

43 Esquema general de las operaciones de cifrado y descifrado . . . 168

44 Esquema general del cifrado sim´etrico . . . 169

45 Esquema general del cifrado asim´etrico . . . 171

46 Ejemplo de la obtenci´on de los valores hash de dos mensajes, n´otese que aunque son de tama˜no diferente generan un valor hash de tama˜no constante172 47 Esquema general de la firma digital . . . 176

48 Cifrado en modo CBC . . . 178

49 Descifrado en modo CBC . . . 178

50 Algoritmos de las reglas A y B . . . 180

51 Diagrama de la permutaci´on G . . . 181

52 Aqu´ı se muestra como Deluge estructura la memoria EEPROM. La ubi-caci´on de la imagen dorada cambia de acuerdo al hardware del nodo sensor. Este dibujo esta basado en como est´a la estructura en un nodo TmoteSky . . . 191

53 Componentes de un nodo sensor . . . 195

54 Ejemplo de nodos sensores. (A) MicaZ, (B) Tmote Sky . . . 198

(15)

Tabla P´agina I Comparaci´on de los diferentes protocolos de reprogramaci´on . . . 39 II Recomendaciones de NIST de los tama˜nos de llave p´ublica para AES.

N´otese la gran diferencia en el tama˜no de la llave de ECC y RSA. Fuente NIST ANSI X9F1 . . . 62 III Objetivos particulares de la propuesta agrupados en puntos a justificar 95 IV Abreviatura de los nodos del centro (N − 1,N − 1) y el de la orilla

(N2−1,N2−1) utilizados en los resultados de las pruebas . . . 110 V Energ´ıa utilizada en TmoteSky . . . 111 VI Par´ametros para calcular energ´ıa . . . 111 VII Tabla de los datos de la prueba de tiempo de diseminaci´on contra n´umero

de nodos . . . 118 VIII Tabla de los datos de la prueba de tiempo de diseminaci´on contra n´umero

de p´aginas . . . 122 IX Tabla de los datos de la prueba de tiempo de diseminaci´on contra n´umero

de saltos . . . 125 X Relaci´on en porcentaje, que existe entre la transmisi´on y recepci´on de

los distintos mensajes de la reprogramaci´on en Deluge . . . 137 XI Relaci´on en porcentaje, que existe entre la transmisi´on y recepci´on de

los distintos mensajes de la reprogramaci´on en la propuesta . . . 138 XII Porcentaje de contribuci´on de las tres operaciones del nodo (radio,

crip-togr´aficas y de EEPROM) de la energ´ıa total consumida en la diseminaci´on152 XIII Comparativa del tama˜no del c´odigo y utilizaci´on de RAM entre algunos

de los protocolos de reprogramaci´on . . . 153 XIV Resumen de caracter´ısticas principales del hardware de los nodos sensores

utilizados . . . 199

(16)

Introducci´

on

Avances recientes en comunicaciones inal´ambricas y dispositivos electr´onicos han per-mitido el desarrollo de nodos sensores de bajo costo, bajo consumo de energ´ıa y multi funcionales, los cuales son peque˜nos en tama˜no y se comunican en forma inal´ambrica en distancias cortas. Estos diminutos nodos sensores, est´an limitados en velocidad de procesamiento, capacidad de almacenaje y ancho de banda de comunicaciones. Los nodos sensores forman entre s´ı una red inal´ambrica de sensores.

Las redes de sensores recientemente han recibido mucha atenci´on de parte de los sec-tores acad´emicos e industriales, ya que prometen una amplia variedad de aplicaciones potenciales en ´areas tanto civiles como militares. Adem´as algunos analistas predicen a las redes de sensores como una de las 10 tecnolog´ıas emergentes que cambiar´an el mundo en un futuro cercano (Review, 2003). Lo cual dice bastante sobre la importan-cia del impacto que tiene y tendr´a este tipo de tecnolog´ıa.

(17)

presencia, movimiento o inclusive estados psicol´ogicos de individuos, dando un paso m´as a la realizaci´on de la visi´on de c´omputo ubicuo.

Las redes inal´ambricas de sensores, hoy en d´ıa est´an alcanzando un punto en que ya se tienen soluciones para los diversos aspectos que se relacionan con las primeras tres capas del modelo OSI, dando pauta a que se empiece a prestar atenci´on a la soluci´on de otro tipo de problemas de alto nivel, necesarios para que las redes de sensores pasen de la teor´ıa a aplicaciones reales. Una de estas problem´aticas de alto nivel identificada recientemente, es la reprogramaci´on de los nodos sensores una vez que han sido empla-zados.

La reprogramaci´on de los nodos de la red es de gran utilidad para realizar diversas funciones como el mantenimiento de software y la depuraci´on en el lugar. Adem´as, si se logra limitar la participaci´on humana a solo el inicio del proceso de la reprogramaci´on, se espera la automatizaci´on del proceso y por ende permitir el uso de redes de tama˜nos m´as grandes.

Hoy en d´ıa la reprogramaci´on inal´ambrica de sensores es un servicio importante que deben tener las aplicaciones de redes de sensores. Por ello a partir del a˜no 2002 se empezaron a proponer protocolos de reprogramaci´on, los cuales se concentran solamente en lograr la diseminaci´on correcta del c´odigo de la actualizaci´on a todos los nodos de la red, omitiendo del dise˜no aspectos secundarios como calidad de servicio o la seguridad.

I.1

Planteamiento del problema

(18)

escalar a redes de magnitud considerable. De igual forma, la reprogramaci´on es ´util para manejar el mantenimiento de software y la depuraci´on en el lugar. Adem´as, ha-bilita a los administradores de la red para poder agregar nueva funcionalidad, la cual no fue prevista en la planeaci´on inicial de la red, con el fin de aumentar su posible utilidad en la aplicaciones de sensado. Inclusive es posible reprogramar a los nodos sensores sin necesidad de perturbarlos f´ısicamente e interrumpir su sensado. Adem´as la reprogramaci´on por el medio inal´ambrico permite la reprogramaci´on de nodos en lugares que son f´ısicamente inalcanzables por el ser humano, como por ejemplo en el espacio, dentro de un volc´an, en el fondo del mar, etc.

Para el ´exito de una operaci´on de reprogramaci´on, es necesario que todos los datos del c´odigo de la nueva actualizaci´on lleguen ´ıntegros a todos los nodos de la red, con el fin de que la nueva actualizaci´on logre la funcionalidad deseada originalmente por el administrador. Sin embargo, no se vive en un mundo ideal, y se puede dar el caso en que existan agentes externos (dispositivos, personas) los cuales quieran perturbar al proceso de la reprogramaci´on de red. Esto con la finalidad de lograr que los nodos tengan un comportamiento malicioso o diferente a lo planeado originalmente por el administrador.

En ocasiones, el simple hecho de que alguien ajeno vea el c´odigo diseminado puede poner en riesgo a la nueva funcionalidad reprogramada. Inclusive un atacante puede explotar al mismo protocolo de reprogramaci´on, con ataques sencillos, si este no fue dise˜nado tomando en cuenta la seguridad en la diseminaci´on. Uno de los problemas m´as dif´ıciles en el dise˜no de redes de sensores es c´omo asegurar a los nodos contra hackers, virus y observadores no deseados.

(19)

´

ultimos a˜nos muy activa. Recientemente han empezado a surgir algunas propuestas para proveer seguridad en la reprogramaci´on de redes de sensores, sin embargo son muy escasas. El presente trabajo de investigaci´on pretende complementar a los protocolos de reprogramaci´on creados hasta el momento agregando mecanismos de seguridad, para as´ı hacer m´as viable su implementaci´on en sistemas reales, los cuales muy probablemente tendr´an requerimientos de seguridad.

I.2

Objetivo general

El objetivo general de este trabajo de investigaci´on es incorporar al proceso de re-programaci´on de redes de sensores mecanismos que brinden los servicios de seguridad requeridos para prevenir, proteger y limitar de posibles ataques que agentes externos pueden introducir a ´el.

I.3

Objetivos espec´ıficos

Con el prop´osito de dar soluci´on al objetivo general de esta tesis, se plantearon los siguientes objetivos espec´ıficos:

1. Autenticar en los nodos sensores que el c´odigo de la actualizaci´on en realidad proviene de un emisor confiable, como por ejemplo la estaci´on base.

2. Evitar que paquetes maliciosos, haci´endose pasar por c´odigo de la actualizaci´on, se sigan propagando por la red de sensores mediante el mismo protocolo de re-programaci´on.

3. Verificar en los nodos sensores que el c´odigo de actualizaci´on no fue modificado al llegar a ellos o transitar por ellos.

(20)

5. Limitar posibles ataques de negaci´on de servicios inherentes al protocolo de re-programaci´on.

6. Autenticaci´on del mensaje de reinicializaci´on del nodo al nuevo c´odigo de actua-lizaci´on por medio de la estaci´on base.

7. Desarrollar una implementaci´on concreta del mecanismo de seguridad, para as´ı probar su funcionamiento en redes reales y evaluar su factibilidad y desempe˜no. Para lograr este objetivo es necesario aterrizar a un protocolo de programaci´on en espec´ıfico, el cual adaptaremos a nuestra necesidades de seguridad; el protocolo elegido es Deluge (Hui y Culler, 2004).

8. Determinar el costo asociado a incorporar mecanismos de seguridad al proceso de reprogramaci´on.

9. Desarrollar mecanismos de seguridad que sean eficientes en t´erminos de consumo de energ´ıa, memoria de nodo, comunicaci´on y poder de procesamiento, ya que los nodos sensores cuentan con recursos muy limitados.

I.4

Contenido de la tesis

La estructura de esta tesis se presenta en 7 cap´ıtulos, los cuales se describen a conti-nuaci´on.

(21)

son un tipo particular. En la segunda parte de ese cap´ıtulo se habla un poco sobre las redes inal´ambricas de sensores, para despu´es entrar en detalle sobre el estado del arte en la seguridad de este tipo de redes.

En el Cap´ıtulo III, se dan detalles sobre el proceso en el cual est´a centrado esta tesis, que es la reprogramaci´on de redes inal´ambricas de sensores. Se har´a una breve descripci´on del estado del arte, y por ´ultimo se mencionar´an algunos de los protocolos que han aparecido como soluci´on a este problema. La segunda parte del cap´ıtulo trata sobre la seguridad en el proceso de reprogramaci´on y se concluye explicando a detalle las propuestas de seguridad en reprogramaci´on que han aparecido hasta el momento.

El Cap´ıtulo IV se enfoca en la soluci´on propuesta y sus detalles de implementaci´on. Primero se empieza con una descripci´on general de los mecanismos de seguridad pro-puestos. Las siguientes secciones del cap´ıtulo explican los detalles de la soluci´on e implementaci´on, dando siempre una justificaci´on de por qu´e se hizo cada elecc´ıon.

En el Cap´ıtulo V se ofrece un breve an´alisis te´orico de la seguridad de los mecanis-mos propuestos, con el prop´osito de validar que la propuesta cumple con los objetivos particulares, ofrezca robustez en contra de posibles ataques, y validar la fuerza de las herramientas de seguridad utilizadas como base.

(22)

concluye dando un an´alisis del costo que incurre el introducir los mecanismos de segu-ridad al protocolo de reprogramaci´on.

En el Cap´ıtulo VII se presentan las conclusiones, aportaciones y el trabajo a futuro del presente trabajo de investigaci´on.

Al final de la tesis se cuenta con tres ap´endices los cuales contienen informaci´on adicional que resultar´a ´util para una mayor comprensi´on del contenido de los cap´ıtulos de la tesis. Estos ap´endices contienen los siguientes temas:

• El Ap´endice A contiene una breve descripci´on de algunas definiciones de segu-ridad, cifrado, adem´as que se describe el funcionamiento de los tres algoritmos utilizados en esta tesis (SkipJack, ECC y SHA-1).

• El Ap´endice B contiene algunos detalles t´ecnicos del protocolo Deluge, los cuales se omitieron en el Cap´ıtulo 3.

(23)

Seguridad en redes inal´

ambricas y

redes inal´

ambricas de sensores

II.1

Seguridad en redes inal´

ambricas

II.1.1

Redes inal´

ambricas

Figura 1: Red inal´ambrica

(24)

II.1.2

Seguridad en redes inal´

ambricas

La cuesti´on de seguridad se ha convertido en una preocupaci´on primaria al momento de proveer comunicaci´on segura de nodos inal´ambricos en ambientes potencialmente hostiles. Al contrario de las redes cableadas, las caracter´ısticas singulares de las redes inal´ambricas imponen un cierto n´umero de retos no triviales de dise˜no, tales como me-dio inal´ambrico compartido, vulnerabilidad nata del medio inal´ambrico, movilidad de los nodos de la red, capacidad de salir y entrar de la red libremente, posible arquitectura de red peer-to-peer y una topolog´ıa de red muy din´amica.

Se han propuesto diferentes alternativas para aumentar la seguridad en redes inal´ambricas. La mayor´ıa de ´estas se basan en primitivas de cifrado tales como funciones hash, c´odigos de autenticaci´on de mensajes, cifrado o firmas digitales. Sin embargo, muchos ´estas propuestas critican el uso del cifrado asim´etrico (Hu et al., 2002)(Papa-dimitratos y Haas, 2003) y hablan de su alto costo computacional, el cual puede ser un golpe letal en dispositivos con bajo poder de c´omputo tales como tel´efonos m´oviles o asistentes personales.

La seguridad no se da de manera gratuita; en paralelo con la mejora en fuerza de se-guridad est´a el siempre creciente uso de poder de c´omputo, comunicaci´on, memoria, etc. Consecuentemente, el desempe˜no de la red, en t´erminos de escalabilidad, disponibilidad de servicio, robustez de las soluciones de seguridad, se convierte en una preocupaci´on importante en una posible red inal´ambrica de recursos limitados.

(25)

importancia, y lograr conseguir un buen compromiso entre ambos extremos es un reto fundamental en el dise˜no de seguridad en redes inal´ambricas y redes de datos en general.

Requerimientos de seguridad para redes inal´ambricas

Para brindar seguridad a una red, usualmente se deben considerar los objetivos de disponibilidad, confidencialidad, integridad , autenticaci´on y no-repudio (Zhou y Haas, 1999). En el siguiente apartado, se explicar´a brevemente el significado de estos t´erminos.

Disponibilidad: Es el requerimiento que asegura que los sistemas trabajen en el tiempo establecido y el servicio no sea negado a usuarios autorizados. Ataques que afecten la disponibilidad son llamados ataques de negaci´on de servicios (DoS ”Denial of service” en ingl´es). En las redes inal´ambricas, los ataques de negaci´on de servicios son lanzados desde cualquier capa de la pila de protocolos del modelo de referencia OSI. Un adversario puede interferir la comunicaci´on perturbando la se˜nal inal´ambrica desde la capa f´ısica. En la capa de red, un adversario puede interrumpir el protocolo de enrutamiento y desconectar la red. Un adversario puede incluso impedir la operaci´on de servicios de alto nivel. Adem´as, el atacante al comunicarse masivamente con el nodo, puede no dejar a su v´ıctima cambiar a un estado de bajo consumo de energ´ıa y por ende drenar su bater´ıa.

(26)

usuario particular.

Integridad: La integridad es la propiedad que los datos no sean alterados de una manera no autorizada mientras son transferidos a su destino. Para asegurar inte-gridad, debe ser detectable la manipulaci´on no autorizada. Debido a la interfaz de comunicaciones inal´ambricas, un mensaje en una red inal´ambrica se puede cor-romper a causa de fallos benignos (tales como debilidad de la propagaci´on de la se˜nal de radio), o a causa de ataques maliciosos a la red. Usualmente no es sencillo distinguir entre los dos casos de alteraci´on de datos, por lo tanto muchas de las contra medidas que funcionaban para redes cableadas no pueden ser aplicadas a las redes inal´ambricas.

Autenticaci´on: La autenticaci´on habilita a un nodo a asegurar la identidad del nodo con el cual se est´a comunicando. Cuando se transmiten datos confidenciales, es importante que el nodo que recibe la informaci´on sea en realidad a quien est´a destinado. Un nodo puede por ejemplo enmascararse como otro nodo y obtener acceso autorizado a recursos e informaci´on sensible. En algunas aplicaciones de redes inal´ambricas, tales como dispositivos de comunicaciones de computadoras port´atiles o redes de sensores, los dispositivos pueden ser forzados y alterados, por lo que no solo se deber´a de autenticar el dispositivo sino que inclusive se debe verificar que ´este no haya sido comprometido.

(27)

Cuando el nodo A recibe un mensaje err´oneo del nodo B, el no repudio permite que A acuse a B usando este mensaje y por ende convencer a otros nodos que B est´a comprometido.

Vulnerabilidades de la redes inal´ambricas

Ya que existe un amplio rango de aplicaciones para las redes inal´ambricas, el rango de vulnerabilidades tambi´en es amplio. En la siguiente secci´on se presentar´an algunas de las vulnerabilidades m´as importantes:

Poca protecci´on f´ısica: En aplicaciones cl´asicas de redes de datos, la protecci´on f´ısica de un nodo es usualmente bien entendida. Servidores y estaciones de trabajo son instalados en cuartos estacionarios en los cuales las personas no autoriza-das no pueden entrar. En aplicaciones militares, por ejemplo en donde soldados est´an cargando dispositivos m´oviles al estar desplegados en el campo de batalla o donde peque˜nos nodos sensores son dejados caer de un avi´on, se puede imaginar f´acilmente que los nodos m´oviles son susceptibles a ser capturados y comprome-tidos. En tales ambientes hostiles es casi imposible el proveer perfecta protecci´on f´ısica.

Limitantes en capacidades de los nodos: Gracias a la movilidad que ofrecen las redes inal´ambricas, los nodos de una red pueden contar con capacidades de c´omputo (poder de procesador, memoria), energ´ıa (poder de bater´ıa) y comu-nicaci´on limitadas (ancho de banda de transmisi´on). Estos recursos limitados pueden ser sujetos a ataques de negaci´on de servicios.

(28)

redes cl´asicas. Uno o varios adversarios inundan a un nodo con tantas peticiones a la vez como sea posible, ocasionando que el nodo no pueda procesar ninguna petici´on m´as. Como resultado, usuarios benignos tampoco pueden ser atendidos.

Stajano y Anderson (1999) presentan un ataque de negaci´on de servicios el cual hace uso del limitado poder de la bater´ıa de los dispositivos inal´ambricos. Ellos llaman a este ataque ”ataque de tortura de privaci´on de sue˜no (attack sleep de-privation torture en ingl´es)”. La mayor´ıa de los dispositivos port´atiles tratan de estar el mayor tiempo posible en modo de dormir, para as´ı minimizar el consumo de energ´ıa. Un atacante puede comunicarse con un nodo particular de una ma-nera leg´ıtima solo para evitar que el nodo se ponga en modo dormir; el adversario por ende agota las bater´ıas del nodo v´ıctima m´as r´apido de lo usual. Finalmente, cuando se le haya acabado el poder de la bater´ıa, la v´ıctima es deshabilitada. Por lo tanto, este ataque es m´as poderoso que los ataques de negaci´on de servicios contra poder de procesador o ancho de banda de transmisi´on, ya que el dispositivo no solo es deshabilitado por el tiempo del ataque, sino para siempre (o al menos hasta que se cambie o cargue la bater´ıa).

(29)

Mecanismos de seguridad

Existen diferentes maneras en las cuales se pueden proveer los servicios de seguridad necesarios para la red en particular. Sin embargo, no hay una sola t´ecnica la cual provea todos los servicios de seguridad a la vez. El cifrado de datos (ya sea cifrado sim´etrico o asim´etrico) es una t´ecnica empleada tanto en redes inal´ambricas como cableadas para proveer varios de los servicios de seguridad (Menezes et al., 1996) (Stallings, 1995).

Estos algoritmos de cifrado de datos pueden ser usados para cifrar paquetes de da-tos, firmarlos con un valor hash/valor de cifrado casi ´unico, o para crear certificados. Estos algoritmos de cifrado sirven generalmente aplicando ciertas operaciones en com-binaci´on con los datos de entrada y valores de llave espec´ıficos, los cuales de manera ´

optima son conocidos por el emisor y receptor del paquete. Distribuir estas llaves a los usuarios y encargarse de su ciclo de vida son partes esenciales de protocolos de gesti´on de llaves. En la pr´actica, la gesti´on de llaves llega a ser la parte m´as compleja de los protocolos de seguridad, siendo los algoritmos de cifrado y descifrado peque˜nos pero importantes bloques elementales de estos protocolos.

(30)

II.2

Seguridad en redes inal´

ambricas de sensores

En esta secci´on se presenta un panorama general sobre la seguridad en las redes inal´ambricas de sensores, las cuales son el centro de estudio de esta tesis.

Debido a la naturaleza inal´ambrica de las redes de sensores, la teor´ıa de seguridad para redes inal´ambricas de la secci´on anterior tambi´en aplica a este tipo de redes. Sin embargo, ya que las redes inal´ambricas de sensores cuentan con ciertas particularidades de dise˜no, se considera necesario presentar una distinci´on para ´este tipo de redes.

II.2.1

Redes inal´

ambricas de sensores

Antes de tratar el tema relacionado con la seguridad para redes inal´ambricas de sen-sores, se hablar´a un poco sobre qu´e son las redes inal´ambricas de sensores.

Figura 2: Red inal´ambrica de sensores

(31)

especializado con el prop´osito de sensar un fen´omeno en particular. Los ideales a los que se aspiran que sean los nodos sensores son: ser extremadamente baratos, aut´onomos, f´aciles de programar, que puedan trabajar sin necesidad de atenci´on humana constante y durante largos per´ıodos de tiempo.

Un nodo sensor b´asico, est´a compuesto de cinco componentes principales: Unidad de procesamiento, memoria (de acceso aleatorio RAM, y memoria persistente EEPROM), unidad de sensado (uno a varios sensores), unidad de comunicaci´on (radio inal´ambrico) y fuente de energ´ıa (generalmente una bater´ıa). Para m´as informaci´on sobre el hard-ware utilizado en esta tesis v´ease el Ap´endice C.

Un caracter´ıstica que distingue a las redes de sensores de las otras redes, es la limi-taci´on de recursos del hardware de los nodos sensores, en especial el que se relaciona con el gasto de energ´ıa. Ya que los nodos no cuenta con una fuente de energ´ıa continua, se debe prestar atenci´on a dise˜nar hardware, protocolos y aplicaciones que minimicen el gasto de energ´ıa, para as´ı lograr que los nodos trabajen por varios meses (inclusive a˜nos) sin interacci´on humana utilizando solo la energ´ıa de una peque˜na bater´ıa.

(32)

II.2.2

Consideraciones de seguridad en la redes inal´

ambricas

de sensores

Las medidas de seguridad y protocolos de cifrado de las redes inal´ambricas de sensores no deben ser consideradas iguales a la de otros tipos de redes. Existen ciertas carac-ter´ısticas en las redes inal´ambricas de sensores que hay que tomar en cuenta al dise˜nar medidas o protocolos de seguridad, y son las siguientes (Karl y Willig, 2005):

• La infraestructura de una red inal´ambrica de sensores est´a constituida de nodos diminutos y baratos, los cuales se distribuyen sobre una ´area que puede ser hostil. Al contrario de otras redes, generalmente es imposible el prevenir que los atacantes tengan acceso f´ısico a los nodos sensores. Esto usualmente se le conoce como captura de nodo. Es razonable suponer que el atacante puede lograr obtener el control total de un nodo capturado, y que puede leer su memoria o influir en el funcionamiento del software del nodo. Se necesitar´ıan dispositivos especiales de memoria segura para impedir al atacante de leer la memoria, sin embargo, ´estos raramente estar´an presentes en nodos sensores de bajo costo.

• Las limitaciones en cuanto a las capacidades de memoria y c´omputo son un fuerte obst´aculo para la implementaci´on de algoritmos criptogr´aficos. Especialmente los cifradores de llave asim´etrica son considerados muy costosos para los peque˜nos procesadores, y esto sin contar la gesti´on de llaves.

(33)

• La cantidad finita de energ´ıa de los nodos sensores abre una nueva l´ınea de ataques. Este ataque consiste en forzar a los nodos sensores v´ıctimas a gastar su energ´ıa limitada m´as r´apidamente y quedar fuera de funcionamiento.

Un reto adicional mencionado por Sch¨afer (2004), es que los atacantes puedan tener mucha m´as energ´ıa a su disposici´on que los nodos sensores. Ya que las medidas de seguridad llevadas a cabo por el nodo sensor requieren energ´ıa adicional, y el estresar al nodo por medio de ataques va a llevarlo a agotar su energ´ıa m´as pronto de lo planeado originalmente, ocasionando una negaci´on de servicio.

II.2.3

Protocolos propuestos para seguridad en redes inal´

ambricas

de sensores

En esta secci´on hablaremos de algunas de las propuestas y soluciones de seguridad m´as citadas en la literatura, estas van desde propuestas para seguridad en la capa de enlace de datos, hasta protocolos de gesti´on de llaves.

SNEP

(34)

en modo CTR 1 como la cadena de bits aleatoria. SNEP ofrece las siguientes

propie-dades: seguridad sem´antica, autenticaci´on de datos, frescura de datos, bajo overhead de comunicaci´on.

µTESLA

Muchas de las propuestas para la autenticaci´on del broadcast resultan impr´acticas para su aplicaci´on en las redes de sensores. Esto se debe a que se basan en firmas digitales asim´etricas para lograr la autenticaci´on. El protocolo TESLA provee una manera de hacerlo eficientemente (Perrig et al., 2001a), pero tiene el inconveniente que no fue dise˜nado para ambientes con recursos de c´omputo muy limitados. µTESLA (Perrig et al., 2001b) resuelve estos inconvenientes de TESLA para las redes de sensores:

• TESLA provee autenticaci´on al paquete inicial mediante una firma digital, la cual es muy demandante para las redes de sensores. µTESLA utiliza solo mecanismos de cifrado sim´etrico.

• La revelaci´on de la llave en cada paquete requiere de demasiada energ´ıa para mandar y recibir. µTESLA realiza la revelaci´on de llave una vez cada cierto intervalo de tiempo.

• Ya que es demasiado demandante el almacenar una cadena de llave de un solo sentido en un nodo sensor. µTESLA restringe el n´umero de nodos fuente a au-tenticar.

µTESLA usa autenticaci´on sim´etrica pero introduce asimetr´ıa a trav´es de una reve-laci´on de llaves de las llaves sim´etricas, lo cual resulta en un esquema de autenticaci´on de broadcast eficiente. Para que la estaci´on base realice un broadcast con autenticaci´on a 1CTR es un modo de cifrado que utiliza un cifrador de bloque y un contador, para m´as informaci´on

(35)

los nodos,µTESLA requiere que la estaci´on base y los nodos tengan una sincronizaci´on de tiempo d´ebil, y que cada nodo conozca el l´ımite superior del error de sincronizaci´on.

SPINS Security Protocols for Sensor Networks

SPINS (Perriget al., 2001b) es un paquete con bloques de seguridad para la construcci´on de aplicaciones con seguridad en las redes inal´ambricas de sensores. Est´a optimizada para ambientes con recursos limitados y comunicaciones inal´ambricas. SPINS tiene dos bloques de construcci´on: SNEP y µTESLA. SNEP provee confidencialidad de datos, autenticaci´on de datos de dos partes, y frescura de datos,µTESLA provee un broadcast con autenticaci´on para varios ambientes con recursos limitados.

Todas las primitivas criptogr´aficas (cifrado, c´odigos MAC, operaci´on hash, generador de n´umeros aleatorios) son construidas a partir de un solo cifrador de bloque para as´ı ahorrar c´odigo. Esto junto con las primitivas de cifrado sim´etricas que se utilizan, reducen el overhead para su uso en las redes de sensores. En un medio de transmisi´on por broadcast tales como las redes de sensores, la autenticaci´on de datos a trav´es de un mecanismo sim´etrico no se puede aplicar al menos que todos los receptores conozcan la llave. µTESLA construye un broadcast con autenticaci´on con ayuda de primitivas sim´etricas, pero introduce asimetr´ıa con tiempo de revelaci´on de llave (”delayed key disclosure” en ingl´es) y funciones de cadena de llave de un solo sentido (”one-way function key chains” en ingles).

TinySec

(36)

de mensaje (a trav´es de cifrado), seguridad sem´antica (a trav´es de un vector de inicia-lizaci´on) y protecci´on contra reenv´ıo de mensajes previos.

TinySec usa un valorIV (vector de inicializaci´on) de 8 bytes y cifrado de cadenas de bloque (conocido como”CBC cipher block chaining” en ingl´es) para cifrar un mensaje de tama˜no variable.

Como cifrador de bloque se eligi´o al algoritmo llamado SkipJack, los creadores de TinySec dan razones detr´as de la elecci´on del cifrador de bloque utilizado (Karlofet al., 2004), llegando a la conclusi´on de que se debe utilizar SkipJack ya que es ligero en recursos, veloz y adem´as no est´a patentado.

TinyPK

El esquema de seguridad TinyPK (Watro et al., 2004) es un mecanismo para proveer autenticaci´on e intercambio de llaves entre una parte externa y la redes de sensores. TinyPK est´a basado en el bien conocido algoritmo de cifrado asim´etrico RSA, usando e = 3 como el exponente p´ublico. Para hacer a TinyPK pr´actico para dispositivos sensores de bajo consumo, se dise˜n´o el protocolo para que solamente se realicen las operaciones p´ublicas de llave asim´etrica en los nodos sensores.

(37)

tener en si una copia de la llave p´ublica de la autoridad de certificaci´on.

II.2.4

Cifrado de llave asim´

etrica en redes inal´

ambricas de

sen-sores

Los esquemas de llave p´ublica, por ejemplo las firmas digitales, dependen del cifrado asim´etrico, el cual por un buen tiempo se consider´o impr´actico para las redes de sen-sores limitadas en c´omputo, memoria y energ´ıa. Sin embargo, publicaciones recientes (Gupta et al., 2005) (Gura et al., 2004) (Liu et al., 2007) (Malan et al., 2004) (Watro et al., 2004) sugieren que, con una cuidadosa implementaci´on y uso juicioso, es posible utilizar el cifrado de llave p´ublica en los nodos sensores.

Watro et al. (2004) implementaron primitivas de TinyOS necesarias para el cripto-sistema RSA. Los autores proponen asegurar el m´odulo de XNP (protocolo de repro-gramaci´on (Crossbow, 2003)) al correr la verificaci´on TinyPK despu´es de inicializar el proceso XNP. Sin embargo, el protocolo de verificaci´on solo verifica al nodo si es un miembro de la red. No se da soluci´on para cuando el nodo ya verificado es comprome-tido.

Gura et al. (2004) demostraron que la criptograf´ıa de curvas el´ıpticas (ECC El-liptic curve cryptography en ingl´es) puede ayudar a obtener un desempe˜no sustancial-mente mayor sobre RSA en plataformas con restricciones de recursos . Las implementa-ciones de funimplementa-ciones de criptograf´ıa de ECC se est´an haciendo comunes en la comunidad cient´ıfica y comercial. Algunos ejemplos de implementaciones son:

• ECDSA (ANSI, 1998) que es un algoritmo de firma digital con curvas el´ıpticas.

(38)

• Sizzle (Gupta et al., 2005) implementa SSL (Secure Socket Layer) usando ECC en plataforma de nodos sensores Mica2 y Telos, el c´odigo altamente optimizado puede completar un ”handshake” SSL en aproximadamente 4 segundos.

• TinyECC (Liu et al., 2007) los autores ponen a disposici´on una implementaci´on gratuita para TinyOS el cual incluye el m´odulo ECDSA. Este m´odulo esta opti-mizado para las plataformas MICAz y Telosb, y es capaz de verificar una firma digital en menos de 15 segundos (hoy en d´ıa con la versi´on 0.3 se logran tiempos alrededor de 4 segundos).

II.3

Conclusiones

Existe ya mucha teor´ıa sobre la seguridad en c´omputo, inclusive aun cuando esta en-focada a un ´area en espec´ıfico como las redes inal´ambricas. La seguridad en redes inal´ambricas son la base de donde se parte la seguridad de las redes de sensores, ya que estas tambi´en son inal´ambricas. Sin embargo, se ve en este cap´ıtulo que las redes de sensores cuentan con caracter´ısticas peculiares que ha abierto el campo a nuevos retos de seguridad y por ende la elaboraci´on de propuestas de seguridad mas espec´ıficas, de cuales ya se han propuesto varias soluciones.

(39)
(40)

Reprogramaci´

on de redes

inal´

ambricas de sensores

III.1

Mecanismos de reprogramaci´

on

III.1.1

Introducci´

on

Figura 3: Esquema general de una reprogramaci´on de sensores, aqu´ı el c´odigo es dividido y distribuido a los nodos de la red desde la estaci´on base y en m´ultiples saltos

(41)

Cargar en el nodo una nueva aplicaci´on o actualizarla tradicionalmente, requiere de una conexi´on f´ısica de la computadora con el nodo, esto se logra t´ıpicamente v´ıa puerto serial, usb o alg´un otro tipo de conexi´on diferente. Sin embargo, en muchos casos el acceso f´ısico a los nodos es extremadamente limitado una vez que lo nodos ya han sido emplazados.

En aplicaciones de monitoreo de bajo impacto, el enviar personal de mantenimiento a recolectar los nodos o reprogramarlos en el sitio pudiera tener un efecto adverso en el ambiente en monitoreo. Inclusive en casos extremos el acceso f´ısico puede no ser posible, como en el caso del monitoreo con sensores dentro del concreto de puentes o carreteras, dentro de un volc´an, en el espacio, etc. Inclusive si el acceso f´ısico fuera posible, actualizar manualmente cientos o miles de nodos sensores se puede volver una tarea tediosa y de larga duraci´on.

Por estas razones, recientemente han emergido los protocolos de reprogramaci´on de redes de sensores, los cuales proporcionan una manera de distribuir las actualizaciones de una aplicaci´on sin la necesidad de requerir un acceso f´ısico a los nodos. Estos protocolos distribuyen las actualizaciones utilizando el canal de comunicaci´on primario del nodo sensor (el canal radio), permitiendo que toda la red de sensores sea actualizada en masa. Ciertamente, la reprogramaci´on de la red es un servicio necesario para el mantenimiento de las redes inal´ambricas de sensores.

III.1.2

Reprogramaci´

on tradicional de una red de sensores

(42)

programming ISP o reprogramaci´on manual. La reprogramaci´on manual es el m´etodo m´as com´un de programar los nodos sensores, ya que est´a respaldado por la mayor´ıa de los microcontroladores, pero carga el c´odigo del programa a solo un nodo a la vez. El tiempo de programaci´on se incrementa proporcionalmente al n´umero de nodos sensores que han sido emplazados.

La ventaja de este procedimiento es la seguridad en la transferencia de informaci´on, la cual es una caracter´ıstica muy importante, pero tomando en cuenta el tiempo utili-zado y la falta de flexibilidad, hacen de este esquema una opci´on inviable, sobre todo para las redes de sensores de gran tama˜no.

III.1.3

Importancia de la Reprogramaci´

on de redes de

sen-sores

Existen bastantes razones por las cuales los nodos sensores necesitan ser reprogramados durante el transcurso de su ciclo de vida ´util:

• Los requerimientos de las aplicaciones pueden cambiar, y cuando los nodos se vuelvan lo suficientemente baratos, ser´a posible que nodos gen´ericos puedan ser integrados en carreteras, edificios, y otras estructuras. Estos nodos pueden en-tonces ser reprogramados para una tarea espec´ıfica cuando surja la necesidad.

• La correcci´on de errores y actualizaciones de c´odigo son comunes para cualquier software, y en el ciclo de desarrollo de la aplicaci´on, uno puede pasar por un n´umero variado de iteraciones dise˜no-implementaci´on-prueba.

(43)

Ciertamente, existen casos en los cuales no es viable poder llegar f´ısicamente a todos los nodos de la red, por lo que un esquema de reprogramaci´on inal´ambrica es requerido.

III.1.4

Retos de la Reprogramaci´

on de redes de sensores

La reprogramaci´on en redes de sensores conlleva algunos nuevos retos (Kulkarni y Wang, 2005):

• Primero, la reprogramaci´on de la red requiere de una entrega al cien por ciento, lo cual consta de dos partes: cada nodo en la red debe recibir el c´odigo de la actualizaci´on, y el c´odigo del programa debe ser entregada en su totalidad a cada nodo de la red. Esto es muy diferente de las aplicaciones de redes de sensores tra-dicionales, en las cuales la p´erdida ocasional de datos es tolerable. Esto es debido al hecho que los nodos sensores son densamente emplazados y los datos extra´ıdos del ambiente son redundantes y generalmente presentan una alta correlaci´on. Al contrario, en reprogramaci´on de redes de sensores los datos son muy sensibles a la p´erdida de mensaje, ya que cada paquete es crucial para la transmisi´on exitosa del c´odigo del programa.

• Segundo, la reprogramaci´on de la red requiere de un gran ancho de banda. Para la vasta mayor´ıa de las aplicaciones de redes de sensores, los datos generados por el sensado de nodos individuales son peque˜nos, usualmente en el orden de bytes, y eso f´acilmente se ajusta al ancho de banda reducido de los nodos. El fen´omeno de la congesti´on es poco probable ya que la mayor´ıa de los nodos generan tr´afico ligero la mayor parte del tiempo. Sin embargo, la entrega del c´odigo completo del programa, del orden de kilo bytes, requiere de un significativo ancho de banda.

(44)

durante la reprogramaci´on de las redes de sensores, ya que el c´odigo de actuali-zaci´on es propagado de un nodo sensor hacia otro. Cada nodo que tenga el nuevo c´odigo es un emisor potencial. As´ı, es probable que en alguna instancia muchos emisores est´en transmitiendo al mismo tiempo. Esto causa demasiadas colisiones de mensajes, congesti´on del canal inal´ambrico y posiblemente resulte en fallas en la reprogramaci´on. Y, considerando las restricciones de recursos de las redes de sensores, la reducci´on del n´umero de emisores concurrentes es importante para el ahorro de energ´ıa y ancho de banda de la red.

Por otro lado, los requerimientos de memoria para la reprogramaci´on de las redes de sensores deben ser minimizados. La memoria es un recurso escaso para los nodos sensores. Por ejemplo, se tiene una capacidad de 4 KB de memoria RAM y 128 KB de memoria de programa (ROM) en motes de tipo Mica-2. Ya que se supone que la repro-gramaci´on de red debe ser un servicio residente en cada nodo sensor, la alta utilizaci´on de memoria limitar´ıa el espacio disponible para el comportamiento de las aplicaciones primarias.

Otro problema que debe ser tratado es el problema de la inclusi´on tard´ıa. Su-pongamos que la mayor´ıa de los nodos de un vecindario ya terminaron el proceso de actualizaci´on y tienen el nuevo c´odigo instalado, si un nodo que ha estado desconectado por un tiempo considerable se vuelve a unir a la red, se puede dar el caso que no se reprograme ese nodo.

III.1.5

Funcionamiento de un protocolo de reprogramaci´

on

gen´

erico

(45)

refieren a los mecanismos y algoritmos para realizar estos tres pasos, y llevar a cabo la reprogramaci´on en toda la red de sensores.

En el primer paso, la codificaci´on, el programa hu´esped lee el c´odigo de actuali-zaci´on y prepara los paquetes de c´odigo para diseminarlos en la red. En el segundo paso, diseminaci´on, el programa hu´esped manda los paquetes de c´odigo y los nodos sensores almacenan los paquetes de c´odigo despu´es de recibirlos. Finalmente, en el ter-cer paso, decodificaci´on, el m´odulo de reprogramaci´on del nodo reconstruye el c´odigo de actualizaci´on y llama al inicializador de arranque (bootloader en ingl´es) para transferir el c´odigo de actualizaci´on a la memoria de programa del nodo.

Un protocolo de reprogramaci´on de redes de sensores pudiera operar como sigue. Inicialmente todos los nodos sensores de la red est´an corriendo la misma versi´on de alguna aplicaci´on. Esta aplicaci´on primaria define la funcionalidad principal del nodo, tal como recolecci´on, procesado y comunicaci´on de datos de sensado. Existe diferencia entre la aplicaci´on primaria y protocolo de reprogramaci´on, la cual opera como un ser-vicio secundario junto con la aplicaci´on primaria.

En alg´un punto durante la operaci´on de la red, se vuelve disponible una nueva actualizaci´on del programa en alg´un emisor origen. Este emisor origen puede ser la estaci´on base o alg´un otro nodo sensor que se introdujo recientemente a la red. La fuente emisora anuncia la disponibilidad del nuevo c´odigo de actualizaci´on, y sus nodos vecinos se dan cuenta de la existencia de esta nueva versi´on.

(46)

la versi´on m´as reciente el nodo es inconsistente). Una vez que los nodos vecinos cuentan con el nuevo c´odigo de actualizaci´on, se convierten en nodos candidatos a convertirse en emisores, y as´ı este proceso se repite hasta que no queden nodos inconsistentes en la red.

El punto en que el nodo es candidato a convertirse en emisor varia seg´un el protocolo de reprogramaci´on. Despu´es que el c´odigo de actualizaci´on es recibido en su totalidad por el nodo, se requiere generalmente de una operaci´on de reinicializaci´on del nodo, la cual carga el nuevo c´odigo de actualizaci´on en memoria de programa y ejecuta el c´odigo binario de la aplicaci´on. En este punto se considera que el nodo cambi´o de versi´on del programa aplicaci´on.

III.1.6

Propiedades para caracterizar a los protocolos de

re-programaci´

on

Se han propuesto varias propiedades (Wanget al., 2006) las cuales sirven para caracte-rizar los protocolos de reprogramaci´on, estos son:

Confiabilidad A diferencia de las aplicaciones primarias en las cuales existe tolerancia a p´erdidas de paquetes, un nuevo c´odigo de actualizaci´on debe ser recibido en su totalidad, sino estos datos se vuelven inservibles. Ya que los protocolos de reprogramaci´on operan generalmente en una red inal´ambrica, deben ser capaces de proveer el c´odigo de actualizaci´on completo tomando en cuenta la p´erdida de paquetes.

(47)

Minimizar el uso de la memoria El protocolo de reprogramaci´on por si solo debe utilizar y ocupar la menor cantidad de memoria posible para as´ı no restringir significativamente la memoria disponible para la aplicaci´on primaria de la red de sensores.

Eficiencia de energ´ıa Ya que la mayor´ıa de las veces la energ´ıa es un recurso limitado en las redes de sensores, un protocolo de reprogramaci´on debe minimizar su uso de energ´ıa para no afectar significativamente el tiempo de vida de la red.

Minimizar las interrupciones Como se dijo anteriormente el protocolo de repro-gramaci´on es un servicio secundario, como tal, su operaci´on no debe interrumpir significativamente las funciones de la aplicaci´on primaria.

Tolerante a fallas Los protocolos de reprogramaci´on deben ser tolerantes a fallas de nodos y entradas de nodos a la red, estos no deben afectar significativamente la propagaci´on del c´odigo de actualizaci´on a los nodos que ya est´an establecidos.

III.1.7

Protocolos de reprogramaci´

on propuestos

Como soluci´on al problema de la reprogramaci´on de redes de sensores, se han propuestos varios protocolos de reprogramaci´on, por ejemplo: MOAP (Stathopoulos et al., 2003), Deluge (Hui y Culler, 2004), MNP (Kulkarni y Wang, 2005), Mat´e (Levis y Culler, 2002). A continuaci´on se presentan algunos de los diferentes protocolos de reprogra-maci´on de WSN que han surgido para atacar este problema.

XNP

(48)

entrega multi-saltos y hace broadcast del c´odigo de actualizaci´on completo en una red de un solo salto.

MOAP

MOAP (Multihop Over-the-Air Programming mechanism) (Stathopoulos et al., 2003) es una implementaci´on de reprogramaci´on de red multi-saltos, la cual est´a enfocada a grandes redes de motes Micas. MOAP es dise˜nado para ser eficiente de energ´ıa y memoria, a expensas de un incremento en la latencia. MOAP usa un algoritmo llamado Ripple, el cual disemina los paquetes de c´odigo a un n´umero selecto de nodos sin inundar la red. Para la transmisi´on de paquetes, usa un protocolo de ventana deslizante, el cual permite al nodo sensor pasar el c´odigo del programa mientras est´a esperando la retransmisi´on de paquetes perdidos.

Mat´e y Bombilla

Para lidiar con los recursos altamente restringidos de los nodos sensores, son inclu´ıdos en la distribuci´on de TinyOS los protocolos de reprogramaci´on Mat´e (Levis y Culler, 2002) y su sucesor Bombilla (Levis, 2003a), . Bombilla es una m´aquina virtual basada en una pila. Los programas son representados como una o varias c´apsulas, de hasta 24 instrucciones. Cada c´apsula cabe en un paquete y puede ser propagada a otros nodos. De esta manera, Bombilla permite a los nuevos programas el ser pasados e instalados r´apidamente a trav´es de toda la red. Sin embargo, este enfoque limita severamente el tipo de programas que se pueden construir.

MNP

(49)

m´aquina de estados la cual incorpora los mecanismos de diseminaci´on y conf´ıabilidad, esta maquina consta de 5 estados (IDLE, DOWNLOAD, ADVERTISE, FORWARD y SLEEP). El mecanismo de confiabilidad de MNP es similar al de Deluge, MNP pone la responsabilidad de detectar la p´erdida de paquete en el receptor y retiene en memoria un mapa de bits del segmento que se est´a recibiendo, el mapa de bits lleva el segui-miento de qu´e paquetes faltan por recibir del segmento.

MNP cuenta con un mecanismo de selecci´on de emisor, el cual intenta limitar expl´ıcitamente el n´umero de nodos que trasmiten datos en un determinado vecindario de broadcast. La competencia entre emisores se realiza tomando en cuenta el n´umero de peticiones de trasmisi´on datos que reciben, los nodos que pierden la competencia son forzados a transitar al estado SLEEP por un determinado periodo de tiempo. Adi-cionalmente MNP cuenta con un mecanismo de pipelining similar a Deluge.

Deluge

Deluge (Hui y Culler, 2004) es otro protocolo de programaci´on de red con enfoque multi-saltos y con recuperaci´on de datos basado en NACK1. Ya que la presente tesis se

basa sobre este protocolo de reprogramaci´on, se hablar´a un poco m´as a fondo del mismo.

Deluge introduce la noci´on de p´aginas como unidad de transferencia, divide el c´odigo de actualizaci´on en paquetes de tama˜nos fijos, los cuales son agrupados en p´aginas de N paquetes cada una. Un nodo no solicitar´a una p´agina del c´odigo hasta que se hayan recibido todas las p´aginas anteriores. V´ease la Figura 4.

1Negative ACKnowledgement (en espa˜nol asentimiento negativo), en comunicaciones entre

(50)

Figura 4: Formato de la c´odigo de actualizaci´on antes de diseminarse a la red

Cada nodo mantiene un vector de bits, el cual utiliza para llevar la cuenta de cuales paquetes ha recibido de la p´agina actual. Esto permite al nodo emisor mandar sin parar una p´agina completa, mientras que los nodos receptores reciben los paquetes en cual-quier orden y manejan la p´erdida de paquetes. El recibir una p´agina a la vez permite mantener el vector de bits a un tama˜no razonable. Una vez que un nodo recibe algunas p´aginas, el mismo se convierte en emisor de esas p´aginas a sus nodos vecinos, inclusive antes de recibir el c´odigo de actualizaci´on completo. Esto permite la multi canalizaci´on espacial opipelining, en donde la estaci´on base puede empezar a transmitir la siguiente p´agina aun mientras la pasada se sigue propagando por la red.

(51)

de paquetes de anuncios redundantes y peticiones que se mandan a la red, y los nodos receptores pueden escuchar a la red por paquetes de datos que sus vecinos solicitaron anteriormente. Por ende, aunque la red crezca en densidad, se mantiene constante el n´umero de paquetes trasmitidos.

Deluge disemina el c´odigo de actualizaci´on de una manera epid´emica para propagar el c´odigo de actualizaci´on mientras se regula el exceso de tr´afico. Para lograr la dise-minaci´on del nuevo c´odigo a cada uno de los nodos de la red, se realiza un handshake de tres fases, el cual consiste de los siguientes tres mensajes:

Anuncio (ADV): Se utiliza para que un nodo anuncie de manerabroadcastsu n´umero de versi´on de programa y la p´agina m´as alta disponible de esa versi´on con la que cuenta hasta ese momento. Gracias a este mensaje se le permite a los nodos conocer la disponibilidad de nuevas actualizaciones. Estos mensajes son lanzados peri´odicamente.

Petici´on (REQ): En este mensaje los nodos solicitan a un emisor potencial los pa-quetes de la p´agina de una versi´on que necesiten que se les env´ıe, esto es realizado mediante un SNACK (Selective negative acknowledge) el cual est´a representado por un vector de bits, donde cada bit indica la disponibilidad de un paquete de una p´agina en particular. Este mensaje tambi´en es usado para brindar el servicio de confiabilidad al protocolo, al solicitar las retransmisiones de mensajes perdidos o corruptos mediante el reenv´ıo de otro mensaje de petici´on.

Datos (DATA): En este mensaje se env´ıan los paquetes con las porciones del c´odigo de la nueva actualizaci´on.

(52)

estado global de la red. Para realizar esto, el algoritmo de cada nodo con Deluge tiene tres estados: mantenimiento, transmisi´on y recepci´on.

En la Figura 5 se presenta el diagrama de estados, el cual muestra de manera general el comportamiento de los estados de Deluge junto con los mensajes del protocolo.

Figura 5: Diagrama de estados de Deluge, mostrando la interacci´on de los mensajes y los estados

(53)
(54)

Referencias

Documento similar

"No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri

Tome el MacRm media libra de Manecca de puerca ,media Je Manmca de Bac media de A- yre Rolado ,media de Azeyre Violado, y re poMc'tn holla vi- driadaafuegommfo,paza que

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

Las redes de sensores inalámbricas (Wireless Sensor Network, WSN) son un conjunto de dispositivos con capacidad de tratar información procedente de sensores, que establecen