Mint minden iparágban, az információbiztonsági iparágban, amelyet általában “kiberbiztonságnak” neveznek, a tomboló viták ellenére a legjobb gyakorlatok egy kis csoportja köré tömörült.

A lista egyik legmagasabb pontja a teljes lemezes titkosítás, amelyet a biztonsági szakértők szent és sérthetetlen dolognak tartanak, amit mindenkinek a legminimálisabb esetben is használnia kell. Ez az a titkosítás, amely biztosítja, hogy valaki, aki elrabolja a készülékedet, nem lesz képes megismerni mindent, amit elmentettél rá.

Azért vagyok itt, hogy azt az érvet képviseljem, hogy a legtöbben jobban járnak, ha nem használják. Tudom, hogy ez őrültségnek hangozhat, mivel én vagyok itt a biztonsági szakember, de hallgassanak meg.

Semmiképpen sem akarom lebeszélni önöket a titkosítás használatáról – nélküle a digitális eszközök, amelyekre nap mint nap támaszkodunk, használhatatlanok lennének. Ezért nem a titkosítás ellen érvelek, hanem kifejezetten a teljes lemezes titkosítás ellen, és csak bizonyos felhasználók esetében.

Azt állítom, hogy a legtöbb ember számára a túlnyomórészt leggyakoribb felhasználási esetekben a teljes lemezes titkosítás túlzás. Ezek a felhasználók nem élveznek mérhető biztonsági nyereséget az alternatív nyugalmi adattitkosításhoz képest, mégis mérhető teljesítménycsökkenéssel fizetnek érte. Ez nem csak a hatékonyságot vagy a betöltési időt érinti, hanem a felhasználók számára szó szerint megnövekedett költségeket is.

Léteznek olyan alternatívák, amelyek a normál hétköznapi felhasználók számára a normál hétköznapi biztonsági aggályok mellett a teljes lemezes titkosítással arányos szintű védelmet nyújtanak. Ezek bevallottan kissé letértek a kitaposott ösvényről, mivel a legtöbb fogyasztói technológiai vállalat elfogadta a teljes lemezes titkosítást, de léteznek.

Meg kell lennie más módnak

A teljes lemezes titkosítás manapság messze a legelterjedtebb titkosítási séma a nyugvó adatok esetében. A nyugvó adatok alatt azokat az adatokat értjük, amelyeket valamilyen adathordozón (például merevlemezen) tárolunk későbbi felhasználásra, nem pedig azokat az adatokat, amelyek valamilyen kommunikációs csatornán, például az interneten keresztül mozognak (ez lenne az adatforgalom).

A teljes lemezes titkosítást általában a számítógépes bonyolultság olyan szintjén valósítják meg, amely azzal foglalkozik, hogy a merevlemezen hogyan szerveződnek a nyers bájtok az információ reprezentációjának kontextusától elválasztva. Ezt a szintet nevezzük blokkeszköz-szintnek, mivel a teljes lemezes titkosítást a merevlemez partícióját jelentő blokkeszközre alkalmazzák (ez csak egy fantázianév a merevlemez egy nagy szegmensére).

Ez a szint magasabb, mint az elektromos jelszint, de alacsonyabb, mint a fájlrendszer, amely utóbbi az a pont, ahol a számítógép a bájtokat fájloknak tekinti, nem pedig csak bájtoknak. A fájlrendszer egyfajta szervezeti ábraként szolgál, amely megmondja a számítógépnek, hogyan állapítsa meg, hogy milyen bájtokból állnak össze a fájlok, és hogyan különböztesse meg a fájlokat és a fájltípusokat.

Mi is pontosan ez a lemez titkosítás, ami nem a teljes lemez titkosítása?

A válasz a fájlrendszer szintű titkosítás. A fájlrendszer-szintű titkosítás, más néven “fájlalapú titkosítás” során a rendszer titkosít bizonyos könyvtárakat (azaz mappákat) és az azokban lévő összes fájlt és könyvtárat, rekurzív módon mindazt, amit a legfelső könyvtár végül tartalmaz. A fájlrendszer-szintű titkosítás egy teljes fájlrendszert is titkosíthat, automatikusan védve mindent, ami rajta tárolódik. A mi céljainkhoz azonban azt a fajta fájlalapú titkosítást tekintjük, amely lehetővé teszi a felhasználó számára, hogy kiválassza, mely fájlokat és könyvtárakat titkosítja, a többit pedig békén hagyja.

