Bluetooth eszközök biztonsági kérdései

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Bluetooth eszközök biztonsági kérdései"

Átírás

1 Eötvös Loránd Tudományegyetem Informatikai Kar Komputeralgebra Tanszék Bluetooth eszközök biztonsági kérdései Diplomamunka Készítette: Spala Ferenc Programtervezı matematikus szak, nappali tagozat Témavezetı: Kovács Attila, ELTE IK Külsı konzulens: Krasznay Csaba, Kancellár.hu Kft. Budapest, 2008.

2 TÉMABEJELENTŐ

3 Tartalomjegyzék 1 Bevezetés Információbiztonság Történet Információbiztonság és informatikai biztonság A védelem tárgya: információ Bizalmasság Sértetlenség Rendelkezésre állás Biztonsági alapfogalmak Sérülékenység, fenyegetés, kockázat, védelmi intézkedés Azonosítás, hitelesítés, engedélyezés Kriptográfia A kriptográfia célja Alapfogalmak és jelölések Szimmetrikus kulcsú titkosítás Aszimmetrikus kulcsú titkosítás Hibrid titkosítás Folyamtitkosítók Blokktitkosítók Vezeték nélküli hálózatok és a biztonság Vezeték nélküli hálózatok Új technológia, új kockázatok Általános fenyegetések Lehallgatás Forgalomvizsgálat Adatmódosítás Álcázás Munkamenetlopás Szolgáltatás magtagadás War-driving... 27

4 3.4 Személyi digitális asszisztens Adatlopás Készülék eltulajdonítása Mobil kódok Mobiltelefon SMS hamisítás SMS vírusok A Bluetooth protokoll A Bluetooth története Személyi hálózatok Piconet Ad hoc hálózatok Hatótávolság Bluetooth protokoll verem Fizikai réteg Alapsáv rétege (Baseband layer) Hoszt vezérlő interfész (Host Controller Interface HCI) Logikai kapcsolat vezérlő és alkalmazó protokoll (Logical Link Control and Adaptation Protocol L2CAP) Profilok Címzés és kapcsolatok felépítése Kapcsolati módok Bluetooth programozói szemmel Céleszköz választása Transzport protokoll választása Portok Protokoll verem implementációk Egy egyszerű példa a JSR82 API használatával Verziók összefoglalás Bluetooth és a biztonság A Bluetooth biztonság határai és feladatai Biztonsági módok... 50

5 5.3 Kulcs hierarchia Pass key Inicializációs kulcs Link kulcs Titkosító kulcs Megszorítási kulcs Payload kulcs Kulcshierarchia üzenetszórás esetén Hitelesítés Algoritmusok Biztonsági problémák Biztonsági tanácsok Menedzsment szintű ajánlások Technikai ajánlások Használattal, működéssel kapcsolatos ajánlások Bluetooth biztonság a gyakorlatban Támadások Bluejacking Bluesnarfing Bluebugging Bluesmack HeloMoto Szoftverek Tesztkörnyezet Tesztkörnyezet kialakítása Technikai specifikációk A tesztelés folyamata Az első teszt Sony Ericsson K750i Tesztelési napló További tesztek Nokia 6310i Nokia 6230i... 87

6 6.5.3 Nokia E Nokia 6120 classic A PIN kód feltörése Összefoglalás A. A XX. századi kriptográfia legnagyobb eredménye Diffie-Hellman-Merkle A nyilvános kulcs születése Rivest-Shamir-Adleman B. A SAFER algoritmus család SAFER A kulcselosztó algoritmus Menetek C. A Bluetooth protokoll EDR verziójának biztonsági fejlesztései Biztonságos egyszerű párosítás Secure Simple Pairing (SSP) Publikus kulcsok cseréje Első hitelesítési fázis Második hitelesítési fázis Link kulcs kiszámítása LMP hitelesítés és titkosítás Biztonsági mód Irodalomjegyzék

7

8 Bevezetés 1 Bevezetés A társadalomtudósok azt mondják információs társadalomban élünk, egy olyan posztindusztriális korban, melynek alapköve és fő mozgatórugója az információ. De mi az információ és miért olyan fontos a mai világban? Az információnak nagyon sokféle definíciója létezik. Vizsgálhatjuk társadalomtudományi szempontból: Az információ a társadalom szellemi kommunikációs rendszerében keletkezett és továbbított hasznos vagy annak minősülő ismeretközlés. Össztársadalmi jelenség. Meghatározhatjuk a kommunikációelmélet fogalmaival: Az információ kölcsönösen egymásra ható objektumok kommunikációjának objektív tartalma, amely ezen objektumok állapotának megváltozásában nyilvánul meg. Természetesen az informatikának is megvan saját definíciója: Információnak nevezünk mindent, amit a rendelkezésünkre álló adatokból nyerünk. Az információ olyan tény, amelynek megismerésekor olyan tudásra teszünk szert, ami addig nem volt a birtokunkban. Azonban a filozófia megközelítés az, amely kiemeli az információnak egy olyan tulajdonságát, amellyel az előbb felsorolt definíciók nem foglalkoznak: Az információ éppen olyan főszerepet játszik a világban, mint az anyag és az energia. A világot alkotó rendszerek információs kapcsolatok révén szerveződnek egésszé. Alapvető különbség viszont, hogy az információra nem érvényesek a megmaradási törvények, megsemmisíthető és létrehozható. A dolgozat célja megvizsgálni, hogy a manapság igen divatos, Bluetooth szabványnak megfelelő eszközök (mobiltelefonok, okos telefonok, PDA-k, laptopok stb.) képesek-e megőrizni a rajtuk tárolt adatokat, képesek-e megvédeni az információt az illetéktelen személyektől, képesek-e megóvni a titkainkat? Ha igen, akkor hogyan teszik mindezt, és ha nem, akkor miért nem? Lehetséges-e, hogy a XXI. század hajnalán több millió olyan eszköz van a nagyvilágban, mely potenciális biztonsági kockázatot jelent? Biztosak lehetünk benne, hogy miközben a belvárosi dugóban araszolva épp egy fontos üzleti tárgyalást folytatunk mobiltelefonunk és headset-ünk segítségével, a mellettünk lévő autóban ülő tinédzser nem hallgatja le a beszélgetésünket? Biztos, hogy a metrón hazafele utazva a mellettünk álló, a telefonját nyomkodó úriember, nem a mi névjegyzékünket nézegeti épp? Biztosak vagyunk benne, hogy a vezeték nélküli nyomtatóra elküldött szerződést senki nem olvasta el útközben? A modern kor és a modern technológiák újabbnál újabb kihívások elé állítanak mindnyájunkat. Mára az információ vált a legértékesebb árucikké, és ne higgyük, hogy csak a bankok, pénzintézetek vagy a katonaság jelenthet célpontot. Mindannyian két lábon járó potenciális információforrások vagyunk, ráadásul az információk nagy részét a mindig nálunk lévő eszközökön tároljuk. Ezek az eszközök pedig egyre nagyobb számban képesek Bluetooth kommunikációra. Ismernünk kell tehát a veszélyforrásokat, a Bluetooth technológiát, a tipikus hibákat és támadási módszereket, különben kiszolgáltatjuk magunkat a támadóknak. 8

9 Információbiztonság 2 Információbiztonság 2.1 Történet Az információbiztonság tudománya lényegében egyidős magával a tudatos információközléssel, hiszen amióta az emberek információkat osztanak meg egymással, természetes igényük, hogy bizonyos információkat csak bizonyos emberek tudjanak megszerezni. Ezt figyelembe véve nyugodtan kijelenthetjük, hogy az információbiztonság körülbelül 4000 éves tudomány, hiszen már az ókori egyiptomiak is használtak nem szabványos hieroglifákat titkosítás céljából i.e táján. Körülbelül 2600 éve jelent meg a zsidó kultúrában az Atbash kódolás, amely egy nagyon egyszerű helyettesítő rejtjelezés. Ami miatt mindenképp említést érdemel, hogy a Bibliában is található néhány Atbash-sal kódolt részlet. Ugyanerre az időszakra tehető a görög szkütalé módszer megjelenése, amely az első ismert katonai rejtjelező módszer. Talán már ismertebb a Julius Caesar nevéhez köthető rejtjelezés, mely egy betűhelyettesítéses algoritmus. Nagyon sokáig ezek a helyettesítésen, eltoláson alapuló módszerek számítottak az információtitkosítás alapvető eszközeinek. Azonban ezen módszereknek volt egy gyengeségük: gyakoriság analízissel könnyen feltörhetőek voltak. Ennek a problémának a megoldását 1467 körül Leon Battista Alberti dolgozta ki, a polialfabetikus kód megalkotásával, melynek a lényege, hogy több helyettesítő ábécét használ. A legismertebb polialfabetikus módszer a Vigenére-rejtjel, amely Caesar-kódok sorozatát használja egy adott kulcsszó betűitől függően. Ezután jó ideig nem igazán történt lényeges előrelépés, az igazi fordulatot a 20. század hozta meg az információbiztonság, azon belül is a kriptográfia számára. 2.2 Információbiztonság és informatikai biztonság Az információbiztonság és az informatikai biztonság két olyan fogalom, amelyeket nagyon gyakran nem következetesen használnak, pedig nem ugyanazt jelentik. Ha definiálni próbáljuk őket, az informatikai biztonságot könnyebb megközelíteni. Azt mondhatjuk, hogy az informatikai biztonság az informatikai rendszerek védelme a jogosulatlan hozzáféréstől, használattól, változtatásoktól, megsemmisüléstől. Mint láthatjuk az informatikai biztonság kifejezetten az informatikai rendszerekkel foglalkozik. Ezzel szemben az információbiztonság egy jóval tágabb fogalom. Nem egyenlő az informatikai biztonsággal, az adatbiztonsággal, a biztonságtechnikával. Ezek mind az információbiztonság részét képezik. 9

10 Információbiztonság 1. ábra Az információbiztonság és informatikai biztonság viszonya. 2.3 A védelem tárgya: információ Amint az emberek biztonságról kezdenek beszélni, felmerül egy alapvető kérdés: Mit kell védenünk? A hálózatot? A számítógépet? Az embereket? Az adatokat? Nem! Az információ védelem tárgya mindig az információ. Az információbiztonság tehát az a folyamat, mely során az információt megvédjük a nem engedélyezett hozzáféréstől, használattól, kiszivárgástól, megsemmisítéstől, módosítástól és megzavarástól. Az információnak alapvetően három biztonsági attribútumával foglalkozunk: Bizalmasság Confidentiality Sértetlenség Integrity Rendelkezésre állás Availability A szakirodalomban gyakran nevezik ezt a hármast az angol elnevezések után CIA követelménynek Bizalmasság A bizalmassági tulajdonság megköveteli, hogy az információhoz csak az férhessen hozzá, aki arra jogosult. Ezt biztosítani kell mind a rendszeren belül tárolt, mind pedig a kommunikáció során átvitelre kerülő adatok esetében. Nyilván ez utóbbi jelenthet nagyobb kihívást, a 10

11 Információbiztonság kommunikációs média sokfélesége miatt. Gondoljunk csak a vezeték nélküli átvitelre. Éppen ezért általános módszer, hogy a kommunikációs folyamatban résztvevő adatokat titkosítjuk Sértetlenség A sértetlenség az információ teljességének és pontosságát biztosító tulajdonság. Értelemszerűen a kommunikációnak csak úgy van értelme, ha a közölni kívánt információ az eredeti formájában, az eredeti tartalommal jut el a címzetthez. Itt két, jól elkülöníthető dolgot kell megvalósítani: egyrészt az információnak el kell jutni a feladótól a címzettig, másrészt sértetlennek, azaz az eredeti tartalommal megegyezőnek kell lennie. Ez azt jelenti, hogy minden lehetséges zajforrást ki kell zárni a kommunikációból, de legalábbis azok hatását minimalizálni kell. Meg kell még említeni, hogy az integritást legtöbbször mi emberek veszélyeztetjük, véletlen hibák folytán. Például elírjuk a havi fizetésünk összegét egy űrlapon, máris nem a valóságnak megfelelő adat szerepel a kommunikációban Rendelkezésre állás Az információ csak úgy ér bármit is, ha bizonyos peremfeltételek mellett hozzáférhető. A rendelkezésre állást legtöbbször valamilyen rendszerhiba (például a háttértároló meghibásodása) veszélyezteti, azonban külső támadás is okozhatja ezen tulajdonság sérülését. A legjellemzőbb példa az úgynevezett szolgáltatás megtagadásos támadások (Deny of Service DoS), melyek célja csak annyi, hogy az adott rendszert olyan mértékben leterheljék, hogy az képtelen legyen feladatának ellátására. 2.4 Biztonsági alapfogalmak Van néhány fogalom, mellyel tisztában kell lennünk, ha informatikai biztonságról akarunk beszélni. Különösen igaz ez azért, mert sokszor keverik, nem következetesen használják ezeket a fogalmakat. A következőkben azokra a fogalmakra koncentrálunk, melyek ismerete számunkra közvetlenül szükséges Sérülékenység, fenyegetés, kockázat, védelmi intézkedés A sérülékenység egy olyan hardver, szoftver vagy eljárásbeli gyengeség, melyet kihasználva egy támadó olyan tevékenységet tud végezni, mely megsérti a CIA tulajdonságok valamelyikét. Sérülékenység igen sok minden lehet. Lehet egy operációs rendszerben lévő biztonsági rés, egy programhiba, egy titkosítatlan vezeték nélküli hálózat, de akár egy nyitva felejtett ajtó is. Fenyegetésnek nevezzük az információs rendszerre leselkedő veszélyeket. Minden sérülékenység potenciális veszélyforrás, hiszen valaki megtalálhatja azt és felhasználhatja ellenünk. A fenyegetés tehát olyan esemény, melynek bekövetkezése nem kívánt hatással van a rendszerre nézve. A fenyegetések mindig valamilyen sérülékenységet használnak ki. Fenyegetés például, hogy az operációs rendszer hibáját kihasználva egy vírus meg tudja fertőzni a gépünket, vagy, hogy a nyitva felejtett ajtón bárki bejuthat az irodába. 11

12 Információbiztonság A kockázat a sérülékenységek kihasználásának valószínűsége. Ha minden nap nyitva marad az ajtó az irodában, sokkal nagyobb a valószínűsége, hogy egy illetéktelen személy besurran, mintha évente egyszer fordulna elő, hogy valaki nyitva felejti. Védelmi intézkedésnek nevezzük azt a tevékenységet, mellyel csökkenteni próbáljuk a kockázatokat. Az informatikai biztonság egyik ökölszabálya, hogy az alkalmazott védelmi intézkedésnek arányosnak kell lennie a kockázati tényező bekövetkezésének valószínűségével, valamint az általa okozott kár nagyságával. A másik örök igazság, hogy nincs 100%-os védelem, azaz nem lehet eliminálni az összes kockázatot Azonosítás, hitelesítés, engedélyezés Az azonosítás a rendszer entitásainak egyedi azonosítóval való ellátásának folyamata. Az azonosítás alapvető fontosságú, hiszen az elszámoltathatóság alapfeltétele, hogy minden eseményt egy egyedi entitáshoz tudjunk kötni. Fontos megjegyezni, hogy az azonosítás fogalmába nem tartozik bele annak a vizsgálata, hogy egy entitás valóban az e, akinek kiadja magát. A hitelesítés az a folyamat, melynek során az entitás bizonyítja az önmagáról állítottak valódiságát. Gondoljunk egy olyan számítógépre, amit csak bejelentkezett felhasználók használhatnak. A felhasználói név beírásával megtörténik az azonosítás, a hitelesítési folyamat pedig annak az ellenőrzése, hogy valóban az adott felhasználói névhez tartozó jelszót adta-e meg a felhasználó. Háromtípusú hitelesítési eljárást különböztetünk meg egymástól: Tudás alapú Minden olyan hitelesítési eljárás, amit a felhasználó tud. Leggyakoribb példák a jelszavak, PIN kódok, stb. Tulajdon alapú Azok a hitelesítési eljárások tartoznak ide, amik valamilyen, az entitás birtokában lévő eszközt vonnak be az autentikációba. Például: intelligens kártyák, SMS-ben érkező kódok stb. Tulajdonság alapú vagy biometrikus hitelesítés Valamilyen fizikai (biológiai) tulajdonságot felhasználó hitelesítési eljárások tartoznak ebben a csoportba. Például: ujjlenyomat, retina, stb. Miután a rendszer azonosította és hitelesítette az entitást, megvizsgálja hogy rendelkezik-e azokkal a jogokkal, melyek az általa igényelt szolgáltatás, információ, erőforrás, stb. eléréséhez szükségesek. Ezt nevezzük engedélyezésnek. 12

13 Információbiztonság 2.5 Kriptográfia Az informatikai biztonságnak igen sok ága van, mi most mégis eggyel, a kriptográfiával, foglalkozunk egy kicsit részletesebben, ugyanis ez az a terület, melyre a későbbiek folyamán leginkább támaszkodni fogunk. A 20. századig a titkosítás inkább művészetnek számított, mintsem tudománynak. Ugyan folyamatos fejlődése nyomon követhető, azonban ez inkább nevezhető ad hoc folyamatnak, mint tudatos kutatás eredményének. A fordulópontot az I. világháború jelentette, amikor igen jelentős erőforrásokat áldoztak a felek mind a megfelelően biztonságos kriptográfiai módszer kidolgozására, mind a másik fél titkosírásának megfejtésére. Talán minden idők egyik legjelentősebb rejtjelfejtése is az I. világháború idejére, 1917-re tehető, amikor angol kódfejtők sikeresen dekódolták a német külügyminiszternek, Zimmermann-nak, a mexikói elnökhöz írt táviratát. Mint ismert az Egyesült Államok ezen távirat hatására lépett be a világháborúba. A II. világháborúban még nagyobb szerepet kapott a kriptográfia. Ennek az időszaknak a legismertebb titkosító berendezése a németek által használt Enigma, amelyet először Alan Turing módszerével sikerült feltörni. Az elmúlt ötven évben a számítástechnika és a hálózatok rohamos fejlődésének köszönhetően titkosítási eljárások egész sora látott napvilágot. Néhány példa a teljesség igénye nélkül: DES, RSA, PGP, SSL, RC4, SHA1, AES stb A kriptográfia célja A kriptográfia alapvetően négy célt szolgál: 1. Bizalmasság A kérdéses információhoz csak az vagy azok férhessenek hozzá, akik erre jogosultak. 2. Sértetlenség Garantálja, hogy az üzenetet illetéktelen személyek nem módosították. 3. Hitelesítés Az üzenet feladóját egyértelműen azonosítani lehet, illetve az üzenetet egyértelműen egy adott küldőhöz lehet kapcsolni. 4. Letagadhatatlanság Az üzenet küldője nem tagadhatja le az üzenetküldés tényét Alapfogalmak és jelölések A titkosítandó szöveget vagy üzenetet nyílt szövegnek (plain text) nevezzük. Maga a titkosító eljárás egy algoritmus, amely a nyílt szöveget egy másik szöveggé alakítja, ezt nevezzük titkosított szövegnek (cipher text). Az algoritmus alkalmazása a nyílt szövegre a kódolás vagy rejtjelezés. A nyílt szöveget tekinthetjük számsorozatnak, a titkosított szöveget hasonlóképp, ilyen felfogásban a titkosító algoritmus egy matematikai függvény. Erről fel kell tennünk, hogy 13

14 Információbiztonság injektív 1, mivel a címzettnek képesnek kell lennie arra, hogy egyértelműen visszanyerje a nyílt szöveget. Ez utóbbi folyamat a dekódolás vagy visszafejtés. Az olyan illetéktelen fogadókat, akiknek érdekükben is áll a nem nekik címzett titkos üzenetek visszafejtése, és ezzel meg is próbálkoznak, gyakran támadó feleknek, míg a feladókat és illetékes címzetteket legális feleknek is nevezzük. Annak érdekében, hogy a dekódolást csak az arra jogosult személy tudja elvégezni, meg kell adni a titkosítás egy olyan paraméterét, melyet csak a feladó és a címzett ismer. Ezt a paramétert nevezzük kulcsnak 2. Felmerül a kérdés, hogy milyen értéktartományból választhatjuk a kulcs értékét? Először is azt jegyezzük meg, hogy a kulcsokat végső soron mindig bináris számjegyek sorozatai alkotják, így a kulcstartomány méretét bitekben szokás megadni. Egy 128 bites kulcstartományt használva például különböző kulcsból választhatunk. Nyílván minél nagyobb a kulcstartomány, annál nehezebb próbálgatással kitalálni a kulcsot, így annál erősebb a titkosítás. Ez így persze nem feltétlenül igaz, hiszen a biztonság nem csak a kulcs hosszától függ, de a kriptográfia egyik ökölszabályaként azért elfogadhatjuk, hogy egy 512 bites titkosítás általában biztonságosabb, mint egy 64 bites. A továbbiakban feltesszük, hogy az Olvasó tisztában van néhány matematikai alapfogalommal: halmaz, függvény, bijekció, inverz függvény, permutáció, involúció stb. [2]. Két további fogalmat azonban bevezetünk: az úgynevezett egyirányú függvények és a csapóajtó-típusú egyirányú függvények 3 fogalmát. Egyirányú függvénynek egy olyan függvényt nevezünk, amelynek helyettesítési értékét könnyen kiszámíthatjuk, de az inverz függvény meghatározása igen nehéz, nagy számításigényű feladat. Könnyű kiszámíthatóság alatt a polinomiális időben való kiszámíthatóságot értjük. Tekintsük az alábbi példát: válasszuk két prímszámot, legyen p=48611 és q=53993, továbbá n=p*q= és X={1,2,,n-1}. Definiáljuk az f: X X függvényt a következőképp f(x) = x 3 mod n. Nyilvánvaló, hogy tetszőleges x X esetén f(x) könnyen meghatározható, azonban valamely y X esetén megtalálni azt az x-et, amire f(x) = y már nem könnyű feladat, ha nem ismerjük p és q értékét. Az előbbi példából tulajdonképpen már kitalálható a csapóajtó-típusú egyirányú függvények definíciója. Ezek olyan speciális egyirányú függvények, melyek esetében ha bizonyos többlet információt megadunk, már kiszámíthatóvá válik tetszőleges y esetén azaz x, amelyre f(x) = y. Az előbbi példában szereplő függvény egy csapóajtó-típusú egyirányú függvény, hiszen ha nem csak n, hanem p és q is ismertek, már lényegesen egyszerűbb az inverz függvény előállítása. A kriptográfiában ezen speciális egyirányú függvényeket igen széles körben alkalmazzák, ahogy azt látni fogjuk. 1 Mint látni fogjuk a gyakorlatban bijektív függvényeket használunk. 2 Látni fogjuk, hogy az sem biztos, hogy a feladó és a címzett csak egy kulcsot használna, illetve hogy ismernék a titkosításban résztvevő összes kulcsot. 3 Az angol szakirodalom a trapdoor one-way function kifejezést használja. 14

