Locked History Actions

Bluetooth Low Energy security

„Bluetooth Low Energy” saugumas

Turinys

1. Įvadas

2. „Bluetooth Low Energy“ Architektūra

2.1. Fizinis sluoksnis

2.2. Susiejimo sluoksnis

2.3. Programos sluoksnis

3. Saugumo architektūra

3.1. „Bluetooth“ aptikimo ir ryšio parinktys yra suskirstytos į tris režimus

3.2. Keturi skirtingi saugos režimai, kuriuos įrenginys gali įgyvendinti

3.3. Trys pagrindiniai „Bluetooth“ saugos procedūrų žingsniai

4. „Bluetooth Low Energy“ įrenginių prisijungimas

4.1. Susiejimo režimai

4.2. Susiejimo procedūra

5. „Bluetooth" saugumo patarimai

6. Išvados

7. Literatūros sąrašas

1. ĮVADAS

„Bluetooth“ tai belaidžio duomenų perdavimo technologija, kuri leidžia šalia esantiems įrenginiams tiesiogiai bendrauti tarpusavyje. Dėl belaidžio veikimo ir daugybės kitų privalumų „Bluetooth“ technologija vis labiau įsitvirtina mūsų kasdieniniame gyvenime. Pelė, išmanusis laikrodis, belaidės ausinės, garsiakalbiai, išmaniųjų namų įrenginiai - visa tai dažniausiai naudoja „Bluetooth“ technologija. O toliau aptarinėsiu apie „BLE“ – mažos energijos „Bluetooth“ specifikacija, kurios pagrindinis privalumas yra labai mažas energijos suvartojimas. „BLE“ technologiją, skirtą periodiškai perkelti nedidelius trumpojo nuotolio duomenis, dėl to tapo tinkamiausia technologija daiktų internetui (IoT), kuris šiais laikais yra sparčiai auganti pramonė. Bet ar toks duomenų perdavimo būdas yra saugus? Bandysiu atsakyti į šį klausimą, aptardamas, kaip tai veikia, kaip saugu, dažniausiai pasitaikančias atakas ir kaip apsaugoti naudodamiesi „BLE“.

2. „BLUETOOTH LOW ENERGY” ARCHITEKTŪRA

pav1.png

pav. 1 Mažos energijos „Bluetooth“ protokolo stekas

1 paveiksle pavaizduota „BLE“ sistemos architektūra. Toliau apžvelgsiu detaliau šio protokolo steko skirtingų sluoksnių funkcijas.

2.1 Fizinis sluoksnis:

  • Siųstuvas naudoja GFSK moduliaciją ir veikia nelicencijuotu 2,4 GHz dažnių ruože.
  • Naudodamas PHY sluoksnį, BLE siūlo siuntimo/gavimo greiti iki 1 Mbps („Bluetooth v4.2“) / 2 Mbps („Bluetooth v5.0“) duomenų perdavimo spartą.
  • Naudojamas dažnio šokinėjimo imtuvas.
  • Nurodytos dvi moduliacijos schemos, skirtos pristatyti 1 Msym / s ir 2 Msym / s.
  • Galimi du PHY sluoksnio variantai, t.y. nekoduotas ir užkoduotas.
  • Laiko padalijimo duplekso (TDD) topologija naudojama abiem PHY režimais.

2.2 Susiejimo sluoksnis:

Šis sluoksnis yra virš fizinio sluoksnio. Yra atsakingas už reklamą, nuskaitymą ir ryšių kūrimą / palaikymą. „BLE“ įrenginių vaidmuo keičiasi į įrenginys su įrenginiu (t. y. „Unicast“) ar transliacijos režimais. Bendri vaidmenys yra reklamuotojas / skaitytuvas (iniciatorius), vergas / šeimininkas arba transliuotojas / stebėtojas. Ryšio sluoksnio būsenos yra apibrėžtos žemiau esančiame paveikslėlyje.

pav2.png

pav. 2 Ryšio sluoksnio būsenos