Pontosabban, az általam elképzelt modell az, amely csak a felhasználói dokumentumokat, médiát és egyéb fájlokat titkosítja, amelyek Unix rendszereken a felhasználó /home könyvtár alatti alkönyvtárába kerülnek. Így az alapvető rendszerfájlok és a programok futtatásához szükséges bináris szoftverek békén maradnak, és csak a tényleges személyes adatok vannak védve.

Ez, mint a neve is mutatja, a fájlrendszer szintjén történik, ami egy szinttel feljebb van attól, ahol a teljes lemezes titkosítás működik. Ez néhány fontos következményt eredményez. Kezdjük azzal, hogy az összes titkosított fájl már fájlként értelmezhető, ami azt jelenti, hogy egyenként is visszafejthetők.

Ez azt is lehetővé teszi a felhasználók számára, hogy a fájlok titkosítását fájlengedélyek ellenőrzésével egészítsék ki. Mivel a teljes lemez titkosítása során a teljes lemez titkosítása megtörténik, a lemez visszafejtési jelszavát ismerő felhasználónak meg kell adnia azt, mielőtt bármi más folytatódhatna. A felhasználói fájlokkal együtt azonban az összes olyan fájl is zárolásra kerül, amelyre az operációs rendszernek szüksége van a futtatáshoz. A sikeres rendszerindításhoz a teljes blokkeszköz feloldása szükséges, és ha a lemez feloldásra került, minden nyitva áll.

A fájlszintű titkosítás esetén a teljes operációs rendszered érvényesíti a megkülönböztetést, hogy mi és mikor kerül visszafejtésre. Minden felhasználó meghatározhatja, hogy mely fájljait titkosítja, és milyen jelszavakkal. Tehát a fájlszintű titkosítással az egyik felhasználó dekódolhatja a fájljait, és mégis zárva hagyhatja egy másik felhasználó adatait. Nem kell visszafejtenie egy titkosított könyvtárat, ha nem akarja – ha nem szándékozik megnyitni egyetlen dokumentum- vagy médiafájlt sem, használhatja a számítógép programjait, miközben a személyes fájljait zárva hagyhatja, ahol például a rosszindulatú programok nem tudják megfertőzni őket.

Mutasd meg, mid van

Nem venném a fáradságot, hogy a fájlalapú titkosítást javasoljam, ha nem lenne néhány valódi előnye a teljes lemezes titkosítással szemben. Ebből a szempontból a fájlalapú titkosítás legnagyobb erőssége, hogy gyorsasága a teljes lemezes titkosítást maga mögé utasítja. Ez azért van, mert a fájlalapú titkosított rendszerek hatékonyabban olvasnak és írnak a lemezre.

Hogy megértsük, miért van ez így, nézzük meg, hogyan működnek a titkosított blokkeszközök (például egy flash-tároló). Csak a terminológia felfrissítéseként: a “rejtjelezett szöveg” az információ titkosított formája, amely a megfelelő kulcs nélkül olvashatatlan, míg a “nyílt szöveg” az eredeti, érthető formában lévő információ.

Amikor a titkosított adatokat nyugalmi állapotban visszafejtjük, a számítógép a szó szoros értelmében nem változtatja meg az összes bitet a tároló hardveren rejtjelezett szövegből nyílt szöveggé. Ez túl sokáig tartana, és pillanatok alatt megsütné a meghajtót a teljes meghajtóra való írástól minden egyes indításkor és kikapcsoláskor. Ehelyett a meghajtón lévő fizikai bitek változatlanok maradnak, de a megfelelő kulcs alkalmazása után a memóriában lévő pufferen keresztül olvashatók és írhatók. A puffer az információ olvasásakor egy dekódolási műveletet, írásakor pedig egy titkosítási műveletet alkalmaz a meghajtóra. Miközben az adatok dekódolása és olvasása zajlik, az egyszerű szöveg a memóriában marad, így könnyen hivatkozhatunk rá, amíg nem végeztünk vele.

Ez a sok extra lépés a titkosítatlan olvasáshoz és íráshoz képest jelentősen, akár tízszeresére is lelassítja a dolgokat. Teljes lemezes titkosítás esetén minden egyes dolgot, amit a számítógépen csinálsz, ezen a dekódoló pufferen keresztül kell olvasni, mivel a teljes blokkeszközöd és annak tartalma titkosítva van. Ami döntő fontosságú, ez magában foglalja magát az operációs rendszert és a rajta lévő összes szoftvert futtató bináris állományt is.