15 Információbiztonság Bevezetünk néhány jelölést, amelyet a későbbiekben használni szeretnénk az egyes titkosító módszerek formális leírásához. A egy véges halmaz, az alap ábécé. M az úgynevezett üzenet tér vagy üzenet tartomány, amely egy A feletti szavakból álló halmaz. A nyílt szöveg nem más, mint M egy m eleme. C szintén A feletti halmaz, amely a titkosított üzeneteket tartalmazza. A korábban kulcstartományt K-val jelöljük. Minden e K egyértelműen meghatároz egy bijekciót M és C között, ezt a leképezést jelöljük E e -vel, és titkosító függvénynek vagy transzformációnak nevezzük. Minden d K meghatároz egy D d : C -> M bijekciót, amit dekódoló függvénynek vagy transzformációnak nevezünk. Mondhatjuk tehát, hogy maga a titkosítási eljárás vagy séma nem más, mint {E e e K }, {D d d K} vagyis titkosító és dekódoló függvények halmaza, amelyekre igaz, hogy minden e K esetén egyértelműen létezik olyan d K, melyre: D d (E e (m)) = m minden m M-re. Az ilyen tulajdonságú (e,d) kulcsokat nevezzük kulcspároknak. Vegyük észre, hogy e és d nem szükségképpen különböző. Az e és d kulcsok egymáshoz való viszonya alapján beszélhetünk szimmetrikus és aszimmetrikus titkosításról Szimmetrikus kulcsú titkosítás A titkosítási eljárást szimmetrikusnak vagy egy-kulcsúnak nevezzük, ha a titkosításban résztvevő (e,d) kulcspárok valamelyik tagjából könnyen kiszámítható a másik. Általában a legegyszerűbb eset szokott előfordulni, nevezetesen amikor e=d. Ilyenkor nem is szoktunk kulcspárról beszélni, csak egyetlen kulcsról, amit titkos kulcsnak 4 nevezünk. A szimmetrikus kulcsú titkosításon alapuló kommunikáció folyamatát az alábbi ábra szemlélteti 5. 4 A titkos kulcs fogalmát használni fogjuk az aszimmetrikus titkosításnál is, azonban a két fogalom más-más jelentéssel bír. 5 A kommunikációs modellekben főleg, amikor titkosításról beszélünk a szakirodalom előszeretettel használja az Alice és Bob elnevezést a kommunikációs partnerekre, valamint az Eve nevet az illetéktelen harmadik félre. 15

16 Információbiztonság 2. ábra Szimmetrikus kulcsú titkosítás főbb lépései Nézzük meg ebben az esetben milyen lépései vannak a kommunikációnak: 1. Alice (A) és Bob (B) megegyezik abban, hogy milyen titkosító rendszert (algoritmust, protokollt stb.) használjanak a kommunikációhoz. 2. A és B megegyezik a titkos kulcsban. 3. A titkosítja az üzenetet a megadott kulccsal és algoritmussal, majd elküldi azt B-nek. 4. B dekódolja az üzenetet a közös kulccsal. Ebben a folyamatban a 2. fázis a legkritikusabb, hiszen a titkosításhoz használt kulcsot csak A és B ismerheti, senki más. Vagyis a szimmetrikus kulcsú titkosítás egyik legnagyobb problémája a kulcs biztonságos eljuttatása a feladótól a címzettig, hiszen ehhez már egy biztonságos csatornát kell használni. Ez egy tipikus tyúk-tojás probléma, hiszen a célunk éppen egy biztonságos csatorna kiépítése a két fél között. Ezt nevezik a kulcselosztás problémájának [6]. Észrevehetünk egy másik potenciális problémaforrást is a szimmetrikus módszer alkalmazása kapcsán. Ehhez vizsgáljuk meg, hogyan viszonyul egymáshoz a kommunikációban résztvevő felek, és a szükséges kulcsok száma. Kommunikációs felek száma 16 Szükséges kulcsok száma

17 Információbiztonság N (N*(N-1))/2 A táblázat utolsó sorában lévő képlet triviális, hiszen minden kommunikációban részt vevő fél N-1 másik emberrel létesíthet kapcsolatot, melyek mindegyikéhez külön-külön kulcs szükséges. Ha most úgy tekintünk a fenti problémára, mint egy N csúccsal rendelkező irányítatlan teljes gráfra, akkor a szükséges kulcsok száma nem mást, mint ennek a gráfnak az élszáma 6. Látjuk tehát, hogy a kulcsok száma O(n 2 ), ami azt jelenti, ahogy egyre többen vesznek részt a kommunikációban, mindez négyzetesen növeli az adminisztrációs és tárolási költségeket. Még egy érdekes dolgot figyelhetünk meg, az előbb azt mondtuk, hogy csak a kulcs titokban tartása a cél, a használt titkosító rendszer esetén nem foglalkoztunk ezzel a problémával. Ez nem véletlen, a kriptográfiában nem csak a szimmetrikus kulcsú titkosítás esetében ez egy általánosan elfogadott módszer, az úgynevezett Kerckhoff-elv A Kerckhoff-elv Az előbb, mikor említettük, hogy kell lennie egy olyan paraméternek a titkosítás folyamatában, amit csak a legális felek ismernek, egyesekben felmerülhetett a gondolat, hogy ezt a szerepet betölthetné maga az algoritmus is. Hiszen a titkosítási eljárás ismerete nélkül sem lehet visszafejteni a kódolt szöveget. Ez a gondolatmenet egészen 1883-ig teljesen elfogadott volt. Ekkor azonban Auguste Kerckhoff egy cikkében kifejtette álláspontját, mely szerint a kulcs kell, hogy legyen az egyetlen dolog, amely titkos. Sőt, Kerckhoff ennél is továbbment, szerinte az algoritmusnak mindig nyilvánosnak kell lennie, hiszen elgondolása szerint minél több titokkal próbálunk biztonságot elérni, annál több potenciális sérülékenységet hagyunk a támadóknak, melyet kihasználhatnak. Az érdekes az, hogy az elmúlt 120 év Kerckhoff-ot igazolta, olyannyira, hogy a legtöbb publikus szférában használt titkosítási eljárás algoritmusa bárki számára elérhető, megvizsgálható. Természetesen bizonyos kormányzati, illetve katonai titkosító algoritmusok ez alól kivételt képeznek Aszimmetrikus kulcsú titkosítás Legyen {E e e K } titkosító algoritmusok egy halmaza, {D d d K} pedig a megfelelő dekódoló algoritmusok halmaza. Bármely (E e,d d ) párt is tekintjük (ne feledjük, most e d) E e és a titkos szöveg (c C) ismeretében nem lehetséges előállítani azt az m M üzenetet, melyre E e (m) = c. Lényegében ez azt jelenti, hogy az e K kulcs ismeretének birtokában nem 6 Ugyanerre az eredményre juthatunk, ha a kombinatorikai felől közelítjük a problémát, ekkor N elem másodosztályú ismétlés nélküli kombinációjáról beszélhetünk. 17

18 Információbiztonság tudjuk kiszámítani 7 a dekódoláshoz szükséges d kulcsot. Vegyük észre, hogy E e egy trapdoor egyirányú függvény, melyhez d a szükséges többlet információ, amely az invertáláshoz szükséges. Az aszimmetrikus kulcsú titkosításon alapuló kommunikációt az alábbi ábra szemlélteti: 3. ábra Aszimmetrikus kulcsú titkosítás működési elve Vizsgáljuk meg, mi történik ebben az esetben, ha Alice üzenetet akar küldeni Bob-nak. 1. Alice (A) és Bob (B) megegyezik abban, hogy milyen titkosító rendszert (algoritmust, protokollt stb.) használjanak a kommunikációhoz. 2. B elküldi a nyilvános kulcsát A-nak 3. A ezzel a kulccsal kódolja az üzenetet 4. B a megkapott üzenetet a saját titkos kulcsával dekódolja Láthatjuk, hogy a kulcselosztás problémáját megoldja az aszimmetrikus titkosítás használata. Igaz ugyan, hogy az (e,d) kulcspár egyik tagját továbbra is el kell juttatnunk a másik félhez, de ezt már egy nem biztonságos csatornán keresztül tehetjük meg, hiszen a támadó hiába szerzi meg a kódoláshoz használt e kulcsot, azzal nem lesz képes dekódolni az üzenetet. A másik, szimmetrikus kulcsok használatánál jelentkező problémát, a nagyszámú kulcsok tárolását is kiküszöbölhetjük ezzel a módszerrel, hiszen minden, a kommunikációban 7 Természetesen amikor a nem lehetséges előállítani, illetve nem tudjuk kiszámítani kifejezéseket használjuk, arra gondolunk, hogy csak igen bonyolult és hosszadalmas számítások árán lehetséges, amely a mai számítógépek teljesítménye mellett is évekig tartana. 18

19 Információbiztonság résztvevő félnek elég a saját (e,d) kulcspárját tárolni, sőt ebből is csak a saját titkos kulcsát (d) kell biztonságos helyen tartania. Mi is történik valójában? Minden felhasználó előállít egy kulcspárt, a pár egyik tagját nevezzük nyilvános vagy publikus kulcsnak, amelyet egy bárki számára elérhető helyen tárolhatunk, a pár másik tagja az adott személy titkos kulcsa, ezt azonban kizárólag ő ismerheti és senki más. Ha valaki üzenetet szeretne küldeni az adott személynek, a titkosítás elvégzéséhez csak a címzett nyilvános kulcsára van szükség, az alkalmazott titkosítási rendszer pedig garantálja, hogy egy e nyilvános kulccsal titkosított üzenetet csak az e-hez tartozó d titkos kulccsal lehet megfejteni, ez a kulcs azonban sose hagyja el a birtokosát, semmilyen kommunikációs csatornán nem kerül átvitelre. A fenti módszer miatt az aszimmetrikus kulcsú titkosítást nevezik nyilvános vagy publikus kulcsú titkosításnak is. Az eddigiek alapján úgy tűnhet, hogy a nyilvános kulcsú titkosítás minden tekintetben jobb, mint a szimmetrikus kulcsú. Felmerülhet a kérdés, hogy van-e egyáltalán létjogosultsága ez utóbbi módszernek. Természetesen van, hiszen van egy nagyon nagy előnye, nevezetesen a szimmetrikus titkosításon alapuló algoritmusok sokkal gyorsabbak aszimmetrikus társaiknál. Egyes mérések alapján akár 1000-szeres is lehet a differencia. Nyílván minél nagyobb a titkosítandó adatmennyiség, annál fontosabb a sebesség. Az alábbi táblázatban összefoglaljuk a két módszer előnyeit és hátrányait: Szimmetrikus titkosítás Előnyök Sebesség (főleg nagy adatmennyiség esetén) A kulcsok rövidebbek lehetnek Az alkalmazott algoritmusok más kriptográfiai műveletek alapját képezhetik (pszeudo véletlenszám generátorok, hash függvények stb.) Hátrányok A kulcsot permanensen, biztonságos módon tárolni kell mindkét félnél Négyzetesen növekvő kulcsszám Kulcselosztás problémája Aszimmetrikus titkosítás Minden kommunikációban részt vevő félnek csak a saját titkos kulcsát kell permanensen és biztonságosan tárolnia A kulcsok adminisztrálása jóval egyszerűbb A (privát kulcs, publikus kulcs) párok akár évekig használhatóak, nem kell újakat generálni Sebesség Általában jóval hosszabb kulcsokra van szükség Egyik nyilvános kulcsú módszerről sem bizonyították be, hogy biztonságos (ellentétben pl. a blokk titkosítókkal) Látjuk tehát, hogy mindkét módszernek megvannak az előnyei és a hátrányai, természetesen az ideális az lenne, ha egyesíteni tudnánk az előnyöket úgy, hogy eközben a hátrányokat kiküszöböljük. Ezen törekvések eredményeképp született meg a manapság igen széles körben használt hibrid titkosítás. 19

20 Információbiztonság Hibrid titkosítás Ahogy említettük a hibrid rendszerek célja, hogy egyesítsék a szimmetrikus titkosítás sebességéből és a nyilvános kulcsú titkosítás kulcselosztásából adódó előnyöket. Hogyan lehetséges ez? Nyilván a nagy mennyiségű üzenetet kénytelenek vagyunk szimmetrikus kulccsal titkosítani, hogy megfeleljünk a sebességgel szembeni követelményeknek. Ekkor azonban felmerül a kulcselosztás problémája, és ezt fogjuk megoldani aszimmetrikus titkosítással. Nézzük meg, hogyan kommunikálhat egymással A és B, ha ezt a hibrid modellt használják: 1. A és B megegyeznek a használni kívánt titkosító rendszerről 2. B elküldi a nyilvános kulcsát A-nak. Legyen ez K1. 3. A generál egy véletlen munkamenet kulcsot 8 (K), majd az előbb kapott K1 kulccsal titkosítja K-t (E K1 (K)=c), az így kapott kódolt üzenetet (c) elküldi B-nek. 4. B a saját titkos kulcsával dekódolja a kapott üzenetet, így hozzájut a munkamenet K kulcsához. Vegyük észre, hogy ezen a ponton mind A mind B (és csak ők) rendelkezik a kettőjük biztonságos kommunikációjához szükséges kulccsal. 5. A és B a K szimmetrikus kulcs segítségével tudnak kommunikálni egymással Elemezzük a fenti módszert! Látható, hogy a tényleges kommunikációhoz már szimmetrikus kulcsú titkosítást használhatnak a felek, azaz a sebesség kérdését megoldottuk. A kommunikáció inicializációs szakaszában pedig aszimmetrikus módszert alkalmazva egy nem biztonságos csatornán keresztül oldottuk meg a kulcselosztást. Úgy tűnik tehát, hogy sikerült elérni a célunkat, egyesítettük a két módszer előnyeit. Felmerülhet azonban még egy kérdés, amiről eddig nem esett szó, a szimmetrikus titkosításnál szintén hátrányként említettük a kulcsok tárolásának problémáját, vajon ezt is sikerült áthidalnunk? A fenti módszer 3. lépésében láthatjuk, hogy a kommunikációhoz használt úgynevezett munkamenet kulcsot A véletlenszám-generátor segítségével állítja elő, azaz csak a kommunikáció ideje alatt kell tárolni a feleknek. Ennek természetesen egy másik kedvező mellékhatása, hogy minden egyes kommunikációs kapcsolathoz más-más szimmetrikus kulcsot használnak a felek, ami tovább növeli a biztonságot. Láthatjuk tehát, hogy ez a módszer mindkét oldalon automatikusan biztosítja a bizalmasságot, a kriptográfia egyik alapvető követelményét. Vizsgáljuk most meg a korábban említett másik három tulajdonságot! Sértetlenség A sértetlenség biztosítása többet követel meg, mint a bizalmasság megőrzése. Tegyük fel, hogy A üzenetet küld egy nem biztonságos csatornán B-nek, ezt az üzenetet egy illetéktelen harmadik fél, Eve (E) le tudja hallgatni, és igaz ugyan, hogy megfejteni nem lesz képes, de módosíthatja az üzenetet, megsértve ezzel az információ sértetlenségi tulajdonságát. A célunk tehát az, hogy a fogadó biztos lehessen abban, hogy az üzenetet senki nem 8 Session Key 20

21 Információbiztonság változtatta meg útközben. Ehhez hash függvényeket használhatunk. Ezek a függvények ugyanis rendelkeznek két, számunkra igen előnyös, tulajdonsággal. Egyrészt az eredeti üzenetben történt legapróbb változtatás is igen jelentős módosulást eredményez az üzenet lenyomatában 9, másrészt a megfelelő hash függvény választásával elérhetjük, hogy a lenyomatok között ne legyen ütközés, azaz annak a valószínűsége, hogy két különböző üzenet lenyomata megegyezzen, igen csekély. Nézzük meg, hogyan alkalmazhatóak ezek a függvények a sértetlenség biztosítására: 1. A és B megegyeznek a használt hash függvényről 2. Mielőtt A elküldené az üzenetét B-nek, kiszámolja az üzenet lenyomatát az 1. pontban meghatározott függvény segítségével. Ezt az angol Message Authentication Code elnevezés alapján MAC-nek szoktuk nevezni. 3. A az üzenete végéhez hozzáfűzi a MAC-et, majd elküldi A-nak. 4. Ezen a ponton lehetséges az illetéktelen hozzáférés, tegyük fel tehát, hogy E elfogja az üzenetet és tetszőleges apró változtatást hajt végre rajta. 5. Amikor B megkapja az üzenetet, szétválasztja a tényleges üzenetet a MAC-től, ő is kiszámolja a hash függvény segítségével a lenyomatot (MAC ), majd ezt összehasonlítja a kapott lenyomattal. 6. Amennyiben MAC=MAC, B biztos lehet benne, hogy a kapott üzenet sértetlen, hiszen bármilyen apró változtatás is történt volna, a két lenyomat nem egyezhetne meg. Tovább növelhető a módszer biztonsága, ha az üzenet lenyomatát nem pusztán magából az üzenetből képezzük, hanem alkalmazunk még egy titkos kulcsot, amelyet csak a küldő és a fogadó ismer Hitelesítés Az előbbi gondolatmenet felvethet egy újabb kérdést: mi történik, ha E miután elfogta A üzenetét, azt egyszerűen eldobja és készít helyette egy teljesen új üzenetet, majd azt továbbítja B-nek A nevében. A következő probléma tehát az, hogy a címzett hogyan győződhet meg arról, hogy a kapott üzenet valóban a kérdéses személy adta-e fel. Először azonban vizsgáljuk meg azt, hogyan lehetséges-e az üzenet meghamisítása. Feltesszük, hogy E-nek sikerült az A és B által használt kommunikációs csatornára csatlakoznia, így az ott történő összes üzenetváltást lehallgathatja. 1. A és B megegyeznek a használt titkosítási rendszerben (algoritmusban). E ezt tudhatja, hiszen a legtöbb kommunikációs protokollról ismert az alkalmazott titkosítási algoritmus. 2. B elküldi a nyilvános kulcsát (K1) A-nak. Ezt az üzenetet E elfogja, lejegyezi a nyilvános kulcsot, de nem továbbítja az üzenetet A-nak 3. E generál egy (K2,K4) kódoló-dekódoló kulcspárt, majd elküldi K2-t A-nak 9 Lenyomatnak szoktuk nevezni azt az értéket, melyet a hash függvény állít elő egy adott bemenetre. Megjegyzés: A lenyomat általában jóval kisebb, mint a bemenet volt. 21

22 Információbiztonság 4. E generál egy véletlenszámot (R), majd ezt K1-gyel titkosítva elküldi B-nek. Vegyük észre, hogy se A se B nem tudják, hogy a 3. és 4. lépésben küldött üzenetek E-től érkeztek! 5. A generál egy munkamenet kulcsot (K AB ), amit az előbb kapott K2 kulccsal titkosítva elküld B-nek. Ezt az üzenetet E szintén elfogja, dekódolja a nála lévő K4 kulccsal, így hozzájuk A egy érvényes munkamenet kulcsához. Ráadásul A azt hiszi, hogy ez egy legális munkamenet közte és B között. 6. Tegyük fel, hogy B egy banki alkalmazás, aki most bekéri A felhasználó nevét és jelszavát. A elküldi ezt az érvényes és biztonságosnak vélt K AB munkamenet kulccsal titkosítva. E azonban elfogja az üzenetet, és a nála is meglévő K AB kulcs segítségével dekódolja azt, hozzájutva ezzel A bizalmas adataihoz. Mindeközben A és B végig azt hiszik, hogy közvetlenül egymással kommunikálnak! A fenti leírt támadási módot nevezik közbeékelődéses támadásnak. A hitelesség garantálásának fő feladata ezen sérülékenység megszüntetése. Ehhez kétféle módszert szoktak alkalmazni: a digitális aláírást és a kihívás-válasz módszert. A digitális aláírás a nyilvános kulcsú titkosítás ötletét alkalmazza visszafelé. Tegyük fel, hogy B szeretne meggyőződni arról, hogy az A-tól kapott üzenet valóban A-tól származik-e. Ehhez a következőket kell tenniük: 1. A és B megegyeznek a használt titkosító rendszerről. 2. A elküldi a nyilvános kulcsát (K1) B-nek. 3. A ezután a saját titkos kulcsával (K2) kódolja a küldendő üzenetet. 4. B megpróbálja dekódolni az üzenetet a K1 kulccsal, ha ez sikerül neki, biztos lehet benne, hogy az adott üzenet A-tól származik. A kihívás-válasz módszer alkalmazása esetén B küld egy véletlenszámot A-nak, ez a kihívás. A kapott számot A titkosítja a saját titkos kulcsával, majd válaszként visszaküldi B-nek. B megpróbálja A nyilvános kulcsával dekódolni a kapott választ, ha ez sikerül B hitelesítette A- t, azaz biztos lehet benne, hogy A-val kommunikál. Természetesen a másik irányú hitelesítést is el kell végezni Letagadhatatlanság Az előzőekben sikerült megoldanunk a bizalmasság, a sértetlenség és a hitelesség problémáját, azaz A és B képesek biztonságosan kommunikálni egymással, hiszen biztosak lehetnek abban, hogy az üzeneteiket nem lehet módosítani 10 vagy hamisítani, és csak ők maguk tudják elolvasni annak tartalmát. Ezzel úgy tűnik meg is oldottuk az összes problémát. Azonban mindeddig feltettük, hogy A és B a jófiúk, vagyis ők nem próbálnak olyat tenni, ami nem megengedhető. Tipikusan nem elfogadott bármely kommunikációs helyzetben, ha valamelyik fél letagadja (le tudja tagadni) valamely korábbi üzenetét. Persze mondhatjuk azt, 10 Legalábbis képesek észrevenni, ha valaki módosítja az üzenetet. 22

23 Információbiztonság hogy ez nem fordulhat elő, hiszen ha B rendelkezik egy üzenettel, amit A nyilvános kulcsával dekódolni tudott, akkor az üzenet egészen biztosan A-tól származik, hiszen A titkos kulcsával kódolták. Ez mindaddig igaz, amíg A azt nem állítja, hogy ellopták a titkos kulcsát. Az ilyen jellegű problémák valamelyest orvosolhatók időbélyegzők használatával, de hatékony megoldást csak egy úgynevezett megbízható harmadik fél bevonásával érhetünk el. Ennek tárgyalása azonban túlmutat jelen fejezet keretein, részletes leírást találunk az irodalomjegyzékben szereplő [4] és [6] könyvekben Folyamtitkosítók Eddig nem foglalkoztunk magukkal a titkosítást végző algoritmusokkal, csak a titkosítás alapját képező kulcsokkal és azok használatával. A kriptográfiai algoritmusokat két nagy osztályba lehet sorolni: a folyamtitkosítók és a blokktitkosítók osztályába. A folyamtitkosítók jellegzetessége, hogy egyszerre a nyílt szöveg egyetlen bitjén dolgoznak. Ezen algoritmusok két fő komponensből állnak: egy kulcs-folyam generátorból és egy keverő függvényből. A keverő függvény a legtöbb esetben egy egyszerű XOR, a kulcs-folyam generátor az, ami eltér az egyes algoritmusokban. Egy optimális kulcs-folyam generátor 2 N periódusú (N bites kulcs esetén), ami azt jelenti, hogy 2 N lépés után fordul csak elő, hogy ugyanazt a kulcsot generálja újra. Ezen titkosító rendszerek biztonsága értelemszerűen a kulcs-folyam generátorból ered. Hiszen, ha a generátor csupa 0 bitet állít elő, a nyílt szöveg és a titkos szöveg meg fog egyezni, viszont ha végtelen hosszúságú véletlen bitsorozatot állít elő, a tökéletes titkosító rendszert alkotja meg. Természetesen ez utóbbi nem lehetséges, hiszen számítógépekkel, csak úgynevezett pszeudó véletlenszámokat tudunk előállítani. Illetve van egy elvi korlát is, hiszen ahhoz, hogy a folyamtitkosítók működőképesek legyenek mind a küldő, mint a fogadó oldalon ugyanazt a véletlenszám sorozatot kell előállítani, hiszen a XOR művelet csak így fogja a fogadó oldalon visszaadni az eredeti üzenetet. Látjuk tehát, hogy két, egymásnak ellentmondó célunk van 11. Mindenesetre az továbbra is érdekes kérdés, hogyan tudjuk ugyanazt a véletlenszám sorozatot előállítani a fogadó oldalon is. Ehhez egy szimmetrikus kulcsot használnak az algoritmusok, természetesen ezt a kulcsot, az előbbiekben megismert módszerek valamelyikével el kell juttatni a küldőtől a fogadóhoz. A véletlenszámgenerátorok pedig mindkét oldalon ezt a kulcsot használják arra, hogy szinkronba kerüljenek egymással, így megvalósítható a reprodukálható pszeudó véletlenszám sorozat. A folyamtitkosítók egyik előnye a sebesség, így gyakran alkalmazzák őket valós idejű alkalmazásoknál, mint például a hangátvitel. A másik, sokak által kedvelt tulajdonságuk az elemezhetőség, hiszen ezeknél az algoritmusoknál minden lépés figyelemmel kísérhető és a maga módján determinisztikus. 11 "Bárki, aki aritmetikai módszerekkel akar előállítani egy véletlenszámot, a bűn állapotában leledzik." (Neumann János) 23

