Locked History Actions

Skirtumas „Bluetooth Low Energy security“

Pakeitimai tarp versijų 1 ir 4 (patvirtinamos 3 versijos)
Versija 1 nuo 2020-12-08 18:43:33
Dydis: 15463
Redaktorius: DomantasDvariškis
Komentaras:
Versija 4 nuo 2020-12-08 20:30:43
Dydis: 16977
Redaktorius: DomantasDvariškis
Komentaras:
Pašalinimai yra pažymėti taip. Pridėjimai yra pažymėti taip.
Eilutė 17: Eilutė 17:
3.2. BEAST 3.2. Keturi skirtingi saugos režimai, kuriuos įrenginys gali įgyvendinti
Eilutė 19: Eilutė 19:
3.3. CRIME 3.3. Trys pagrindiniai „Bluetooth“ saugos procedūrų žingsniai
Eilutė 21: Eilutė 21:
3.4. BREACH 4. „Bluetooth Low Energy“ įrenginių prisijungimas
Eilutė 23: Eilutė 23:
3.5. Heartbleed 4.1. Susiejimo režimai
Eilutė 25: Eilutė 25:
4. Išvados 4.2. Susiejimo procedūra
Eilutė 27: Eilutė 27:
5. Literatūra 5. „Bluetooth" saugumo patarimai
Eilutė 29: Eilutė 29:
= Įvadas =
Transporto lygmens saugumo protokolas (''angl. TLS(Transport Layer Security))'' yra sukurtas komunikacijos saugumui naudojant kompiuterinį tinklą užtikrinti. Šis protokolas yra naudojamas informacijos kodavimui tarp aplikacijos ir serverio. TLS taipogi yra naudojamas elektroninių laiškų, žinučių, IP telefonijos ''(angl. VoIP(Voice over IP))'' informacijos šifravime.
6. Išvados
Eilutė 32: Eilutė 31:
TLS kilo iš saugiųjų sujungimų lygmens ''(angl. SSL(Secure Socket Layers))'' protokolo, kuris buvo sukurtas Netscape įmonės 1994 metais. SSL protokolo pagrindinė paskirtis buvo užtikrinti saugius interneto seansus. SSL 1.0 versija nebuvo oficialiai išleista dėl neatitinkamų saugumo reikalavimų. SSL 2.0 buvo išleistas 2011 metais, tačiau netrukus buvo pakeistas SSL 3.0 versija, kurios veikimo principu ir remiasi TLS protokolas. 7. Literatūros sąrašas
Eilutė 34: Eilutė 33:
TLS protokolas buvo pasiūlytas „Internet Engineering Task Force“ (IETF) organizacijos. Pirmoji jo versija buvo paskelbta 1999 metais. Kaip ir SSL protokolas, šis turi tris versijas. Pirmoji TLS 1.0 versija buvo SSL 3.0 patobulinimu. Skirtumai tarp TLS 1.0 ir SSL 3.0 nėra drastiški, tačiau pakankamai svarūs, kad šitie du protokolai veiktų nepriklausomai vienas nuo kito. == 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“.
Eilutė 36: Eilutė 36:
= TLS protokolas =
TLS protokolas atsako už šiuos veiksnius:
== 2. „BLUETOOTH LOW ENERGY” ARCHITEKTŪRA ==
{{attachment:pav1.png}}
Eilutė 39: Eilutė 39:
 * '''Šifravimas''': užšifruoja siunčiamą informaciją;
 * '''Autentifikacija''': užtikrina, kad informaciją perduodantys asmenys nėra apsimetėliai;
 * '''Sąžiningumas''': užtikrina, kad perduodami duomenys nėra suklastoti.