2 paveiksle pavaizduotos „BLE“ įrenginio būsenos. Įrenginys bus bet kurioje iš šių būsenų, įskaitant budėjimo būseną, reklamos būseną, nuskaitymo būseną, inicijuojančią būseną, ryšio būseną ir sinchronizavimo būseną.

  • HCI: jis teikia ryšį tarp valdiklio ir pagrindinio kompiuterio per standartinius sąsajų tipus. Šis HCI sluoksnis gali būti įgyvendinamas naudojant API arba naudojant sąsajas, tokias kaip UART / SPI / USB. Standartinės HCI komandos ir įvykiai yra apibrėžti „Bluetooth“ specifikacijose.
  • L2CAP: šis sluoksnis siūlo duomenų kaupimo paslaugas viršutiniams sluoksniams. Tai leidžia logiškai nutraukti duomenų perdavimą.
  • SMP: saugumo valdymo sluoksnyje pateikiami įrenginių suporavimo ir raktų paskirstymo metodai. Jis siūlo paslaugas kitiems protokolo sluoksniams, kad būtų galima saugiai sujungti ir keistis duomenimis tarp „BLE“ įrenginių.
  • GAP: šis sluoksnis tvarko „BLE“ įrenginio aptikimo ir prijungimo paslaugas. Taip pat rūpinasi apsaugos funkcijų inicijavimu.
  • GATT: šis sluoksnis yra paslaugų, nurodantis ATT naudojimo subprocedūras. Duomenų perdavimas tarp dviejų BLE įrenginių tvarkomas šiomis procedūromis. Programos arba profiliai tiesiogiai naudoja GATT.
  • ATT: šis sluoksnis leidžia BLE įrenginiui atskleisti tam tikrus duomenis ar atributus.

2.3 Programos sluoksnis:

  • „BLE“ protokolo steko sluoksniai, sąveikauja su programomis ir profiliais. Programų sąveika „Bluetooth“ sistemoje užtikrinama „Bluetooth“ profiliais.
  • Profilis apibrėžia vertikalią sluoksnių sąveiką, taip pat konkrečių sluoksnių tarpusavio sąveiką tarp įrenginių.
  • Bet kokie profiliai ar programos veikla virš „BLE“ protokolo GAP / GATT sluoksnių. Tvarko „BLE“ įrenginio aptikimo ir prijungimo paslaugas.

3. SAUGUMO ARCHITEKTŪRA

Saugumo klausimai suvaidino svarbų vaidmenį tobulinant „Bluetooth“ technologiją. „Bluetooth“ kūrėjai dėjo daug pastangų, kad tai taptų saugia technologija. Įvairiose protokolo lygmenyse buvo įdiegtos kelios saugumo priemonės, tačiau pagrindinės „Bluetooth“ saugos spragos išliko ir vis dar priklauso nuo vartotojo „Bluetooth“ įrenginio konfigūracijos, kuris nusprendžia dėl aptikimo ir ryšio galimybių.

3.1 „Bluetooth“ aptikimo ir ryšio parinktys yra suskirstytos į tris režimus:

  • Tylus: prietaisas niekada nepriims jokių ryšių. Jis tiesiog stebi „Bluetooth“ srautą.
  • Privatus: įrenginio negalima rasti. Prisijungimas bus priimtas tik tuo atveju, jei pagrindinis įrenginys žinos valdančiojo įrenginio „Bluetooth“ adresą (BD_ADDR). 48 bitų BD_ADDR paprastai yra unikalus ir jis visame pasaulyje reiškia tik vieną atskirą „Bluetooth“ įrenginį.
  • Viešas: įrenginį galima atrasti ir prie jo prisijungti laisvai.