24 Információbiztonság Blokktitkosítók A folyamtitkosítókkal ellentétben a blokktitkosítók mindig egy adott méretű (általában 64 bites) adatblokkon dolgoznak. Egy n bites blokktitkosító minden esetben egy n bites nyílt szövegdarabból egy n bites titkos szövegdarabot készít. Matematikai formalizmussal megfogalmazva mondhatjuk, hogy egy E n bites blokktitkosító nem más, mint E: V n x K V n, ahol K a lehetséges kulcsok halmaza, V n pedig az n bites vektorok halmaza. A blokktitkosítók két alapvető műveletre támaszkodnak: a cserére és a permutációra. Általában a blokktitkosítók egy n bites blokk esetén az összes lehetséges cseréből adódó kimeneti blokkot ez 2 n darabot jelent nyilvántartják. Ez a legegyszerűbben egy csere táblázattal oldható meg, azonban 64 bites blokkok esetén ez igen nagy lenne, ezért általában ezeket a blokkokat felbontják kisebb, 8 bites egységekre és ezekkel végzik el a cserét. Ezzel egy időben a permutáció segítségével minden blokk minden bitjének helyét meghatározzak a kimeneti blokkban. Ezen két művelet célja maximalizálni az algoritmus úgynevezett, szétosztási és összezavarási tulajdonságát. A szétosztás azon jellemzője egy titkosítási módszernek, mely azt mutatja meg, hogy a kimenet milyen mértékben változik, ha a bemenet egyetlen bitjét lecseréljük. Vegyük észre, hogy a folyamtitkosítók nem rendelkeznek a szétosztás képességével. Az összezavarási tulajdonság pedig azt segíti, hogy elrejtse a kapcsolatot a nyílt szöveg és a titkos szöveg között. A blokktitkosítók működését az alábbi algoritmussal szemléltethetjük: 1. A bemenet feldarabolása n bites blokkokra. 2. Minden blokk esetében végezzük el a véletlenszerű cseréket! 3. Amikor az összes blokkal végeztünk, a teljes bitsorozatot helyezzük egy keverőbe (permuter)! 4. A fenti folyamatot ismételjük meg k-szor! Értelemszerűen minél nagyobb k értéke, annál jobban tudjuk növelni a diffúziós tulajdonságot. Megjegyezzük, hogy éppen emiatt a több lépéses működés miatt szokták a blokk titkosítókat iterált blokktitkosítóknak is nevezni. 24

25 Vezeték nélküli hálózatok és a biztonság 3 Vezeték nélküli hálózatok és a biztonság 3.1 Vezeték nélküli hálózatok Az első vezeték nélküli hálózat már 1901-ben létrejött egy olasz feltaláló, Guglielmo Marconi jóvoltából. Marconi ekkor alkotta meg ugyanis az első rádiótelegráfot, melynek első híres S szignálját 1 mintegy 2000 mérföld távolságból sikerült észlelni. Ez a több mint 100 éve küldött üzenet megmutatta, hogy a vezeték nélküli kommunikációban óriási potenciál rejlik, segítségével hatalmas távolságok is átszelhetők. Néhány évvel később, 1914-ben került sor az első rádióhullámokkal történő hangátvitelre, 1940-re pedig általánossá vált a rádiózásban a frekvencia moduláció (FM) alkalmazása. A következő nagy lépést kétségkívül a mobiltelefonok megjelenése jelentette. Az első tanulmány egy vezeték nélküli telekommunikációs rendszer kiépítéséről még 1946-ban jelent meg az Egyesült Államokban. A sors iróniája, hogy különböző akadályok végett az Egyesült Államok szinte az utolsók között, csak 1991-ben vezette be első országos mobiltelefon hálózatát, míg Japán már ben megtette. Az is igaz azonban, hogy a mobiltelefonok forradalma az 1990-es évekre tehető az egész világon, csak az USA-ban mintegy 6 év alatt az előfizetők száma elérte az 50 milliót, mára világszerte 3.3 milliárd az értékesítette mobil előfizetések száma. Kijelenthetjük, a vezeték nélküli technológia a mindennapjaink részévé vált, az élet szinte minden területén jelen van a mobiltelefonoktól kezdve a számítástechnikán át még az olyan egyszerű, hétköznapi dolgok esetében is, mint az otthoni tévénk távirányítója. És ez a tendencia folytatódni látszik, már hallani vezeték nélküli áramról, sőt teljesen vezetékmentes otthonokról is. 3.2 Új technológia, új kockázatok Természetesen a rengeteg előnyén túl, a vezeték nélküli kommunikáció számos kockázattal bír. Ezekről részletesen lesz szó a későbbi fejezetekben, most csak két nagyon egyszerű dolgot gondoljunk meg. Vezeték nélküli technológiát alkalmazva az információ közvetítő közege a levegő, amely két olyan tulajdonsággal bír, amelyek potenciális kockázati tényezőt jelentenek. Ezek az osztottság és az ellenőrizetlenség. Ha ehhez még hozzávesszük a sokmillió felhasználót, akik mind ezen a közös átviteli csatornán osztoznak, könnyen beláthatjuk, hogy a vezeték nélküli világ bizony telis tele van veszélyforrásokkal. A másik tényező, amit szintén a vezeték nélküliség egyik legnagyobb előnyének érzünk, a mobilitás. Az eszközök nincsenek többé az asztalhoz láncolva, bárhol, bármikor használhatjuk őket. Ez csodálatos dolog egyfelől, másfelől viszont elvész az a biztonság, melyet például egy 1 A teljes üzenet az alábbi mondat volt: See if you can hear anything, Mr. Kemp!, melyet a délnyugat-angliai Cronwall-ból küldtek St Jonh s (Newfoundland) városába. 25

26 Vezeték nélküli hálózatok és a biztonság épület fizikai infrastruktúrája ad. Gondoljunk csak bele, mennyivel nehezebb lehet ellopni valakinek a laptopját az íróasztaláról, mint egy étteremben a széke mellől. 3.3 Általános fenyegetések Ebben a szakaszban azokkal a fenyegetésekkel foglalkozunk, melyek kimondottan a vezeték nélküli hálózatokra jellemzőek. Természetesen ez nem azt jelenti, hogy a hagyományos, kábeles hálózatok teljesen mentesek lennének ezen fenyegetések alól. Az első két vizsgált támadási módszer, úgynevezett passzív támadás, hiszen a támadó nem avatkozik bele a kommunikációba, ellenkező esetben aktív támadási módszerről beszélünk. Az egyes fenyegetések leírása után zárójelben láthatjuk, hogy az információ biztonság 3 alapkövetelménye bizalmasság, sértetlenség, rendelkezésre állás melyet vagy melyeket sért meg Lehallgatás Az egyik legnyilvánvalóbb veszélyforrás, ha vezeték nélküli átvitelt alkalmazunk az, hogy lehallgatják az üzenetünket. Lényegében ezt tesszük, akárhányszor bekapcsoljuk a rádiót. A probléma természetesen az, ha egy harmadik fél olyan üzenethez fér hozzá, amihez nem lenne jogosultsága. Értelemszerűen ezt sokkal könnyebb megtenni, mintha a kommunikáció valamilyen vezetéken (például koaxiális vagy UTP kábelen) keresztül történne. Arról nem is beszélve, hogy a lehallgatáshoz még csak közel sem kell férkőzni az adóhoz vagy a vevőhöz. Természetesen, ha megfelelő módon titkosítjuk az üzenetet küldés előtt, a lehallgatás értelmetlenné tehető, hiszen a harmadik fél nem lesz képes az eredeti üzenetet elolvasni. (Bizalmasság) Forgalomvizsgálat Tekinthetjük a lehallgatás egy formájának. Az illetéktelen harmadik fél a megfigyelt hálózati kommunikációból próbál értékes információkhoz jutni annak elemzésével. Ilyenkor a fő cél általában valamilyen ismétlődő mintát találni, mely esetleg a titkosítás feltöréséhez használható. (Bizalmasság) Adatmódosítás A lehallgathatóság egyik következménye, hogy egy harmadik fél akár módosíthatja is az elfogott adatokat, és úgy küldi azt tovább a címzettnek. Természetesen a címzett nem tud a harmadik fél létezéséről, így ő azt hiszi, hogy az üzenetet közvetlenül a feladótól kapta. Az ilyen típusú támadásokat nevezzük közbeékelődéses támadásnak, angolul man-in-themiddle attack-nak. (Sértetlenség) Álcázás Megszemélyesítésnek vagy álcázásnak azt nevezzük, amikor egy nem hitelesített harmadik fél úgy kapcsolódik egy hálózathoz, hogy közben hitelesített személynek adja ki magát. (Bizalmasság, sértetlenség) 26

27 Vezeték nélküli hálózatok és a biztonság Munkamenetlopás Munkamenetlopásról akkor beszélünk, amikor két eszköz már felépített egy úgynevezett munkamenetet az egymás között kommunikáció (biztonságos) megvalósítására, majd egy harmadik fél ezt a munkamenetet ellopva kikerüli a hitelesítési eljárást. Ugyanis általában a hitelesítést csak a munkamenet felépítésekor, azaz a kommunikáció kezdeti szakaszában végzik el a kommunikációs partnerek, utána már megbíznak a másikban és a másik személyében. (Bizalmasság, sértetlenség) Szolgáltatás magtagadás Az úgynevezett DoS (Denial of Service) típusú támadások igen nagy népszerűségnek örvendenek napjainkban, mivel nem követelnek meg különösebben mély technikai ismereteket. Vezeték nélküli hálózatok esetén talán még egyszerűbb a dolgunk, hiszen nem kell mást tennünk, mint az adott kommunikációs csatornára minél több zavaró jelet juttatnunk. (Rendelkezésre állás) War-driving A war-driving (magyarul talán cirkálásnak lehetne fordítani) olyan tevékenység, melynek során nyílt (vagyis bárki által használható) vezeték nélküli hálózatok után kutatunk. Ezt nagyon könnyen megtehetjük akár egy autóban ülve egy laptoppal vagy mobiltelefonnal, miközben a városban cirkálunk. Egy ilyen körút során meglepően sok védtelen hálózatot találhatunk, néha igen meglepő intézmények közelében, akár Budapesten is. Maga a war-driving elnevezés az informatikai biztonsági kultúra (vagy inkább a hacker kultúra) egyik örökbecsű klasszikusához, az 1983-ban Háborús játékok (War Games) címmel bemutatott filmhez kötődik. Ebben a főhős találomra tárcsáz számítógépével telefonszámokat, remélve hogy előbb utóbb egy számítógéphez kapcsolt modembe botlik a próbálkozások során. Ezt a nevezték war-dialing-nak. Manapság azonban terjedőben van egy másik, war-driving-hoz kapcsolódó mozgalom, az úgynevezett war-chalking, ami nem más, mint a war-driving módszerrel megtalált vezeték nélküli hálózatok megjelölése. A megjelölést itt szó szerint kell érteni, alaposan kidolgozott szimbólum-készlet áll a vállalkozók rendelkezésére. 27

28 Vezeték nélküli hálózatok és a biztonság 4. ábra Nyilvános MICA nevű hálózat, mely sebessége 1.5 Mbit/s. Természetesen a war-chalking hívei hamar rájöttek, hogy hatékonyabb módja is van a vezeték nélküli internethozzáférési pontok megjelölésének, így egyre több olyan weboldallal találkozhatunk, melyek például a Google Maps szolgáltatásait kihasználva gyakorlatilag teljes városokat lefedő térképek készítésével foglalkoznak. Talán a legismertebb ilyen magyar oldal a Személyi digitális asszisztens A személyi digitális asszisztens, vagyis a PDA a vezeték nélküli hálózati eszközök egyik prominens képviselője, így külön figyelmet érdemel. A PDA-k két okból is igen sérülékenyek lehetnek. Egyfelől ezek az eszközök általában valamilyen vezeték nélküli kommunikációs protokollt használva kapcsolódnak egy másik eszközhöz, másfelől a különböző mobil eszközök operációs rendszereit rendszerint nem frissítik a felhasználók, így az azokban lévő biztonsági rések hónapokkal, sőt évekkel a felfedezésük után is kihasználhatóak. A fentiekből kiderül, hogy minden olyan fenyegetés, amit a 3.3-as szekcióban elemeztünk, fennáll PDA-k esetében is. Nézzünk most meg néhány kimondottan ezekre az eszközökre jellemző veszélyforrást Adatlopás A legtöbb PDA rendelkezik valamilyen külső memóriabővítési lehetőséggel, ez tipikusan valamilyen memóriakártya befogadását teszi lehetővé. Mivel ezen eszközök egyik fő erénye a mobilitás, így egy harmadik fél könnyen hozzáférhet az eszközhöz, és pillanatok alatt a 28

29 Vezeték nélküli hálózatok és a biztonság készüléken található minden adatot lemásolhat egy memóriakártyára a tulajdonos tudta nélkül. (Bizalmasság) Készülék eltulajdonítása Nyílván, ha hozzáférnek az eszközökhöz, akár el is lophatják azt, így megszerezve az azon tárolt adatokat. Ennek nagy hátránya, hogy míg az egyszerű adatlopást az esetek nagy százalékában nem veszi észre a tulajdonos, az eszköz ellopását természetesen igen, így előfordulhat, hogy a megszerzett információk (bankkártya adatok, jelszavak) csak igen rövid ideig használhatók fel. (Bizalmasság, Sértetlenség, Rendelkezésre állás) Mobil kódok Nem mondhatnánk, hogy kimondottan PDA-specifikus probléma lenne, de itt is van létjogosultsága. Mobil kódnak olyan programkódot nevezünk, amelyet a kliens gép egy szerverről tölt le, majd lokálisan hajt végre. Értelemszerűen ezzel a módszerrel rosszindulatú kódokat (vírusok, férgek stb.) is lehet a kézi számítógépekre küldeni. (Bizalmasság, sértetlenség) 3.5 Mobiltelefon A vezeték nélküli világ másik jelentős résztvevője a mobiltelefon. Mára elmosódni látszik a határ PDA és mobiltelefon között, így minden, amit az előző szakaszban tárgyaltunk érvényes ezekre az eszközökre is. Nézzünk meg néhány további mobiltelefonokkal kapcsolatos fenyegetést SMS hamisítás Világszerte a legnépszerűbb mobil-szolgáltatás az SMS, azaz a rövid szöveges üzenetek küldésének lehetősége. Nem véletlen, hogy a támadók egyik első célpontja volt. Az SMS hamisítás kicsit félrevezető elnevezés, ugyanis nem magát az üzenetet hamisítják, hanem az üzenet feladóját. Ez első hallásra talán nem tűnik túl veszélyesnek, de remekül alkalmazható úgynevezett megtévesztésen alapuló támadás (social engineering) kivitelezésekor, melynek részleteivel ez a dolgozat nem foglalkozik SMS vírusok Ahogy a mobiltelefonjaink egyre okosabbak lesznek, sajnos egyre nagyobb veszélynek is vannak kitéve. Az utóbbi években kezdek szaporodni azok a vírusok, melyek SMS-ben vagy MMS-ben (multimédiás üzenetben) terjednek telefonról telefonra. Ezek a vírusok nagyjából ugyanarra képesek mint (az előző generációs) számítógépes társaik: futtatható állományokat fertőznek meg, meglévő alkalmazásokat cserélnek le vagy tesznek működésképtelenné, esetleg egyes fajtáik személyes adatokat lopnak. Ezekkel a vírusokkal kapcsolatos legnagyobb problémát Alex Gostev, a Karspersky Lab egyik kutatója fogalmazta meg: "A mobil kártevők azért is tudnak gyorsan terjedni, mert egy átlagos ember nem rendelkezik informatikai tudással, hiszen csak telefonálni szeretne." 29

30 A Bluetooth protokoll 4 A Bluetooth protokoll 4.1 A Bluetooth története Egy újfajta vezeték nélküli hálózat alapötlete 1994-ben fogalmazódott meg, amikor az Ericsson mérnökei egy olcsó és alacsony fogyasztású rádiós interfész tervezésébe kezdtek. A projekt fő célja a mobiltelefonok és azok kiegészítői közötti drótnélküli kommunikáció új alapokon történő megvalósítása volt ban az Ericsson, a Nokia, az IBM, a Toshiba és az Intel részvételével megalakult a Bluetooth Special Interested Group 1 (Bluetooth SIG), amely végül kidolgozta az első, gyakorlati életben is használható, konfigurálást nem igénylő vezeték nélküli hálózati technológiát, mely egy évvel később, 1999 tavaszán jelent meg Bluetooth néven. Ma ezt nevezzük Bluetooth 1.0 szabványnak. Az új technológia a nevét Harald Blatand ( Kékfogú ) középkori viking királyról kapta, aki egyesítette Dániát és Norvégiát. Azonban olvasható egy hivatalosabb változat is, ami a név eredetét illeti. Eszerint az elnevezés Frans Gunnar Bengtsson The Long Ship című könyvéből származik. Az első szabványt elég gyorsan még 1999 decemberében követte az 1.0B kiadása. Így a kereskedelmi forgalomban megjelent termékek az első Bluetooth kommunikációra alkalmas készülékek 2000-ben jelentek meg már ezt a 1.0B verziójú szabványt használták. Azonban, mint utólag kiderült, ebben a specifikációban még elég sok hiba volt, így a ben kiadott 1.1-es szabvány egyik legfontosabb előrelépése ezen hibák kijavítása volt. Lényegében a Bluetooth mai népszerűsége és széles körű használata nagyban köszönhető ennek a verziónak, ugyanis ez tekinthető az első üzletileg sikeres Bluetooth szabványnak. Újabb két év elteltével, 2003-ban megjelent az 1.2-es verziójú szabvány. Itt a fő cél a visszafele kompatibilitás megőrzése volt. A legfontosabb újítások között említhető az átviteli (és felderítési) sebesség növelése, az esco és HCI technológiák bevezetése, melyekről lesz szó a későbbiek folyamán. A következő, 2.0-ás verzió specifikációja 2004 végén jelent meg, a gyakorlatban 2005-ben kezdték használni. Ezt a szabványt emlegetik EDR néven is, utalva az úgynevezett Enhanced Data Rate bevezetésére, mely lehetővé tette az elméleti 3.0Mbit/s átviteli sebességet. Jelenleg ez a verzió a legelterjedtebb, így ez a dolgozat is ezt veszi alapul. A szabvány legújabb verziójának specifikációját augusztus 1-jén publikálta a SIG, Bluetooth EDR néven, melyben számos többek között biztonsági újítást is bemutattak, azonban még viszonylag kevés eszköz támogatja. 1 Az elmúlt években a SIG-hez csatlakozott a telekommunikáció szinte minden jelentős szereplője, valamint olyan nagyvállalat is, mint például a Microsoft. 30

31 A Bluetooth protokoll Az alábbi táblázatban összefoglaljuk az egyes verziók által nyújtott legfontosabb szolgáltatásokat, illetve a bevezetett újdonságokat: 4.2 Személyi hálózatok A hálózatokat már a kezdetek óta osztályozzuk kiterjedés alapján: Helyi hálózat Local Area Network (LAN) Városi hálózat Metropolitan Area Network (MAN) Nagy kiterjedésű hálózatok Wide Area Network (WAN) Azonban napjainkban már léteznek a LAN-oknál kisebb hálózatok is, melyeket szó szerint a körülöttünk lévő eszközök alkotnak. Az ilyen hálózatokat nevezzük személyi hálózatoknak (Personal Area Network PAN). Ezen hálózatok kiterjedése mindösszesen néhány méter szemben a helyi hálózatok adott esetben néhány kilométeres kiterjedésével. A vezeték nélküli személyi hálózatokat szokás az angol rövidítés alapján WPAN 2 -nak nevezni Piconet Az egyik legnépszerűbb vezeték nélküli személyi hálózat, a Bluetooth eszközökből álló úgynevezett piconet. Minden piconetben pontosan 1 master (mester, szerver) és legfeljebb 7 slave (szolga, kliens) eszköz lehet. Vagyis a piconetek lényegében legfeljebb 8 eszközből álló csillag topológiával rendelkező full duplex hálózatok. Ebből következik, hogy csak mester-szolga, szolga-mester kommunikáció lehetséges, amennyiben két szolga készülék akar kommunikálni egymással, azt csak a mester eszközön keresztül tudják megvalósítani. Az a tény, hogy egy piconetnek legfeljebb 8 eszköz lehet része, első hallásra igen komoly korlátot szab a Bluetooth eszközökből álló hálózatok méretének. A szabvány azonban megengedi, hogy egy eszköz több piconetnek is a része legyen, továbbá bármely készülék képes mind mester mind szolga módban kommunikálni, így teljesen általános, hogy egy eszköz az egyik piconetben szolga, a másikban pedig mester. Az egyetlen megszorítás az, hogy egy eszköz legfeljebb csak egy piconetben lehet mester 3. 2 Wireless Personal Area Network 3 Az egymással összekapcsolt piconetek hálózatát nevezzük scatternetnek. 31

32 A Bluetooth protokoll 5. ábra Scatternet, azaz összekapcsolt piconetek egy csoportja Ad hoc hálózatok Sok esetben előfordulhat, hogy két vagy több eszköz között csak alkalomszerű kapcsolatra van szükség, amelyben lényegében nem akarunk különbséget tenni a kommunikációban részt vevő felek között, azaz ebben az esetben nincs szükség egy master eszközre a kommunikációhoz. Az ad hoc hálózatok úgynevezett önkonfiguráló hálózatok, amely tulajdonság lehetővé teszi, hogy a hálózat bármely résztvevője adatot küldjön egy másik félnek. A Bluetooth eszközök népszerűségének egyik oka az, hogy képesek ad hoc kapcsolatot kialakítani egymással. Ez teszi lehetővé például, hogy a buszon utazva digitális névjegykártyát tudjunk cserélni egy rég nem látott ismerőssel a telefonjaink segítségével. 4.3 Hatótávolság Az előzőekben megismerkedhettünk a személyi és ad hoc hálózatok architektúrájával és ezzel együtt a Bluetooth hálózatok felépítésével. Ugyan említettük, hogy általában a személyi hálózatok kiterjedése néhány 10 méter, vizsgáljuk meg ezt részletesebben Bluetooth hálózatok esetében. A szabvány három különböző energiagazdálkodási osztályba sorolja az eszközöket. Az 1. osztályba (Class 1) sorolt eszközök rendelkeznek a legerősebb (legtöbb energiát igénylő) Bluetooth adóvevővel ez körülbelül 100 milliwattot jelent, így ezen eszközök hatótávolsága elérheti a 100 métert. A 2. osztályú (Class 2) eszközök ehhez képest 32

