ΕΕΕ 802.15.4

108
ΡΑΝΕΡΙΣΤΗΜΙΟ ΡΑΤΩΝ ΡΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΟΛΟΓΩΝ ΜΗΧΝΑΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΡΟΛΟΓΙΣΤΩΝ ΣΟΜΕΑ ΗΛΕΚΣΡΟΝΙΚΗ ΚΑΙ ΤΠΟΛΟΓΙΣΩΝ Εργαστήριο Ηλεκτρονικών Εφαρμογών ΔΙΠΛΩΜΑΣΙΚΗ ΕΡΓΑΙΑ ΤΟΥ ΦΟΙΤΗΤΗ ΤΟΥ ΤΜΗΜΑΤΟΣ ΗΛΕΚΤΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΡΟΛΟΓΙΣΤΩΝ ΤΗΣ ΡΟΛΥΤΕΧΝΙΚΗΣ ΣΧΟΛΗΣ ΤΟΥ ΡΑΝΕΡΙΣΤΗΜΙΟΥ ΡΑΤΩΝ : ΚΑΣΑΡΟΤ ΚΩΝΣΑΝΣΙΝΟΤ ΑΜ: 5653 Ανϊπτυξη μηχανιςμών ΙΕΕΕ 802.15.4 ςε πλατφόρμα περιοριςμϋνων πόρων με επεξεργαςτό MSP430 ΕΠΙΒΛΕΠΩΝ : Κακθγθτισ Σταφροσ Κουμπιάσ ΤΝΕΞΕΣΑΣΗ : Επίκουροσ Κακθγθτισ Γρθγόριοσ Καλφβασ Αρικμόσ Διπλωματικισ Εργαςίασ : 1508 / 2009 Ράτρα , 2009

Upload: jhab

Post on 24-Dec-2015

52 views

Category:

Documents


0 download

DESCRIPTION

AbstractThe thesis dealt with the implementation of the main medium access and securitymechanisms in a wireless sensor network based on the IEEE 802.15.4 standard. Morespecifically, starting from the tinyos2.1 medium access implementation on the TelosBplatform,the backoff mechanism was altered, in order to become fully 802.15.4 compliant,while the appropriate mechanisms were also developed in order to introduce the protocol'ssecurity features in the stack. For the latter, a driver for the CC2420 chip was developed andenergy and performance meassurements were conducted, comparing the systemunderthree modes of operation, namelywith nosecurity, withSW encryption/authentication andwith HW encryption/authentication. Finally, the main mechanisms of key management anddistribution in a deployed wireless sensor network were studied and developed. Specifically,we implemented two key management schemes. The first was a probalistic pre-distributionmechanism and the secondanECC (elliptic curve cryptography) mechanismof publiccryptographyin order to install symmetric keys on the motes.

TRANSCRIPT

Page 1: ΕΕΕ 802.15.4

ΡΑΝΕΡΙΣΤΗΜΙΟ ΡΑΤΩΝ

ΡΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ

ΤΜΗΜΑ ΗΛΕΚΤΟΛΟΓΩΝ ΜΗΧΝΑΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΡΟΛΟΓΙΣΤΩΝ

ΣΟΜΕΑ ΗΛΕΚΣΡΟΝΙΚΗ ΚΑΙ ΤΠΟΛΟΓΙΣΩΝ

Εργαστήριο Ηλεκτρονικών Εφαρμογών

ΔΙΠΛΩΜΑΣΙΚΗ ΕΡΓΑΙΑ

ΤΟΥ ΦΟΙΤΗΤΗ ΤΟΥ ΤΜΗΜΑΤΟΣ ΗΛΕΚΤΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ

ΥΡΟΛΟΓΙΣΤΩΝ ΤΗΣ ΡΟΛΥΤΕΧΝΙΚΗΣ ΣΧΟΛΗΣ ΤΟΥ ΡΑΝΕΡΙΣΤΗΜΙΟΥ ΡΑΤΩΝ :

ΚΑΣΑΡΟΤ ΚΩΝΣΑΝΣΙΝΟΤ

ΑΜ: 5653

Ανϊπτυξη μηχανιςμών ΙΕΕΕ 802.15.4 ςε

πλατφόρμα περιοριςμϋνων πόρων με

επεξεργαςτό MSP430

ΕΠΙΒΛΕΠΩΝ : Κακθγθτισ Σταφροσ Κουμπιάσ

ΤΝΕΞΕΣΑΣΗ : Επίκουροσ Κακθγθτισ Γρθγόριοσ Καλφβασ

Αρικμόσ Διπλωματικισ Εργαςίασ : 1508 / 2009

Ράτρα , 2009

Page 2: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

2

Page 3: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

3

ΠΙΣΤΟΠΟΙΗΣΗ

Ριςτοποιείται ότι θ διπλωματικι εργαςία με κζμα :

Ανάπτυξθ μθχανιςμϊν ΙΕΕΕ 802.15.4 ςε πλατφόρμα περιοριςμζνων πόρων με επεξεργαςτι MSP430

Του φοιτθτι του τμιματοσ Ηλεκτρολόγων Μθχανικϊν και Τεχνολογίασ Υπολογιςτϊν

Κατςαροφ Κωνςταντίνου

Α.Μ. 5653

Ραρουςιάςτθκε δθμόςια και εξετάςτθκε από το τμιμα Ηλεκτρολόγων Μθχανικϊν και

Τεχνολογίασ Υπολογιςτϊν ςτισ

20 Μαΐου 2009

Ο επιβλζπων Ο διευκυντισ του τομζα

Κακθγθτισ Σταφροσ Κουμπιάσ Κακθγθτισ Κωνςταντίνοσ Γκοφτθσ

Page 4: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

4

Αρικμόσ Διπλωματικισ Εργαςίασ : 1508 / 2009

Τίτλοσ :

Ανάπτυξθ μθχανιςμϊν ΙΕΕΕ 802.15.4 ςε πλατφόρμα περιοριςμζνων πόρων

με επεξεργαςτι MSP430

Φοιτθτισ : Κατςαρόσ Κωνςταντίνοσ

Επιβλζπων : Κακθγθτισ Σταφροσ Κουμπιάσ

Page 5: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

5

Περύληψη Στθ διπλωματικι αυτι μελετιςαμε και υλοποιιςαμε μθχανιςμοφσ αςφαλείασ ςτο επίπεδο προςπζλαςθσ μζςου (MAC) ςε ζνα αςφρματο δίκτυο αιςκθτιρων που βαςίηονται το πρότυπο ΙΕΕΕ 802.15.4. Συγκεκριμζνα, ξεκινϊντασ από τθν υλοποίθςθ του επιπζδου MAC που υπάρχει ςτο TinyOS για τθν πλατφόρμα TelosB, αλλάξαμε το μθχανιςμό backoff του CSMA-CA αλγορίκμου ϊςτε να γίνει ςυμβατόσ με το πρότυπο 802.15.4. Επίςθσ αναπτφξαμε τισ κατάλλθλεσ μεκόδουσ ϊςτε να ενςωματϊςουμε ςτθν υλοποίθςθ μθχανιςμοφσ αςφαλείασ. Για το δεφτερο, αναπτφξαμε τον οδθγό (driver) για το ολοκλθρωμζνο CC2420 radio και κάναμε τισ απαραίτθτεσ πειραματικζσ μετριςεισ ςυγκρίνοντασ το ςφςτθμα ςε τρείσ λειτουργίεσ, δθλαδι χωρίσ αςφάλεια, με αςφάλεια υλοποιθμζνθ με λογιςμικό (SW security) και με αςφάλεια χρθςιμοποιϊντασ το ολοκλθρωμζνο CC2420 (HW security). Τζλοσ, μελετικθκαν οι κφριοι μθχανιςμοί διαχείριςθσ και διανομισ των κλειδιϊν ςε ζνα δίκτυο και υλοποιικθκαν δφο από αυτά τα μοντζλα. Το πρϊτο βαςίηεται ςτθν πικανολογικι πρό-διανομι των κλειδιϊν ενϊ το δεφτερο χρθςιμοποιεί μθχανιςμοφσ αςφμμετρθσ κρυπτογραφίασ, ςυγκεκριμζνα ECC (elliptic curve cryptography) για να εγκαταςτιςεισ ςυμμετρικά κλειδιά ςτουσ κόμβουσ του δικτφου.

Abstract The thesis dealt with the implementation of the main medium access and security mechanisms in a wireless sensor network based on the IEEE 802.15.4 standard. More specifically, starting from the tinyos2.1 medium access implementation on the TelosB platform, the backoff mechanism was altered, in order to become fully 802.15.4 compliant, while the appropriate mechanisms were also developed in order to introduce the protocol's security features in the stack. For the latter, a driver for the CC2420 chip was developed and energy and performance meassurements were conducted, comparing the system under three modes of operation, namely with no security, with SW encryption/authentication and with HW encryption/authentication. Finally, the main mechanisms of key management and distribution in a deployed wireless sensor network were studied and developed. Specifically, we implemented two key management schemes. The first was a probalistic pre-distribution mechanism and the second an ECC (elliptic curve cryptography) mechanism of public cryptography in order to install symmetric keys on the motes.

Page 6: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

6

Περιεχόμενα

Ρερίλθψθ ............................................................................................................................................ 5

Abstract ............................................................................................................................................... 5

Ρεριεχόμενα ........................................................................................................................................ 6

Ρίνακασ εικόνων ................................................................................................................................. 9

Κεφάλαιο 1 - Ειςαγωγι ..................................................................................................................... 11

Κεφάλαιο 2 – Αςφρματα δίκτυα Αιςκθτιρων .................................................................................. 16

2.1 Ειςαγωγι ................................................................................................................................. 16

2.2 Εφαρμογζσ ............................................................................................................................... 17

2.3 Τοπολογίεσ Δικτφων ................................................................................................................ 21

2.4 Δρομολόγθςθ ςτα αςφρματα δίκτυα αιςκθτιρων ................................................................. 23

2.5 Αρχιτεκτονικι αιςκθτιρων – motes ....................................................................................... 25

2.6 Εμπορικά μοντζλα motes – τεχνικά χαρακτθριςτικά ............................................................. 27

2.7 Λογιςμικό αιςκθτιρων – motes ............................................................................................. 32

2.7.1. TinyOS 1.x ........................................................................................................................ 32

2.7.2. TinyOS 2.0 ........................................................................................................................ 33

2.7.3. Contiki .............................................................................................................................. 33

2.7.4. RETOS .............................................................................................................................. 34

2.8 Ρερίλθψθ ................................................................................................................................. 34

Κεφάλαιο 3 – Ρρωτόκολλα προςπζλαςθσ μζςου (MAC) για Αςφρματα Δίκτυα Αιςκθτιρων ......... 35

3.1 Ειςαγωγι ................................................................................................................................. 35

3.2 Sensor-MAC ............................................................................................................................. 36

3.3 Τ-MAC ...................................................................................................................................... 37

3.4 Β-MAC ...................................................................................................................................... 37

3.5 X-MAC ...................................................................................................................................... 39

3.6 IEEE 802.15.4 ........................................................................................................................... 39

3.6.1. Τφποι κόμβων ΙΕΕΕ 802.15.4 ........................................................................................... 39

3.6.2. IEEE 802.15.4 non-beacon λειτουργία ............................................................................ 40

3.6.3. IEEE 802.15.4 Super-frame (beacon λειτουργία) ............................................................ 40

3.6.4. Ρλαίςιο IEEE 802.15.4 ..................................................................................................... 41

3.6.5. Αλγόρικμοσ CSMA-CA IEEE 802.15.4 ............................................................................... 42

3.6.6. Αςφάλεια ςτο IEEE802.15.4 ............................................................................................ 43

Page 7: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

7

3.7 Ρερίλθψθ ................................................................................................................................. 43

Κεφάλαιο 4 – Αςφάλεια .................................................................................................................... 44

4.1 Ειςαγωγι ςτθν αςφάλεια των αςφρματων δικτφων .............................................................. 44

4.1.1. Θζματα αςφαλείασ και ςτόχοι ........................................................................................ 44

4.1.2. Απειλζσ κατά τθσ αςφάλειασ, τφποι επικζςεων ςε δίκτυα αιςκθτιρων και αντίμετρα 45

4.2 Αςφάλεια βαςιςμζνθ ςτο IEEE 802.15.4 (ver. 2003) .............................................................. 46

4.2.1. PIB Security Material ....................................................................................................... 46

4.2.2. PIB Format (CTR mode) ................................................................................................... 47

4.2.3. CTR input block ................................................................................................................ 47

4.2.4. Διεργαςίεσ αςφαλείασ .................................................................................................... 49

4.3 Security βαςιςμζνθ ςτο IEEE 802.15.4 (ver.2006) .................................................................. 50

4.3.1. Χαρακτθριςτικά γνωρίςματα MAC PIB ........................................................................... 50

4.4 Ρερίλθψθ ................................................................................................................................. 51

Κεφάλαιο 5 – Ρλατφόρμα Ρεριοριςμζνων Ρόρων ........................................................................... 52

5.1 Ειςαγωγι ................................................................................................................................. 52

5.2 Υλικό – Hardware .................................................................................................................... 52

5.2.1. Tmote – Sky ..................................................................................................................... 52

5.2.2. MSP430............................................................................................................................ 57

5.2.3. CC2420 ............................................................................................................................. 57

5.3 Λογιςμικό – Software .............................................................................................................. 59

5.3.1. NesC ................................................................................................................................. 59

5.3.2. TinyOS .............................................................................................................................. 60

5.4 Ρερίλθψθ ................................................................................................................................. 67

Κεφάλαιο 6 – Υλοποίθςθ .................................................................................................................. 68

6.1 Ειςαγωγι ................................................................................................................................. 68

6.2 CC2420 Stack ........................................................................................................................... 68

6.2.1. Επίπεδα CC2420 Stack ..................................................................................................... 68

6.2.2. Ρλαίςιο CC2420 ............................................................................................................... 69

6.2.3. Ρροςπζλαςθ μζςου ςτο CC2420 Stack ........................................................................... 70

6.2.4. Αλγόρικμοσ CSMA ςτο CC2420 Radio Stack .................................................................... 70

6.3 CSMA: Η υλοποίθςι μασ ......................................................................................................... 70

6.4 Αςφάλεια ςτο CC2420 ............................................................................................................. 72

6.4.1. Τα κλειδιά ........................................................................................................................ 72

6.4.2. Καταμετρθτισ (Nonce / Counter) ................................................................................... 72

Page 8: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

8

6.4.3. Διαδικαςία CTR encryption ............................................................................................. 73

6.4.4. SECCTRL0 ......................................................................................................................... 74

6.4.5. SECCTRL1 ......................................................................................................................... 74

6.5 Αςφάλεια: Η υλοποίθςι μασ .................................................................................................. 75

6.5.1. Επίπεδο εφαρμογισ ........................................................................................................ 75

6.5.2. Επίπεδο MAC ................................................................................................................... 75

6.6 Ρερίλθψθ ................................................................................................................................. 77

Κεφάλαιο 7 – Διαχείριςθ Κλειδιϊν ................................................................................................... 78

7.1 Ειςαγωγι ................................................................................................................................. 78

7.2 Μοντζλα διανομισ κλειδιϊν ................................................................................................... 78

7.2.1. Μοντζλα διανομισ ηεφγουσ κλειδιϊν (pair-wise) ........................................................... 78

7.2.2. Μοντζλα προ-διανομισ τυχαίων κλειδιϊν ..................................................................... 79

7.3 Οι υλοποιιςεισ μασ ................................................................................................................. 80

7.3.1. Σφςτθμα προ-διανομισ ςυμμετρικϊν κλειδιϊν ............................................................. 80

7.3.2. Σφςτθμα διανομισ public κλειδιϊν με ECC..................................................................... 84

7.4 Ρερίλθψθ ................................................................................................................................. 90

Κεφάλαιο 8 - Μετριςεισ ................................................................................................................... 91

8.1 Ειςαγωγι ................................................................................................................................. 91

8.2 Μετριςεισ κατανάλωςθσ ........................................................................................................ 91

8.2.1. Υλικό για μετριςεισ ......................................................................................................... 91

8.2.2. Κατανάλωςθ αποςτολισ και λιψθσ πλαιςίου ................................................................ 93

8.3 Χρονικζσ μετριςεισ ................................................................................................................. 99

8.3.1. Μετριςεισ διάρκειασ κρυπτογράφθςθσ/αποκρυπτογράφθςθσ μθνφματοσ ............... 100

8.4 Ρερίλθψθ ............................................................................................................................... 101

Κεφάλαιο 9 – Συμπεράςματα ......................................................................................................... 103

Κεφάλαιο 10 - Βιβλιογραφία .......................................................................................................... 105

Page 9: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

9

Πύνακασ εικόνων Εικόνα 1 Εφαρμογζσ αςφρματων δικτφων αιςκθτιρων ....................................................................... 12

Εικόνα 2 Code Blue project (Telos mote, EMG sensor) ........................................................................ 17

Εικόνα 3 Ραράδειγμα ςτρατιωτικισ εφαρμογισ .................................................................................. 18

Εικόνα 4 Θικθ για αιςκθτιρα ............................................................................................................... 18

Εικόνα 5 Ρρόγραμμα Great Duck Island ............................................................................................... 19

Εικόνα 6 Μελζτθ δάςουσ Redwood (Berkeley)..................................................................................... 19

Εικόνα 7 Δίκτυο πυρανίχνευςθσ ........................................................................................................... 20

Εικόνα 8 Ανάπτυξθ δικτφου αιςκθτιρων για τθν FabApp .................................................................... 21

Εικόνα 9 Ρροκακοριςμζνθ (α) και τυχαία (β) παράταξθ κόμβων ενόσ δικτφου αιςκθτιρων ............. 22

Εικόνα 10 Κατθγορίεσ πρωτοκόλλων δρομολόγθςθσ αςυρμάτων δικτφων ........................................ 24

Εικόνα 11 Αρχιτεκτονικι αιςκθτιρων .................................................................................................. 25

Εικόνα 12 Γράφθμα τφπων Αιςκθτιρων............................................................................................... 28

Εικόνα 13 Ο κόμβοσ Dust ...................................................................................................................... 28

Εικόνα 14 Κόμβοι γενικοφ ςκοποφ (μικροφ μεγζκουσ) ........................................................................ 29

Εικόνα 15 Υψθλοφ εφρουσ ηϊνθσ (high bandwidth) ............................................................................. 29

Εικόνα 16 Κόμβοσ Gateway ................................................................................................................... 30

Εικόνα 17 Κατθγοριοποίθςθ MAC πρωτοκόλλων ................................................................................. 36

Εικόνα 18 Διάγραμμα throughput ΒMAC/SMAC .................................................................................. 38

Εικόνα 19 Κόμβοι δικτφου ΙΕΕΕ 802.15.4 (FFD/RFD) ............................................................................ 40

Εικόνα 20 IEEE 802.15.4 Super-frame ................................................................................................... 40

Εικόνα 21 MAC Ρλαίςιο ΙΕΕΕ 802.15.4 ................................................................................................. 41

Εικόνα 22 CSMA-CA αλγόρικμοσ IEEE 802.15.4 .................................................................................... 42

Εικόνα 23 Στοιχεία για CTR αςφάλεια .................................................................................................. 47

Εικόνα 24 Ρεδίο φορτίου κρυπτογραφθμζνου πλαιςίου .................................................................... 47

Εικόνα 25 Δεδομζνα ειςόδου CTR μεκόδου ......................................................................................... 48

Εικόνα 26 Σθμαία για CTR encryption ................................................................................................... 48

Εικόνα 27 Διαδικαςία (από-)κρυπτογράφθςθσ με τθ μζκοδο CTR ...................................................... 49

Εικόνα 28 Tmote-sky (άνω όψθ) ........................................................................................................... 53

Εικόνα 29 Τmote-sky (κάτω όψθ) ......................................................................................................... 54

Εικόνα 30 Διαςτάςεισ του Tmote-sky ................................................................................................... 54

Εικόνα 31 Δομικό διάγραμμα Τmote-sky.............................................................................................. 55

Εικόνα 32 Διάγραμμα MSP430 ............................................................................................................. 57

Εικόνα 33 Ακροδζκτεσ CC2420 .............................................................................................................. 58

Εικόνα 34 Δομικό διάγραμμα CC2420 .................................................................................................. 58

Εικόνα 35 Χαρακτθριςτικι RSSI CC2420 ............................................................................................... 58

Εικόνα 36 Δομι εφαρμογισ ςε nesC .................................................................................................... 60

Εικόνα 37 Δομι εφαρμογισ ςτο TinyOS ............................................................................................... 61

Εικόνα 38 Τφποι χρονοπρογραμματιςτϊν (schedulers) ....................................................................... 62

Εικόνα 39 Στοίβα επικοινωνίασ ςτο TinyOS .......................................................................................... 63

Εικόνα 40 TinyOS Component ............................................................................................................... 64

Εικόνα 41 CC2420 Nonce ...................................................................................................................... 72

Εικόνα 42 Σθμαίεσ για το CC2420 nonce .............................................................................................. 72

Page 10: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

10

Εικόνα 43 Χρόνοι λειτουργίασ μεκόδων αςφαλείασ ςτο CC2420 ........................................................ 73

Εικόνα 44 SECCTRL0 .............................................................................................................................. 74

Εικόνα 45 SECCTRL1 .............................................................................................................................. 75

Εικόνα 46 Ρικανότθτα εφρεςθσ κοινοφ κλειδιοφ ςυναρτιςει του Pool και του Key Ring (k = Key Ring,

P = Pool) ................................................................................................................................................. 82

Εικόνα 47 Ρικανότθτα φπαρξθσ τουλάχιςτον ενόσ, δφο ι τριϊν κοινϊν κλειδιϊν .............................. 83

Εικόνα 48 Ρρωτόκολλο εγκατάςταςθσ κοινοφ κλειδιοφ ECDH ............................................................ 88

Εικόνα 49 Διαδικαςία εγκατάςταςθσ κοινοφ κλειδιοφ με χριςθ ECC .................................................. 90

Εικόνα 50 Σχθματικό διάγραμμα μετριςεων ....................................................................................... 91

Εικόνα 51 Συνδεςμολογία μετριςεων .................................................................................................. 93

Εικόνα 52 Κατανάλωςθ ρεφματοσ Tmote Sky για ενεργοποίθςθ / απενεργοποίθςθ του CC2420...... 94

Εικόνα 53 Κατανάλωςθ ρεφματοσ για ενεργοποίθςθσ / απενεργοποίθςθ του CC2420 παράλλθλα με

τα leds .................................................................................................................................................... 95

Εικόνα 54 Κατανάλωςθ ρεφματοσ για αποςτολι πλαιςίου 14 Bytes ................................................... 96

Εικόνα 55 Κατανάλωςθ ρεφματοσ για αποςτολι πλαιςίου 104 Bytes ................................................. 96

Εικόνα 56 Κατανάλωςθ ρεφματοσ με ενεργό HW AES και πακζτο 14Bytes ......................................... 97

Εικόνα 57 Κατανάλωςθ ρεφματοσ με ενεργό SW AES και πακζτο 14Bytes ......................................... 97

Εικόνα 58 Κατανάλωςθ ρεφματοσ με ενεργό HW AES και πακζτο 104Bytes ...................................... 98

Εικόνα 59 Κατανάλωςθ ρεφματοσ με ενεργό SW AES και πακζτο 104Bytes ...................................... 98

Εικόνα 60 Σφγκριςθ των μεκόδων AES/RC6 ςε ςχζςθ με το μζγεκοσ του πακζτου .......................... 101

Page 11: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

11

Κεφϊλαιο 1 - Ειςαγωγό

Οι αςφρματεσ κινθτζσ επικοινωνίεσ άλλαξαν δραςτικά τθν κακθμερινότθτα του μζςου πολίτθ, αποτζλεςαν παγκοςμίωσ τθν ατμομθχανι τθσ ανάπτυξθσ και τθσ αγοράσ εργαςίασ τισ τελευταίεσ δεκαετίεσ και ζκεςαν ανεξίτθλα τθ ςφραγίδα τουσ ςτθν ταυτότθτα τθσ ςφγχρονθσ εποχισ. Ζννοιεσ όπωσ «ευρυηωνικότθτα», «τθλεργαςία / τθλεδιάςκεψθ», «εικονικι πραγματικότθτα», 3G, GPRS, Wi-Fi, κτλ. ενςωματϊκθκαν ςτο λεξιλόγιο των μθ ειδικϊν, χωρίσ πολλζσ φορζσ να είναι πλιρωσ κατανοθτι θ ςθμαςία τουσ. Η ποιοτικι, αδιάλειπτθ διαςφνδεςθ και επικοινωνία, οποτεδιποτε και οπουδιποτε, αποτελεί πλζον αδιαπραγμάτευτθ απαίτθςθ κάκε ςυνδρομθτι εφοδιαςμζνου με κινθτζσ τερματικζσ ςυςκευζσ.

Ωσ άμεςθ ςυνζπεια αυτισ τθσ κατάςταςθσ μια νζα πραγματικότθτα διαμορφϊνεται ςιμερα μζςα από τθν ανάπτυξθ των Αςφρματων Δικτφων Αιςκθτιρων είτε λειτουργοφν αυτοτελϊσ, είτε διαςυνδεδεμζνα ςτα μεγαλφτερα δίκτυα τθλεπικοινωνιϊν ι ςτο διαδίκτυο. Τα δίκτυα αυτά αποτελοφνται από μεγάλο αρικμό μικρϊν θλεκτρονικϊν διατάξεων (αιςκθτιρων), κινθτϊν ι μθ, που αποςτζλλουν ςε μια κεντρικι μονάδα πλθκϊρα δεδομζνων προσ επεξεργαςία και λιψθ αποφάςεων.

Η ταχφτατθ ανάπτυξθ τθσ μικροθλεκτρονικισ και των υλικϊν επζτρεψε τθν καταςκευι πολφ μικρϊν αιςκθτιρων, οι οποίοι ζχουν τθν ικανότθτα να μετροφν και να καταγράφουν μια κυριολεκτικά ατζλειωτθ ςειρά από περιβαλλοντολογικά ι βιολογικά μεγζκθ, όπωσ τθ κερμοκραςία, τθν ατμοςφαιρικι πίεςθ, τθν υγραςία, τθ φωτεινότθτα, τθ ςτάκμθ υδάτων, τθν ωρίμανςθ καρπϊν, τθν ανίχνευςθ χθμικϊν ςτοιχείων, τθν πίεςθ αίματοσ, τουσ ςφυγμοφσ καρδιάσ, τθν κίνθςθ αντικειμζνων και ανκρϊπων και πολλζσ ακόμα παραμζτρουσ που προςτίκενται διαρκϊσ ςτον παραπάνω κατάλογο. Αξιοςθμείωτο είναι ότι ςε μία διάταξθ ίςθ με ζνα νόμιςμα 2 ευρϊ μποροφμε να ςυμπεριλάβουμε πολλά από τα παραπάνω αιςκθτιρια και να καταμετροφμε ςυγχρόνωσ διάφορα μεγζκθ. Η ιδζα των αςφρματων δικτφων αιςκθτιρων διαδόκθκε πολφ από το πανεπιςτιμιο UC Berkley όπου εκτόσ των άλλων καταςκευάςτθκαν αρκετά sensor motes, όπωσ αυτά τθσ ςειράσ mica και mote-iv, αλλά και λειτουργικά ςυςτιματα όπωσ το TinyOS.

Ραράλλθλα, ανάλογθ πρόοδοσ ςυντελζςτθκε και ςτθ ςχεδίαςθ και υλοποίθςθ ειδικϊν πομποδεκτϊν που επιτρζπουν τθν αποτελεςματικι διαςφνδεςθ των διατάξεων μεταξφ τουσ και με τθν κεντρικι μονάδα με τεχνολογίεσ αςφρματθσ δικτφωςθσ, αξιολογθμζνεσ ςτα παγκόςμια δίκτυα κινθτϊν επικοινωνιϊν. Το χαμθλό κόςτοσ παραγωγισ παρζχει τθ δυνατότθτα εγκατάςταςθσ πολφ μεγάλων δικτφων με εκατοντάδεσ ι χιλιάδεσ ςτοιχεία με προθγμζνο λογιςμικό και ικανότθτα να αυτοοργανϊνονται, να βελτιςτοποιοφν και να διαςφαλίηουν τθ λειτουργία τουσ χωρίσ ιδιαίτερθ ςυντιρθςθ για μεγάλο χρονικό διάςτθμα.

Είναι ατζλειωτθ θ λίςτα των εφαρμογϊν των δικτφων αιςκθτιρων, ενϊ πολλζσ από αυτζσ μασ είναι ιδθ οικείεσ κακϊσ ανταποκρίνονται ςτισ ςυνικεισ δραςτθριότθτεσ και ανάγκεσ μασ: μετριςεισ ακριβείασ πολλϊν ατμοςφαιρικϊν και μετεωρολογικϊν παραμζτρων, επιτιρθςθ δαςϊν, υδροβιότοπων, κερμοκθπίων και γενικά αγροτικϊν καλλιεργειϊν για ζλεγχο υγραςίασ, κερμοκραςίασ, πίεςθσ, ωρίμανςθσ καρπϊν, κτλ., επιτιρθςθ υγρϊν ςτοιχείων για ρφπουσ ι ζλεγχο ακραίων φαινομζνων όπωσ οι πλθμμφρεσ, επιτιρθςθ βιομθχανικοφ περιβάλλοντοσ για τθν εξαςφάλιςθ επικυμθτϊν ςυνκθκϊν τθσ

Page 12: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

12

παραγωγικισ διαδικαςίασ, ςτοιχειϊδεισ ρυκμίςεισ λειτουργιϊν ςε κτίρια όπωσ κζρμανςθ, φωτιςμόσ, ςυναγερμοί. Ωσ λιγότερο οικείεσ αλλά αρχαιότερεσ χρονικά μποροφν να αναφερκοφν οι ςτρατιωτικζσ εφαρμογζσ και οι υποβρφχιεσ εγκαταςτάςεισ δικτφων για εντοπιςμό αντικειμζνων τόςο για ςτρατιωτικζσ επιχειριςεισ όςο και για αρχαιολογικζσ ζρευνεσ και πειράματα. Πλεσ αυτζσ οι δράςεισ αποτελοφν κλαςικά πλζον -και διόλου αςιμαντα- προϊόντα τθσ επιςτθμονικισ αυτισ περιοχισ που απαντϊνται διεκνϊσ όχι μόνο ςε ανεπτυγμζνεσ αλλά και ςε αναπτυςςόμενεσ χϊρεσ.

Στθν εικόνα 1 φαίνονται μερικζσ από τισ εφαρμογζσ ςτισ οποίεσ χρθςιμοποιοφνται τα δίκτυα αιςκθτιρων και διάφορεσ μζκοδοι διαςφνδεςισ τουσ [1]:

Εικόνα 1 Εφαρμογζσ αςφρματων δικτφων αιςκθτιρων

Στισ πιο πρόςφατεσ, μποροφμε να αναφζρουμε τθ χριςθ δικτφων αιςκθτιρων για τον εξαιρετικά ακριβι προςδιοριςμό τθσ κζςθσ και τθσ κίνθςθσ αντικειμζνων ςε εςωτερικοφσ χϊρουσ, όπωσ ςε κτίρια ςε πυκνοδομθμζνο αςτικό περιβάλλον, όπου θ απόδοςθ τθσ κλαςικισ GPS υπθρεςίασ αποδεικνφεται ανεπαρκισ. Οι δυνατότθτεσ αυτζσ κα ςυμβάλλουν αποφαςιςτικά ςτθν αςφάλεια και επιτιρθςθ δθμόςιων και ιδιωτικϊν χϊρων.

Στθν προςπάκεια για αποτελεςματικότερθ διαχείριςθ του κακθμερινοφ μασ περιβάλλοντοσ πολλζσ πειραματικζσ προςπάκειεσ διεκνϊσ επικεντρϊνονται ςτθν ανάπτυξθ και αξιολόγθςθ δικτφων που δφνανται να εκτελοφν φωνθτικζσ εντολζσ ι να ανιχνεφουν τθν κίνθςθ ι τθν διάκεςθ των χρθςτϊν τουσ και να ρυκμίηουν πλιρωσ εγκαταςτάςεισ φωτιςμοφ, θλεκτρικϊν και θλεκτροακουςτικϊν ςυςκευϊν, θλεκτρονικισ επικοινωνίασ, κτλ.

Ενδιαφζρον παρουςιάηει θ ερευνθτικι προςπάκεια που γίνεται ςιμερα για το ςυνδυαςμό ρομποτικϊν καταςκευϊν και αιςκθτιρων που οδθγοφν κυριολεκτικά ςτθν πραγμάτωςθ ενόσ μθχανικοφ κόςμου -υποκατάςτατου ι βοθκθτικοφ του πραγματικοφ-

Page 13: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

13

τόςο για βιομθχανικζσ δραςτθριότθτεσ, όςο και για απλζσ δραςτθριότθτεσ του πολίτθ του 21ου αιϊνα.

Οι εφαρμογζσ που αναφζρουμε αλλάηουν επαναςτατικά τθν οργάνωςθ τθσ κοινωνικισ μασ ηωισ προςφζροντασ αναβακμιςμζνο περιβάλλον ςε χϊρουσ όπου θ περίκαλψθ ι θ διαβίωςθ ευπακϊν ομάδων (υπεριλικεσ, βρζφθ) απαιτεί αδιάκοπτθ προςοχι και άμεςθ επζμβαςθ. Ζτςι, ο ςχεδιαςμόσ των «ψθφιακϊν πόλεων», που αποτελεί το μεγάλο ςτοίχθμα τθσ ςφγχρονθσ πολεοδομίασ, κα ςτθριχκεί κακοριςτικά ςτισ δυνατότθτεσ των αςφρματων δικτφων αιςκθτιρων.

Ανάλογεσ εφαρμογζσ βρίςκονται ςε εξζλιξθ και ςτθ ςχεδίαςθ και λειτουργία οχθμάτων όπου τα αςφρματα δίκτυα αιςκθτιρων κα μποροφν να λειτουργιςουν ςυνεργατικά με τον οδθγό για τθν πλοιγθςθ του οχιματοσ, τθν αποφυγι εμποδίων, τθν εκκίνθςθ ι διακοπι τθσ λειτουργίασ τθσ μθχανισ ςε περίπτωςθ κρίςιμθσ κατάςταςθσ των επιβαινόντων. Η χριςθ των τεχνολογιϊν αυτϊν μόνο κετικό αντίκτυπο μπορεί να ζχει ςτθν αποφυγι τραγικϊν γεγονότων και περιςτατικϊν ςτισ οδικζσ αρτθρίεσ.

Είναι πράγματι εντυπωςιακζσ αλλά και ατζρμονεσ οι προςπάκειεσ τθσ ςφγχρονθσ επιςτθμονικισ κοινότθτασ για υποςτιριξθ τθσ κακθμερινότθτάσ μασ με τθ χριςθ δικτφων αιςκθτιρων. Τελευταία επικεντρϊνονται ςτθ μελζτθ των «δικτφων ςϊματοσ». Με τα «δίκτυα ςϊματοσ» που αποτελοφνται από αιςκθτιρεσ τοποκετθμζνουσ ςτο ανκρϊπινο ςϊμα ι γφρω από αυτό (ρουχιςμό, φόρμεσ εργατϊν, αςτροναυτϊν, κτλ.) με ςκοπό τθν καταγραφι των ηωτικϊν λειτουργιϊν του (αρτθριακι πίεςθ, ςφυγμοφσ, ακόμθ και ολόκλθρα καρδιογραφιματα) είναι δυνατό να ςυγκεντρϊνονται αμζτρθτα δεδομζνα ςτον κεντρικό προςωπικό καταγραφζα μασ, τα οποία αποτελοφν πολφτιμο αρχείο για τον ζλεγχο τθσ υγείασ και τθσ γενικότερθσ κατάςταςισ μασ.

Επιπλζον, με τθ ςφγκλιςθ των επιςτθμονικϊν περιοχϊν τθσ βιολογίασ, των υλικϊν, τθσ νανοτεχνολογίασ και των δικτφων, οι δικτυωμζνοι αιςκθτιρεσ εντάςςονται ςτισ εςωτερικζσ λειτουργίεσ του ανκρϊπινου οργανιςμοφ (κυκλοφορία αίματοσ για ςυνεχι καταγραφι δεικτϊν υγείασ, όπωσ πχ. λιπίδια), παρακολουκοφν λειτουργίεσ των βαςικϊν του οργάνων (ςτομάχι), υποςτθρίηουν τα οπτικά νεφρα ςε διαδικαςίεσ τεχνικισ όραςθσ, ςκιαγραφϊντασ ςταδιακά τον «βιονικό» άνκρωπο του μζλλοντοσ.

Σιμερα, ςυνειδθτοποιοφμε όλο και περιςςότερο ότι με τθ διαςφνδεςθ και τθ διαλειτουργικότθτα των ποικίλων ετερόκλθτων δικτφων δθμιουργείται ζνα ιςχυρό παγκόςμιο πλαίςιο επικοινωνιϊν που ςυντελεί ςτθ δραςτικι μείωςθ των αποςτάςεων ςτθν παγκόςμια ςφαίρα και καταλιγει ςτθν αίςκθςθ «ςυγκατοίκθςθσ» ςτο παγκόςμιο χωριό -ανεξάρτθτα από τθ χϊρα διαβίωςισ μασ. Τα δίκτυα αιςκθτιρων προςφζρουν ζνα ακόμθ επίπεδο ςτθν επικοινωνία αυτι, καλφπτοντασ τα κενά όπου υπάρχουν και δθμιουργϊντασ ζναν κόςμο «διαχεόμενθσ» αίςκθςθσ, όπου κα μποροφμε όχι μόνο να ακοφμε τθ φωνι αλλά και να αιςκανόμαςτε τουσ ςφυγμοφσ του μακρινοφ μασ ςυγκάτοικου. Και αν ςκεφκοφμε ότι θ διαςφνδεςθ των δικτφων αφορά όχι μόνο ςε επίγεια δίκτυα, αλλά και ςε δορυφορικά ι και ςε ςτρατοςφαιρικά ςυςτιματα (μπαλόνια, αεροπλάνα) κατανοοφμε ότι πραγματικά το παγκόςμιο χωριό γίνεται πολφ μικρό.

Τα χαρακτθριςτικά διάδοςθσ των ςθμάτων ςτα ποικίλα περιβάλλοντα ανάπτυξθσ των δικτφων αιςκθτιρων (ςτο νερό, ςε ανϊτερα ςτρϊματα ατμόςφαιρασ, ςτο εςωτερικό κτιρίων, γφρω ι και μζςα ςτο ανκρϊπινο ςϊμα), θ αποτελεςματικι χριςθ του διακζςιμου φάςματοσ ςυχνοτιτων, θ προςταςία των δεδομζνων και θ αςφάλεια των επικοινωνιϊν, θ δυναμικι λειτουργία των δικτφων αυτϊν ϊςτε να ςυνδζουν ι να αποςυνδζουν διαρκϊσ μεγάλο αρικμό αιςκθτιρων, θ βζλτιςτθ χριςθ τθσ διακζςιμθσ ενζργειασ των μπαταριϊν των μικρϊν αιςκθτιρων και πολλά ακόμα ηθτιματα απαιτοφν εντατικι ερευνθτικι

Page 14: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

14

προςπάκεια για δραςτικι βελτίωςθ των τεχνικϊν επικοινωνίασ που ιδθ χρθςιμοποιοφνται ςτα ςθμερινά αςφρματα δίκτυα.

Ζνα ςθμαντικό κομμάτι των δικτφων και κυρίωσ των αςφρματων λόγω τθσ ιδιαιτερότθτασ του μζςου μετάδοςθσ (αζρασ) είναι θ αςφάλεια. Για αυτό το λόγο και ςε αυτι τθ διπλωματικι κα αναπτφξουμε μθχανιςμοφσ αςφαλείασ (encryption / authentication) βαςιςμζνεσ ςτο πρωτόκολλο IEEE 802.15.4 και κα μελετιςουμε τισ ςυνζπειεσ ςτθν απόδοςθ του ςυςτιματοσ.

Σκοπόσ τθσ διπλωματικισ αυτισ είναι θ μελζτθ του πρωτοκόλλου προςπζλαςθσ μζςου (MAC) του προτφπου IEEE 802.15.4 και θ υλοποίθςθ των μθχανιςμϊν αςφαλείασ που ορίηονται από το πρότυπο ςε περιβάλλον TinyOS για εφαρμογζσ αςφρματων δικτφων αιςκθτιρων. Δεφτεροσ ςτόχοσ είναι θ υλοποίθςθ μθχανιςμϊν διαχείριςθσ κλειδιϊν.

Η εργαςία οργανϊνεται ςτα εξισ κεφάλαια :

Κεφάλαιο 2 : Αςφρματα Δίκτυα Αιςκθτιρων. Εφαρμογζσ αςφρματϊν δικτφων αιςκθτιρων. Απαιτιςεισ και ςτόχοι ςχεδιαςμοφ, τοπολογίεσ, τεχνικζσ αρχιτεκτονικοφ ςχεδιαςμοφ, εμπορικζσ πλατφόρμεσ και λογιςμικό ανάπτυξθσ δικτφων αιςκθτιρων.

Κεφάλαιο 3 : Ρρωτόκολλα προςπζλαςθσ Μζςου (MAC). Ανάλυςθ πρωτοκόλλων προςπζλαςθσ μζςου που χρθςιμοποιοφνται από τα αςφρματα δίκτυα αιςκθτιρων: SMAC, TMAC, XMAC, BMAC, IEEE 802.15.4 και θ ςτοίβα του TinyOS ςτθν υλοποίθςι μασ.

Κεφάλαιο 4 : Αςφάλεια ςτα αςφρματα δίκτυα αιςκθτιρων. Θζματα αςφαλείασ που αφοροφν τα αςφρματα δίκτυα αςφαλείασ (απειλζσ και προβλιματα). Χαρακτθριςτικά αςφαλείασ ςτο IEEE 802.15.4.

Κεφάλαιο 5 : Ρλατφόρμα Ρεριοριςμζνων Ρόρων. Ανάλυςθ τεχνικϊν χαρακτθριςτικϊν τθσ πλατφόρμασ Τmote – sky και του ολοκλθρωμζνου CC2420. TinyOS, NesC. Ανάλυςθ τθσ αρχιτεκτονικισ του TOS 2.x και τθσ γλϊςςασ προγραμματιςμοφ NesC.

Κεφάλαιο 6 : Υλοποίθςθ. Ανάλυςθ του αλγόρικμου CSMA-CA και επεμβάςεισ ςτθ διακζςιμθ υλοποίθςθ ϊςτε να είναι ςυμβατι με το ΙΕΕΕ802.15.4. Ανάλυςθ τθσ υποςτιριξθσ αςφάλειασ που παρζχεται από το CC2420 και υλοποίθςθ βαςιςμζνθ ςτο ΙΕΕΕ 802.15.4

Κεφάλαιο 7 : Διαχείριςθ κλειδιϊν. Ανάλυςθ των βαςικϊν πρωτοκόλλων διαχείριςθσ των κλειδιϊν ςε ζνα αςφρματο δίκτυο αιςκθτιρων. Ρροςαρμογι ενόσ πρωτοκόλλου τυχαίασ προ-διανομισ κλειδιϊν ςτθν υλοποίθςι μασ για τθ διανομι των κλειδιϊν ςτουσ κόμβουσ, ανακάλυψθ κοινϊν κλειδιϊν μεταξφ γειτονικϊν κόμβων, ανάκλθςθ ςε περίπτωςθ ζκκεςθσ ενόσ κόμβου και ανανζωςθσ των κλειδιϊν ενόσ κόμβου. Ανάπτυξθ δεφτερου πρωτοκόλλου διαχείριςθσ κλειδιϊν βαςιςμζνο ςε μθχανιςμοφσ ελλειπτικϊν καμπφλων (ECC).

Κεφάλαιο 8 : Μετριςεισ και αποτελζςματα

Page 15: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

15

Ρειραματικζσ μετριςεισ τθσ ενεργειακισ κατανάλωςθσ των κόμβων αλλά και των χρόνων εκτζλεςθσ ςυναρτιςεων ςχετικϊν με τθν κρυπτογράφθςθ και αποκρυπτογράφθςθ.

Κεφάλαιο 9 : Συμπεράςματα.

Page 16: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

16

Κεφϊλαιο 2 – Αςύρματα δύκτυα

Αιςθητόρων

2.1 Ειςαγωγό

Τα αςφρματα δίκτυα αιςκθτιρων – wireless sensor networks (WSN) – ζχουν αναπτυχκεί ραγδαία τα τελευταία χρόνια. Αυτό οφείλεται ςτθν βελτίωςθ των μθχανιςμϊν μετάδοςθσ (RF systems) και μικροθλεκτρονικϊν ςυςτθμάτων με αποτζλεςμα τθ μείωςθ τθσ κατανάλωςθσ ιςχφοσ και τθν ανάπτυξθ μικροαιςκθτιρων.

Τα «ζξυπνα» περιβάλλοντα αντιπροςωπεφουν το επόμενο βιμα ςτθν ανάπτυξθ ςτισ κατοικίεσ, ςτθ βιομθχανία και ςτθν αυτοματοποίθςθ των μεταφορικϊν ςυςτθμάτων. Ππωσ και οποιοςδιποτε αιςκθτιριοσ οργανιςμόσ, το «ζξυπνο» περιβάλλον ςτθρίηεται πρϊτα απ’ όλα ςτα διάφορα αιςκθτιρια ςτοιχεία που ςυλλζγει από τον πραγματικό κόςμο. Το αιςκθτιριο ςτοιχείο αποτελείται από διάφορουσ αιςκθτιρεσ, κατανεμθμζνουσ ςτο χϊρο, οι οποίοι ςυλλζγουν δεδομζνα. Τα δεδομζνα αυτά μπορεί να αποτελοφν ςτοιχεία για τον εξωτερικό είτε για τον εςωτερικό χϊρο του «ζξυπνου» περιβάλλοντοσ.

Η μελζτθ των WSN αποτελεί μια πρόκλθςθ δεδομζνου ότι απαιτεί ζνα τεράςτιο εφροσ γνϊςεων από διάφορεσ επιςτιμεσ. Σε αυτό το κεφάλαιο κα περιγράψουμε τα δίκτυα επικοινωνίασ, τα αςφρματα δίκτυα αιςκθτιρων, τισ φυςικζσ αρχζσ μεταγωγισ, τισ τοπολογίεσ των δικτφων αυτϊν.

Τι κάνει όμωσ τόςο επιτακτικι τθν μελζτθ των αςφρματων δικτφων αιςκθτιρων; Μα φυςικά θ πλθκϊρα των πλεονεκτθμάτων που ζχουν. Αυτά απαρικμοφνται παρακάτω:

Τα WSN προςφζρουν αρκετά αξιόπιςτο ζλεγχο και υπερζχουν ζναντι αντίςτοιχων ςυμβατικϊν ςυςτθμάτων αιςκθτιρων τα οποία χρθςιμοποιοφν μεγαλφτερουσ και ακριβότερουσ αιςκθτιρεσ που ςυνδζονται με καλϊδια για μεταφορά των δεδομζνων ςτουσ τελικοφσ χριςτεσ.

Επίςθσ ζχουν υψθλι ςυχνότθτα δειγματολθψίασ και υψθλι ανάλυςθ λόγω τθσ πολλαπλότθτασ των μετριςεων από πολλοφσ και διαφορετικοφσ κόμβουσ.

Ζνα από τα βαςικά πλεονεκτιματα των WSN είναι ότι οι παρατθρθτζσ μποροφν να βρίςκονται ςε αρκετι απόςταςθ από το παρατθροφμενο φαινόμενο.

Αποτελοφνται από μεγάλο αρικμό αυτόνομων κόμβων αιςκθτιρων που δεν απαιτοφν επίβλεψθ από άνκρωπο, ϊςτε να επεκτείνουν τθν κάλυψθ του δικτφου. Επιπλζον οι κόμβοι μποροφν να δουλζψουν ςε ακραίεσ ςυνκικεσ όπου δε μπορεί να βρεκεί ο άνκρωποσ ι άλλοι ςυμβατικοφ τφπου κόμβοι των οποίων τα δίκτυα περιορίηονται ςε ςυγκεκριμζνθ περιοχι.

Ραρζχουν μεγαλφτερθ ανοχι ςε ςφάλματα λόγω τθσ πυκνότερθσ διάταξισ τουσ ςτον υπό μελζτθ χϊρο. Ζτςι ζχουμε πλεοναςμό-κάλυψθ ςτθν πλθροφορία ενόσ κόμβου από τουσ γειτονικοφσ του.

Επιπλζον το κόςτοσ μειϊνεται δραματικά αν αναλογιςτεί κανείσ ότι δεν υπάρχουν καλϊδια.

Page 17: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

17

2.2 Εφαρμογϋσ

Ρολλζσ επιτυχθμζνεσ εφαρμογζσ ςε νζεσ τεχνολογίεσ ζχουν εφευρεκεί χάρθ ςτθν δθμιουργικότθτα των χρθςτϊν αυτϊν των τεχνολογιϊν και όχι απαραιτιτωσ ςτουσ ίδιουσ τουσ εφευρζτεσ τθσ τεχνολογίασ. Ζτςι και με τα αςφρματα δίκτυα και τουσ αιςκθτιρεσ. Συνδυάηοντασ αυτζσ τισ δφο τεχνολογίεσ βρίςκουμε πολλζσ εφαρμογζσ για δίκτυα αιςκθτιρων. Στθ ςυνζχεια αναλφουμε μερικζσ από αυτζσ ανάλογα με τον τομζα εφαρμογισ τουσ :

Ιατρικζσ Εφαρμογζσ : Μικροί κόμβοι (nodes) με ενςωματωμζνουσ αιςκθτιρεσ μποροφν να χρθςιμοποιθκοφν για ιατρικζσ εφαρμογζσ , παραδείγματοσ χάρθ για παρακολοφκθςθ θλικιωμζνων ανκρϊπων. Συςκευζσ που μποροφν να μεταφερκοφν ι ακόμθ και να φορεκοφν κα μποροφςαν να καταγράφουν ςθμαντικζσ λειτουργίεσ του αςκενι και ςε περιπτϊςεισ αναγκαίεσ να ειδοποιθκοφν οι ςυγγενείσ, ο γιατρόσ ι το νοςοκομείο. Ραρόμοιεσ εφαρμογζσ περιλαμβάνουν μζτρθςθ των επιπζδων τθσ γλυκόηθσ για αςκενείσ με Σακχαρϊδθ Διαβιτθ, μετριςεισ ςε ανιχνευτζσ καρκινικϊν κυττάρων και γενικότεροι ζλεγχοι τθσ υγείασ των αςκενϊν. Η ιδζα τθσ ενςωμάτωςθσ αςφρματων βιοιατρικϊν αιςκθτιρων ςτο ανκρϊπινο ςϊμα είναι αρκετά υποςχόμενθ, παρόλο που υπάρχουν πολλζσ επιπλζον δυςκολίεσ όπωσ : αςφάλεια του ςυςτιματοσ, αξιοπιςτία, ελαχιςτοποίθςθ τθσ ςυντιρθςθσ, μείωςθ τθσ κατανάλωςθσ ι και αξιοποίθςθ τθσ ανκρϊπινθσ ενζργειασ (κερμότθτασ). Με περιςςότερουσ ερευνθτζσ και εξελίξεισ ςε αυτό το πεδίο μποροφμε να πετφχουμε ζνα καλφτερο επίπεδο ηωισ και πιο φκθνό κόςτοσ ιατρικισ περίκαλψθσ για όλουσ. Ζνα παράδειγμα τζτοιασ εφαρμογισ είναι το πρόγραμμα Code Blue από το πανεπιςτιμιο του Harvard [2]. Στθν εικόνα 2 δεξιά φαίνεται το ςφςτθμα με το mote τφπου Telos, θ ςφνδεςθ με USB για τον προγραμματιςμό του, τθν μετάδοςθ ςτο ςτακμό βάςθσ των δεδομζνων και τον αιςκθτιρα EMG (Accelerometer, gyroscope, and

electromyogram ) για αςκενείσ με καρδιακά νοςιματα.

Εικόνα 2 Code Blue project (Telos mote, EMG sensor)

Στρατιωτικζσ Εφαρμογζσ : Στισ ςτρατιωτικζσ επιχειριςεισ ο εντοπιςμόσ του αντιπάλου το ςυντομότερο δυνατό είναι μία από τισ πρϊτεσ ενζργειεσ του ςτρατιϊτθ. Ωσ βοθκθτικά μζςα για το ςκοπό αυτό ζχουν αναπτυχκεί αρκετζσ εφαρμογζσ βαςιςμζνεσ ςτα δίκτυα αιςκθτιρων.

Page 18: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

18

Ππωσ βλζπουμε και ςτθν εικόνα 3, μια εφαρμογι είναι ο εντοπιςμόσ του αντιπάλου βαςιηόμενθ ςτα ακουςτικά κφματα από τθν εκπυρςοκρότθςθ του όπλου του [3].

Εικόνα 3 Παράδειγμα ςτρατιωτικισ εφαρμογισ

Άλλεσ ςτρατιωτικζσ εφαρμογζσ: Για το ςτρατό, είναι ο εντοπιςμόσ αρμάτων μάχθσ, αεροπλάνων, παρακολοφκθςθ φιλικϊν δυνάμεων, εξοπλιςμοφ και πυρομαχικϊν, επίβλεψθ πεδίων μάχθσ, αναγνϊριςθ εχκρικϊν δυνάμεων όςον αφορά τον εξοπλιςμό και τισ κινιςεισ τουσ, ανάπτυξθ ςυςτθμάτων ςτόχευςθσ, αξιολόγθςθ ηθμιϊν, ανίχνευςθ και αναγνϊριςθ πυρθνικϊν, βιολογικϊν και χθμικϊν απειλϊν.

Ρεριβαλλοντικζσ Εφαρμογζσ : Το περιβάλλον και θ κλιματικι αλλαγι επθρεάηει όλο και περιςςότερο τθν ηωι μασ. Η πρόγνωςθ ακραίων καιρικϊν φαινομζνων, θ κατανόθςθ του τρόπου ηωισ διάφορων ηϊων που τελοφν υπό εξαφάνιςθ και πολλά άλλα περιβαλλοντικά προβλιματα μποροφν να μελετθκοφν καλφτερα με τθ χριςθ δικτφων αιςκθτιρων. Η χριςθ ειδικϊν προςτατευτικϊν κθκϊν όπωσ ςτθν εικόνα 4 βοθκοφν ςτθ τοποκζτθςθ των αιςκθτιρων ςτα πιο ακραία και επικίνδυνα περιβάλλοντα όπου δε κα μποροφςε να πάει ο άνκρωποσ [4].

Εικόνα 4 Θικθ για αιςκθτιρα

Μια από τισ πιο διαδεδομζνεσ οικολογικζσ εφαρμογζσ είναι το πρόγραμμα Great Duck Island [5]. Στθν εφαρμογι αυτι ζπρεπε να μελετθκεί το μικρο-κλίμα και το διαςυνδεδεμζνο δίκτυο υπογείων φωλιϊν των καλαςςοπουλιϊν του είδουσ Storm-Petrel. Στο πρόγραμμα αυτό, οι βιολόγοι τοποκζτθςαν αιςκθτιρεσ ςτισ υπόγειεσ φωλιζσ (1) και ςε δοκάρια φψουσ 10 εκατοςτϊν πάνω από τα τοφνελ τουσ

Page 19: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

19

(2). Αυτζσ οι ςυςκευζσ καταγράφουν δεδομζνα για τα πουλιά και τισ μεταδίδουν ςε μεγάλα πακζτα ςε ζνα κεντρικό node ο οποίοσ επικοινωνεί με τον ερευνθτικό ςτακμό (4) και τελικά μζςω δορυφορικισ ςφνδεςθσ (5) ςτζλνονται ςε κάποιο εργαςτιριο τθσ Καλιφόρνια.

Εικόνα 5 Πρόγραμμα Great Duck Island

Ζνα άλλο παράδειγμα εφαρμογισ για τθν καλφτερθ κατανόθςθ οικολογικϊν προβλθμάτων είναι ςτο δάςοσ Redwood (Berkeley)[6]. Το πρόβλθμα ιταν θ κατανόθςθ δυναμικϊν διεργαςιϊν μζςα ςτα δζντρα. Τοποκετικθκε ζτςι ζνα πυκνό πλζγμα από δειγματολθπτικά ςτα δζντρα του δάςουσ όπωσ φαίνεται ςτο ςχεδιάγραμμα :

Εικόνα 6 Μελζτθ δάςουσ Redwood (Berkeley)

Page 20: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

20

Εικόνα 7 Δίκτυο πυρανίχνευςθσ

Μία ακόμα πολφ χριςιμθ εφαρμογι που μπορεί να ςϊςει εκατοντάδεσ ςτρζμματα δάςουσ αλλά και ανκρϊπινων ηωϊν είναι θ πυρανίχνευςθ[8]. Μόνο ςτθν Ελλάδα κάκε καλοκαίρι ζχουμε χιλιάδεσ καταςτροφικζσ πυρκαγιζσ, οι οποίεσ εάν είχαν ανιχνευκεί νωρίτερα κα μποροφςαν να είχαν καταπολεμθκεί. Ωςτόςο, επειδι οι καιρικζσ ςυνκικεσ που μποροφν να προκαλζςουν πυρκαγιά είναι προβλζψιμεσ, μποροφν να αναπτυχκοφν ςχετικζσ τεχνικζσ ανίχνευςθσ τζτοιων ςυνκθκϊν ςε περιοχζσ που είναι επιρρεπείσ ςε πυρκαγιζσ. Εξαιτίασ τθσ δυνατότθτάσ τουσ να εκτείνονται ευρζωσ και πυκνά ςε ζνα περιβάλλον, τα αςφρματα δίκτυα αιςκθτιρων αποτελοφν μια καλι επιλογι ςτθν πυρανίχνευςθ, παρζχοντασ άμεςθ προειδοποίθςθ και εντοπιςμό τθσ κζςθσ τυχόν επικείμενθσ πυρκαγιάσ.

Βιομθχανικζσ Εφαρμογζσ :

Στισ βιομθχανίεσ ο ζλεγχοσ των ςυςτθμάτων και των εφαρμογϊν κακ’ όλθ τθ διάρκεια τθσ λειτουργίασ τουσ παίηει ςθμαντικό ρόλο για τθν ορκι λειτουργία αλλά και για τθν αςφάλεια του ςυςτιματοσ και του προςωπικοφ [7]. Το περιβάλλον ςτο οποίο πραγματοποιείται θ διεργαςία μπορεί να είναι επικίνδυνο για τον άνκρωπο (λόγω κερμοκραςίασ, τοξικότθτασ) ι να είναι αδφνατο να πάει (εςωτερικό μθχανϊν κλπ). Ζτςι θ χριςθ των αιςκθτιρων είναι επιτακτικι ςε τζτοιεσ περιπτϊςεισ. Οι εφαρμογζσ αυτζσ ςτοχεφουν ςτθν αυτοματοποίθςθ διεργαςιϊν, όπωσ ςυντιρθςθσ των μθχανϊν με ςυνεχόμενθ παρακολοφκθςθ και ςυλλογι δεδομζνων από τουσ αιςκθτιρεσ και αυτόματθ λιψθ αποφάςεων ςε κρίςιμεσ περιπτϊςεισ όπωσ είναι τα ςφάλματα. Είναι παράδειγμα βιομθχανικισ εφαρμογισ των αςφρματων δικτφων αιςκθτιρων είναι ςτα διυλιςτιρια. Στθν εφαρμογι αυτι θ λφςθ δόκθκε μζςω μζτρθςθσ και καταγραφισ τθσ κερμότθτασ ςτα διάφορα ςτάδια τθσ διεργαςίασ. Ειδικά ςιματα ςυναγερμϊν ειδοποιοφν τουσ

Page 21: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

21

τεχνικοφσ όταν θ κερμοκραςία βγαίνει εκτόσ των ορίων. Πςο οι εγκαταςτάςεισ επεκτείνονται και τα ςθμεία ελζγχου πλθκαίνουν, τα κλαςςικά ενςφρματα ςυςτιματα δεν ιταν αποδοτικά. Ζτςι θ χριςθ των αςφρματων δικτφων ζγινε μονόδρομοσ.

Εικόνα 8 Ανάπτυξθ δικτφου αιςκθτιρων για τθν FabApp

2.3 Σοπολογύεσ Δικτύων

Η παράταξθ (deployment) των κόμβων αιςκθτιρων αποτελεί βαςικό ηιτθμα για τα δίκτυα αιςκθτιρων. Ο ςτόχοσ των διαφόρων ςχεδιαςμϊν που ζχουν αναπτυχκεί, αφορά τθν επίτευξθ μιασ επικυμθτισ κάλυψθσ με ζναν ελάχιςτο αρικμό από κόμβουσ, ενϊ παράλλθλα πρζπει να ικανοποιοφνται οι προχποκζςεισ που εξαςφαλίηουν αποδεκτά επίπεδα ποιότθτασ, κόςτουσ, αξιοπιςτίασ και βάκμωςθσ (επζκταςθσ όςον αφορά τον αρικμό των κόμβων) μιασ εφαρμογισ [50]. Στα αςφρματα δίκτυα αιςκθτιρων, θ κάλυψθ ζχει διπλι ζννοια: χωρικι και κάλυψθ εμβζλειασ. Η κάλυψθ εμβζλειασ αναφζρεται ςτο γεωμετρικό χϊρο όπου είναι δυνατι θ ςυλλογι δεδομζνων («αίςκθςθ») που αφοροφν παραμζτρουσ του περιβάλλοντοσ ςτο οποίο αναπτφςςεται το δίκτυο, ενϊ θ χωρικι κάλυψθ αναφζρεται ςτισ ςχετικζσ κζςεισ και αποςτάςεισ των κόμβων αιςκθτιρων ζτςι ϊςτε να προςφζρουν ακριβείσ μετριςεισ-δεδομζνα.

Ανάλογα με τθν εφαρμογι, τϊρα, οι ςτρατθγικζσ παράταξθσ των κόμβων αιςκθτιρων διαφοροποιοφνται ςθμαντικά ςε κάκε περίπτωςθ. Γενικά, οι ςτρατθγικζσ αυτζσ χωρίηονται ςε τζςςερισ κατθγορίεσ [48], [49], [54]:

Ρροκακοριςμζνθ-τυποποιθμζνθ παράταξθ : Συνικωσ εφαρμόηεται ςε περίπτωςθ που χρθςιμοποιοφνται πλζγματα κόμβων όπωσ τθσ εικόνασ 10α κακϊσ και ςε περίπτωςθ που είναι γνωςτι εκ των προτζρων θ ςυμπεριφορά του περιβάλλοντοσ ςτο οποίο πρόκειται να αναπτυχκεί το δίκτυο. Ρλεονζκτθμά τθσ αποτελεί το γεγονόσ ότι μπορεί να παρζχει βζλτιςτθ λφςθ ωσ προσ τθν επικυμθτι κάλυψθ και ταυτόχρονα να επιτυγχάνει υψθλι ποιότθτα και αποδοτικότθτα ωσ προσ το κόςτοσ. Ωςτόςο, όςον αφορά τθ δεφτερθ περίπτωςθ, θ ακριβισ γνϊςθ τθσ πλιρουσ ςυμπεριφοράσ ενόσ περιβάλλοντοσ είναι αδφνατθ, γι’ αυτό και θ ςτρατθγικι τθσ προκακοριςμζνθσ παράταξθσ εφαρμόηεται κατά τμιματα.

Τυχαία παράταξθ : Η ςυγκεκριμζνθ ςτρατθγικι αποτελεί μια περιςςότερο ρεαλιςτικι προςζγγιςθ για μεγάλθσ κλίμακασ εφαρμογζσ. Οι κόμβοι αιςκθτιρων «ςκορπίηονται» ομοιόμορφα ςε μια περιοχι, χωρίσ να ζχουν προκακοριςμζνεσ κζςεισ *50], [51], [52]. Αυτό το χαρακτθριςτικό κάνει τθ ςτρατθγικι αυτι να είναι ιδιαίτερα επικυμθτι ςε

Page 22: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

22

πολλζσ κοινζσ περιπτϊςεισ ανάπτυξθσ κάποιου αςφρματου δικτφου αιςκθτιρων. Ωςτόςο, θ κάλυψθ που παρζχεται μπορεί να περιορίηεται από τυχόν εμπόδια ι άλλεσ πθγζσ κορφβου ι μπορεί να απαιτείται μεγαλφτερθ πυκνότθτα κόμβων ςε οριςμζνεσ περιοχζσ αντί μιασ ομοιόμορφθσ κατανομισ, περιπτϊςεισ οι οποίεσ ζχουν ωσ ςυνζπεια επίςθσ μείωςθ τθσ ακρίβειασ ςτθν περιγραφι του περιβάλλοντοσ του δικτφου.

Εικόνα 9 Προκακοριςμζνθ (α) και τυχαία (β) παράταξθ κόμβων ενόσ δικτφου αιςκθτιρων

Αυτορυκμιηόμενθ παράταξθ : Η ςτρατθγικι αυτι αναπτφχκθκε με ςκοπό να ξεπεραςτοφν τα προβλιματα που αντιμετωπίηει θ ςτρατθγικι τθσ προκακοριςμζνθσ παράταξθσ των κόμβων. Συγκεκριμζνα, οι κόμβοι αιςκθτιρων τοποκετοφνται ςτο περιβάλλον κατά τζτοιο τρόπο ζτςι ϊςτε να παρζχουν πλιρθ κάλυψθ αντιμετωπίηοντασ περιπτϊςεισ φπαρξθσ εμποδίων τόςο ςτθν επικοινωνία όςο και ςτθν «αίςκθςθ» με τθν αυτο-ρφκμιςθ κατάλλθλων παραμζτρων τουσ (προςαρμογι). Επίςθσ, θ ςτρατθγικι αυτι είναι επεκτάςιμθ ωσ προσ τθν αφξθςθ του αρικμοφ των κόμβων, αλλά θ ποςότθτα των υπολογιςμϊν μπορεί να γίνει απαγορευτικι.

Ρροςαρμοςμζνθ παράταξθ : Η ςυγκεκριμζνθ ςτρατθγικι εφαρμόηεται ςτισ περιπτϊςεισ αυτζσ που μια ομοιόμορφθ κατανομι των κόμβων δεν είναι ικανοποιθτικι ωσ προσ τθν κάλυψθ και πλιρθ περιγραφι μιασ περιοχισ-περιβάλλοντοσ (τυχαία παράταξθ), αλλά απαιτείται ςε ςυγκεκριμζνεσ περιοχζσ μεγαλφτερθ ποςότθτα πλθροφορίασ, ενϊ αλλοφ πολφ μικρότερθ [53+. Στο γεγονόσ αυτό ςυμβάλλει και το ότι θ πλθροφορία μερικζσ φορζσ που παρζχεται από κάποιον κόμβο μπορεί να είναι ελλιπισ ι λανκαςμζνθ, οπότε και απαιτείται θ κάλυψι του από πλθροφορίεσ γειτονικϊν κόμβων.

Για τθ ςωςτι λειτουργία πολλϊν αςφρματων ad hoc δικτφων και δικτφων

αιςκθτιρων απαιτείται μεγάλοσ αρικμόσ από κόμβουσ (ςυνικωσ ςτάςιμουσ) [55], [56]. Δίκτυα 10.000 ι και 100.000 κόμβων μποροφν να γίνουν ςτο μζλλον πραγματικότθτα και επομζνωσ θ δυνατότθτα κλιμάκωςθσ του δικτφου είναι πολφ ςθμαντικι. Τα αςφρματα ad hoc δίκτυα και δίκτυα αιςκθτιρων χαρακτθρίηονται από τον αυτόνομο τρόπο λειτουργίασ του κάκε κόμβου και τθν ζλλειψθ ςτακερισ υποδομισ δικτφου κορμοφ. Ο αυτόνομοσ χαρακτιρασ και ο χαμθλοφ κόςτουσ προςανατολιςμόσ τζτοιων δικτφων, επιβάλλουν ςθμαντικοφσ περιοριςμοφσ ςτθν κατανάλωςθ ενζργειασ των τερματικϊν ςτακμϊν, περιορίηοντασ αντιςτοίχωσ τισ λειτουργικζσ ικανότθτεσ του κάκε αςφρματου κόμβου. Δεδομζνου του μεγάλου αρικμοφ των κόμβων και τθ μελλοντικι τοποκζτθςι τουσ ςε εχκρικά περιβάλλοντα απαραίτθτο χαρακτθριςτικό του δικτφου πρζπει να είναι θ

Page 23: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

23

δυνατότθτα αυτό-οργάνωςθσ. Επιπλζον κάποιοι κόμβοι, είτε λόγω ζλλειψθσ ενζργειασ, είτε λόγω τεχνικϊν προβλθμάτων τίκενται εκτόσ λειτουργίασ και είναι απαραίτθτο νζοι κόμβοι να προςτεκοφν ςτο δίκτυο. Επομζνωσ το δίκτυο πρζπει να είναι ςε κζςθ περιοδικά να επαναπροςδιορίηεται ζτςι ϊςτε να ςυνεχίςει να λειτουργεί. Μεμονωμζνοι κόμβοι μποροφν να αποςυνδεκοφν από το δίκτυο αλλά πάντα πρζπει να διατθρείται ςε μεγάλο βακμό θ ςυνεκτικότθτα του. Σε ςυνδυαςμό με αυτά που ζχουν ιδθ αναφερκεί μποροφν να παρουςιαςτοφν επιγραμματικά τα βαςικά χαρακτθριςτικά των ad hoc δικτφων και των δικτφων αιςκθτιρων. Η ζλλειψθ κεντρικισ υποδομισ αποτελεί βαςικό ςτοιχείο, το οποίο κακορίηει αποφαςιςτικά τον τρόπο διάρκρωςθσ και λειτουργίασ του δικτφου. Επίςθσ το αςφρματο περιβάλλον δθμιουργεί απρόβλεπτουσ παράγοντεσ, οι οποίοι μποροφν να επθρεάςουν τθν αποδοτικότθτα όπωσ για παράδειγμα οι καιρικζσ ςυνκικεσ. Το βαςικότερο όμωσ χαρακτθριςτικό κεωροφνται οι περιοριςμζνοι πόροι, οι οποίοι ζχουν άμεςθ επίπτωςθ ςτθν ενζργεια που καταναλϊνουν. Το γεγονόσ αυτό ενιςχφεται από το δεδομζνο ότι οι κόμβοι των δικτφων αυτϊν είναι πολλζσ φορζσ απαραίτθτο να τοποκετθκοφν ςε δυςπρόςιτα μζρθ, χωρίσ τθ δυνατότθτα άμεςθσ αντικατάςταςθσ. Επομζνωσ θ μείωςθ τθσ κατανάλωςθσ ενζργειασ οδθγεί ςε αφξθςθ του χρόνου ηωισ του κάκε κόμβου και άρα ςπανιότερθ ανάγκθ αντικατάςταςθσ λόγω εξάντλθςθσ των ενεργειακϊν πόρων.

Η δθμιουργία ενεργειακά αποδοτικϊν αλγορίκμων που κα διατθροφν τθ ςυνεκτικότθτα του δικτφου και κα βελτιϊνουν τθν επίδοςθ χαρακτθριςτικϊν όπωσ του χρόνου ηωισ του δικτφου ζχει απαςχολιςει πολλζσ ερευνθτικζσ ομάδεσ μζχρι ςιμερα. Οι αλγόρικμοι αυτοί αςχολοφνται με τον ζλεγχο τοπολογίασ. Η τοπολογία ενόσ αςφρματου δικτφου είναι το ςφνολο των επικοινωνιακϊν ηεφξεων μεταξφ κόμβων. Η τοπολογία εξαρτάται από μθ ελεγχόμενουσ παράγοντεσ όπωσ θ κινθτικότθτα, ο καιρόσ, οι παρεμβολζσ, ο κόρυβοσ αλλά και από ελεγχόμενουσ παράγοντεσ όπωσ θ ενζργεια εκπομπισ και θ κατεφκυνςθ τθσ κεραίασ. Ο ζλεγχοσ τθσ τοπολογίασ είναι απαραίτθτοσ. Σε περίπτωςθ χρθςιμοποίθςθσ λανκαςμζνθσ τοπολογίασ μπορεί να μειωκεί ςθμαντικά θ ικανότθτα του δικτφου, να αυξθκεί θ από άκρθ ςε άκρθ κακυςτζρθςθ πακζτου και επομζνωσ να αυξθκοφν οι αποτυχίεσ κόμβων ωσ προσ τθν λειτουργίασ τουσ. Για παράδειγμα ςτθν περίπτωςθ που θ τοπολογία είναι πολφ αραιι υπάρχει μεγαλφτερθ πικανότθτα για χωριςμό του δικτφου ςε διάφορα μζρθ και για υψθλζσ από άκρθ ςε άκρθ κακυςτεριςεισ. Αντίκετα εάν θ τοπολογία είναι πολφ πυκνι υπάρχει κίνδυνοσ μείωςθσ τθσ χωρθτικότθτασ του δικτφου.

2.4 Δρομολόγηςη ςτα αςύρματα δύκτυα αιςθητόρων

Η δρομολόγθςθ (routing) ςτα αςφρματα δίκτυα αιςκθτιρων είναι πολφ απαιτθτικι διεργαςία εξαιτίασ των ιδιαίτερων χαρακτθριςτικϊν των δικτφων αυτϊν [47]. Αρχικά, ο ςχετικά μεγάλοσ αρικμόσ κόμβων κακιςτά αναποτελεςματικι τθ χριςθ γενικισ διευκυνςιοδότθςθσ (global addressing) κακϊσ αυξάνει το κόςτοσ ςε επιπλζον πόρουσ (overhead) για τθ διατιρθςθ των ταυτοτιτων (ID’s) των κόμβων. Ζτςι τα κλαςςικά πρωτόκολλα που βαςίηονται ςτο IP (internet protocol) δεν μποροφν να εφαρμοςτοφν ςτα δίκτυα αιςκθτιρων. Επίςθσ, οι κόμβοι που αναπτφςςονται ςφμφωνα με τθν τοπολογία ad-hoc χρειάηονται αυτό-οργάνωςθ (self-organizing). Απαιτείται ζτςι από το ςφςτθμα να δθμιουργιςει τισ ςυνδζςεισ και να αντιμετωπίςει τθν κατανομι των κόμβων. Σε αντίκεςθ με τα τυπικά δίκτυα επικοινωνιϊν, ςχεδόν όλεσ οι εφαρμογζσ των δικτφων αιςκθτιρων μεταφζρουν όλα τα δεδομζνα των αιςκθτιρων από πολλαπλζσ πθγζσ ςε ζνα κεντρικό ςθμείο, το ςτακμό βάςθσ (base station). Αυτό όμωσ, δεν απαγορεφει ςτθν ροι των δεδομζνων να πάρει άλλεσ μορφζσ (π.χ. multicast, peer to peer). Τρίτο, οι κόμβοι ζχουν

Page 24: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

24

περιοριςμζνουσ πόρουσ ενζργειασ, επεξεργαςτικισ ιςχφοσ και αποκθκευτικισ ικανότθτασ. Γι’ αυτό απαιτείται ιδιαίτερθ προςοχι ςτθν διαχείριςι τουσ. Τζταρτο, ςτισ περιςςότερεσ εφαρμογζσ οι κόμβοι είναι γενικά ακίνθτοι μετά τθν ανάπτυξθ του δικτφου, εκτόσ ελαχίςτων κινθτϊν με μικρι όμωσ κινθτικότθτα. Οι κόμβοι ςτα ςυμβατικά αςφρματα δίκτυα είναι ελεφκεροι να κινοφνται, πράγμα που προκαλεί ςυχνζσ και απροςδιόριςτεσ αλλαγζσ ςτθν τοπολογία τουσ. Ρζμπτο, τα δίκτυα αιςκθτιρων είναι ςχεδιαςμζνα βάςθ τθσ εφαρμογισ (application specific). Ζκτο, θ ενθμζρωςθ τθσ κζςθσ ενόσ κόμβου είναι ςθμαντικό μιασ και θ ςυλλογι των δεδομζνων βαςίηεται κυρίωσ ςτθν τοποκεςία τουσ. Επί του παρόντοσ, δε είναι εφικτι θ χριςθ του ςυςτιματοσ GPS (global positioning system). Ζτςι χρθςιμοποιείται το ςφςτθμα τριγωνομζτρθςθσ (triangulation) [45],[46] για τον προςδιοριςμό τθσ κζςθσ που βαςίηεται ςτθν ζνταςθ τθσ εκπομπισ του κόμβου από μερικά γνωςτά ςθμεία. Τζλοσ, θ ςυλλογι δεδομζνων από πολλοφσ αιςκθτιρεσ βαςίηεται κυρίωσ ςε φυςικά φαινόμενα, ζτςι υπάρχει μεγάλθ πικανότθτα ςε αυτά τα δεδομζνα να ζχουμε πλεοναςμό. Τζτοιου είδουσ πλεοναςμοί κα πρζπει να αναγνωρίηονται από το πρωτόκολλο δρομολόγθςθσ ϊςτε να βελτιϊνεται θ χριςθ των πόρων του ςυςτιματοσ. Εξαιτίασ αυτϊν των διαφορϊν, ζχουν αναπτυχκεί αρκετοί αλγόρικμοι δρομολόγθςθσ για τα δίκτυα αιςκθτιρων. Οι μθχανιςμοί δρομολόγθςθσ λαμβάνουν υπ’ όψιν τουσ τα χαρακτθριςτικά των δικτφων, τισ απαιτιςεισ των εφαρμογϊν και τθσ αρχιτεκτονικισ. Η λειτουργία εφρεςθσ και διατιρθςθσ μιασ διαδρομισ είναι ςθμαντικι εξαιτίασ των περιοριςμϊν ςτθν ενζργεια και ξαφνικϊν αλλαγϊν ςτθν κατάςταςθ των κόμβων προκαλοφν απρόβλεπτεσ αλλαγζσ ςτθν τοπολογία του δικτφου. Για τθν ελαχιςτοποίθςθ τθσ κατανάλωςθσ ζχουν προτακεί τεχνικζσ όπωσ ςυςςϊρευςθ δεδομζνων (data aggregation), επεξεργαςία εντόσ του δικτφου (in-network processing), ομαδοποίθςθ (clustering), εκχϊρθςθ διαφορετικϊν ρόλων ςε κάκε κόμβο (role assignment) και μζκοδοι βαςιςμζνοι ςτα δεδομζνα (data – centric). Τα πρωτόκολλα κατθγοριοποιοφνται ανάλογα με τθ δομι του δικτφου ωσ ενιαία (flat), ιεραρχικά (hierarchical) ι βαςιςμζνα ςτθν τοποκεςία (location-based). Επίςθσ μποροφν να κατθγοριοποιθκοφν και βάςθ τθσ λειτουργίασ τουσ ωσ multipath (πολλαπλϊν διαδρομϊν), query (άντλθςθσ πλθροφοριϊν), negotiation (διαπραγμάτευςθ), QoS (quality of service – ποιότθτα υπθρεςίασ), coherent (ςυνδεδεμζνοσ). Στα ενιαία πρωτόκολλα όλοι οι κόμβοι ζχουν τον ίδιο ρόλο, ενϊ τα ιεραρχικά ςτοχεφουν ςτθν ομαδοποίθςθ των κόμβων ϊςτε οι πιο υψθλά ςτθν ιεραρχία ομάδεσ (clusters) να μποροφν να ςυςςωρεφουν και να μειϊνουν τα δεδομζνα για να μειϊςουν τθν κατανάλωςθ ενζργειασ. Τα πρωτόκολλα που βαςίηονται ςτθν τοποκεςία εκμεταλλεφονται τισ πλθροφορίεσ των κζςεων των κόμβων για τθν μετάδοςθ των δεδομζνων ςτο ςωςτό αποδζκτθ. Τα παραπάνω φαίνονται γραφικά ςτθν εικόνα :

Εικόνα 10 Κατθγορίεσ πρωτοκόλλων δρομολόγθςθσ αςυρμάτων δικτφων

Εκτόσ από αυτι τθν κατθγοριοποίθςθ, τα πρωτόκολλα δρομολόγθςθσ διαχωρίηονται ςε άλλεσ τρεισ κατθγορίεσ (α) proactive, (β) reactive και (γ) hybrid ανάλογα με τον τρόπο που ο

Page 25: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

25

αποςτολζασ βρίςκει τθν διαδρομι για τον παραλιπτθ. Στα proactive πρωτόκολλα, όλεσ οι διαδρομζσ υπολογίηονται προτοφ χρειαςτοφν ενϊ ςτα reactive υπολογίηονται όταν ηθτθκοφν. Τα hybrid πρωτόκολλα χρθςιμοποιοφν ζνα ςυνδυαςμό αυτϊν των δφο ιδεϊν. Πταν ο κόμβοσ είναι ςτατικόσ, προτιμάται θ πρϊτθ μζκοδοσ (proactive) μζςω ενόσ πίνακα δρομολόγθςθσ. Τα reactive πρωτόκολλα δαπανοφν μεγάλα ποςά ενζργειασ για τθν ανεφρεςθ και κακοριςμό του αντίςτοιχου πίνακα δρομολόγθςθσ. Άλλοσ ζνα τφποσ πρωτοκόλλων είναι τα cooperative. Σε αυτοφ του τφπου τα πρωτόκολλα, οι κόμβοι ςτζλνουν τα δεδομζνα ςε ζνα κεντρικό κόμβο (base station) όπου ςυγκεντρϊνονται όλα και επεξεργάηονται. Άλλα πρωτόκολλα βαςίηονται ςτον ςυγχρονιςμό και ςτισ πλθροφορίεσ τθσ κζςθσ των κόμβων.

2.5 Αρχιτεκτονικό αιςθητόρων – motes

Ζνασ αιςκθτιριοσ κόμβοσ (mote) αποτελείται από 6 βαςικά ςτοιχεία (components), όπωσ φαίνονται και ςτθν εικόνα 12. Το κεντρικό ςτοιχείο είναι ο μικρο-ελεγκτισ (micro-controller). Σε αυτόν ςυνδζονται τα υπόλοιπα ςτοιχεία όπωσ θ εξωτερικι τροφοδοςία, ο πομποδζκτθσ, θ μνιμθ και ο αναλογικόσ-ςε-ψθφιακό μετατροπζασ (ADC). Στον ADC ςυνδζονται οι διάφοροι αιςκθτιρεσ. Ραρακάτω περιγράφονται αναλυτικά το κάκε ζνα ςτοιχείο [9],[14].

Εικόνα 11 Αρχιτεκτονικι αιςκθτιρων

(α) Ο μικρο-ελεγκτισ ( micro – controller )

Ο μικρο-ελεγκτισ παρζχει τθν υπολογιςτικι ιςχφ ςτον κόμβο. Διεκπεραιϊνει τισ διεργαςίεσ, επεξεργάηεται τα δεδομζνα και ελζγχει τθν λειτουργικότθτα άλλον ςτοιχείων του κόμβου. Αντί κάποιου μικρο-ελεγκτι ειδικοφ ςκοποφ μποροφν να χρθςιμοποιθκοφν επεξεργαςτζσ γενικοφ ςκοποφ, επεξεργαςτζσ ψθφιακϊν ςθμάτων, FPGA’s (field programmable gate arrays) και ενςωματωμζνα κυκλϊματα ανάλογα με τθν εφαρμογι (ASIC’s). Οι μικρο-ελεγκτζσ όμωσ είναι θ καταλλθλότερθ επιλογι για τθ χριςθ ςε ζνα mote και αυτό διότι είναι ευζλικτοι ςτισ ςυνδζςεισ με άλλεσ ςυςκευζσ, προγραμματιηόμενοι και χαμθλισ κατανάλωςθσ επειδι μποροφν να τεκοφν ςε κατάςταςθ «φπνου» (sleep state) ενϊ ζνα κομμάτι του ελεγκτι να λειτουργεί. Στουσ επεξεργαςτζσ γενικοφ ςκοποφ, θ κατανάλωςθ είναι μεγαλφτερθ, ζτςι δεν επιλζγονται ςτουσ κόμβουσ αιςκθτιρων. Οι επεξεργαςτζσ ψθφιακϊν ςθμάτων από τθν άλλθ, είναι κατάλλθλοι για ευριηωνικζσ αςφρματεσ επικοινωνίεσ. Πμωσ ςτα αςφρματα δίκτυα αιςκθτιρων οι επικοινωνίεσ είναι απλζσ και θ επεξεργαςία των ςθμάτων είναι λιγότερο πολφπλοκθ απ’ ότι θ επεξεργαςία των δεδομζνων από τουσ αιςκθτιρεσ. Η χριςθ FPGA’s μπορεί να διευκολφνει τον επαναπρογραμματιςμό ανάλογα με τισ απαιτιςεισ τθσ εφαρμογι, αλλά αυτό απαιτεί χρόνο και ενζργεια και δε ςυνιςτάται. Τζλοσ τα ASIC’s είναι επεξεργαςτζσ

Page 26: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

26

ςχεδιαςμζνοι για μια δεδομζνθ εφαρμογι, και υλοποιοφν τθ λειτουργικότθτα ςε επίπεδο υλικοφ ςε αντίκεςθ με τουσ μικρο-ελεγκτζσ που θ υλοποίθςθ γίνεται μζςω λογιςμικοφ.

(β) Ο πομποδζκτθσ ( transceiver)

Τα motes χρθςιμοποιοφν τθν ςυχνότθτα ISM (industrial, scientific, medicine) θ οποία διακζτει ελεφκερο και ευρφ φάςμα ςυχνοτιτων και διεκνι διακεςιμότθτα. Υπάρχει μεγάλθ γκάμα επιλογϊν για το μζςο μετάδοςθσ, όπωσ ςιματα ραδιοςυχνότθτασ (radio frequency RF), οπτικζσ επικοινωνίεσ (laser) και υπζρυκρεσ (infrared). Η επικοινωνίεσ με χριςθ laser καταναλϊνουν λιγότερθ ενζργεια αλλά χρειάηονται να ζχουν οπτικι επαφι (line of sight - LOS). Επίςθσ είναι ευαίςκθτεσ ςτισ κλιματολογικζσ ςυνκικεσ. Οι υπζρυκρεσ, όπωσ και οι οπτικζσ, δε χρειάηονται κεραία εκπομπισ, αλλά ζχει περιοριςμζνθ χωρθτικότθτα ςτθν εκπομπι. Ζτςι θ χριςθ των ραδιοςυχνοτιτων (RF) είναι θ πλζον κατάλλθλθ για εφαρμογζσ δικτφων αιςκθτιρων. Οι ςυχνότθτεσ που χρθςιμοποιοφνται από τα δίκτυα αυτά είναι μεταξφ των 433 MHz και 2,4 GHz. Η λειτουργία του πομποφ και του δζκτθ ςυνδυάηονται ςε μία μόνο ςυςκευι, γνωςτι και ωσ πομποδζκτθσ (transceiver). Οι καταςτάςεισ που μπορεί να πάρει το ςτοιχείο αυτό είναι : εκπομπι, λιψθ, αδρανισ και «φπνου». Η αδρανισ κατάςταςθ ζχει παρόμοια κατανάλωςθ με αυτι τθσ λιψθσ, ζτςι ςυνιςτάται να τίκενται ςε κατάςταςθ φπνου όταν δεν γίνεται κάποια μετάδοςθ ι λιψθ. Επίςθσ ζνα ςθμαντικό ποςό ενζργειασ καταναλϊνεται κατά τθν μετάβαςθ από τθν κατάςταςθ φπνου ςτθν κατάςταςθ μετάδοςθσ.

(γ) Εξωτερικι Μνιμθ (External Memory)

Από τθν ενεργειακι οπτικι, το πιο κατάλλθλο είδοσ μνιμθσ είναι οι ενςωματωμζνεσ ςτον μικρο-ελεγκτι μνιμεσ, ενϊ οι FLASH μνιμεσ εκτόσ του ελεγκτι δεν χρθςιμοποιοφνται τόςο ςυχνά ι και κακόλου. Οι μνιμεσ flash χρθςιμοποιοφνται λόγω του χαμθλοφ κόςτουσ και τθσ μεγάλθσ χωρθτικότθτασ. Οι απαιτιςεισ ςε μνιμθ είναι ανάλογεσ τθσ εκάςτοτε εφαρμογισ. Υπάρχουν δφο κατθγορίεσ μνθμϊν βαςιςμζνεσ ςτθν χριςθ τουσ: (α) μνιμθ που αφορά αποκικευςθ δεδομζνων του χριςτθ ι τθσ εφαρμογισ και (β) μνιμθ για τον προγραμματιςμό τθσ ςυςκευισ. Η μνιμθ επίςθσ περιζχει και δεδομζνα για τθν αναγνϊριςθ τθσ ςυςκευισ – όταν αυτά υπάρχουν.

(δ) Τροφοδοςία (Power Source)

Η κατανάλωςθ ενζργειασ ςτα motes γίνεται για τθ λειτουργία του αιςκθτιρα, τθν επικοινωνία και για τθν επεξεργαςία των δεδομζνων. Η μεγαλφτερθ κατανάλωςθ γίνεται κατά τθν μετάδοςθ των δεδομζνων, ενϊ θ δαπάνθ ενζργειασ για τθ ςυλλογι και τθν επεξεργαςία των δεδομζνων είναι μικρότερθ. Το ενεργειακό κόςτοσ για τθν μετάδοςθ ενόσ kb ςε απόςταςθ 100μ είναι περίπου όςο το κόςτοσ για τθν εκτζλεςθ 3 εκατομμυρίων εντολϊν από 100 εκατομμφρια εντολζσ το δευτερόλεπτο/W επεξεργαςτι. Η ενζργεια αποκθκεφεται είτε ςε μπαταρίεσ είτε ςε πυκνωτζσ. Οι μπαταρίεσ είναι θ κφρια πθγι για τα motes. Σφγχρονα motes υλοποιοφνται με τθν δυνατότθτα παραγωγισ ενζργειασ από τον ιλιο, τθ κερμότθτα ι τισ δονιςεισ. Για τθν μείωςθ τθσ κατανάλωςθσ χρθςιμοποιοφνται δφο τεχνικζσ. Η πρϊτθ είναι θ δυναμικι διαχείριςθ τθσ ενζργειασ (dynamic power management)

Page 27: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

27

κατά τθν οποία τα μζρθ του κόμβου τα οποία δεν χρθςιμοποιοφνται ι δεν είναι ενεργά αποκόπτονται. Η δεφτερθ είναι θ δυναμικι κλιμάκωςθ τθσ τάςθσ (dynamic voltage scaling) κατά τθν οποία ανάλογα με το φορτίο κατανζμεται και θ ιςχφσ. Με τθν εναλλαγι ςτθν τάςθ μαηί με τθν ςυχνότθτα είναι δυνατό να πετφχουμε τετραγωνικι μείωςθ ςτθν κατανάλωςθ τθσ ενζργειασ.

(ε) Αιςκθτιρεσ (Sensors)

Οι αιςκθτιρεσ είναι ςυςκευζσ που παράγουν μετριςιμεσ αποκρίςεισ ςε αλλαγζσ μιασ φυςικισ κατάςταςθσ όπωσ θ κερμοκραςία και θ πίεςθ. Το ςυνεχζσ αναλογικό ςιμα μετατρζπεται ςε ψθφιακό ςιμα το οποίο αντιλαμβάνεται ο επεξεργαςτισ μζςω ενόσ αναλογικοφ-ςε-ψθφιακό μετατροπζα (ADC) το οποίο ςτζλνεται ςτον ελεγκτι για περεταίρω επεξεργαςία.

Τα χαρακτθριςτικά και οι απαιτιςεισ για τουσ αιςκθτιρεσ είναι παρόμοια με το υπόλοιπο ςφςτθμα όπωσ μικρό μζγεκοσ, εξαιρετικά μικρι κατανάλωςθ ενζργειασ, τθ δυνατότθτα αυτόνομθσ λειτουργίασ και προςαρμοςτικότθτα ανάλογα με το περιβάλλον. Το γεγονόσ ότι οι αςφρματοι αιςκθτιρεσ είναι μικρο-θλεκτρονικζσ ςυςκευζσ κζτει όρια ςτθν τροφοδοςία ( 0.5Ah και 1.2V ). Οι αιςκθτιρεσ κατθγοριοποιοφνται ςε τρείσ κατθγορίεσ.

Ρακθτικοί, μθ-κατευκυντιριοι αιςκθτιρεσ. Ρακθτικοί αιςκθτιρεσ ςυλλζγουν δεδομζνα χωρίσ να παραποιοφν το περιβάλλον. Είναι αυτό-τροφοδοτοφμενοι και θ μόνθ ιςχφσ που χρειάηεται είναι για τθν ενίςχυςθ του ςιματοσ. Δεν υπάρχει ζννοια «κατεφκυνςθσ» ςτισ μετριςεισ.

Ρακθτικοί, περιοριςμζνθσ δζςμθσ αιςκθτιρεσ. Αυτοί οι αιςκθτιρεσ είναι πακθτικοί αλλά ζχουν πολφ καλά κακοριςμζνθ τθν ζννοια τθσ κατεφκυνςθσ ςτισ μετριςεισ. Τυπικό παράδειγμα θ κάμερα.

Ενεργοί αιςκθτιρεσ. Αυτοί οι αιςκθτιρεσ ςυλλζγουν δεδομζνα ενεργά από το περιβάλλον, για παράδειγμα το ραντάρ ι κάποιοι τφποι ςειςμικϊν αιςκθτιρων, οι οποίοι δθμιουργοφν αιφνίδια κφματα από μικρζσ εκριξεισ.

2.6 Εμπορικϊ μοντϋλα motes – τεχνικϊ χαρακτηριςτικϊ

Ανάλογα τθν εφαρμογι υπάρχουν διαφορετικοί εμπορικοί τφποι κόμβων (nodes) που καταςκευάηονται από διάφορεσ εταιρείεσ. Οι τφποι αυτοί είναι : (α) ειδικοφ ςκοποφ, (β) γενικοφ ςκοποφ, (γ) υψθλοφ εφρουσ ηϊνθσ και (δ) πφλεσ δικτφου (gateways). Κάκε τφποσ είναι εξοπλιςμζνοσ με το αντίςτοιχο υλικό ϊςτε πραγματοποιεί τθν λειτουργία για τθν οποία ζχει υλοποιθκεί. Οι ειδικοφ ςκοποφ κόμβοι ςχεδιάηονται ζτςι ϊςτε να κυςιάηεται θ ευελιξία τουσ ςε βάροσ του μεγζκουσ και του κόςτουσ. Οι γενικοφ ςκοποφ κόμβοι παρζχουν ζνα ευρφ φάςμα διαςυνδζςεων και ευελιξία ςτθν επικοινωνία με ζνα ςφνολο αιςκθτιρων. Οι υψθλοφ εφρουσ ηϊνθσ κόμβοι ενςωματϊνουν λειτουργίεσ που τουσ επιτρζπουν να επεξεργάηονται πολφπλοκεσ ςειρζσ δεδομζνων όπωσ βίντεο και ομιλίεσ. Τζλοσ, οι κόμβοι που υλοποιοφν τισ πφλεσ και παρζχουν τθν ςφνδεςθ μεταξφ του δικτφου των αιςκθτιρων και παραδοςιακϊν τφπων δικτφου, όπωσ το Ethernet, το 802.11 και άλλα δίκτυα ευρείασ περιοχισ (WAN’s). Τα χαρακτθριςτικά αυτά παρουςιάηονται γραφικά ςτθν εικόνα 13 [10].

Page 28: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

28

Εικόνα 12 Γράφθμα τφπων Αιςκθτιρων

Ραρακάτω παρουςιάηονται αναλυτικά τα διάφορα εμπορικά μοντζλα με τα τεχνικά

χαρακτθριςτικά τουσ ανάλογα τον τφπο τουσ. (α) Ειδικοφ Σκοποφ (special purpose) Ζνασ κόμβοσ ειδικοφ ςκοποφ που καταςκευάςτθκε το 2003 από το UC Berkeley είναι

ο Spec Mote [11]. Οι μικροςκοπικζσ διαςτάςεισ του είναι το επόμενο βιμα προσ τα δίκτυα «ζξυπνθσ ςκόνθσ» (smart dust). Η ιδζα τθσ ςφνδεςθσ επικοινωνιακϊν ςτοιχείων, αιςκθτιρων και επεξεργαςίασ των δεδομζνων υλοποιικθκε ςε διάφορα πρωτότυπα από το πανεπιςτιμιο του Berkeley. Ο Spec είναι ο πρϊτοσ κόμβοσ που ενςωματϊνει ράδιο-επικοινωνία (RF). Οι διαςτάςεισ του είναι περίπου 2mm2 X 2,5mm2. Τo Spec είναι ζνα ολοκλθρωμζνο με πυρινα ζνα RISC επεξεργαςτι και 3Kbytes μνιμθ. Για τθν επικοινωνία χρθςιμοποιεί τθν ςυχνότθτα των 902.4 MHz και ςτζλνει δεδομζνα ςε απόςταςθ περίπου 12 μζτρων και με ρυκμό 19.2 Kbps ςε εςωτερικό χϊρο. Άλλο ζνα Mote on Chip (MoC) καταςκευάςτθκε από τθν Dust Inc. Το μοντζλο είναι το DN2510 με διαςτάςεισ 12 Χ 12 mm, εκπζμπει ςτα 2,4GHz και με μζγιςτο ρυκμό τα 250Kbps ενϊ θ εμβζλειά του φτάνει τα 300μζτρα ςε εξωτερικό χϊρο.

Εικόνα 13 Ο κόμβοσ Dust

(β) Γενικοφ Σκοποφ (generic) Στθν κατθγορία αυτι υπάρχουν πολλζσ εταιρείεσ που ζχουν καταςκευάςει κόμβουσ.

Οι βαςικότερεσ είναι θ crossbow, θ mote-iv, θ Intel και θ Dust Inc. Από τθν Crossbow [13] το πρϊτο μοντζλο που καταςκευάςτθκε ιταν το WeC, το 1998, και ακολοφκθςε το Rene Ι το 1999. Η δεφτερθ γενιά Rene II, το 2000, με άλλθ γενιά επεξεργαςτι, μεγαλφτερθ μνιμθ και μικρότερο χρόνο εκκίνθςθσ (wakeup time). Τθν ίδια χρονιά και με παρόμοια χαρακτθριςτικά καταςκευάςτθκε το Dot το οποίο είχε ενςωματωμζνο αιςκθτιρα. Η νζα γενιά ιρκε με τθ ςειρά Mica (Mica, Mica2Dot, Mica 2, MICAz) με μεγαλφτερθ μνιμθ (128ΚΒ), νζο ολοκλθρωμζνο για πομποδζκτθ (το CC1000 ζναντι του TR1000) αλλά με ελαφρϊσ μεγαλφτερθ κατανάλωςθ ιςχφοσ. Από τθν mote-iv κυκλοφοροφν τα μοντζλα Telos a & b και το Tmote-sky. Διακζτουν επεξεργαςτι MSP430 από τθν Texas Instruments ζναντι

Page 29: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

29

των επεξεργαςτϊν τθσ Atmel για τα προθγοφμενα μοντζλα. Επίςθσ θ κατανάλωςι είναι ςαφϊσ μικρότερθ και διακζτουν και USB ςφνδεςθ ζναντι των απλϊν ςειριακϊν RS232 και IEEE – 1284. Επίςθσ χρθςιμοποιείται και το ολοκλθρωμζνο CC2420 για τθν επικοινωνία. Τα χαρακτθριςτικά των μοντζλων τθσ mote-iv και κυρίωσ του Tmote-sky κα αναλυκοφν ςε βάκοσ ςτο επόμενο κεφάλαιο.

Εικόνα 14 Κόμβοι γενικοφ ςκοποφ (μικροφ μεγζκουσ)

(γ) Υψθλοφ εφρουσ ηϊνθσ (high bandwidth) Οι υψθλοφ εφρουσ ηϊνθσ κόμβοι, οι οποίοι επεξεργάηονται δεδομζνα ιχου, βίντεο και χθμικϊν διεργαςιϊν, χρειάηονται περιςςότερεσ υπολογιςτικζσ και επικοινωνιακζσ πθγζσ. Επίςθσ, ςε μερικζσ περιπτϊςεισ, ίςωσ απαιτοφν και εξωτερικι τροφοδοςία όταν είναι να λειτουργιςουν για μεγάλθ διάρκεια. Τζτοιουσ κόμβουσ καταςκευάηει θ Intel και θ ΒΤnodes [12]. Ο ςτόχοσ του προγράμματοσ τθσ Intel είναι να ςχεδιάςει ζνα mote με περιςςότερθ υπολογιςτικι ιςχφ, ψθφιακι επεξεργαςία ςιματοσ, πιο αξιόπιςτο αςφρματο ςφςτθμα και καλφτερα χαρακτθριςτικά αςφαλείασ. Τα Mote τθσ Intel αποτελοφνται από επεξεργαςτι ARM, SRAM και flash μνιμθ. Για τθν επικοινωνία με άλλα motes χρθςιμοποιοφν τθν τεχνολογία Bluetooth.

Εικόνα 15 Υψθλοφ εφρουσ ηϊνθσ (high bandwidth)

(δ) Gateway Ο τφποσ αυτϊν των mote παρζχει τισ απαραίτθτεσ διαςυνδζςεισ (interfaces) -

Ethernet, WiFi, USB και ςειριακό - ϊςτε να επικοινωνεί το δίκτυο των motes με ζνα βιομθχανικό, εταιρικό ι άλλο δίκτυο, ακόμθ και με ζνα απλό υπολογιςτι. Από τθν εταιρεία Crossbow υπάρχουν 3 βαςικζσ πλατφόρμεσ για gateway που παρζχουν είτε RS-232, είτε USB είτε Ethernet διαςφνδεςθ (ΜΙΒ 510,520,600) [13]. Ζνα ακόμα gateway node είναι το Stargate NetBridge το οποίο είναι ζνα ενςωματωμζνο gateway για δίκτυα αιςκθτιρων. Είναι βαςιςμζνο ςτον επεξεργαςτι τθσ Intel ΙΧ 420 XScale και «τρζχει» Debian Linux λειτουργικό. Ζχει 32MB RAM, δίςκο 2GB Flash, μία κφρα Ethernet και δφο USB 2.0.

Page 30: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

30

Εικόνα 16 Κόμβοσ Gateway

Συνοπτικά όλα τα μοντζλα με τα τεχνικά τουσ χαρακτθριςτικά [9]:

Λίςτα Κόμβων Αιςκθτιρων και motes που κυκλοφοροφν ςτθν αγορά Όνομα Επεξεργαςτισ Πομποδζκτθσ Μνιμθ

(εςωτ.) Μνιμθ (εξωτ.)

Προγραμματιςμόσ

παρατθριςεισ

BEAN MSP430F169 CC1000 (300-1000 MHz) with 78.6

kbit/s

4 Mbit YATOS Support

BTnode Atmel ATmega 128L (8 MHz @

8 MIPS)

Chipcon CC1000 (433-915 MHz) and Bluetooth (2.4

GHz)

64+180 K RAM

128K FLASH

ROM, 4K EEPROM

C and NesC Programmi

ng

BTnut and TinyOS support

COTS ATMEL Microcontroller

916 MHz

Dot ATMEGA163 1K RAM 8-16K Flash

WeC

Eyes MSP430F149 TR1001 8 Mbit PeerOS Support

EyesIFX v1 MSP430F149 TDA5250 (868 MHz) FSK

8 Mbit TinyOS Support

EyesIFX v2 MSP430F1611 TDA5250 (868 MHz) FSK

8 Mbit TinyOS Support

GWnode PIC18LF8722 BiM (173 MHz) FSK

64k RAM

128k flash C Custom OS

IMote ARM core 12 MHz

Bluetooth with the range of

30m

64K SRAM

512K Flash

TinyOS Support

IMote 1.0 ARM 7TDMI 12-48 MHz

Bluetooth with the range of

30m

64K SRAM

512K Flash

TinyOS Support

IMote 2.0 Marvel PXA271 ARM 11-400

MHz

TI CC2420 802.15.4/ZigBee compliant

radio

32MB SRAM

32MB Flash

Microsoft .NET Micro,

Linux, TinyOS Support

Iris ATmega1281 Atmel AT86RF230

802.15.4/ZigB

8K RAM 128K Flash

NesC TinyOS, MoteWorks Support

Page 31: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

31

ee compliant radio

KMote TI MSP430 microcontroller

250 kbit/s 2.4 GHz IEEE 802.15.4 Chipcon Wireless

Transceiver

10k RAM

48k Flash TinyOS and SOS

Support

Mica Atmel ATMEGA103 4 MHz 8-bit CPU

RFM TR1000 radio 50 kbit/s

128+4K RAM

512K Flash

NesC Programmi

ng

TinyOS Support

Mica2 ATMEGA 128L Chipcon 868/916 MHz

4K RAM 128K Flash

TinyOS, SOS and

MantisOS Support

Mica2Dot ATMEGA 128 4K RAM 128K Flash

MICAz ATMEGA 128 TI CC2420 802.15.4/ZigBee compliant

radio

4K RAM 128K Flash

NesC TinyOS, SOS,

MantisOS and Nano-RK Support

Mulle Renesas M16C Bluetooth 2.0 31K RAM

384K+4K Flash, 2

MB EEPROM

C programmi

ng

TCP/IP and Bluetooth Profiles:

LAP, DUN, PAN and

SPP Support

Nymph ATMEGA128L CC1000 64 kB EEPROM

MantisOS Support

Rene ATMEL8535 916 MHz radio with

bandwidth of 10 kbit/s

512 bytes RAM

8K Flash TinyOS Support

SenseNode MSP430F1611 Chipcon CC2420

10K RAM

48K Flash C and NesC programmi

ng

GenOS

and

TinyOS

Support

Spec 4-8 MHz Custom 8-bit

processor (AVR-

like RISC)

CC1000 3K Ram C TinyOS

SunSPOT ARM 920T 802.15.4 512K RAM

4 MB Flash

Java Squawk J2ME

Virtual Machine

Telos Motorola HCS08 4K RAM TelosB Texas

Instruments MSP430

250 kbit/s 2.4 GHz IEEE 802.15.4

10k RAM

48k Flash Contiki, TinyOS, SOS and

Page 32: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

32

microcontroller Chipcon Wireless

Transceiver

MantisOS Support

T-Mote Sky Texas Instruments

MSP430 microcontroller

250 kbit/s 2.4 GHz IEEE 802.15.4 Chipcon Wireless

Transceiver

10k RAM

48k Flash Contiki, TinyOS, SOS and

MantisOS Support

WeC Atmel AVR AT90S2313

RFM TR1000 RF

XYZ ML67 series ARM/THUMB

microcontroller

CC2420 ZigBee compliant radio from

Chipcon

32K RAM

256K Flash

C Programmi

ng

SOS Operating

System Support

FireFly Atmel ATmega 1281

Chipcon CC2420

8K RAM 128K FLASH

ROM, 4K EEPROM

C Programmi

ng

Nano-RK RTOS

Support

2.7 Λογιςμικό αιςθητόρων – motes

Ζνα ςθμαντικό κομμάτι για τθν υλοποίθςθ των αςφρματων δικτφων αιςκθτιρων είναι ο ςχεδιαςμόσ του λογιςμικοφ το οποίο ενϊνει το κενό μεταξφ των δυνατοτιτων του υλικοφ (hardware) και ενόσ ολοκλθρωμζνου ςυςτιματοσ [15]. Αυτό κζτει πολλζσ απαιτιςεισ ςτο λογιςμικό. Ρρζπει να είναι αποτελεςματικό ςε ςχζςθ με τισ απαιτιςεισ για μνιμθ, επεξεργαςτικι ιςχφ και κατανάλωςθ ιςχφοσ ϊςτε να καλφπτονται οι προδιαγραφζσ τθσ εφαρμογισ. Θα πρζπει να ζχει τθ δυνατότθτα να επιτρζπει ςε πολλαπλζσ εφαρμογζσ να χρθςιμοποιοφν τουσ πόρουσ του ςυςτιματοσ όπωσ επικοινωνία, επεξεργαςία και μνιμθ. Οι ςκλθροί περιοριςμοί αυτϊν των ςυςκευϊν κάνουν ανζφικτθ τθ χριςθ κλαςςικϊν λειτουργικϊν ςυςτθμάτων. Ζτςι δθμιουργικθκαν ειδικά ςυςτιματα για τθ χριςθ ςε δίκτυα αιςκθτιρων. Τρία από αυτά είναι το TinyOS [16], το Contiki [17] και το RETOS [18].

2.7.1. TinyOS 1.x

Το λειτουργικό ςφςτθμα TinyOS 1.x αποτελεί ζνα από τα πρϊτα περιβάλλοντα λογιςμικοφ που ςχεδιάςτθκαν ςυγκεκριμζνα για να ικανοποιιςουν τισ απαιτιςεισ των κατανεμθμζνων ενςωματωμζνων ςυςτθμάτων περιοριςμζνων πόρων. Σχεδιάςτθκε ςτο Ρανεπιςτιμιο Berkeley και ζχει γίνει από τότε το πιο δθμοφιλζσ λειτουργικό ςφςτθμα για τα αςφρματα δίκτυα αιςκθτιρων. Η «ανοιχτι» του δομι (open-source) δίνει πολλζσ δυνατότθτεσ ςτο χριςτθ όςον αφορά τον ζλεγχο και χειριςμό του υλικοφ, πράγμα το οποίο το αναδεικνφει ςε ςτοιχειϊδεσ λειτουργικό για το ςυγκεκριμζνο τφπο ςυςκευϊν. Βαςίηεται ςτθν αρχιτεκτονικι των components, θ οποία κάνει δυνατι τθν γριγορθ υλοποίθςθ καινοτόμων εφαρμογϊν ενϊ παράλλθλα ελαχιςτοποιεί το μζγεκοσ του κϊδικα που απαιτείται. Τα components του TinyOS περιζχουν πρωτόκολλα δικτφου, κατανεμθμζνεσ υπθρεςίεσ, οδθγοφσ αιςκθτιρων και εργαλεία ανάκτθςθσ δεδομζνων τα οποία μποροφν να χρθςιμοποιθκοφν ωσ ζχει ι να τροποποιθκοφν κατά το δοκοφν μιασ και το λειτουργικό είναι ανοικτοφ κϊδικα. Το μοντζλο εκτζλεςθσ των διεργαςιϊν είναι event-driven. Χάρθ ςε

Page 33: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

33

αυτό μποροφμε να πετφχουμε καλφτερθ διαχείριςθ τθσ ενζργειασ μζςω τθσ ευελιξίασ που παρζχεται ςτον προγραμματιςμό (scheduling) των διεργαςιϊν. Το TinyOS ζχει ειςαχκεί ςε αρκετζσ πλατφόρμεσ και αμζτρθτα sensor boards. Μια ευρεία κοινότθτα το χρθςιμοποιεί ςε εξομοιωτζσ (tossim) για τθν δθμιουργία και δοκιμι αλγορίκμων και πρωτοκόλλων.

2.7.2. TinyOS 2.0

Η εξζλιξθ του TinyOS 1.x ιρκε με τθν δθμοςίευςθ του TinyOS 2.0. Η δομι και οι διεπαφζσ του 1.x ζχουν αρκετοφσ βαςικοφσ περιοριςμοφσ. Το TinyOS 2.0 δεν είναι ςυμβατό με το 1.x με τθν ζννοια ότι προγράμματα γραμμζνα ςτο 1.x δεν τρζχουν ςτο 2.0. Ωςτόςο, ζνα ςθμαντικό ςθμείο του ςχεδιαςμοφ του 2.0 είναι θ ελαχιςτοποίθςθ τθσ δυςκολίασ αναβάκμιςθσ του κϊδικα. Για αυτό, θ ειςαγωγι μιασ εφαρμογισ 1.x ςτο 2.0 κα απαιτιςει ελάχιςτθ δουλειά.

Η αρχιτεκτονικι του TOS 2.0 βελτιϊνει προβλιματα που αφοροφςαν κρίςιμεσ περιοχισ φορθτότθτασ, αξιοπιςτίασ και ανκεκτικότθτασ ςε ςφάλματα. Ειςάγει νζουσ ςχεδιαςμοφσ που αφοροφν ςφςτθμα χρονιςμοφ, επικοινωνία με ενεργά μθνφματα (active messages), νζεσ πλατφόρμεσ αιςκθτιρων κ.ά.

Ωσ προσ τθ φορθτότθτα (portability), το TinyOS 2.0 υποςτθρίηει μεγαλφτερθ ευελιξία ςτο χειριςμό των δυνατοτιτων του υλικοφ που χρθςιμοποιείται, με διάφορουσ τρόπουσ. Ρρϊτον, ειςάγει μια αρχιτεκτονικι υλικοφ τριϊν επιπζδων, θ οποία κζτει τουσ κανόνεσ ςφνκεςθσ των επιμζρουσ τμθμάτων (components) που μοιράηονται του πόρουσ του υλικοφ. Το πρϊτο επίπεδο αποτελεί το επίπεδο παρουςίαςθσ υλικοφ (Hardware Presentation Layer – HPL) το οποίο παρζχει πρόςβαςθ ςε βαςικοφσ πόρουσ, όπωσ καταχωρθτζσ και διακοπζσ (interrupts) μζςω αντίςτοιχων διεπαφϊν . Το δεφτερο αποτελεί το επίπεδο απομόνωςθσ υλικοφ (Hardware Abstraction Layer - HAL) που ζχει υψθλότερου επιπζδου διεπαφζσ οι οποίεσ παρζχουν ςφνολα από πλιρθσ δυνατότθτεσ του υλικοφ. Το δε τρίτο είναι το επίπεδο που είναι ανεξάρτθτο από το υλικό (Hardware Independent Layer - HIL) το οποίο παρζχει δυνατότθτεσ πρόςβαςθσ ςε ανεξάρτθτα ευρφτερα τμιματα υλικοφ. Επίςθσ, ειςάγεται θ ζννοια των chips, διαιρϊντασ ςε κομμάτια το κακζνα από τα παραπάνω επίπεδα και προςδίδοντασ ακόμα μεγαλφτερθ ευελιξία. Τζλοσ, χρθςιμοποιείται μια βελτιωμζνθ ζκδοςθ τθσ γλϊςςασ προγραμματιςμοφ NesC, θ οποία παρζχει νζα χαρακτθρίςτθκα και δυνατότθτεσ όςον αφορά τισ δυνατότθτεσ χειριςμοφ τθσ τροποποιθμζνθσ αρχιτεκτονικισ του TinyOS 2.0. Πςον αφορά τϊρα τθν ανκεκτικότθτα ςε ςφάλματα (robustness) και τθν αξιοπιςτία (reliability), το TinyOS 2.0 παρζχει βελτιϊςεισ ανακεωρϊντασ κάποια χαρακτθριςτικά του TinyOS 1.x, όπωσ αρχικοποίθςθ, τρόποσ εκτζλεςθσ των διεργαςιϊν και χειριςμόσ των πόρων και τθσ ενζργειασ.

2.7.3. Contiki

Το Contiki είναι και αυτό ζνα ανοικτοφ κϊδικα, φορθτό και πολυεπεξεργαςτικό (multi-tasking) λειτουργικό ςφςτθμα για δικτυακά ενςωματωμζνα ςυςτιματα με περιοριςμοφσ ςτθν μνιμθ. Δεν υποςτθρίηεται από τα MICA, και από τα TELOS, μόνο από το T-mote Sky. Μια τυπικι ρφκμιςθ ςτο Contiki απαιτεί 2Kbytes RAM και 40 Kbytes ROM. Το Contiki περιζχει δφο ςτοίβεσ επικοινωνιϊν (stacks): uIP και Rime. Η ςτοίβα uIP είναι ςυμβατό με τθ ςτοίβα TCP/IP, θ οποία επιτρζπει ςτο Contiki να επικοινωνεί μζςω του Internet. Σε αντίκεςθ θ ςτοίβα Rime είναι ςχεδιαςμζνθ για μεταδόςεισ χαμθλισ κατανάλωςθσ που παρζχει μεγάλο εφροσ πρωτοκόλλων.

Page 34: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

34

Το Contiki αποτελείται από ζναν event driven πυρινα, πάνω ςτον οποίο φορτϊνονται και αποδεςμεφονται δυναμικά οι εφαρμογζσ. Οι διεργαςίεσ χρθςιμοποιοφν τα ελαφριά Protothreads [19],[20] τα οποία παρζχουν γραμμικό, νθματοειδι προγραμματιςμό ςε C. Τα Protothreads είναι εξαιρετικά ελαφριά νιματα ςχεδιαςμζνα για ςυςτιματα με πολφ ιςχυροφσ περιοριςμοφσ ςε μνιμθ, όπωσ είναι τα ενςωματωμζνα ςυςτιματα ι τα δίκτυα αιςκθτιρων. Ωςτόςο, ειςάγεται και θ ζννοια τθσ πολφ-νθματικισ λειτουργίασ και υλοποιοφνται εφαρμογζσ που βαςίηονται ςε μια τζτοια λειτουργία, όπου κάκε νιμα ζχει τθ δικι του ξεχωριςτι ςτοίβα. Τζλοσ, ςτο Contiki υπάρχει παρόμοια με το TinyOS αρχιτεκτονικι όςον αφορά τθ διαχείριςθ του υλικοφ, παρουςιάηοντασ οριςμζνεσ διαφορζσ κατά τον τρόπο προςπζλαςισ του, όπωσ υπαγορεφουν τα παραπάνω χαρακτθριςτικά του λειτουργικοφ αυτοφ.

2.7.4. RETOS

Τα αρχικά RETOS ςθμαίνουν Resilient, Expandable and Threaded Operating System, δθλαδι ζνα λειτουργικό ςφςτθμα ανκεκτικό / ελαφρφ, επεκτεινόμενο και με νιματα. Το RETOS δθμιουργικθκε ςτο πανεπιςτιμιο Yonsei. Ραρζχει πολφ-νθματικό προγραμματιςτικό περιβάλλον, ανκεκτικότθτα, επεκτεινόμενο πυρινα με δυναμικι επαναρφκμιςθ και αφαιρετικότθτα βαςιςμζνθ ςτα αςφρματα δίκτυα αιςκθτιρων, ότι ακριβϊσ ορίηεται και από το όνομά του.

2.8 Περύληψη

Σε αυτό το κεφάλαιο παρουςιάςτθκαν διάφορεσ εφαρμογζσ τισ οποίεσ μποροφμε να υλοποιιςουμε βαςιηόμενοι ςτισ δυνατότθτεσ που μασ δίνουν τα αςφρματα δίκτυα αιςκθτιρων. Αυτζσ περιλαμβάνουν ιατρικζσ, περιβαλλοντικζσ, ςτρατιωτικζσ και βιομθχανικζσ εφαρμογζσ. Για να πραγματοποιθκοφν όμωσ αυτζσ οι εφαρμογζσ, το κάκε δίκτυο πρζπει να δομθκεί βάςθ κάποιασ τοπολογίασ. Είδαμε ότι για τα αςφρματα δίκτυα θ βζλτιςτθ λφςθ είναι θ ad-hoc τοπολογία. Στθ ςυνζχεια είδαμε τα λειτουργικά ςτοιχεία από τα οποία αποτελείται ζνασ κόμβοσ δικτφου αιςκθτιρων και τα διάφορα εμπορικά μοντζλα που κυκλοφοροφν. Τζλοσ αναφζρκθκαν τα διάφορα λειτουργικά ςυςτιματα τα οποία ζχουν αναπτυχκεί για να υποςτθρίξουν τα δίκτυα αιςκθτιρων. Σθμαντικότερο από αυτά είναι το TinyOS.

Page 35: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

35

Κεφϊλαιο 3 – Πρωτόκολλα

προςπϋλαςησ μϋςου (MAC) για

Αςύρματα Δύκτυα Αιςθητόρων

3.1 Ειςαγωγό

Το πρωτόκολλο προςπζλαςθσ μζςου (medium Access Control – MAC) είναι ζνα υποεπίπεδο του επιπζδου ςφνδεςθσ δεδομζνων όπωσ ορίηονται από το μοντζλο OSI. Ραρζχει διευκυνςιοδότθςθ και μθχανιςμοφσ ελζγχου προςπζλαςθσ του καναλιοφ το οποίο κακιςτά δυνατι τθν επικοινωνία μεταξφ τερματικϊν ι κόμβων δικτφου. Το υποεπίπεδο MAC δρα ωσ διεπαφι μεταξφ του υποεπιπζδου ελζγχου λογικισ ςφνδεςθσ (logical link control – LLC) και του φυςικοφ επιπζδου (PHY). Το MAC εξομοιϊνει ζνα δικατευκυντιριο λογικό κανάλι επικοινωνίασ ςε δίκτυο πολλϊν ςθμείων. Το κανάλι μπορεί να παρζχει υπθρεςίεσ μονό-εκπομπισ (unicast), πολυεκπομπισ (multicast) ι ευρείασ εκπομπισ (broadcast).

Τα αςφρματα δίκτυα αιςκθτιρων ςυνικωσ περιζχουν διαφορετικζσ μετριςεισ απόδοςθσ που ςχετίηονται με τθ χαμθλι κατανάλωςθ ιςχφοσ και χαμθλό κόςτοσ ςε αντίκεςθ με τα κοινά δίκτυα δεδομζνων όπου μετρϊνται θ αποτελεςματικότθτα του καναλιοφ και τθσ μετάδοςθσ. Η ενζργεια καταναλϊνεται κάκε φορά που μια ςυςκευι προςπελαφνει το μζςο (είτε για αποςτολι είτε για λιψθ), ζτςι θ μζκοδοσ που γίνεται θ προςπζλαςθ ζχει ςθμαντικι επίπτωςθ ςτθν κατανάλωςθ. Το επικοινωνιακό μζςω (ςτθν περίπτωςι μασ ο αζρασ) ζχει διάφορεσ διαςτάςεισ που μποροφν να εκμεταλλευτοφν για τον ζλεγχο προςπζλαςθσ, όπωσ είναι ο χρόνοσ, θ ςυχνότθτα και θ κωδικοποίθςθ. Επίςθσ, αρκετζσ φυςικζσ παράμετροι των ίδιων των ςυςκευϊν μποροφν να χρθςιμοποιθκοφν όπωσ θ κατεφκυνςθ τθσ κεραίασ, θ ζνταςθ τθσ εκπεμπόμενθσ ιςχφοσ και θ ευαιςκθςία τθσ λιψθσ.

Υπάρχει μια λεπτι μα ςθμαντικι διαφορά μεταξφ του πρωτοκόλλου προςπζλαςθσ μζςου (medium access) και του πρωτοκόλλου πολλαπλισ προςπζλαςθσ (multiple access). Τα πρωτόκολλα πολλαπλισ προςπζλαςθσ εκτόσ των λφςεων απλϊν προβλθμάτων MAC επιπζδου, παρζχουν υπθρεςίεσ πολλαπλϊν και ταυτόχρονων επικοινωνιακϊν ςυνδζςεων. Αυτό όμωσ απαιτεί πολλαπλά λογικά κανάλια και δθμιουργεί άλλα προβλιματα διαχείριςθσ των καναλιϊν. Τα πρωτόκολλα πολλαπλισ προςπζλαςθσ είναι επομζνωσ ζνα υποςφνολο των πρωτοκόλλων προςπζλαςθσ μζςου. Στθ ςυνζχεια αναλφονται μερικά από τα πρωτόκολλα που χρθςιμοποιοφνται ςτα δίκτυα αιςκθτιρων [25], [26], [27].

Page 36: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

36

Εικόνα 17 Κατθγοριοποίθςθ MAC πρωτοκόλλων

3.2 Sensor-MAC

Το sensor – MAC προτάκθκε από τουσ Ye, Heidemann και Estrin ςτο «An energy-efficient MAC protocol for wireless sensor networks» [21]. Το SMAC είναι ζνα παράδειγμα πολφπλεξθσ ςτο χρόνο (time division multiplexing). Ζνα μεγάλο διάςτθμα χρόνου διαιρείται ςε ενεργό χρόνο ακρόαςθσ (listening) και «φπνου» (sleeping). Στθν περίοδο ακρόαςθσ, όλοι οι κόμβοι που ανικουν ςε μια ομάδα (cluster) κα αφυπνιςτοφν ταυτόχρονα. Ο χρόνοσ αυτόσ πρζπει να είναι αρκετόσ ϊςτε να χειριςτοφν όλεσ οι επικοινωνιακζσ ανάγκεσ του δικτφου για τθν χειρότερθ κατάςταςθ (worst case). Εάν αυτόσ ο χρόνοσ επιλεχκεί μικρόσ, οι κόμβοι κα αναγκαςτοφν να αποκθκεφςουν τα εξερχόμενα πακζτα μζχρι τθν επόμενθ περίοδο ακρόαςθσ. Λόγω όμωσ των μικρϊν δυνατοτιτων αποκικευςθσ ςτουσ κόμβουσ αιςκθτιρων, μια λφςθ αλλαγισ τθσ κίνθςθσ (traffic shaping) δεν κα λειτουργοφςε. Ζτςι θ δυνατότθτεσ του SMAC για εξοικονόμθςθ ενζργειασ είναι ο προςδιοριςμόσ του λόγου μεταξφ τθσ ενεργθτικισ και πακθτικισ περιόδου. Το πλεονζκτθμα ενόσ ςυνικουσ ενεργοφ χρόνου είναι ότι μπορεί να πραγματοποιθκεί επικοινωνία μεταξφ μεγάλου αρικμοφ κόμβων, για παράδειγμα να γίνει μια κατανεμθμζνθ επεξεργαςία μεταξφ γειτονικϊν κόμβων.

Τα προβλιματα που ζλυςε το SMAC ςε ςχζςθ με τθν ςπατάλθ ενζργειασ είναι :

Συγκροφςεισ πλαιςίων: όταν ςυγκροφονται τα πλαίςια, πρζπει να επανεκπεμφκοφν με επιπρόςκετο κόςτοσ.

Overhearing: όταν μια ςυςκευι του δικτφου λαμβάνει ζνα πλαίςιο που προορίηεται για άλλθ, είναι ςπατάλθ ενζργειασ, αφοφ κα μποροφςε να μπει ςε αναμονι.

Overhead ςτο πλαίςιο ελζγχου: από τθ ςτιγμι που χρειάηεται μια δαπάνθ ενζργειασ, αλλά χωρίσ να είναι κακαρι μετάδοςθ πλθροφορίασ, είναι επιπλζον κόςτοσ ενζργειασ.

Αδρανισ ακρόαςθ (idle listening): θ παρακολοφκθςθ του καναλιοφ για πικανι λιψθ μθνυμάτων που ςτθν πραγματικότθτα δεν ςτζλνονται, αντιπροςωπεφει ακόμθ μια μορφι ςπατάλθσ ενζργειασ. Αυτόσ ο τφποσ απϊλειασ ενζργειασ είναι κυρίωσ ςε δίκτυα που χρθςιμοποιοφν CSMA πρωτόκολλα.

Το SMAC εκμεταλλεφεται λίγθ από τθν αμερολθψία (fairness) των μθνυμάτων και τθν

κακυςτζρθςθ για τθ μείωςθ τθσ κατανάλωςθσ. Θεωρεί ότι το δίκτυο αιςκθτιρων αποτελείται από μεγάλο αρικμό ςυςκευϊν, που χρθςιμοποιεί δρομολόγθςθ πολλαπλϊν

Page 37: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

37

βθμάτων (Multihop) και ότι οι παραλιπτεσ των μθνυμάτων κατανζμονται ομοιόμορφα (δεν υπάρχει κάποια πφλθ που δρα ωσ καταβόκρα δεδομζνων). Θεωρεί επίςθσ ότι θ αμερολθψία ςτο επίπεδο των μθνυμάτων μπορεί να κυςιαςτεί από τθ ςτιγμι που υπάρχει ςτο επίπεδο τθσ εφαρμογι και ότι θ κακυςτζρθςθ των μθνυμάτων τθσ τάξθσ των μερικϊν δευτερολζπτων είναι ανεκτι.

Για τθ μείωςθ τθσ κατανάλωςθσ, το S-MAC περιορίηει τθσ λιψεισ και αποςτολζσ ςε περιοδικζσ ενεργζσ περιόδουσ διακοπτόμενεσ από περιόδουσ αδράνειασ. Ζνασ πλιρθσ κφκλοσ ενεργοφ – ανενεργοφ κατάςταςθσ ονομάηεται πλαίςιο (frame), χωρίσ όμωσ να ςυγχζεται με το πλαίςιο των δεδομζνων. Τα πλαίςια ςυγχρονίηονται με γειτονικζσ ςυςκευζσ με περιοδικι εκπομπι ενόσ πακζτου SYNC, το οποίο είναι πολφ μικρό και περιζχει τθν διεφκυνςθ του αποςτολζα και ζνα ςχετικό χρόνο ςτον οποίο κα επιςτρζψει ςτθν αδρανι κατάςταςθ. Από αυτζσ τισ τιμζσ, ο παραλιπτθσ μπορεί να καταςκευάςει ζνα πίνακα των γειτονικϊν ςυςκευϊν του και των χρονοπρογραμματιςμϊν τουσ, ϊςτε να υπάρχει ςυγχρονιςμόσ για μελλοντικζσ ανταλλαγζσ μθνυμάτων. Κακϊσ ςχθματίηεται το δίκτυο, διαφορετικζσ ςυςτοιχίεσ ςυςκευϊν μπορεί να ςυγχρονίηονται διαφορετικά. Αν δεν χρειάηεται εκπομπι, το ενεργό τμιμα ςπαταλιζται μονίμωσ για ςτθ λιψθ. Η ενεργόσ περίοδοσ χωρίηεται ςε δφο μζρθ, ζνα για τα πακζτα ςυγχρονιςμοφ και ζνα για τα πακζτα δεδομζνων. Στθ ςυνζχεια, ολόκλθρθ θ ενεργόσ περίοδοσ διαιρείται επίςθσ ςε μεγάλο αρικμό από χρόνο – ςχιςμζσ (time slots). Το slotted CSMA με RTS/CTS (request to send / clear to send) χρθςιμοποιείται για τθν προςπζλαςθ του καναλιοφ.

3.3 Σ-MAC

Το T-MAC (timeout-MAC) [22] είναι ζνα άλλο πρωτόκολλο MAC που επεκτείνει τισ ιδζεσ του S-MAC που είδαμε ςτθν προθγοφμενθ παράγραφο. Το T-MAC εντοπίηει τθν εξισ αδυναμία του S-MAC, από τθν ςτιγμι που οι περίοδοι ενεργοποίθςθσ του πομποφ είναι προκακοριςμζνοι αυτό ςθμαίνει ότι ο κόμβοσ μπορεί να μζνει αδρανισ ςτθν περίπτωςθ που δεν υπάρχουν μθνφματα ςτο δίκτυο. Τo T-MAC αντιμετωπίηει αυτό το πρόβλθμα με τθ ρφκμιςθ τθσ διάρκειασ των περιόδων ενεργοποίθςθσ ανάλογα με τθν παρατθροφμενθ κίνθςθ.

Το T-MAC υιοκετεί το μθχανιςμό ομάδων, όπωσ και το S-MAC και το ςυγχρονιςμό των περιόδων των ομάδων. Η καινοτομία του ζγκειται ςτο γεγονόσ ότι θ διάρκεια τθσ ενεργοποίθςθσ μπορεί να διακοπεί νωρίτερα αν για ζνα χρονικό διάςτθμα TΑ δεν ανιχνευκεί κάποιο γεγονόσ ενεργοποίθςθσ (λιψθ δεδομζνων, τζλοσ αποςτολισ, τζλοσ επικοινωνίασ ανάμεςα ςε άλλουσ κόμβουσ ι ανίχνευςθ επικοινωνίασ ανάμεςα ςε άλλουσ κόμβουσ). Η επιλογι αυτοφ του χρόνου παίηει ςθμαντικό ρόλο ςτθν ορκι λειτουργία του πρωτοκόλλου.

Η πειραματικι αξιολόγθςθ του T-MAC δείχνει ότι υπάρχουν οφζλθ όςον αφορά εξοικονόμθςθ ενζργειασ αφοφ ςε ςυνκικεσ χαμθλισ κίνθςθσ οι κόμβοι ζχουν κλειςτό τον πομποδζκτθ τουσ. Το μειονζκτθμα είναι ότι υπάρχει μια μικρι μείωςθ τθσ ςυνολικισ ταχφτθτασ διάδοςθσ εξαιτίασ του προβλιματοσ τθσ πρόωρθσ απενεργοποίθςθσ.

3.4 Β-MAC

Το B-MAC (Berkeley Media Access Control) [23]όπωσ και τα υπόλοιπα πρωτόκολλα MAC πρζπει να ικανοποιεί κάποιουσ ςτόχουσ όπωσ λειτουργίεσ χαμθλισ κατανάλωςθσ, αποτελεςματικι αποφυγι ςυγκροφςεων, απλι υλοποίθςθ κ.ά. Το BMAC είναι ζνα διαμορφοφμενο πρωτόκολλο για αςφρματα δίκτυα αιςκθτιρων. Οι διεπαφζσ του επιτρζπουν ςε υπθρεςίεσ του επίπεδου middleware να αναδιαμορφϊςουν το πρωτόκολλο

Page 38: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

38

ανάλογα με το φορτίο. Ζχει απλι ςχεδίαςθ, όπωσ και υλοποίθςθ. Για τθν αποφυγι ςυγκροφςεων χρθςιμοποιεί τθν τεχνικι CCA (clear channel assessment) και αλγόρικμουσ οπιςκοχϊρθςθσ (backoff), ενϊ για τθν αξιοπιςτία του καναλιοφ διακζτει λειτουργία επιβεβαιϊςεων (acknowledgments). Δεν διακζτει μθχανιςμό RTS/CTS για τον ςυγχρονιςμό των κόμβων, ζτςι μπορεί να υλοποιθκεί ευκολότερα ςε ςχζςθ με το S-MAC. Σε αντίκεςθ με τα προθγοφμενα πρωτόκολλα, για τθν εξοικονόμθςθ ενζργειασ, το B-MAC βελτιϊνει τον μθχανιςμό CSMA, ϊςτε να αντιλαμβάνεται πότε πρζπει να ακοφςει το μζςο χωρίσ ςυγχρονιςμό των κόμβων.

Συγκεκριμζνα, απενεργοποιεί τον πομποδζκτθ των κόμβων ενϊ περιοδικά, ανά χρόνο LPL (μερικά msec), τον ενεργοποιεί για να ελζγξει εάν το κανάλι χρθςιμοποιείται. Αν ναι, τότε λαμβάνει το μινυμα ακόμθ και εάν δεν προορίηεται για αυτόν. Πταν κζλει να μεταδϊςει ζνα μινυμα γίνεται ζλεγχοσ ςτο κανάλι, και εάν είναι ελεφκερο μεταδίδεται αλλιϊσ απενεργοποιείται ο πομποδζκτθσ για κάποιο ςφντομο χρονικό διάςτθμα και επαναλαμβάνεται ο ζλεγχοσ. Η καινοτομία του πρωτοκόλλου αυτοφ είναι ο τρόποσ με τον οποίο αποφαςίηεται να χρθςιμοποιθκεί το κανάλι. Συγκεκριμζνα, ςε περιόδουσ που είναι γνωςτό ότι το κανάλι δε χρθςιμοποιείται, για παράδειγμα αμζςωσ μόλισ ζχει τελειϊςει μια μετάδοςθ, καταγράφει τθν ιςχφ του κορφβου ςτο κανάλι. Οι μετριςεισ αποκθκεφονται ςε μια ουρά FIFO που ςυγκρατεί τισ τελευταίεσ δζκα μετριςεισ και υπολογίηεται ο μζςοσ όροσ τουσ. Η τρζχουςα τιμι του κορφβου υπολογίηεται ςαν ςυνάρτθςθ του μζςου όρου και τισ προθγοφμενθσ τιμισ του κορφβου. Με βάςθ αυτι τθν μζτρθςθ ο B-MAC είναι ςε κζςθ να ανιχνεφει αξιόπιςτα πότε το κανάλι χρθςιμοποιείται και πότε όχι ςυγκρίνοντασ τθν τρζχουςα τιμι τθσ ιςχφοσ του ςιματοσ με τον υπολογιςμζνο κόρυβο. Για τθν μετάδοςθ ενόσ μθνφματοσ απαιτείται να εκπεμφκεί ζνα προοίμιο διάρκειασ τουλάχιςτον LPL πριν μεταδοκοφν τα πραγματικά δεδομζνα ϊςτε να το ανιχνεφςουν οι υπόλοιποι κόμβοι. Το B-MAC επιτυγχάνει υψθλότερο ρυκμό διαμεταγωγισ δεδομζνων, μικρότερθ κακυςτζρθςθ και ςε οριςμζνεσ περιπτϊςεισ μεγαλφτερθ εξοικονόμθςθ ενζργειασ.

Εικόνα 18 Διάγραμμα throughput ΒMAC/SMAC

Μερικά χαρακτθριςτικά του πρωτοκόλλου:

CCA, packet backoff για διευκζτθςθ του καναλιοφ

Link layer επιβεβαιϊςεισ για αξιοπιςτία

Low power listening για χαμθλι κατανάλωςθ

Μόνο link layer και υπθρεςίεσ οργάνωςθσ, ςυγχρονιςμοφ και δρομολόγθςθσ από πάνω

Page 39: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

39

ΔΕΝ παρζχει fragmentation ι ςυγκεκριμζνθ πολιτικι για χαμθλι κατανάλωςθ

Ραρζχει διεπαφζσ που επιτρζπει υπθρεςίεσ εκτόσ των βαςικϊν διεπαφϊν μθνυμάτων να ρυκμίςουν τουσ μθχανιςμοφσ CCA, επιβεβαιϊςεων, backoff και LPL

3.5 X-MAC

Το X-MAC είναι ζνα πρωτόκολλο MAC χαμθλισ κατανάλωςθσ για αςφρματα δίκτυα αιςκθτιρων [24]. Η λειτουργία του ωσ «low power listening» είναι πιο απλι ςε ςχζςθ με το B-MAC. Βαςίηεται επίςθσ ςτθν αςφγχρονθ μετάδοςθ και ζχει καλφτερθ ενεργειακι απόδοςθ. Ραρόλα αυτά, το μεγάλθσ διάρκειασ προοίμιο (preamble) ειςάγει μεγάλθ κακυςτζρθςθ ςε κάκε μετάβαςθ (hop) είναι ςχεδόν ευνοϊκότερο ςε όρουσ κατανάλωςθσ ενζργειασ και πάςχει από το πρόβλθμα τθσ αλόγιςτθσ κατανάλωςθσ ενζργειασ ςε περιπτϊςεισ «non-target receivers». Το X-MAC προτείνει λφςεισ για αυτά τα προβλιματα με τθ χριςθ μικρότερου προοιμίου (preamble) το οποίο διατθρεί τα πλεονεκτιματα του low power listening, όπωσ χαμθλισ κατανάλωςθσ επικοινωνία, απλότθτα ςτθν υλοποίθςθ και αποςφνδεςθ των χρονοπρογραμματιςμϊν (scheduler) του εκπομποφ και του δζκτθ. Η χριςθ μικρότερου preamble μειϊνει ςθμαντικά επίςθσ τθν κατανάλωςθ ενζργειασ και ςτον εκπομπό και ςτο δζκτθ, τθν κακυςτζρθςθ μετάδοςθσ πριν τα άλματα (hops) και προςφζρει επιπλζον πλεονεκτιματα όπωσ ευζλικτθ προςαρμοςτικότθτα (adaptation) ςε πθγζσ αιςκθτιρων (περιοδικζσ και κατά ριπζσ μεταδόςεισ).

Τα χαρακτθριςτικά του X-MAC:

Ειςάγει μια ςειρά από μικροφ μεγζκουσ πακζτα (preamble) κάκε ζνα περιζχει πλθροφορίεσ διεφκυνςθσ του ςτόχου, ζτςι μειϊνεται το πρόβλθμα του overhead ςτο low power listening εξοικονομϊντασ ενζργεια ςτισ not-target μεταδόςεισ.

Ειςάγει διακοπζσ (pause) μεταξφ των ςειρϊν των μικρϊν πακζτων, δθμιουργϊντασ strobe preamble, το οποίο επιτρζπει ςτον παραλιπτθ να μειϊςει το strobe preamble μζςω μιασ πρϊιμθσ επιβεβαίωςθσ. Ζτςι ζχουμε μείωςθ και άλλο θ κατανάλωςθ ενζργειασ ςτον αποςτολζα όςο και ςτον παραλιπτθ όπωσ και μια μείωςθ ςτθν κακυςτζρθςθ πριν τθν μετάδοςθ (pre-hop).

Ζχει ζναν προςαρμοςτικό αλγόρικμο που μπορεί να χρθςιμοποιθκεί για δυναμικι ρφκμιςθ του κφκλου (duty cycle) του παραλιπτθ για βελτιςτοποίθςθ τθσ κατανάλωςθσ ενζργειασ ανά πακζτο, τθσ κακυςτζρθςθσ ι και των δφο.

3.6 IEEE 802.15.4

Το ΙΕΕΕ 802.15.4 είναι το πρϊτο ανοικτό πρότυπο για αςφρματα δίκτυα αιςκθτιρων χαμθλοφ ρυκμοφ μετάδοςθσ (low-rate wireless personal area network – LR-WPAN). Σχεδιάςτθκε ωσ ζνα ευζλικτο πρότυπο κατάλλθλο για αρκετζσ τοπολογίεσ δικτφων και εφαρμογζσ αιςκθτιρων και περιζχει χαρακτθριςτικά ςχεδιαςμζνα για να επιτρζπουν χαμθλι κατανάλωςθ και υλοποίθςθ χαμθλοφ κόςτουσ [28], [29], [30].

3.6.1. Σύποι κόμβων ΙΕΕΕ 802.15.4

Σε ζνα δίκτυο υλοποιθμζνο με το πρωτόκολλο IEEE 802.15.4 υπάρχουν δφο τφποι ςυςκευϊν (κόμβων), πλιρουσ λειτουργίασ (full functional device – FFD) και περιοριςμζνθσ λειτουργίασ (reduced function device – RFD). Οι πλιρουσ λειτουργίασ ςυςκευζσ ζχουν τρεισ τρόπουσ υπθρεςιϊν, ωσ ςυντονιςτισ του δικτφου (personal area network – PAN), απλϊσ ςυντονιςτισ ι απλόσ κόμβοσ. Μπορεί να επικοινωνιςει με FFD’s και με RFD’s, ενϊ οι κόμβοι RFD μόνο με FFD κόμβουσ. Οι περιοριςμζνθσ λειτουργίασ κόμβοι προορίηονται για απλζσ εφαρμογζσ όπωσ διακόπτεσ ι αιςκθτιρεσ, και δεν ζχουν ανάγκθ να ςτζλνουν μεγάλα

Page 40: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

40

πακζτα πλθροφοριϊν. Συνδζονται με ζνα μόνο FFD κάκε φορά. Οι κόμβοι ορίηονται είτε με μια 64-bit ΙΕΕΕ διεφκυνςθ είτε με μια 16-bit «μικρι» διεφκυνςθ κατά τθ διάρκεια τθσ ςυςχζτιςθσ. Ζτςι ζνα απλό IEEE 802.15.4 δίκτυο μπορεί να υποςτθρίξει μζχρι 65535 ( 216-1) κόμβοσ ζχοντασ τθ διεφκυνςθ 0xFFFF ωσ διεφκυνςθ πολυεκπομπισ (broadcast). Οι τοπολογίεσ που υποςτθρίηονται από το ΙΕΕΕ 802.15.4 είναι (α) αςτζρα και (β) peer-to-peer όπωσ φαίνονται και ςτθν εικόνα. Κάκε ομάδα (cluster) ζχει το δικό τθσ, μοναδικό αναγνωριςτικό (PAN identifier).

Εικόνα 19 Κόμβοι δικτφου ΙΕΕΕ 802.15.4 (FFD/RFD)

3.6.2. IEEE 802.15.4 non-beacon λειτουργύα

Το IEEE 802.15.4 υποςτθρίηει κόμβουσ με beacon και χωρίσ. Ιδιαίτερα θ χωρίσ beacon λειτουργία είναι χριςιμθ για δίκτυα τοπολογίασ αςτζρα. Επίςθσ υποςτθρίηει δίκτυα πολλαπλϊν βθμάτων (multi hop) ςτα οποία μια ομάδα κόμβων είναι μόνιμα ενεργοί και αναμεταδίδουν μθνφματα που ζχουν δθμιουργθκεί από άλλουσ κόμβουσ χαμθλισ κατανάλωςθσ. Στθν non-beacon λειτουργία, ςφμφωνα με το πρότυπο του IEEE 802.15.4, χρθςιμοποιείται un-slotted, μθ επίμονο (non-persistent) CSMA. Λόγω του μικροφ μεγζκουσ των πλαιςίων του IEEE 802.15.4 (μζγιςτο μζγεκοσ μαηί με PHY είναι 133bytes) δεν χρθςιμοποιείται ο μθχανιςμόσ RTS/CTS. Για αποφυγι αζναθσ απόςυρςθσ (backoff), ςτθν οποία ο χρόνοσ απόςυρςθσ του CSMA αυξάνεται εκκετικά χωρίσ όρια, υπάρχει όριο ςτον αρικμό των «αποςφρςεων» (backoff) που γίνονται. Πταν φτάνουμε ςτο μζγιςτο αρικμό, δθμιουργείται από το MAC μια αναφορά αποτυχίασ πρόςβαςθσ ςτο κανάλι (channel access failure) και αποςτζλλεται ςτο ανϊτερο επίπεδο τθσ ςτοίβασ.

3.6.3. IEEE 802.15.4 Super-frame (beacon λειτουργύα)

Σε λειτουργία με ενεργοποιθμζνο το beacon, ο χρόνοσ του καναλιοφ διαιρείται ςε υπζρ-πλαίςια (super-frame) τα οποία οριοκετοφνται από εκπομπζσ beacon από τουσ ςυντονιςτζσ (coordinator) τθσ ομάδασ. Πλεσ οι επικοινωνίεσ ςτα πλαίςια μιασ ομάδασ (cluster) γίνονται κατά τθ διάρκεια ενόσ τζτοιου υπζρ-πλαιςίου. Ο χρόνοσ αυτόσ ονομάηεται διάρκεια υπζρ-πλαιςίου (super-

Εικόνα 20 IEEE 802.15.4 Super-frame

Page 41: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

41

frame duration SD). Κατά τθ διάρκεια του υπόλοιπου ανενεργοφ χρόνου, οι κόμβοι μποροφν να μπουν ςε κατάςταςθ χαμθλισ κατανάλωςθσ ι να απαςχολθκοφν ςε άλλεσ διεργαςίεσ κατά το δοκοφν. Η ενεργι περίοδοσ κάκε πλαιςίου χωρίηεται ιςόποςα ςε slots. Η εκπομπι του beacon ξεκινά ςτθν αρχι του slot 0 και θ περίοδοσ του ανταγωνιςμοφ του καναλιοφ (contention access period – CAP) τθσ ενεργοφ περιοχισ ξεκινά αμζςωσ μετά τθν αποςτολι του beacon. Σε μερικζσ περιπτϊςεισ μετά το CAP υπάρχει μια περίοδοσ ςτθν οποία ςυγκεκριμζνεσ ςυςκευζσ ζχουν εγγυθμζνθ πρόςβαςθ (guarantee time slots – GTS). Ζνασ αρικμόσ από αυτά τα GTS slots (μζγιςτοσ 7) μπορεί να χρθςιμοποιθκεί για τθν αποφυγι τθσ διαταραχισ (jitter) τθσ κακυςτζρθςθσ των μθνυμάτων που οφείλεται ςτθν διεργαςία του CSMA αλγορίκμου. Πταν δεν υπάρχουν GTS slots, δεν υπάρχει και περίοδοσ μθδενικοφ ανταγωνιςμοφ (contention-free period – CFP) και ολόκλθρθ θ περίοδοσ του πλαιςίου (εκτόσ των beacon) είναι το CAP. Τα slots διαιροφνται ακόμα περιςςότερο ςε περιόδουσ απόςυρςθσ (backoff), τισ βαςικζσ μονάδεσ χρόνου του MAC πρωτοκόλλου ςτισ οποίεσ όλεσ οι εκπομπζσ κα πρζπει να ςυγχρονιςτοφν. Η ακριβισ διάρκεια τθσ backoff περιόδου εξαρτάται ςτθν ςυχνότθτα ςτθν οποία λειτουργεί το δίκτυο. Στθν περίπτωςι μασ λειτουργεί ςτα 2,4GHz και ο μζγιςτοσ ρυκμόσ μετάδοςθσ είναι 250kbps. Οι ςχεδιαςτζσ μποροφν ρυκμίηοντασ τισ παραμζτρουσ του χρόνου για ανταλλαγζσ ανάμεςα ςτθν κακυςτζρθςθ των μθνυμάτων, τθ χωρθτικότθτα του καναλιοφ και τθν απόδοςθ τθσ μπαταρίασ.

3.6.4. Πλαύςιο IEEE 802.15.4

Η δομι των πλαιςίων του επιπζδου MAC (MAC protocol data unit – MPDU) αποτελείται από τα εξισ βαςικά ςτοιχεία:

Τθν επικεφαλίδα (MAC header – MHR) θ οποία περιλαμβάνει τον ζλεγχο πλαιςίου, τθν ακολουκία των πλαιςίων (sequence number), πλθροφορίεσ για τθ διεφκυνςθ και πλθροφορίεσ ςχετικά με τθν αςφάλεια.

Το ωφζλιμο φορτίο (το πλαίςιο από το ανϊτερο επίπεδο) με μεταβλθτό μικοσ, το οποίο περιζχει πλθροφορίεσ ανάλογα με τον τφπο του πλαιςίου. Τα πλαίςια επιβεβαίωςθσ (acknowledgement) δεν περιζχουν ωφζλιμο φορτίο.

Τον επίλογο (MAC footer – MFR) που περιζχει τθν ακολουκία ελζγχου πλαιςίου (frame check sequence – FCS).

Τα παραπάνω φαίνονται ςτθν εικόνα 21 :

Εικόνα 21 MAC Πλαίςιο ΙΕΕΕ 802.15.4

Page 42: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

42

3.6.5. Αλγόριθμοσ CSMA-CA IEEE 802.15.4

Ο CSMA-CA αλγόρικμοσ που υλοποιείται από το IEEE 802.15.4 χρθςιμοποιείται για τθν μετάδοςθ πακζτων δεδομζνων ι MAC εντολϊν κατά τθ διάρκεια τθσ περιόδου CAP. Ανάλογα με τθν διαμόρφωςθ του καναλιοφ χρθςιμοποιοφνται δφο τφποι προςπζλαςθσ: (α) un-slotted CSMA-CA και (β) slotted CSMA-CA. Ο πρϊτοσ τφποσ χρθςιμοποιείται για δίκτυα που δεν ζχουν ενεργοποιθμζνθ τθν εκπομπι beacon. Κάκε φορά που μια ςυςκευι κζλει να εκπζμψει δεδομζνα κα πρζπει να περιμζνει ζνα τυχαίο χρονικό διάςτθμα. Εάν το κανάλι δε χρθςιμοποιείται, τότε περιμζνει πάλι ζνα τυχαίο χρονικό διάςτθμα βάςει του αλγορίκμου οπιςκοχϊρθςθσ (backoff) και τότε εκπζμπει. Αν το κανάλι είναι απαςχολθμζνο ακολουκείται πάλι ζνασ τυχαίο αλγόρικμοσ backoff και δοκιμάηεται θ χριςθ ι μθ του καναλιοφ. Το slotted CSMA-CA τφπο χρθςιμοποιοφν τα δίκτυα με ενεργοποιθμζνθ τθν beacon λειτουργία. Τα backoff-slots ευκυγραμμίηονται με τθν αρχι τθσ εκπομπισ του beacon. Πταν ζνασ κόμβοσ επικυμεί να εκπζμψει δεδομζνα κατά τθ διάρκεια τθσ περιόδου CAP, εντοπίηει το όριο τθσ επόμενθσ κζςθσ (slot) και περιμζνει τυχαίο χρόνο. Αν το κανάλι είναι καταλυμζνο, κα πρζπει να περιμζνει για άλλο ζνα τυχαίο αρικμό από κζςεισ και να δοκιμάςει πάλι για τθν πρόςβαςθ ςτο κανάλι. Αν είναι ελεφκερο, τότε περιμζνει για το επόμενο όριο τθσ κζςθσ και εκπζμπει. Και ςτουσ δφο τφπουσ, ο χρόνοσ backoff ορίηεται από τθ ςτακερά aUnitBackoffPeriod (20 ςφμβολα). Ο μζγιςτοσ αρικμόσ επαναλιψεων του backoff είναι μεταξφ 0 και 5 και μετά δθλϊνεται αποτυχία προςπζλαςθσ καναλιοφ (channel access failure). Ο αλγόρικμοσ δε χρθςιμοποιείται κατά τθν μετάδοςθ πακζτων beacon, επιβεβαιϊςεων ι εκπομπϊν ςτθν διάρκεια τθσ CFP περιόδου.

Ο αλγόρικμοσ CSMA που υλοποιεί το IEEE802.15.4 φαίνεται ςτθν εικόνα :

Εικόνα 22 CSMA-CA αλγόρικμοσ IEEE 802.15.4

Page 43: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

43

3.6.6. Αςφϊλεια ςτο IEEE802.15.4

Τα αςφρματα δίκτυα τοπολογίασ ad-hoc, όπωσ και όλα τα αςφρματα δίκτυα, είναι ευπρόςβλθτα ςε επικζςεισ υποκλοπϊν, ακόμθ και αλλοίωςθσ των μθνυμάτων. Οι περιοριςμζνεσ δυνατότθτεσ των κόμβων ςε υπολογιςτικι ιςχφ και ςε αποκθκευτικοφσ χϊρουσ, κάνουν ακόμθ πιο δφςκολθ τθν δθμιουργία αςφαλϊν δικτφων αιςκθτιρων. Ο μθχανιςμόσ κρυπτογράφθςθσ που προτείνεται από το πρότυπο IEEE 802.15.4 βαςίηεται ςε ζνα ςυμμετρικό κλειδί και άλλα κλειδιά που παρζχονται από το ανϊτερο επίπεδο των διεργαςιϊν. Ο κρυπτογραφικόσ μθχανιςμόσ του ΙΕΕΕ 802.15.4 παρζχει τισ εξισ υπθρεςίεσ είτε ςυνδυαςμοφσ αυτϊν : (α) εμπιςτευτικότθτα των δεδομζνων, (β) πιςτοποίθςθ των δεδομζνων και (γ) προςταςία αναμεταδόςεων. Το κοινό κλειδί μπορεί να είναι μεταξφ δφο μόνο κόμβων είτε ανάμεςα ςε μία ομάδα. Στθ δεφτερθ περίπτωςθ εμποδίηεται θ προςβολι από κόμβουσ εκτόσ τθσ ομάδασ, αλλά όχι από πικανοφσ κινδφνουσ εντόσ τθσ ομάδασ.

3.7 Περύληψη

Στο κεφάλαιο αυτό παρουςιάςτθκαν τα διάφορα πρωτόκολλα προςπζλαςθσ μζςου (MAC) που χρθςιμοποιοφνται ςτα αςφρματα δίκτυα αιςκθτιρων. Είδαμε τα πλεονεκτιματα και τα μειονεκτιματα κακενόσ από αυτά και αναλφςαμε τθ λειτουργία του πρωτοκόλλου IEEE 802.15.4 το οποίο κα χρθςιμοποιιςουμε ςτθ διπλωματικι αυτι.

Page 44: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

44

Κεφϊλαιο 4 – Αςφϊλεια

4.1 Ειςαγωγό ςτην αςφϊλεια των αςύρματων δικτύων

Τα δίκτυα αιςκθτιρων χαρακτθρίηονται κυρίωσ από τθν περιοριςμζνθ παροχι

ιςχφοσ, χαμθλό εφροσ ηϊνθσ, μικρό μζγεκοσ μνιμθσ και περιοριςμζνθ ενζργεια. Αυτό οδθγεί ςε ζνα πολφ απαιτθτικό περιβάλλον για να παρζχεται αςφάλεια. Η μζκοδοσ κρυπτογραφίασ δθμόςιου κλειδιοφ είναι πολφ δαπανθρι για να είναι εφικτι, ακόμα και θ γριγορθ κρυπτογράφθςθ ςυμμετρικοφ κλειδιοφ πρζπει να χρθςιμοποιείται με φειδϊ. Το εφροσ ηϊνθσ είναι αρκετά ακριβό και ζτςι κάκε αφξθςθ του μεγζκουσ του μθνφματοσ από το μθχανιςμό αςφαλείασ ζχει ςθμαντικό κόςτοσ [31].

4.1.1. Θϋματα αςφαλεύασ και ςτόχοι

Εμπιςτευτικότητα δεδομϋνων

Εμπιςτευτικότθτα ςθμαίνει να διατθρείσ τθν πλθροφορία ςου κρυφι από μθ εξουςιοδοτθμζνα άτομα. Ζνα δίκτυο αιςκθτιρων δε κα πρζπει να διαρρζει τθσ μετριςεισ του ςε γειτονικά δίκτυα. Σε αρκετζσ εφαρμογζσ, οι κόμβοι διακινοφν αρκετά ευαίςκθτα δεδομζνα. Η προςζγγιςθ που γίνεται είναι να κρυπτογραφοφνται τα δεδομζνα με ζνα μυςτικό κλειδί το οποίο κατζχουν μόνο οι παραλιπτεσ για του οποίουσ προορίηονται τα μθνφματα και ζτςι να επιτυγχάνεται θ εμπιςτευτικότθτα .

Αυθεντικότητα δεδομϋνων

Σε ζνα δίκτυο αιςκθτιρων, ζνασ ειςβολζασ μπορεί εφκολα να ειςάγει μθνφματα, ζτςι ο παραλιπτθσ πρζπει να ςιγουρευτεί ότι τα δεδομζνα που χρθςιμοποιοφνται ςε κάκε διαδικαςία λιψθσ μιασ απόφαςθσ προζρχονται από τθ ςωςτι πθγι. Η αυκεντικότθτα των δεδομζνων απαγορεφει ςε μθ εξουςιοδοτθμζνα άτομα να ςυμμετζχουν ςτο δίκτυο και οι νόμιμοι κόμβοι κα μποροφν να αναγνωρίηουν μθ εξουςιοδοτθμζνουσ κόμβουσ και να τουσ απορρίπτουν. Σε μια διμερι επικοινωνία, θ αυκεντικότθτα των δεδομζνων μπορεί να επιτευχκεί μζςω ενόσ ςυμμετρικοφ μθχανιςμοφ. Ο αποςτολζασ και ο παραλιπτθσ μοιράηονται ζνα κρυφό κλειδί για να υπολογίςουν ζνα κϊδικα αυκεντικότθτασ (MAC) όλων των δεδομζνων τθσ επικοινωνίασ. Πταν ζνα μινυμα με το ςωςτό MAC λαμβάνεται, ο παραλιπτθσ γνωρίηει ότι ζχει ςταλεί από τον αποςτολζα. Ραρόλα αυτά, θ αυκεντικότθτα των μθνυμάτων πολυεκπομπισ (broadcast) απαιτεί πιο ιςχυρζσ υποκζςεισ αξιοπιςτίασ ςτουσ κόμβουσ.

Ακεραιότητα δεδομϋνων

Η ακεραιότθτα των δεδομζνων διαςφαλίηει ςτον παραλιπτθ ότι τα δεδομζνα δεν είναι αλλαγμζνα κατά τθ μετάδοςθ από κάποιον ξζνο.

Ανανϋωςη δεδομϋνων

Η ανανζωςθ των δεδομζνων ςθμαίνει ότι τα δεδομζνα είναι πρόςφατα και διαςφαλίηει ότι κάποιοσ ξζνοσ δεν ζχει επαναλάβει παλαιότερα μθνφματα. Ζνασ κοινόσ αμυντικόσ μθχανιςμόσ είναι να ςυμπεριλαμβάνεται ζνασ μονοτονικά αυξανόμενοσ καταμετρθτισ με

Page 45: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

45

κάκε μινυμα και να απορρίπτονται μθνφματα με παλαιότερεσ τιμζσ καταμετρθτι. Με αυτι τθν μζκοδο, κάκε παραλιπτθσ πρζπει να διατθρεί ζνα πίνακα των τελευταίων τιμϊν από κάκε αποςτολζα που λαμβάνει. Πμωσ, για κόμβουσ με περιοριςμζνθ RAM, αυτό γίνεται προβλθματικό ακόμα και για δίκτυα μετρίου μεγζκουσ.

Σθεναρότητα και δυνατότητα επιβύωςησ

Το δίκτυο των αιςκθτιρων κα πρζπει να είναι αρκετά ςτιβαρό ενάντια διαφόρων επικζςεων, και αν κάποια από τισ επικζςεισ επιτφχει, θ επίδραςι τθσ κα πρζπει να ελαχιςτοποιθκεί. Η παραχϊρθςθ ενόσ κόμβου δε κα πρζπει να ςπάςει τθν αςφάλεια ολόκλθρου του δικτφου.

4.1.2. Απειλϋσ κατϊ τησ αςφϊλειασ, τύποι επιθϋςεων ςε δύκτυα

αιςθητόρων και αντύμετρα

Παθητικό ςυλλογό πληροφοριών

Ζνασ ειςβολζασ με κατάλλθλο δυνατό δζκτθ και καλά ςχεδιαςμζνθ κεραία μπορεί εφκολα να αναχαιτίςει τθν ροι των δεδομζνων. Η αναχαίτιςθ των μθνυμάτων που περιζχουν τθν φυςικι τοποκεςία των κόμβων επιτρζπει ςτον ειςβολζα να εντοπίςει τουσ κόμβουσ και να τουσ καταςτρζψει. Εκτόσ αυτοφ, μπορεί να παρατθριςει το περιεχόμενο των μθνυμάτων. Για τθν ελαχιςτοποίθςθ των απειλϊν πακθτικισ ςυλλογισ πλθροφοριϊν, πρζπει να χρθςιμοποιθκοφν ιςχυρζσ τεχνικζσ κρυπτογράφθςθσ.

Ανατροπό ενόσ κόμβου

Μπορεί ζνασ κόμβοσ να πζςει ςτα χζρια κάποιου ξζνου και τισ πλθροφορίεσ που είναι αποκθκευμζνεσ ςε αυτό να τισ υποκλζψει. Εάν ζχει εκτεκεί ζνασ κόμβοσ, είναι ζνα κζμα το πϊσ κα αποκλειςτεί αυτόσ και μόνο από ολόκλθρο το δίκτυο.

Λϊθοσ κόμβοσ και επιβλαβό δεδομϋνα

Ζνασ ειςβολζασ μπορεί να προςκζςει ςτο ςφςτθμα ζναν κόμβο ο οποίοσ τροφοδοτεί ψευδι δεδομζνα ι αποτρζπει τθ διζλευςθ ορκϊν δεδομζνων. Τζτοια μθνφματα καταναλϊνουν επίςθσ τουσ λιγοςτοφσ πόρουσ των κόμβων. Η ειςαγωγι επιβλαβι κϊδικα είναι μια από τισ πιο επικίνδυνεσ επικζςεισ που μποροφν να ςυμβοφν. Ο επιβλαβισ κϊδικασ κα μπορεί να διαδοκεί μζςα από δίκτυο ςε όλουσ τουσ κόμβουσ, με τθ δυνατότθτα τθσ καταςτροφισ ολόκλθρου του δικτφου ι ακόμα χειρότερα, να πάρει τον ζλεγχο του δικτφου εκ μζρουσ του ειςβολζα. Ζνα προςβεβλθμζνο δίκτυο μπορεί να ςτζλνει ψευδι δεδομζνα ςτο ςωςτό άνκρωπο ι αλθκι δεδομζνα ςε κακόβουλο χριςθ. Με τθν εξαπάτθςθ, αλλαγι ι επανάλθψθ πλθροφορίασ δρομολόγθςθσ, οι ειςβολείσ μποροφν να δθμιουργιςουν βρόχουσ (loops) δρομολόγθςθσ, να ζλκουν ι να απωκοφν δικτυακι κίνθςθ, να μεγαλϊνουν ι να μικραίνουν τθν διαδρομι του αποςτολζα, να δθμιουργοφν ψευδι μθνφματα ςφάλματοσ κλπ. Οι ιςχυρζσ τεχνικζσ αυκεντικότθτασ μποροφν να αποτρζψουν ζναν ειςβολζα από το να υποδφεται ζναν ζγκυρο κόμβο του δικτφου.

Επύθεςη Sybil

Σε μια επίκεςθ Sybil ζνασ κόμβοσ παρουςιάηει πολλαπλζσ ταυτότθτεσ (ID’s) ςτουσ άλλουσ κόμβουσ του δικτφου. Αποτελοφν μία ςθμαντικι απειλι ςτα πρωτόκολλα γεωγραφικισ δρομολόγθςθσ, όπου θ δρομολόγθςθ απαιτεί τθν ανταλλαγι πλθροφορίεσ ςυντεταγμζνων ςε ςχζςθ με τουσ γειτονικοφσ. Οι τεχνικζσ πιςτοποίθςθσ και κρυπτογράφθςθσ μποροφν να αποτρζψουν ζναν ξζνο (εκτόσ του δικτφου) να εξαπολφςει μια επίκεςθ Sybil ςε ζνα δίκτυο αιςκθτιρων. Ράραυτα, ζνασ εςωτερικόσ κόμβοσ δε μπορεί

Page 46: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

46

να αποτραπεί από το να ςυμμετάςχει ςτο δίκτυο αλλά κα πρζπει να είναι ςε κζςθ να χρθςιμοποιεί μόνο τθν ταυτότθτα που του ζχει παραχωρθκεί. Χρθςιμοποιϊντασ ευρζωσ κοινά κλειδιά επιτρζπει ςε ζναν εςωτερικό κόμβο να μεταμφιεςκεί ςε οποιοδιποτε κόμβο (ακόμα και αν δεν υπάρχει αυτόσ). Η κρυπτογράφθςθ με δθμόςιο κλειδί μπορεί να αποτρζψει μια τζτοια επίκεςθ, αλλά είναι πολφ δαπανθρι για να χρθςιμοποιθκεί ςε δίκτυο με περιοριςμζνουσ πόρουσ. Μια λφςθ είναι να μοιράςουμε ςε κάκε κόμβο ζνα μοναδικό ςυμμετρικό κλειδί με ζνα ζμπιςτο ςτακμό βάςθσ. Δφο κόμβοι μποροφν τότε να χρθςιμοποιοφν το πρωτόκολλο Needham-Schroeder [32] για να επαλθκεφςουν κακζνασ τθν ταυτότθτα του άλλου και να κακορίςουν ζνα κοινό κλειδί. Ζνα ηευγάρι γειτονικϊν κόμβων μπορεί να χρθςιμοποιιςει το κλειδί αυτό ϊςτε να πραγματοποιιςει μια πιςτοποιθμζνθ, κρυπτογραφθμζνθ ςφνδεςθ μεταξφ τουσ.

Επύθεςη καταβόθρασ (sinkhole)

Σε μία επίκεςθ sinkhole, ο ςτόχοσ του ειςβολζα είναι να δελεάςει όλθ τθν κίνθςθ από μια ςυγκεκριμζνθ περιοχι μζςο ενόσ εκτεκειμζνου κόμβου, δθμιουργϊντασ μια καταβόκρα (μεταφορικι) με τον ειςβολζα ςτο κζντρο τθσ. Ο τρόποσ λειτουργίασ τθσ επίκεςθσ αυτισ είναι κάνοντασ τον μολυςμζνο κόμβο να δείχνει ελκυςτικόσ ςτουσ γφρω κόμβουσ για δρομολόγθςθ μζςω αυτοφ.

Σκουληκότρυπεσ (wormholes)

Σε μία επίκεςθ ςκουλθκότρυπασ, ο ειςβολζασ μεταφζρει μθνφματα που λαμβάνονται ςε ζνα μζροσ του δικτφου μζςω μιασ ςφνδεςθσ χαμθλισ κακυςτζρθςθσ ςε ζνα άλλο μζροσ όπου τα επανεκπζμπει. Ζνασ ειςβολζασ κοντά ςτο ςτακμό βάςθσ μπορεί να διαςπάςει τελείωσ τθ δρομολόγθςθ με το να δθμιουργιςει μια ςκουλθκότρυπα ςτο ςωςτό μζροσ. Ο ειςβολζασ κα μποροφςε να «πείςει» τουσ κόμβουσ που φυςιολογικά κα ιταν πολλαπλά βιματα μακριά από τθ βάςθ, ότι είναι μόνο ζνα ι δφο μζςω τθσ ςκουλθκότρυπασ. Αυτό κα δθμιουργοφςε μια καταβόκρα (sink), από τθ ςτιγμι που ο ειςβολζασ ςτθν άλλθ άκρθ τθσ ςκουλθκότρυπασ μπορεί να παρζχει υψθλισ ποιότθτασ δρομολόγθςθ προσ το ςτακμό βάςθσ, ενδεχομζνωσ όλθ θ κίνθςθ ςτθ γφρω περιοχι κα τραβθχτεί μζςω αυτισ αν οι εναλλακτικοί δρόμοι δεν είναι τόςο ελκυςτικοί.

4.2 Αςφϊλεια βαςιςμϋνη ςτο IEEE 802.15.4 (ver. 2003)

Η κρυπτογράφθςθ CTR (ςυμμετρικοφ αλγορίκμου κρυπτογράφθςθ) που χρθςιμοποιείται ςτο πρωτόκολλο αυτό, αποτελείται από τθν γεννιτρια μιασ ακολουκίασ κλειδιοφ χρθςιμοποιϊντασ κρυπτογραφθμζνα block με ζνα δεδομζνο κλειδί και ζνα «nonce» και κάνοντασ αποκλειςτικό Ή (exclusive OR – XOR) ςτθν ακολουκία του κλειδιοφ με το απλό κείμενο και τον κϊδικα ακεραιότθτασ. Το «nonce» είναι ζνα ςιμα χρόνου (time stamp), ζνασ καταμετρθτισ ι ζνα ειδικό ςθμείο που χρθςιμεφει για να αποτρζψει διπλότυπα μθνφματα. Η διαδικαςία τθσ αποκρυπτογράφθςθσ αποτελείται από τθν γεννιτρια τθσ ακολουκίασ κλειδιοφ και τθν ακολουκία τθσ ςυνάρτθςθσ XOR του κλειδιοφ με το κρυπτογραφθμζνο κείμενο ϊςτε να λάβουμε το αρχικό κείμενο. Οι υπθρεςίεσ αςφαλείασ που παρζχονται από τθν μζκοδο CTR είναι (α) ζλεγχοσ πρόςβαςθσ, (β) κρυπτογράφθςθ δεδομζνων και (γ) προαιρετικι ανανζωςθ [29].

4.2.1. PIB Security Material

Ανάλογα με τον τφπο τθσ αςφαλείασ που χρθςιμοποιείται ( CTR, CCM, CBC-MAC ) είναι διαφορετικι θ πλθροφορία που χρθςιμοποιείται και αποκθκεφεται ςτο MAC PIB.

Page 47: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

47

- Το ςυμμετρικό κλειδύ (symmetric key): είναι το κλειδί AES (advance encryption standard) για αυτι τθν λίςτα ελζγχου πρόςβαςθσ – ACL (access control list) – που κα χρθςιμοποιθκεί για μία από τισ μεκόδουσ αςφαλείασ. Το ίδιο κλειδί δεν πρζπει να χρθςιμοποιείται από διαφορετικζσ μεκόδουσ.

- Ο καταμετρητόσ πλαιςύων (frame counter): είναι ζνασ τρζχων καταμετρθτισ που κα πρζπει να εμπεριζχεται ςτο πεδίο φορτίου του MAC πλαιςίου. Ο καταμετρθτισ αυξάνεται κάκε φορά που εκπζμπεται ζνα «αςφαλζσ» πλαίςιο. Ο καταμετρθτισ δεν κα ξεκινιςει από τθν αρχι, πράγμα που βοθκά ςτο nonce του CCM να είναι μοναδικό και επιτρζπει ςτον παραλιπτθ να το χρθςιμοποιιςει ωσ μζςο ανανζωςθσ.

- Ο καταμετρητόσ ακολουθύασ κλειδιού (key sequence counter): είναι ζνα καταμετρθτισ ςτακερόσ (οριςμζνοσ από ανϊτερο επίπεδο) και κα πρζπει να περιζχεται ςτο πεδίο φορτίου του πλαιςίου το MAC. Χρθςιμοποιείται ςε περιπτϊςεισ που τερματίηει ο καταμετρθτισ πλαιςίων.

- Προαιρετικού εξωτερικού καταμετρητϋσ πλαιςύων και ακολουθύασ κλειδιών

(optional external frame and key sequence counters): είναι πεδία που μποροφν να αποκθκευκοφν ςτθν εγγραφι τθσ λίςτασ ελζγχου (ACL) και αντιπροςωπεφουν τιμζσ των τελευταίων παραλθφκζντων καταμετρθτϊν πλαιςίων και καταμετρθτϊν κλειδιϊν αντίςτοιχα. Αν τα πεδία αυτά περιλαμβάνονται ςτθ λίςτα ελζγχου, το MAC πρωτόκολλο κα τα χρθςιμοποιιςει για να επιβεβαιϊςει τθν ακολουκιακι ανανζωςθ των λθφκζντων πλαιςίων.

4.2.2. PIB Format (CTR mode)

Στθν CTR μζκοδο αςφαλείασ τα ςτοιχεία που χρθςιμοποιοφνται είναι το ςυμμετρικό κλειδί, ο καταμετρθτισ πλαιςίων, ο καταμετρθτισ ακολουκίασ κλειδιοφ και προαιρετικά οι εξωτερικοί καταμετρθτζσ πλαιςίων και ακολουκίασ κλειδιοφ. Η εικόνα 23 δείχνει τθν διάταξθ των ςτοιχείων αυτϊν και το μζγεκόσ τουσ.

Εικόνα 23 Στοιχεία για CTR αςφάλεια

Το πεδίο φορτίου ενόσ κρυπτογραφθμζνου MAC πλαιςίου με τθ μζκοδο CTR αποτελείται από τον καταμετρθτι πλαιςίου, τον καταμετρθτι ακολουκίασ κλειδιοφ και το κρυπτογραφθμζνο φορτίο όπωσ φαίνεται ςτθν παρακάτω εικόνα 24 :

Εικόνα 24 Πεδίο φορτίου κρυπτογραφθμζνου πλαιςίου

4.2.3. CTR input block

Τα δεδομζνα ειςόδου τθσ ςυνάρτθςθσ κρυπτογράφθςθσ για τθ δθμιουργία τθσ ακολουκίασ κλειδιοφ αποτελοφνται από μια οκτάδα ςθμαίασ, τθ διεφκυνςθ του αποςτολζα, τον καταμετρθτι ακολουκίασ κλειδιοφ και τθν τιμι του καταμετρθτι block. Αυτά φαίνονται ςτθν εικόνα 25 :

Page 48: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

48

Εικόνα 25 Δεδομζνα ειςόδου CTR μεκόδου

Η οκτάδα τθσ ςθμαίασ που χρθςιμοποιείται για τθ μζκοδο CTR ζχει τισ εξισ τιμζσ:

Εικόνα 26 Σθμαία για CTR encryption

Η λειτουργία CTR είναι μια μζκοδοσ εμπιςτευτικότθτασ που ζχει ωσ χαρακτθριςτικό τθν προϊκθςθ του κρυπτογραφιματοσ (κλειδιοφ κ.ά.) μζςω block ειςόδων, που ονομάηονται καταμετρθτζσ, για τθν παραγωγι μιασ ακολουκίασ block εξόδου από ςτα οποία ζχει τελεςτεί XOR με απλό κείμενο για τθν παραγωγι του κρυπτογραφθμζνου κειμζνου και αντίςτροφά. Η ακολουκία των καταμετρθτϊν πρζπει να ζχει τθν ιδιότθτα ότι κάκε ζνα block ςτθν ακολουκία είναι διαφορετικό από τα υπόλοιπα. Αυτι θ προχπόκεςθ δεν είναι περιοριςτικι για ζνα μόνο μινυμα, αλλά ςε όλα τα μθνφματα τα οποία κρυπτογραφοφνται με το ίδιο κλειδί, οι καταμετρθτζσ κα πρζπει να είναι ξεχωριςτοί. Στο standard αυτό, οι καταμετρθτζσ για ζνα μινυμα δίνονται από τθν ακολουκία Tn (Τ1 , Τ2 ,Τ3 ,…,Τn). Δεδομζνθσ τθσ ακολουκίασ αυτισ, θ μζκοδοσ CTR ορίηεται ωσ εξισ:

Κρυπτογράφθςθ CTR : Oi = CIPHk (Tj) for j=1, 2 … n;

Ci = Pj Oj for j = 1, 2 … n-1;

Cj* = Pj* MSBu (On);

Αποκρυπτογράφθςθ CTR : Oi = CIPHk (Tj) for j=1, 2 … n;

Pi = Cj Oj for j = 1, 2 … n-1;

Pj* = Cj* MSBu (On); Στθν κρυπτογράφθςθ και ςτθν αποκρυπτογράφθςθ με τθ μζκοδο CTR, οι λειτουργίεσ γίνονται παράλλθλα. Στθν επόμενθ εικόνα 27 φαίνονται γραφικά οι δφο διαδικαςίεσ.

Page 49: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

49

Εικόνα 27 Διαδικαςία (από-)κρυπτογράφθςθσ με τθ μζκοδο CTR

4.2.4. Διεργαςύεσ αςφαλεύασ

Οι διεργαςίεσ που λαμβάνουν μζροσ για τα εξερχόμενα και ειςερχόμενα πλαίςια περιγράφονται παρακάτω:

Εξερχόμενα πλαύςια

Πταν μπαίνει ςε λειτουργία θ CTR μζκοδοσ αςφαλείασ για τθν προςταςία των εξερχόμενων πλαιςίων, το υποεπίπεδο MAC κα πρζπει να κάνει τα παρακάτω:

1) Θα πρζπει να λάβει τθν 64-bit εκτενι διεφκυνςθ (aExtendedAddress) μαηί με τον καταμετρθτι του πλαιςίου και τον καταμετρθτι ακολουκίασ από το MAC PIB. Με αυτά κα καταςκευάςει τον καταμετρθτι μπλοκ ειςόδου (input block) όπωσ περιγράψαμε πιο πάνω.

2) Θα πρζπει να κρυπτογραφιςει το πεδίο φορτίου του MAC πλαιςίου χρθςιμοποιϊντασ τθν CTR κρυπτογράφθςθ με τισ παραμζτρουσ και τα μπλοκ από το πρϊτο βιμα.

3) Θα πρζπει να ςυνδυάςει τον καταμετρθτι πλαιςίων, τον καταμετρθτι ακολουκίασ και το αποτζλεςμα του δεφτερου βιματοσ ϊςτε να παραλάβει το νζο πεδίο φορτίου.

4) Τζλοσ, κα πρζπει να αυξιςει τον καταμετρθτι πλαιςίων και εάν αυτό είναι επιτυχζσ, να βάλει τθ νζα τιμι ςτο MAC PIC. Αν όμωσ αυτό αποτφχει επειδι ο καταμετρθτισ ξεπζραςε το όριο, θ ςυςκευι κα πρζπει να ακυρϊςει τθν λειτουργία και να ςτείλει τθν κατάςταςθ FAILED_SECURITY_CHECK ςε ανϊτερα επίπεδα.

Page 50: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

50

Ειςερχόμενα πλαύςια

Πταν μπαίνει ςε λειτουργία θ CTR μζκοδοσ αςφαλείασ για τθν προςταςία των ειςερχόμενων πλαιςίων, το υποεπίπεδο MAC κα πρζπει να κάνει τα παρακάτω:

1) Αν περιλαμβάνονται οι προαιρετικοί εξωτερικοί καταμετρθτζσ (πλαιςίων και ακολουκίασ κλειδιοφ) ςτο πεδίο macDefaultSecurityMaterial, κα πρζπει να διαςφαλιςτεί θ ανανζωςθ με το να επαλθκευτεί ότι ο παραλθφκείσ καταμετρθτισ ακολουκίασ κλειδιοφ είναι μεγαλφτεροσ ι ίςοσ από τον εξωτερικό καταμετρθτι ακολουκίασ κλειδιοφ τθσ ςυςκευισ. Αν ναι, πρζπει να επαλθκευτεί και εάν ο παραλθφκείσ καταμετρθτισ πλαιςίων είναι μεγαλφτεροσ ι ίςοσ με τον εξωτερικό καταμετρθτι πλαιςίων τθσ ςυςκευισ. Αν ζςτω ζνασ από τουσ δφο ελζγχουσ αποτφχει, θ ςυςκευι κα πρζπει να απορρίψει το πλαίςιο και να ςτείλει ςτα ανϊτερα επίπεδα τθν κατάςταςθ FAILED_SECURITY_CHECK.

2) Θα πρζπει να λάβει τθν 64-bit εκτενι διεφκυνςθ του αποςτολζα είτε από το πλαίςιο είτε από τθν ACL, να βγάλει τον καταμετρθτι πλαιςίου και τον καταμετρθτι ακολουκίασ από το πεδίο του φορτίου του MAC και να καταςκευάςει τον καταμετρθτι μπλοκ ειςόδου. Αν το nonce δεν μπορεί να καταςκευαςτεί επειδι τα δεδομζνα δεν είναι διακζςιμα, θ ςυςκευι κα πρζπει να ςτείλει ςτα ανϊτερα επίπεδα τθν κατάςταςθ FAILED_SECURITY_CHECK.

3) Θα πρζπει να αποκρυπτογραφιςει το πεδίο φορτίου με τθ μζκοδο CTR χρθςιμοποιϊντασ τισ παραμζτρουσ και τον καταμετρθτι μπλοκ ειςόδου από το δεφτερο βιμα.

4) Θα πρζπει να αντικαταςτιςει το υπάρχον πεδίο φορτίου με τα αποκρυπτογραφθμζνα δεδομζνα από το βιμα τρία. Αν θ προαιρετικι λειτουργία του βιματοσ 1 είχε γίνει επιτυχϊσ, θ τελευταία γνωςτι τιμι του καταμετρθτι ακολουκίασ και πλαιςίου κα πρζπει να τεκοφν με τισ λθφκείςεσ τιμζσ.

4.3 Security βαςιςμϋνη ςτο IEEE 802.15.4 (ver.2006)

Σε ςυνζχεια του IEEE802.15.4/2003 βγικε το 2006 μια ανακεωρθμζνθ ζκδοςθ του πρωτοκόλλου [30]. Αυτό, όςο αφορά τα κζματα αςφαλείασ, ζχει μερικζσ διαφορζσ. Αφοροφν κυρίωσ τισ πλθροφορίεσ που χρειάηονται για τθν κρυπτογράφθςθ των πλαιςίων. Ο αλγόρικμοσ παραμζνει ίδιοσ. Οι υπθρεςίεσ αςφαλείασ που παρζχονται είναι οι ίδιεσ.

Οι πλθροφορίεσ για το πϊσ παρζχεται θ αςφάλεια αυτι βρίςκεται ςτθν security-related MAC PIB (PAN Information Base).

4.3.1. Χαρακτηριςτικϊ γνωρύςματα MAC PIB

Στα χαρακτθριςτικά γνωρίςματα τθσ MAC PIB περιζχονται τα εξισ :

Πύνακασ Κλειδιών ( Key table ) : Ο πίνακασ αυτόσ περιζχει περιγραφείσ (descriptors) κλειδιϊν (κλειδιά μαηί με πλθροφορίεσ για αυτά), οι οποίοι είναι απαραίτθτοι για τθν διαδικαςία τθσ αςφάλιςθσ των εξερχόμενων και ειςερχόμενων πακζτων.

Πύνακασ ςυςκευών ( Device table ) : Ο πίνακασ αυτόσ περιζχει descriptors ςυςκευϊν, οι οποίοι όταν ςυνδυάηονται με πλθροφορίεσ από τον πίνακα κλειδιϊν παρζχει όλο το υλικό για τθν αςφάλεια των ειςερχόμενων και εξερχόμενων πακζτων. Οι πλθροφορίεσ για τισ ςυςκευζσ ςτον πίνακα αυτό ορίηονται βάςει τθσ προζλευςθσ του πλαιςίου και από το κλειδί.

Page 51: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

51

Πύνακασ ελϊχιςτου επιπϋδου αςφϊλειασ ( minimum security level table ) : Ο πίνακασ αυτόσ περιζχει πλθροφορίεσ που αφοροφν το ελάχιςτο επίπεδο αςφάλειασ το οποίο απαιτεί μια ςυςκευι να ζχει εφαρμοςτεί από τθν πθγι του πλαιςίου, ανάλογα με τον τφπο του πλαιςίου και εάν αφορά πλαίςιο εντολϊν MAC, τθν ταυτότθτα (identifier) του πλαιςίου αυτοφ. Η διαδικαςία αςφαλείασ κα αποτφχει αν το επίπεδο αςφάλειασ του πλαιςίου δεν είναι επαρκζσ.

Καταμετρητόσ πλαιςύων ( frame counter ) : Ο καταμετρθτισ αυτόσ είναι τεςςάρων οκτάδων (4-octet) και χρθςιμοποιείται για να παρζχεται προςταςία επαναλιψεων και εννοιολογικι (semantic) αςφάλεια του κρυπτογραφθμζνου μπλοκ που χρθςιμοποιείται για τθν αςφάλεια των εξερχόμενων πλαιςίων. Ο counter αυτόσ περιζχεται ςε κάκε κρυπτογραφθμζνο πλαίςιο και είναι ζνα απαραίτθτο ςτοιχείο για τθν διαδικαςία αποκρυπτογράφθςθσ ςτουσ παραλιπτεσ. Ο counter αυξάνεται κάκε φορά που ζνα

εξερχόμενο πλαίςιο κρυπτογραφείται. Πταν φτάςει τθ μζγιςτθ τιμι (0xffffffff 16,7 εκατομμφρια ), το ςυνδεδεμζνο με τα κλειδιά υλικό δεν μπορεί να χρθςιμοποιθκεί πλζον, ςυνεπϊσ απαιτείται όλα τα κλειδιά που ςυνδζονται με αυτι τθ ςυςκευι να ανανεωκοφν. Αυτό εξαςφαλίηει ότι τα κλειδιά για κάκε πλαίςιο είναι μοναδικά και ζτςι παρζχεται διαδοχικι ανανζωςθ.

Χαρακτηριςτικϊ αυτόματων αιτόςεων ( automatic request attributes ) : εδϊ βρίςκονται όλεσ οι πλθροφορίεσ που χρειάηονται για τθν αςφάλεια των εξερχόμενων πλαιςίων που δθμιουργοφνται αυτόματα και όχι ωσ αποτζλεςμα ενόσ ανϊτερου επιπζδου, όπωσ είναι οι αυτόματεσ αιτιςεισ δεδομζνων (automatic data request).

Προκαθοριςμϋνη πηγό κλειδιών ( default key source ) : είναι πλθροφορίεσ που είναι ςυνικωσ κοινζσ μεταξφ του αποςτολζα και του παραλιπτθ ενόσ πλαιςίου, οι οποίεσ όταν ςυνδυάηονται με επιπλζον πλθροφορίεσ που περιζχονται ςτα πλαίςια, επιτρζπουν ςτον αποςτολζα ι παραλιπτθ να αποφαςίςει το κλειδί που απαιτείται. Αυτό παρζχει ζνα μθχανιςμό για τθν ςθμαντικι μείωςθ του επιπλζον φορτίου (overhead) τθσ πλθροφορίασ αςφαλείασ που περιζχεται ςτα πλαίςια ςε ςυγκεκριμζνεσ περιπτϊςεισ.

Διεύθυνςη ςυντονιςτόσ PAN ( PAN coordinator address ) : Η διεφκυνςθ του ςυντονιςτι του δικτφου είναι μια πλθροφορία που μοιράηεται ςυνικωσ μεταξφ όλων των ςυςκευϊν ενόσ δικτφου, θ οποία όταν ςυνδυάηεται με επιπλζον πλθροφορία από τα ειςερχόμενα πλαίςια, επιτρζπει ςτον αποςτολζα ενόσ πλαιςίου να ορίςει το κλειδί και τισ πλθροφορίεσ που ςχετίηονται με αυτό και απαιτοφνται για τθν αςφάλεια του πλαιςίου.

4.4 Περύληψη

Στο κεφάλαιο αυτό παρουςιάςαμε τα τουσ ςτόχουσ που κα πρζπει να καλφψει μια

υλοποίθςθ όςο αφορά τα κζματα αςφαλείασ, ποιεσ είναι οι πικανζσ απειλζσ του δικτφου.

Στθ ςυνζχεια αναλφςαμε τουσ μθχανιςμοφσ αςφαλείασ που παρζχονται από το πρότυπο

IEEE 802.15.4 και πωσ αυτοί λειτουργοφν όπωσ επίςθσ και τισ αλλαγζσ που ζχουν γίνει ςτθ

νεότερθ ζκδοςθ του προτφπου αυτοφ.

Page 52: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

52

Κεφϊλαιο 5 – Πλατφόρμα

Περιοριςμϋνων Πόρων

5.1 Ειςαγωγό

Στο κεφάλαιο αυτό κα παρουςιαςτοφν αναλυτικά τα τεχνικά χαρακτθριςτικά τθσ

τεχνολογίασ Tmote-sky που χρθςιμοποιικθκε για τουσ ςκοποφσ τθσ διπλωματικισ. Στο

πρϊτο μζροσ κα παρουςιαςτεί του υλικό – το mote, τον επεξεργαςτι MSP430 και τον

μικροελεγκτι για τθν αςφρματθ μετάδοςθ (CC2420). Στθ δεφτερθ ενότθτα κα παρουςιαςτεί

το λογιςμικό που αφορά τον προγραμματιςμό τθσ ςυγκεκριμζνθσ τεχνολογίασ και

ςυγκεκριμζνα το λειτουργικό TinyOS και θ γλϊςςα προγραμματιςμοφ nesC.

5.2 Τλικό – Hardware

5.2.1. Tmote – Sky

Για τισ ανάγκεσ τθσ διπλωματικισ χρθςιμοποιικθκε το mote Tmote-sky τθσ εταιρείασ moteiv [33]. Το Tmote-sky προζρχεται από τθν ςειρά Telos. Σε ςχζςθ με τθ ςειρά Telos – A το Tmote – sky ζχει αρκετζσ βελτιϊςεισ όπωσ νζο μικροελεγκτι και ποικιλία από πρόςκετεσ λειτουργίασ.

Αρχικά ο μικροελγκτισ MSP430 F1611: Είναι τθσ εταιρείασ Texas Instruments και αντικακιςτά τον F149 που υπιρχε ςτα Telos-A. O F1611 ζχει 10kB RAM και 48kB Flash ζναντι των 2kB και 60kB αντίςτοιχα του F149. Το Tmote-Sky ζχει ζνα μεγαλφτερο 16ΜHz κρυςτάλλινο ταλαντωτι για τον πομποδζκτθ. Αυτόσ ο ταλαντωτισ ζχει εξαιρετικά μικρι τιμι ESR (μικρότερθ από 20Ω) και τυπικά ξεκινά ςε λιγότερο από 580ms. Μια άλλθ αλλαγι είναι ςτθν μνιμθ δεδομζνων flash που ςε ςχζςθ με τθν 4Mbit Atmel AT45DB που είχε το Telos-A, τϊρα ζχουμε 8Mbit ST M25P80 μνιμθ. Και οι δφο τφποι είναι ολοκλθρωμζνα που ςυνδζονται ςειριακά και μοιράηονται τον δίαυλο SPI με τον αςφρματο πομποδζκτθ. Το M25P80 παρζχει τθ δυνατότθτα για προςταςία εγγραφισ. Πταν το Tmote-Sky είναι ςυνδεδεμζνο με τθ USB κφρα, τα bits για τθν προςταςία εγγραφισ μποροφν να γίνουν reset και ζτςι θ μνιμθ να εγγραφεί. Πταν όμωσ αποςυνδεκεί από τθ USB τότε τα κομμάτια τθσ μνιμθσ τα οποία προςτατεφονται από τα bits του μθχανιςμοφ προςταςίασ δεν μποροφν να εγγραφοφν. Η κφρια διαφορά μεταξφ τθσ ΑΤ45DB και τθσ ST M25P80 είναι το μζγεκοσ τθσ διαγραφόμενθσ μονάδασ, 64kb κομμάτια (sectors) ζναντι ςελίδων (pages) των 256byte ςτο ςτθν ΑΤ45DB. Πςο αφορά τθν επζκταςθ, ο 10-pin ςφνδεςμοσ του Telos-A μζνει αναλλοίωτοσ και ςτο Tmote-Sky. Ρροςτίκενται όμωσ τρείσ επιπλζον ςφνδεςμοι. Ζνασ 6-pin IDC δίπλα ςτον 10-pin που παρζχει πρόςβαςθ ςτισ διακοπζσ και ςτισ γραμμζσ του ADC, Timer και ζνα pin γενικοφ ςκοποφ ψθφιακισ ειςόδου/εξόδου. Ζνασ 2-pin IDC κάτω από το USB παρζχεται για τον επιβλζπον τθσ τάςθσ τροφοδοςίασ του μικροελεγκτι. Επίςθσ διακζτει ςφνδεςμο για JTAG. Άλλεσ βελτιϊςεισ περιλαμβάνουν : (α)τθ χριςθ τθσ ςφνδεςθσ τθσ SMA κεραίασ, όταν αυτι δε χρθςιμοποιείται, για άλλουσ ςκοποφσ, (β) το κουμπί χριςτθ (USER) δίπλα ςτο κουμπί του reset ςυνδεδεμζνο με μια διακοπι ςτον μικροελεγκτι , (γ)

Page 53: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

53

βελτιωμζνοσ ςχεδιαςμόσ του reset για να περιοριςτοφν τα προβλιματα κατά τθν ςφνδεςθ με USB, (δ) ευκολότερθ πρόςβαςθ ςτθ γζφυρα βραχυκφκλωςθσ (jumper) R14/15/16.

Σε ςχζςθ με τθν τεχνολογία Telos-B, το Tmote-Sky ζχει μικρι αλλαγι ςτο 8-pin JTAG ςφνδεςμο, θ οποία επιτρζπει ςτθν τροφοδοςία από τθ USB κφρα να μεταφζρεται ςε μια εξωτερικι πλατφόρμα. Με αυτό τον τρόπο μποροφν να τροφοδοτοφνται και να φορτίηονται τα ςυςτιματα που χρθςιμοποιοφν επαναφορτιηόμενεσ μπαταρίεσ μζςω τθσ ςφνδεςισ τουσ με το PC. Επίςθσ διακζτει βελτιωμζνο RF και είναι ςυμβατό με τα ςυςτιματα FCC και IC για χριςθ ςτθν Αμερικι και τον Καναδά και με το ςφςτθμα RoHS για χριςθ ςτθν Ευρϊπθ. Δεν υπάρχουν άλλεσ διαφορζσ μεταξφ του Tmote – Sky και του Telos – B. Στθ ςυνζχεια φαίνεται ζνα mote και τα ςτοιχεία που περιλαμβάνει (πάνω και κάτω όψθ) :

Εικόνα 28 Tmote-sky (άνω όψθ)

Page 54: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

54

Εικόνα 29 Τmote-sky (κάτω όψθ)

Οι διαςτάςεισ του Τmote – Sky φαίνονται ςτθν επόμενθ εικόνα (μετριςεισ ςε εκατοςτά) :

Εικόνα 30 Διαςτάςεισ του Tmote-sky

Page 55: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

55

Το δομικό διάγραμμα :

Εικόνα 31 Δομικό διάγραμμα Τmote-sky

Τροφοδοςύα

Το Tmote-Sky μπορεί να τροφοδοτθκεί με δφο ΑΑ μπαταρίεσ. Μια ειδικι κικθ ςχεδιάςτθκε για να χωράει τισ δφο μπαταρίεσ. Οι δφο ΑΑ μπαταρίεσ μποροφν να χρθςιμοποιθκοφν για ζνα εφροσ 2.1 – 3.6 Volts DC, όμωσ θ τάςθ κα πρζπει να είναι τουλάχιςτον 2.7V κατά τον προγραμματιςμό. Εάν το Tmote Sky είναι ςυνδεδεμζνο ςτθ κφρα USB για προγραμματιςμό ι επικοινωνία, κα τροφοδοτείται από τον υπολογιςτι. Η τάςθ του mote όταν είναι ςυνδεδεμζνο ςτθν USB κφρα είναι 3V. Εάν το Tmote είναι μόνιμα ςυνδεδεμζνο ςε μια κφρα USB, τότε δεν είναι απαραίτθτθ θ χριςθ μπαταριϊν.

Σύνδεςη με υπολογιςτό

Το Tmote-sky χρθςιμοποιεί ζνα USB ελεγκτι από FTDI για επικοινωνία με τον υπολογιςτι. Για να μπορζςει να επικοινωνιςει με το Mote, κα πρζπει να εγκαταςτακοφν οι οδθγοί (drivers) του FTDI ςτον υπολογιςτι. Οι οδθγοί FTDI υπάρχουν για τα εξισ λειτουργικά ςυςτιματα : Windows, Linux, BSD, Macintosh και Windows CE. Μποροφν να είναι πολλαπλά motes ςυνδεδεμζνα ςε ζναν υπολογιςτι.

Αςύρματη Επικοινωνύα

Το Τmote-sky χρθςιμοποιεί τον πομποδζκτθ Chipcon CC2420 για τθν αςφρματθ επικοινωνία. Το CC2420 είναι ζνασ πομποδζκτθσ ςυμβατόσ με το πρωτόκολλο IEEE 802.15.4

Page 56: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

56

που παρζχει λειτουργίεσ φυςικοφ επιπζδου (PHY) και υποςτιριξθ επιπζδου προςπζλαςθσ μζςου (MAC). Ζχει περιςςότερθ ευαιςκθςία από τθν προβλεπόμενθ από το ΙΕΕΕ 802.15.4 και λειτουργία χαμθλισ κατανάλωςθσ. Είναι πολφ ευζλικτο για προγραμματιςμό ςε διάφορεσ εφαρμογζσ, ενϊ οι προεπιλεγμζνεσ ρυκμίςεισ παρζχουν ςυμβατότθτα με το ΙΕΕΕ 802.15.4. Η μετάδοςθ γίνεται ςτα 2.4GHz και με μζγιςτο ρυκμό 250kbps. Μπορεί να επικοινωνιςει με άλλεσ ςυςκευζσ οι οποίεσ ζχουν και αυτζσ το CC2420 ωσ πομποδζκτθ.

Το CC2420 ελζγχεται από τον ελεγκτι MSP430 μζςω μιασ κφρασ SPI και μιασ ςειράσ από ψθφιακζσ ειςόδουσ/εξόδουσ και διακοπζσ. Μπορεί να διακοπεί θ λειτουργία του μζςω του μικροελεγκτι κατά τθ διάρκεια ενόσ κφκλου χαμθλισ κατανάλωςθσ.

Το CC2420 κα αναλυκεί περιςςότερο ςε επόμενθ ενότθτα.

Αιςθητόρεσ

Οι προαιρετικοί αιςκθτιρεσ υγραςίασ και κερμοκραςίασ καταςκευάηονται από τθν Sensirion AG. Τα μοντζλα SHT11 και SHT15 ζχουν τθν δυνατότθτα να τοποκετθκοφν απευκείασ ςτο Tmote-Sky ςτθ κζςθ U3. Οι αιςκθτιρεσ SHT11/15 βακμονομοφνται και παράγουν μια ψθφιακι ζξοδο. Οι ςυντελεςτζσ τθσ βακμονόμθςθσ αποκθκεφονται ςτθν EEPROM μνιμθ του αιςκθτιρα. Η διαφορά μεταξφ του SHT11 και του SHT15 είναι ότι το δεφτερο παράγει μετριςεισ με μεγαλφτερθ ακρίβεια. Οι αιςκθτιρεσ παράγονται με τθν τεχνολογία CMOS και περιλαμβάνουν ζνα 14-bit Α/D μετατροπζα. Ο χαμθλισ κατανάλωςθσ αιςκθτιρασ ςχετικισ υγραςίασ είναι μικρόσ ςε μζγεκοσ και μπορεί να χρθςιμοποιθκεί ςε πολλζσ εφαρμογζσ παρακολοφκθςθσ του περιβάλλοντοσ.

Μια ποικιλία από αιςκθτιρεσ φωτόσ μποροφν να χρθςιμοποιθκοφν με το Tmote-Sky το οποίο ζχει δφο ςυνδζςεισ για φωτοδιόδουσ. Στθν παροφςα φάςθ θ moteiv χρθςιμοποιεί φωτοδιόδουσ τθσ εταιρείασ Hamamatsu Corp. Οι δίοδοι S1087 μετροφν φωτοςυνκετικι ενεργι ακτινοβολία και οι S1087-01 για μζτρθςθ ολόκλθρου του οπτικοφ φάςματοσ και του υπζρυκρου.

Άλλα γενικϊ Χαρακτηριςτικϊ

Τυπικζσ Συνκικεσ Λειτουργίασ

ΜΙΝ ΝΟΜ ΜΑΧ Μονάδα Τάςθ Τροφοδοςίασ 2.1 3.6 V Τάςθ Τροφοδοςίασ κατά τον προγραμματιςμό 2.7 3.6 V Θερμοκραςία λειτουργίασ -40 85 οC Κατανάλωςθ εφματοσ: MCU on, Radio RX 21.8 23 mA Κατανάλωςθ εφματοσ: MCU on, Radio TX 19.5 21 mA Κατανάλωςθ εφματοσ: MCU on, Radio off 1800 2400 μΑ Κατανάλωςθ εφματοσ: MCU idle, Radio off 54.5 1200 μΑ Κατανάλωςθ εφματοσ: MCU standby 5.1 21 μΑ

• Ενςωματωμζνο ADC, DAC, Supply Voltage Supervisor και DMA Controller • Ενςωματωμζνθ ςτθν πλακζτα κεραία με 50μ ακτίνα ςε εςωτερικοφσ χϊρουσ και 125μ ςε εξωτερικοφ. • Ράρα πολφ χαμθλι κατανάλωςθ ρεφματοσ • Hardware link-layer encryption and authentication • TinyOS υποςτιριξθ: υλοποίθςθ δικτφου mesh

Page 57: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

57

5.2.2. MSP430

Η οικογζνεια επεξεργαςτϊν τθσ Texas Instruments MSP430 είναι 16-bit RISC ςυςκευζσ χαμθλισ κατανάλωςθσ [34]. Χρθςιμοποιοφνται ςε εφαρμογζσ χαμθλισ ιςχφοσ. Ωςτόςο περιζχουν ζναν ςφνκετο πυρινα και, ανάλογα το μοντζλο, μια ςειρά από περιφερειακά. Τα διάφορα μοντζλα τθσ οικογζνειασ περιζχουν διαφορετικά περιφερειακά και διαφορετικζσ μνιμεσ. Πλα όμωσ ζχουν JTAG (Joint Test Action Group) διεπαφι.

Κφρια χαρακτθριςτικά τθσ οικογζνειασ MSP430x1xx είναι :

Ρολφ χαμθλι ςε κατανάλωςθ αρχιτεκτονικι που αυξάνει τθν διάρκεια τθσ μπαταρίασ

Υψθλι απόδοςθ ςε αναλογικζσ μετριςεισ

Η 16-bit RISC CPU ενεργοποιεί νζεσ εφαρμογζσ ςε κομμάτια του κϊδικα

Η ενςωματωμζνθ προγραμματιηόμενθ Flash μνιμθ επιτρζπει ευζλικτε αλλαγζσ ςτον κϊδικα, data logging και αναβακμίηεισ πεδίου.

5.2.3. CC2420

Το ολοκλθρωμζνο CC2420 είναι ζνασ πομποδζκτθσ ςτθ ςυχνότθτα των 2.4GHz, ςυμβατόσ με το πρωτόκολλο ΙΕΕΕ 802.15.4, ςχεδιαςμζνο για αςφρματεσ εφαρμογζσ χαμθλισ ιςχφοσ και χαμθλισ τάςθσ [35]. Το CC2420 περιλαμβάνει ζνα μόντεμ με λειτουργία DSSS (digital sequence spread spectrum) που παρζχει κζρδοσ 9dB και ενεργό ρυκμό μετάδοςθσ ςτα 250kbps. Ραρζχει ευρεία υποςτιριξθ υλικοφ για χειριςμό πακζτων, προςωρινι αποκικευςθ δεδομζνων, μετάδοςθ κατά ριπζσ, κρυπτογράφθςθ δεδομζνων και πιςτοποίθςθ και τζλοσ πλθροφορίεσ ςχετικζσ με τθν ποιότθτα τθσ μετάδοςθσ (LQI, RSSI). Τα χαρακτθριςτικά αυτά περιορίηουν το φορτίο ςτον ελεγκτι (MSP430) και επιτρζπει ςτο CC2420 να επικοινωνεί με μικροελεγκτζσ χαμθλοφ κόςτουσ. Η επικοινωνία για τθ ρφκμιςθ των διεπαφϊν και των ουρϊν FIFO εξόδου/ειςόδου του CC2430 γίνεται μζςω διεπαφισ SPI. Το CC2420 είναι βαςιςμζνο ςτθν τεχνολογία SmartRF-03 τθσ Chipcon ςε CMOS 0.18μm.

Εικόνα 32 Διάγραμμα MSP430

Page 58: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

58

Στθν εικόνα 33 φαίνεται θ όψθ από πάνω και οι ακροδζκτεσ του και ςτθν δεφτερθ 34 το δομικό διάγραμμα :

Εικόνα 33 Ακροδζκτεσ CC2420

Εικόνα 34 Δομικό διάγραμμα CC2420

Το CC2420 ζχει ενςωματωμζνο RSSI (Received Signal Strength Indicator) ο οποίοσ μασ δίνει ψθφιακζσ τιμζσ οι οποίεσ μποροφν να διαβαςτοφν από ζναν 8-bit καταχωρθτι (RSSI.RSSI_VAL). Η χαρακτθριςτικι των μετριςεων ςε ςχζςθ με το κζρδοσ φαίνεται παρακάτω :

Εικόνα 35 Χαρακτθριςτικι RSSI CC2420

Page 59: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

59

5.3 Λογιςμικό – Software

5.3.1. NesC

Η nesC (network embedded systems C) είναι μια γλϊςςα προγραμματιςμοφ, βαςιςμζνθ ςε κομμάτια (components), θ οποία χρθςιμοποιείται για ανάπτυξθ εφαρμογϊν ςτθν πλατφόρμα του TinyOS [36], [37]. Είναι μια επζκταςθ τθσ C. Τα βαςικά χαρακτθριςτικά που κρφβονται πίςω από τθν nesC είναι:

Η χριςθ τθσ C παράγει αποδοτικό κϊδικα ο οποίοσ καλφπτει όλα τα είδθ των μικροελεγκτϊν που χρθςιμοποιοφνται ςτα δίκτυα αιςκθτιρων. Η C παρζχει χαρακτθριςτικά χαμθλοφ επιπζδου, απαραίτθτα για επικοινωνία με το υλικό και θ αλλθλεπίδραςθ με υπάρχοντα κομμάτια κϊδικα C είναι απλοφςτερθ. Επιπλζον, πολλοί προγραμματιςτζσ είναι εξοικειωμζνοι με τθν C. Η C ζχει ςθμαντικά μειονεκτιματα: παρζχει λίγθ βοικεια ςτθ γραφι κϊδικα με αςφάλεια ι ςτθν δόμθςθ εφαρμογϊν. Η nesC γίνεται αςφαλισ μζςω μειωμζνθσ εκφραςτικισ δφναμθσ και δόμθςθσ με components.

Διαχωριςμόσ μεταξφ τθσ καταςκευισ και ςφνκεςθσ: τα προγράμματα καταςκευάηονται από components, τα οποία ςυναρμολογοφνται (καλωδιϊνονται – wired) για να ςχθματιςτεί ζνα πλιρεσ πρόγραμμα. Τα components απαρτίηονται από δφο οπτικζσ, μίασ των προδιαγραφϊν τουσ ( περιζχουν τα ονόματα των διεπαφϊν τουσ) και μιασ τθσ υλοποίθςισ τουσ. Τα components ζχουν εςωτερικό παραλλθλιςμό (concurrency) με τθ μορφι των διεργαςιϊν (task). Τα νιματα ελζγχου περνοφν ςε ζνα component μζςω των διεπαφϊν του. Τα νιματα αυτά δρομολογοφνται είτε μζςω των διεργαςιϊν είτε μζςω διακοπϊν υλικοφ (hardware interrupts).

Ρροδιαγραφζσ τθσ ςυμπεριφοράσ των component μζςω των διεπαφϊν: Οι διεπαφζσ μποροφν να παρζχονται ι να χρθςιμοποιοφνται από το component. Οι παρεχόμενεσ διεπαφζσ προςδιορίηουν τθ λειτουργικότθτα του δίνουν ςτο χριςτθ και οι χρθςιμοποιοφμενεσ διεπαφζσ προςδιορίηουν τισ λειτουργίεσ που χρειάηεται ζνα component για να υλοποιιςει τθ λειτουργικότθτά του.

Οι διεπαφζσ είναι διπλισ κατεφκυνςθσ: κακορίηουν μία ςειρά από λειτουργίεσ που πρζπει να υλοποιθκοφν από τον παροχζα τθσ διεπαφισ (command) και μια ςειρά υλοποιιςεων από τον χριςτθ τθσ διεπαφισ (events). Αυτό επιτρζπει ςε μια διεπαφι να αναπαριςτά μια ςφνκετθ αλλθλεπίδραςθ μεταξφ components. Αυτό είναι ςθμαντικό επειδι όλεσ οι πολφπλοκεσ λειτουργίεσ ςτο TinyOS (π.χ. Send packet) δεν μπλοκάρουν τθν εκτζλεςθ του προγράμματοσ (non-blocking), και θ ολοκλιρωςι τουσ ςθμαίνεται μζςω ενόσ γεγονότοσ (event, π.χ. send done). Τυπικά οι εντολζσ καλοφνται από πάνω προσ τα κάτω, π.χ. από components μιασ εφαρμογισ προσ αυτά κοντά ςτο υλικό, ενϊ αντίςτοιχα τα γεγονότα καλοφνται από κάτω προσ τα πάνω. Συγκεκριμζνα βαςικά γεγονότα (events) είναι περιοριςμζνα ςε διακοπζσ υλικοφ.

Τα components είναι ςυνδεδεμζνα ςτατικά μεταξφ τουσ μζςω των διεπαφϊν. Αυτό αυξάνει τθν αποτελεςματικότθτα κατά τθν εκτζλεςθ και επιτρζπει καλφτερθ ςτατικι ανάλυςθ του προγράμματοσ.

Η nesC ςχεδιάςτθκε με προχπόκεςθ ότι ο κϊδικασ κα δθμιουργείται από whole-program μεταγλωττιςτζσ (compilers). Μια ςυνζπεια αυτισ τθσ προχπόκεςθσ είναι ο ανιχνευτισ data – race καταςτάςεων κατά τθν ϊρα τθσ μεταγλϊττιςθσ.

Page 60: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

60

Το μοντζλο παράλλθλου προγραμματιςμοφ ςτθ nesC είναι βαςιςμζνο ςε διεργαςίεσ που τρζχουν μζχρι να τελειϊςουν (run-to-completion) και ςε διαχειριςτζσ διακοπϊν (interrupt handlers) οι οποίοι διακόπτουν τισ διεργαςίεσ ι άλλεσ διακοπζσ.

Από τα παραπάνω μποροφν να εξαχκοφν τα εξισ γενικά χαρακτθριςτικά τθσ δομισ ενόσ κϊδικα εφαρμογισ ςε nesC:

Εικόνα 36 Δομι εφαρμογισ ςε nesC

Η ςυγκεκριμζνθ δομι αποτελείται από διεπαφζσ και επιμζρουσ τμιματα κϊδικα, τα components. Η κάκε διεπαφι, τϊρα, μπορεί να χρθςιμοποιθκεί ι να παραςχεκεί από τα components, τα οποία διακρίνονται ςε υπομονάδεσ (modules) και ςυνκζςεισ τμθμάτων (configurations). H δομι μιασ εφαρμογισ φαίνεται ςτθν παρακάτω εικόνα:

5.3.2. TinyOS

Το TinyOS (tiny microthreading operating system) [38] είναι ζνα νζο είδοσ λειτουργικοφ ςυςτιματοσ ςχεδιαςμζνο για τα αςφρματα δίκτυα αιςκθτιρων. Αρχικά είχε γραφτεί ςε γλϊςςα C αλλά, όπωσ είδαμε και ςτθν προθγοφμενθ ενότθτα, δε μποροφςε να υποςτθρίξει τισ εφαρμογζσ των δικτφων αιςκθτιρων αποτελεςματικά. Ζτςι ζγινε θ μετάβαςθ ςτθν nesC. Το TinyOS αξιοποιεί μια μοναδικι αρχιτεκτονικι προγράμματοσ, θ οποία ςχεδιάςτθκε ειδικά για περιοριςμζνων πόρων πλατφόρμεσ αιςκθτιρων. Είναι βαςιςμζνθ ςτθν αρχι τθσ ςφνδεςθσ (wiring) μεταξφ των components για τθν δθμιουργία μιασ εφαρμογισ. Κατά τθν διάρκεια τθσ εκτζλεςθσ μιασ τυπικισ διαδικαςίασ ςε κάκε λειτουργικό ςφςτθμα, θ μνιμθ για τθ ςτοίβα (stack) κατανζμεται για τθν αποκικευςθ ενεργϊν εγγραφϊν και τοπικϊν μεταβλθτϊν. Αυτό τυπικά γίνεται για κάκε μια ξεχωριςτι διεργαςία. Ωςτόςο, από τθ ςτιγμι που οι περιςςότεροι μικροελεγκτζσ χαμθλισ κατανάλωςθσ ζχουν περιοριςμζνο μζγεκοσ μνιμθσ , οι ςχεδιαςτζσ του TinyOS επζλεξαν να υιοκετιςουν ζνα νζο μοντζλο εκτζλεςθσ το οποίο ταιριάηει με τα ςενάριο περιοριςμζνθσ μνιμθσ. Για να ελαχιςτοποιθκεί το μζγεκοσ τθσ μνιμθσ που χρθςιμοποιείται κατά τθν εκτζλεςθ, οι εφαρμογζσ ςτο TinyOS αποτελοφνται από πολλαπλζσ διεργαςίεσ οι οποίεσ

Page 61: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

61

όλεσ μοιράηονται μία ςτοίβα. Εξαιτίασ αυτοφ του ςχεδιαςμοφ, μια διεργαςία κα πρζπει να εκτελείται μζχρι να τελειϊςει (run-to-completion) πριν δϊςει τον επεξεργαςτι και τθ ςτοίβα ςε μία άλλθ διεργαςία. Αυτζσ οι διεργαςίεσ μποροφν να διακοποφν από διαχειριςτζσ γεγονότων υλικοφ, οι οποίοι και αυτοί τρζχουν μζχρι να τελειϊςουν, αλλά πριν δϊςουν πίςω τι ςτοίβα κα πρζπει να ςϊςουν τισ απαραίτθτεσ μεταβλθτζσ κατάςταςθσ ςτθ γενικι μνιμθ.

TinyOS Components

Ζνα ακόμθ ξεχωριςτό κομμάτι του TinyOS [40] είναι θ χριςθ των components για τθ δθμιουργία των εφαρμογϊν, ζναντι τθσ ανάπτυξθσ βιβλιοκθκϊν με ςυναρτιςεισ οι οποίεσ κα μποροφςαν να κλθκοφν από τα προγράμματα του χριςτθ. Αυτά τα components είναι ξεχωριςτά κομμάτια κϊδικα, τα οποία ζχουν ςαφϊσ οριςμζνεσ διεπαφζσ για είςοδο και ζξοδο. Για να μπορζςει να παρζχεται μια διεπαφι, κα πρζπει ςτο component να υλοποιθκεί μια ςειρά από εντολζσ από τισ διεπαφζσ. Για να μπορζςει να χρθςιμοποιθκεί μια διεπαφι, ζνα component κα πρζπει να υλοποιεί μια διαφορετικι ςειρά από ςυναρτιςεισ που ονομάηονται events. Με τθ χριςθ αυτισ τθσ δομισ, ζνα component που κζλει να χρθςιμοποιιςει τισ εντολζσ μιασ ςυγκεκριμζνθσ διεπαφισ, κα πρζπει επίςθσ να υλοποιιςει και τα γεγονότα (events) αυτισ τθσ διεπαφισ. Από τθ ςτιγμι που μια ςειρά από component ζχει αναπτυχκεί, κα πρζπει να οργανωκεί με ζνα τρόπο ανάλογο μιασ εφαρμογισ για να υλοποιθκεί θ λειτουργία μιασ εφαρμογισ. Αυτό γίνεται με τθ χριςθ component διαμόρφωςθσ (configuration). Αυτά τα component ενϊνουν τα λειτουργικά component μεταξφ τουσ. Στα ςυνδεδεμζνα component, κάκε ζνα που υλοποιεί μια διεπαφι μπορεί να τθ χρθςιμοποιιςει ι να τθν παρζχει, όπωσ και πολλαπλά ςτιγμιότυπα μιασ ςυγκεκριμζνθσ διεπαφισ. Πταν ολοκλθρωκεί, μια εφαρμογι του TinyOS μπορεί να αναπαριςτάται ωσ ζνα ευκφ γράφθμα ςτο οποίο οι ενϊςεισ των εντολϊν και των ςυμβάντων μεταξφ των components υπαγορεφουν τα όρια του γραφιματοσ. Αυτι θ δομι μπορεί να φανεί ωσ ζνα δζντρο ανάποδα, όπου οι ρίηεσ είναι μια απλι διεργαςία που εκτελείται, και θ κάτω ςειρά των φφλλων είναι οι διαχειριςτζσ των γεγονότων του υλικοφ. Το ςχεδιάγραμμα μιασ εφαρμογισ και των components φαίνεται παρακάτω:

Εικόνα 37 Δομι εφαρμογισ ςτο TinyOS

Το TinyOS αποτελείται από ζναν χρονοπρογραμματιςτι (scheduler) και μια ςειρά από υπομονάδεσ (modules). Η εφαρμογι και οι υπομονάδεσ μεταγλωττίηονται μαηί για να

Page 62: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

62

υλοποιθκεί το ςφςτθμα. Από τθν κορυφι προσ τα κάτω, υπάρχουν οι εξισ υπομονάδεσ : κφρια (main), θ υπομονάδα τθσ εφαρμογισ και θ υπομονάδα επιπζδου υλικοφ. Η τελευταία φορτίηεται με τθν ιδιότθτα τθσ αποςτολισ και λιψθσ των αρχικϊν δεδομζνων. Η υπομονάδα τθσ εφαρμογισ απαντά ςτθν ςυμπίεςθ, δρομολόγθςθ και μετάδοςθ των δεδομζνων. Το πλαίςιο αυτϊν των εργαςιϊν φαίνεται ςτο παρακάτω ςχεδιάγραμμα :

Main (περιζχει τον χρονοπρογραμματιςτι)

Εφαρμογι (components του χριςτθ) Διεργαςίεσ Αίςκθςθ Επικοινωνία

Υλικό (hardware)

Χρονοπρογραμματιςμόσ ςτο TinyOS (scheduler)

Το TinyOS εκτελεί μόνο ζνα πρόγραμμα που αποτελείται από επιλεγμζνα components του ςυςτιματοσ και προςαρμοςμζνα components που χρειάηονται για μια εφαρμογι. Οι ρυκμίςεισ ενόσ πλιρουσ ςυςτιματοσ αποτελοφνται από ζνα μικρό χρονοπρογραμματιςτι και ζνα γράφο των components. Τρζχει ςε ζνα πεδίο διευκφνςεων και περιζχει δφο περιβάλλοντα εκτζλεςθσ : διαχειριςτζσ διακοπϊν που τρζχουν με μεγαλφτερθ προτεραιότθτα και διεργαςίεσ που εξυπθρετοφνται με τθ λογικι FIFO (μζγιςτοσ αρικμόσ διεργαςιϊν ςτθν ουρά είναι 8 ) με χαμθλότερθ προτεραιότθτα.

Επικοινωνύα ςτο TinyOS

Η επικοινωνία ςτο TinyOS βαςίηεται ςτθν παρακάτω ςτοίβα [42]:

Εικόνα 38 Τφποι χρονοπρογραμματιςτϊν (schedulers)

Page 63: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

63

Εικόνα 39 Στοίβα επικοινωνίασ ςτο TinyOS

Τα επίπεδα από κάτω προσ τα πάνω περιγράφονται ωσ εξισ:

Επίπεδο bit (RFM - RF module – μονάδα επικοινωνίασ): Σε αυτό το επίπεδο μπορεί να κακοριςκεί ο τρόποσ λειτουργίασ (εκπομπι ι λιψθ) και ο ρυκμόσ δειγματολθψίασ, να λθφκεί ι να αποςταλεί ζνα bit και να υπάρξει κατάλλθλθ ειδοποίθςθ για το αν θ εκπομπι ι λιψθ ολοκλθρϊκθκε, ζτςι ϊςτε να μεταβεί το RFM ςε ανενεργι κατάςταςθ ι γενικά ςε μικρι κατανάλωςθ ενζργειασ κατάςταςθ.

Επίπεδο byte (Radio byte) : Αυτό το επίπεδο είναι υπεφκυνο για τθν κωδικοποίθςθ των bit μετάδοςθσ (κωδικοποίθςθ Manchester) ςε επίπεδο byte, τθν ανίχνευςθ και διόρκωςθ λακϊν, και τθν ανίχνευςθ του επιπζδου ιςχφοσ του ςιματοσ ζτςι ϊςτε να μπορεί να εντοπιςτεί αν το κανάλι είναι ελεφκερο για μετάδοςθ δεδομζνων, διαφορετικά ειςζρχεται θ μονάδα επικοινωνίασ ςε αναμονι για ζνα τυχαίο χρονικό διάςτθμα.

Επίπεδο πακζτου (Radio packet) : Σε αυτό το επίπεδο γίνεται 16-bit crc ζλεγχοσ και δθμιουργία πλεονάηουςασ εκπομπισ δεδομζνων.

Επίπεδο μθνφματοσ (Messaging) : Εδϊ, οι πλθροφορίεσ ενςωματϊνονται ςε πακζτα (διαίρεςθ, ςυνδυαςμόσ) και γίνεται δρομολόγθςι τουσ ςφμφωνα με κατάλλθλεσ διευκφνςεισ προσ τθν μονάδα επικοινωνίασ (broadcast) ι τθν ςειριακι κφρα (UART). Μζροσ δε αυτοφ, αποτελεί και ο AM dispatcher ο οποίοσ κατευκφνει τα πακζτα-ενεργά μθνφματα προσ τουσ αντίςτοιχουσ χειριςτζσ πακζτων (packet handlers)

Επίπεδο εφαρμογισ (Application) : Σε αυτό το επίπεδο αναπτφςςονται τα πρωτόκολλα δρομολόγθςθσ, οι εφαρμογζσ και γενικά θ επεξεργαςία δεδομζνων που παρζχονται από τα πακζτα μετάδοςθσ.

Υλοπούηςη TinyOS Component και παρϊδειγμα εφαρμογόσ Blink

Στθ ςυνζχεια κα δείξουμε ζνα παράδειγμα μιασ απλισ εφαρμογισ υλοποιθμζνθσ ςτο TinyOS [39]. Στθν εικόνα δίπλα φαίνεται ρφκμιςθ (configuration) ενόσ component (TinyOS Timer). Η υπθρεςία του timer υλοποιείται με τθ χριςθ δφο άλλων components. Ο κϊδικα που ακολουκεί ενϊνει τα δφο εςωτερικά components. Το components TimerC παρζχει επίςθσ δφο διεπαφζσ, StdControl και Timer.

Page 64: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

64

Το επόμενο κομμάτι κϊδικα δείχνει τθν υλοποίθςθ τθσ εφαρμογισ TinyOS BlinkM θ

οποία πυροδοτεί ζνα LED όταν το ρολόι ενεργοποιεί ζνα γεγονόσ. Το component περιζχει μόνο μια εςωτερικι μεταβλθτι κατάςταςθσ, θ οποία κακορίηει τθν κατάςταςθ του LED. Ραρζχει και χρθςιμοποιεί μια διεπαφι για επικοινωνία μζςα ςτο component.

/**

* Implementation for Blink application. Toggle the red LED when a

* Timer fires.

**/

module BlinkM {

provides {

interface StdControl;

}

uses {

interface Timer;

interface Leds;

}

}

implementation {

/**

* Initialize the component.

* @return Always returns SUCCESS

**/

command result_t StdControl.init() {

call Leds.init();

return SUCCESS;

}

/**

* Start things up. This just sets the rate for the clock

component.

* @return Always returns SUCCESS

**/

command result_t StdControl.start() {

// Start a repeating timer that fires every 1000ms

return call Timer.start(TIMER_REPEAT, 1000);

}

/**

* Halt execution of the application.

Configuration TimerC {

Provides {

Interface StdControl;

Interface Timer [uint8_t id];

}

}

Implementation {

Components TimerM, HWClock;

StdControl = TimerM.StdControl;

Timer = TimerM .Timer;

TimerM.Clk-> HWClock.Clock;

}

Εικόνα 40 TinyOS Component

Page 65: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

65

* This just disables the clock component.

* @return Always returns SUCCESS

**/

command result_t StdControl.stop() {

return call Timer.stop();

}

/**

* Toggle the red LED in response to the Timer.fired event.

*

* @return Always returns SUCCESS

**/

event result_t Timer.fired()

{

call Leds.redToggle();

return SUCCESS;

}

}

Ενεργϊ Μηνύματα (active message)

Το ενεργό μινυμα, active message [41], είναι ζνα εκτατό παράδειγμα για επικοινωνία βαςιςμζνθ ςτα μθνφματα που χρθςιμοποιείται ευρζωσ ςε παράλλθλα και κατανεμθμζνα ςυςτιματα υπολογιςτϊν. Κάκε ζνα από τα ενεργά μθνφματα περιζχει το όνομα ενόσ χειριςτι επιπζδου εφαρμογισ ο οποίοσ επικαλείται ςτον κόμβο κατά τθν άφιξθ και ζνα φορτίο δεδομζνων ωσ όριςμα. Η ςυνάρτθςθ του χειριςτι υπθρετεί διττό ςκοπό, να βγάλει το μινυμα από το δίκτυο και είτε να ενςωματϊςει τα δεδομζνα ςτον υπολογιςμό είτε να ςτείλει μια απάντθςθ. Το δίκτυο μοντελοποιείται ωσ ζνασ αγωγόσ από μικροςκοπικό χϊρο αποκικευςθσ μθνυμάτων. Αυτό μειϊνει πολλζσ από τισ δυςκολίεσ τισ αποκικευςθσ που υπιρχαν με τθ χριςθ πρωτοκόλλων πακζτου ι ειδικοφσ χϊρουσ αποκικευςθσ (buffers) για είςοδο/ζξοδο. Για να αποφευχκεί θ ςυμφόρθςθ του δικτφου και για να εξαςφαλιςκεί επαρκισ ποιότθτα, οι χειριςτζσ των μθνυμάτων πρζπει να είναι ςε κζςθ να εκτελοφν γριγορα και αςφγχρονα. Ραρόλο που τα ενεργά μθνφματα προζρχονται από τον παράλλθλο προγραμματιςμό μεγάλθσ κλίμακασ, οι ίδιεσ βαςικζσ αρχζσ μποροφν να χρθςιμοποιθκοφν για να επιτευχκοφν οι περιοριςμοί του δικτφου αιςκθτιρων. Ειδικότερα, θ ελαφριά αρχιτεκτονικι ενόσ ενεργοφ μθνφματοσ μπορεί να δράςει αποδοτικά ϊςτε να εξιςορροπθκεί θ ανάγκθ για ευρφ πλαίςιο επικοινωνίασ ενϊ κρατείται ςτακερά θ αποτελεςματικότθτα και θ ευελιξία. Κυριότερο όλων, το μοντζλο των χειριςτϊν βαςιςμζνο ςτθν κλιςθ μζςω γεγονότων επιτρζπει ςτουσ μθχανικοφσ ανάπτυξθσ λογιςμικοφ να αποφφγουν καταςτάςεισ busy-waiting για δεδομζνα που λαμβάνονται και επιτρζπει ςτο ςφςτθμα να επικαλφπτει τθν επικοινωνία με άλλεσ δραςτθριότθτεσ όπωσ επικοινωνία με τουσ αιςκθτιρεσ ι εκτζλεςθ άλλων εφαρμογϊν.

Message_T

Στθν ενότθτα αυτι κα αναλφςουμε τον buffer message_t οποίοσ χρθςιμοποιείται από το TinyOS 2.x [39]. Στο TinyOS 1.x ο buffer των μθνυμάτων ιταν TOS_Msg, περιείχε ζνα ενεργό μινυμα (active message – ΑΜ) όπωσ επίςθσ και μζτα-δεδομζνα (metadata) όπωσ bit επιβεβαίωςθσ, ιςχφσ ςιματοσ κλπ. Το TOS_Msg ζχει δομι ςτακεροφ μικουσ το οποίο ορίηεται από το μζγιςτο μικοσ του φορτίου του AM (προκακοριςμζνο μζγεκοσ 29bytes). Το

Page 66: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

66

προκακοριςμζνο μικοσ επιτρζπει ςτο TinyOS 1.x να ζχει μθδενικά αντίτυπα : όταν ζνα component λαμβάνει ζνα buffer, αντί να αντιγράφει τα περιεχόμενά του μπορεί να επιςτρζφει το δείκτθ ςε ζνα νζο buffer ϊςτε το επόμενο επίπεδο να λάβει το επόμενο μινυμα. Η κακοριςμζνθ όμωσ δομι του TOS_Msg εμφανίηει προβλιματα όταν κζλουμε να χρθςιμοποιιςουμε το standard ΙΕΕΕ 802.15.4 το οποίο χρειάηεται επιπλζον πεδία επικεφαλίδασ (header). Ζτςι ορίηεται θ δομι του TOS_Msg για το TinyOS 1.x και για πλατφόρμεσ με το ολοκλθρωμζνο CC2420 :

typedef struct TOS_Msg {

// Τα ακόλοσθα πεδία μεηαδίδονηαι μέζφ ηοσ πομποδέκηη

uint8_t length;

uint8_t fcfhi;

uint8_t fcflo;

uint8_t dsn;

uint16_t destpan;

uint16_t addr;

uint8_t type;

uint8_t group;

int8_t data[TOSH_DATA_LENGTH];

// Τα επόμενα πεδία ζηην πραγμαηικόηηηα δεν μεηαδίδονηαι ή

// λαμβάνονηαι από ηον πομποδέκηη. Χρηζιμοποιούνηαι για εζφηερική

// αρίθμηζη μόνο. Ο λόγος ποσ είναι μέζα ζε ασηή ηη δομή είναι όηι

// η διεπαθή ΑΜ απαιηεί να είναι μέρος ηοσ TOS_Msg ποσ περνούν ζηις

// λειηοσργίες αποζηολής και λήυης.

uint8_t strength;

uint8_t lqi;

bool crc;

uint8_t ack;

uint16_t time;

} TOS_Msg;

Σε αντιδιαςτολι με το TinyOS 1.x ςτο TinyOS 2.x το standard μινυμα είναι το message_t. Η δομι του φαίνεται παρακάτω :

typedef nx_struct message_t {

nx_uint8_t header[sizeof(message_header_t)];

nx_uint8_t data[TOSH_DATA_LENGTH];

nx_uint8_t footer[sizeof(message_footer_t)];

nx_uint8_t metadata[sizeof(message_metadata_t)];

} message_t;

Σχεδιαςτικά θ δομι του message_t και του CC2420 :

11 bytes TOSH_DATA_LENGTH 7 bytes

+-----------+-----------------------------+-------+

message_t | header | data | meta |

+-----------+-----------------------------+-------+

+-----------+------------+ +-------+

CC2420 | header | data | | meta |

+-----------+------------+ +-------+

Page 67: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

67

Αυτι θ δομι κρατά ςτακερό το offset των δεδομζνων ανάλογα τθν πλατφόρμα, το οποίο είναι ςθμαντικό όταν περνάμε το μινυμα μεταξφ δφο διαφορετικϊν επιπζδων. Εάν το φορτίο του μθνφματοσ είχε διαφορετικό offset για τα διάφορα επίπεδα, τότε θ μετάδοςθ του πακζτου μεταξφ των επιπζδων κα χρειαηόταν αντιγραφι ςτθν μνιμθ (memmove(3)). Σε αντίκεςθ με το TinyOS 1.x όπου το TOS_Msg είναι μόνο ζνα ενεργό μινυμα, το message_t είναι γενικότερα ζνασ buffer δεδομζνων. Στθν πράξθ, τα περιςςότερα επίπεδα ςτο TinyOS 2.x παρζχουν ενεργά μθνφματα, αλλά υπάρχει περίπτωςθ μια μθ ενεργοφ μθνφματοσ ςτοίβα να μοιράηεται μθνφματα message_t με ςτοίβεσ ενεργϊν μθνυμάτων.

5.4 Περύληψη

Στο κεφάλαιο αυτό παρουςιάςαμε τθν πλατφόρμα περιοριςμζνων πόρων πάνω ςτθν οποία

βαςίςτθκε και υλοποιικθκε αυτι θ διπλωματικι. Συγκεκριμζνα παρουςιάςτθκε ο κόμβοσ

(Tmote Sky), ο μικροελεγκτισ (ΤΙ MSP 430) και ο πομποδζκτθσ (CC2420 radio). Στθ ςυνζχεια

αναλφςαμε το λογιςμικό με το οποίο εργαςκικαμε και ςυγκεκριμζνα είδαμε τα

πλεονεκτιματα τθσ nesC και το λειτουργικό ςφςτθμα TinyOS.

Page 68: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

68

Κεφϊλαιο 6 – Τλοπούηςη

6.1 Ειςαγωγό

Σε αυτό το κεφάλαιο κα αναπτφξουμε τουσ μθχανιςμοφσ αποςτολισ και λιψθσ ενόσ πλαιςίου ςφμφωνα με τθν υλοποίθςι μασ. Κυρίωσ κα μελετιςουμε τθ δομι του CC2420 Stack, τθ δομι του πλαιςίου, τισ διαφορζσ του CSMA αλγορίκμου ςε ςχζςθ με το IEEE802.15.4 και ποιεσ αλλαγζσ ιταν αναγκαίεσ για να γίνουν ϊςτε να είναι ςυμβατόσ με το πρότυπο 802.15.4. Στθ ςυνζχεια κα μελετιςουμε τθν αςφάλεια υλικοφ (HW security) που μασ παρζχεται από το ολοκλθρωμζνο CC2420 και πωσ γίνεται θ διαδικαςία κρυπτογράφθςθσ ςφμφωνα με τθ μζκοδο CTR. Τζλοσ, παρουςιάηουμε τθν υλοποίθςθ του μθχανιςμοφ αςφαλείασ από το υλικό (HW security) ςφμφωνα με το πρότυπο ΙΕΕΕ 802.15.4 και τισ λειτουργίεσ του CC2420. Επίςθσ, χρθςιμοποιϊντασ βιβλιοκικεσ ανοικτοφ κϊδικά (open source) δθμιουργιςαμε μθχανιςμοφσ αςφαλείασ λογιςμικοφ (SW) με τθν τεχνικι AES και RC6.

6.2 CC2420 Stack

6.2.1. Επύπεδα CC2420 Stack

Ππωσ αναφζρεται ςτισ προδιαγραφζσ του CC2420 Stack που υλοποιείται ςτο TinyOS, αυτό αποτελείται από διάφορα επίπεδα που βρίςκονται μεταξφ τθσ εφαρμογισ και του υλικοφ [39]. Τα ανϊτερα ςτρϊματα διαμορφϊνουν τα δεδομζνα και τισ επικεφαλίδεσ κάκε πακζτου, ενϊ τα κατϊτερα αποφαςίηουν τθν πραγματικι ςυμπεριφορά τθσ αποςτολισ και λιψθσ τουσ. Η διαςφνδεςθ των διαφόρων κομματιϊν τθσ ςτοίβασ φαίνονται από κάτω :

// SplitControl Layers

SplitControl = LplC;

LplC.SubControl -> CsmaC;

// Send Layers

AM.SubSend -> UniqueSendC;

UniqueSendC.SubSend -> LinkC;

LinkC.SubSend -> LplC.Send;

LplC.SubSend -> TinyosNetworkC.Send;

TinyosNetworkC.SubSend -> CsmaC;

// Receive Layers

AM.SubReceive -> LplC;

LplC.SubReceive -> UniqueReceiveC.Receive;

UniqueReceiveC.SubReceive -> TinyosNetworkC.Receive;

TinyosNetworkC.SubReceive -> CsmaC

Με τθ ςειρά που τα βρίςκουμε από το ανϊτερο προσ το κατϊτερο ζχουμε:

ActiveMessageP: είναι το ανϊτερο επίπεδο του stack υπεφκυνο για τθν πλιρωςθ των επικεφαλίδων και παρζχει πλθροφορίεσ για το πακζτο προσ το ανϊτερο επίπεδο τθσ εφαρμογισ. Οι επικεφαλίδεσ είναι αυτοί που χρθςιμοποιοφνται και ςτο πρωτόκολλο IEEE 802.15.4.

Page 69: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

69

UniqueSend: εδϊ δθμιουργείται ο μοναδικόσ αρικμόσ αποςτολισ (data sequence number – DSN) που μπαίνει ςτθν επικεφαλίδα. Αυτόσ αυξάνεται για κάκε πακζτο που αποςτζλλεται και ξεκινά με ψευδό-τυχαία ςειρά. Ο παραλιπτθσ μπορεί να αναγνωρίςει διπλότυπα μθνφματα απλά ςυγκρίνοντασ αυτοφσ τουσ αρικμοφσ. Ο DSN αρικμόσ ορίηεται και αυτόσ από το ΙΕΕΕ 802.15.4.

PacketLink: εδϊ παρζχεται ο μθχανιςμόσ των αυτόματων επανεκοπμπϊν όταν δεν υπάρξει επιβεβαίωςθ από τον παραλιπτθ (acknowledgment). Η λειτουργία αυτι ενεργοποιείται ξεχωριςτά για κάκε μινυμα και είναι αξιόπιςτθ περιςςότερο για επιβεβαιϊςεισ που βαςίηονται ςε λογιςμικό και όχι ςε αυτόματεσ επιβεβαιϊςεισ υλικοφ.

CC2420AckLplP / CC2420NoAckLplP: εδϊ παρζχεται υλοποίθςθ αςφγχρονθσ ακρόαςθσ χαμθλισ κατανάλωςθσ (low power listening – LPL).

UniqueReceive: το επίπεδο αυτό διατθρεί ζνα ιςτορικό των διευκφνςεων των αποςτολζων και των αρικμϊν DSN και βοθκά για το φιλτράριςμα των διπλοεγγραφϊν.

TinyosNetworkC: το επίπεδο αυτό επιτρζπει ςτο TinyOS 2.x να επικοινωνεί με άλλα δίκτυα εκτόσ τουTinyOS. Με χριςθ ενόσ πεδίου 6LowPAN μετά τθν επικεφαλίδα μπορεί να γίνει φιλτράριςμα των πακζτων που προζρχονται εκτόσ των TinyOS δικτφων.

CsmaC: αυτό το επίπεδο είναι υπεφκυνο για τον οριςμό του FCF byte ενόσ εξερχόμενου πακζτου. Ραρζχει επίςθσ τουσ χρόνουσ backoff όταν το κανάλι ανιχνεφεται καταλυμζνο και ορίηει τθν διαδικαςία για τθν ενεργοποίθςθ / απενεργοποίθςθ του πομποδζκτθ.

TransmitP / ReceiveP: αυτά τα επίπεδα είναι υπεφκυνα για τθν ευκεία αλλθλεπίδραςθ με τον πομποδζκτθ μζςω του διαφλου SPI, διακοπϊν και γραμμϊν GPIO.

6.2.2. Πλαύςιο CC2420

Αναφορικά με τθ δομι τθσ επικεφαλίδασ που δθμιουργείται όπωσ είδαμε από το επίπεδο ActiveMessageP και το UniqueSend ζχουμε τθν εξισ μορφι:

typedef nx_struct cc2420_header_t {

nxle_uint8_t length;

nxle_uint16_t fcf;

nxle_uint8_t dsn;

nxle_uint16_t destpan;

nxle_uint16_t dest;

nxle_uint16_t src;

nxle_uint8_t network; // αν ετοσμε 6LowPAN

nxle_uint8_t type;

} cc2420_header_t;

Πλα τα πεδία μζχρι το network ορίηονται από το πρωτόκολλο IEEE 802.15.4 ενϊ το πεδίο network βαςίηεται ςτθν υπθρεςία που παρζχεται για τθν διαςφνδεςθ με άλλα δίκτυα εκτόσ των TinyOS δικτφων. Το τελευταίο πεδίο (type) είναι ειδικό ιδιάηον του TinyOS. Το TinyOS παρζχει δφο τφπουσ πλαιςίων, τα T-Frame και τα I-Frame. Το πρϊτο δεν περιζχει το πεδίο network. Αξιοςθμείωτο επίςθσ είναι ότι δεν υπάρχει πεδίο ςτο τζλοσ του πλαιςίου (footer) που να μπαίνει από το λογιςμικό. Τα δφο byte CRC ενςωματϊνονται αυτόματα από τον πομποδζκτθ CC2420. Το μζγιςτο μικοσ ενόσ πλαιςίου είναι τα 128 bytes (μαηί με header και footer), το οποίο ταιριάηει με το IEEE 802.15.4. Μπορεί όμωσ αυτό να

Page 70: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

70

μεταβλθκεί. Αυξάνοντάσ το, αυξάνουμε τθν απόδοςθ ςε κίνθςθ (throughput) των δεδομζνων και τθν κατανάλωςθ ςε μνιμθ RAM αλλά επίςθσ και τθν πικανότθτα να καταςτραφεί ζνα πακζτο και να χρειαςτεί να επανεκπεμφκεί.

6.2.3. Προςπϋλαςη μϋςου ςτο CC2420 Stack

Ππωσ και με το IEEE 802.15.4, ζτςι και εδϊ, για τθν διευκζτθςθ του καναλιοφ και τθσ πρόςβαςθσ ςε αυτό, χρθςιμοποιείται θ τεχνικι CCA (clear channel assessment). Αν το κανάλι είναι κατειλθμμζνο, ο αποςτολζασ περιμζνει ζνα τυχαίο χρονικό διάςτθμα, πριν δοκιμάςει και πάλι να εκπζμψει. Δίνεται επίςθσ θ δυνατότθτα απενεργοποίθςθσ τθσ λειτουργίασ αυτισ από επίπεδα υψθλότερα του CSMA. Η διάρκεια του χρόνου backoff υλοποιείται ςε τρεισ τφπουσ : αρχικό, ςφγκρουςθσ και χαμθλισ κατανάλωςθσ.

6.2.4. Αλγόριθμοσ CSMA ςτο CC2420 Radio Stack

Κακϊσ το πλαίςιο μεταφζρεται από τα ανϊτερα ςτρϊματα προσ τα κατϊτερα φτάνει ςτο MAC υποεπίπεδο. Εκεί λαμβάνει χϊρα ο CSMA-CA αλγόρικμοσ για τθ μετάδοςι του. Για τθ μετάδοςθ του πλαιςίου περνάμε από διάφορα ςτάδια (ςυναρτιςεισ). Αρχικά κα πρζπει να φορτωκεί ςτο TXFIFO του CC2420. Στθ ςυνζχεια, και για όςα πλαίςια βρίςκονται ιδθ μζςα ςτθν ουρά TXFIFO γίνεται θ πρϊτθ προςπάκεια εκπομπισ τουσ. Ξεκινά με ζνα αρχικό backoff χρόνο (myInitialBackoff). Στθ ςυνζχεια, και ενϊ ακόμα δεν ζχει αποςταλεί (βρίςκεται εντόσ τθσ TXFIFO ουράσ) γίνεται ο ζλεγχοσ για τθν αςφάλεια, και κρυπτογραφείται το πλαίςιο ανάλογα. Στθ ςυνζχεια ελζγχεται το κανάλι ςφμφωνα με τθν CCA τεχνικι (εντολι STXONCCA). Αν το βρει κατειλθμμζνο (congestion = true) κα πρζπει να γίνει reset ο backoff timer και να προςπακιςει ξανά μετά από χρόνο backoff (myCongestionBackoff). Αν όμωσ το κανάλι είναι ελεφκερο, κα ςταλεί μια διακοπι (interrupt) SFD που δθλϊνει ότι το πακζτο ςτάλκθκε.

6.3 CSMA: Η υλοπούηςό μασ

Ππωσ βλζπουμε ο αλγόρικμοσ του CC2420 Radio Stack (TinyOS) δεν είναι απόλυτα

ςυμβατόσ με τον αλγόρικμο του IEEE 802.15.4. Οι τρεισ βαςικζσ διαφορζσ που υπάρχουν είναι:

1. Ο χρόνοσ του backoff κα πρζπει να είναι μια τυχαία χρονικι ςτιγμι μζςα ςτο πεδίο τιμϊν [0 : 2BE-1] μονάδων backoff, όπου θ τιμι BE (backoff exponent) είναι μια τιμι που ςυνδζεται με το πόςεσ χρονικζσ περίοδοι κα πρζπει να περιμζνει μια ςυςκευι πριν δοκιμάςει να λάβει πρόςβαςθ ςτο κανάλι. Στα ςυςτιματα που χρθςιμοποιοφν unslotted μετάδοςθ, όπωσ το δικό μασ, το BE κα πρζπει να αρχικοποιθκεί με τθν τιμι macMinBE. Η προεπιλεγμζνθ τιμι του είναι 3. Η τιμι αυτισ τθσ χρονικισ κακυςτζρθςθσ ςτο TinyOS stack είναι : rand16() % (0x1F * CC2420_BACKOFF_PERIOD) + CC2420_MIN_BACKOFF με CC2420_BACKOFF_PERIOD = 20/CC2420_TIME_SYMBOL = 10 και CC2420_MIN_BACKOFF = 20/CC2420_TIME_SYMBOL = 10

2. Ο χρόνοσ backoff κατά τισ επόμενεσ επαναλιψεισ του αλγορίκμου (εάν ζχει βρεκεί κατειλθμμζνο το κανάλι ςτον ζλεγχο του CCA) κα πρζπει να διαφοροποιείται ςε ςχζςθ με τον αρχικό. Στθν υλοποίθςθ του CC2420 Stack ζχουμε ςτακερό εφροσ ςτθν επιλογι του χρόνου, ίδιο με τθν πρϊτθ επανάλθψθ. Σφμφωνα με το ΙΕΕΕ 802.15.4, ςε περίπτωςθ που δεν είναι ελεφκερο το κανάλι,

Page 71: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

71

θ τιμι που κα πάρει το BE είναι min( BE+1, amaxBE ), όπου amaxBE είναι από 3 ζωσ 8 και προκακοριςμζνθ ςτο 5.

3. Οι επαναλιψεισ του αλγορίκμου κα πρζπει να είναι περιοριςμζνεσ. Στθν υλοποίθςθ του CC2420 Stack δεν υπάρχει κάποιοσ ζλεγχοσ ςτισ επαναλιψεισ που γίνονται. Ζτςι ζνα πλαίςιο που προςπακεί να αποςταλεί και βρίςκει το κανάλι κατειλθμμζνο ςυνεχϊσ, κρατιζται ςτθν FIFO επ’ αόριςτο μζχρι να αποςταλεί. Σφμφωνα με το IEEE 802.15.4 κα πρζπει ςε περίπτωςθ που το κανάλι δεν είναι ελεφκερο, θ τιμι ΝΒ (number of backoffs) να αυξάνεται. Εάν θ τιμι ΝΒ είναι μικρότερθ ι ίςθ τθσ μζγιςτθσ (maxMacCSMABackoffs), ο αλγόρικμοσ CSMA-CA κα επιςτρζψει ςτο ςθμείο του backoff όπου περιμζνει για ζνα τυχαίο χρονικό διάςτθμα με διαφορετικό εφροσ ανάλογα με το ΒΕ. Σε αντίκετθ περίπτωςθ κα πρζπει να τερματιςτεί δθλϊνοντασ αποτυχία ςτθν πρόςβαςθ του καναλιοφ (Channel Access Failure).

Για τθν λφςθ των προβλθμάτων αυτϊν κάναμε τισ παρακάτω τροποποιιςεισ ςτον

υπάρχοντα αλγόρικμο. 1. Η λφςθ ςτο πρϊτο πρόβλθμα δόκθκε αλλάηοντασ ςτθν ςυνάρτθςθ

requestInitialBackoff μζςα ςτο αρχείο CC2420CsmaP.nc τθν τιμι με τθν οποία γίνεται θ ακζραια διαίρεςθ (modulo) τθσ rand16(). Αφοφ πρϊτα ζχουμε αρχικοποιιςει τθ μεταβλθτι myBE με τθν τιμι macMinBE = 3 (που είναι θ default τιμι από το 802.15.4) ζχουμε : rand16() % (((1<<myBE)-1) * CC2420_BACKOFF_PERIOD);

Η οποία μασ δίνει αποτζλεςμα ςυμβατό με τον IEEE 802.15.4 CSMA-CA αλγόρικμο και με επιλογι (ρυκμίηοντασ ανάλογα τθν macMinBE) για το αν κα ζχουμε collision avoidance ςτθν πρϊτθ προςπάκεια.

2. Για το δεφτερο πρόβλθμα κα πρζπει να βάλουμε τουσ ελζγχουσ για myBE. Σε περίπτωςθ που το κανάλι δεν είναι ελεφκερο και τεκεί θ μεταβλθτι congestion = TRUE, κα κλθκεί θ requestCongestionBackoff. Εκεί ζχουμε προςκζςει το εξισ :

if (myBE++ >= CC2420_MAX_BACKOFF_EXPONENT)

myBE = CC2420_MAX_BACKOFF_EXPONENT;

ϊςτε ςε να υλοποιθκεί θ λογικι του min ( BE+1, maxBE ) για τθν κλιςθ τθσ επόμενθσ backoff κακυςτζρθςθσ.

3. Για τθν τρίτθ, και ίςωσ τθν πιο ςθμαντικι διαφορά, ορίςαμε μια μεταβλθτι (myNB) με τθν οποία μετράμε τισ επαναλιψεισ του αλγορίκμου ςε κάκε πλαίςιο. Ζτςι, αφοφ αρχικοποιικθκε με τθν τιμι μθδζν κατά τθν πρϊτθ κλιςθ του αλγορίκμου, ςε περίπτωςθ που δεν ζχουμε επιτυχι πρόςβαςθ ςτο κανάλι, γίνεται ο εξισ ζλεγχοσ :

if (myNB <= CC2420_MAX_NUMBER_OF_BACKOFF){

myNB ++;

……

else {

call CC2420Transmit.cancel();

return;

}

Ελζγχουμε αν οι επαναλιψεισ είναι λιγότερεσ από τθν μζγιςτθ επιτρεπτι τιμι (που ςφμφωνα με το 802.15.4 είναι οι 5 επαναλιψεισ) και ςε περίπτωςθ κετικισ απάντθςθσ αυξάνουμε κατά ζνα τθσ επαναλιψεισ και επαναλαμβάνουμε τον αλγόρικμο με τισ τιμζσ όμωσ που ζχουν οριςκεί από το (2). Σε περίπτωςθ που ξεπεράςουμε τισ 5 επαναλιψεισ, ακυρϊνουμε τθν μετάδοςθ του πλαιςίου αυτοφ.

Page 72: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

72

6.4 Αςφϊλεια ςτο CC2420

Το CC2420 ζχει χαρακτθριςτικά των λειτουργιϊν αςφαλείασ του IEEE 802.15.4 [35].

Ρεριζχει λειτουργία (από-)κρυπτογράφθςθσ αρίκμθςθσ ( counter mode encryption / decryption – CTR ), πιςτοποίθςθ CBC-MAC (authentication) και το ςυνδυαςμό τουσ CCM. Πλεσ οι λειτουργίεσ βαςίηονται ςτθν κρυπτογράφθςθ AES (advance encryption standard) χρθςιμοποιϊντασ κλειδιά 128 bit.

6.4.1. Σα κλειδιϊ

Πλεσ οι λειτουργίεσ αςφαλείασ βαςίηονται ςε 128bit κλειδιά. Η μνιμθ RAM του CC2420 ζχει χϊρο για δφο κλειδιά KEY0 και ΚΕΥ1. Κατά τθν εκπομπι ι τθ λιψθ μπορεί να επιλεγεί ζνα από τα δφο κλειδιά μζςω ενόσ bit του καταχωρθτι SECCTRL0. Το κλειδί #0 είναι τοποκετθμζνο ςτθ κζςθ 0x100 και το #1 ςτθ κζςθ 0x130 τθσ μνιμθσ RAM. Ο τρόποσ κακοριςμοφ των κλειδιϊν δεν είναι προκακοριςμζνοσ και εμπίπτει ςε ανϊτερο επίπεδο (π.χ. τθσ εφαρμογισ).

6.4.2. Καταμετρητόσ (Nonce / Counter)

Οι nonces εκπομπισ και λιψθσ που χρθςιμοποιοφνται για τθν (από-) κρυπτογράφθςθ βρίςκονται ςτισ κζςεισ 0x110 και 0x140 αντίςτοιχα και είναι 16 bytes. Θα πρζπει να αρχικοποιθκεί ςωςτά πριν τθν λιψθ ι αποςτολι. Η μορφι τθσ φαίνεται ςτον πίνακα. Οι τιμζσ που παίρνει, για ςυμβατότθτα και με το IEEE 802.15.4, είναι :

Block Counter = 1 Key Sequence Counter = ορίηεται από το επίπεδο πάνω από το MAC Frame Counter = Αυξάνεται ςε κάκε νζο πλαίςιο Source Address = 64 bit IEEE Address.

Εικόνα 41 CC2420 Nonce

Οι ςθμαίεσ (flags) μπαίνουν ςτο πιο ςθμαίνων byte (MSB) τθσ nonce. Χρθςιμοποιείται για τθν κρυπτογράφθςθ και για τθν πιςτοποίθςθ και δθμιουργείται με τθν παρακάτω μζκοδο:

Εικόνα 42 Σθμαίεσ για το CC2420 nonce

Το CC2420 ζχει τθ δυνατότθτα για δφο τφπουσ κρυπτογράφθςθσ, απομονωμζνθ (stand-alone) και ςε ςειρά (in-line). Κατά τθν πρϊτθ μζκοδο, ζνα απλό κείμενο

Page 73: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

73

αποκθκεφεται προςωρινά ςε μία κζςθ μνιμθσ (0x120 τθσ RAM). Στθ ςυνζχεια κρυπτογραφείται με το αντίςτοιχο κλειδί και επανεγγράφεται ςτθ μνιμθ.

Ο δεφτεροσ τρόποσ, τθσ εν ςειράσ κρυπτογράφθςθσ, γίνεται ςτισ ουρζσ TXFIFO και RXFIFO αντίςτοιχα. Βαςίηεται ςτο πεδίο του μικουσ από τθν επικεφαλίδα του φυςικοφ επιπζδου (PHY header). Ρριν κάκε διαδικαςία αςφαλείασ, κα πρζπει να τεκοφν ςωςτά το κλειδί, θ nonce και οι δφο καταχωρθτζσ (SECCTRL0, SECCTRL1). Οι τζςςερεισ τφποι αςφάλειασ που παρζχονται από το CC2420 είναι :

- Καμία αςφάλεια - Ριςτοποίθςθ CBC-MAC (authentication) - Κρυπτογράφθςθ CTR - Συνδυαςμόσ πιςτοποίθςθσ και κρυπτογράφθςθσ CCM.

Ζχουμε δφο τρόπουσ, με ανάλογεσ εντολζσ (STXENC / STXON ι STXONCCA), να ζχουμε κρυπτογράφθςθ του εξερχόμενου πλαιςίου, με ι χωρίσ άμεςθ εκπομπι του. Με τθν εντολι SRXDEC ξεκινά θ αποκρυπτογράφθςθ / πιςτοποίθςθ του πρϊτου πλαιςίου που είναι ςτθν ουρά ανάλογα με τον τφπο αςφάλειασ. Υπάρχει θ δυνατότθτα ανάγνωςθσ μζρουσ του πλαιςίου προτοφ ξεκινιςει θ αποκρυπτογράφθςθ. Αυτό επιτρζπει ςτον παραλιπτθ να διαβάςει πρϊτα τθν διεφκυνςθ του αποςτολζα ϊςτε να αποφαςίςει μετά ποιο κλειδί να χρθςιμοποιιςει για τθν πιςτοποίθςθ.

6.4.3. Διαδικαςύα CTR encryption

Η διαδικαςία τθσ (από-) κρυπτογράφθςθσ (CTR) περιζχει τα εξισ βιματα : 1. Οριςμόσ των bytes μεταξφ του πεδίου μικουσ και του πρϊτου byte προσ

κρυπτογράφθςθ ςτθν μεταβλθτι SECCTRL1.SEC_TXL (SECCTRL1.RXL για αποκρυπτογράφθςθ). Ζτςι ελζγχεται ο αρικμόσ των απλϊν (plaintext) bytes ςτο πλαίςιο. Για τα πλαίςιο βαςιςμζνα ςτο πρωτόκολλο IEEE 802.15.4 ο αρικμόσ αυτόσ είναι 3+(0 με 20) ανάλογα με τθν πλθροφορία τθσ διεφκυνςθσ του πλαιςίου – είναι το μζγεκοσ του MAC header.

2. Ξεκινά θ κρυπτογράφθςθ με τθν αντίςτοιχθ εντολι. Οποιοδιποτε κείμενο είναι ςτθν ουρά TXFIFO κρυπτογραφείται. Αν είναι κενι, τότε περιμζνει και όποια δεδομζνα ζρχονται κρυπτογραφοφνται κακϊσ γράφονται ςτθν ουρά. Για τθν αποκρυπτογράφθςθ, όταν ζρχεται θ εντολι SRΧDEC, το κωδικοποιθμζνο κείμενο που βρίςκεται ςτθν ουρά RXFIFO αποκρυπτογραφείται όπωσ ορίηεται από το πρωτόκολλο IEEE 802.15.4.

Ανάλογα με τθ λειτουργία διαςφάλιςθσ που ακολουκείτε, ο χρόνοσ που απαιτείται από

τθν μονάδα αςφαλείασ του CC2420 είναι :

Εικόνα 43 Χρόνοι λειτουργίασ μεκόδων αςφαλείασ ςτο CC2420

Page 74: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

74

6.4.4. SECCTRL0

Η δομι του καταχωρθτι SECCTRL0είναι :

Εικόνα 44 SECCTRL0

6.4.5. SECCTRL1

Η δομι του καταχωρθτι SECCTRL1 είναι :

Page 75: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

75

Εικόνα 45 SECCTRL1

6.5 Αςφϊλεια: Η υλοπούηςό μασ

Κατά τθν ανάπτυξθ των μθχανιςμϊν αςφαλείασ ακολουκιςαμε τισ απαιτιςεισ του πρωτοκόλλου ΙΕΕΕ 802.15.4 και ςτθριχκικαμε ςτισ δυνατότθτεσ που παρζχονται από το ολοκλθρωμζνο CC2420 για αςφάλεια από το υλικό (hardware security). Επίςθσ, για λόγουσ ςφγκριςθσ, προςκζςαμε και τθ δυνατότθτα SW υλοποίθςθσ δφο αλγορίκμων αςφάλειασ ςυμμετρικοφ κλειδιοφ, AES [69] και RC6 [70], μεταφζροντασ ςε περιβάλλον TinyOS / TelosB βιβλιοκικεσ ανοικτοφ κϊδικα.

6.5.1. Επύπεδο εφαρμογόσ

Για να είναι εφχρθςτθ θ επιλογι του τφπου τθσ αςφάλειασ και ο κακοριςμόσ του εκάςτοτε κλειδιοφ, οι μεταβλθτζσ αυτζσ κα πρζπει να ρυκμίηονται ςτο ανϊτερο επίπεδο, αυτό τθσ εφαρμογισ, ςτο οποίο ζχει και πιο άμεςθ επαφι ο τελικόσ χριςτθσ. Οι επιλογζσ αςφαλείασ που ζχουμε είναι : (α) μθδενικι αςφάλεια, (β) HW security (CTR, CCM, CBC-MAC) και (γ) SW security με χριςθ αλγορίκμου AES ι RC6. Ορίςαμε τθ μεταβλθτι myKey[16] ςτθν οποία δίνουμε τθν τιμι του κλειδιοφ που επικυμοφμε για τθν κωδικοποίθςθ των δεδομζνων μασ. Στθ ςυνζχεια, και κατά τθ διάρκεια του περάςματοσ των παραμζτρων για τθν εκκίνθςθ του αςφρματου πομποδζκτθ (radio initialization) δίνουμε τθν τιμι για τθ μζκοδο αςφαλείασ (HW_SECURITY_MODE ι/και SW Security) θ οποία ρυκμίηεται με τθν αντίςτοιχθ τιμι ςτο header αρχείο. Επίςθσ δίνουμε το κλειδί και το μζγεκόσ του, τιμζσ που κα χρειαςτοφν ςτο επίπεδο του MAC. Με τισ ρυκμίςεισ αυτζσ υποςτθρίηεται θ ενεργοποίθςθ και απενεργοποίθςθ των μθχανιςμϊν αςφαλείασ κατά τθν εκτζλεςθ (run-time) τθσ εφαρμογισ.

6.5.2. Επύπεδο MAC

Ρροχωρϊντασ ςτα κατϊτερα επίπεδα και φτάνοντασ ςτο επίπεδο ελζγχου προςπζλαςθσ μζςου (MAC), κα πρζπει να δομθκεί το πλαίςιο που κα αποςταλεί ςφμφωνα με το πρότυπο ΙΕΕΕ 802.15.4. Αρχικά περνάμε τισ παραμζτρουσ του πλαιςίου MAC οι οποίεσ

Page 76: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

76

ζχουν οριςτεί από ανϊτερα επίπεδα μζςω τθσ ςυνάρτθςθσ _setMacParams(). Αυτζσ αφοροφν το αν κα ζχουμε επιβεβαιϊςεισ (acknowledgments), πόςεσ επαναλιψεισ αλλά και τα κζματα αςφαλείασ. Ανάλογα τθ μζκοδο που ζχει επιλεχκεί, ορίηουμε το επίπεδο αςφάλειασ, το ποιο κλειδί από τα δφο κα χρθςιμοποιθκεί (ΚΕΥ0 και ΚΕΥ1 είναι οι επιλογζσ που επιτρζπει το CC2420), τα bytes μεταξφ του πεδίου μικουσ και του πρϊτου byte προσ κρυπτογράφθςθ (παράμετροσ skip του CC2420) και για τισ μεκόδουσ CCM και CBC_MAC είναι απαραίτθτοσ και ο αρικμόσ των byte ςτο πεδίο αυκεντικότθτασ (MIC Length). Τζλοσ μεταφζρεται και το κλειδί που ζχει οριςτεί από το ανϊτερο επίπεδο ϊςτε να γίνει θ αντίςτοιχθ κωδικοποίθςθ. Αφοφ οριςτοφν οι παράμετροι κα πρζπει να τοποκετιςουμε τισ αντίςτοιχεσ τιμζσ ςτα ςωςτά πεδία του πλαιςίου μζςω τθσ ςυνάρτθςθσ _setupFrame(). Ζτςι, και ςτα πεδία του security header κα πρζπει να βάλουμε το επίπεδο αςφάλειασ που ζχει οριςκεί ανάλογο τθσ μεκόδου (secLevel), ο τφποσ του κλειδιοφ (keyMode), θ παράμετροσ skip (reserved), θ τιμι του καταμετρθτι nonce αφοφ ζχει αυξθκεί κατά ζνα με κάκε νζο πλαίςιο (frameCounter) και το νοφμερο του κλειδιοφ (keyID). Ρροωκϊντασ ακόμα πιο χαμθλά το πλαίςιο, αλλά μζνοντασ ακόμα ςτο επίπεδο MAC, κα πρζπει να περάςουμε τισ τιμζσ αυτζσ ςτουσ καταχωρθτζσ του CC2420 (SECCTRL0 και SECCTRL1) ϊςτε να γίνει κρυπτογράφθςθ.

Αποςτολό πλαιςύου

Η διαδικαςία που ακολουκείται για τθν διαςφάλιςθ ενόσ εξερχόμενου πλαιςίου απαιτεί πριν τθν μετάδοςι του ςτο φυςικό επίπεδο (PHY), να κρυπτογραφθκεί. Ζτςι αρχικά ελζγχουμε εάν χρειάηεται να γίνει κρυπτογράφθςθ. Αν όχι, αν δθλαδι το επίπεδο αςφάλειασ ζχει επιλεχκεί μθδενικό, τότε ςυνεχίηουμε με τθν αποςτολι του. Αν πάλι χρειάηεται, παίρνουμε από το πλαίςιο τον security header, και από τα αντίςτοιχα πεδία του, τισ τιμζσ τουσ. Με αυτζσ φτιάχνουμε τουσ καταχωρθτζσ SECCTRL0 και SECCTRL1 τουσ οποίουσ τουσ γράφουμε ςτο CC2420. Επίςθσ γράφουμε και τθν τιμι του καταμετρθτι nonce (TXNONCE). Ρεριμζνουμε για όςο διάςτθμα θ κατάςταςθ του CC2420 είναι BUSY και ςτθ ςυνζχεια ςτζλνουμε τθν εντολι εκκίνθςθσ τθσ κρυπτογράφθςθσ (STXENC). Με τθν εντολι αυτι ξεκινά θ κρυπτογράφθςθ των δεδομζνων που υπάρχουν μζςα ςτθν μνιμθ ςτθν κζςθ TXFIFO χωρίσ όμωσ να ξεκινιςει θ αποςτολι τουσ. Αφοφ ολοκλθρωκεί θ διαδικαςία κρυπτογράφθςθσ, κα προχωριςουμε παρακάτω ςτθν αποςτολι του πλαιςίου.

Λόψη πλαιςύου

Αντίςτοιχα για τα ειςερχόμενα πλαίςια κα πρζπει να διαβάςουμε από τθν ουρά RXFIFO τα δεδομζνα, και να πάρουμε τον security header από αυτά ϊςτε να ςυνεχίςουμε τθν αποκρυπτογράφθςι τουσ. Από τον security header παίρνουμε το keyID και ελζγχουμε το πεδίο επιπζδου αςφάλειασ (secLevel). Ανάλογα με το επίπεδο κζτουμε τθ μζκοδο αποκρυπτογράφθςθσ. Αν το επίπεδο είναι μθδενικό, ςυνεχίηουμε ςτθ λιψθ του πλαιςίου. Αν είναι κάποιο από τα επιτρεπτά, ςυνεχίηουμε τθν αποκρυπτογράφθςθ, παίρνοντασ και τισ υπόλοιπεσ πλθροφορίεσ από τον security header και τισ βάηουμε ςε αντίςτοιχεσ μεταβλθτζσ. Στθ ςυνζχεια με τισ τιμζσ αυτζσ διαμορφϊνουμε τουσ καταχωρθτζσ SECTRL0 και SECCTRL1 του CC2420. Επίςθσ γράφουμε και τθν τιμι τθσ RXNONCE. Στζλνουμε τθν εντολι SRXENC ςτο CC2420 ϊςτε να ξεκινιςει θ αποκρυπτογράφθςθ. Ππωσ και με τθν κρυπτογράφθςθ, ζτςι και με τϊρα τα δεδομζνα από τθν RXFIFO αποκρυπτογραφοφνται και επανατοποκετοφνται εκεί. Συνεχίηουμε μετά με τθν λιψθ του πλαιςίου και τθν προϊκθςι του ςτα ανϊτερα επίπεδα.

Page 77: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

77

6.6 Περύληψη

Στο κεφάλαιο αυτό είδαμε τθ δομι του TinyOS stack για τθν αποςτολι και λιψθ ενόσ

πλαιςίου. Στθ ςυνζχεια αφοφ αναλφςαμε τον CSMA-CA αλγόρικμο που υπιρχε ςτο TinyOS

είδαμε τισ διαφορζσ του ςε ςχζςθ με το πρότυπο IEEE 802.15.4 και ποιεσ ιταν οι

απαραίτθτεσ μετατροπζσ που κάναμε για να γίνει ςυμβατόσ με το πρότυπο. Τζλοσ

παρουςιάηουμε τθν υλοποίθςι μασ για τουσ μθχανιςμοφσ αςφαλείασ οι οποίοι βαςίηονται

ςτισ δυνατότθτεσ που μασ παρζχονται από το CC2420 radio και είναι ςυμβατοί με το

802.15.4.

Page 78: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

78

Κεφϊλαιο 7 – Διαχεύριςη Κλειδιών

7.1 Ειςαγωγό

Τα τελευταία χρόνια ζχουν αναπτυχκεί πολλά μοντζλα διανομισ ηεφγουσ-κλειδιϊν (pair-wise) για αςφρματα δίκτυα αιςκθτιρων peer-to-peer και για λφςεισ προ-διανομισ τυχαίων κλειδιϊν [57],[63]. Στθ ςυνζχεια κα παρουςιάςουμε τισ βαςικζσ μεκόδουσ διαχείριςθσ των κλειδιϊν. Ανάλογα τον τφπο του δικτφου και τθν εφαρμογι που αυτό υλοποιεί υπάρχουν αντίςτοιχεσ απειλζσ όπωσ αυτζσ που παρουςιάςτθκαν ςε προθγοφμενο κεφάλαιο. Για κάκε τφπο δικτφου υπάρχει και το αντίςτοιχο μοντζλο διαχείριςθσ κλειδιϊν που βελτιςτοποιεί και ενδυναμϊνει τθν αςφάλειά του. Στα πλαίςια τθσ διπλωματικισ κα αναπτφξουμε δφο ςυςτιματα διανομισ κλειδιϊν : (α) ζνα ςφςτθμα προ-διανομισ τυχαίων ςυμμετρικϊν κλειδιϊν και (β) ζνα ςφςτθμα διαχείριςθσ αςφμμετρων public-key βαςιςμζνο ςτισ ελλειπτικζσ καμπφλεσ (ECC) τα οποία κα χρθςιμοποιιςουμε για τθν κρυπτογράφθςθ με αλγορίκμουσ AES και RC6 που χρθςιμοποιοφν ςυμμετρικά κλειδιά.

7.2 Μοντϋλα διανομόσ κλειδιών

7.2.1. Μοντϋλα διανομόσ ζεύγουσ κλειδιών (pair-wise)

1. All pair wise (single master key) [57]: Η πιο απλι μζκοδοσ με τθ χριςθ ενόσ μόνο

κλειδιοφ που αποκθκεφεται ςε κάκε κόμβο. Το πρόβλθμά τθσ είναι ότι δεν παρζχει

κακόλου ανκεκτικότθτα.

2. All pair wise (distinct pair wise keys) [57]: Ρρόκειται για μια επζκταςθ τθσ πρϊτθσ

μεκόδου με τθ διαφορά ότι κάκε κόμβοσ αποκθκεφει κάκε πικανό κλειδί ςτο

δίκτυο. Για ζνα δίκτυο μεγζκουσ Ν κόμβων, χρειάηεται αποκθκευτικόσ χϊροσ Ν-1

κλειδιϊν.

3. Random pair wise key [59]: Κάκε κόμβοσ ζχει μια τυχαία λίςτα από Νp ηεφγθ-

κλειδιϊν. Αυτό δίνει μια πικανότθτα p ϊςτε δφο κόμβοι να μποροφν να ςυνδεκοφν.

Στθ διάρκεια τθσ εγκατάςταςθσ του κλειδιοφ κάκε κόμβοσ ςυνδυάηεται με Νp

άλλουσ τυχαίουσ κόμβουσ με πικανότθτα p. Για κάκε ηεφγοσ κόμβων δθμιουργείται

και ζνα κλειδί. Κατά τθ διάρκεια τθσ ανακάλυψθσ κοινϊν κλειδιϊν, κάκε κόμβοσ

εκπζμπει το ID του. Ωσ αποτζλεςμα κάκε κόμβοσ ςτζλνεισ και λαμβάνει ζνα μινυμα

από τουσ γειτονικοφσ του κόμβουσ.

4. Closest pair wise keys pre-distribution [61]: Σε αυτό το μοντζλο χρθςιμοποιοφνται

πλθροφορίεσ από τθ κζςθ του κόμβου ϊςτε να βελτιωκεί θ ςυνδεςιμότθτα. Οι

κόμβοι τοποκετοφνται ςε ζνα δομθμζνο επίπεδο (grid). Οι κζςεισ τουσ

προβλζπονται από ζναν ςζρβερ εγκατάςταςθσ. Κάκε κόμβοσ ζχει κοινά κλειδιά με

τουσ C πιο κοντινοφσ του γείτονεσ. Στθν διαδικαςία εγκατάςταςθσ των κλειδιϊν

δίνεται ζνα μοναδικό κλειδί ΚΑ ςε κάκε κόμβο. Το κλειδί ΚΑ,Βi είναι το κλειδί μεταξφ

του κόμβου Α και του Βi είναι ΚΑ,Βi = PRF(KBi|IDA). Η μζκοδοσ αυτι κάνει τθν

ειςαγωγι νζων κόμβων ςτο δίκτυο ευκολότερθ και μειϊνει τισ απαιτιςεισ ςε μνιμθ.

(PRF = pseudo random function)

Page 79: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

79

5. ID based one-way function (IOS) [57]: Το μοντζλο αυτό βαςίηεται ςε ζνα r – regular

γράφο G τθσ αναμενόμενθσ ανάπτυξθσ/τοπολογίασ του δικτφου. Ο γράφοσ αυτόσ

αποτελείται από υπό-γράφουσ δομισ αςτζρα. Κάκε κόμβοσ βρίςκεται ςτο κζντρο

ενόσ αςτζρα και «φφλλο» (leaf) ενόσ αςτζρα r/2.

6. Multiple IOS *57+: Βελτιϊνει τισ ιδιότθτεσ του απλοφ IOS. Κάκε κόμβοσ χρθςιμοποιεί

ζνα κοινό κλειδί ΚΑ και μια κρυφι ςυνάρτθςθ hash HASH(KB|IDAi).

7. Lightweight key management system [64]: Χρθςιμοποιεί περιςςότερα από δφο

master κλειδιά. Υποκζτει ότι οι κόμβοι είναι κατανεμθμζνοι ςε ομάδεσ διαδοχικζσ

γενεζσ μεγζκουσ Τ. Κάκε κόμβοσ ζχει ζνα κλειδί πιςτοποίθςθσ ομάδασ (bk1) και ζνα

κλειδί γενεάσ (bk2). Δφο κόμβοι τθσ ίδιασ γενεάσ πιςτοποιοφν ο ζνασ τον άλλο μζςω

του κλειδιοφ bk1. Ανταλλάςουν τυχαίεσ τιμζσ (nonce) RNA / RNB και το κλειδί τουσ

ορίηεται ωσ ΚΑ,Β=PRF(bk2|RNA|RNB). Με παρόμοιο τρόπο είναι δυνατι θ

επικοινωνία και κόμβων διαφορετικϊν γενεϊν.

7.2.2. Μοντϋλα προ-διανομόσ τυχαύων κλειδιών

1. Basic probabilistic [58]: Οι Eschenauer and Gligor πρότειναν ζνα μθχανιςμό τυχαίασ προ-διανομισ κλειδιϊν. Η κφρια ιδζα είναι να επιλζξει κάκε κόμβοσ τυχαία μια ςειρά k κλειδιϊν από μια μεγαλφτερθ λίςτα KP (pool) πριν τθν ανάπτυξθ του δικτφου ζτςι ϊςτε ςε κάκε ηεφγοσ κόμβων να υπάρχει μια ςυγκεκριμζνθ πικανότθτα να ζχει τουλάχιςτον ζνα κοινό κλειδί. Η πικανότθτα αυτι βαςίηεται ςτο μζγεκοσ τθσ pool λίςτασ και τθσ ςειράσ k. Ο κάκε κόμβοσ εκπζμπει ζνα μινυμα μεγζκουσ k IDs κατά τθ διάρκεια ανακάλυψθσ κοινϊν κλειδιϊν.

2. Q-composite random key pre-distribution [59]: Μια βελτιωμζνθ ζκδοςθ του βαςικοφ μθχανιςμοφ είναι θ ανάπτυξθ τθσ q-composite προ-διανομισ. Η q-composite προ-διανομι κλειδιϊν χρθςιμοποιεί επίςθσ μια λίςτα (pool) κλειδιϊν αλλά απαιτεί οι δφο κόμβοι να ζχουν τουλάχιςτον Q κοινά κλειδιά και υπολογίηουν το κλειδί μζςω μια ςυνάρτθςθ KA,B=HASH(K1||K2||K3||…||KQ). Με τθ μζκοδο αυτι βελτιϊνεται θ πικανότθτα να μθν εκτεκεί το δίκτυο αλλά μειϊνεται και θ πικανότθτα δφο κόμβοι να ζχουν τα απαιτοφμενα κοινά κλειδιά.

3. Cluster key grouping [65]: Στο μοντζλο αυτό διαιροφμε τα κλειδιά ςε C ομάδεσ (clusters) και κάκε ομάδα ζχει ζνα ID κλειδιοφ για αρχι. Τα υπόλοιπα IDs εντόσ τθσ ομάδασ είναι γνωςτά βάςθ μόνο του κλειδιοφ-αρχισ. Ζτςι μποροφμε να βελτιϊςουμε τθν επικοινωνία αφοφ μειϊνεται το μζγεκοσ του μθνφματοσ που εκπζμπεται κατά τθ διάρκεια ανακάλυψθσ κοινϊν κλειδιϊν από k ςε c IDs.

4. Pair wise key establishment protocol [66]: Κάκε κόμβοσ ζχει ζνα μοναδικό ID ωσ πθγι για τθν ςυνάρτθςθ PRF. Τα IDs των κλειδιϊν για τθν λίςτα των κλειδιϊν ενόσ κόμβου Α δθμιουργοφνται από τθν PRF(IDA). Τα μθνφματα που εκπζμπονται περιζχουν μόνο ζνα ID πράγμα που μειϊνει τισ απαιτιςεισ για μνιμθ δραςτικά. Ραρόλα αυτά, θ εκτζλεςθ τθσ PRF(ID) για κάκε μινυμα ανεβάηει πολφ τθν κατανάλωςθ ενζργειασ και επεξεργαςτικοφ φορτιοφ ςτθν CPU.

5. Key pre-distribution by using deployment knowledge [67]: Το μοντζλο αυτό βαςίηεται ςτισ πλθροφορίεσ τθσ κζςθσ των κόμβων. Οι κόμβοι χωρίηονται ςε t*n ομάδεσ Gi,j και τοποκετοφνται ςτισ κζςεισ (Xi,Yi) Κατά τθ διαδικαςία εγκατάςταςθσ, θ λίςτα Κ των κλειδιϊν χωρίηεται ςε t*n λίςτεσ Κi,j μεγζκουσ I,j. Το μοντζλο

Page 80: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

80

βαςίηεται ςτθν ακριβι κζςθ κάκε κόμβου. Αν υπάρξει πρόβλθμα ςτισ κζςεισ των κόμβων τότε κα καταρρεφςει ολόκλθρο το ςφςτθμα.

6. Key matrix based dynamic key generation [68]: Το μοντζλο αυτό βαςίηεται ςτθν κρυπτογραφία κοινοφ κλειδιοφ (public key). Σε ζνα δίκτυο Ν κόμβων, δθμιουργοφνται ζνασ κοινόσ πίνακασ κλειδιϊν G και ζνασ ατομικόσ πίνακασ D με διαςτάςεισ Ν*Ν. Ο ατομικόσ πίνακασ πολλαπλαςιάηεται με τον κοινό (D*G). Σε κάκε κόμβο ανατίκεται μία γραμμι του πίνακα αυτοφ και μια γραμμι από τον πίνακα G. Κατά τθν επικοινωνία δφο κόμβων, ανταλλάςουν τισ ςτιλεσ του πίνακα G και ςτθ ςυνζχεια υπολογίηουν το κλειδί πολλαπλαςιάηοντασ τα ςτοιχεία του κοινοφ και του ατομικοφ πίνακα. Το πρόβλθμα τθσ μεκόδου αυτισ είναι θ μεγάλθ κατανάλωςθ υπολογιςτικισ ιςχφοσ και θ δυνατότθτα ςε ζναν ειςβολζα να καταλφςει ολόκλθρο το ςφςτθμα αν ανακαλφψει τον ατομικό πίνακα ενόσ κόμβου.

7. Polynomial based key pre-distribution [60]: Μια άλλθ προςζγγιςθ είναι θ χριςθ μεταβλθτϊν πολυωνφμων για τθν επίτευξθ δυναμικισ διανομισ των κλειδιϊν. Για τθν εγκατάςταςθ ενόσ κλειδιοφ μεταξφ δφο κόμβων, δθμιουργείται τυχαία ζνα t-τάξθσ πολυϊνυμο ωσ εξισ:

, 0

( , )t

i j

ij

i j

f x y a x y

Ράνω ςε ζνα πεπεραςμζνο πεδίο Fq όπου το q είναι ζνασ προκακοριςμζνοσ πρϊτο αρικμόσ αρκετά μεγάλοσ για να εξυπθρετιςει το κλειδί. Διαλζγοντασ κατάλλθλα τουσ ςυντελεςτζσ aij ϊςτε να ζχουμε aij=aji μποροφμε να ζχουμε τθν επικυμθτι ςυμμετρία f(x,y) = f(y,x). Υποκζτουμε ότι κάκε κόμβοσ ζχει ζνα μθ-μθδενικό ID. Για κάκε ηεφγοσ κόμβων ni και nj (όπου ni και nj είναι το ID κάκε κόμβου). Μετά τθν ανάπτυξθ του δικτφου κάκε κόμβοσ εκπζμπει το ID του για να δθμιουργθκεί το κοινό κλειδί μεταξφ των κόμβων. Μετά κάκε κόμβοσ μπορεί να υπολογίςει το κλειδί Κ από τθ ςυνάρτθςθ f(ni,nj). Το μοντζλο αυτό ζχει όμωσ κάποιουσ περιοριςμοφσ. Δεν αντζχει περιςςότερουσ από t εκτεκειμζνουσ κόμβουσ, όπου το t περιορίηεται από τθ διακεςιμότθτα τθσ μνιμθσ. Πςο μεγαλφτερο είναι το δίκτυο, τόςο πιο πικανό είναι ζνασ ειςβολζασ να εκκζςει περιςςότερουσ από t κόμβουσ. Για τθ βελτίωςθ του προθγοφμενου μοντζλου αναπτφχκθκε ζνα ςφςτθμα που χρθςιμοποιεί το μθχανιςμό του πολυωνφμου και τθν τυχαία διανομι κλειδιϊν *61].

8. Link Layer Key (LLK) establishment [62]: Ζνα ακόμθ μοντζλο που βαςίηεται ςτθν τοποκεςία κάκε κόμβου, το οποίο είναι ςυνδυαςμόσ ενόσ μοντζλου ανάπτυξθσ ςε εξαγωνικό πλζγμα ςυνδυαςμζνο με ζνα μοντζλο εγκατάςταςθσ κλειδιϊν βαςιςμζνο ςε πολυωνυμικά κλειδιά για τουσ γειτονικοφσ κόμβουσ.

7.3 Οι υλοποιόςεισ μασ

7.3.1. ύςτημα προ-διανομόσ ςυμμετρικών κλειδιών

Η λφςθ μασ βαςίςτθκε ςτθν βαςικι τυχαία πικανολογικι διαχείριςθ κλειδιϊν για κατανεμθμζνα δίκτυα αιςκθτιρων *58+. Απαιτείται αποκικευςθ μερικϊν δεκάδων κλειδιϊν ςε κάκε κόμβο, χωρίσ να μειϊνεται θ ιςχφσ τθσ αςφάλειασ που παρζχει θ λφςθ του ηεφγουσ-κλειδιϊν. Η λφςθ βαςίηεται ςτον πικανολογικό διαμοιραςμό των κλειδιϊν μεταξφ των κόμβων και χρθςιμοποιεί ζνα απλό πρωτόκολλο για τθν ανακάλυψθ κοινϊν κλειδιϊν μεταξφ των κόμβων, τθν ανάκλθςθ και τον επαναπρογραμματιςμό των κλειδιϊν. Ρροτοφ

Page 81: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

81

γίνει θ ανάπτυξθ του δικτφου, διανζμουμε μια λίςτα κλειδιϊν (key ring) ςε κάκε κόμβο που αποτελείται από τυχαία επιλογι Κ κλειδιϊν από μία μεγαλφτερθ λίςτα κλειδιϊν, θ οποία ζχει δθμιουργθκεί εκ των προτζρων. Εξαιτίασ τθσ τυχαίασ επιλογισ των κλειδιϊν, υπάρχει περίπτωςθ δφο κόμβοι να μθν ζχουν κοινά κλειδιά. Αυτό όμωσ δεν αποκλείει τθν επικοινωνία μεταξφ τουσ. Μπορεί να βρεκεί μια διαδρομι μζςω άλλων κόμβων που μεταξφ τουσ ζχουν κοινά κλειδιά και άρα ζχουμε αςφαλι επικοινωνία.

Διανομό κλειδιών

Στθν υλοποίθςι μασ, θ διανομι των κλειδιϊν αποτελείται από 2 φάςεισ, τθν προ-διανομι των κλειδιϊν και τθν ανακάλυψθ κοινϊν κλειδιϊν με τουσ γειτονικοφσ κόμβουσ.

Προ-διανομό των κλειδιών

Η φάςθ αυτι αποτελείται από (3) βιματα: 1. Δθμιουργία μιασ μεγάλθσ λίςτασ από τυχαία κλειδιά (π.χ. 1000 κλειδιά) και τα ID

τουσ. 2. Τυχαία επιλογι από Κ κλειδιά για κάκε κόμβο από τα χωρίσ αντικατάςταςθ αυτϊν

ςτθν δθμιουργϊντασ ζτςι τθν λίςτα κάκε κόμβου (key ring). 3. Αποκικευςθ ςτθ μνιμθ τθσ λίςτασ των Κ κλειδιϊν ςε κάκε κόμβο.

Για τθ δθμιουργία των κλειδιϊν δε χρθςιμοποιοφμε τθν απλι rand()%Ν ςυνάρτθςθ

παραγωγισ ψευδό-τυχαίων ακεραίων αρικμϊν που επιςτρζφει τιμζσ από το 0 μζχρι το Ν-1 με ομοιόμορφθ κατανομι γιατί τα χαμθλισ τάξθσ bits των περιςςότερων τυχαίων αρικμϊν είναι γενικά μθ-τυχαία. Μια καλφτερθ λφςθ δίνεται από τθν χριςθ τθσ εξισ ςυνάρτθςθσ (int) ((double) rand() / ((double) RAND_MAX + 1) * N) που δίνει καλφτερα αποτελζςματα.

Εργαλεύο παραγωγόσ κλειδιών και ελϋγχου

Στα πλαίςια του πρωτοκόλλου προ-διανομισ τυχαίων κλειδιϊν αναπτφχκθκε ζνα εργαλείο παραγωγισ τυχαίων 128-bit κλειδιϊν και ελζγχου κοινϊν κλειδιϊν ςτισ λίςτεσ των κλειδιϊν που ορίηονται για κάκε κόμβο. Με αυτό τον τρόπο μποροφμε να ελζγξουμε τθν πικανότθτα αλλά και το πόςα κοινά κλειδιά υπάρχουν ςε ζνα δίκτυο.

Αρχικά ορίηουμε το μζγεκοσ τθσ κοινισ λίςτασ (pool) από όπου κα επιλεχκοφν τα κλειδιά. Μετά ορίηουμε το μζγεκοσ τθσ ατομικισ λίςτασ (key ring) των κλειδιϊν που κα εγκαταςτακοφν ςε κάκε κόμβο. Τζλοσ, ορίηουμε το μζγεκοσ του δικτφου μασ, από πόςουσ κόμβουσ δθλαδι κα αποτελείται.

Στθν αρχι δθμιουργοφμε τθν κοινι λίςτα κλειδιϊν το πλικοσ των οποίων ζχει οριςκεί από τθν πρϊτθ παράμετρο. Αυτά παράγονται τυχαία μζςω μιασ ςυνάρτθςθ παραγωγισ ψευδό-τυχαίων αρικμϊν. Για κάκε κλειδί ορίηεται και ζνασ δείκτθσ – index – που το ξεχωρίηει. Στθ ςυνζχεια, για κάκε ζνα κόμβο ςτο δίκτυο δθμιουργοφμε τθν ατομικι λίςτα του, παίρνοντασ τυχαία πάλι κλειδιά και τουσ δείκτεσ τουσ από τθ λίςτα, χωρίσ αντικατάςταςθ, δθμιουργοφμε τισ ατομικζσ λίςτεσ. Το πλικοσ των κλειδιϊν κάκε λίςτασ ορίηονται από τθν παράμετρο key ring που ζχει δοκεί ςτθν αρχι του προγράμματοσ.

Για τον ζλεγχο τθσ πικανότθτασ φπαρξθσ ζςτω ενόσ κοινοφ κλειδιοφ μεταξφ των λιςτϊν δφο κόμβων αλλά και γενικά του πλικουσ των κοινϊν κλειδιϊν τουσ δθμιουργιςαμε μια ςυνάρτθςθ ελζγχου. Ελζγχονται ζνασ προσ ζναν οι δείκτεσ των κλειδιϊν τθσ λίςτασ ενόσ κόμβου με όλουσ τουσ δείκτεσ από τισ υπόλοιπεσ λίςτεσ των κόμβων. Τζλοσ βγαίνουν αποτελζςματα για το μζγιςτο πλικοσ κοινϊν κλειδιϊν αλλά και για τθν διαςπορά τουσ, δθλαδι το πλικοσ των ηεφξεων ανά πλικοσ κοινϊν κλειδιϊν.

Page 82: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

82

Μετά από πειραματικζσ μετριςεισ για να επιβεβαιωκοφν τα δεδομζνα που παρουςιάηονται ςτο *58+ καταςκευάςαμε το παρακάτω γράφθμα, εικόνα 48. Εδϊ παρουςιάηεται θ πικανότθτα εφρεςθσ τουλάχιςτον ενόσ κοινοφ κλειδιοφ μεταξφ κάκε ηεφγουσ κόμβων ανάλογα με το μζγεκοσ τθσ λίςτασ και το μζγεκοσ Κ τθσ λίςτα κλειδιϊν που αποκθκεφουμε ςε κάκε κόμβο ςε ζνα δίκτυο 100 κόμβων. Ραρατθροφμε ότι για =1000 χρειαηόμαςτε μόλισ 75 κλειδιά για να ζχουμε 100% πικανότθτα οι κόμβοι μασ να ζχουν τουλάχιςτον 1 κοινό κλειδί.

Εικόνα 46 Πικανότθτα εφρεςθσ κοινοφ κλειδιοφ ςυναρτιςει του Pool και του Key Ring (k = Key Ring, P = Pool)

Στα παρακάτω γραφιματα (εικόνα 47) βλζπουμε τθν πικανότθτα εφρεςθσ

τουλάχιςτον ενόσ, δφο ι τριϊν κοινϊν κλειδιϊν ανάλογα με το μζγεκοσ τθσ κοινισ λίςτασ

(pool) αλλά και τισ ατομικισ λίςτασ κάκε κόμβου (key ring). Ραρατθροφμε ότι για μία λίςτα

pool 1.000 κλειδιϊν χρειάηονται μόλισ 90 κλειδιά ςτθν ατομικι λίςτα (key ring) κάκε

κόμβου για να ζχουμε πικανότθτα 100% για τουλάχιςτον 3 κοινά κλειδιά. Διπλαςιάηοντασ

το μζγεκοσ τθσ λίςτασ ςε 2.000 κα πρζπει να μεγαλϊςουμε τθ λίςτα ςτα 140 κλειδιά.

Ζχοντασ ωσ περιοριςμό τα 100Bytes ωσ μζγιςτο επιτρεπόμενο πεδίο για το μινυμά μασ,

υπάρχει περιοριςμόσ ςτο πλικοσ των κλειδιϊν που μποροφμε να αρικμοδοτιςουμε. Στο

μινυμα που ςτζλνουμε να ενθμερϊςουμε για τθ λίςτα μασ, ςτζλνουμε τα ID’s των

κλειδιϊν. Για να αρικμιςουμε 1000 κλειδιά, χρειαηόμαςτε ζναν 10-bit καταμετρθτι

(counter). Άρα κάκε ID κα είναι μια μεταβλθτι 10-bit. Στο πεδίο των 100Bytes χωράνε 80

τζτοιεσ μεταβλθτζσ. Άρα ο μζγιςτοσ αρικμόσ κλειδιϊν τθσ λίςτασ μπορεί να είναι 80

κλειδιά. Ζτςι παίρνουμε τον παρακάτω πίνακα με τισ μζγιςτεσ τιμζσ των κλειδιϊν ανάλογα

το μζγεκοσ τθσ λίςτασ και τθν αντίςτοιχθ μζγιςτθ τιμι τθσ πικανότθτασ φπαρξθσ

τουλάχιςτον ενόσ κοινοφ κλειδιοφ ςτθ λίςτα αυτι.

Page 83: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

83

Εικόνα 47 Πικανότθτα φπαρξθσ τουλάχιςτον ενόσ, δφο ι τριϊν κοινϊν κλειδιϊν

Bits used for numbering

Number of Keys in the pool

Number of keys in a Frame (Key Ring)

MAX probability for at least one shared key

10 1024 80 100%

11 2048 72 92%

12 4096 66 65%

13 8192 61 36%

Ανακϊλυψη κοινών κλειδιών

Η φάςθ αυτι γίνεται κατά τθ διάρκεια τθσ αρχικοποίθςθσ των κόμβων μζςα ςτο δίκτυο αλλά και ςε τακτά περιοδικά διαςτιματα ζτςι ϊςτε να ανανεϊνονται οι λίςτεσ των γειτονικϊν κόμβων. Κάκε κόμβοσ βρίςκει τουσ γειτονικοφσ του και από αυτοφσ διαλζγει

Page 84: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

84

αυτοφσ με τουσ οποίουσ ζχει κοινά κλειδιά. Η πιο απλι μζκοδοσ δφο κόμβοι να ανακαλφψουν τα κοινά κλειδιά μεταξφ τουσ, είναι να εκπζμψουν τθν λίςτα των Κ ID’s των κλειδιϊν τουσ, χωρίσ κρυπτογράφθςθ. Αυτό δε δίνει κάποια επιπλζον δυνατότθτα ςε ζναν ειςβολζα να επιτεκεί ςτο δίκτυο. Για παράδειγμα, αν ζνασ ειςβολζασ ςυλλάβει ζναν κόμβο, μπορεί να ανακαλφψει ποια κλειδιά χρθςιμοποιεί αυτόσ ο κόμβοσ για τθν επικοινωνία με τουσ άλλουσ και αν δεν ςυλλάβει ζνα κόμβο, ο ειςβολζασ μπορεί να εξαπολφςει μια επίκεςθ ανάλυςθσ τθσ κίνθςθσ.

Στθ φάςθ τθσ ανακάλυψθσ των κοινϊν κλειδιϊν εγκακίςταται ζνα είδοσ τοπολογίασ των κόμβων. Μια ηεφξθ μεταξφ δφο γειτονικϊν κόμβων υπάρχει μόνο αν αυτοί οι δφο κόμβοι ζχουν τουλάχιςτον ζνα κοινό κλειδί ςτθν λίςτα τουσ. Και από τθ ςτιγμι αυτι, αν υπάρχει ηεφξθ, τότε όλεσ οι επικοινωνίεσ που γίνονται πάνω ςε αυτι κεωροφνται αςφαλείσ. Μπορεί δφο ηεφξεισ να ζχουν το ίδιο κλειδί μιασ και τα κλειδιά λαμβάνονται τυχαία από τθν ίδια λίςτα . Αυτό δεν προκαλεί πρόβλθμα ςτθν αςφάλεια διότι ςε κανονικι λειτουργία οι κόμβοι εμπιςτεφονται τουσ άλλουσ και κατά τθ διάρκεια τθσ ανάκλθςθ των κλειδιϊν διαςφαλίηεται ότι ζνα μικρό εφροσ κλειδιϊν (Κ) κα αφαιρεκοφν από όλο το δίκτυο.

Μπορεί δφο κόμβοι να μθν ζχουν κοινά κλειδιά. Αυτό όμωσ δεν τουσ αποτρζπει να επικοινωνιςουν. Αν υπάρχει μια διαδρομι από κόμβουσ που ζχουν κοινά κλειδιά, θ μεταφορά του μθνφματοσ γίνεται μζςω αυτϊν.

Ανϊκληςη των κλειδιών

Πποτε ζνασ κόμβοσ εκτίκεται είναι απαραίτθτο να μποροφμε να ανακαλζςουμε όλα τα κλειδιά τθσ λίςτασ του. Για αποτελεςματικι ανάκλθςθ, ο ςτακμόσ βάςθσ εκπζμπει ζνα μινυμα ανάκλθςθσ που περιζχει τθ λίςτα των Κ ID’s των κλειδιϊν του κόμβου που ζχει εκτεκεί και πρζπει να ανακλθκοφν. Μετά τθ λιψθ των IDs, κάκε κόμβοσ εντοπίηει εάν και πόςα από αυτά τα κλειδιά ζχει ςτθ δικι του λίςτα και τα αφαιρεί. Από τθ ςτιγμι που ζχουν αφαιρεκεί αυτά τα κλειδιά, κάποιεσ ηεφξεισ παφουν να υφίςτανται (επειδι δε κεωροφνται αςφαλείσ). Ζτςι οι επθρεαηόμενοι κόμβοι ξεκινοφν πάλι τθν διαδικαςία ανακάλυψθσ κοινϊν κλειδιϊν όπωσ δθλϊκθκε πιο πάνω. Επειδι μόνο Κ από τα κλειδιά διαγράφονται από τθ λίςτα για κάκε εκτεκειμζνο κόμβο, θ ανάκλθςθ επθρεάηει μόνο μερικοφσ από τουσ κόμβουσ και ζνα μικρό μζροσ τθσ λίςτασ τουσ αλλά κακιςτά αδφνατθ τθν επικοινωνία με τον εκτεκειμζνο κόμβο.

Αλλαγό των κλειδιών

Ραρότι ςτα περιςςότερα δίκτυα αιςκθτιρων ο χρόνοσ ηωισ των κλειδιϊν μεταξφ δφο κόμβων ξεπερνά το χρόνο ηωισ των ίδιων των κόμβων, είναι πικανό ζνα κλειδί να «λιξει» και να πρζπει να αντικαταςτακεί. Η αλλαγι των κλειδιϊν είναι ιςοδφναμθ με μια αυτό-ανάκλθςθ ενόσ κλειδιοφ από τον κόμβο. Ζτςι δεν εμπλζκεται ολόκλθρο το δίκτυο. Μετά τθν αφαίρεςθ του κλειδιοφ από τθ λίςτα του κόμβου, ο επθρεαηόμενοσ κόμβοσ ξεκινά τθν διαδικαςία ανεφρεςθσ κοινϊν κλειδιϊν.

7.3.2. ύςτημα διανομόσ public κλειδιών με ECC

Σε αντίκεςθ με τα προθγοφμενα μοντζλα διαχείριςθσ ςυμμετρικϊν κλειδιϊν,

αναπτφξαμε ζνα δεφτερο ςφςτθμα διανομισ αςφμμετρων κλειδιϊν, με τα οποία όμωσ

παράγουμε ςυμμετρικά κλειδιά τα οποία μποροφμε να τα χρθςιμοποιιςουμε για τθσ

μεκόδουσ αςφαλείασ που αναπτφξαμε ςτθν προθγοφμενθ ενότθτα. Η κρυπτογραφία με

Page 85: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

85

public κλειδιά διαφζρει με τθν κρυπτογραφία με ςυμμετρικά κλειδιά ςτο εξισ βαςικό

χαρακτθριςτικό: ςτθ τελευταία οι δφο κόμβοι κα πρζπει να ζχουν το ίδιο κλειδί

αποκθκευμζνο ςτθ μνιμθ τουσ για να μπορζςουν να επικοινωνιςουν, ςε αντίκεςθ με τθν

κρυπτογραφία public κλειδιοφ όπου κάκε κόμβοσ ζχει δφο κλειδιά διαφορετικά (ζνα

δθμόςιο –public- και ζνα ατομικό –private). Κάκε κόμβοσ εκπζμπει το public κλειδί του

ϊςτε να το μάκουν οι υπόλοιποι. Για να ζχουμε επικοινωνία μεταξφ των κόμβων, κα πρζπει

να κρυπτογραφιςουμε το μινυμά μασ χρθςιμοποιϊντασ το public κλειδί του κόμβου ςτον

οποίο κζλουμε να ςτείλουμε. Η κρυπτογραφία με public κλειδιά παρζχει μεγαλφτερθ

ευελιξία και είναι ευκολότερθ θ ανάπτυξι τθσ μιασ και δεν απαιτεί προ-διανομι κλειδιϊν,

οφτε χριςθ κοινοφ ηεφγουσ κλειδιϊν, οφτε περίπλοκουσ μθχανιςμοφσ μιασ κατεφκυνςθσ.

Ζχει όμωσ τρία βαςικά μειονεκτιματα :

1. Οι αλγόρικμοι κρυπτογράφθςθσ public κλειδιϊν είναι γενικά πιο αργοί ςε ςχζςθ με

τουσ αλγορίκμουσ ςυμμετρικοφ κλειδιοφ και απαιτοφν ςυνικωσ κλειδιά

μεγαλφτερου μικουσ και βιβλιοκικεσ επεξεργαςίασ μεγάλων πρϊτων αρικμϊν

γεγονόσ που τουσ κάνει να ζχουν μεγαλφτερεσ απαιτιςεισ ςε πόρουσ.

2. Το ατομικό (private) κλειδί κα πρζπει να αποκθκευκεί με αςφάλεια και να

φυλάςςεται θ ακεραιότθτά του. Εάν αποκαλυφκεί το private κλειδί ενόσ κόμβου

τότε μπορεί κάποιοσ να κρυπτογραφιςει και να αποκρυπτογραφιςει μθνφματα

παίρνοντασ τθν κζςθ του αυκεντικοφ κόμβου. Εάν το κλειδί αυτό χακεί ι αλλοιωκεί

τότε όλα τα μθνφματα που ζχουν κρυπτογραφθκεί με αυτό το κλειδί χάνονται και

κα πρζπει να δθμιουργθκεί νζο.

3. Είναι δφςκολο να πιςτοποιθκεί θ προζλευςθ του κλειδιοφ, δθλαδι να πιςτοποιθκεί

από ποιον προιλκε, αν δε ςυνδυάηεται με ζνα μθχανιςμό πιςτοποίθςθσ

(certification).

Σχετικϋσ μελϋτεσ

Στο *71+ ζχουμε υλοποιιςεισ ECC και RSA ςε 8-bit μικροελεγκτι και ςφγκριςθ των αποδόςεϊν τουσ. Στθν ECC υλοποίθςθ, οι καμπφλεσ ορίηονται ςε πεδίο πρϊτων ακεραίων GF(p). Γίνεται χριςθ τεχνικϊν βελτιςτοποίθςθσ για τον πολλαπλαςιαςμό των ςθμείων, όπωσ ςυντεταγμζνεσ προβολϊν (projective coordinates), αςυνεχείσ ςειρζσ (non-adjacent forms) και βελτιςτοποιιςεισ ςχετικζσ με τισ καμπφλεσ. Επιπλζον, εςτιάηει ςτθν βελτιςτοποίθςθ του πολλαπλαςιαςμοφ μεγάλων ακεραίων, το οποίο είναι βαςικό για τθν ECC τεχνικι. Οι ςυντάκτεσ τθσ δθμοςίευςθσ ςφγκριναν τον πολλαπλαςιαςμό ςειρϊν και ςτθλϊν και πρότειναν επιπλζον μία νζα υβριδικι τεχνικι για να βελτιϊςουν τθν απόδοςθ. Τα αποτελζςματά τουσ ζδειξαν ότι ο χρόνοσ εκτζλεςθσ μιασ 160-bit ECC κρυπτογράφθςθσ μειϊκθκε ςε λιγότερο από ζνα δευτερόλεπτο και είναι πολφ ταχφτερα από τισ λειτουργίεσ με RSA-1024.

Στο *72+ ζχουμε μια αποδοτικότερθ τεχνικι διαίρεςθσ, που είναι μια από τισ πιο ςθμαντικζσ αρικμθτικζσ πράξεισ ςτθν ECC κρυπτογραφία. Η ιδζα είναι να υπολογίςουμε κατευκείαν τθν τιμι Υ/Χ με μια εντολι, ςε αντίκεςθ με τθν προθγοφμενθ μζκοδο που πρϊτα υπολογίηαμε το 1/Χ και μετά το πολλαπλαςιάηαμε με Υ. Ζτςι μειϊνουμε κατά ζνα πολλαπλαςιαςμό τον αλγόρικμό μασ. Αυτό μπορεί να χρθςιμοποιθκεί και ςτα δφο πεδία GF(p) και GF(2m).

Page 86: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

86

Στο *73+ ζχουμε μια υλοποίθςθ ενόσ ςυςτιματοσ ECC με χριςθ Βελτιςτοποιθμζνων Ρεδίων (Optimal Extension Fields – OEFs [74]) GF(pm) όπου το p επιλζγεται να είναι 2n±c. Στθν αναφορά αυτι παρουςιάηεται αναλυτικά θ τεχνικι ECC με ζνα κλειδί 134bit. Οι πειραματικζσ μετριςεισ δείχνουν ότι ο πολλαπλαςιαςμόσ των ςθμείων μπορεί να πραγματοποιθκεί μζςα ςε 2 δεφτερα.

Στο *75+ ζχουμε μια ανάλυςθ του αντίκτυπου που ζχει το ςφςτθμα των ςυντεταγμζνων ςε μια υλοποίθςθ ECC. Οι ςυντάκτεσ του μζτρθςαν τθν απόδοςθ τθσ πρόςκεςθσ ςθμείων και του διπλαςιαςμοφ ςε διάφορα ςυςτιματα ςυντεταγμζνων και πρότειναν ζνα νζο ςφςτθμα Jacobian ςυντεταγμζνων που πετυχαίνει τον ταχφτερο χρόνο ςτθν εκτζλεςθ του διπλαςιαςμοφ. Επιπλζον, πρότειναν ζνα ςφςτθμα ςυντεταγμζνων που χωρίηει τθν εκκετικι ςε υπό-πράξεισ και επζλεξαν τθ βζλτιςτθ αναπαράςταςθ ςυντεταγμζνων για κάκε πράξθ. Ζτςι, χρθςιμοποιϊντασ διαφορετικά ςυςτιματα ςυντεταγμζνων πζτυχαν βελτίωςθ ςτο χρόνο εκτζλεςθσ.

Το tinyECC *76+ είναι μια βιβλιοκικθ που παρζχει λειτουργίεσ κρυπτογράφθςθσ public κλειδιοφ βαςιςμζνο ςτο ECC και μπορεί εφκολα να παραμετροποιθκεί και να ενςωματωκεί ςε μια εφαρμογι δικτφου αιςκθτιρων. Ραρζχει ζνα ςφςτθμα ψθφιακισ υπογραφισ (digital signature – ECDSA), ζνα πρωτόκολλο ανταλλαγισ κλειδιϊν (ECDH) και ζνα ςφςτθμα κρυπτογράφθςθσ public κλειδιοφ (ECIES). Το tinyECC χρθςιμοποιεί μια ςειρά βελτιςτοποιιςεων που ελζγχονται από το χριςτθ ανάλογα με τισ ανάγκεσ του. Ρροορίηεται για πλατφόρμεσ αιςκθτιρων που τρζχουν το λειτουργικό TinyOS. Είναι γραμμζνο ςε γλϊςςα nesC και ςε ςθμεία βελτιςτοποιιςεων ςε in-line Assembly. Υποςτθρίηει τισ παραμζτρουσ SECG για 128-bit, 160-bit, και 192-bit ECC. Στο *77+ ζχουμε μια υλοποίθςθ βιβλιοκικθσ 160-bit ECC κρυπτογραφίασ για ECDSA ςε πεδίο πρϊτων αρικμϊν GF(p) ςε ζνα CISC μικροελεγκτι (MC16). Οι πειραματικζσ μετριςεισ πζτυχαν χρόνο 150msec για τθν παραγωγι υπογραφισ (signature generation) και 630msec για τθν πιςτοποίθςθ. Το EccM *78+ είναι μια υλοποίθςθ ενόσ ςυςτιματοσ ECC ςε πεδίο δυαδικϊν αρικμϊν GF(2p). Ο μζςοσ χρόνοσ για τθν παραγωγι του public κλειδιοφ είναι 34sec. Στο *79+ ζχουμε μια υλοποίθςθ ECC ςε πεδίο πρϊτων αρικμϊν GF(p) με χριςθ τθσ πλατφόρμασ TelosB του πανεπιςτθμίου Berkeley. Η απόδοςθ τθσ υλοποίθςθσ αυτισ είναι 3.3sec για τθσ υπογραφισ του public κλειδιοφ και 6.7sec για τθν πιςτοποίθςθ παρόλο που δε χρθςιμοποιικθκε ο H/W πολλαπλαςιαςτισ.

Κρυπτογραφύα ελλειπτικόσ καμπύλησ - Elliptic curve cryptography (ECC)

Η κρυπτογραφία ελλειπτικισ καμπφλθσ (ECC) είναι μια μζκοδοσ κρυπτογραφίασ

κοινοφ κλειδιοφ (public key) που βαςίηεται ςτθν αλγεβρικι δομι των ελλειπτικϊν καμπφλων ςε πεπεραςμζνα πεδία. Η κρυπτογραφία με κοινό κλειδί βαςίηεται ςτθν απείκεια μερικϊν μακθματικϊν προβλθμάτων. Τα πρϊτα ςυςτιματα, όπωσ αυτά με τον αλγόρικμο RSA, χρθςιμοποιοφςαν το γινόμενο δφο μεγάλων πρϊτων αρικμϊν ωσ γρίφο : ζνασ χριςτθσ διαλζγει δφο μεγάλουσ τυχαίουσ πρϊτουσ αρικμοφσ ωσ ατομικό κλειδί και εκπζμπει το γινόμενό τουσ ωσ το κοινό κλειδί. Ενϊ θ παραγωγι πρϊτων αρικμϊν και το γινόμενό τουσ είναι ςχετικά εφκολο ςτον υπολογιςμό, θ αντίςτροφθ διαδικαςία είναι πολφ δφςκολθ. Για τισ ελλειπτικζσ καμπφλεσ, το πρόβλθμα βρίςκεται ςτον υπολογιςμό του διακριτοφ λογαρίκμου (discrete logarithm) ενόσ ςτοιχείου. Δεδομζνων των P και Q, βρεσ μια τιμι “a” τζτοια ϊςτε a*P=Q. Το μζγεκοσ τθσ ελλειπτικισ καμπφλθσ κακορίηει τθ

Page 87: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

87

δυςκολία του προβλιματοσ. Υπολογίηεται ότι χρειάηεται μικρότεροσ αρικμόσ για να επιτευχκεί το ίδιο επίπεδο αςφαλείασ όπωσ ςε ζνα RSA ςφςτθμα. Η μείωςθ αυτι μειϊνει και το εφροσ ηϊνθσ. Μια ελλειπτικι καμπφλθ είναι μια επίπεδθ καμπφλθ θ οποία είναι ιςομορφικι ςε μια καμπφλθ που ορίηεται από τθν ςχζςθ y2 = x3 + ax + b (1). Μία ςειρά από ςθμεία ςε μια τζτοια καμπφλθ – όλεσ οι λφςεισ τθσ εξίςωςθσ (1) μαηί με τα ςθμεία ±∞ – ςχθματίηουν μια ομάδα Abelian [82] με το ςθμείο ςτο άπειρο ωσ ςτοιχείο ταυτότθτασ. Εάν οι ςυντεταγμζνεσ x και y επιλεχκοφν μζςα από ζνα πεπεραςμζνο πεδίο, οι λφςεισ ςχθματίηουν μια πεπεραςμζνθ ομάδα Abelian. Εάν το πεπεραςμζνο πεδίο είναι μεγάλο, το πρόβλθμα του διακριτοφ λογάρικμου ςε τζτοια ελλειπτικι καμπφλθ κεωρείται εξαιρετικά δφςκολο. Γι’ αυτό τα κλειδιά ςτθν ECC μποροφν να επιλεγοφν να είναι πιο μικρά για ζνα αντίςτοιχο επίπεδο αςφαλείασ που βαςίηεται ςε μεκόδουσ ακεραίων.

Μαθηματικό υπόβαθρο ECC

Οι ελλειπτικζσ καμπφλεσ που χρθςιμοποιοφνται ςτθν κρυπτογραφία ορίηονται ςε δφο τφπουσ πεπεραςμζνων πεδίων : α)πεδία μονϊν χαρακτθριςτικϊν (Fp, όπου το p>3 είναι ζνασ μεγάλοσ πρϊτοσ αρικμόσ) και β)πεδία χαρακτθριςτικοφ δφο (F2

m). Πταν θ διαφορά δεν είναι ςθμαντικι τα ορίηουμε και τα δφο ωσ Fq , όπου q = p ι q = 2m. Στο πρϊτο πεδίο τα ςτοιχεία είναι ακζραιοι ( 0 ≤ x < p ) τα οποία ςυνδυάηονται χρθςιμοποιϊντασ αρικμθτικι με modulus. Στθ δεφτερθ περίπτωςθ είναι λίγο πιο πολφπλοκα. Η ομάδα των ηευγϊν ςυνδεδεμζνων ςυντεταγμζνων (x,y) όπου x,y є Fq ςχθματίηουν ζνα ςυνδεδεμζνο επίπεδο Fq * Fp. Μια ελλειπτικι τροχιά είναι ο γεωμετρικόσ τόποσ των ςθμείων ςτο επίπεδο των οποίων οι ςυντεταγμζνεσ ικανοποιοφν τθν εξίςωςθ. Στθν περίπτωςθ τθσ τάξθσ (p > 3) θ εξίςωςθ είναι του τφπου :

, όπου a, b є Fp είναι ςτακερζσ τζτοιεσ ϊςτε 4*a3 + 27*b2 ≠ 0

Domain parameters

Για τθ χριςθ τθσ ECC όλοι οι κόμβοι κα πρζπει να ςυμφωνιςουν ςε όλα τα ςτοιχεία που ορίηουν τθν ελλειπτικι καμπφλθ, τα οποία ονομάηονται domain parameters. Το πεδίο ορίηεται από το p ςτο πρϊτο τφπο και από το ηεφγοσ m και f ςτο δεφτερο. Η ελλειπτικι καμπφλθ ορίηεται από τισ ςτακερζσ a και b που χρθςιμοποιοφνται ςτθν εξίςωςι τθσ. Τζλοσ, ορίηουμε και το ςθμείο εκκίνθςθσ G. Για τισ εφαρμογζσ μασ θ τάξθ του G, δθλαδι ο μικρότεροσ μθ-μθδενικόσ αρικμόσ n ζτςι ϊςτε nG = O πρζπει να είναι πρϊτοσ αρικμόσ. Συνολικά οι παράμετροι που χρθςιμοποιοφμε είναι οι p, a, b, G, n, και h. Η παραγωγι αυτϊν των παραμζτρων γίνεται μια φορά από ζνα κεντρικό ςτακμό μιασ και είναι αρκετά απαιτθτικζσ ςε επεξεργαςτικι ιςχφ. Αρκετοί οργανιςμοί προτφπων ζχουν εκδϊςει domain parameter για ECC ςε διάφορα ςυνικθ πεδία:

NIST, Recommended Elliptic Curves for Government Use [83] SECG, SEC 2: Recommended Elliptic Curve Domain Parameters [84]

Μϋγεθοσ κλειδιών

Από τι ςτιγμι που όλοι οι γνωςτοί γριγοροι αλγόρικμοι που επιτρζπουν τθν

επίλυςθ του ECDLP χρειάηονται βιματα, είναι επακόλουκο ότι το μζγεκοσ του πεδίου κα πρζπει να είναι τουλάχιςτον δφο φορζσ το μζγεκοσ των παραμζτρων αςφαλείασ.

Για παράδειγμά, για ζνα κλειδί 128-bit κάποιοσ κα χρειαςτεί ζνα πεδίο Fq όπου q 2256.

Page 88: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

88

Elliptic Curve Diffie-Hellman (ECDH)

Το Elliptic Curve Diffie-Hellman (ECDH) είναι ζνα πρωτόκολλο ςυμφωνίασ και

εγκατάςταςθσ κλειδιϊν που επιτρζπει ςε δφο κόμβουσ, οι οποίοι ζχουν ζνα ηεφγοσ (κοινό – ατομικό) κλειδιϊν ελλειπτικισ καμπφλθσ (elliptic curve), να εγκαταςτιςουν ζνα κοινό μυςτικό κλειδί πάνω από ζνα μθ αςφαλζσ κανάλι. Το κλειδί αυτό μπορεί να χρθςιμοποιθκεί απευκείασ ωσ ζνα κλειδί, ι να χρθςιμοποιθκεί για τθν παραγωγι κάποιου άλλου κλειδιοφ που κα χρθςιμοποιθκεί για να κρυπτογραφιςει τισ επικοινωνίεσ μεταξφ των δφο κόμβων χρθςιμοποιϊντασ ςυμμετρικι κρυπτογράφθςθ. Είναι μια παραλλαγι του πρωτοκόλλου Diffie-Hellman [85] που χρθςιμοποιεί όμωσ κρυπτογραφία ελλειπτικισ καμπφλθσ (elliptic curve cryptography – ECC).

Πρωτόκολλο Εγκατϊςταςησ κλειδιού

Εικόνα 48 Πρωτόκολλο εγκατάςταςθσ κοινοφ κλειδιοφ ECDH

Υποκζτουμε ότι ο κόμβοσ Α κζλει να εγκαταςτιςει κοινό κλειδί με τον κόμβοσ Β ϊςτε να επικοινωνιςουν αλλά το κανάλι πάνω ςτο οποίο επικοινωνοφν δεν είναι αςφαλζσ. Αρχικά κα πρζπει να ςυμφωνιςουν ςτισ παραμζτρουσ (domain parameters: p, a, b, G, n, h ) οι οποίεσ κα είναι κοινζσ ςτουσ δφο κόμβουσ που κζλουν να επικοινωνιςουν. Επίςθσ κάκε κόμβοσ κα πρζπει να ζχει ζνα ηεφγοσ κλειδιϊν κατάλλθλο για ECC, που αποτελείται από ζνα ατομικό κλειδί d και ζνα κοινό Q το οποίο είναι Q = d*G. Τα δφο ηεφγθ κλειδιϊν είναι (dA, QA) και (dB, QB) αντίςτοιχα. Κάκε κόμβοσ κα πρζπει να ζχει το κοινό κλειδί το άλλου κόμβου.

Ο κόμβοσ Α υπολογίηει το κλειδί (xk , yk) = dA*QB. Αντίςτοιχα και ο κόμβοσ Β υπολογίηει το k = dB * QA. Το κοινό κλειδί είναι το xk ( θ x ςυντεταγμζνθ τθσ δομισ). Ο αρικμόσ που υπολογίηεται από τουσ δφο κόμβουσ είναι ίςοσ επειδι dΑ*QΒ = dA*dB*G = dB*dA*G = dB*QA.

Το πρωτόκολλο είναι αςφαλζσ επειδι τίποτα δεν αποκαλφπτεται εκτόσ από το κοινό (public) κλειδί το οποίο δεν είναι κρυφό και κανζνασ κόμβοσ δε μπορεί να παράγει το ατομικό (private) κλειδί κάποιου άλλου κόμβου χωρίσ να λφςει το «Elliptic Curve Discrete Logarithm Problem» [86].

Page 89: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

89

Η υλοπούηςό μασ

Για τθν υλοποίθςι μασ βαςιςτικαμε ςτθ open-source βιβλιοκικθ του tinyECC [76]. Χρθςιμοποιϊντασ τθν κρυπτογραφία ελλειπτικισ καμπφλθσ (ECC) και αςφμμετρα κλειδιά καταφζραμε να αναπτφξουμε ζνα ςφςτθμα διανομισ ςυμμετρικϊν κλειδιϊν που μποροφν να χρθςιμοποιθκοφν από τθν προθγοφμενθ υλοποίθςθ τθσ RC6 και AES κρυπτογράφθςθσ για τθ μετάδοςθ κρυπτογραφθμζνων πακζτων.

Κατ’ αρχιν, αναπτφχκθκε ζνα εργαλείο παραγωγισ public και private κλειδιϊν, ϊςτε να παίξει το ρόλο τθσ αρχισ πιςτοποίθςθσ (Certification Authority - CA) ςτο ςυνολικό ςφςτθμα πιςτοποίθςθσ. Αρχικά, με τθ χριςθ του εργαλείου παράγεται το μοναδικό ηεφγοσ κλειδιϊν (κοινοφ – ιδιωτικοφ) τθσ CA, και ςτθ ςυνζχεια ζνα ηεφγοσ κλειδιϊν για κάκε κόμβο. Σε κάκε κόμβο εγκακίςτανται τα ακόλουκα: το ηεφγοσ κλειδιϊν του ςυγκεκριμζνου κόμβου, το δθμόςιο κλειδί τθσ CA και θ ψθφιακι υπογραφι του public κλειδιοφ το κόμβου με τθ χριςθ του private κλειδιοφ τθσ CA.

Κάκε κόμβοσ όταν ξεκινά ορίηει τισ παραμζτρουσ για τθν ECC λειτουργία ανάλογα με τον τρόπο λειτουργίασ και τα επίπεδα αςφαλείασ που του ζχουμε κζςει. Στθ ςυνζχεια κζτει τα κλειδιά του (public, private, publicCA) ωσ τα «διαπιςτευτιρια» του τα οποία τα ζχουμε παράγει νωρίτερα με το εργαλείο που αναπτφξαμε. Πλοι οι κόμβοι, πλθν ενόσ (του κόμβου βάςθσ που παίηει το ρόλο CA) ξεκινοφν ςε κατάςταςθ «WAIT FOR NETWORK PUBLICATION» ςτθν οποία δε μποροφν να ςτείλουν τίποτα και περιμζνουν από τον κόμβο βάςθσ να ςτείλει τα κλειδιά για να ξεκινιςει το πρωτόκολλο εγκατάςταςθσ κοινϊν κλειδιϊν. Ο ςτακμόσ βάςθσ ςτζλνει περιοδικά ανακοινϊςεισ του δικτφου, οι οποίεσ και «υπογράφονται» (sign) με τθ χριςθ του CA private key. Μόλισ ζνασ κόμβοσ λάβει το μινυμα από τον κόμβο βάςθσ, επαλθκεφει (verify) τθν υπογραφι ϊςτε να βεβαιωκεί ότι το μινυμα ιρκε από το ςωςτό κόμβο και απαντά ςτον κόμβο βάςθσ με ζνα μινυμα «SEND SHARED KEY RESPONSE» το οποίο περιζχει το public κλειδί του κόμβου το οποίο και «υπογράφει». Ο κόμβοσ βάςθσ αφοφ λάβει το μινυμα απάντθςθσ του κόμβου με το public κλειδί του και επιβεβαιϊςει τθν αυκεντικότθτα (verify) του κόμβου ςτζλνει ζνα μινυμα με το SHARED κλειδί το οποίο πρϊτα υπογράφει και ςτθ ςυνζχεια κρυπτογραφεί χρθςιμοποιϊντασ το public κλειδί του κόμβου . Τζλοσ, ο κόμβοσ αφοφ λάβει το κρυπτογραφθμζνο μινυμα, το αποκρυπτογραφεί, χρθςιμοποιϊντασ το ιδιωτικό κλειδί του, πιςτοποιεί τθν αυκεντικότθτά του (verify) χρθςιμοποιϊντασ το δθμόςιο κλειδί τθσ CA και αποκθκεφει το SHARED key ϊςτε να το χρθςιμοποιιςει για να (από)κρυπτογραφιςει τα περεταίρω μθνφματα που κα λάβει και κα ςτείλει ςτο δίκτυο. Με τον ίδιο τρόπο, ξεκινϊντασ όμωσ τϊρα από τον κόμβο του πρϊτου hop, μεγαλϊνει κυκλικά γφρω από τον κόμβο βάςθσ hop-by-hop το αςφαλζσ δίκτυο. Διαγραμματικά θ παραπάνω διαδικαςία φαίνεται ςτθν εικόνα 49.

Page 90: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

90

Εικόνα 49 Διαδικαςία εγκατάςταςθσ κοινοφ κλειδιοφ με χριςθ ECC

7.4 Περύληψη

Στο κεφάλαιο αυτό παρουςιάηουμε το «state of the art» για τουσ μθχανιςμοφσ διαχείριςθσ

και διανομισ των κλειδιϊν ςε ζνα αςφρματο δίκτυο αιςκθτιρων. Στθ ςυνζχεια βλζπουμε

δφο υλοποιιςεισ που αναπτφξαμε χρθςιμοποιϊντασ διαφορετικζσ μεκόδουσ. Αρχικά, ζνα

μοντζλο πικανολογικισ προδιανομισ των κλειδιϊν και ςτθ ςυνζχεια ζνα μοντζλο με χριςθ

μια βιβλιοκικθσ ECC (elliptic curve cryptography) για τθν παραγωγι ςυμμετρικϊν κλειδιϊν

ςτουσ κόμβουσ και τα αντίςτοιχα προβλιματα ςε κάκε υλοποίθςθ.

Page 91: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

91

Κεφϊλαιο 8 - Μετρόςεισ

8.1 Ειςαγωγό

Για να διαπιςτϊςουμε τθν απόδοςθ του ςυςτιματόσ μασ κα πραγματοποιιςουμε ςειρά πειραματικϊν μετριςεων τθσ ενεργειακισ κατανάλωςθσ αλλά και του χρόνου εκτζλεςθσ τθσ διαδικαςίασ αποςτολισ και λιψθσ μθνυμάτων ανάλογα με τον τφπο αςφαλείασ που χρθςιμοποιοφμε.

8.2 Μετρόςεισ κατανϊλωςησ

Ο ςτόχοσ των απ’ ευκείασ μετριςεων κατανάλωςθσ ενζργειασ είναι αφ’ενόσ μεν θ επιβεβαίωςθ ι θ εκτίμθςθ τθσ απόκλιςθσ τθσ ςφνκεςθσ των τιμϊν από τα data sheets για τουσ βαςικοφσ υπό ζλεγχο καταναλωτζσ του ςυςτιματοσ που είναι ο επεξεργαςτισ (msp430) και ο radio transceiver (cc2420), αφετζρου δε, θ ανίχνευςθ ςθμαντικϊν μετριςιμων διαφορϊν που προκφπτουν άμεςα από διαφορετικι ςφνκεςθ (configuration) του λογιςμικοφ του ςυςτιματοσ.

8.2.1. Τλικό για μετρόςεισ

Για τισ πειραματικζσ μετριςεισ τθσ κατανάλωςθσ ενζργειασ χρθςιμοποιιςαμε το παρακάτω ςχθματικό διάγραμμα που περιλαμβάνει μια ςυςκευι τθσ εταιρείασ DATA TRANSLATION (DT 9816) [43] και ζνα κφκλωμα μετατροπισ για είςοδο ςτθ ςυςκευι, όπωσ αυτά περιγράφονται ςτθν *81+.

Τα χαρακτθριςτικά τθσ ςυςκευισ DT 9816 είναι :

Ζξι ανεξάρτθτεσ διαδοχικισ προςζγγιςθσ μετατροπείσ αναλογικοφ ςιματοσ ςε ψθφιακό (A/D) με κυκλϊματα track-and-hold. Κάκε μετατροπζασ χρθςιμοποιεί ζνα κοινό ρολόι και ςκανδαλιςτι για ταυτόχρονθ δειγματολθψία και των ζξι αναλογικϊν ςθμάτων για ςυχνότθτεσ μζχρι 50kHz ανά κανάλι.

Ανάλυςθ αναλογικοφ ςε ψθφιακό 16bits και αναλογικζσ είςοδοι με εφροσ +/-10 και +/-5

Rout2

5k1

Rout3

100

SW1Q1

Q2N3904

U1

TL431/TI

R2

5k1

R3

10k

R1

2k

+10V

Rout1

51k

Q2

BS250/PLP

Q3

BS250/PLP

C1 12n

Mote Connector

12

DT9816 Connector

12

CON2

CON1

Εικόνα 50 Σχθματικό διάγραμμα μετριςεων

Page 92: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

92

Οκτϊ (8) ψθφιακζσ είςοδοι, οκτϊ (8) ψθφιακζσ ζξοδοι και ζνασ 16-bit καταμετρθτισ / χρονιςτισ

Λειτουργίεσ παλμογράφου, καταγραφζα γραφιματοσ, βολτομζτρου, αναγνϊςτθ αρχείου, ψθφιακισ ειςόδου/εξόδου, απαρικμθτισ γεγονότων και γεννιτριασ ρυκμοφ.

Σφνδεςθ μζςω standard USB.

Για τθ μετατροπι τθσ καταναλιςκόμενθσ τάςθσ ςε είςοδο του DT9816

χρθςιμοποιικθκε το κφκλωμα που φαίνεται ςτθν πιο πάνω εικόνα. Το mote (Tmote Sky)

προσ μζτρθςθ ςυνδζεται ςτθν ςφνδεςθ CON1 και το DT9816 ςτθν ςφνδεςθ CON2. Η

τροφοδοςία είναι ςτα 10V DC και παρζχεται από ζνα τροφοδοτικό ςυνεχοφσ ρεφματοσ. Το

κφκλωμα είναι ζνασ κακρζπτθσ ρεφματοσ που δθμιουργείται από τα τρανηίςτορ P-MOSFET

BS250 Q2 και Q3 και το BJT 2N3904 τρανηίςτορ Q1. Η κφρια ιδζα είναι ότι το ρεφμα που

καταναλϊνεται από το mote, κακρεπτίηεται από τα τρανηίςτορ Q2 και Q3 και μετριζται ωσ

τάςθ ςτθν ζξοδο πάνω ςτισ αντιςτάςεισ Rout (1, 2 ι 3). Ο ρόλοσ του Q1 είναι να

ςτακεροποιιςει τθν τροφοδοςία ςτο mote μεταξφ 3 και 3.2V. Για να το πετφχουμε αυτό κα

πρζπει να ζχουμε ςτακερι τάςθ ςτθ βάςθ του Q1. Για το ςκοπό αυτό χρθςιμοποιικθκε

ζνασ προγραμματιηόμενοσ ςτακεροποιθτισ τάςθσ TL431 (U1) ο οποίοσ δθμιουργεί μια τάςθ

3.8V ςτθν βάςθ του Q1. Ανάλογα με το ρεφμα του ςυλλζκτθ, θ τάςθ μεταξφ βάςθσ-

εκπομποφ του Q1 είναι μεταξφ 0.6 και 0.8V και τότε θ ςτακεροποιθμζνθ τροφοδοςία του

mote είναι μεταξφ 3 και 3.2V.

Για τθ ςυλλογι των μετριςεων ςτον υπολογιςτι χρθςιμοποιιςαμε το πρόγραμμα quickDAQ *44+. Αυτό είναι μια εφαρμογι βαςιςμζνθ ςτο .NET για ςυλλογι και ανάλυςθ που επιτρζπει τθν λιψθ αναλογικϊν δεδομζνων, τθ δθμιουργία γραφιματόσ τουσ κατά τθ διάρκεια τθσ λιψθσ, τθν ανάλυςι τουσ και τθν αποκικευςι τουσ ςτο δίςκο με ςυχνότθτα δειγματολθψίασ ζωσ 150KHz ανά κανάλι για περεταίρω ανάλυςθ.

Τα κφρια χαρακτθριςτικά του είναι:

Λιψθ αναλογικϊν ςθμάτων υψθλισ ταχφτθτασ ταυτόχρονα και απευκείασ ςτο δίςκο με ςυχνότθτα ζωσ 150kHz ανά κανάλι.

Ραρουςιάηει ηωντανά τα ςιματα για γραφικι ανάλυςθ πραγματικοφ χρόνου

Page 93: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

93

Εικόνα 51 Συνδεςμολογία μετριςεων

8.2.2. Κατανϊλωςη αποςτολόσ και λόψησ πλαιςύου

Σφμφωνα με τα data-sheets αλλά και με υπάρχουςεσ μετριςεισ για τθν πλατφόρμα TelosB,

υπάρχει ςθμαντικι διαφορά ςτθν κατανάλωςθ τθσ CPU (από μερικά μΑ ςε sleep-mode ζωσ

2,8mA ςε active mode) ςε ςχζςθ με τθν κατανάλωςθ του CC2420 radio chip (19,7mA RX,

8,5-17,4mA TX). Επιπλζον, ςφμφωνα και με τθν *81+, άμεςα μετριςιμθ είναι και θ επίδραςθ

τθσ ενεργοποίθςθσ των leds (ζωσ και 10mA). Η γνϊςθ και επιβεβαίωςθ των παραπάνω, κα

χρθςιμοποιθκεί ωσ ακόμα ζνασ τρόποσ για τθν πιο λεπτομερι ανάλυςθ τθσ κατανάλωςθσ

των επιμζρουσ λειτουργιϊν κατά τθ μετάδοςθ ενόσ πλαιςίου, κακϊσ και ζνασ δεφτεροσ

τρόποσ χρονικϊν μετριςεων, επιπλζον αυτϊν που περιγράφονται ςτθν ενότθτα 8.3, όπωσ

κα δειχκεί ςτθ ςυνζχεια.

Στθν *81+ οι μετριςεισ κατανάλωςθσ τθσ αποςτολισ και λιψθσ ενόσ πλαιςίου ζγιναν με το

CC2420 chip εξ’αρχισ ενεργοποιθμζνο. Εφαρμόηοντασ μια διαφορετικι προςζγγιςθ ςτθ

διαδικαςία, και ςυγκεκριμζνα ενεργοποιϊντασ το CC2420 ακριβϊσ πριν τθν ζναρξθ τθσ

μετάδοςθσ και απενεργοποιϊντασ το αμζςωσ μετά τθ λιξθ τθσ, και λαμβάνοντασ υπ’όψθ τθ

ςθμαντικι ςυνειςφορά του CC2420 ςτθ ςυνολικι κατανάλωςθ τθσ πλατφόρμασ, είναι

δυνατι θ εξαγωγι αςφαλζςτερων ςυμπεραςμάτων.

Στο επόμενο ςχιμα φαίνεται θ επίδραςθ ςτθν κατανάλωςθ μόνο από τθν ενεργοποίθςθ και

απενεργοποίθςθ του cc2420, ςτθ μζγιςτθ ςυχνότθτα που επιτρζπει τθν κατανάλωςθ να

αγγίξει τθ μζγιςτθ τιμι τθσ, μετά τθ ςτακεροποίθςθ του ταλαντωτι (4msec ON – 4msec

OFF).

Page 94: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

94

Εικόνα 52 Κατανάλωςθ ρεφματοσ Tmote Sky για ενεργοποίθςθ / απενεργοποίθςθ του CC2420

Οι μικρζσ κορυφζσ ςτθν κατανάλωςθ αποτελοφν μια ζνδειξθ των ςθμείων ενεργοποίθςθσ

τθσ CPU θ οποία και (απ)ενεργοποιεί το cc2420 κάκε 4msec, αλλά μια επιβεβαίωςθ αυτοφ

μπορεί να γίνει με τθ χριςθ των leds, ανάβοντάσ τα πριν το Radio OFF και ςβινοντάσ τα

πριν το Radio ON, όπωσ φαίνεται τελικά ςτο επόμενο ςχιμα:

Page 95: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

95

Εικόνα 53 Κατανάλωςθ ρεφματοσ για ενεργοποίθςθσ / απενεργοποίθςθ του CC2420 παράλλθλα με τα leds

Γνωρίηοντασ επίςθσ πωσ θ κατανάλωςθ μειϊνεται κατά τθ μετάδοςθ ενόσ πλαιςίου με ιςχφ

εκπομπισ μικρότερθ από τθ μζγιςτθ δυνατι, ςτα επόμενα δφο ςχιματα παρουςιάηονται οι

καταναλϊςεισ κατά τθν εκπομπι ενόσ πλαιςίου με μζγεκοσ 14 και 104 bytes αντίςτοιχα, και

ιςχφ εκπομπισ -10dBm, εφαρμόηοντασ τθν τεχνικι τθσ ενεργοποίθςθσ και

απενεργοποίθςθσ του cc2420 αμζςωσ πριν και μετά τθ μετάδοςθ.

Τα αρχικά τμιματα με τθν υψθλι κατανάλωςθ αντιςτοιχοφν ςτθν αρχικοποίθςθ και

προετοιμαςία του προσ μετάδοςθ πλαιςίου, ζχοντασ ενεργά και τα δφο ολοκλθρωμζνα

(CPU και cc2420), ενϊ τα τμιματα χαμθλότερθσ κατανάλωςθσ αντιςτοιχοφν ςτθ μετάδοςθ

ςτον αζρα (-10dBm). Και τα δφο ζχουν διάρκεια ανάλογθ του μικουσ του πλαιςίου, αφοφ

ςτο πρϊτο ολοκλθρϊνεται θ μεταφορά από τθ μνιμθ ςτο cc2420 μζςω του SPI bus και ςτο

δεφτερο θ μετάδοςθ ςτον αζρα. Να ςθμειωκεί πωσ ςε όλεσ τισ μετριςεισ ο πομπόσ ιταν ο

μοναδικόσ ςτο χϊρο και το αρχικό backoff ιταν ςτακερό, για λόγουσ ςφγκριςθσ. Ρροφανϊσ,

ςε κανονικι λειτουργία του MAC, θ διαδικαςίεσ backo-off και CCA κα πρζπει χρονικά και

ενεργειακά να προςτεκοφν ςτο αρχικό τμιμα υψθλισ κατανάλωςθσ.

Page 96: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

96

Εικόνα 54 Κατανάλωςθ ρεφματοσ για αποςτολι πλαιςίου 14 Bytes

Εικόνα 55 Κατανάλωςθ ρεφματοσ για αποςτολι πλαιςίου 104 Bytes

Page 97: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

97

Ζχοντασ ωσ αναφορά τισ δφο προθγοφμενεσ μετριςεισ, ςτθ ςυνζχεια παρουςιάηονται οι

αντίςτοιχεσ με ενεργοποιθμζνθ τθ HW (Σχ. 56 & 58) και τθ SW (Σχ. 57 & 59) υλοποίθςθ τθσ

AES-128 κρυπτογράφθςθσ, αντίςτοιχα, για μεγζκθ πακζτου 14 και 104 bytes.

Εικόνα 56 Κατανάλωςθ ρεφματοσ με ενεργό HW AES και πακζτο 14Bytes

Εικόνα 57 Κατανάλωςθ ρεφματοσ με ενεργό SW AES και πακζτο 14Bytes

Page 98: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

98

Εικόνα 58 Κατανάλωςθ ρεφματοσ με ενεργό HW AES και πακζτο 104Bytes

Εικόνα 59 Κατανάλωςθ ρεφματοσ με ενεργό SW AES και πακζτο 104Bytes

Page 99: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

99

Σε ότι αφορά τθ διαδικαςία λιψθσ, οι μετριςεισ είναι ανάλογεσ, με τισ εξείσ διαφορζσ

μόνο:

a) δεν υπάρχει περιοχι μειωμζνθσ κατανάλωςθσ όπωσ ςτθν περίπτωςθ τθσ μετάδοςθσ

με ιςχφ εκπομπισ χαμθλότερθ τθσ μζγιςτθσ.

b) Στθν περίπτωςθ τθσ HW αποκρυπτογράφθςθσ θ διαδικαςία διαρκεί περιςςότερο

από τθν κρυπτογράφθςθ, όπωσ κα δειχκεί και ςτθν επόμενθ ενότθτα, λόγω του

γεγονότοσ πωσ ςτθν αρχικοποίθςι τθσ θ πρόςβαςθ ςτα δεδομζνα γίνεται μζςω του

SPI bus ςτον RX FIFO buffer του CC2420.

Μελετϊντασ τισ μετριςεισ και ςυγκρίνοντασ τισ διαφορετικζσ περιπτϊςεισ, ζχουμε να

παρατθριςουμε τα εξισ:

o Άμεςα μετριςιμεσ ςθμαντικζσ διαφορζσ ςτθν απαιτοφμενθ ιςχφ (ρεφμα) δεν

υπάρχουν είτε χρθςιμοποιείται κρυπτογράφθςθ είτε όχι, και για οποιαδιποτε

υλοποίθςθ.

o Διαφορζσ ςτθν απαιτοφμενθ ενζργεια ςαφϊσ και υπάρχουν και προκφπτουν τελικά

από τισ διαφορζσ ςτον απαιτοφμενο χρόνο επεξεργαςίασ / χρόνο παραμονισ του

cc2420 ολοκλθρωμζνου ςε ενεργό κατάςταςθ.

o Ππωσ είναι αναμενόμενο, ςτα περιςςότερα τμιματα οι χρόνοι αυτοί είναι ανάλογοι

του μεγζκουσ πακζτου. Η μόνθ περίπτωςθ που αυτό δεν ιςχφει είναι ςτθ HW

υλοποίθςθ του AES, όπου ο απαιτοφμενοσ χρόνοσ είναι ςτακερόσ, γεγονόσ που

επιβεβαιϊνεται και από τισ πιο ακριβείσ χρονικζσ μετριςεισ ςτθν επόμενθ ενότθτα.

o Συγκρίνοντασ τθ SW με τθ HW υλοποίθςθ του AES και για μζγεκοσ πακζτου 104, θ

χρονικι και κατά ςυνζπεια ενεργειακι υπεροχι τθσ HW λφςθσ είναι προφανισ.

o Ενδιαφζρον παρουςιάηει το γεγονόσ πωσ το παραπάνω δεν ιςχφει για μζγεκοσ

πακζτου 14, όπου θ SW λφςθ υπερζχει. Αυτό ςυμβαίνει κυρίωσ διότι θ εγγραφι του

κλειδιοφ ςτο HW απαιτεί χρόνο ίςο και μεγαλφτερο ςε ςχζςθ με τθ μεταφορά του

ίδιου του πακζτου (μικοσ κλειδιοφ 16 bytes), ενϊ θ αντίςτοιχθ αρχικοποίθςθ του

SW AES αλγορίκμου γίνεται ςε περιβάλλον χαμθλισ κατανάλωςθσ, πριν τθν

ενεργοποίθςθ του cc2420. Το τελευταίο βεβαίωσ ιςχφει υπό τθν προχπόκεςθ τθσ

χριςθσ πολλαπλϊν κλειδιϊν, αφοφ ςε απλοφςτερθ ςφνκεςθ το μοναδικό HW κλειδί

χρειάηεται να γραφτεί μόνο μια φορά.

8.3 Χρονικϋσ μετρόςεισ Από τισ ενεργειακζσ μετριςεισ ιδθ είναι δυνατό να εξαχκοφν και ςυμπεράςματα ςε ςχζςθ με τθ

διάρκεια τθσ κάκε λειτουργίασ κατά τθ μετάδοςθ / λιψθ ενόσ πλαιςίου. Ραρ’ όλα αυτά, μια πιο

Page 100: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

100

ακριβισ μζτρθςθ των χρόνων εκτζλεςθσ των διαφορετικϊν αλγορίκμων και υλοποιιςεων

αςφάλειασ παρουςιάηεται ςτθ ςυνζχεια.

8.3.1. Μετρόςεισ διϊρκειασ κρυπτογρϊφηςησ/αποκρυπτογρϊφηςησ

μηνύματοσ

Για τισ πειραματικζσ μετριςεισ τθσ διάρκειασ κρυπτογράφθςθσ και αποκρυπτογράφθςθσ ενόσ πλαιςίου χρθςιμοποιοφμε τουσ timer του mote (32Khz). Ζτςι δθμιουργοφμε δφο μεταβλθτζσ (startTime, stopTime) για τθν αποκικευςθ του χρόνου ςτθν ζναρξθ και λιξθ τθσ διαδικαςίασ που επικυμοφμε να «χρονομετριςουμε». Η τιμι που παίρνουμε είναι ςε τικ του ρολογιοφ. Να ςθμειωκεί πωσ ο msp430 λειτουργεί ςτα 4MHz.

static UINT32 startTime, stopTime; startTime = getTicks(); //Function for mesurment stopTime = getTicks(); DBG(U_DBG_USR1,"Time difference = %lu ticks (= %lu msecs)\n", stopTime-startTime, (stopTime-startTime)>>5);

Κάνοντασ τισ απαραίτθτεσ ρυκμίςεισ παίρνουμε τισ παρακάτω μετριςεισ για τουσ χρόνουσ κρυπτογράφθςθσ και αποκρυπτογράφθςθσ χρθςιμοποιϊντασ SW και HW μεκόδουσ. Ραρατθροφμε ότι οι χρόνοι τθσ HW μεκόδου είναι ςτακεροί, ανεξαρτιτωσ του μεγζκουσ του πακζτου. Είναι δε, χαμθλότεροι από τισ SW μεκόδουσ. Ανάμεςα ςτισ δφο SW υλοποιιςεισ, αυτι τθσ AES κρυπτογράφθςθσ είναι ταχφτερθ.

Packet Size 14 bytes 104 bytes

SW Encryption (AES) 44 ticks (= 1,38 msecs) 263 ticks (= 8,22 msecs)

SW Encryption (RC6) 216 ticks (= 6,75 msecs) 1469 ticks (= 45,9 msecs)

SW Decryption (AES) 44 ticks (= 1,38 msecs) 268 ticks (= 8,38 msecs)

SW Decryption (RC6) 216 ticks (= 6,75 msecs) 1471 ticks (= 45,97 msecs)

HW Encryption (AES) 45 ticks (= 1,4 msecs) 45 ticks (= 1,4 msec)

HW Decryption (AES) 111 ticks (= 3,46 msecs) 111 ticks (= 3,46 msecs)

SW SetKey (AES) 72 ticks (= 2,25 msecs)

SW SetKey (RC6) 1541 ticks (= 48,16 msecs)

HW SetKey (AES) 41 ticks (= 1,28 msecs)

Στθν παρακάτω εικόνα φαίνεται θ διαφορά των δφο μεκόδων κρυπτογράφθςθσ AES

και RC6 ςε ςχζςθ με το μζγεκοσ του πακζτου. Ραρατθροφμε τα άλματα που κάνουν κάκε 16 bytes. Αυτό ζχει ςχζςθ με το μζγεκοσ του block με το οποίο γίνονται οι πράξεισ ςτισ βιβλιοκικεσ AES και RC6. Επίςθσ, ο ρυκμόσ αφξθςθσ τθσ RC6 μεκόδου είναι μεγαλφτεροσ από αυτό τθσ AES.

Page 101: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

101

Εικόνα 60 Σφγκριςθ των μεκόδων AES/RC6 ςε ςχζςθ με το μζγεκοσ του πακζτου

Τζλοσ, ςτον επόμενο πίνακα παρουςιάηονται οι μετριςεισ των χρόνων των διαφόρων

μεκόδων για τθν εγκατάςταςθ του SHARED κλειδιοφ ςτουσ δφο κόμβουσ με τθ χριςθ

public-key ECC.

Τφποσ Κόμβου Base / CA Simple sensor node

eccInit 90401 ticks ( 2825.03 msecs ) 87785 ticks ( 2743.28 msecs )

eccSetCredentials 44 ticks ( 1.37 msecs ) 43 ticks ( 1.34 msecs )

eccSing 283762 ticks ( 8867.56 msecs ) 280119 ticks ( 8753.71 msecs )

eccVerify 329841 ticks ( 10307.53 msecs ) 331353 ticks ( 10354.78 msecs )

eccEncrypt 413550 ticks ( 12923.43 msecs ) -

eccDecrypt - 253980 ticks ( 7936.87 msecs)

Ραρατθροφμε ότι οι διαδικαςίεσ διαρκοφν αρκετά μεγάλουσ χρόνουσ. Είναι όμωσ δυνατό να εκτελοφνται ςε κατάςταςθ χαμθλισ κατανάλωςθσ (ςτθν CPU) και ζχοντασ το CC2420 ςε ανενεργό κατάςταςθ.

8.4 Περύληψη

Στο κεφάλαιο αυτό παρουςιάηονται οι πειραματικζσ μετριςεισ που ςυντελζςτθκαν ϊςτε να μετριςουμε τουσ χρόνουσ που απαιτοφνται για τθν κρυπτογράφθςθ και αποκρυπτογράφθςθ ενόσ πλαιςίου. Ραρατθροφμε ότι όςο μεγαλφτερο είναι το πλαίςιο που

Page 102: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

102

μεταδίδεται τόςο πιο πολφ μασ ςυμφζρει να χρθςιμοποιιςουμε τθν μζκοδο τθσ HW κρυπτογράφθςθσ. Σε μικρότερα πλαίςια, αν δεν χρθςιμοποιοφμε ςτακερό κλειδί, ςυμφζρει να χρθςιμοποιιςουμε τθ SW μζκοδο. Τζλοσ παρουςιάηουμε τθσ χρονικζσ μετριςεισ των μεκόδων διαχείριςθσ κλειδιϊν με ECC.

Page 103: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

103

Κεφϊλαιο 9 – υμπερϊςματα

Στθν παροφςα διπλωματικι εργαςία αςχολθκικαμε με τθν υλοποίθςθ βαςικϊν μθχανιςμϊν ςχετικϊν με το πρότυπο ΙΕΕΕ 802.15.4 ςε πλατφόρμα περιοριςμζνων πόρων, για τθν υποςτιριξθ ενόσ αςφρματου δικτφου αιςκθτιρων.

Συγκεκριμζνα, ξεκινϊντασ από τθν υλοποίθςθ του TinyOS 2.1 για το επίπεδο MAC αλλάξαμε το μθχανιςμό backoff ϊςτε να γίνει ςυμβατόσ με το 802.15.4. Αυτό αφοροφςε το μεταβλθτό εφροσ χρόνου αναμονισ για κάκε πακζτο ζναντι του ςτακεροφ ςτο TinyOS stack και τον οριςμό μεγίςτου αρικμοφ επαναλιψεων του αλγόρικμου.

Στθ ςυνζχεια, αναπτφξαμε τουσ απαραίτθτουσ μθχανιςμοφσ για τθν υλοποίθςθ τθσ αςφάλειασ υλικοφ (HW security) θ οποία παρζχεται από τον πομποδζκτθ CC2420, και βαςίηεται ςτουσ μθχανιςμοφσ κρυπτογράφθςθσ AES-128. Στα πλαίςια των μετριςεων τθσ απόδοςθσ τθσ υλοποίθςισ μασ, ενςωματϊςαμε ςτων κϊδικα δφο βιβλιοκικεσ ανοικτοφ κϊδικα με υλοποιιςεισ μθχανιςμϊν αςφαλείασ AES και RC6 για να κάνουμε τισ ανάλογεσ ςυγκρίςεισ. Αρχικά ςε επίπεδο εφαρμογισ ορίηεται το κλειδί και οι απαραίτθτεσ μεταβλθτζσ για τον τρόπο κρυπτογράφθςθσ που επικυμοφμε. Ρερνάμε τισ παραμζτρουσ ςτο MAC υπό-επίπεδο από τισ οποίεσ διαμορφϊνεται ανάλογα και το πλαίςιο. Στθ ςυνζχεια, παίρνουμε από τον security header τισ απαραίτθτεσ πλθροφορίεσ και φτιάχνουμε τουσ δφο καταχωρθτζσ του CC2420 (SECCTRL0 και SECCTRL1) που είναι κυρίωσ υπεφκυνοι για τον τρόπο κρυπτογράφθςθσ, όπωσ επίςθσ και τον καταχωρθτι TXNONCE. Για να ολοκλθρωκεί θ κρυπτογράφθςθ ςτζλνουμε τθν εντολι STXENC ςτο CC2420. Αντίςτοιχθ είναι και θ διαδικαςία τθσ αποκρυπτογράφθςθσ. Ραίρνουμε τισ πλθροφορίεσ για τον τρόπο τθσ αποκρυπτογράφθςθσ από τον security header του πλαιςίου που λαμβάνουμε, ςυμπλθρϊνουμε τα ςτοιχεία ςτουσ καταχωρθτζσ του CC2420 και ςτζλνουμε τθν εντολι SRXDEC για να ξεκινιςει θ αποκρυπτογράφθςθ.

Στο δεφτερο μζροσ τθσ διπλωματικισ, αναπτφξαμε δφο τεχνικζσ διαχείριςθσ των κλειδιϊν για τθν SW και HW κρυπτογράφθςθ που αναπτφξαμε ςτο πρϊτο μζροσ. Αρχικά, βαςιηόμενοι ςτο *58+, υλοποιιςαμε ζνα πρωτόκολλο προ-διανομισ ςυμμετρικϊν κλειδιϊν. Μζςω ενόσ εργαλείου δθμιουργοφμε μια μεγάλθ λίςτα–pool με κλειδιά από όπου επιλζγουμε τυχαία μερικά και τα εγκακιςτοφμε ςτουσ κόμβουσ. Ανάλογα το μζγεκοσ τθσ λίςτασ–pool αλλά και τθσ λίςτασ κάκε κόμβου είναι διαφορετικι θ πικανότθτα φπαρξθσ κοινϊν κλειδιϊν ςε γειτονικοφσ κόμβουσ. Τα αποτελζςματα των μετριςεων φαίνονται ςτισ εικόνεσ 46 και 47. Το δεφτερο ςφςτθμα βαςίηεται ςτα αςφμμετρα κλειδιά και τθν κρυπτογραφία ελλειπτικισ καμπφλθσ (ECC). Με τθν τεχνικι αυτι χρθςιμοποιοφμε μθχανιςμοφσ κρυπτογραφίασ public key με χριςθ αςφμμετρων κλειδιϊν, για να εγκαταςτιςουμε ςυμμετρικά κλειδιά ςτουσ δφο κόμβουσ. Ζνασ κόμβοσ παίηει το ρόλο του ςυντονιςτι και ξεκινά το δίκτυο. Το «αςφαλζσ» δίκτυο επεκτείνεται γφρο από αυτόν τον κόμβο βιμα προσ βιμα (hop by hop).

Στο τρίτο και τελευταίο μζροσ, πραγματοποιιςαμε μετριςεισ κατανάλωςθσ και χρόνου ςτισ διάφορεσ περιπτϊςεισ. Αρχικά βλζπουμε ότι υπάρχει μεγάλθ διαφορά ςτθν κατανάλωςθ ανάμεςα ςτον μικρο-επεξεργαςτι και το CC2420 radio chip. Στθν εικόνα 52 φαίνεται θ κατανάλωςθ του Tmote Sky κατά τθν ενεργοποίθςθ και απενεργοποίθςθ του CC2420. Αυτό ζχει ωσ αποτζλεςμα να μθ μποροφμε να παρατθριςουμε διαφορζσ ςτισ

Page 104: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

104

υλοποιιςεισ μασ ζχοντασ μονίμωσ ςε ενεργό κατάςταςθ το CC2420. Χρθςιμοποιϊντασ τθν τεχνικι απενεργοποίθςθσ του CC2420 όταν δεν ςτζλνουμε και ενεργοποίθςι του μόνο όταν ςτζλνουμε πραγματοποιοφμε τισ μετριςεισ για τθν κατανάλωςθ ςτισ περιπτϊςεισ HW και SW κρυπτογράφθςθσ ϊςτε να είναι πιο ευδιάκριτα τα αποτελζςματα. Δεν ζχουμε άμεςα μετριςιμεσ διαφορζσ ςτθν κατανάλωςθ ιςχφοσ ανάμεςα ςτθ χριςθ κάποιου είδουσ κρυπτογράφθςθσ και ςτθ μετάδοςθ χωρίσ κρυπτογράφθςθ. Οι διαφορζσ βρίςκονται ςτο χρόνο διατιρθςθσ του CC2420 ςτθν ενεργό κατάςταςθ. Τα αποτελζςματα δείχνουν ότι για μικρό μζγεκοσ πακζτου, θ χριςθ SW κρυπτογράφθςθσ είναι αυτι με τθ μικρότερθ κατανάλωςθ. Πςο όμωσ μεγαλϊνει το πακζτο, αυξάνει με ταχφτερο ρυκμό ςε ςχζςθ με τθν HW. Στο μζγιςτο των 104 Bytes, θ απόδοςθ τθσ HW κρυπτογράφθςθσ είναι ςαφϊσ καλφτερθ. Στθ ςυνζχεια κάναμε μετριςεισ των χρόνων κρυπτογράφθςθσ/αποκρυπτογράφθςθσ και εγκατάςταςθσ ενόσ κλειδιοφ από τισ οποίεσ εξθγοφνται τα αποτελζςματα των πρϊτων μετριςεων. Μια ςθμαντικι παρατιρθςθ που κάναμε είναι θ διαφορά μεταξφ τθσ SW και HW κρυπτογράφθςθσ. Ενϊ ςτθν πρϊτθ ο χρόνοσ που απαιτείται για να ολοκλθρωκεί θ διαδικαςία εξαρτάται από το μζγεκοσ του πλαιςίου, ςτθ δεφτερθ είναι ςτακερόσ ανεξάρτθτα από το μζγεκοσ. Μία δεφτερθ παρατιρθςθ είναι το γεγονόσ τθσ διαφοράσ των χρόνων τθσ HW κρυπτογράφθςθσ και αποκρυπτογράφθςθσ. Στθν περίπτωςθ τθσ HW αποκρυπτογράφθςθσ θ διαδικαςία διαρκεί περιςςότερο από τθν κρυπτογράφθςθ λόγω του γεγονότοσ πωσ ςτθν αρχικοποίθςι τθσ θ πρόςβαςθ ςτα δεδομζνα γίνεται μζςω του SPI bus ςτον RX FIFO buffer του CC2420. Τζλοσ ςυγκρίνοντασ τισ δφο SW υλοποιιςεισ (AES και RC6) παρατθροφμε ότι με τθν πρϊτθ οι χρόνοι είναι μικρότεροι και αυξάνονται με μικρότερο ρυκμό.

Page 105: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

105

Κεφϊλαιο 10 - Βιβλιογραφύα [1] LEWIS, F. L. (2004). Wireless Sensor Networks. [2] Harvard Sensor Networks Lab: http://fiji.eecs.harvard.edu/CodeBlue [3] Akos Ledeczi: Sensor Network-Based Countersniper System. SenSys 2004 [4] Kirk Martinez, Jane K. Hart, Royan Ong, Environmental Sensor Networks [5] Robert Szewczyk, Joe Polastre, Alan Mainwaring, John Anderson, David Culler. Habitat

monitoring on Great Duck Island, ACM SenSys’04 [6] David Culler. Toward the Sensor Network Macroscope. Redwood Forest experiment :

http://www.cs.berkeley.edu/~culler/talks/mobihoc.ppt [7] Design and Deployment of Industrial Sensor Networks: Experiences from a Semiconductor

Plant and the North Sea, Lakshman Krishnamurthy, Robert Adler, Phil Buonadonna, Jasmeet Chhabra, Mick Flanigan, Nandakishore Kushalnagar, Lama Nachman, Mark Yarvis

[8] Forest Fire Modeling and Early Detection using Wireless Sensor Networks, Mohamed Hefeeda, Simon Fraser University, Canada

[9] Sensor node. From Wikipedia, the free encyclopedia : http://en.wikipedia.org/wiki/Sensor_node

[10] SNM - The Sensor Network Museum™ : http://www.snm.ethz.ch/Main/HomePage [11] UC Berkeley Spec Mote : http://www.jlhlabs.com/jhill_cs/spec/ [12] BTnodes - A Distributed Environment for Prototyping Ad Hoc Networks :

http://www.btnode.ethz.ch/ [13] Crossbow website : http://www.xbow.com/index.aspx [14] Sensor-Network Applications, Johannes Gehrke • Cornell University, Ling Liu •

Georgia Institute of Technology, 2006 [15] Study and Transplant of Operating System for Wireless Sensor Network Node, Yao

ming-hai, Zhu xiao-xiao, © 2007 IEEE [16] TinyOS : Ambient Intelligence (WS 06/07),Leopold-Franzens-University of Innsbruck

Institute for Informatics [17] The Contiki OS : http://www.sics.se/contiki/ [18] RETOS: Resilient, Expandable, and Threaded Operating System for Wireless Sensor

Networks, Hojung Cha, Sukwon Choi, Inuk Jung, Hyoseung Kim, Hyojeong Shin, Jaehyun Yoo, Chanmin Yoon

[19] Protothreads: Simplifying Event-Driven Programming of Memory-Constrained Embedded Systems, Adam Dunkels, Oliver Schmidt, Thiemo Voigt, Muneeb Ali

[20] Using Protothreads for Sensor Node Programming, Adam Dunkels, Oliver Schmidt, Thiemo Voigt

[21] An Energy-Efficient MAC Protocol for Wireless Sensor Networks, Wei Ye, John Heidemann, Deborah Estrin

[22] Versatile Low Power Media Access for Wireless Sensor Networks, Joseph Polastre, Jason Hill, David Culler

[23] An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks, Tijs van Dam, Koen Langendoen

Page 106: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

106

[24] X-MAC: A Short Preamble MAC Protocol For Duty-Cycled Wireless Sensor Networks, Michael Buettner, Gary Yee, Eric Anderson, Richard Han

[25] Comparing Energy-Saving MAC Protocols for Wireless Sensor Networks, G.P. HALKES, T. VAN DAM and K.G. LANGENDOEN

[26] On the Design of MAC protocols for Low-Latency Hard Real-Time Discrete Control Applications Over 802.15.4 Hardware, Krishna Kant Chintalapudi, Lakshmi Venkatraman

[27] Medium Access Control for Wireless Sensor Networks, Zhi-Wen Ouyang,Shruthi B Krishnan, Sang Soo Kim

[28] Performance Study of IEEE 802.15.4 Using Measurements and Simulations, Marina Petrova, Janne Riihij¨arvi, Petri M¨ah¨onen and Saverio Labella

[29] 802.15.4™ IEEE Standard for Information technology. Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY). Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs) ©2003

[30] 802.15.4™ IEEE Standard for Information technology. Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY). Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs) ©2006

[31] Security in wireless networks, Mayank Saraogi [32] Using Encryption for Authentication in Large Networks of Computers, Roger M.

Needham and Michael D. Schroeder [33] Ultra low power IEEE 802.15.4 compliant wireless sensor module, TMote Sky

Datasheet [34] TI MSP430x1xx FAMILY User’s Guide [35] CC2420 manual, 2.4 GHz IEEE 802.15.4 / ZigBee-ready RF Transceiver [36] nesC 1.1 Language Reference Manual, David Gay, Philip Levis, David Culler, Eric

Brewer, May 2003 [37] The nesC Language: A Holistic Approach to Networked Embedded Systems [38] TinyOS Programming, Philip Levis June 28, 2006 [39] TinyOS TEPs : http://www.tinyos.net/tinyos-2.x/doc/ [40] TinyOS: A Case of Study for Adaptable Embedded Applications Based on Sensor

Networks, Ruben Pinilla, Nacho Navarro, Marisa Gil [41] Active messages: a mechanism for integrated communication and computation. in

19th Annual International Symposium on Computer Architecture. 1992. von Eicken T. [42] System Architecture Directions for Networked Sensors, Jason Hill, Robert Szewczyk,

Alec Woo, Seth Hollar, David Culler, Kristopher Pister [43] ECONseries - Economy USB Modules Datasheet [44] quickDAQ - High-Performance, Ready-to-Measure Application for Data Acquisition

Datasheet [45] N. Bulusu, J. Heidemann, and D. Estrin, “GPS-less Low Cost Out Door Localization for

Very Small Devices, “Tech. rep. 00729, Comp. Sci. Dept., USC, Apr. 2000. [46] A. Savvides, C.-C. Han, and M. Srivastava, “Dynamic Fine-Grained Localization in Ad-

Hoc Networks of Sensors,” Proc. 7th ACM MobiCom, July 2001, pp. 166–79. [47] Routing Techniques in wireless sensor networks: a survey. Jamal N. Al-KarakiI, Ahmed

E. Kamal [48] S.S. Dhillon, K. Chakrabarty, and S.S. Iyengar, “Sensor placement for grid coverage

under imprecise detections”, Int. Conf. Inf. Fusion (FUSION) 2002, 2, 1581–1587, Annapolis, 2002.

Page 107: ΕΕΕ 802.15.4

Κατςαρόσ Κωνςταντίνοσ

107

[49] S. Tilak, N.B. Abu–Ghazaleh, and W. Heinzelman, “Infrastructure trade-offs for sensor networks”, ACM WSNA’02, 49–58, September 2002.

[50] A. Savvides, C.-C. Han, M. Srivastava, “Dynamic fine-grained localization in ad-hoc networks of sensors,” MobiCom 2001, Rome, Italy, pp. 166 – 179, July 2001

[51] W. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energy-efficient communication protocol for wireless microsensor networks”, HICSS 2000, 8020–8029, Maui, January 2000.

[52] S. Lindsey, C. Raghavendra, and K.M. Sivalingam, “Data gathering algorithms in sensor networks using energy metrics”, IEEE Trans. Parallel Distributed Syst., 13(9), 924–935, September 2002

[53] Willig, R. Shah, J. Rabaey, and A. Wolisz, “Altruists in the PicoRadio sensor network”, 4th IEEE Int. Workshop Factory Commun. Syst., 175–184, Sweden, August 2002

[54] Sensor Networks with Random Versus Uniform Topology: MAC and Interference Considerations. Sooksan Panichpapiboon, Gianluigi Ferrari, and Ozan K. Tonguz

[55] Distributed Topology Control for Power Efficient Operation in Multihop Wireless Ad Hoc Networks. Roger Wattenhofer, Li Li, Paramvir Bahl, Yi-Min Wang

[56] Monotone percolation and the topology control of Wireless Networks. Anxiao (Andrew) Jiang, Jehoshua Bruck

[57] S. A. Camtepe and B. Yener, “Key Distribution Mechanisms for Wireless Sensor Networks: a Survey”

[58] L. Eschenauer, and V. D. Gligor, “A Key-Management Scheme for Distributed Sensor Networks”

[59] H. Chan, A. Perrig, and D. Song, “Random Key Predistribution Schemes for Sensor Networks”

[60] C. Blundo, A. De Santis, A. Herzberg, S. Kutten, U. Vaccaro, and M. Yung, “Perfectly-Secure Key Distribution for Dynamic Conferences”

[61] D. Liu, and P. Ning, “Establishing Pairwise Keys in Distributed Sensor Networks” [62] Y. Zhou, Y. Zhang, and Y. Fang, “LLK: A Link-Layer Key establishment Scheme for

Wireless sensor Networks” [63] Michael Dustin, Jagadish Shankarappa, Michael Petrowski, Hesiri Weerasinghe and

Huirong Fu, “Analysis of Key Management in Wireless Sensor Networks” , IEEE EIT 2007 Proceedings

[64] Bruno Dutertre, Steven Cheung, Joshua Levy ,“Lightweight Key Management in Wireless Sensor Networks” , 2004

[65] David D.Hwang , “Energy-Memory-Security Tradeoffs in Distributed Sensor Networks”, 2004

[66] Sencun Zhu, Shouhuai Xu, Sanjeev Setia, Sushil Jajodia, “Establishing pairwise keys for secure communication in ad hoc networks: a probabilistic approach”, 2003

[67] W. Du, J. Deng, Y. Han, P. Varshney. “A pairwise key pre-distribution scheme for wireless sensor networks.” In Proceedings of the 10th ACM conference on Computer and Communications Security CCS’03. 2003

[68] R. Blom. “An optimal class of symmetric key generation systems”. In Eurocrypt 84. 1985

[69] AES Library Implementation, FIPS-197 compliant AES implementation Based on XySSL: Copyright (C) 2006-2008 Christophe Devine ( http://polarssl.org/ )

[70] John Hughes RC6 Library Implementation, http://cpan.cc.uoc.gr/authors/id/J/JH/JHUGHES/Crypt-RC6-1.0.tar.gz, March 2002.

Page 108: ΕΕΕ 802.15.4

Διπλωματικι Εργαςία

108

[71] Nils Gura, Arun Patel, Arvinderpal Wander, Hans Eberle, and Sheueling Chang Shantz Comparing elliptic curve cryptography and rsa on 8-bit cpus. In CHES, Boston, Aug. 2004.

[72] S. Chang Shantz. “From Euclid’s gcd to Montgomery multiplication to the great divide” In Technical report, Sun Microsystems Laboratories TR-2001-95, June 2001.

[73] A. D.Woodbury, D. V. Bailey, and C. Paar. “Elliptic curve cryptography on smart cards without coprocessors” In The Fourth Smart Card Research and Advanced Applications (CARDIS2000) Con-ference, Bristol, UK, Sept. 2000

[74] D. V. Bailey and C. Paar. “Optimal extension fields for fast arithmetic in public-key algorithms” In Advances in Cryptography — CRYPTO’98, pages 472–485, 1998.

[75] H. Cohen, A. Miyaji, and T. Ono. Efficient elliptic curve exponentiation using mixed coordinates. In ASIACRYPT: Advances in Cryptology, 1998.

[76] An Liu, Peng Ning, "TinyECC: A Configurable Library for Elliptic Curve Cryptography in Wireless Sensor Networks", Technical Report TR-2007-36, North Carolina State University, Department of Computer Science, November 2007

[77] T. Hasegawa, J. Nakajima, and M. Matsui. “A practical implementation of elliptic curve cryptosystems over GF(p) on a 16-bit microcomputer”. In Public Key Cryptography PKC ’98, pages 182–194, 1998

[78] David J. Malan, Matt Welsh, and Michael D. Smith. “A public-key infrastructure for key distribution in TinyOS based on elliptic curve cryptography”. First IEEE International Conference on Sensor and Ad Hoc Communications and Networks, October 200

[79] Haodong Wang, Bo Sheng, and Qun Li “TelosB Implementation of Elliptic Curve Cryptography over Primary Field” WM-CS Technical Report (WM-CS-2005-12)

[80] Elliptic Curve Cryptography : Wikipedia link [81] Ch. Antonopoulos, T. Stoyanova, A. Prayati, C. Koulamas and G. Papadopoulos,

“Experimental Evaluation of a WSN Platform Power Consumption”, to appear in the 8th International Workshop on Performance Modeling, Evaluation, and Optimization of Ubiquitous Computing and Networked Systems (PMEO-UCNS'2009), Rome, May 2009.

[82] Ομάδα Abelian : http://en.wikipedia.org/wiki/Abelian_group [83] NIST, Recommended Elliptic Curves for Government Use

(http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf) [84] SECG, SEC 2: Recommended Elliptic Curve Domain Parameters

(http://www.secg.org/download/aid-386/sec2_final.pdf) [85] Diffie-Hellman protocol : http://en.wikipedia.org/wiki/Diffie-Hellman_key_exchange [86] Discrete Logarithm link : http://en.wikipedia.org/wiki/Discrete_logarithm