Kasutaja tarvikud

Lehe tööriistad


kaitsemeetmed

Kaitsemeetmed

ZigBee kasutab võrgusõlmede vaheliseks sidepidamiseks raadioeetrit, mida on ründajal võimalik nii pealt kuulata kui ka ka ise sinna sõnumeid saata. Seetõttu on standardis ette nähtud mehhanismid kommunikatsiooni konfidentsiaalsuse, tervikluse ning osaliselt ka autentsuse ja käideldavuse tagamiseks. Krüptograafia abil on hõlpsasti võimalik tagada neist esimest kolme. Samas, ZigBee seadmete vähese arvutuvõimsuse ja mälumahu tõttu on krüptoalgoritmide valik piiratud. Avaliku võtme krüptograafia pruukimine ZigBee mikrokontrollerites pole ressursse arvestades mõistlik, seetõttu on kasutusel sümmeetriline krüptograafia nii MAC, NWK kui ka APS kihis. Sümmeetrilise krüptograafia puhul jagavad kõik side osapooled ühist saladust. Ühise saladuse puhul pole võimalik tagada tagasivõetamatust (non-repudiation) ja autentsus tagab vaid seda, et sõnumi saatja valdas ühist saladust.

ZigBees on kasutusel viis eri tüüpi 128-bitist võtit:

  1. Linkimisvõti (link key) on kasutusel üksikedastuse (unicast) liikluses – kahe võrgusõlme omavahelise side krüpteerimiseks APS kihis. Igal kahel võrgusõlme paaril võib, aga ei pruugi olla neile kuuluv unikaalne lülivõti.
  2. Võrguvõti (network key) on ühine saladus kõigi võrgu liikmete vahel. Sellega krüpteeritakse leviedastusliiklust (broadcast) ning sidet nende võrgusõlmede vahel, kellel ei ole ühist linkimisvõtit. Kasutatakse nii MAC, NWK kui APS kihi krüpteerimiseks.
  3. Peavõtit (master key) kasutatakse võtmeloomisprotokollis linkimisvõtme transpordiks usalduskeskusest võrgusõlmedesse. Kasutatakse APS kihi krüp-teerimiseks.
  4. Võtmetranspordi võtit (key-transport key) kasutatakse võrguvõtme transpordiks usalduskeskusest võrgusõlme APS kihis.
  5. Võtme laadimise võtit (key-load key) kasutatakse peavõtme transportimiseks usalduskeskusest APS kihis.

Nii MAC, NWK kui APS kihis kasutatakse AES-CCM* (Advanced Encryption System - Counter with Cipher Block Chaining Message Authentication Code, sümbol * on nime osa) plokkšifrit, mis oskab nii krüpteerida kui ka arvutada sõnumi kontrollkoodi (Message Integrity Code; edaspidi MIC). AES-CCM*-il on kolm sisendit: avatekst, krüptovõti ja juhusõna (nonce). Krüpteerimine toimub järgmiselt: 128-bitised avateksti plokkidele rakendatakse XOR (exclusive or, välistav või) tehet, kus teiseks operandiks on krüptovõtmest ja juhusõnast genereeritud voog (key stream). Iga XOR tehte tulemust kasutatakse ka MIC arvutamisel ja see annab sõnumi saatjale võimaluse kontrollida, kas sõnumi saatja valdas krüptovõtit. AES-CCM* kasutab AESi, see algoritm on National Institute of Standards and Technologies (NIST) hinnangul [25, lk 66] sobilik sellise informatsiooni krüpteerimiseks, mille salajasus on oluline ka pärast 2030. aastat. Seetõttu ei lahata käesolevas töös krüptoalgoritmi võimalikke nõrkusi.

ZigBee spetsifikatsiooni järgi tuleb igale protokolli kihile (MAC, NWK, APS) määrata turvatase (security level). See annab võrgu ehitajale võimaluse valida, mis kihtidel andmeid krüpteerida ja/või kasutada tervikluse kontrolliks MICi. MICi pikkust saab veel eraldi valida: 32, 64 või 128 bitti. Sama turvatase on kasutusel kõigis võrguseadmetes ning mälu kokkohoiu nimel kasutavad kõik kihid sama 128-bitist võrguvõtit. Vastavalt turvatasemele võib kõigil kihtidel olla 32-bitine paketiloendur (frame counter), mida kasutatakse krüpteerimisel vajamineva juhusõna genereerimisel ja paketi kaitseks kordusrünnete (replay attacks) vastu.

Viimati muudetud 2015-05-20 Mait Peekma

Lehekülje tarvikud