33 A Bluetooth protokoll jóval gyengébb modullal rendelkeznek körülbelül 2.5 mw, hatótávolságuk pedig nagyjából 10 méter. Ezekkel a típusú eszközökkel találkozunk a leggyakrabban a különböző mobiltelefonok, illetve PDA-k esetében. A harmadik osztályba (Class 3) sorolt eszközök mindösszesen 1mW-os adóval rendelkeznek, ezek hatósugara a körülményektől függően 1 és 10 méter között váltakozik. Az alábbi táblázat összefoglalja az egyes osztályokba tartozó eszközök jellemzőit: Típus Adó erőssége Energia felvétel Hatótávolság 1. osztály Erős 100 mw (20 dbm) 100 m 2. osztály Közepes 2.5 mw (4 dbm) 10 m 3. osztály Gyenge 1 mw (0 dbm) m 4.4 Bluetooth protokoll verem Bluetooth veremnek azt a szoftvert (szoftver rétegeket) nevezzük, melynek közvetlen hozzáférése van az adott hardverhez (Bluetooth modulhoz). Magát a vermet rétegekre oszthatjuk, ahol minden rétegnek megvan a jól meghatározott feladata. Hasonló felépítést kell elképzelnünk, mint amit a TCP/IP hálózatoknál, hétrétegű OSI modell esetében láthatunk Fizikai réteg Ez a legalsó réteg, mely a rádiójelek átviteléért felelős. A Bluetooth adók a világszerte ingyenesen használható, úgynevezett ISM (industrial, scientific, medical ipari, tudományos, orvosi) sávban sugároznak a 2.4Ghz-es tartományban. Az ISM sáv használata azonban felvet egy igen komoly problémát. Ezt a sávot nem csak a Bluetooth eszközök használják, hanem például az IEEE b szabványra épülő eszközök, amit a köznyelvben csak Wi-Fi -ként emlegetünk. Tehát az összes Wi-Fi eszköz is ezt a frekvenciát használja hasonlóan sok egyéb kommunikációs szabványhoz. Sőt, meglepő lehet ugyan, de a közönséges mikrohullámú sütők is sugároznak rádióhullámokat, balszerencsénkre szintén ebben a tartományban 4. Láthatjuk tehát, hogy igen sokféle zajforrásra kell felkészülnünk, ha az ISM tartományában akarunk adatot átvinni két eszköz között. Természetesen ezt a problémát valahogy meg kellett oldani a Bluetooth eszközök esetében is. A megoldást az úgynevezett frekvencia ugrálás (frequency hopping) technikája szolgáltatta. A szabvány szerint 79 csatornát használnak az eszközök, mindegyik sávszélessége 1Mhz. A kommunikáció ideje alatt a rendszer másodpercenként 1600-szor vált csatornát egy pszeudovéletlen minta alapján; az egyetlen kikötés, hogy a teljes spektrumot be kell járnia a váltások alkalmával. 4 Természetesen ezek a jelek igen gyengék, egy átlagos Bluetooth eszköz jeléhez viszonyítva körülbelül 1/1000 erősségű jelekre kell gondolni. 33

34 A Bluetooth protokoll Itt felvetődik egy másik kérdés is: hogyan dönthető el, hogy az adat sérült-e? A szabvány előírja a CRC (cyclic redundancy check) használatát a hibák felderítésére. Ezen túlmenően lehetőség van egyéb, opcionális hibajavító kódok használatára is Alapsáv rétege (Baseband layer) Ez a réteg felelős a fizikai kommunikációs csatornák kezeléséért. Ezen a szinten, kétféle kapcsolatot különböztetünk meg: szinkron kapcsolat-orientált aszinkron kapcsolat nélküli. A szinkron kapcsolat-orientált (Synchronous Connection-Oriented SCO) egy pont-pont kapcsolat egy mester és egy szolga eszköz között. SCO segítségével úgynevezett nem megbízható csatorna építhető ki két eszköz között, ugyanis az SCO csomagok esetében az adó nem vizsgálja, hogy az adott csomag megérkezett-e, azok sosem kerülnek újraküldésre. Tipikusan hangátvitelre szokták használni, mivel a megbízhatóságot ugyan nem garantálja, de szolgáltatás minőségi garanciát vállal, nevezetesen az SCO kapcsolat sebessége mindig eléri a másodpercenkénti 64 kb-ot. Ennek érdekében megszorításokra volt szükség, nevezetesen egy eszköz legfeljebb 3 SCO kapcsolatot tarthat fent egyszerre, valamint két eszköz között maximum 1 élő SCO kapcsolat lehet. Az aszinkron kapcsolat nélküli (Asynchronous Connection-Less ACL) az SCO-val ellentétben pont-multipont kapcsolat a mester és az adott piconetbe tartozó összes szolga eszköz között. ACL kapcsolat esetén már megbízható csatorna építhető ki a felek között, valamint lehetőség van az elveszett vagy sérült csomagok újraküldésére is. Az alapsávi rétegét szokás két alrétegre osztani, az alsó réteg feladataival foglalkoztunk eddig, e felett helyezkedik el az úgynevezett felső alapsáv réteg, melyet gyakran azonosítanak a benne megtalálható legfontosabb protokollal, így a nevét is innen kapta: kapcsolat-kezelő (Link Manager LM) A kapcsolat-kezelő feladata a két eszköz közötti kapcsolat kiépítése, konfigurálása valamint a szükséges hitelesítés elvégzése. Ehhez az úgynevezett kapcsolat-kezelési protokollt (Link Manager Protocol LMP) használja. Az LM protokoll lényegében igen egyszerű, általában előre definiált adatcsomagokat (Protocol Data Unit PDU) használ a másik eszköz LM rétegével való kommunikációra Hoszt vezérlő interfész (Host Controller Interface HCI) A HCI szerepe, hogy egy szabványos interfészt képezve, elválassza egymásról a rádió hardver közeli funkciókat, a magasabb rétegekben lévő protokolloktól. Ez egyfajta multiplexelést is lehetővé tesz, hiszen egy Bluetooth rádió modult akár több hoszt vagy alkalmazás is használhat egyszerre, ugyanis ezek a bizonyos magasabb szintű protokollok általában nem a Bluetooh modulban kerülnek implementálásra, hanem a köré épülő hosztban. Felhívjuk a figyelmet a szóhasználatra: egy Bluetooth képes eszközt két részre lehet bontani, egyrészt 34

35 A Bluetooth protokoll beszélhetünk magáról a Bluetooth modulról, ami lényegében a rádió chip, illetve a Bluetooth hosztról, ez lehet fizikai eszköz, de akár egy alkalmazás is. A HCI feladata tehát egységes parancs interfész biztosítása az alsóbb rétegek felé. Ehhez 3 összetevőre van szükség: HCI firmware: ez a szoftver a Bluetooth modulban található, feladata az alapsáv, illetve a fizikai réteg szolgáltatásainak eléréséhez szükséges HCI parancsok implementálása. HCI meghajtó: ez már a hosztban található, feladata a HCI események fogadása és feldolgozása. Az alsóbb rétegekben történt állapotváltozásokról a HCI réteg események formájában tájékoztatja a hosztot. HCI szállítási réteg: ennek feladata a fenti két komponens közötti kommunikáció megvalósítása. A kommunikáció valamilyen fizikai buszon keresztül történik, ez lehet USB, RS232 soros port, illetve egy általános UART (Universal Asynchronous Reciever/Transmitter) felületen keresztül. 35

36 A Bluetooth protokoll 6. ábra A HCI interfész elhelyezkedése és szerepe a Bluetooth protokoll veremben Logikai kapcsolat vezérlő és alkalmazó protokoll (Logical Link Control and Adaptation Protocol L2CAP) Az L2CAP, ahogy a neve is mutatja, egy protokoll, azonban ugyanezzel a névvel szokás hivatkozni a protokoll verem egyik magasabb rétegére is. Az L2CAP feladata, hogy kapcsolatorientált vagy kapcsolat nélküli adatszolgáltatást biztosítson a felette lévő rétegeknek, protokolloknak, mindezt multiplexelési és szegmentálási képességekkel. Multiplexelésre azért van szükség ezen a szinten, mivel az alapsáv rétege nem ad semmilyen támogatást arra, hogy egy csomag típusát megjelölhessük, így az L2CAP feladata, hogy felismerje a magasabb rétegektől érkező különböző csomagokat. A szegmentálásnak hasonló okai vannak, mint bármely más hálózat esetében, azonban van lehetőség az L2CAP-et 36

37 A Bluetooth protokoll megkerülve, nem szegmentált csomagot küldeni, ha annak mérete nem haladja meg az alsóbb rétegekben támogatott maximális csomagméretet. A fentieken túl, az L2CAP nyújt még szolgáltatásminőség ellenőrzési lehetőséget is. Az erőforrások szűkössége miatt folyamatosan monitorozza a kommunikációban résztvevő eszközök erőforrás használatát és biztosítja, hogy egyik fél se szegje meg az erre vonatkozó megállapodást. 7. ábra A kommunikáció történhet az L2CAP rétegen keresztül, illetve azt megkerülve is. 4.5 Profilok A Bluetooth profilokat azért hozták létre, hogy különböző Bluetooth eszközök minden gond nélkül tudjanak kommunikálni egymással. Nézzünk egy példát: van egy Bluetooth képes PDA és egy mobiltelefon. Az előbbiekből tudjuk, hogy mindkettő rendelkezik egy-egy protokoll veremmel, de vajon honnan tudnák egymásról, hogy például lehetséges-e a szinkronizálni a 37

38 A Bluetooth protokoll névjegyzéket a két eszköz között? Értelmes-e egyáltalán elküldeni a PDA-nak egy telefonszámot? A Bluetooth profil nem más, mint funkciók egy meghatározott csoportja. A fenti példánál maradva, ha mind a PDA, mind a telefon rendelkezik a Szinkronizációs profil -lal, akkor pontosan tudják egymásról, hogy a névjegyzék frissítése egy értelmes és végrehajtható feladat a két eszköz között. Tehát ha azt akarjuk, hogy a Bluetooth eszközünk kommunikálni tudjon, általában nem elég, ha a protokoll verem megfelelő rétegeit implementáljuk, mindezt úgy kell tennünk, hogy alkalmazkodunk bizonyos profilokhoz. Nagyon sok ilyen profil létezik, vannak olyanok is, melyek még nem implementáltak egyetlen eszközön sem. Fontos még megemlíteni, hogy a profilok hierarchikus struktúrát alkotnak, mégpedig a függőségi rendszerük alapján, ugyanis természetesen lehetséges, hogy egy profil használja egy másik profil bizonyos képességeit. A fentiekből következik, hogy van egy általános profil, ami a hierarchia gyökerét adja, ezt nevezik általános elérési profilnak (General Access Profile GAP). Minden más profil tekinthető a GAP egy kiterjesztettjének, leszármazottjának. 4.6 Címzés és kapcsolatok felépítése Egy Bluetooth eszköz esetében, négyféle címről beszélhetünk: Eszköz cím: minden eszköz rendelkezik egy előre meghatározott, fix 48 bites címmel, ezt nevezik eszköz címnek (Bluetooth Device Address BD_ADDR). Ahhoz, hogy egy eszköz bármilyen kapcsolatot ki tudjon építeni egy másik féllel, ismernie kell ezt a 48 bites címet. Aktív tag cím: ez egy 3 bites cím, mely az adott piconetben egyedileg azonosítja az adott eszközt. Értelemszerűen az aktív tag cím (Active Member Address AM_ADDR) csak akkor érvényes, ha az eszköz kapcsolódik egy piconethez. Parkolt tag cím: ezt a 8 bites címet csak a piconet mester eszköze tartja nyílván, ennek segítségével azonosítja az úgynevezett parkolt szolga eszközöket. Hozzáférés igénylési cím: az előző párjának tekinthetjük, ezt pedig a parkolt szolga eszközök használhatják, hogy hozzáférés igénylést küldjenek a mester eszköz felé. Ezekből számunkra az eszköz cím a legfontosabb, hiszen ez az, amire minden nem szerviz jellegű kapcsolat épül. A kapcsolat kiépítése két fázisból áll. Az az eszköz, amely kapcsolatot kíván kezdeményezni, először összegyűjti a környezetében található többi eszköz címét. Ezt a folyamatot nevezik vizsgálódásnak (inquiry scan). Vagyis a kommunikáció első lépéseként a kezdeményező fél (kliens, szolga) inquiry üzeneteket küld meghatározott időközönként. Azok az eszközök, melyek felderíthetőek (discoverable) vagyis engedélyezték, hogy látszódjanak a Bluetooth hálózatban bizonyos időközönként 38

39 A Bluetooth protokoll megvizsgálják, hogy küldött-e valamelyik eszköz inquiry üzenetet. Amennyiben beérkezik egy vizsgálódó üzenet, az eszköz válaszként elküldi a saját címét. Azonban az inquiry üzenetek anonimak, vagyis a választ küldő eszköz nem tudja, kinek küldte el a saját címét, így természetesen azt sem, hogy a címzett megkapta-e és ha igen, akkor hibátlanul kapta-e meg a választ. A vizsgálódási fázist követően sor kerülhet a konkrét kapcsolat kiépítésére, ehhez a két félnek el kell végeznie a szükséges szinkronizálási tevékenységeket, valamint meg kell állapodniuk a kommunikációs csatorna használatában is. Ezt a folyamatot nevezik pagingnek. A vizsgálódás tehát az eszköz felderítését szolgálja, a paging eljárás (page scan) pedig ahhoz szükséges, hogy az adott eszközhöz kapcsolódni lehessen. Az alábbi táblázat foglalja össze, hogy az egyes eszközök láthatóságát illetve a hozzájuk történő kapcsolódást hogyan befolyásolja a fenti két keresésre való válaszolásuk illetve nem válaszolásuk. Vizsgálódás Page scan Jelentés Igen Igen Az eszköz felderíthető és elfogad bejövő kapcsolatokat. Sok készüléknél ez az alapértelmezés, ha bekapcsoljuk a Bluetooth modult. Nem Igen Az eszköz ugyan nem felderíthető, de válaszol a bejövő kapcsolati kérésekre. (Ez akkor lehetséges, ha a másik eszköz már rendelkezik ennek az eszköznek a címével.) Igen Nem Az eszköz felderíthető, de nem fogad semmilyen kapcsolódási kérelmet. Ennek a módnak van a legkisebb gyakorlati haszna. Nem Nem Az eszköz nem látható más eszközök számára és bejövő kapcsolatokat sem fogad. Ez a legbiztonságosabb megoldás, ha az eszköz csak kimenő kapcsolatot kíván létrehozni, azaz csak mesterként működik. Ha kiépült a kapcsolat, a mester eszköz egy POLL üzenetet küld a szolgának, ezzel ellenőrizve, hogy biztosan megtörtént-e az óraszinkronizálás illetve a frekvenciaváltásokhoz használt pszeudo véletlenszámok egyeznek-e Kapcsolati módok Ha a fenti eljárás végbe ment, az eszközök úgynevezett kapcsolati állapotba lépnek. Ebben az állapotban négy különböző módot különböztetünk meg: Aktív mód: ebben a módban az eszköz aktívan használja a kommunikációs csatornát. Készenléti módok: o Sniff mód: a szolga eszközöknek lehetőségük van arra, hogy energiatakarékossági okokból az aktív módnál ritkább időközönként vizsgálja meg, hogy érkezett-e üzenet a számára a mester eszköztől o Várakozó mód: a mester eszközök várakozó módba tehetik a hozzájuk kapcsolódott szolga eszközöket, melyek bizonyos idő eltelte után felébrednek. 39

40 A Bluetooth protokoll Természetesen egy szolga eszköz megtagadhatja a várakozó módba kapcsolást. o Parkoló mód: az előző módokban az a közös, hogy az eszköz ugyan nem vesz részt aktívan a kommunikációban, de szinkronban marad a piconet-tel. Parkoló módban azonban időlegesen kieshet a szinkronból az adott eszköz, szinte nem is tekinthető a hálózat részének, hiszen feladja az aktív címet (AM_ADDR) is. Azonban bizonyos időközönként belehallgat a hálózat forgalmába, hogy ellenőrizze, a mester eszköz küldött-e neki szóló üzenetet. Ha ilyet talál, újra szinkronizál a hálózat tagjaival és aktív módba lép. 4.7 Bluetooth programozói szemmel A dolgozatnak nem célja, hogy teljes körű betekintést nyújtson a Bluetooth protokoll programozásának lehetőségeiben, azonban az alapvető fogalmakkal és koncepciókkal tisztában kell lennünk. A továbbiakban feltesszük, hogy az Olvasó tisztában van a TCP/IP protokollcsalád alapfogalmaival, valamint annak alapszintű programozásával [18]. Mivel a Bluetooth sem más, mint egy kommunikációs protokoll, a lehetőségek és a módszerek igen hasonlítanak a más hálózati kommunikációs protokoll esetén megszokottakhoz. Mi viszonyítási alapként a TCP/IP alapú programozást fogjuk tekinteni. A kapcsolat felépítésének lépéseit alapvetően az határozza meg, hogy kimenő vagy bemenő kapcsolatot kívánunk létrehozni lényegében ezt az határozza meg, hogy mi küldjük az első adatcsomagot, vagy nekünk küldik. A hagyományos, TCP/IP hálózatoknál ez alapján beszélhetünk szerverről és kliensről, amit Bluetooth terminológiában inkább mesternek és szolgának neveznek, azonban ebben a fejezetben mi is inkább a hagyományos elnevezéseket használjuk. Ahhoz, hogy egy eszköz kimenő kapcsolatot tudjon létrehozni, két dolgot kell mindenképp végrehajtania: választania kell egy cél eszközt, valamint egy transzport protokollt és egy portot. A bemenő kapcsolat kiépítéséhez ezzel szemben mindössze egy transzport protokoll szükséges, valamint az, hogy a kliens eszköz (alkalmazás) várakozzon egy bejövő kapcsolatra. Két dologról kell tehát részletesebben beszélnünk, hogyan lehet kiválasztani a céleszközt, illetve milyen transzport protokollok és portok vannak. Mielőtt azonban ezt megtennénk, két ábrán szemléltetjük az általános hálózati programozás, a TCP/IP programozás és a Bluetooth programozás különbségeit és hasonlóságait. 40

41 A Bluetooth protokoll 8. ábra A TCP/IP és a Bluetooth programozás főbb lépései kimenő forgalom esetén. 41

42 A Bluetooth protokoll 9. ábra A TCP/IP és a Bluetooth programozás főbb lépései bejövő forgalom esetén. 42

43 A Bluetooth protokoll Céleszköz választása Ahogy arról már esett szó, minden Bluetooth modul rendelkezik egy 48 bites egyedi címmel, amit eszközcímnek neveznek. Ez a cím hasonló, mint a hagyományos hálózati eszközöknél alkalmazott MAC (Machine Address Code) cím 5. Ugyanúgy, mint a TCP/IP programozásnál, itt is a kommunikációs kapcsolat kiépítésének előfeltétele, hogy ismerjük a másik fél eszköz címét. Megjegyezzük, hogy míg TCP/IP esetén a felsőbb rétegek már nem MAC címet, hanem a cél gép IP címét használják, Bluetooth esetében az összes réteg a fenti 48 bites cím alapján azonosítja a másik felet. Természetesen a felhasználók számára nem mond sokat egy ilyen cím, ugyanúgy ahogy például az internetezők sem a meglátogatni kívánt gép címét írják be a böngészőbe. Éppen ezért majdnem minden Bluetooth eszköz rendelkezik egy eszköznévvel is. Természetesen ennek az egyedisége nem garantálható, így előfordulhat, hogy egy piconetben két vagy több azonos nevű eszköz is megtalálható. Ezt elkerülendő a felhasználóknak általában lehetőségük van megváltoztatni ezt a nevet. Az elv megegyezik a TCP/IP világában használt DNS neveknél látottakkal, azonban van egy technikai különbség. A DNS nevek feloldásánál adott a név, és ahhoz keressük meg a hozzá tartozó címet, míg Bluetooth esetében ez fordítva történik, hiszen amikor egy eszköz vizsgálódni kezd, azaz megpróbálja felderíteni a környezetében lévő többi eszközt, az egyes eszközök címét kapja meg válaszul. Miután begyűjtötte a címeket, egyesével kapcsolódik minden eszközhöz egy speciális protokoll segítségével, és lekéri az eszközök neveit Transzport protokoll választása Miután kiválasztattuk, hogy melyik eszközhöz kívánunk kapcsolódni, meg kell határoznunk az adatátvitel módját. A különböző transzport protokollokat két szempont, a garancia és a szemantika alapján szokás vizsgálni. Egy protokoll által nyújtott garancia nem más, mint a megbízhatóságának a mértéke. Egy megbízható protokoll, mint például a TCP biztosítja, hogy az elküldött csomagok megérkeznek a feladóhoz, vagy ha ez nem lehetséges, akkor lezáródik a kapcsolat a két fél között 7. Ezzel szemben egy hatékonyságra törekvő protokoll, amilyen az UDP nem foglalkozik azzal, hogy az elküldött csomag megérkezett-e vagy sem, sőt valójában nem is tud róla, hogy mi lett a csomag sorsa. Nyílván mindkét hozzáállásnak megvan a létjogosultsága, és mint látni fogjuk, a Bluetooth kommunikációban is találkozhatunk mindkettővel. A protokoll szemantikája kétféle lehet: csomag alapú (kapcsolat nélküli, összeköttetés nélküli) vagy folyam alapú (kapcsolat orientált). A csomag alapú protokollok, mint amilyen az UDP, az adatot előre meghatározott méretű különálló adatcsomagok formájában küldik el a 5 Megtévesztő lehet, hogy Bluetooth eszközök esetén is használják a MAC cím kifejezést, azonban nem az eszközcímet értik alatta, hanem a korábban szintén említett aktív tag címet. 6 A Bluetooth 2.1 szabvány lehetővé teszi az úgynevezett kiterjesztett vizsgálódás válasz (Extended Inquiry Respone) használatát, melynek során az eszköz nem csak a 48 bites címét küldi vissza, hanem egy információs rekordot is, mely tartalmazza a nevét és az általa nyújtott szolgáltatások listáját. Így a fent említett második lépés elhagyható. 7 Ezt szokták az angol szakirodalomban deliver-or-die mentalitásnak nevezni. 43