3.2 Keturi skirtingi saugos režimai, kuriuos įrenginys gali įgyvendinti:

  • Nesaugus: „Bluetooth“ įrenginys nesiima jokių saugumo priemonių.
  • Paslaugos lygio priverstinis saugos režimas: du „Bluetooth“ įrenginiai gali sukurti nesaugų ACL. Apsaugos procedūros pradedamos pateikus L2CAP ryšio orientaciją arba L2CAP be ryšio kanalo užklausą.
  • Ryšio lygio priverstinis saugos režimas: saugumo procedūros pradedamos, kai nustatoma ACL nuoroda ir prieš pateikiant bet kokią kanalo užklausą.
  • Paslaugos lygio priverstinis saugos režimas (SSP): šis režimas yra panašus į antrąjį režimą, išskyrus tai, kad jį gali naudoti tik „Bluetooth“ įrenginiai, naudojantys saugų paprastą poravimą (SSP).

3.3 Trys pagrindiniai „Bluetooth“ saugos procedūrų žingsniai, kurie yra šie:

  • Autentifikavimas: tai apima vieno įrenginio tapatybės įrodymą kitam. Autentifikavimo procedūros tikslas yra nustatyti kliento autorizacijos lygį. Autentifikavimas patikrinamas tikrinant nuorodų raktus. Siuntėjas užšifruoja imtuvo „Bluetooth“ įrenginio adresą naudodamas nuorodos raktą ir atsitiktinį skaičių, kad gautų pasirašytą atsakymo autentifikavimo rezultatą (SRES). SRES siunčiamas imtuvui ir užmezgamas ryšys, jei abu nuorodų raktai yra vienodi.
  • Įgaliojimas: tai yra prieigos prie tinklo išteklių suteikimo arba atsisakymo procesas.
  • Pasirenkamas šifravimas: tai informacijos, kuria keičiamasi tarp „Bluetooth“ įrenginių, užkodavimas tokiu būdu, kad pasiklausytajai negalėtų iššifruoti jos turinio. Šifravimas yra būtina „Bluetooth“ saugumo dalis. Šifravimo raktas gali skirtis nuo 8 iki 128 bitų. Vartotojas neturi galimybės pakeisti šifravimo rakto dydžio, nes raktų dydį turi nurodyti gamintojai. Atsitiktinis skaičius turi būti siunčiamas iš vieno įrenginio į kitą, kai bet kuris iš dviejų „Bluetooth“ įrenginių nori pradėti ryšį. Gaunantis įrenginys taip pat turi žinoti apie siunčiančių įrenginių PIN kodą. Naudojant šiuos du informacijos rinkinius, abiejuose įrenginiuose generuojamas nuorodos raktas.

„Bluetooth“ sauga pagrįsta įvykių grandinės sukūrimu. Nė vienas iš siunčiamų duomenų įvykių nepateikia prasmingos informacijos pasiklausytajai. Visi įvykiai turi vykti tam tikra seka, kad būtų užtikrintas saugus ryšys tarp dviejų „Bluetooth“ įrenginių. Du „Bluetooth“ įrenginiai pradeda poruoti su tuo pačiu PIN kodu, kuris naudojamas keliems 128 bitų raktams generuoti. Tą patį PIN kodą galima naudoti visiems patikimame tinkle esantiems „Bluetooth“ įrenginiams. Pavyzdžiui, asmeniniame „Bluetooth“ tinklo aplinkoje, susidedančioje iš įvairių „Bluetooth“ įrenginių, tokių kaip mobilusis telefonas, spausdintuvas ir kompiuteris, galima naudoti tą patį PIN kodą. Tačiau kiekviena pagrindinio ir valdomojo įrenginio pora taip pat gali turėti skirtingą PIN kodą, kad būtų užtikrintas patikimas ryšys tarp kiekvienos įrenginių poros. Pavyzdžiui, konferencijų aplinkoje, kurioje du žmonės susitinka pirmą kartą ir jie nori sukurti „Bluetooth“ tinklą tarp savo elektroninių prietaisų, PIN pasirinkimas turėtų būti atliekamas naudojant skirtingus tos pagrindinės ir valdomo poros PIN kodus. Kitu atveju gali būti pažeisti visi kiti „Bluetooth“ ryšiai, kurie naudoja tą patį PIN kodą. 2 paveiksle parodytas išsamus dviejų „Bluetooth“ įrenginių suporavimo procesas.