pav. 1 Mažos energijos „Bluetooth“ protokolo stekas
Eilutė 43: Eilutė 41:
Tam, kad internetinė svetainė arba aplikacija turėtų galimybę naudoti TLS protokolą, turi būti iš anksto sudiegtas TLS sertifikatas pagrindiniame serveryje. Šio protokolo sertifikatas yra išduodamas asmeniui arba organizacijai, kuriai priklauso domenas. Sugeneruotas sertifikatas turi savyje informaciją apie domeno savininką bei serverio viešąjį raktą. 1 paveiksle pavaizduota „BLE“ sistemos architektūra. Toliau apžvelgsiu detaliau šio protokolo steko skirtingų sluoksnių funkcijas.
Eilutė 45: Eilutė 43:
== TLS rankos paspaudimas ==
TLS sujungimas yra inicijuojamas naudojant TLS rankos paspaudimą. Iniciacija prasideda tuomet, kai vartotojas nori pasiekti internetinę svetainę naudodamas [[http://www.ims.mii.lt/EKŽ/h/hipertekstas.html|hipertekstų]] persiuntimo [[http://www.ims.mii.lt/EKŽ/p/protokolas.html|protokol]]ą ''(angl. HTTPS(Hypertext Transfer Protocol Secure))''. Tokiu atveju naršyklė išsiunčia užklausą internetinės svetainės serveriui. TLS rankos paspaudimas taipogi įvyksta tada, kuomet kiti komunikavimo įrankiai naudoja HTTPS, pavyzdžiui IP telefonija arba DNS per HTTPS užklausos.
=== 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.
Eilutė 48: Eilutė 51:
TLS rankos paspaudimas įvyksta po to, kai yra užmezgamas TCP ryšys su TCP rankos paspaudimo pagalba. === 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.
Eilutė 50: Eilutė 54:
Vykstant TLS rankos paspaudimui, vartotojas ir serveris kartu atlieka nurodytus veiksmus: {{attachment:pav2.png}}
Eilutė 52: Eilutė 56:
 * Nustatoma TLS protokolo versija;
 * Nustatomi šifravimo algoritmai;
 * Serverio autentifikacija naudojant serverio viešąjį raktą ir SSL sertifikato parašą;
 * Generuojamas seanso raktas, kad būtų panaudota simetrinio rakto kriptografija po rankos paspaudimo pabaigos.
pav. 2 Ryšio sluoksnio būsenos
Eilutė 57: Eilutė 58:
TLS rankos paspaudimą sudaro duomenų paketai arba pranešimai, kurie buvo sukeisti tarp vartotojo ir serverio. 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ą.
Eilutė 59: Eilutė 60:
TLS rankos paspaudimo žingsnių skaičius priklauso nuo dvejų šalių naudojamo rakto sukeitimo algoritmo ir šifravimo algoritmo. Dažniausiai yra naudojamas RSA viešojo rakto sukeitimo algoritmas, jo pavyzdys:  * 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.
Eilutė 61: Eilutė 67:
1. '''Vartotojo pasisveikinimo pranešimas''': vartotojas inicijuoja rankos paspaudimą išsiųsdamas pasisveikinimo pranešimą serveriui. Pranešimą sudaro duomenys apie tai, kokią TLS protokolo versiją bei šifravimo algoritmus palaiko vartotojas ir atsitiktinai parinktų baitų eilutė; === 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.
Eilutė 63: Eilutė 72:
2. '''Serverio pasisveikinimo pranešimas''': kaip atsaką vartotojui, serveris siunčia pranešimą su SSL sertifikatu, pasirinktu šifravimo algoritmu ir atitinkamai atsitiktinai parinktų baitų eilutę, kurią sugeneravo serveris; == 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ų.
Eilutė 65: Eilutė 75:
3. '''Autentifikacija''': vartotojas patikrina gautą serverio SSL sertifikatą pasinaudodamas sertifikavimo institucija, kuri jį išdavė. Tai patvirtina, jog serveris yra autentiškas; === 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.
Eilutė 67: Eilutė 80:
4. '''„Premaster secret“ pranešimas''': vartotojas siunčia dar vieną atsitiktinai sugeneruotų baitų eilutę vadinamą „premaster secret“. Ši baitų eilutė yra šifruota su viešuoju raktu ir gali būti iššifruota serverio su privačiu raktu; === 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).
Eilutė 69: Eilutė 86:
5. '''Privataus rakto panaudojimas''': serveris iššifruoja „premaster secret“ pranešimą; === 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.
Eilutė 71: Eilutė 91:
6. '''Seanso raktų generavimas''': vartotojas ir serveris generuoja seanso raktus pasinaudodami savo prieš tai išsiųstomis baitų eilutėmis. Generavimo rezultatai turi sutapti; „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.
Eilutė 73: Eilutė 93:
7. '''Vartotojas pasiruošęs''': vartotojas siunčia „pasiruošęs“ pranešimą, kuris yra šifruotas su seanso raktu; {{attachment:pav3.png}}
Eilutė 75: Eilutė 95:
8. '''Serveris pasiruošęs''': serveris siunčia „pasiruošęs“ pranešimą, kuris yra šifruotas su seanso raktu; pav. 3 „Bluetooth“ saugos operacijų iliustracija
Eilutė 77: Eilutė 97:
9. '''Simetrinio rakto kriptografija atlikta''': rankos paspaudimas atliktas, informacijos dalinimasis vyksta naudojant seanso raktus. == 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).
Eilutė 79: Eilutė 100:
{{attachment:1pav.png}} Šis procesas parodytas 4 paveikslėlyje:
Eilutė 81: Eilutė 102:
 . 1 pav. TLS rankos paspaudimas {{attachment:pav4.png}}