44 A Bluetooth protokoll másik félnek. Ezzel szemben a folyam alapú megközelítésnél például TCP az adatcsomagok egy adatfolyam részeként kerülnek továbbításra. A Bluetooth szabvány sok transzport protokollt definiál, azonban ezek közül jónéhány valamilyen speciális célt szolgál. A hétköznapi kommunikáció során igazából csak két protokollt szoktak használni, ezek az RFCOMM és az L2CAP RFCOMM Az RFCOMM (Radio Frequency Communication) egy megbízható, folyam alapú protokoll, mely karakterisztikáját tekintve nagymértékben hasonlít a TCP-hez. Az RFCOMM megalkotásának eredeti célja az volt, hogy segítségével emulálni lehessen a klasszikus soros porton (RS-232) történő kommunikációt. Azonban manapság inkább azt mondhatjuk, hogy az RFCOMM az általános célú transzport protokoll, mely kitűnően használható soros port emulálására. Még ma is sok Bluetooth protokoll verem implementáció, mint például a hagyományos Microsoft Windows XP Bluetooth API, vagy a Nokia Series S60 Python csak az RFCOMM protokollt támogatják L2CAP Az RFCOMM-mal szemben az L2CAP (Logial Link Control and Adaption Protocol) csomag alapú protokoll, melynek érdekessége, hogy különböző megbízhatósági szinteket lehet beállítani az átvitelhez. Ahogy azt említettük a csomag alapú protokollok esetében van egy előre meghatározott maximális csomag méret, az L2CAP esetében ez kezdetben 672 byte, azonban a kapcsolat kiépítése után ez akár byte-ra is nőhet. Ha az RFCOMM-ot a TCPvel állítottuk párba, akkor az L2CAP-nak az UDP felel meg, legalábbis első látásra. Azonban van egy nagy különbség a két protokoll között, az L2CAP biztosítja a csomagok sorrendjének megtartását, szemben az UDP-vel. További különbség a korábban említett megbízhatósági szintek jelenléte. Nyílván, ha valamilyen szintű megbízhatóságot akarunk kikényszeríteni, szükséges egyfajta küldés/nyugtázás módszer használata, hiszen a küldőnek tudnia kell, hogy megérkezett-e a csomag a címzetthez vagy sem. Tehát az L2CAP csomagok megérkezése után a címzett egy nyugtát (acknowledgment ACK) küld vissza a feladónak, a feladó reakciója alapján különböztetjük meg a három megbízhatósági szintet: Nincs újraküldés. Hiába nem érkezik meg az ACK üzenet, a csomagot nem küldi újra a feladó. Ez a működés megegyezik az UDP-nél látottakkal, ekkor a fő cél a hatékonyság. Mindig újraküldi a csomagot, amennyiben nem kapott ACK üzenetet. Ezt egészen addig próbálja, amíg sikeres nem lesz a küldés, vagy fel nem bomlik a kapcsolat. Bizonyos ideig várakozik a nyugta megérkezésére ( ms), ha nem érkezik meg az adott időlimiten belül, eldobja a csomagot és folytatja a következővel. A fentiekből illetve a protokoll veremnél látottakból látható, hogy igazából csak az L2CAP valódi transzport protokoll, az RFCOMM kapcsolatokat egyszerűen beágyazzák egy 2-es szintű L2CAP kapcsolatba. 44

45 A Bluetooth protokoll Itt jegyezzük meg, hogy ha még mélyebbre ásnánk, láthatnánk, hogy az L2CAP kapcsolatok is beágyazásra kerülnek egy ACL protokollba, vagyis alacsonyabb szinten két Bluetooth eszköz általában ACL kapcsolatot épít ki egymás között és azon keresztül kommunikálnak Portok A portok szerepe és használata megegyezik a TCP/IP programozásnál megszokottakkal. Szerepük is itt az, hogy egy eszközön belül több alkalmazás is használhassa egy időben ugyanazt a transzport protokollt Protokoll verem implementációk Bluetooth programozásra több programozási nyelven, több operációs rendszer alatt van lehetőségünk. Az alábbi táblázat a legfontosabb nyelvekhez, operációs rendszerekhez készült protokoll vermeket mutatja be. Protokoll Operációs Programozási RFCOMM L2CAP SCO HCI verem rendszer nyelv PyBlueZ GNU/Linux Python PyBlueZ Windows Python BlueZ GNU/Linux C/C Microsoft Windows C/C natív verem Widcomm Windows C/C JSR82 Keresztplatform Java Series 60 S60 Python Python Series 60 S60 C/C C++ OS X natív verem Mac OS X C / Objective C Az egyes nem natív implementációk letölthetők az Internetről: Protokoll verem PyBlueZ BlueZ Widcomm JSR82 Weboldal

46 A Bluetooth protokoll Egy egyszerű példa a JSR82 API használatával Egyszerű RFCOMM kliens alkalmazás import java.io.*; import javax.microedition.io.*; import javax.bluetooth.*; public class RFCOMMClient { public static void main( String args[] ) { try { /* Ezen az URL-en keresztül kapcsolódunk a szerverhez. Ez egyfajta kapcsolat leíró string-ként is mőködik */ String url = "btspp:// ab:3"; /* Megnyitjuk a kapcsolatot */ StreamConnection con = (StreamConnection) Connector.open(url); /* Létrehozunk két stream-et, amelyek segítségével IO mővelet tudunk végezni */ OutputStream os = con.openoutputstream(); InputStream is = con.openinputstream(); /* Kiírunk az output stream-re egy üzenetet */ String greeting = "Hello Világ!"; os.write( greeting.getbytes() ); /* Beolvassuk az input stream-re érkezı üzenete */ byte buffer[] = new byte[80]; int bytes_read = is.read( buffer ); String received = new String(buffer, 0, bytes_read); System.out.println("received: " + received); } } /* Lezárjuk a kapcsolatot */ con.close(); } catch ( IOException e ) { System.err.print(e.toString()); } 46

47 A Bluetooth protokoll Egyszerű RFCOMM szerver alkalmazás import java.io.*; import javax.microedition.io.*; import javax.bluetooth.*; public class RFCOMMServer { public static void main( String args[] ) { try { /* Létrehozzuk a szerverhez tartozó URL-t /* String url = "btspp://localhost:" + new UUID( 0x1101 ).tostring() + ";name=sampleserver"; /* A StreamConnectionNotifier osztály segítéségével tudunk figyelni egy adott socket-et */ StreamConnectionNotifier service = (StreamConnectionNotifier) Connector.open( url ); /* Beállítjuk, hogy fogadjon el a szerverünk bejövı kapcsolatokat és nyisson ezekhez egy-egy új socket-et */ StreamConnection con = (StreamConnection) service.acceptandopen(); /* Az elızıekhez hasonlóan az IO mőveletekhez használt streamek */ OutputStream os = con.openoutputstream(); InputStream is = con.openinputstream(); /* Kimenı üzenet írása */ String greeting = "Én egy RFCOMM szerver vagyok!"; os.write( greeting.getbytes() ); /* Bejövı üzenet olvasása */ byte buffer[] = new byte[80]; int bytes_read = is.read( buffer ); String received = new String(buffer, 0, bytes_read); System.out.println("received: " + received); } } /* Kapcsolat lezárása */ con.close(); } catch ( IOException e ) { System.err.print(e.toString()); } 47

48 A Bluetooth protokoll 4.8 Verziók összefoglalás Az alábbi táblázat segítségével megpróbáljuk összefoglalni a Bluetooth protokoll fejlődésének főbb állomásait. Verzió Dátum Megjegyzések október 19. Ez volt az első hivatalos verzió, melyet még természetesen nem hoztak nyilvánosságra. Ekkor még csak az alapsáv (baseband) rétegből és a Link Manager protokollból állt a Bluetooth szabvány Az előző verziót kiegészítése: fizikai réteg (rádió modul) specifikációja, január 21. L2CAP, RFCOMM, HCI bevezetése Újabb kiegészítések: HCI RS232 szállítási réteg, HCI UART szállítási réteg, április 30. valamint egy speciális teszt mód bevezetése. 1.0 draft július 5. Ekkor kerül be a szabványba az SPD (Service Discovery Protocol), illetve a TCS (Telephony Control Specification) 1.0a július 26. Ez volt az első olyan verzió, melyet bemutattak nagy nyilvánosság előtt. 1.0B december február 22. v november 5. v2.0+edr augusztus 1. v2.1+edr július 26. Ez az első gyakorlatban is használt verzió. Lényegében az 1.1a-ból idő hiányában kimaradt összetevők kerültek bele. Mivel az első Bluetooth képes eszközök 2000-ben jelentek meg, azok kivétel nélkül már ezt a szabványt támogatták. Elsősorban hibajavításokat tartalmazott ez a verzió. Rengeteg újdonságot hozott az 1.2-es verzió, ezek közül néhány: gyorsabb adatátvitel, adaptív frekvenciaváltás, kiterjesztett SCO linkek, javított hibaészlelés, javított szinkronizációs képességek stb. Érdekesség ezzel a verzióval kapcsolatban, hogy a specifikáció szövege is nagyon sokat változott, fejlődött. A szöveg struktúrája, a használt szakkifejezések megváltoztak, a használt nyelvezet sokkal precízebb lett. A cél ezzel az volt, hogy a kiadott specifikáció megfeleljen az IEEE (Institute of Electrical and Electronics Engineers) követelményeinek. Kisebb módosításokat tartalmaz az 1.2-es verzióhoz képest. A nagy ugrást a számozásban az EDR (Enhanched Data Rate) bevezetése jelentette, mellyel az eddigieknél jóval gyorsabb adatátviteli sebesség érhető el. Jelenleg ez a legelterjedtebb verzió. A jelenlegi legfrissebb verzió, jelenleg nem sok eszköz támogatja még. Néhány a bevezetett újdonságok közül: lehetőség van a titkosítás felfüggesztésére majd folytatására, bevezettek egy új biztonsági módot (Security Mode 4), a kapcsolat kiépítésének felgyorsítása érdekében az eszközök használhatják az úgynevezett kibővített vizsgálódás válasz protokollt (extended inquiry response), bevezetésre került a biztonságos egyszerű párosítás (secure simple pairing) stb. 48

49 Bluetooth és a biztonság 5 Bluetooth és a biztonság 5.1 A Bluetooth biztonság határai és feladatai Ennek a fejezetnek a célja, hogy megértsük a Bluetooth eszközök kapcsán felmerülő biztonsági kérdéseket, a kidolgozott megoldásokat, valamint azok gyengeségeit. Mindenekelőtt azonban azzal kell tisztában lennünk, hogy miről is beszélünk, amikor Bluetooth biztonságot emlegetünk. Hol vannak azok a határvonalak, ahol gondoskodnunk kell a védelemről. 10. ábra A Bluetooth eszközök számos ponton kapcsolódhatnak egymáshoz, illetve egy már meglévő hálózati infrastruktúráshoz. A fenti ábrából látszik, hogy Bluetooth kapcsolatok az eszközök igen széles skálája között létrejöhetnek. Ez egyben azt is jelenti, hogy kapcsolati titkosítás és authentikáció kivitelezhető, de igazi végpont-végpont biztonság nem, legalábbis csak a Bluetooth protokoll 49

50 Bluetooth és a biztonság használatával. Természetesen, ha további, felsőbb rétegeket vezetünk be a kommunikációs protokoll fölé, ezek segítségével kivitelezhető a végpontok közötti biztonság megteremtése. Látjuk tehát, hogy elsősorban a két eszköz kommunikációja során használt kapcsolatra továbbiakban link kell fókuszálnunk a biztonsági kérdéseknél. Vizsgáljuk most meg, hogy mik azok az alapvető szolgáltatások, amelyek a szabvány nyújt a biztonság érdekében. Hitelesítés Ahogy erről már volt szó korábban a hitelesítés feladata itt is az, hogy meggyőződjünk arról, hogy a kommunikáló eszközök valóban azok, akikként azonosították magukat. Hétköznapi nyelvre lefordítva, az alábbi kérdésre keressük a választ: Tudom, hogy kivel kommunikálok?. A Bluetooth hitelesítési mechanizmusa lehetőséget biztosít a kapcsolat azonnali megszakítására, amennyiben a hitelesítés nem megfelelő. Bizalmasság Nyilvánvalóan a másik kulcsfontosságú biztonsági kérdés, a bizalmasság. Csak az arra jogosult eszközök férhetnek hozzá az adatokhoz? Engedélyezés A harmadik szolgáltatás a fejlesztőknek adja meg a lehetőséget, hogy szabályozzák az erőforrásokhoz való hozzáférést. Vagyis egy eszköz hiába végezte el sikeresen az authentikációt, ha nincs a megfelelő engedély birtokában, hogy használja az adott erőforrást. Rendelkezik ez az eszköz a megfelelő engedéllyel, hogy használja ezt a szolgáltatást? Láthatjuk, hogy a szabvány által nyújtott biztonsági szolgáltatások az információbiztonság fontos területeivel foglalkoznak, de hasonlóan a vezeték nélküli LAN-ok szabványához nem tér ki például az audit, vagy a nem ismételhetőség, letagadhatatlanság kérdéseire. Ugyanúgy, ahogy közvetlenül nem ad lehetőséget a sértetlenség biztosítására sem. Ugyanakkor meg kell említenünk azt is, hogy magának a fizikai megvalósításnak köszönhetően, egyfajta mellékhatásként kapunk némi védelmet. Mint ahogy azt már említettük a Bluetooth eszközök az úgynevezett frekvencia ugrálás technikáját alkalmazzák, ami másodpercenkénti 1600 frekvencia sávváltást jelent. Ha ehhez hozzávesszük az adó energiagazdálkodásából eredő viszonylag kis hatótávolságot, ez a két tulajdonság ad egyfajta alapszintű védelmet a különböző lehallgatás alapú támadásokkal szemben. 5.2 Biztonsági módok A Bluetooth specifikáció három különböző biztonsági módot vezet be. Minden eszköz egy időben pontosan egy módban képes működni, függetlenül attól, hogy hány kapcsolatban vesz részt. Biztonsági mód 1 Nem biztonságos mód Biztonsági mód 2 Szolgáltatás szintű biztonságot követel meg Biztonsági mód 3 Link szintű biztonságot követel meg 50

51 Bluetooth és a biztonság Az első módban az eszköz semmilyen biztonsági intézkedést nem alkalmaz, így semmilyen titkosítás vagy hitelesítés nem történik a kommunikáció során. Ekkor az eszköz úgynevezett promiscuous üzemmódban van, azaz válogatás nélkül elfogad bármilyen bejövő kapcsolatot. Felmerülhet a kérdés, hogy van-e létjogosultsága ennek a módnak egyáltalán? Nos, bizonyos esetekben kihasználható ennek a módnak a sebessége és egyszerűsége, például egy elektronikus névjegykártya átküldése esetén. A második mód esetében a kapcsolat felépítése után, az egyes szolgáltatások szintjén lehet eldönteni, hogy alkalmazunk-e, és ha igen, akkor milyen szintű biztonsági intézkedéseket. A szabvány értelmében minden Bluetooth eszköz rendelkezik egy biztonság kezelő (security manager) komponenssel. A biztonságkezelő feladata, hogy különböző szabályok segítségével szabályozza, hogy a különböző a készüléken elérhető szolgáltatások használnak-e titkosítást illetve hitelesítést. Vagyis ebben a módban az egyes alkalmazások maguk dönthetnek a biztonság kérdéséről. Az utolsó mód mindenképp kikényszeríti a biztonságos kapcsolat kiépítését, függetlenül attól, hogy milyen szolgáltatások, alkalmazások futnak az adott eszközön. Minden kimenő vagy bejövő kommunikáció csak titkosított csatornán keresztül történhet, és a kapcsolódni kívánó eszköznek mindenképp át kell esnie a hitelesítési eljáráson. Ez azonban egy igen erős megszorítás, főleg annak fényében, hogy a szabvány nem írja elő, hogy minden eszköznek implementálnia kell a megfelelő titkosítási eljárásokat. Így előfordulhat, hogy egy hármas módban lévő eszközhöz egy olyan készülék próbál kapcsolódni, ami nem támogat semmilyen titkosítást. Ezt a konfliktust a biztonságkezelő oldhatja fel: dönthet úgy, hogy nem engedélyezi a kapcsolatot, vagy pedig titkosítás nélküli kapcsolat kiépítését kezdeményezi a másik eszközzel. A döntést befolyásolja, hogy milyen szolgáltatást próbált meg elérni a másik eszköz, mester vagy szolga szerepben vesz részt a kapcsolatban, illetve az adott eszközön foganatosított biztonsági politika. Maga a kapcsolat szintű biztonsági modell ahogy azt látni fogjuk egy szimmetrikus kulcsú eljáráson alapul. Az alábbi táblázatban összefoglaljuk, hogy az egyes biztonsági módok a szabvány által megfogalmazott biztonsági célkitűzések közül melyeket garantálják. Biztonsági mód Hitelesítés Bizalmasság Engedélyezés Mód Mód Mód Felmerülhet a kérdés, hogy mi történik, ha két eszköz egy mester és egy szolga esetleg nem ugyanabban a biztonsági módban van, amikor kapcsolatot kívánnak létrehozni egymással? Melyik eszköz határozza meg a ténylegesen használt biztonsági szintet? Ezekre a kérdésekre ad választ az alábbi táblázat: 51

52 Bluetooth és a biztonság Biztonsági Szolga mód Mester 1 Hitelesítés: nincs Titkosítás: nincs Hitelesítés: ha a mester alkalmazás megköveteli Hitelesítés: van Titkosítás: ha a mester biztonsági politika Titkosítás: ha a mester megköveteli alkalmazás megköveteli 2 Hitelesítés: ha a szolga alkalmazás megköveteli Titkosítás: ha a szolga alkalmazás megköveteli 3 Hitelesítés: van Titkosítás: ha szolga biztonsági politika megköveteli Hitelesítés: ha a mester vagy a szolga alkalmazás megköveteli Titkosítás: ha a mester vagy a szolga alkalmazás megköveteli Hitelesítés: van Titkosítás: ha szolga biztonsági politika vagy a mester alkalmazás megköveteli Hitelesítés: van Titkosítás: ha a mester biztonsági politika vagy a szolga alkalmazás megköveteli Hitelesítés: van Titkosítás: ha a mester vagy a szolga biztonsági politika megköveteli 5.3 Kulcs hierarchia A Bluetooth biztonság egyik sarokköve a használt kulcsok rendszere, ugyanakkor ez az egyik legkomplexebb része is, tekintve a kulcsok igen nagy számát. Mint látni fogjuk, ez a hierarchia némiképp eltér attól függően, hogy két eszköz kommunikál egymással (unicast kommunikáció), vagy pedig úgynevezett broadcast kommunikációról van szó, azaz olyan üzenet küldéséről, amelyet a piconetben résztvevő összes többi eszköz megkap Pass key A legfelső szinten áll a Pass key (K P ). Ahogy azt már említettük a szabvány szimmetrikus kulcsú titkosítást használt, amelyben a Kp tekinthető a két eszköz közötti közös titoknak. Kétféle K P -t különböztetünk meg: változtatható és állandó. Ahogy a neve is mutatja, a változtatható K P -t a felhasználó adhatja meg a párosítás kezdetekor. Párosításnak nevezzük azt a folyamatot, amikor két Bluetooth eszköz első ízben kezdeményez kommunikációt egymással. A párosítás során egyeznek meg a kommunikáció során használt osztott titokról, azaz a szimmetrikus kulcsról. Ennek folyamata igen egyszerű, mindkét készüléken a felhasználónak be kell gépelnie a kulcsot, ezt nevezik PIN kódnak 1 is. Természetesen a 1 Ez a PIN kód csak nevében azonos egy telefon bekapcsolásakor a SIM kártya feloldásához használatos PIN kóddal. 52

53 Bluetooth és a biztonság sikeres kommunikáció előfeltétele, hogy mindkét eszközön ugyanazt a PIN kódot adják meg a felhasználók. Fix K P esetén a PIN kódot a gyártó előre rögzíti az adott eszközbe, ezt nem lehet megváltoztatni. Tipikusan olyan eszközök esetén alkalmaznak fix PIN kódot, amelyeknél nincs felhasználói felület, mint például mobil telefon headset-ek. Nyilvánvalóan a változtatható PIN kódok nagyobb biztonságot nyújtanak, hiszen minden párosítás esetén más-más kódot használhatunk, a fix kódok esetén ez a lehetőség nem áll fenn, ráadásul ezek a fix kódok általában nagyon egyszerűek, például Ahogy látjuk, a K P értéke több forrásból jöhet, lehet előre definiált, de a felhasználók is megadhatják, így a szabványban nem rögzítették a kulcs hosszát, csak annyi kikötést tettek, hogy maximum 128 bit lehet. Ennek mi felhasználók látjuk legnagyobb előnyét, hiszen nem kell minden alkalommal egy 128 bites PIN kódot megadnunk, ennél jóval kisebbet általában egy 4 jegyű számot használhatunk. Természetesen a rövidebb PIN használatának megvannak a maga hátrányai. Mint látni fogjuk a későbbi szekciókban a pass key képezi az alapján az kapcsolati kulcsnak, amely a Bluetooth biztonság alapjának tekinthető. Kicsit pontosabban fogalmazva, a K P az osztott titok, amely garantálja, hogy a kapcsolati kulcsot csak az érintett két eszköz tudhatja. Nyílván minél rövidebb K P -t használunk, annál jobban ki vagyunk téve egy szótár alapú vagy brute force támadásnak Inicializációs kulcs A hierarchia következő szintjén az inicializációs kulcs (K INIT ) áll, amely egy rövid ideig létező temporális kulcs, melyet csak a párosítás ideje alatt használunk. A K INIT értékét az E 22 algoritmus segítségével határozzuk meg, három adat alapján: K P, IN_RAND és L Kp. A K P az előzőekben tárgyalt pass key, L Kp pedig ennek a kulcsnak a hossza bitekben, végül pedig IN_RAND egy 128 bites véletlenszám, amelyet az eszköz állít elő. A K INIT kulcs előállításához az alábbi lépéseket kell elvégeznünk: 1. K P = K P + kitöltő bitek 2. L Kp = min(l Kp +6,16) 3. K INIT = E 22 (K P, IN_RAND, L Kp ) Az első lépésre azért van szükség, mert ahogy azt az imént említettük K P mérete nem fix, így azt mindig ki kell pótolni úgy, hogy a hossza 128 bit legyen Link kulcs A félreértések elkerülése végett nem a magyarított, kapcsolati kulcs elnevezést használjuk, hanem az angol szakirodalomban elterjedt és a Bluetooth terminológiában honos link kulcs kifejezést. A link kulcs (K L ) tölti be a szimmetrikus kódolásnál használt osztott titok szerepét miután a két eszköz párosítása lezajlott. Kétféle link kulcsot különböztet meg a szabvány: a unit kulcsot és a kombinációs kulcsot. Bár a unit kulcs használatát az újabb szabványok már nem javasolják sőt immár hivatalosan is deprecated minősítést kapott, azért a néhány mondatban kitérünk a használatára. 53