A fájlalapú titkosítás általunk választott konfigurációjánál azonban csak a felhasználói dokumentumokat és a médiafájlokat kell visszafejteni. Az Ön által naponta használt szoftverek többsége nem tartozik ezek közé a fájlok közé. Rengeteg olyan számítástechnikai feladat van, amelyhez egyáltalán nem lenne szükség a dekódolásra. Csak egy példa: olyan sokat élünk a webböngészőinkben, hogy valószínűleg egy kezeden meg tudod számolni, hány felhasználói fájlt nyitottál meg az elmúlt 24 órában.

Kézenfekvő, hogy a számítógépednek néhány adatot néhányszor dekódolnia kell, de mivel a titkosítás a fájlrendszer szintjén van megvalósítva, a fájlalapú titkosított operációs rendszered ezt hatékonyabban meg tudja tenni, mint a teljes lemezes titkosított analóg.

Végeredményben minden lemezhozzáférés, akár teljesen titkosított, akár fájlrendszeres titkosított lemezhez, az operációs rendszer magjának, a kernelnek a jóváhagyását igényli. Mivel azonban a teljes lemezes titkosításnál a titkosítást a rendszergazdai jogosultsági szinten kezelik, a kernelnek is bele kell szólnia a blokkeszköz olvasásához a dekódolási pufferen keresztül.

A fájlalapú titkosításnak nincs ilyen akadálya, mert csak a felhasználó saját fájljainak dekódolásához igényel jogosulatlan felhasználói jogokat. Ennek eredményeképpen a teljes lemezes titkosításnak további engedélyt kell kérnie a kerneltől a lemezre történő olvasáshoz vagy íráshoz, szemben a fájlalapú modellben ugyanezzel a folyamattal.

Takarékosabb, kevesebb kopással

A fájlrendszeres titkosítás másik nagy előnye, hogy jelentősen csökkenti a meghajtó kopását. A fájlalapú titkosítással rendelkező rendszer minden egyes írási műveletnél egyszerűen kevesebb adatot ír ki, mint a teljes lemezes titkosítással rendelkező rendszer.

A teljes lemezes titkosítás esetében a titkosítás a blokkeszköz szintjén történik, amely csak blokkokat, azaz egységes méretű bájtegységeket lát. Nem minden adat foglal el azonban egy teljes blokkot. Sőt, egy csomó adat nem is. Így a blokkszintű titkosítás valójában meghiúsítja a számítógép beépített hatékonysági mechanizmusát, amely a fájlnak csak azokat a részeit változtatja meg, amelyek valóban megváltoztak. Teljes lemezes titkosítás nélkül a számítógép össze tudja hasonlítani a memóriában lévő fájl frissített változatát a meghajtón lévő korábbi verzióval, meg tudja állapítani, hogy mely részek változnak, és ezeket az új, eltérő részeket írja be a fájlba.

A számítógép a fájlalapú titkosítással is hasonló gazdaságos írást érhet el: amikor a memóriában lévő fájl egyszerű szöveges verziója frissül, a fájlt átszűri a titkosítási pufferen, és ideiglenesen a memóriában tartja, majd az operációs rendszer összehasonlítja az új titkosított verziót a meghajtón lévő korábbi titkosított verzióval, hogy meghatározza, mely bitek változtak meg ténylegesen, és csak azokat írja ki.

A teljes lemezes titkosítás egy másik történet.

Ez a modell szerint az operációs rendszer tudja, hogy a fájl mely részei változtak meg, de mivel a titkosítás nem fájlonként, hanem blokkonként történik, az operációs rendszernek most le kell fordítania a fájlokat blokkokra, titkosítania kell a blokkot, és ezeket a blokkokat a blokkeszközre kell írnia. A fájlban lévő olyan módosítások, amelyek nem egy blokknyi adatot tesznek ki, több blokkot is átfoghatnak, amelyek mindegyikét át kell szűrni a titkosított pufferen, és teljes egészében vissza kell írni a blokkeszközre. Még akkor is, ha az összes módosított adat egy blokkban van tárolva, az egész blokkot újra kell írni, ami jelentős írási többletköltséget eredményez.

A fájlrendszer szintű titkosítás természeténél fogva olyan rugalmasságot biztosít, amelyet a teljes lemezes alternatíva nem. Ahogy fentebb említettük, a teljes lemezes titkosítás vagy mindent vagy semmit. Az egész rendszert titkosítja, a központi fájlokat és az összes felhasználói adatot. Ez azt jelenti, hogy a nem érzékeny adatok, amelyeket gyorsabban szeretne betölteni (pl. videó- vagy hangmédia szerkesztéshez), az olvasás-írás lassulását szenvedik el.