Eilutė 83: Eilutė 104:
Kuomet duomenys yra užšifruoti ir autentifikuoti, jiems yra suteikiamas pranešimo autentifikacijos kodas (MAC). Gavėjas gali patikrinti MAC ir įsitikinti, jog gauti duomenys nėra suklastoti. pav. 4 „Bluetooth“ susiejimo procesas
Eilutė 85: Eilutė 106:
== TLS 1.0 pažeidžiamumai ==
Mokėjimo kortelių pramonės apsaugos standartų tarybą (''angl. PCI Council'') 2018 metų birželio mėnesį pateikė organizacijoms pasiūlymą migruoti iš TLS 1.0 versijos į TLS 1.1 arba naujesnę. Tų pačių metų spalio mėnesį „Apple“, „Google“, „Microsoft“ ir „Mozilla“ paskelbė, jog pašalins TLS 1.0 ir 1.1 versijas 2020 metų kovo mėnesį.
Kiekvieno įrenginio vaidmuo yra apibrėžtas „BLE“ steko dalyje „Security Manager“ (SMP). Įrenginio vaidmenys yra iniciatorius (centrinis) ir atsakovas (periferinis).
Eilutė 88: Eilutė 108:
== POODLE ==
„POODLE“ ''(Padding Oracle On Downgraded Legacy Encryption)'' yra vienas iš atakos tipų, paskelbtas 2014 metų spalį. Nors POODLE taikosi į SSL 3.0 protokolo versiją, tam tikri TLS 1.0/1.1 diegimai taipogi gali būti pažeisti dėl neatitinkamo užpildymo. Ši ataka vadovaujasi dviem įrankiais:
=== 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.
Eilutė 91: Eilutė 111:
 * Iki šiol kai kurie serveriai ir vartotojai vis dar naudoja senas SSL/TLS versijas;
 * SSL 3.0 arba kitos protokolo versijos pažeidžiamumas, kuris yra susijęs su užpildymo blokavimu.
 * Fazė 1
Eilutė 94: Eilutė 113:
Vartotojas inicijuodamas rankos paspaudimą siunčia palaikomų SSL/TLS protokolų sąrašą. Tuo tarpu kibernetinis užpuolikas perima siunčiamų duomenų srautą atlikdamas „žmogaus viduryje“ (''angl. MITM(man-in-the-middle)'') ataką. Šios atakos dėka užpuolikas slapta perduoda ir keičia dviejų šalių, manančių, kad jos tiesiogiai bendrauja tarpusavyje, perduodamą informaciją. Tokių būdu piktavalis apsimeta esąs serveris, kol vartotojas nesutinka naudoti SSL 3.0 arba kitą pažeidžiamą protokolą. 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.
Eilutė 96: Eilutė 115:
{{attachment:2pav.png}}  * Fazė 2
Eilutė 98: Eilutė 117:
 . 2 pav. POODLE ataka 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“.