54 Bluetooth és a biztonság Tegyük fel, hogy A és B eszköz kommunikálni akarnak egymással, a kezdeményező legyen most A. Tegyük fel továbbá, hogy a két eszköz még nem rendelkezik érvényes link kulccsal. A továbbiakban az A eszköz által használt unit kulcsot K A -val, a B eszköz által használtat K B -vel jelöljük. K A előállítása az E 21 algoritmussal történik, egy 128 bites véletlenszám (LK_RAND A ) és az A eszköz hálózati címének (BD_ADDR A ) segítségével. K A = E 21 (LK_RAND A, BD_ADDR A ) A kulcs elkészítése után ezt az A eszköznek el kell juttatnia B-hez, azonban nem magát K A -t küldi el, hanem: K A = K A K INIT Vagyis K A -t a K INIT inicializációs kulccsal titkosítva küldjük el a másik eszköznek. Mivel K INIT kulcsot B is ismeri, így könnyen megkaphatja K A értékét: K A K INIT = K A K INIT K INIT = K A Látható, hogy az A eszköz által meghatározott K A unit kulccsal történik ezután minden kommunikáció titkosítása. A módszer legnagyobb hátránya, hogy az eszköz, amely unit kulcsot használ, kénytelen ugyanazt a kulcsot használni az összes titkos kapcsolatához. Ha a támadó kiépít valamilyen ürüggyel egy kapcsolatot egy ilyen eszközzel, utána képes lehet lehallgatni ezen eszköz más eszközökkel való kommunikációját. A probléma tehát az, hogy a unit kulcs nem nyújt védelmet a megbízható forrásból érkező támadások ellen. A fenti biztonsági problémák miatt mostantól csak a kombinációs link kulcsokkal foglalkozunk, így a továbbiakban, amikor link kulcsról beszélünk mindig kombinációs kulcsot értünk alatta. A (kombinációs) link kulcsot származtathatjuk egy már létező, korábban létrehozott link kulcsból, vagy pedig a K INIT inicializációs kulcsból, amennyiben a két eszköz még nem hozott létre közös link kulcsot. Ez utóbbi eset nem okozhat különösebb meglepetést, viszont az már szembeötlőbb lehet, hogy egy létező link kulcsból hozunk létre egy újabbat. Gondoljuk meg a következőt: két eszköz megállapodik egy link kulcsban, majd kommunikálnak egy bizonyos ideig. Mit csináljon ez a két eszköz a használt link kulccsal a kommunikáció lezárása után? Egy kézenfekvő válasz, hogy dobják el, töröljék ezeket a kulcsokat. Ez valóban egy igen egyszerű megoldás, azonban ez azt jelentené, hogy minden alakalommal, amikor a két eszköz kommunikálni szeretne egymással, újra el kell készíteniük a link kulcsot az első lépéstől kezdve. Természetesen kriptográfiai szempontból vizsgálva a helyzetet, ez az ideális, tiszta megoldás. Azonban a Bluetooth egyik alapeleme a hatékonyság, így a szabvány megengedi az eszközöknek, hogy tárolják a korábban generált link kulcsot, és felhasználják azt egy későbbi kommunikáció során, de csak abban az esetben, ha ugyanaz a kommunikációs partner. Ebből az következik, hogy minden eszköznek egy <távoli_eszköz, link_kulcs> párokból álló adatbázist kell tárolnia és karbantartania. 54

55 Bluetooth és a biztonság Természetesen az, hogy a szabvány megengedi, hogy az eszközök újrafelhasználják a tárolt link kulcsokat, nem azt jelenti, hogy soha ne is cseréljenek kulcsot. A link kulcsok bizonyos időközönkénti cseréje igen ajánlott, hiszen minél tovább használjuk ugyanazt a kulcsot, annál nagyobb a veszélye annak, hogy kitudódik, feltörik stb. Összefoglalva tehát az eddigieket elmondhatjuk, hogy a párosítás folyamatát követően a két eszköznek létre kell hoznia egy KL link kulcsot, mellyel garantálni tudják a biztonságos kommunikációt. Ez a link kulcs három forrásból származhat: 1. Ha rendelkezésre áll, használhatnak egy korábban generált, eltárolt link kulcsot. 2. Felhasználhatják ezt a bizonyos eltárolt kulcsot, hogy egy újat generáljanak, és azzal folytassák a kommunikációt. (Kulcsmegújítás) 3. Használhatják az inicializációs kulcsot (K INIT ). Az utolsó két folyamat lényegében ugyanúgy történik, az egyetlen különbség a generáláshoz használt kezdeti kulcs, amely vagy a korábbi KL link kulcs, vagy pedig a K INIT inicializációs kulcs. Mivel ez az új kulcs generálásának szempontjából lényegtelen, a továbbiakban K START - tal jelöljük azt a kulcsot, amelyből származtatjuk az új link kulcsot. Azonban bármelyik forrásból is származik a K START kulcs, van egy igen lényeges tulajdonsága: csak az adott eszközök (A és B) ismerik. Első lépésben mindkét eszköz generál magának egy-egy privát kulcsot. Ehhez az E 21 -es algoritmust használják, egy 128 bites véletlenszámmal (LK_RAND) és a saját hálózati címükkel (BD_ADDR) paraméterezve. K A = E 21 (LK_RAND A, BD_ADDR A ) K B = E 21 (LK_RAND B, BD_ADDR B ) A link kulcs pedig nem más, mint K A XOR K B, azaz: K L = K A K B Azonban ezzel jelenleg még van egy kis probléma, hiszen K A -t csak A, K B -t pedig csak B ismeri, nyílván valahogy ki kell cserélniük a két kulcsot, vagy lehetővé kell tennünk, hogy előállíthassák egymás kulcsait. Ha belegondolunk, ahhoz, hogy A előállítsa K B kulcsot, két adatra van szüksége: az LK_RAND B véletlenszámra és a BD_ADDR B hálózati címre. Természetesen a BD_ADDR B címet már tudja, hiszen anélkül nem lett volna lehetséges a párosítás sem, így csak az LK_RAND B -t kell eljuttatni A-hoz. Ez az a pont, ahol szükség van a KSTART kulcsra. Nyilvánvaló, hogy mi történik: B titkosítja LK_RAND B -t a K START kulcs segítségével (LK_RAND B K START ) és átküldi azt A-nak. Mivel A (és csak A) ismeri a K START kulcsot, azzal dekódolva az üzenetet, megkapja LK_RAND B értékét. Ugyanezt az eljárást megismételve fordított szereposztással, máris mindkét eszköz birtokában van K A és K B kulcsoknak. Fontos megjegyeznünk, hogy a fenti folyamat befejeződése után mindkét eszköz törli a K START kulcsot, bármelyik forrásból is származott. 55

56 Bluetooth és a biztonság 11. ábra A link kulcs meghatározásának folyamata Titkosító kulcs Ahogy azt már említettük a link kulcsnak igen fontos szerepe van a Bluetooth biztonság világában. Ahogy azt később látni fogjuk az autentikáció során is használjuk majd, de ez képezi az alapját a titkosító kulcs (K C ) generálásának is: K C = E 3 (K L, EN_RAND, COF) Ahogy láthatjuk, az E3 algoritmust használjuk a kulcs előállításához, melynek három paramétere van: a link kulcs, egy 128 bites véletlenszám és egy 96 bites rejtjelezési ofszet (ciphering offset), melyről az authentikációról szóló részben olvashatunk bővebben Megszorítási kulcs A megszorítási kulcsot (K C ) nevezik megszorított titkosító kulcsnak is, ugyanis az eredeti K C titkosító kulcs mérete fix, 128 bit, a K C kulcs mérete azonban bármekkora lehet, a 128 bit 56

57 Bluetooth és a biztonság csak egy felső korlátot jelent. Felmerülhet a kérdés, hogy miért szükséges ennek a megszorított kulcsnak a bevezetésére? Az ok igen egyszerű, sok országban nagyon szigorú szabályozás van érvényben a titkosító hardverek exportjára. Azok az eszközök, melyek titkosítási képességei elérnek egy bizonyos erősséget 2, nem hagyhatják el az országot. Tekintve, hogy a Bluetooth-nál használt 128 bites titkosítás egyes országokban már beletartoznak a fokozott szabályozás alá eső kategóriába, így szükséges volt a rövidebb kulcs használatát is lehetővé tenni az eszközök számára. Természetesen a kulcs hierarchia felépítése ugyanúgy zajlik egészek a K C kulcsig, csak ott nem áll meg, hanem kiszámításra kerül K C is, az alábbi képlet alapján: K C (x) = g 2 L (x){k C [mod g 1 L (x)]} Ahol L a kívánt kulcshossz, g1 és g2 pedig a szabvány által definiált polinomok Payload kulcs A hierarchia legalján foglal helyet a payload kulcs (K pay ). Ezzel a kulccsal történik a Bluetooth csomagok tényleges titkosítása. K pay = E 0 (K C, CK_VAL, BD_ADDR, EN_RAND) A fenti képletből a K C kulcsot és a BD_ADDR címet már ismerjük, az EN_RAND egy 128 bites véletlenszám, a CK_VAL pedig a szinkronizált belső óra értékének első 26 bitje. 2 Ezt általában a titkosításkor használt kulcs erősségével (hosszával) határozzák meg. 57

58 Bluetooth és a biztonság 12. ábra Bluetooth kulcshierarchia 5.4 Kulcshierarchia üzenetszórás esetén Az eddigiekben tárgyalt kulcshierarchia két eszköz, egy mester és egy szolga kommunikációjára vonatkozott. A Bluetooth szabvány azonban lehetővé teszi az üzenetszórásos (broadcast) kommunikációt is a mester eszközök számára. Ez azt jelenti, hogy az üzenetszórással zórással továbbított csomagokat a piconetben található összes eszköz megkapja. Ahogy a TCP/IP hálózatoknál megszokhattuk, a Bluetooth hálózatokra is igaz, hogy az 58

59 Bluetooth és a biztonság üzenetszórásos kommunikáció nem ekvivalens n db pont-pont közti kommunikációval, azaz a mester eszköz üzenetszórás esetén nem egyesével küldi el a csomagokat a hálózatban található szolga eszközöknek, hanem egy speciális, úgynevezett broadcast címre küldi az üzenetet, melyet a piconet összes eszköze megkap. A fentiekből következik, hogy ebben az esetben nem alkalmazható változatlan formában az előbb tárgyalt kulcskezelési módszer. Tudjuk, hogy a (kombinációs) link kulcsot a kommunikációban részt vevő két fél a hálózati cím és egy véletlenszám alapján állítja elő mindkét oldalon. Üzenetszórás esetén a fenti modell nem alkalmazható, hiszen nem két eszköz kommunikációjáról van szó. Ebben az esetben a link kulcs helyét a mester kulcs (K master ) veszi át. Ennek a kulcsnak az előállításában csak a mester eszköz vesz részt, egyetlen szolga eszköztől származó információ sem játszik szerepet a generálása során. K master = E 22 (LK_RAND 1, LK_RAND 2, 16) Mint látható, a mester kulcs előállítására az E 22 algoritmust használjuk, két véletlenszám és egy konstans érték segítségével. Mivel a mester kulcs előállításában csak a mester eszköz vesz részt, valahogy el kell juttatnunk ezt a kulcsot a szolgákhoz. Mindehhez természetesen olyan módszert kell választanunk, amely garantálja, hogy a K master értékét csak az arra jogosult eszközök tudják meg. Ennek érdekében egy újabb kulcsra lesz szükségünk, az úgynevezett overlay kulcsra (K ovl ). K ovl = E 22 (K L, LK_RAND 3, 16) Ezt a kulcsot is az E 22 algoritmus segítségével állítjuk elő, azonban itt az egyik véletlenszám helyett a link kulcsot használjuk. Felmerülhet a kérdés, hogy honnan van a birtokunkban link kulcs, hiszen azt mondtuk üzenetszórásos kommunikációnál nem használjuk ezt a fajta kulcsot. Ez igaz, azonban ez a pont-pont kapcsolatnál használt link kulcs. Ugyanis ahogy azt korábban tárgyaltuk egy piconetben csak mester-szolga, szolga-mester kommunikáció lehetséges, ez azonban azt is jelenti, hogy a mester eszköznek fent kell tartania egy-egy link kulcsot az összes szolga eszközhöz. Tehát a mester eszköz annyi K L link kulccsal rendelkezik, ahány szolga eszközzel kapcsolatban áll, így látható, hogy a K ovl kulcsból sem egy lesz, hanem minden szolga eszköz számára előállítunk egyet-egyet. Ezáltal lehetővé válik, hogy a K master kulcsot a megfelelő K ovl kulccsal titkosítva, biztonságos csatornán jutassuk el a szolgákhoz. Megjegyezzük, hogy míg a link kulcs egy félig állandó kulcs, melyet a kommunikáció során akár újra fel is használhatnak a felek, a mester kulcs szigorúan ideiglenes kulcs, melyet el sem tárolnak az eszközök, mindig csak az adott üzenetszórásos kommunikáció ideje alatt létezik, és soha nem használható fel újra. 59

60 Bluetooth és a biztonság 5.5 Hitelesítés A hitelesítési eljárás mindig két fél között zajlik le: az a fél, aki egy állítólagos identitás alapján valamilyen igényt nyújt be, az igénylő, míg a hitelesítő feladata, hogy ellenőrizze, az igénylő valóban az e akinek kiadja magát. A Bluetooth piconet hálózatában az igénylő/hitelesítő fogalmak ortogonálisak a mester/szolga szerepekre. Más szavakkal, mind a mester mind a szolga eszköz lehet igénylő és hitelesítő is. A hitelesítő kiléte a felsőbb rétegekben dől el, alkalmazás vagy felhasználói szinten. Egész egyszerűen az válik hitelesítővé, aki meg kíván győződni a másik fél kilétéről. Ebből természetesen az is következik, hogy lehetséges kölcsönös hitelesítés is, azaz egy időben mindkét fél betöltheti a hitelesítő szerepét 3. A hitelesítés folyamata a kihívás válasz (challenge response) protokoll szerint történik. Tegyük fel, hogy A és B eszközök kommunikációt kezdeményeznek egymással, azonban A eszköz meg kíván bizonyosodni B eszköz kiléte felől, vagyis A hitelesítő szerepkörbe lép. Első lépésként A egy véletlenszámot (AU_RAND) küld B-nek, ez a kihívás. Miután B megkapja a véletlenszámot, egy úgynevezett aláírt választ kell (SRES) kell visszaküldenie. SRES = E 1 (K L, AU_RAND, BD_ADDR B ) Mind az AU_RAND értéke, mind a B eszköz hálózati címe publikus információk, azonban a K L link kulcs értékét csak A és B eszközök ismerik. Vagyis B az egyetlen olyan eszköz, amely elő tudja állítani a jó SRES értéket 4. A válasz generálásához használt E 1 algoritmus a fentieken túl előállít egy 96 bites értéket, melyet hitelesítési rejtjelezési ofszetnek (Authentication Ciphering Offset ACO) nevezünk. Ahogy azt korábban láttuk, ezt az ofszet értéket használjuk a K C titkosító kulcs előállításhoz. Tulajdonképpen ez az érték kapcsolja össze a hitelesítési folyamatot a kommunikáció többi fázisával. 3 Természetesen ilyenkor egyszersmind igénylők is mindketten. 4 SRES helyességét A triviálisan tudja ellenőrizni, hiszen ő is rendelkezik az E 1 algoritmus mindhárom input adatával. 60

61 Bluetooth és a biztonság 13. ábra Bluetooth hitelesítési protokoll működése. Szó esett még a kölcsönös hitelesítésről. Ebben az esetben a fent leírt folyamatot megismétlik az eszközök fordított szereposztással. Ez azonban azt is jelenti, hogy két ACO érték fog keletkezni. Felmerül tehát a kérdés, hogy melyiket fogják az eszközök felhasználni a későbbiekben? A szabvány értelmében mindig a későbbi ACO érték az, amelyet a titkosító kulcs generálására felhasználhatnak. 61

62 Bluetooth és a biztonság 14. ábra A kölcsönös hitelesítés főbb lépései. 5.6 Algoritmusok Az előbbiekben megvizsgáltuk a Bluetooth biztonság alapját képező kulcshierarchiát. Láttuk, hogy öt különböző algoritmust használ a szabvány a kulcsok előállítására: E 0, E 1, E 3, E 21 és E 22. Ebből az öt algoritmusból négy (E 1, E 3, E 21 és E 22 ) blokktitkosító algoritmusok, míg az E 0 egy folyamtitkosító. Mind a négy blokktitkosító algoritmus a SAFER+ blokktitkosítóból származik. A SAFER+ egyike a legtöbbet vizsgált, az AES (Advanced Encryption Standard) szabványnak megfelelő blokktitkosítóknak. Az algoritmus részleteit itt nem tárgyaljuk, de egy rövid összefoglalót olvashatunk a SAFER titkosító családról a B függelékben. 5.7 Biztonsági problémák Az eddigiek során megismerkedtünk azokkal a módszerekkel, eszközökkel, melyet a Bluetooth szabvány kínál a biztonság témakörében. Vizsgáljuk most meg azt, hogy milyen hibái, hiányosságai vannak ennek az eszközkészletnek. Az itt felsorolt problémák közül néhányat már említettünk a korábbi alfejezetekben is, azonban az alábbi táblázat megpróbálja összefoglalni, kiegészíteni a biztonsági problémákkal kapcsolatos eddig ismereteinket. Probléma A hitelesítésnél él (is) használt pszeudo véletlenszám generátor erőssége nem ismert. Megjegyzés Mivel nem igazi véletlenszám generátorokat használunk, előfordulhat, hogy periodikus számsorozatot kapunk. Ez erősen gyengíti például a hitelesítési eljárás megbízhatóságát. 62

63 Bluetooth és a biztonság Megengedett a rövid PIN kódok használata. Ahogy azt láttuk a PIN kódok szerepet játszanak a biztonságos kommunikáció alapját képező link kulcs előállításában. Minél rövidebb a PIN kód, annál sérülékenyebb a szótár alapú vagy brute force jellegű támadásokkal szemben. A titkosító kulcs hossza változtatható. Volt szó róla, hogy egyes eszközök miatt nem használható fix méretű, 128 bites titkosító kulcs, legalábbis a szabvány nem írhatja elő. Unit (link) kulcs használata. Igaz, hogy már a szabvány sem ajánlja ennek a kulcstípusnak a használatát, de a visszafele kompatibilitás megőrzése végett, a lehetőséget megadja. A legnagyobb hátránya, hogy ugyanazt a kulcsot használjuk minden kapcsolathoz, így ha egyszer valaki kapcsolatot létesített velünk, ismeri az általunk használt kulcsot. A mester kulcs osztott. Üzenetszórásos kommunikáció során a mester kulcsot a hálózati összes eszköze ismeri. Biztonsági elemzők egy összetettebb üzenetszórásos kulcskezelési sémát javasolnak. Nincs felhasználói szintű hitelesítés. Csak eszköz szintű hitelesítési eljárás létezik. Arra nincs mód, hogy az eszközön futó alkalmazást vagy magát a felhasználót megbízhatóan azonosítsuk. A hitelesítési próbálkozások megismételhetőek Jelenleg nincs limitálva, hogy egy eszköz hányszor és milyen gyakorisággal próbálkozhat a hitelesítési eljárás végrehajtásával. Értelemszerűen ez szabad utat enged a próbálgatásos támadásoknak. A szakemberek exponenciálisan növekedő várakozási időablakok beiktatását javasolják két próbálkozás közé. A hitelesítési eljárás egyszerű osztott kulcson alapuló kihívás-válasz protokollt használ. Az egyirányú hitelesítés támadható közbeékelődéses (man-in-the-middle) módszerrel. A kölcsönös hitelesítés pedig feltételezi, hogy a hálózat és a felhasználók legitimek. A használt E 0 folyamtitkosító algoritmus gyenge Kriptoanalitikusok kimutatták, hogy az E 0 algoritmus igen hatékonyan támadható, úgynevezett korrelációs technikával. Igaz ugyan, hogy a 128 bites kulcsnak köszönhetően elméletileg lehetőséget kell a támadónak végigpróbálnia, azonban a gyakorlatban mindössze 2 38 próbálkozás is eredményre vezethet! Változtatható méretű kulcsok. A legnagyobb probléma, hogy csak maximális méreteket definiál a szabvány, alsó korlátot nem ad a kulcsok hosszára nézve. Végpont-végpont biztonság. A szabvány csak az egyes kapcsolatok titkosításával és hitelesítésével foglalkozik, nem tartalmaz semmilyen protokollt, ajánlást a végpont-végpont biztonságot illetően. 63

64 Bluetooth és a biztonság A biztonsági eljárások száma igen korlátozott. Ahogy arról már volt szó, a biztonsági követelményeknek csak egy részére ad eszközöket a szabvány. Az auditálás, letagadhatatlanság például már kívül esik ezen a körön. 5.8 Biztonsági tanácsok Az eddigiekben megvizsgáltuk hogyan működik a Bluetooth alapú kommunikáció, milyen fenyegetéseknek van kitéve, illetve milyen eredendő biztonsági gyengeségekkel rendelkezik. Ebben a fejezetben néhány olyan ajánlást sorolunk fel, melyek betartásával növelhető Bluetooth eszközeink biztonsági szintje. Az ajánlásokat három csoportba sorolhatjuk: menedzsment szintű ajánlások, technikai ajánlások, használattal vagy működéssel kapcsolatos ajánlások Menedzsment szintű ajánlások Ebben a kategóriába egy vállalat vezetése által elfogadott szabályzatok, politikák, irányelvek tartoznak. A már meglévő biztonsági szabályzatot terjesszük ki a vezeték nélküli eszközök használatára, beleértve ebbe a Bluetooth eszközöket is! Biztosítsuk a vezeték nélküli hálózatokat használó felhasználók megfelelő szintű biztonsági képzését, valamint bizonyosodjunk meg róla, hogy megértették az ezzel járó kockázatokat! Végezzünk kockázatelemzést, hogy lássuk mely vagyontárgyat milyen mértékben érint a fenyegetés! Rendszeresen végezzünk teljes körű biztonsági elemzést, hogy feltérképezzük a vezeték nélküli hálózatok jelenlegi állapotát, struktúráját! Bizonyosodjunk meg róla, hogy a vezeték nélküli hálózatot teljes mértékben feltérképeztük! Biztosítsuk a fizikai határvédelmet! Bizonyosodjunk meg róla, hogy a különböző kézi eszközök eltulajdonítása nem lehetséges! Bizonyosodjunk meg róla, hogy az eszközök Bluetooth adója ki van kapcsolva, amikor nincs rá szükség! Vezessünk pontos és naprakész listát a Bluetooth eszközeinkről! Technikai ajánlások Technikai ajánlások közé soroljuk azokat a tanácsokat, melyek kifejezetten a Bluetooth technológiai oldalával kapcsolatosak. Változtassuk meg az eszközök alapértelmezett beállításait, a vállalat biztonsági szabályzatának megfelelően! Az eszközök jelerősségét állítsuk a lehető legalacsonyabbra! 64