A teljes lemezes titkosítás szintén nem ideális többfelhasználós rendszerekhez, például egy közös háztartási eszközhöz. Bárkinek, aki használni akarja az eszközt, ismernie kell a teljes lemezes titkosítás visszafejtési jelszavát, különben az eszköz nem is tud bootolni az operációs rendszerbe. Az eszköz feloldása bármelyik felhasználó számára feloldja az összes felhasználó adatait. Ez azt is jelenti, hogy nem engedélyezhet olyan funkciókat, mint a jogosulatlan “vendég” fiókok, amelyek úgy használhatják az operációs rendszert, hogy a felhasználói fájlokhoz való hozzáférés blokkolva van.

A fájlalapú titkosítás végül a legtöbb ember igényeihez képest ésszerűbb. Magam is mondtam már, hogy a biztonság kényelmetlenséggel jár, és ez igaz. De egy sor biztonsági gyakorlat megtervezésekor nem segít, ha a szükségesnél több kellemetlenséget vállalunk a támadás kockázatának csökkentéséhez. Valójában csak árt: ha egy felhasználó biztonsági eljárásai túlságosan megterhelőek, akkor a felhasználó előbb-utóbb meg fogja kerülni a szabályokat.

Egyszerűen fogalmazva, a teljes lemezes titkosítás túlzás a legvalószínűbb felhasználási esethez. Az általunk egymás mellé állított két titkosítási konfiguráció különböző módon védi Önt. A fő különbség a kettő közötti biztonsági fokozatok között az, hogy a fájlalapú titkosítás csak a felhasználói dokumentum- és médiafájlokat védi. Ezzel szemben a teljes lemezes titkosítás ezeket, valamint az operációs rendszer alapvető fájljait titkosítja.

Egyes lehetséges hátrányok

Amint azt könnyen kitalálhatja, vannak hátrányai annak, hogy nem titkosít mindent úgy, ahogy a teljes lemezes titkosítás teszi. Elméletileg egy támadó, aki fizikai hozzáféréssel rendelkezik a fájlalapú titkosítást alkalmazó eszközéhez, megváltoztathatja a titkosítatlan operációs rendszeradatokat. Onnan a támadó vagy elindítja a gépét, hogy futtassa a kódot, amit éppen oda tett, vagy megvárja, amíg Ön elindítja a gépét, hogy a rosszindulatú kódja tegyen valamit az adatai elrablásával.

Ez rosszul hangzik, és az is, de valószínűleg Önnel sem fog megtörténni. Tényleg, a legtöbb vagy egyik ellenfeled sem fogja megkísérelni. Vagy annyira primitívek, hogy a fájlrendszer-szintű titkosítás elég ahhoz, hogy meghiúsítsák őket, vagy annyira kifinomultak (azaz erősek), hogy hatékonyabb módszereik vannak az adatok megszerzésére.

A felhasználók túlnyomó többsége számára a nyugalmi állapotban lévő adatok titkosítása azt a problémát oldja meg, hogy megakadályozza, hogy az eszközt fizikailag ellopó tolvajok megszerezzék az adatait. Ezért az okos tolvajok nem számolnak azzal, hogy megszerezzék az adataidat, és inkább a készülék pénzért történő elkerítéséhez folyamodnak. A fájlalapú titkosítás és a teljes lemeztitkosítás egyformán jól működik ebben a forgatókönyvben.

Ha viszont az ellenfél egy állami hatóság (pl. a bűnüldöző szervek), akkor sem a fájlalapú titkosítás, sem a teljes lemeztitkosítás nem fogja megmenteni. A joghatóságtól függően jogszerűen elrendelhetik, hogy oldja fel a készülékét. Szinte mindenhol máshol a kormányok utasítást adhatnak az Ön adatait a felhőjükben tároló szolgáltatásoknak, hogy egyszerűen adják át, amit akarnak – és az elnyomó rezsimekben, mondjuk úgy, vannak közvetlenebb és fájdalmasabb módszereik is arra, hogy rávegyék Önt az engedelmességre.

Tegyük fel, hogy a vita kedvéért egy kormányzati szereplővel néz szembe, és a fent említett technikák nem váltak be. A teljes lemezes titkosítás csak akkor működne, ha a kormánynak nem lenne kifinomultabb módja a rendszered megtámadására. Ez a világ legtöbb nagyhatalmú kormánya esetében nem jelent problémát, mivel elég fejlettek ahhoz, hogy a titkosítást valamilyen módon nyers erővel vagy kijátszással meg tudják oldani.