pav3.png

pav. 3 „Bluetooth“ saugos operacijų iliustracija

4. „BLUETOOTH LOW ENERGY“ ĮRENGINIŲ PRISIJUNGIMAS

„BLE“ ryšio saugumas užtikrinamas naudojant saugos režimus. Reikiamas saugumo režimas / ryšio lygis kartas nuo karto gali keistis, todėl gali prireikti procedūrų tą lygį padidinti. Tačiau kiekvieno ryšio veikimas prasideda nuo pirmo saugos režimo, 1 lygiu. Kai du įrenginiai, kurie iš pradžių neturi saugumo, nori sugeneruoti saugų ryšį reikia pirmiausia įrenginius suporuoti. Šį procesą sukelia centrinis įrenginys (pvz., Išmanusis telefonas), kuris bando pasiekti periferinio įrenginio duomenų vertę, kuriai reikalinga autentifikuota prieiga. Susiejimas apima dviejų įrenginių tapatybės patvirtinimas, nuorodos užšifravimas naudojant trumpalaikį raktą (STK) ir tada platinant ilgalaikį raktą (LTK), kuris naudojamas duomenų šifravimui. LTK yra išsaugomas, kad ateityje būtų galima greičiau prisijungti prie periferinio įrenginio, tai šis procesas vadinamas klijavimu (ang. Bonding).

Šis procesas parodytas 4 paveikslėlyje:

pav4.png

pav. 4 „Bluetooth“ susiejimo procesas

Kiekvieno įrenginio vaidmuo yra apibrėžtas „BLE“ steko dalyje „Security Manager“ (SMP). Įrenginio vaidmenys yra iniciatorius (centrinis) ir atsakovas (periferinis).

4.1 Susiejimo režimai

Susiejimas apima dviejų suporuotu įrenginių tapatybės patvirtinimą, paprastai pasidalijant raktais. Patvirtinus nuorodą, ji užšifruojama ir raktai paskirstomi tarp įrenginių, kad būtų galima greičiau sugeneruoti saugų ryšį pakartotinai prisijungus. Kai yra išsaugomi raktai, sakoma, kad prietaisai yra surišti. Poravimas vyksta 3 fazėmis.

  • Fazė 1

Pirmojoje fazėje du prietaisai praneša vienas kitam, kas jie yra. Jų skaitomos reikšmės yra priskyrimo protokolo (ATT) reikšmės ir yra 4 sluoksnyje su L2CAP. Jie nėra užšifruoti. Šios vertės nustato, kuris susiejimo metodas bus naudojamas antrame etape ir ką prietaisai gali padaryti ir ko jie tikisi. Pvz., įrenginio įvesties ir išvesties galimybės, pasirinktos iš vienos iš galimybių, lemia ryšio saugumo lygį. Šios galimybės tarp įrenginių perduodamos naudojant „Security Manager“ (SMP) poravimo užklausos pranešime. Pranešimai yra: nėra įvesties ir nėra išvesties; Tik ekranas; Rodyti taip / ne; Tik klaviatūra; Klaviatūra ir ekranas.

  • Fazė 2

2 fazėje siekiama sukurti trumpalaikį raktą (STK). Tai įmanoma, kai įrenginiai susitaria dėl laikino rakto (TK), sumaišyto su kai kuriais atsitiktiniais skaičiais, kurie suteikia jiems STK. Pats STK niekada neperduodamas tarp įrenginių. Tik STK rakto naudojimas esant senesniuose „BLE“ standartuose. Jei naudojamas tik saugaus ryšio režimas, šiame etape sukuriamas ilgalaikis raktas (LTK) (vietoj STK) ir tai vadinama „LE Secure Connections“.

  • Fazė 3

Trečioje fazėje antro fazės raktas naudojamas paskirstyti likusius raktus, reikalingus komunikacijai. Šiame etape generuojami tokie duomenys kaip „Connection Signature Resolving Key“ (CSRK) duomenų pasirašymui arba „Identity Resolving Key“ (IRK) asmeniniam MAC adresų generavimui ir paieškai.