65 Bluetooth és a biztonság Bizonyosodjunk meg róla, hogy az a terület, ahol használni kívánjuk az eszközünket, védett a lehallgatás ellen! Elfogadható védelemnek tekinthető, ha a terület például vizuális megfigyelés alatt áll. Válasszunk megfelelően erős PIN kódot! Bizonyosodjunk meg róla, hogy a használt eszközeink egyike sem rendelkezik előre beállított és nem megváltoztatható PIN kódokat! Állítsuk be az eszközeinkben, hogy a kapcsolat inicializálása után töröljék a megadott PIN kódot! Használjunk valamilyen alternatív protokollt a PIN kódok átküldésére! Például a Diffie-Hellman Key Exchange vagy valamilyen tanúsítvány alapú megoldás használata lehetséges a megfelelő alkalmazásokkal Használattal, működéssel kapcsolatos ajánlások Ezek az ajánlások az eszközök mindennapi használatával, más eszközökkel való kommunikáció mikéntjével kapcsolatosak. Bizonyosodjunk meg róla, hogy kombinációs kulcsot használ az eszköz unit kulcs helyett! Minden esetben használjunk kapcsolat szintű titkosítást! (Ne használjunk az 1-es biztonsági módot!) Bizonyosodjunk meg róla, hogy ha egy időben több aktív kapcsolatot is kiépítettünk, mindegyik használ titkosítást! Csak jól ismert környezetben használjuk a 2-es biztonsági módot! Bizonyosodjunk meg róla, hogy minden esetben megköveteljük a kölcsönös hitelesítést! Engedélyezzük a titkosítást minden üzenetszórásos kommunikáció esetében! A lehető leghosszabb titkosító kulcs méretet állítsuk be, amit az adott eszköz engedélyez! Bizonyosodjunk meg róla, hogy minden eszköz jelszóval védett! (Ha az eszközt ellopják, a támadó nem fér hozzá a tárolt adatokhoz és nem tudja felhasználni az eszközt!) Az érzékeny adatokat érintő kommunikáció során használjunk alkalmazás-szintű titkosítási és hitelesítési megoldásokat! Például használható valamilyen IPSec alapú VPN megoldás. Alkalmazzunk valamilyen okos kártyán (smart card) alapuló megoldást a Bluetooth hálózatokhoz való kapcsolódáskor a hagyományos kulcs alapú protokoll helyett! Használjunk antivírus szoftvereket! Rendszeresen telepítsük a Bluetooth hibajavításokat! 65

66 Bluetooth és a biztonság Alkalmazzunk felhasználó hitelesítési megoldást! Például biometrikus azonosítás, okos kártyák, két fázisú (erős) hitelesítés, vagy PKI 5. 5 Public Key Infrastructure [4], [6] 66

67 Bluetooth biztonság a gyakorlatban 6 Bluetooth biztonság a gyakorlatban Az eddigi fejezetek során megismerkedtünk az információbiztonság (és informatikai biztonság) alapvető fogalmaival, a Bluetooth vezeték nélküli kommunikációs protokollal, valamint ezek viszonyával. Láttuk, hogy milyen lehetőségeket tud kínálni a Bluetooth szabvány a biztonságot illetően, ugyanakkor észrevettük azt is, hogy e téren rendelkezik hiányosságokkal a protokoll. Ebben a fejezetben konkrét eszközöket vizsgálunk meg, hogy lássuk a szabvány különböző implementáció vajon kijavítják-e az előbb említett hiányosságokat vagy esetleg élve a szabvány által nyújtott néha túlságosan megengedő lehetőségekkel könnyű célponttá teszik mindennapi eszközeinket. 6.1 Támadások Mielőtt azonban belekezdenénk a tényleges tesztekbe és mérésekbe, ismerkedjünk meg a kimondottan Bluetooth eszközök ellen kifejlesztett támadásokkal. Az alábbiakban láthatjuk a legismertebb támadásokat és azok rövid leírását Bluejacking Ez a legártalmatlanabb de igen bosszantó támadási forma. Lényegében nem más, mint kéretlen üzenetek küldése az áldozat telefonjára, PDA-jára vagy laptopjára. Minden támadás közül ez a legegyszerűbb is, bármelyik Bluetooth képes készülékkel kivitelezhető és bármely másik készülék támadható Bluejacking módszerrel, ráadásul semmilyen segédprogramra nincs szüksége a támadónak. Az elv roppan egyszerű, a Bluetooth készülékek egyik legnagyobb előnye, hogy a digitális névjegykártyáinkat át tudjuk küldeni a különböző készülékek között. A Bluejacking tulajdonképpen nem más, mint egy speciális névjegykártya átküldése. Semmi mást nem kell tennünk, mint az elküldeni kívánt üzenetet beleírjuk a névjegykártyába lehetőség szerint a név mezőbe, hiszen ez fog megjelenni a másik fél készülékén a küldést követően majd átküldjük az áldozatnak. Láthatjuk, hogy ezzel a módszerrel semmilyen kárt nem tudunk okozni, információkat sem tudunk kinyerni a másik eszközből, csupán bosszantani, megijeszteni tudjuk az áldozatot. Éppen ezért sokáig úgy tűnt, a Bluejacking megmarad a tizenéves kamaszok játéka, az április 1-jék mókája. Azonban ha jól meggondoljuk, komoly veszélyeket is rejthet ez az első látásra ártalmatlan gyerekcsíny. Az elmúlt években igen nagy visszhangot kaptak az úgynevezett social engineering (megtévesztésen vagy emberi ráhatáson alapuló) támadások. Ezzel a támadással nem véletlenül nem foglalkoztunk eddig sem, most sem térünk ki rá részletesen, elég annyit tudnunk róla, hogy ezeknek a támadásoknak a lényege, hogy a támadó nem az adott infrastruktúrát vagy eszközöket támadja, hanem a magukat az embereket. A támadás formája pedig személyes ráhatás. Tekintsünk egy egyszerű példát: be akarunk jutni egy irodaházba, ahol kártyás beléptető rendszer működik. A bejutás hagyományos módja, hogy valahogy szerzünk vagy hamisítunk egy kártyát, esetleg feltörjük magát a beléptető rendszert. A szocióhekkerek, vagyis azok, akik a social engineering módszerét használják, 67

68 Bluetooth biztonság a gyakorlatban azonban egyszerűbb megoldást keresnek, egyszerűen rábeszélik a portást, hogy engedje be őket. A rábeszélés kifejezés itt természetesen jóval egyszerűbb színben tűnteti fel ezt a művészetet, mint amilyen az valójában. A social engineering világába nyújt igencsak autentikus betekintést Kevin D. Mitnick, A legendás hacker A megtévesztés művészete című könyve. De mégis hogy kapcsolódik ez az egész a Bluejackinghez? Nos, véleményem szerint egy jól megfogalmazott Bluejacking üzenet igen erős fegyver lehet egy szocióhekker kezében. Gondoljuk csak el, mit tennénk illetve mit tenne mondjuk 10 közeli ismerősünk ha egyszer csak egy ilyen üzenet jelenne meg a telefonunk kijelzőjén: Tisztelt Hölgyem/Uram! Számítógépes rendszerünk hibája miatt ügyfeleink adatainak konzisztenciája megsérült. Kérjük, a minél előbbi helyreállítás érdekében, amint lehet, küldje el a bankszámlaszámához tartozó titkos ügyfél kulcsot az alábbi ingyenes telefonszámra. Ezen telefonszám a bank biztonsági rendszerének részét képező speciális készülék száma, adatainak biztonsága tehát garantált. 06/ Segítségét köszönjünk, XY Bank. Az üzenet ugyan kicsit hosszú egy Bluejacking támadáshoz, de higgyük el, hogy egy tapasztalt támadó két sorban is tud olyan üzenetet küldeni bármelyikünknek, amit nagyon könnyen elhiszünk Bluesnarfing Azokat a támadásokat nevezzük Bluesnarfing támadásnak, melyek valamilyen módon nem hitelesített hozzáférést biztosítanak az áldozat eszközéhez. Ezáltal általában a támadó számára elérhetővé válik a másik eszközön lévő naptár, névjegyzék, -ek, szöveges üzenetek, esetleg az eszközön tárolt képek, hangok és videók is. Fontos megjegyezni, hogy ennél a támadás fajtánál általában szükség van az áldozat közreműködésére, ugyanis legtöbb esetben a párosítás végrehajtása után válik támadhatóvá Bluesnarfing módszerrel az eszköz. Bár az is igaz, hogy az Interneten keringenek olyan pletykák, miszerint léteznek olyan szoftverek, melyek képesek úgy végrehajtani a Bluesnarfing támadást, hogy az áldozat készülékén semmilyen interakcióra nincs szükség, sőt a támadás teljesen rejtve marad. Ennek a támadásnak tehát az elsődleges veszélye az áldozat készülékén tárolt információk illetéktelen kezekbe kerülése. Természetesen egyikünk sem szeretné, ha a privát adatai egy 68

69 Bluetooth biztonság a gyakorlatban harmadik fél birtokába kerülnének. Az etikai problémákon túl azonban ennek a támadásnak már üzleti kockázata is van, azaz tényleges forintban kifejezhető károkat okozhat. Gondoljunk például egy bank igazgatójának okos telefonjára, amelyben szinte minden fontos és üzleti szempontból kritikus információ megtalálható. Arról már nem is beszélve, hogy hányan tárolják a különböző PIN kódjaikat és jelszavaikat a telefonjuk memóriájában, hiszen az mindig kéznél van, ha éppen nem jutna eszükbe a szükséges kód vagy jelszó Bluebugging A Bluetooth támadások evolúciójának következő állomása a Bluebugging, melyet egy német kutató, Martin Herfurt fedezett fel. Bluebugging során a támadó szó szerint betör az áldozat készülékébe, parancsokat képes kiadni a másik fél tudta nélkül. Lehallgathatja a telefonhívásait, vagy akár ő maga kezdeményezhet hívásokat az áldozat telefonján keresztül természetesen az áldozat számlájára. De ugyanígy küldhet szöveges üzeneteket, internetezhet, az áldozat készülékének bármely szolgáltatását igénybe veheti. Természetesen a Bluebugging hasonlóan a BlueSnarfing-hoz illegális a legtöbb országban! Bluesmack Természetesen a Bluetooth hackerek is kifejlesztették a saját, szolgáltatás megtagadásra (DoS Denial of Service) irányuló támadási formájukat. A Bluesmack, hasonlóan az egyéb környezetben alkalmazott DoS támadásokhoz, technikailag igen primitív, az alapelv az, hogy egymás után sokszor kérvényezünk párosítást az áldozat eszköze felé. Az eszközben lévő véges erőforrások miatt bizonyos kérésszám felett a készülék lefagy, újraindul vagy használhatatlanná válik. Mint látjuk Bluesmack esetén a Bluejacking-hez hasonlóan nincs szó információlopásról vagy lehallgatásról, itt mindössze az eszköz megbénítása a cél. 69

70 Bluetooth biztonság a gyakorlatban HeloMoto A HeloMoto támadás kicsit kilóg a sorból, hiszen nem egy újabb technikáról van szó, azonban talán az egyik leghíresebb és leghírhedtebb Bluetooth támadás. Hírnevét hangzatos nevének köszönheti, melyet a Motorola telefonok reklámjában elhangzó Hello, Moto! szlogen után kapta. Ahogy a neve is mutatja, kimondottan Motorola telefonok támadására fejlesztették. Technikailag tekinthető egy bluesnarf és egy bluebug technikákból összegyúrt hibridnek, mely a trusted device (megbízható eszköz) kategóriájának hibás implementációját használja ki. Ez az implementációs hiba, számos régebbi Motorola telefonban megtalálható volt. Végül álljon itt egy korántsem teljes lista azokról az igen népszerű készülékekről, melyek támadhatók a fenti módszerek valamelyikével: Ericsson T39m Ericsson T68 Sony Ericsson T68i Sony Ericsson T610 Nokia 6310 / 6310i Nokia 8910 / 8910 i Motorola V80 Motorola V5xx Motorola V6xx A teljes igazsághoz hozzátartozik az is, hogy a fent felsorolt támadások elsősorban régebbi modellek esetén alkalmazhatóak. Az új eszközök úgy tűnik immunisak ezekre az ismert támadásokra. Persze sokszor bebizonyosodott már, hogy a biztonsági szakemberek és a támadók között dúló háborúban sosincs győztes, néha az egyik, néha a másik fél nyer csatát, de a küzdelemnek sosincs vége, sőt egyre több fronton zajlanak ütközetek. 70

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette:

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette: IT BIZTONSÁGTECHNIKA Tanúsítványok Készítette: Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP Tartalom Tanúsítvány fogalma:...3 Kategóriák:...3 X.509-es szabvány:...3 X.509 V3 tanúsítvány felépítése:...3

Részletesebben

Webalkalmazás-biztonság. Kriptográfiai alapok

Webalkalmazás-biztonság. Kriptográfiai alapok Webalkalmazás-biztonság Kriptográfiai alapok Alapfogalmak, áttekintés üzenet (message): bizalmas információhalmaz nyílt szöveg (plain text): a titkosítatlan üzenet (bemenet) kriptoszöveg (ciphertext):

Részletesebben

Kriptográfiai alapfogalmak

Kriptográfiai alapfogalmak Kriptográfiai alapfogalmak A kriptológia a titkos kommunikációval foglalkozó tudomány. Két fő ága a kriptográfia és a kriptoanalízis. A kriptográfia a titkosítással foglalkozik, a kriptoanalízis pedig

Részletesebben

Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás

Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás 2017.10.13. Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás 1 Tartalom Alapvetések Alapfogalmak Változatok Tradicionális Szimmetrikus Aszimmetrikus Kombinált Digitális

Részletesebben

Titkosítás NetWare környezetben

Titkosítás NetWare környezetben 1 Nyílt kulcsú titkosítás titkos nyilvános nyilvános titkos kulcs kulcs kulcs kulcs Nyilvános, bárki által hozzáférhető csatorna Nyílt szöveg C k (m) Titkosított szöveg Titkosított szöveg D k (M) Nyílt

Részletesebben

IP alapú távközlés. Virtuális magánhálózatok (VPN)

IP alapú távközlés. Virtuális magánhálózatok (VPN) IP alapú távközlés Virtuális magánhálózatok (VPN) Jellemzők Virtual Private Network VPN Publikus hálózatokon is használható Több telephelyes cégek hálózatai biztonságosan összeköthetők Olcsóbb megoldás,

Részletesebben

Adat és Információvédelmi Mesteriskola 30 MB. Dr. Beinschróth József SAJÁTOS LOGIKAI VÉDELEM: A KRIPTOGRÁFIA ALKALMAZÁSA

Adat és Információvédelmi Mesteriskola 30 MB. Dr. Beinschróth József SAJÁTOS LOGIKAI VÉDELEM: A KRIPTOGRÁFIA ALKALMAZÁSA 30 MB Dr. Beinschróth József SAJÁTOS LOGIKAI VÉDELEM: A KRIPTOGRÁFIA ALKALMAZÁSA Tartalom Alapvetések - kiindulópontok Alapfogalmak Változatok Tradicionális módszerek Szimmetrikus kriptográfia Aszimmetrikus

Részletesebben

5.1 Környezet. 5.1.1 Hálózati topológia

5.1 Környezet. 5.1.1 Hálózati topológia 5. Biztonság A rendszer elsodleges célja a hallgatók vizsgáztatása, így nagy hangsúlyt kell fektetni a rendszert érinto biztonsági kérdésekre. Semmiképpen sem szabad arra számítani, hogy a muködo rendszert

Részletesebben

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék. Kriptográfia és Információbiztonság 7. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018 Miről volt szó az elmúlt előadáson? Kriptográfiai

Részletesebben

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék. Kriptográfia és Információbiztonság 11. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018 Miről volt szó az elmúlt előadáson? hash függvények

Részletesebben

(appended picture) hát azért, mert a rendszerek sosem

(appended picture) hát azért, mert a rendszerek sosem 1 Általános kezdés: Nyilvánvaló, hogy banki, üzleti szférában fontos a biztonság, de máshol? Otthoni gépen? Személyes adatok megszerezhetőek stb. vissza lehet élni vele -> igen tényleg fontos. Beágyazott,

Részletesebben

A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A.

A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A. JOGI INFORMATIKA A Z E L E K T R O N I K U S A L Á Í R Á S J O G I S Z A B Á L Y O Z Á S A. A kutatás a TÁMOP 4.2.4.A/2-11-1-2012-0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve

Részletesebben

Elektronikus aláírás. Gaidosch Tamás. Állami Számvevőszék

Elektronikus aláírás. Gaidosch Tamás. Állami Számvevőszék Elektronikus aláírás Gaidosch Tamás Állami Számvevőszék 2016.05.24 Tartalom Mit tekintünk elektronikus aláírásnak? Hogyan működik? Kérdések 2 Egyszerű elektronikus aláírás 3 Demo: valódi elektronikus aláírás

Részletesebben

Sapientia Egyetem, Műszaki és Humántudományok Tanszék. mgyongyi@ms.sapientia.ro

Sapientia Egyetem, Műszaki és Humántudományok Tanszék. mgyongyi@ms.sapientia.ro Kriptográfia és Információbiztonság 10. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2015 Vizsgatematika 1 Klasszikus kriptográfiai rendszerek

Részletesebben

Elektronikus aláírás és titkosítás beállítása MS Outlook 2010 levelezőben

Elektronikus aláírás és titkosítás beállítása MS Outlook 2010 levelezőben Elektronikus aláírás és titkosítás beállítása MS Outlook 2010 levelezőben Verziószám 2.0 Objektum azonosító (OID) Hatálybalépés dátuma 2013. november 6. 1 Változáskövetés Verzió Dátum Változás leírása

Részletesebben

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék. Kriptográfia és Információbiztonság 8. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018 Miről volt szó az elmúlt előadáson? az RSA titkosító

Részletesebben

Prímtesztelés, Nyilvános kulcsú titkosítás

Prímtesztelés, Nyilvános kulcsú titkosítás Prímtesztelés, Nyilvános kulcsú titkosítás Papp László BME December 8, 2018 Prímtesztelés Feladat: Adott egy nagyon nagy n szám, döntsük el, hogy prímszám-e! Naív kísérletek: 1. Nézzük meg minden nála

Részletesebben

Kvantumkriptográfia II.

Kvantumkriptográfia II. LOGO Kvantumkriptográfia II. Gyöngyösi László BME Villamosmérnöki és Informatikai Kar Titkos kommunikáció modellje k 1 k 2 k n k 1 k 2 k n A titkos kommunikáció során Alice és Bob szeretne egymással üzeneteket

Részletesebben

Vezetéknélküli technológia

Vezetéknélküli technológia Vezetéknélküli technológia WiFi (Wireless Fidelity) 802.11 szabványt IEEE definiálta protokollként, 1997 Az ISO/OSI modell 1-2 rétege A sebesség függ: helyszíni viszonyok, zavarok, a titkosítás ki/be kapcsolása

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. középszint 2016. ősz 1. Diszkrét matematika 1. középszint 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra

Részletesebben

Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens

Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens A nyílt kulcsú titkosítás és a digitális aláírás Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens Budapest Műszaki Főiskola Kandó Kálmán Műszaki Főiskolai Kar Műszertechnikai és Automatizálási

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Nagy Gábor  compalg.inf.elte.hu/ nagy ősz Diszkrét matematika 1. estis képzés 2017. ősz 1. Diszkrét matematika 1. estis képzés 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján

Részletesebben

Diszkrét matematika I.

Diszkrét matematika I. Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 11. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Kongruenciák Diszkrét matematika I. középszint 2014.

Részletesebben

Adatbiztonság PPZH 2011. május 20.

Adatbiztonság PPZH 2011. május 20. Adatbiztonság PPZH 2011. május 20. 1. Mutassa meg, hogy a CBC-MAC kulcsolt hashing nem teljesíti az egyirányúság követelményét egy a k kulcsot ismerő fél számára, azaz tetszőleges MAC ellenőrzőösszeghez

Részletesebben

Leképezések. Leképezések tulajdonságai. Számosságok.

Leképezések. Leképezések tulajdonságai. Számosságok. Leképezések Leképezések tulajdonságai. Számosságok. 1. Leképezések tulajdonságai A továbbiakban legyen A és B két tetszőleges halmaz. Idézzünk fel néhány definíciót. 1. Definíció (Emlékeztető). Relációknak

Részletesebben

Digitális aláírás és kriptográfiai hash függvények. 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X)

Digitális aláírás és kriptográfiai hash függvények. 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X) Digitális aláírás és kriptográfiai hash függvények A digitális aláírás protokollok feladatai: 1. az aláírás generálása (az X üzenetet küldő A fél végzi): A B: X, D A (X) 2. az aláírás ellenőrzése (B címzett

Részletesebben

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Sapientia Egyetem, Műszaki és Humántudományok Tanszék. Kriptográfia és Információbiztonság 8. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2017 Miről volt szó az elmúlt előadáson? A Crypto++

Részletesebben

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába SSL 1 SSL elemei Az SSL illeszkedése az internet protokoll-architektúrájába 2 SSL elemei 3 SSL elemei 4 SSL Record protokoll 5 SSL Record protokoll Az SSL Record protokoll üzenet formátuma 6 SSL Record

Részletesebben

Információs társadalom alapismeretek

Információs társadalom alapismeretek Információs társadalom alapismeretek Szabó Péter Gábor Titkosítás és számítástechnika Titkosítás alapfogalmai A Colossus Kriptográfia A rejtjelezés két fı lépésbıl áll: 1) az üzenet titkosítása (kódolás)

Részletesebben

Hálózati biztonság (772-775) Kriptográfia (775-782)

Hálózati biztonság (772-775) Kriptográfia (775-782) Területei: titkosság (secrecy/ confidentality) hitelesség (authentication) letagadhatatlanság (nonrepudiation) sértetlenség (integrity control) Hálózati biztonság (772-775) Melyik protokoll réteg jöhet

Részletesebben

Alapfogalmak. Biztonság. Biztonsági támadások Biztonsági célok

Alapfogalmak. Biztonság. Biztonsági támadások Biztonsági célok Alapfogalmak Biztonság Biztonsági támadások Biztonsági célok Biztonsági szolgáltatások Védelmi módszerek Hálózati fenyegetettség Biztonságos kommunikáció Kriptográfia SSL/TSL IPSec Támadási folyamatok

Részletesebben

E mail titkosítás az üzleti életben ma már követelmény! Ön szerint ki tudja elolvasni bizalmas email leveleinket?

E mail titkosítás az üzleti életben ma már követelmény! Ön szerint ki tudja elolvasni bizalmas email leveleinket? E mail titkosítás az üzleti életben ma már követelmény! Ön szerint ki tudja elolvasni bizalmas email leveleinket? Egy email szövegében elhelyezet információ annyira biztonságos, mintha ugyanazt az információt

Részletesebben

Adja meg, hogy ebben az esetben mely handshake üzenetek kerülnek átvitelre, és vázlatosan adja meg azok tartalmát! (8p)

Adja meg, hogy ebben az esetben mely handshake üzenetek kerülnek átvitelre, és vázlatosan adja meg azok tartalmát! (8p) Adatbiztonság a gazdaságinformatikában PZH 2013. december 9. 1. Tekintsük a következő rejtjelező kódolást: nyílt üzenetek halmaza {a,b}, kulcsok halmaza {K1,K2,K3,K4,K5}, rejtett üzenetek halmaza {1,2,3,4,5}.

Részletesebben

Kriptográfia I. Kriptorendszerek

Kriptográfia I. Kriptorendszerek Kriptográfia I Szimmetrikus kulcsú titkosítás Kriptorendszerek Nyíltszöveg üzenettér: M Titkosított üzenettér: C Kulcs tér: K, K Kulcsgeneráló algoritmus: Titkosító algoritmus: Visszafejt algoritmus: Titkosítás

Részletesebben

Informatikai biztonság a kezdetektől napjainkig

Informatikai biztonság a kezdetektől napjainkig Informatikai biztonság a kezdetektől napjainkig Dr. Leitold Ferenc tanszékvezető, egyetemi docens Nemzeti Közszolgálati Egyetem Közigazgatás-tudományi Kar E-közszolgálati Fejlesztési Intézet Információbiztonsági

