Következő: 5.9.6.2.8.6 PGP - gyors
Fel: 5.9.6.2.8 Haladó témák
Előző: 5.9.6.2.8.4 Sebezhetőség
  Index
Egy titkosító szoftver esetén mindig felmerül az a kérdés, hogy
miért kellene bíznod benne. Még akkor is, ha magad vizsgáltad át a
forráskódot, kriptográfiai ismeretek hiányában nem feltétlenül tudod
jól megítélni a biztonság fokát. És ha jól értesz is a kriptográ-
fiához, előfordulhat, hogy az algoritmus apró hiányossága esetleg
elkerülik a figyelmedet.
Amikor gimnáziumba jártam, még a hetvenes évek elején, kitaláltam
egy zseniális titkosítási módszert. Ebben egyszerűen pszeudorandom
számokat kellett vegyíteni a nyersszövegbe, így jött létre a
kódszöveg. A bekevert számok lehetetlenné teszik a frekvenciaanalízisen
alapuló fejtést, és még a kormányerők se bírnák visszafejteni
az üzenetet. Nagyon elégedett voltam a felfedezésemmel. És
rendkívül magabiztos.
Évekkel később megtaláltam a módszeremet számos kriptográfiába
bevezető könyvben. Príma. Más kódolóknak is eszébe jutott ez a dolog.
Csak az volt a baj, hogy a módszer azért került bemutatásra, hogy
néhány elemi kriptoanalízis-technikát demonstráljanak az így kódolt
üzenetek visszafejtésénél. Na ennyit a zseniális módszeremről...
Az esetből kénytelen voltam levonni azt a tanulságot, hogy a rejtő-
algoritmus tervezésénél mennyire könnyű beleesni a hamis biztonság
érzetébe. Az emberek többsége nem érti, hogy mennyire nehéz egy olyan
titkosító algoritmust találni, mely ellenáll egy erőforrásokban
bővelkedő ellenfél tartós feltörési kísérleteinek. Jónéhány szoftver-
fejlesztő megtette, hogy teljesen naiv séma alapján írt titkosító
algoritmust (akár többen is ugyanazt.) Egyeseket bele is építettek a
kereskedelmi termékekbe és jó pénzt csináltak belőle, amikor eladták
sokezer gyanútlan felhasználónak.
Ez azzal analóg, hogy olyan biztonsági övet árul valaki, amely
ránézésre jónak tűnik, viszont a legcsekélyebb karambol esetén is
elszakad. Az ilyenek használata még veszélyesebb, mint teljesen
biztonsági öv nélkül autózni. Hiszen senki sem gondolja, hogy rosszak
egy valódi karambol bekövetkeztéig. A gyenge algoritmuson alapuló
titkosítás használata hasonló veszélynek teszi ki féltett adatainkat,
amelyek titkosítás nélkül esetleg nem kerülnének ugyanilyen helyzetbe.
Egyes kereskedelmi csomagok a DES algoritmust használják, ami egy
elég jó hagyományos titkosítási eljárás, amelyet saját köznapi
adatainak védelmére kormány is előír (de nem úgy kiemelt titkosságú
adatokra - hmm.). A DES többféle módon futhat, melyek közül egyes
módok jobbak, mint a többiek. Így a kormány előírja, hogy ne
alkalmazzák a legegyszerűbb ECB (Electronic Codebook) módot, hanem az
erősebb CFB (Cipher Feedback) vagy CBC (Cipher Block Chaining) módot
kell alkalmazni.
Ennek ellenére az általam látott DES-t alkalmazó programokban az
ECB-t alkalmazzák. Beszéltem néhány ilyen program készítőjével, és
kiderült, hogy egyesek nem is hallottak a CBC és FCB módokról, sem az
ECB ismert gyengeségeiről. Már az a tény is felháborító, hogy az ilyen
témában programozónak halvány sejtelme sincs a kriptográfia
alapjairól. És ezek a szoftverek ráadásul szoktak egy alternatív
algoritmust is tartalmazni, melyet a lassú DES helyett javasolnak
használni. A szerző talán abba a hitbe ringatja magát (és a
fogyasztókat), hogy az alternatív rejtjelzés ugyanolyan biztonságos
mint a DES lenne, de kikérdezve gyakran tapasztaltam, hogy az én
előzőekben ismertetett ,,zseniális'' algoritmusom egy változatáról van
szó. Vagy a programozók másik csoportja egyszerűen semmit nem hajlandó
elárulni a titkosítás módjáról, ugyanakkor elvárja, hogy feltétel
nélkül megbízzak benne. Elhiszem, hogy meg van győződve, hogy az
alkalmazott módszere zseniális, de hogyan lehetnék ebben biztos, ha
nem láthatom?
A tárgyilagosság érdekében le kell szögeznem, hogy a fentiekben
tárgyalt szoftverek nem olyan társaságoktól származnak, melyek
kriptográfiára specializálódnak.
Van egy AccessData nevű társaság (87 East 600 South, Orem, Utah
84058, tel: 1-800-658-5199), mely 185 dollárért árul egy olyan
programot, mely megfejti a WordPerfect, Lotus 1-2-3m MS Excel,
Symphony, Quattro Pro, Paradox és MS-Word 2.0 programok beépített
titkosítását. És nem egyszerűen kitalálja a jelszót, hanem valódi
kriptoanalízist használ. Az emberek jó része saját - elfelejtett
jelszóval védett - adatainak visszafejtéséhez vásárolja meg az
említett programot. Meg törvényes végrehajtással foglalkozó társasá-
gok, amikor a lefoglalt fájlokba szeretnének beleolvasni. Beszéltem
Eric Thompsonnal, a program szerzőjével, ő mondta, hogy a program a
másodperc tört része alatt végez a megfejtéssel, csak beleépített
jópár lassító ciklust, hogy a vásárló szemében a megfejtés komoly
munkának tűnjön. Azt is közölte, hogy a PKZIP jelszavas védelme
ugyanúgy könnyen feltörhető és a végrehajtók máris hozzájutnak ehhez a
szolgáltatáshoz egy másik cég által.
A rejtjelzés bizonyos tekintetben hasonló a gyógyszerekhez. Az
integritása a döntő. A rossz penicillin kívülről pont ugyanolyan mint
a jó penicillin. A táblázatszámoló szoftverről ránézésre meg tudod
mondani, hogy rossz, de hogy állapítod meg a titkosítóról, hogy az? A
rossz titkosító által létrehozott kódszöveg pont olyan jónak tűnik
mint a jó titkosítóé. Ez jó terepet kínál a ,,kuruzslóknak''. De szemben
a gyógyszert hamisítókkal, a rossz titkosítók készítői még csak
nincsenek is tisztában azzal, hogy amit eladnak, az a hamis biztonság.
A készítők általában jó programozó szakemberek, de életükben nem
láttak még kriptográfiáról szóló irodalmat. És meg vannak győződve
róla, hogy jó titkosítót tudnak készíteni. Miért is ne? Hisz a feladat
nem tűnik olyan nehéznek. És a program látszólag jól is működik.
Az az ember, aki kitalált egy szerinte megtörhetetlen titkosítást
vagy egy rendkívül ritka zseni, vagy naiv és tapasztalatlan a
területen.
Emlékszem, hogy Brian Snow, az NSA (USA biztonsági szolgálat) egyik
sokra tartott elöljáró kriptográfusa azt mondta: sose hinne egy olyan
ember által kitalált algoritmusban, aki előzőeg nem szerzett komoly
tapasztalatokat a rejtjelfejtés területén. Az ilyen tapasztalat nagyon
sokat ér. Ahogy megfigyeltem, a titkosításra szakosodott cégeknél
csupa ilyen tapasztalt embert látni. ,,Igen'', folytatta Snow, ,,ez
jelentősen megkönnyíti a munkánkat itt az NSA-ban''. Magam is osztom
ezt a véleményt.
A hamis biztonsággal maga a kormány is kereskedik. A II.
világháború
után pl. eladták a németektől zsákmányolt Enigma rejtjelző
készülékeket a fejlődő országok kormányainak. De azt nem közölték,
hogy a szövetséges hatalmak már a háború alatt megfejtették az Enigma
rejtjelezést. Ezt a tényt a háború után sokáig titokként őrizték. A ma
elterjedt Unix rendszerek közül elég sok ma is az Enigma kódolást
használja a fájlok titkosítására, részben azért, mert a kormány
akadályokat gördített a jobb sémák alkalmazásának útjába. Az RSA
algoritmus 1977-ben való publikálását is szerették volna
megakadályozni. És azóta is megakadályozzák a gyártók minden olyan
törekvését, melyek valóban biztonságos telefonokkal látnák el a
köznépet.
Az USA biztonsági hivatalának (NSA) is az a legfőbb munkája, hogy
információkat gyűjtsön. Elsősorban a privát telefonbeszélgetések
lehallgatásával (lásd James Bamford ,,The Puzzle Palaze'' c. könyvét).
Az NSA-nál jelentős tudás és erőforrás áll rendelkezésre a különféle
titkosítások megfejtéséhez. Ha az emberek nem jutnak jó titkosítóprogramhoz,
az csak öröm az NSA-nak. Ugyanez a szervezet foglalkozik a
titkosító algoritmusok minősítésével és előírásával is. Egyesek
szerint ez komoly érdekkonfliktust jelent. Olyan, mintha a kecskére
bíznák a káposztát. Az NSA a saját algoritmusának használatát
erőlteti, melynek működésébe nem lehet betekinteni (lévén titkos),
ugyanakkor elvárja, hogy bízzunk benne és használjuk. Ezzel szemben
bármelyik kriptográfus megmondhatja, hogy egy jó titkosító algoritmust
nem kell titokként őrizni, a nyilvánosságra hozatal semmiben nem
jelent támpontot a megfejtéshez. Csak a titkosító kulcsokat kell
titokban tartani. Az NSA emberein kívül ki tudhatja, hogy az algo-
ritmus megbízható? És mindenki tudja, hogy nem nehéz egy olyan
algoritmust tervezni, amelynek alapján azután csak ők tudnak kódot
visszafejteni, amíg nem hozzák nyilvánosságra. Elképzelhető, hogy
szándékosan hamis biztonságot árulnak?
Én nem vagyok annyira bizonyos a PGP megbízhatóságában, mint annak
idején a saját ,,zseniális'' algoritmusomban hittem. Ha így lenne, azt
rossz jelnek tartanám. Viszont abban biztos vagyok, hogy az RSA nem
tartalmaz semmilyen könnyen felfedhető gyengeséget. A PGP-ben alkalmazott
algoritmusokat a civil szféra kiemelkedő kriptográfusai
tervezték, és ezek egyenként komoly gyakorlati próbáknak voltak
alávetve. A program forráskódja széles körben hozzáférhető, tehát
bárki beletekinthet. A program sok éven át készült, és ezalatt
rengetegen áttekintették. És én nem az NSA-nak dolgozom. Remélem, hogy
ennyi elegendő ahhoz, hogy valaki megbízhasson a PGP-ben.
Következő: 5.9.6.2.8.6 PGP - gyors
Fel: 5.9.6.2.8 Haladó témák
Előző: 5.9.6.2.8.4 Sebezhetőség
  Index
1999-09-17