pav5.png

pav. 5 Susiejimo schema

4.2 Susiejimo procedūra

Susiejimo procedūra apima keitimąsi „Security Manager“ protokolo paketais, kad būtų sukurtas laikinas šifravimo raktas, vadinamas „Short Term Key“ (STK), kaip parodyta aukščiau pateiktoje diagramoje. Paketinių mainų metu du įrenginiai derasi dėl vieno iš šių STK generavimo metodų:

  • Tiesiog veikia: STK generuojamas iš abiejų pusių, remiantis paketais, kuriais keičiamasi paprastu tekstu. Šis metodas nesuteikia jokios apsaugos nuo išpuolių „man-in-the-middle“ (MITM).

  • Prieigos rakto ekranas: vienas iš įrenginių rodo atsitiktinai sugeneruotą 6 skaitmenų raktą, o kita pusė paprašė jį įvesti. Kai kuriais atvejais, jei nėra ekrano, abi pusės įveda raktą. Šis metodas suteikia apsaugą nuo MITM atakų.

  • Už juostos ribų (OOB): taikant šį metodą, papildomus duomenis galima perduoti ne „BLE“ radijo priemonėmis (pvz., Kita belaidžio ryšio technologija, pavyzdžiui, NFC). Šis metodas taip pat suteikia apsaugą nuo MITM atakų.

pav6.png

pav. 6 Poravimo metodų pasirinkimo lentelė

5. „BLUETOOTH“ SAUGUMO PATARIMAI

Laimei, daug ką galima padaryti naudodamiesi savo telefonu ar nešiojamu kompiuteriu, kad sumažintumėte šią įprastą ir nerimą keliančią „Bluetooth“ saugumo riziką.

  • Visų pirma, visada turėtumėte žinoti, kur jūsų įrenginys yra fiziškai. Tai, žinoma, lengviau naudojant nešiojamąjį kompiuterį nei su telefonu. Galbūt norėsite telefone nustatyti paslaugą „rasti mano įrenginį“ per patikimą subjektą, pvz., „Apple“ ar „Google“, kad turėtumėte būdą naudoti jų technologijas, kad rastumėte ir nuotoliniu būdu užrakintumėte telefoną, jei jį pamestumėte.· Venkite naudoti „Bluetooth“, kad perduotumėte neskelbtiną informaciją, pvz., Slaptažodžius ir pan. Jei turite persiųsti svarbia informacija iš telefono į savo kompiuterį, pirmiausia turėtumėte užšifruoti savo failus.
  • Palikite „Bluetooth“ režimą „aptinkamas“ tik tada, kai sujungiate naują išorinį įrenginį su savo telefonu ar nešiojamuoju kompiuteriu. Kai visada naudojate tas pačias ausines ar bet kurį išorinį įrenginį, nereikia palikti įjungto režimo, nes jūsų įrenginys jau žinos unikalų periferinio įrenginio identifikavimo kodą.
  • Ir apskritai turėtumėte išjungti „Bluetooth“, kai jo nenaudojate. Ne tik uždarysite galimą kibernetinių atakų galimybę, bet ir sutaupysite savo telefono akumuliatoriaus energijos.

6. IŠVADOS

  • Didžiausias „Bluetooth Low Energy“ pažeidžiamumas yra laikinasis raktas (STK).
  • Užfiksavus „rankos paspaudimą“ tarp įrenginių laikinas raktas tampa reikšminga dalimi padedanti iššifruoti bendravimo srautą.
  • Šešiaženklis kodas yra per mažas, kad būtų užkirstas kelias su šiuolaikinio kompiuterio pagalba iššifruoti slaptą raktą.
  • „Bluetooth Low Energy“ yra patogus įrankis mažiems įrenginiams, tačiau jis neturėtų būti naudojamas kritinėms misijoms skirtose sistemose ar su neskelbtinais duomenimis.

7. LITERATŪROS SĄRAŠAS