Részletesebben

Számítógépes vírusok. Barta Bettina 12. B

Számítógépes vírusok. Barta Bettina 12. B Számítógépes vírusok Barta Bettina 12. B Vírusok és jellemzőik Fogalma: A számítógépes vírus olyan önmagát sokszorosító program,mely képes saját magát más végrehajtható alkalmazásokban, vagy dokumentumokban

Részletesebben

Adatbázis kezelő szoftverek biztonsága. Vasi Sándor G-3S

Adatbázis kezelő szoftverek biztonsága. Vasi Sándor G-3S Adatbázis kezelő szoftverek biztonsága Vasi Sándor sanyi@halivud.com G-3S8 2006. Egy kis ismétlés... Adatbázis(DB): integrált adatrendszer több különböző egyed előfordulásainak adatait adatmodell szerinti

Részletesebben

Számítógép hálózatok gyakorlat

Számítógép hálózatok gyakorlat Számítógép hálózatok gyakorlat 8. Gyakorlat Vezeték nélküli helyi hálózatok 2016.04.07. Számítógép hálózatok gyakorlat 1 Vezeték nélküli adatátvitel Infravörös technológia Még mindig sok helyen alkalmazzák

Részletesebben

Data Security: Access Control

Data Security: Access Control Data Security 1. Alapelvek 2. Titkos kulcsú rejtjelezés 3. Nyilvános kulcsú rejtjelezés 4. Kriptográfiai alapprotokollok I. 5. Kriptográfiai alapprotokollok II. Data Security: Access Control A Rossz talált

Részletesebben

Számítógépes Hálózatok. 4. gyakorlat

Számítógépes Hálózatok. 4. gyakorlat Számítógépes Hálózatok 4. gyakorlat Feladat 0 Számolja ki a CRC kontrollösszeget az 11011011001101000111 üzenetre, ha a generátor polinom x 4 +x 3 +x+1! Mi lesz a 4 bites kontrollösszeg? A fenti üzenet

Részletesebben

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA infokommunikációs technológiák IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA BEVEZETÉS Mit jelent, hogy működik a felhő alapú adattárolás? Az adatainkat interneten elérhető

Részletesebben

Megbízhatóság az informatikai rendszerekben

Megbízhatóság az informatikai rendszerekben Megbízhatóság az informatikai rendszerekben Az információ Minden intelligens rendszer hajtóanyaga Az információ minőségi jellemzői Sértetlenség Biztonság Adatvédelem Titkosság Hitelesség Rendelkezésre

Részletesebben

Biztonság a glite-ban

Biztonság a glite-ban Biztonság a glite-ban www.eu-egee.org INFSO-RI-222667 Mi a Grid biztonság? A Grid probléma lehetővé tenni koordinált erőforrás megosztást és probléma megoldást dinamikus több szervezeti egységből álló

Részletesebben

Modern szimmetrikus kulcsú rejtjelezők kriptoanalízise

Modern szimmetrikus kulcsú rejtjelezők kriptoanalízise Modern szimmetrikus kulcsú rejtjelezők kriptoanalízise - kimerítő kulcskeresés: határa ma 64 bit számítási teljesítmény költsége feleződik 18 havonta 25 éven belül 80 bit - differenciális kriptoanalízis:

Részletesebben

Krasznay Csaba Zrínyi Miklós Nemzetvédelmi Egyetem

Krasznay Csaba Zrínyi Miklós Nemzetvédelmi Egyetem Krasznay Csaba Zrínyi Miklós Nemzetvédelmi Egyetem Korábban soha nem látott mennyiségű közigazgatási rendszer- és szoftverfejlesztés történik Magyarországon A Nemzeti Fejlesztési Ügynökség adatai szerint

Részletesebben

megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:

megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye: Az RSA módszer Az RSA módszer titkossága a prímtényezős felbontás nehézségén, a prímtényezők megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:

Részletesebben

Bevezetés. Adatvédelmi célok

Bevezetés. Adatvédelmi célok Bevezetés Alapfogalmak Adatvédelmi célok Adatok és információk elérhet!ségének biztosítása és védelme Hagyományosan fizikai és adminisztratív eszközökkel Számítógépes környezetben automatizált eszközökkel

Részletesebben

Nagy Gábor compalg.inf.elte.hu/ nagy

Nagy Gábor  compalg.inf.elte.hu/ nagy Diszkrét matematika 3. estis képzés 2018. ősz 1. Diszkrét matematika 3. estis képzés 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék

Részletesebben

Példa a report dokumentumosztály használatára

Példa a report dokumentumosztály használatára Példa a report dokumentumosztály használatára Szerző neve évszám Tartalomjegyzék 1. Valószínűségszámítás 5 1.1. Események matematikai modellezése.............. 5 1.2. A valószínűség matematikai modellezése............

Részletesebben

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak Hálózatok Alapismeretek A hálózatok célja, építőelemei, alapfogalmak A hálózatok célja A korai időkben terminálokat akartak használni a szabad gépidők lekötésére, erre jó lehetőség volt a megbízható és

Részletesebben

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk 1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán

Részletesebben

Számítógépes hálózatok

Számítógépes hálózatok Számítógépes hálózatok 3.gyakorlat Fizikai réteg Kódolások, moduláció, CDMA Laki Sándor lakis@inf.elte.hu http://lakis.web.elte.hu 1 Második házi feladat 2 AM és FM analóg jel modulációja esetén Forrás:

Részletesebben

Számítógépes hálózatok

Számítógépes hálózatok 1 Számítógépes hálózatok Hálózat fogalma A hálózat a számítógépek közötti kommunikációs rendszer. Miért érdemes több számítógépet összekapcsolni? Milyen érvek szólnak a hálózat kiépítése mellett? Megoszthatók

Részletesebben

Szabó Zoltán PKI termékmenedzser szabo.zoltan@netlock.hu

Szabó Zoltán PKI termékmenedzser szabo.zoltan@netlock.hu Elektronikus számlázás Szabó Zoltán PKI termékmenedzser szabo.zoltan@netlock.hu TARTALOM A NetLock-ról röviden Magyarország első hitelesítés-szolgáltatója Az ealáírásról általában Hogyan, mivel, mit lehet

Részletesebben

TANÚSÍTVÁNY. tanúsítja, hogy a Utimaco Safeware AG által kifejlesztett és forgalmazott

TANÚSÍTVÁNY. tanúsítja, hogy a Utimaco Safeware AG által kifejlesztett és forgalmazott TANÚSÍTVÁNY A HUNGUARD Számítástechnikai-, informatikai kutató-fejlesztő és általános szolgáltató Kft. a 15/2001.(VIII. 27.) MeHVM rendelet alapján, mint a Magyar Köztársaság Informatikai és Hírközlési

Részletesebben

Titkosítási rendszerek CCA-biztonsága

Titkosítási rendszerek CCA-biztonsága Titkosítási rendszerek CCA-biztonsága Doktori (PhD) értekezés szerző: MÁRTON Gyöngyvér témavezető: Dr. Pethő Attila Debreceni Egyetem Természettudományi Doktori Tanács Informatikai Tudományok Doktori Iskola

Részletesebben

Mi ez? zadban. Area Network) specifikáci ket. (Personal. max.

Mi ez? zadban. Area Network) specifikáci ket. (Personal. max. Bluetooth biztonság Mi ez? Eredetileg I. Harald,, a X. században zadban élt dán d n király beceneve Egyébk bként a vezeték k nélkn lküli li PAN-ok (Personal Area Network) specifikáci ciója Célja, hogy

Részletesebben

Elektronikus levelek. Az informatikai biztonság alapjai II.

Elektronikus levelek. Az informatikai biztonság alapjai II. Elektronikus levelek Az informatikai biztonság alapjai II. Készítette: Póserné Oláh Valéria poserne.valeria@nik.bmf.hu Miről lesz szó? Elektronikus levelek felépítése egyszerű szövegű levél felépítése

Részletesebben

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja. A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja. A hálózat kettő vagy több egymással összekapcsolt számítógép, amelyek között adatforgalom

Részletesebben

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom Tartalom Operációs rendszerek 12. Az operációs rendszerek biztonsági kérdései Simon Gyula A védelem célja A fenyegetés forrásai Belső biztonság Külső biztonság Felhasznált irodalom: Kóczy-Kondorosi (szerk.):

Részletesebben

Dr. Bakonyi Péter c.docens

Dr. Bakonyi Péter c.docens Elektronikus aláírás Dr. Bakonyi Péter c.docens Mi az aláírás? Formailag valamilyen szöveg alatt, azt jelenti, hogy valamit elfogadok valamit elismerek valamirıl kötelezettséget vállalok Azonosítja az

Részletesebben

Data Security: Protocols Integrity

Data Security: Protocols Integrity Integrity Az üzenethitelesítés (integritásvédelem) feladata az, hogy a vételi oldalon detektálhatóvá tegyük azon eseményeket, amelyek során az átviteli úton az üzenet valamilyen módosulást szenvedett el.

Részletesebben

Data Security: Access Control

Data Security: Access Control Data Security 1. Alapelvek 2. Titkos kulcsú rejtjelezés 3. Nyilvános kulcsú rejtjelezés 4. Kriptográfiai alapprotokollok I. 5. Kriptográfiai alapprotokollok II. Data Security: Access Control A Rossz talált

Részletesebben

SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK

SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK INFORMATIKA SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK Az emelt szint a középszint követelményeit magában foglalja, de azokat magasabb szinten kéri számon. 1. Információs társadalom 2. Informatikai alapismeretek - hardver

Részletesebben

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 10 X. SZIMULÁCIÓ 1. VÉLETLEN számok A véletlen számok fontos szerepet játszanak a véletlen helyzetek generálásában (pénzérme, dobókocka,

Részletesebben

Az adatfeldolgozás és adatátvitel biztonsága. Az adatfeldolgozás biztonsága. Adatbiztonság. Automatikus adatazonosítás, adattovábbítás, adatbiztonság

Az adatfeldolgozás és adatátvitel biztonsága. Az adatfeldolgozás biztonsága. Adatbiztonság. Automatikus adatazonosítás, adattovábbítás, adatbiztonság Az adatfeldolgozás és adatátvitel biztonsága Automatikus adatazonosítás, adattovábbítás, adatbiztonság Az adatfeldolgozás biztonsága A védekezés célja Védelem a hamisítás és megszemélyesítés ellen Biztosított

Részletesebben

Számítógépes Hálózatok. 5. gyakorlat

Számítógépes Hálózatok. 5. gyakorlat Számítógépes Hálózatok 5. gyakorlat Óra eleji kiszh Elérés: https://oktnb6.inf.elte.hu Számítógépes Hálózatok Gyakorlat 2 Gyakorlat tematika Szinkron CDMA Órai / házi feladat Számítógépes Hálózatok Gyakorlat

Részletesebben

Közigazgatási informatika tantárgyból

Közigazgatási informatika tantárgyból Tantárgyi kérdések a záróvizsgára Közigazgatási informatika tantárgyból 1.) A közbeszerzés rendszere (alapelvek, elektronikus árlejtés, a nyílt eljárás és a 2 szakaszból álló eljárások) 2.) A közbeszerzés

Részletesebben

Adott egy szervezet, és annak ügyfelei. Nevezzük a szervezetet bank -nak. Az ügyfelek az Interneten keresztül érzékeny információkat, utasításokat

Adott egy szervezet, és annak ügyfelei. Nevezzük a szervezetet bank -nak. Az ügyfelek az Interneten keresztül érzékeny információkat, utasításokat ! # $%&'() Adott egy szervezet, és annak ügyfelei. Nevezzük a szervezetet bank -nak. Az ügyfelek az Interneten keresztül érzékeny információkat, utasításokat küldenek a banknak. A bank valahogy meggyzdik

Részletesebben

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem A JGrid rendszer biztonsági architektúrája Magyaródi Márk Juhász Zoltán Veszprémi Egyetem A JGrid projekt Java és Jini alapú szolgáltatás orientált Grid infrastruktúra IKTA-5 089/2002 (2003-2004) Konzorcium:

Részletesebben

A GDPR FELKÉSZÜLÉS INFORMATIKAI KÉRDÉSEI. Az audit gyakorlati szempontjai. Sipos Győző CISA IT biztonságtechnikai auditor

A GDPR FELKÉSZÜLÉS INFORMATIKAI KÉRDÉSEI. Az audit gyakorlati szempontjai. Sipos Győző CISA IT biztonságtechnikai auditor A GDPR FELKÉSZÜLÉS INFORMATIKAI KÉRDÉSEI { Az audit gyakorlati szempontjai Sipos Győző CISA IT biztonságtechnikai auditor Mobil: +36 20 916 3541 E-mail: sipos.gyozo@nador.hu SZÁMSZERŰSÍTETT KOCKÁZATOK

Részletesebben

Adat és információvédelem Informatikai biztonság. Dr. Beinschróth József CISA

Adat és információvédelem Informatikai biztonság. Dr. Beinschróth József CISA Adat és információvédelem Informatikai biztonság Dr. Beinschróth József CISA Tematika Hol tartunk? Alapfogalmak, az IT biztonság problematikái Nemzetközi és hazai ajánlások Az IT rendszerek fenyegetettsége

Részletesebben

KÓDOLÁSTECHNIKA PZH. 2006. december 18.

KÓDOLÁSTECHNIKA PZH. 2006. december 18. KÓDOLÁSTECHNIKA PZH 2006. december 18. 1. Hibajavító kódolást tekintünk. Egy lineáris bináris blokk kód generátormátrixa G 10110 01101 a.) Adja meg a kód kódszavait és paramétereit (n, k,d). (3 p) b.)

Részletesebben

Informatikai alapismeretek

Informatikai alapismeretek Informatikai alapismeretek Informatika tágabb értelemben -> tágabb értelemben az információ keletkezésével, továbbításával, tárolásával és feldolgozásával foglalkozik Informatika szűkebb értelemben-> számítógépes

Részletesebben

Györgyi Tamás. Szoba: A 131 Tanári.

Györgyi Tamás. Szoba: A 131 Tanári. Györgyi Tamás Szoba: A 131 Tanári E-Mail: gyorgyit@petriktiszk.hu 2 Számítógépek megjelenésekor mindenki külön dolgozott. (Personal Computer) A fejlődéssel megjelent az igény a számítógépek összekapcsolására.

Részletesebben

Elektronikus hitelesítés a gyakorlatban

Elektronikus hitelesítés a gyakorlatban Elektronikus hitelesítés a gyakorlatban Tapasztó Balázs Vezető termékmenedzser Matáv Üzleti Szolgáltatások Üzletág 2005. április 1. 1 Elektronikus hitelesítés a gyakorlatban 1. Az elektronikus aláírás

Részletesebben

Számítógép hálózatok gyakorlat

Számítógép hálózatok gyakorlat Számítógép hálózatok gyakorlat 5. Gyakorlat Ethernet alapok Ethernet Helyi hálózatokat leíró de facto szabvány A hálózati szabványokat az IEEE bizottságok kezelik Ezekről nevezik el őket Az Ethernet így

Részletesebben

Megbízható számítástechnika: a biztonságos hordozható platform felé vezető úton

Megbízható számítástechnika: a biztonságos hordozható platform felé vezető úton Megbízható számítástechnika: a biztonságos hordozható platform felé vezető úton Mindannyian ismerjük a hordozható számítástechnikai platformokat veszélyeztető biztonsági fenyegetéseket a vírusokat, férgeket,

Részletesebben

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA 26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA Az előző két fejezetben tárgyalt feladat általánosításaként a gráfban található összes csúcspárra szeretnénk meghatározni a legkisebb költségű utat. A probléma

Részletesebben

Az Outlook levelező program beállítása tanúsítványok használatához

Az Outlook levelező program beállítása tanúsítványok használatához Az Outlook levelező program beállítása tanúsítványok használatához Windows tanúsítványtárban és kriptográfia eszközökön található tanúsítványok esetén 1(10) Tartalomjegyzék 1. Bevezető... 3 2. Az Outlook

Részletesebben

Hálózatok I. A tárgy célkitűzése

Hálózatok I. A tárgy célkitűzése Hálózatok I. A tárgy célkitűzése A tárgy keretében a hallgatók megismerkednek a számítógép-hálózatok felépítésének és működésének alapelveivel. Alapvető ismereteket szereznek a TCP/IP protokollcsalád megvalósítási

Részletesebben

AUTOMATED FARE COLLECTION (AFC) RENDSZEREK

AUTOMATED FARE COLLECTION (AFC) RENDSZEREK AUTOMATED FARE COLLECTION (AFC) RENDSZEREK A biztonságos elektronikus kereskedelem alapjai Házi feladat 2011. november 28., Budapest Szép Balázs (H2DLRK) Ill Gergely (Z3AY4B) Tartalom Bevezetés AFC általános

Részletesebben

Elektronikus aláírás. Miért van szükség elektronikus aláírásra? A nyiltkulcsú titkosítás. Az elektronikus aláírás m ködése. Hitelesít szervezetek.

Elektronikus aláírás. Miért van szükség elektronikus aláírásra? A nyiltkulcsú titkosítás. Az elektronikus aláírás m ködése. Hitelesít szervezetek. Elektronikus aláírás Miért van szükség elektronikus aláírásra? A nyiltkulcsú titkosítás. Az elektronikus aláírás m ködése. Jogi háttér Hitelesít szervezetek. Miért van szükség elektronikus aláírásra? Elektronikus

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az

Részletesebben

Tudnivalók az NYMESEK vezeték nélküli hálózatáról. Beállítási útmutató WIFI felhasználóink számára

Tudnivalók az NYMESEK vezeték nélküli hálózatáról. Beállítási útmutató WIFI felhasználóink számára Nyugat-magyarországi Egyetem Savaria Egyetemi Központ Tanulmányi, Szolgáltató és Informatikai Központ 9700 Szombathely, Károlyi Gáspár tér 4. Tel.: 94/504-645 e-mail: krisztina@sek.nyme.hu Tudnivalók az

Részletesebben

S, mint secure. Nagy Attila Gábor Wildom Kft. nagya@wildom.com

S, mint secure. Nagy Attila Gábor Wildom Kft. nagya@wildom.com S, mint secure Wildom Kft. nagya@wildom.com Egy fejlesztő, sok hozzáférés Web alkalmazások esetében a fejlesztést és a telepítést általában ugyanaz a személy végzi Több rendszerhez és géphez rendelkezik

Részletesebben

Testnevelési Egyetem VPN beállítása és használata

Testnevelési Egyetem VPN beállítása és használata Testnevelési Egyetem VPN beállítása és használata Tartalom 1. Figyelmeztetés!... 2 2. Hogyan működik a VPN?... 2 3. Beállítás... 3 3.1 Tudnivalók a beállítás előtt... 3 4. Használat... 7 5. Igénylés...

Részletesebben

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Matematika-Informatika Tanszék. Kriptográfia és Információbiztonság 3. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019 Miről volt szó az elmúlt előadáson? Klasszikus kriptográfiai

Részletesebben

Az Internet. avagy a hálózatok hálózata

Az Internet. avagy a hálózatok hálózata Az Internet avagy a hálózatok hálózata Az Internet története 1. A hidegháború egy fontos problémája Amerikában a hatvanas évek elején: Az amerikai kormányszervek hogyan tudják megtartani a kommunikációt

Részletesebben

Adatbiztonság az okos fogyasztásmérésben. Mit nyújthat a szabványosítás?

Adatbiztonság az okos fogyasztásmérésben. Mit nyújthat a szabványosítás? Adatbiztonság az okos fogyasztásmérésben Mit nyújthat a szabványosítás? Kmethy Győző - Gnarus Mérnökiroda DLMS User Association elnök IEC TC13 titkár CENELEC TC13 WG02 vezető Budapest 2012. szeptember

Részletesebben

Windows biztonsági problémák

Windows biztonsági problémák Windows biztonsági problémák Miskolci Egyetem Általános Informatikai Tanszék Miért a Windows? Mivel elterjedt, előszeretettel keresik a védelmi lyukakat könnyen lehet találni ezeket kihasználó programokat

Részletesebben

Az elektronikus aláírás és gyakorlati alkalmazása

Az elektronikus aláírás és gyakorlati alkalmazása Az elektronikus aláírás és gyakorlati alkalmazása Dr. Berta István Zsolt Microsec Kft. http://www.microsec.hu Elektronikus aláírás (e-szignó) Az elektronikus aláírás a kódolás

Részletesebben

NP-teljesség röviden

NP-teljesség röviden NP-teljesség röviden Bucsay Balázs earthquake[at]rycon[dot]hu http://rycon.hu 1 Turing gépek 1/3 Mi a turing gép? 1. Definíció. [Turing gép] Egy Turing-gép formálisan egy M = (K, Σ, δ, s) rendezett négyessel

Részletesebben

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA infokommunikációs technológiák IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA BEVEZETÉS Mit jelent, hogy működik a felhő alapú adattárolás? Az adatainkat interneten elérhető

Részletesebben

Bevezetés a Python programozási nyelvbe

Bevezetés a Python programozási nyelvbe Bevezetés a Python programozási nyelvbe 8. Gyakorlat modulok random számok (utolsó módosítás: 2017. aug. 3.) Szathmáry László Debreceni Egyetem Informatikai Kar 2017-2018, 1. félév Modulok Amint a programunk

Részletesebben

IFJÚSÁG-NEVELÉS. Nevelés, gondolkodás, matematika

IFJÚSÁG-NEVELÉS. Nevelés, gondolkodás, matematika IFJÚSÁG-NEVELÉS Nevelés, gondolkodás, matematika Érdeklődéssel olvastam a Korunk 1970. novemberi számában Édouard Labin cikkét: Miért érthetetlen a matematika? Egyetértek a cikk megállapításaival, a vázolt

Részletesebben

IT alapok 11. alkalom. Biztonság. Biztonság

IT alapok 11. alkalom. Biztonság. Biztonság Biztonság Biztonság Alapfogalmak Biztonsági támadás: adatok biztonságát fenyegető támadás, legyen az fizikai, vagy szellemi termék támadása Biztonsági mechanizmus: detektálás, megelőzés, károk elhárítása

Részletesebben

A Ket. végrehajtási rendeletei

A Ket. végrehajtási rendeletei ELŐADÁSOK NYOMDAKÉSZ ANYAGA A MAGYAR ELEKTRONIKUS KÖZIGAZGATÁSI RENDSZER BIZTONSÁGI ANALÍZISE Krasznay Csaba, krasznay@ik.bme.hu Szigeti Szabolcs, szigi@ik.bme.hu Budapesti Műszaki és Gazdaságtudományi

Részletesebben

Az Informatika Elméleti Alapjai

Az Informatika Elméleti Alapjai Az Informatika Elméleti Alapjai dr. Kutor László Minimális redundanciájú kódok Statisztika alapú tömörítő algoritmusok http://mobil.nik.bmf.hu/tantargyak/iea.html Felhasználónév: iea Jelszó: IEA07 BMF

Részletesebben

Felhasználók hitelesítése adatbiztonság szállításkor. Felhasználóknak szeparálása

Felhasználók hitelesítése adatbiztonság szállításkor. Felhasználóknak szeparálása Szabó Zsolt adatbiztonság tároláskor Felhasználók hitelesítése adatbiztonság szállításkor Felhasználóknak szeparálása jogi és szabályozási kérdések incidens kezelés öntitkosító meghajtókat Hardveres Softveres

Részletesebben