Azaz nem sok olyan eset van, amikor a teljes lemezes titkosítás valóban megment: amikor az ellenséged egy kormány, és te ellenállsz a fizikai kínzásnak, de a kormány nem képes az igazán menő akciófilmes hackelésre, amire gyakorlatilag minden G20-as ország képes.

Ez nem azt jelenti, hogy az ellenféltől függően semmi haszna nincs annak, ha megnehezíted a támadód dolgát – a támadód életének megnehezítése a lehető legjobban bevált biztonsági stratégia -, de vedd észre, hogy a teljes lemezes titkosítás csak ennyit tud garantálni. De ismétlem, szinte egyikőtök sem ezt nézi.

Practical Encryption, Impractical Implementation

Azok, akik meg vannak győződve róla, és vissza akarják kapni az írási-olvasási teljesítményüket és az SSD hosszú élettartamát, valószínűleg azon gondolkodnak, hogy hol juthatnak hozzá ehhez az édes fájlszintű titkosításhoz. Nos, ez az, ahol a dolgok bonyolulttá válnak. A gyakorlatban ugyanis nehéz beállítani.

A fő oka ennek az, hogy a főbb fogyasztói operációs rendszerek már teljes lemezes titkosítással rendelkeznek. Az Apple és a Google a mobileszközeiket teljes lemezes titkosításra konfigurálta, és megtagadja a felhasználóktól annak kikapcsolását. Az Apple és a Microsoft is alapértelmezésben engedélyezi a teljes lemezes titkosítást, de mindkettő lehetőséget kínál a letiltására a bátortalanok számára.

A Linux-alapú asztali operációs rendszerek esetében (az én személyes preferenciám) a fájlrendszer szintű titkosítás telepítése régebben olyan egyszerű volt, mint egy négyzet bejelölése, de ez gyorsan eltűnőben van. Az Ubuntu nemrég megszüntette ezt a telepítési opciót a grafikus telepítőjében, így a Linux Mint az egyetlen általam ismert disztribúció, amely még mindig kínálja ezt. Még az olyan DIY disztribúciók, mint az Arch Linux is lebeszélnek arról, hogy megpróbáld beállítani a fájlszintű titkosítást. Ehelyett a tömbös titkosítás felé terelnek, amelynek dokumentációja sokkal alaposabb.

Ha hajlandó a szükséges lépéseket megtenni a teljes lemezes titkosítás kikapcsolása érdekében, akkor van néhány lehetőség a rendelkezésére. Az egyik robusztusabb lehetőség a VeraCrypt. A VeraCrypt a megszűnt TrueCrypt köpenyének felölelésének vágyából született, és egy grafikus eszköz, amellyel titkosított könyvtárstruktúrákat hozhatunk létre egy meglévő fájlrendszer tetején. A program a titkosítatlan fájlrendszerekkel megegyező olvasási és írási sebességet biztosít, és még olyan szuperkém funkciókkal is büszkélkedhet, mint a letagadható titkosítás, ahol a titkosított adatok csak úgy néznek ki, mint a meghajtón lévő normál, kihasználatlan hely. A VeraCrypt alapvető képességeinek feltárása meghaladná ennek az amúgy is hosszú cikknek a kereteit, de talán egy jövőbeli cikknek is megvan a helye.

Hát miért szántam ennyi időt arra, hogy olyasmiről meséljek, ami nem a legkönnyebben (bár biztosan nem a legkevésbé) hozzáférhető? Alapvetően azért, mert fontos tudni, hogy mi minden lehetséges, hogy a lehető legtájékozottabb döntéseket hozhassa meg, hogy az igényeinek leginkább megfelelő számítástechnikai élményt teremthesse meg. A számítógépek végtelenül testre szabhatók, így nincs ok arra, hogy egy felhasználótól megtagadják a számára legjobb beállítást – a lehetőségek nem ismerete a legrosszabb ilyen ok.

A lehetőségek megbecsülése többről szól, mint arról, hogy a legjobb digitális életét élje, hanem arról, hogy támogatást nyújtson, még ha ez csak a felhasználóként is, az ezt lehetővé tevő fejlesztőknek. Ha ez úgy hangzik, mint valami, ami jobbá teheti az életedet, azt mondom neked, menj előre és barkácsolj!

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.