Eilutė 100: Eilutė 119:
Šio protokolo pažeidžiamumas yra kriptografijos bloko šifro algoritme (''angl. CBC(Cipher Block Chaining)''). Bloko šifrai priima tik tuos blokus, kurie yra tam tikro ilgio. Jeigu paskutiniame bloke esančių duomenų skaičius nėra bloko kartotinis skaičius, likusi vieta yra užpildoma. Serveris ignoruoja užpildymo turinį ir tikrina užpildymo ilgį. Jeigu užpildymo ilgis yra tinkamas, serveris suteikia pranešimo autentifikacijos kodą (MAC). Tokiu būdu serveris negali patikrinti ar užpildymo turinis buvo pakeistas.  * Fazė 3
Eilutė 102: Eilutė 121:
Užpuolikas gali iššifruoti užšifruotą bloką keisdamas užpildymo baitus ir stebėti serverio atsaką. Maksimalus užklausų skaičius SSL 3.0 protokolui, kad iššifruoti vieną baitą, yra 256. Naudojant automatizuotus įrankius, piktavalis gali gauti siunčiamų duomenų turinį. 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.
Eilutė 104: Eilutė 123:
== BEAST ==
Naršyklės išnaudojimas prieš SSL/TLS (''angl. BEAST(Browser Exploit Against SSL/TLS)'') ataka buvo atskleista 2011 metų rugsėjį. Ši ataka gali būti panaudota naršyklėse, kurios naudoja SSL 3.0, TLS 1.0 arba senesnius protokolus. Užpuolikas gali iššifruoti tarp dviejų šalių siunčiamus duomenis pasinaudodamas kriptografijos bloko šifro algoritmo (''angl. CBC(Cipher Block Chaining)'') pažeidžiamumą.
{{attachment:pav5.png}}
Eilutė 107: Eilutė 125:
Ši ataka vyksta iš vartotojo pusės, kuomet piktavalis naudoja MITM su tikslu įterpti paketą į TLS srautą. Tai suteikia galimybę atspėti inicializacijos vektorių (''angl. IV(Initialization Vector'')), kuris yra atsitiktinai sugeneruotas šifruotų duomenų pradžioje. Užpuolikas atsitiktinai parenka inicializacijos vektorių, kuris yra įskiepytas į pranešimą, ir lygina gautą rezultatą su blokų, kurį nori iššifruoti. pav. 5 Susiejimo schema
Eilutė 109: Eilutė 127:
Tam, kad sėkmingai atlikti BEAST ataką, piktavalis privalo turėti prieigą prie aukos naršyklės, kadangi matydamas naršyklės HTML kodą gali atrasti sau reikalingą informaciją atakai atlikti. === 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ų:
Eilutė 111: Eilutė 130:
== CRIME ==
Glaudinimo santykio informacijos nutekėjimo ataka ''(angl. CRIME(Compression Ratio Info-leak Made Easy)) ''yra atliekama pasinaudojant vartotojo siunčiamo pasisveikinimo pranešimą serveriui. Glaudinimas naudojamas SSL/TLS protokole tam, kad apriboti siunčiamų duomenų kiekį per tam tikrą laiką. Užmegzti ryšį galima ir nenaudojant glaudinimo. Sumažinimas ''(angl. DEFLATE) ''yra dažnai naudojamas duomenų suspaudimo algoritmas šioje srityje.
 * '''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).
Eilutė 114: Eilutė 132:
Serveris atsakydamas į vartotojo atsiųstą pasisveikinimo pranešimą išsiunčia savo sugeneruotą pasisveikinimo pranešimą, kuriame yra nurodomas glaudinimo metodas.  * '''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ų.
Eilutė 116: Eilutė 134:
{{attachment:3pav.png}}  * '''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ų.
Eilutė 118: Eilutė 136:
 . 3 pav. Serverio pasisveikinimo pranešime siunčiama informacija gauta „Wireshark“ įrankio dėka {{attachment:pav6.png}}
Eilutė 120: Eilutė 138:
Nagrinėjant 3 pav. esančią informaciją galima pastebėti, kad glaudinimo metodo reikšmė yra nulis. Tai reiškia, kad glaudinimo metodas nebus naudojamas. pav. 6 Poravimo metodų pasirinkimo lentelė
Eilutė 122: Eilutė 140:
Pagrindinis glaudinimo algoritmų veikimo principas yra tai, kad pasikartojančių baitų seka yra pakeičiama rodykle ''(angl. pointer)'' į pirmąjį objektą toje sekoje. == 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ą.
Eilutė 124: Eilutė 143:
{{attachment:4pav.png}}  * 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.
Eilutė 126: Eilutė 147:
 . 4 pav. Rodyklės priskyrimas naudojant glaudinimo algoritmą == 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.
Eilutė 128: Eilutė 153:
Pavyzdžiui, užpuolikas nori gauti savo aukos slapuką ''(angl. cookie)''. Piktavalis žino, kad svetainė, kurią bando pasiekti vartotojas, sukuria seanso slapuką pavadinimu „x“. Užpuolikas žinodamas, kad „DEFLATE“ glaudinimo algoritmas pakeičia pasikartojančius baitus tuo pasinaudoja. Jis įskiepija į vartotojo slapuką tokius duomenis „Cookie:x=0“. Serveris savo ruožtu pridės tik „0“ reikšmę, kadangi „Cookie:x=“ jau buvo siunčiamas vartotojo slapuke ir yra pasikartojantis.

{{attachment:5pav.png}}

 . 5 pav. CRIME ataka

Tokiu būdu užpuolikas po vieną prideda atsitiktines reikšmes stebėdamas atsako ilgį. Jeigu pridėjus reikšmę atsako ilgis sumažėjo, pridėta reikšmė buvo panaudota vartotojo slapuke. Kuomet pridėjus reikšmę atsako ilgis padidėja, ji nebuvo panaudota vartotojo slapuke.

{{attachment:6pav.png}}

 . 6 pav. Slapuko reikšmių parinkimas ir atsako stebėjimas

== BREACH ==
„BREACH“ ''(Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext) ''atakos veikimo principas yra panašus į CRIME, tačiau ši ataka taikosi į [[http://www.ims.mii.lt/EKŽ/h/hipertekstas.html|hipertekstų]] persiuntimo protokolo ''(angl. HTTP(Hypertext Transfer Protocol)) ''glaudinimo algoritmus. Užpuolikas priverstinai užmezgą ryšį tarp vartotojo naršyklės ir svetainės, kurioje yra naudojamas TLS protokolas. Po to, kai ryšys buvo sėkmingai užmegztas, piktavalis stebi duomenų srautą tarp vartotojo ir serverio naudodamas MITM ''(man-in-the-middle) ''ataką.

Pažeidžiama internetinė programa turi atitikti šiuos reikalavimus:

 * Aptarnaujama serverio, kuris naudoja HTTP glaudinimą;
 * Atspindi vartotojo įvestį HTTP pranešimų dėka;
 * Atspindi prieigos raktą HTTP pranešime.

== Heartbleed ==
„Heartbleed“ yra „OpenSSL“ kriptografijos bibliotekos saugos klaida, kuri yra plačiai naudojama TLS protokole. Šis plėtinys yra naudojamas tam, kad išlaikyti užmegztą ryšį tarp dviejų funkcionuojančių šalių.

Vartotojas siunčia serveriui „Heartbeat“ signalą su duomenimis ir duomenų ilgių. Serveris savo ruožtu atsako į „Heartbeat“ signalą siųsdamas duomenis ir duomenų ilgį, kurį gavo iš vartotojo.

{{attachment:7pav.png}}

 . 7 pav. „Heartbeat“ signalas

„Heartbleed“ veikimo principas buvo pagrįstas tuo, kad vartotojas išsiunčia klaidingą nurodytų duomenų ilgį, o serveris atsako su nurodytu duomenų ilgių ir jį atitinkančią atsitiktine informaciją iš savo duomenų bazės.

{{attachment:8pav.png}}

 . 8 pav. „Heartbleed“ ataka

Atliekant tokius veiksmus, iš serverio galima gauti neskelbtinus duomenis su kurių pagalba užpuolikas gali stebėti visą duomenų srautą keliaujantį į serverį.

== Išvados ==
SSL/TLS protokolai yra naudojami siunčiamiems duomenims apsaugoti. Duomenų apsauga priklauso ne tik nuo protokolo bei naudojamo serverio ar kitos įrangos konfigūravimo, bet ir nuo vartotojo atidumo ir kompetencijos.Efektyviausias būdas apsisaugoti nuo SSL/TLS atakų – atnaujinti naudojamo protokolo versiją. Egzistuoja numatyti saugumo standartai, kurie tiksliai apibrėžia kokius protokolus reikia naudoti, o kuriuos vengti.

== Literatūra ==
1. „What is TLS (Transport Layer Security)?“ https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 5 d.]

2. „What Happens in a TLS Handshake? | SSL Handshake“ https://www.cloudflare.com/learning/ssl/what-happens-in-a-tls-handshake/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 5 d.]

3. „TLS 1.0 and TLS 1.1 Are No Longer Secure“ https://www.packetlabs.net/tls-1-1-no-longer-secure/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 5 d.]

4. „Deprecation of TLS 1.0“ https://www.comodo.com/e-commerce/ssl-certificates/tls-1-deprecation.php [Interaktyvus] [žiūrėta 2020 m. Gruodžio 5 d.]

5. „TLS Security 6: Examples of TLS Vulnerabilities and Attacks“ https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 5 d.]

6. „What Is the POODLE Attack?“ https://www.acunetix.com/blog/web-security-zone/what-is-poodle-attack/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 6 d.]

7. „Man in the middle (MITM) attack“ https://www.imperva.com/learn/application-security/man-in-the-middle-attack-mitm/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 6 d.]

8. „What Is the BEAST Attack“ https://www.acunetix.com/blog/web-security-zone/what-is-beast-attack/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 6 d.]

9. „CRIME SSL/TLS attack“ https://www.acunetix.com/vulnerabilities/web/crime-ssl-tls-attack/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 6 d.]

10. „SSL, GONE IN 30 SECONDS“ http://breachattack.com/#howitworks [Interaktyvus] [žiūrėta 2020 m. Gruodžio 6 d.]

11. „The Heartbleed Bug“ https://heartbleed.com/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 6.]
== 7. LITERATŪROS SĄRAŠAS ==
 * N. Be-Nazir, I. Minar1 and M. Tarique. 2012. Bluetooth security threats and solutions: a survey; American International University, Bangladesh.
 * https://www.researchgate.net/publication/267200901_Bluetooth_Security_Threats_And_Solutions_A_Survey [Interaktyvus] [žiūrėta 2020 m. Gruodžio 8 d.]
 * Kim Crawley. 2020. Bluetooth security risks explained.
 * https://cybersecurity.att.com/blogs/security-essentials/bluetooth-security-risks-explained [Interaktyvus] [žiūrėta 2020 m. Gruodžio 8 d.]
 * https://www.mathworks.com/help/comm/ug/bluetooth-protocol-stack.html [Interaktyvus] [žiūrėta 2020 m. Gruodžio 8 d.]
 * https://elainnovation.com/what-is-ble.html [Interaktyvus] [žiūrėta 2020 m. Gruodžio 8 d.]
 * https://www.bluetooth.com/specifications/ [Interaktyvus] [žiūrėta 2020 m. Gruodžio 8 d.]
 * Seth Sevier and Ali Tekeoglu, Analyzing the Security of Bluetooth Low Energy, from IEEE Xplore.

„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