Phil's Pretty Good Software elôadja: === PGP === Pretty Good Privacy Nyilvános kulcson alapuló titkosítás a tömegek számára PGP felhasználói leírás I. rész: Alapvetô fontosságú dolgok írta: Philip Zimmermann 1993 június 14 PGP Version 2.3a - 1 Jul 93 Programozta: Philip Zimmermann, Branko Lankester, Hal Finney, és Peter Gutmann segítségével Kivonat A PGP E-mail levelek illetôleg adatfájlok nyilvános-kulcsos titkosítását teszi lehetôvé. Ismeretlen, soha nem látott emberekkel való biztonságos levelezést anélkül, hogy azokkal elôzôleg biztonságos csatornán kulcsot kellene cserélni. A PGP széleskörű szolgálta- tásokkal van ellátva és gyors, magában foglalja a kulcsfájlkezelést, az elektronikus aláírást, az adatok tömörítését is. A programra és a dokumentációra (C) Copyright 1990-1992 Philip Zimmermann. A PGP forgalmazásával, terjesztésével, használatával, szabadalom- jogi kérdésekkel, felelôsségkorlátozással és az exporttal kapcsolatos kérdésekkel a dokumentáció II. részében fogklalkozik egy fejezet. Tartalom Gyors áttekintés Miért kell neked a PGP? Hogyan működik A PGP installálása A PGP használata A használati útmutató Üzenet kódolása (titkosítása) Üzenet kódolása több fogadó részére Üzenet aláírása Aláírás majd titkosítás Titkosítás konvencionális módon Kibontás és aláírás-ellenôrzés Kulcskezelés Az RSA kulcs készítése Kulcs importálása a kulcsfájlba Kulcs vagy userId törlése a kulcsfájlból Kulcs exportálása a kulcsfájlból A kulcsfájl tartalmának megtekintése Hogyan védd kulcsfájljaidat a módosítástól? Hogy követi nyomon a PGP a megbízható kulcsokat? Hogyan védd titkos kulcsodat? A nyilvános kulcs bevonása Mi a helyzet, ha elveszíted a titkoskulcsodat? Haladó témák Kódszöveg küldése E-mail csatornán Környezeti változó a path megadásához A konfiguráció beállítása: CONFIG.TXT Sebezhetôség A hamis biztonság PGP gyors áttekintés Jogi kérdések Köszönetnyilvánítás A szerzôrôl Gyors áttekintés A Phil's Pretty Good Software által írt Pretty Good(tm) Privacy (PGP) egy nagybiztonságú titkosító program, mely MSDOS, Unix, VAX/VMS, és sok más operációs rendszer alatt fut. Lehetôvé teszi adatok és üzenetek autentikus, titkos és irányított célbajuttatását. Az irányított ebben a szóhasználatban azt jelenti, hogy kizárólag azok férnek hozzá az adatok tartalmához, akiknek azt szántuk. Az auten- ticitás azt jelenti, hogy a fogadó bizonyos lehet abban, hogy az adatokat ki adta fel, és hogy az adatok nem módosultak. Mindehhez nincs szükség arra, hogy a felek hagyományos titkosítási eljárásoknál szokásos titkos kulcsokat cseréljenek egymással, és azokat megbízható csatornán állandóan szintentartsák. A PGP-nél egyáltalán nincs szükség biztonságos csatornára a kulcsok terítéséhez. Mindez azért van, mert a PGP egy új, ún. "nyilvános kulcsos" titkosítási eljáráson alapul. A PGP-ben együtt vannak a Rivest-Shamir-Adleman (RSA) algoritmuson alapuló nyilvános kulcsos titkosítás elônyei a hagyományos eljárások sebességével, a kivonatokon (message digest, MD) alapuló digitális aláírással, a titkosítás elôtti tömörítéssel, valamint az ergonómikus környezettel és kulcs-adatbázis kezelô funkciókkal. A PGP a széles tömegek számára készült. A PGP nem tartalmaz beépített modem-szolgáltatásokat. Erre a célra más szoftvert kell igénybe venned. A dokumentáció ezen része csak a használathoz nelkülözhetetlenül szükséges információkat tartalmazza. Ezt minden használónak el kell olvasnia, és meg kell értenie. A II. rész foglalkozik a speciálisabb szolgáltatásokkal, és bôvebb betekintést ad a technikai kérdésekbe is. Magukat a felhasznált algoritmusokat egyik dokumentáció sem írja le, csak hivatkozik rájuk. Miért kell neked a PGP? Személyes dolog. Magánügy. Senkinek semmi köze hozzá. Politikai kampányt folytatsz, átgondolhatod az adóbevallásodat, üzleti terveidet. Vagy valami olyat, ami szerinted normálisan legális lenne, de nem az. Vagy bármilyen hasonló esetben az az igényed, hogy a privát levelezésedet vagy bizalmas adataidat ne olvashassa el más. Semmi rossz nincs abban, hogy véded a privát adataidat. Ez a magánélethez való jogok egy része, amelyek az alkotmányban is le vannak fektetve. Esetleg úgy gondolod, hogy semmi takargatnivalód nincs, és E-mailed nem szorul titkosításra. De ha ilyen teljesen törvénytisztelô polgár vagy, a postai levelezésedet miért nem nyílt levelezôlapon bonyolítod? ůgy gondold, hog amennyiben borítékot használsz, az arra mutat, hogy rejtegetsz valamit? Különben talán magadra vonzanád a rendôrség figyelmét? Akkor rögtön rejtôzködô kábszerkereskedô vagy? Vagy paranoiás fickó? Szóval szüksége lehet egy törvénytisztelô polgárnak a PGP-re? Mert mi lenne akkor, ha valóban mindenki csak levlapot használna? Akkor az a különc, aki borítékba rakja a postáját nyilván rögtön gyanús lenne. A hatóságok talán fel is bontanák a küldeményét, hogy megvizsgálják, mit is rejteget. Szerencsére nem ilyen világban élünk, hiszen szinte mindenki borítékot használ. így senkire nem vetül gyanú pusztán azért, mert privát levelezését eltakarja a nyilvánosság elôl. A biztonság a széles elterjedésen múlik. Hasonlóan, ha mindenki elkezdi titkosítva küldeni az elektronikus postáját, legyen az valóban bizalmas, vagy nem, ez ugyanúgy nem fog feltűnést kelteni. Manapság, ha a hatóság úgy dönt, hogy behatol valakinek a magán- életébe, komoly erôforrásokat és munkát kell áldoznia arra, hogy felbontsa és elolvassa az illetô papír alapú postáját, lehalgassa és értelmezze telefonbeszélgetéseit. Az ilyen jellegű megfigyelés nagyon drága és kis hatékonyságú, ha emberek széles csoportja ellen akarnák alkalmazni. Ezért ilyen eszközökkel csak a valóban indokolt esetekben élnek. Ugyanakkor a kommunikáció jelentôs része lassanként áttevôdik az elektronikus formára. Az E-mail átveszi a hagyományos posta szerepét. És az így küldött üzeneteket nagyon egyszerű monitorozni, és kulcsszavakra keresô programok segítségével kiszűrni az valóban megfigyelni kívánt részeket. Embertömegek levélforgalmát lehet ilyen módszerekkel teljesen rutinszerűen, automatikusan és láthatatlanul átvizsgálni. Az NSA már ma is megfigyelés alatt tartja a nemzetközi levelezôhálózatokat. A jövôben a hálózatok egyre nôni fognak, míg szinte minden ember személyi számítógépe valamilyen formában egy nagy közös hálózat részévé válik. Az E-mail minden ember szokásos kommunikációs eszköze lesz. A kormány majd saját fejlesztésű titkosító eljárásával fogja titkosítani a magánemberek levelezését. És az emberek nagy többsége bízni fog ezekben az eljárásokban. De biztosan lesznek olyanok, akik inkább bíznak saját eljárásaikban. 1991-ben a Szenátus 266. sz. beadványa, ami a bűnmegelôzésrôl szólt érdekes dolgokat vetett fel. Amennyiben ezek törrvényerôre emelkednének, akkor a gyártók csak olyan kommunikációs berendezéseket forgalmazhatnának, melyek titkosítása beépített "hátsó bejárattal" rendelkezik. És a kormány szükség esetén visszafejthetné bárki rejtett levelezését. Az ominózus szöveg így szól: "A Kongresszus azon a véleményen van, hogy az elektronikus kommunikációs szolgáltatást nyújtók, és az ezzel kapcsolatos berendezések gyártóinak lehetôséget kell biztosítania arra, hogy a Kormány -- törvényben körülhatárolt esetekben -- hozzájuthasson a berendezéseken áramló információkhoz eredeti, titkosítatlan formában." A beadvány végülis a civil szabadságjogok védôi valamint a gyártók éles tiltakozásának hatására kisebbségben maradt. 1992-ben került a Kongresszus elé az FBI digitális telefonok lehallhatásáról szóló (törvény)javaslata. Ennek alapján a gyártóknak speciálisan a lehallgatást lehetôvé tevô portot kellene építeni minden készülékbe, ezzel lehetôvé téve, hogy az FBI az irodájából hallgasson le bárkit, akit akar. Annak ellenére, hogy a javaslat egyáltalán nem talált támogatókat, 1993-ban újra be fogják nyújtani. A legfélelmetesebb pedig a Fehér Ház új titkosításokról szóló irányelv-tervezete, melyet az NSA készített elô négy év alatt, és 1993 április 16-án hozták nyilvánosságra. A javaslat központi témája egy a kormány által tervezett eszköz, az ún. "Clipper" chip, mely az NSA által újonnan kidolgozott titkosítási eljárást alkalmazná. És a Kormány jelentôsen támogatja mindazon gyártókat, akik a kódolt kommunikációs berendezéseikben (telefonok, faxok, stb) mindenütt ezt a chipet alkalmazzák. Az AT&T most ezt építi minden "biztonságos" készülékébe. És ami a lényeg: a gyártáskor minden egyes chipbe bele- égetik az egyedi rejtjelkulcsot, de errôl a kormány egy másolatot ôriz elzárva. Bár semmi ok az aggodalomra -- hiszen a Kormány becsület- szavát adja, hogy ezt a kulcsot kizárólagosan a törvényben meghatá- rozott ezetekben fogja üzeneteid lehallgatásához felhasznáni. Természetesen ahhoz, hogy a dolog igazán effektív legyen, a következô logikus lépés az lesz, hogy betiltanak minden alternatív titkosítási módszert. Amennyiben a magánélet e törvényen kívülre szorul, csak a törvényen kívülieknek lesz magánélete. A hírszerzô szervezetek természetesen hozzájuthatnak a jó titkosító eljárásokhoz. Hasonlóképpen a fegyver- és drogkereskedôk. Meg a hadiipari cégek, az olajmultik és hasonló gigászok. Ezzel szemben a közönséges polgárnak nincs lehetôsége, hogy tisztességes, "military grade" nyilvános kulcsos tikosító eljáráshoz jusson. Egészen eddig a pillanatig. A PGP azt a lehetôséget nyújtja az embereknek, hogy saját kezükbe vegyék a saját magánéletüket. Egyre nagyobb erre az igény. Ezért írtam meg ezt a programot. Hogyan működik Ez a pont valószínűleg inkább csak azokanak segít, akik már egyébként is tisztában vannak a titkosító eljárásokkal, különös tekintettel a nyilvános-kulcsosakra. Mindazonáltal itt van egy kis összefoglaló a témában. Elôször is az elemi szakszavak. Tegyük fel, hogy én akarok küldeni neked egy üzenetet, és azt akarom, hogy senki már ne olvashassa azt el. Ekkor elôször is "rejtjelzem", avagy "kódolom", ami által egy reménytelen zagyvaság lesz belôle, amit senki nem tud elolvasni, kivéve természetesen téged. A kódolásdoz egy "kulcsot" használok, amit neked is használnod kell, amikor az üzenetet visszafejted, vagyis "dekódoklod". Legalábbis így működik a hagyományos rejtjelzés. A hagyományos kriptográfiában, mint amilyen pl. a DES algoritmus (US Federal Data Encription Standard), ugyanazt a kulcsot kell használni a kódoláshoz és a dekódoláshoz. Ami viszont azzal jár, hogy a kulcsot elôször egy megbízható csatornán el kell juttatni a fogadó félhez, csak utána lehet nekikezdeni a titkosított üzenetek megbíz- hatatlan csatornákon való küldésének. Ez sok ezetben kényelmetlen lehet. Másrészt pedig ha a kulcsküldéshez van biztonságos csatornád, tulajdonképpen miért is van olyan nagy szükséged a titkosításra? A nyilvános kulcsos kriptográfiában mindenki két, egymással szorosan összefüggô kulccsal rendelkezik. Az egyik kulcs nyivános, míg a másikat szigorúan titokban kell tartani. Mindkét kulcsot a másik által kódolt üzenetek dekódolására lehet felhasználni. A nyilvános kulcs nem nyújt lehetôséget a titkos kulcs kitalálásához. Ezért a nyilvános kulcsot fenntartások nélkül széles körben el lehet terjeszteni a kommunikációs hálózatokon. Ez az eljárás mindennemű biztonságos csatorna nélkül képes szavatolni a titkosságot. Egy ember nyilvános kulcsával bárki kódolhat üzeneteket. Ezeket a fogadó a saját titkos kulcsával tudja kibontani. Ö és senki más, hiszen a titkos kulccsal senki más nem rendelkezik. A kódolt üzenetet még a feladó sem tudja dekódolni. Meg van oldva az üzenetek biztonságos sértetlenség- és eredetigazolása (autentikációja) is. A küldô saját titkos kulcsával "aláírja" az üzenetet. Az aláírás eredetiségét bárki ellenôrizheti az illetô nyilvános kulcsának felhasználásával. A fogadó a dekódolás után bizonyos lehet a küldô személyében, és abban is, hogy az üzenet tartalma nem változhatott meg. Mindezt azért, mert ehhez a feladó titkos kulcsa szükséges, mellyel rajta kívül senki nem rendelkezik. A hamisítás ki van zárva, és a küldô nem tagadhatja le magát utólag. A két dolgot egybe is lehet kötni, amikoris az eredmény biztonság és autentikusság egy flakonban. Ehhez elôször alá kell írni az üzenetet a saját titkos kulccsal, majd kódolni a fogadó nyilvános kulcsával. A fogadó pedig elôször a saját titkos kulcsával dekódol, majd a küldô nyilvános kulcsával ellenôrzi az eredetet. És ezt a két lépést a program önműködôen megteszi. Miután a nyilvános-kulcsos titkosítás algoritmusa sokkalta lassabb, mint a hagyományos eljárások, célszerű egy nagy megbízhatóságú hagyományos eljárással kódolni az üzenetet. Az eredeti, kódolatlan üzenetet nyersszövegnek (plaintext) nevezik {legalábbis én -- jobb híján :-)}. A titkosítás elsô lépésében egy hagyományos kódoláshoz használható véletlen kulcs generálódik, ami kizárólag abban az egy küldésben kerül alkalmazásra. Ezzel kódolják a nyersszöveget egy hagyományos algoritmussal. A felhasznált kulcsot pedig a fogadó nyilvános kulcsával rejtjelzik, és a rejtjelzett kulcsot a kódolt üzenettel (a továbbiakban "kódszöveg") együtt küldik el. A fogadó a saját titkos kulcsával elôször dekódoklja az ideiglenes kulcsot, majd ennek segítségével a gyors algoritmussal dekódolja a kódszöveget. A kulcsok speciális struktúrában vannak tárolva, mely tartalmaz egy azonosítót (userId -- a személy neve), a kulcspár generálásának dátumát, és magát a kulcskódot. A nyilvánoskulcs-struktúra tartalmazza a nyilvános kulcsot, míg a titkoskulcs-struktúra a titkos kulcsot. A titkos kulcs ráadásul még egy saját jelszóval is védve van ellopás esetére. A kulcsfájl ("key ring") egy vagy több kulcs-struktúrát tartalmaz. Az elôbieknek megfelelôen vannak titkos és nyilvános kulcsfájlok. A program egy azonosító számmal, a kulcs ID-vel hivatkozik az egyes kulcsokra, ami a teljes kulcs egy rövidítése, nevezetesen a nyilvános kulcs utolsó 8 bájtja. Amikor ez megjelenítésre kerül, a további rövidítés kedvéért csak az utolsó 3 bájt tartalma kerül kijelzésre. Amíg több különbözô kulcs felhasználó-azonosítója megegyezhet, (gyakorlatias szempontok miatt) két kulcs ID-je nem lehet azonos. A PGP kivonatokat (message digest) használ az aláíráshoz. A kivonat egy 128 bites szám, amit egy kriptográfiai szempontból megbízható, szigorúan egyirányú hash függvény állít elô az üzenet alapján. Ez a kontroll-összeggel vagy a CRC értékkel analóg abban a tekintetben, hogy jelzi az üzenet megváltozását. Ugyanakkor a kivonatot létrehozó eljárás kizárja, hogy a kalóz olyanformán módosítsa az üzenetet, hogy az eredetivel megegyezô kivonat jöjjön létre (ami az összeg és a CRC esetében lehetséges). Ezt a kivonatot kell a küldô titkos kulcsával kódolni, ami ezáltal az üzenet elektronikus aláírását adja ki. Az aláírás folyamán az üzenet szövege mellé kerül az aláírás struktúra. Ez az aláíró kulcs-ID-jébôl, az aláírás idôpontjából és a kódolt kivonatból áll. A kulcs-ID azért kell, hogy fodadáskor a program kiválassza a kulcsfájlból azt a nyilvános kulcsot, amelyikkel az ellenôrzést el kell végezni. A kódolt üzenet is kiegészül a kodoló kulcs ID-jével. Ez lehetôvé teszi, hogy a program automatikusan kiválassza a dekódoláshoz szük- séges titkos kulcsot a titkos kulcsfájlból. A kulcsfájl-koncepció sarkalatos pontja a programnak. Az egyes kulcsok nem egyenként vannak sok-sok fájlban tárolva, hanem egyetlen kulcsfájl (key ring) gyűjti az összeses azonos típusút. Ez sokkal gyorsabb elôkeresést tesz lehetôvé -- akár a személy, akár a kulcs azonosítója alapján. Minden használónak két kulcsfájlja van: a nyilvános és a titkos. A nyilvános kulcsfájl esetén lehetôség van az egyedi kulcsok kinyerésére, exportjára, így azokat elküldhetjük ismerôseinknek, akik felvehetik az új kulcsokat saját nyilvános kulcsfáljukba. A PGP installálása A PGP MS-DOS alá készült 2.3-as verziója egy sűrített arhív fájlként kerül terjesztésre. Ennek neve PGP23.ZIP {naná, hogy PGP23A.ZIP} (x.y verzió mindig PGPxy.ZIP-ként kerül kiadásra). Ezt MS-DOS alatt a shareware PKUNZIP- pel lehet kibontani, unix alatt pedig az unzip utilityvel. A PGP csomagban mindig van egy README.DOC fájl, amit feltétlenül el kell olvasnod. Ebben mindig benne vannak az utolsó-perces hírek, a verzióval kapcsolatos új dolgok, valamint itt van felsorolva, hogy a többi fájl mire jó. Ha MS-DOS alá való 1.0-s verziójú PGP programod van, azt jobb ha letörlöd, lévén ezt már senki nem használja. Ha mégsem akarod kitörölni, akkor nevezd át a PGP.EXE-t mondjuk PGP1.EXE-nek, hogy ne legyen azonos neve az új verzióval. Az MS-DOS alatti installáció nem is áll többôl, mint az arhív hicsomagolásából, bár ezenkívül még célszerű lehet az AUTOEXEC.BAT- odat is módosítani. Errôl a dokumentáció más részében szólunk {SETUP.DOC}. De ez a változtatás nem létfontosságú, késôbb is sort keríthetsz rá, amikor már megismerkedtél a PGP-vel, es fôként miután többet is elolvastál ebbôl a leírásból. Ha még sohasem használtad a PGP-t, az installálás (és a dokumentáció elolvasása) után az elsô lépés saját kulcspárod legenerálása lesz a `PGP -kg' paranccsal. Ha unix vagy VAX/VMS alá installálsz, akkor ez hasonló az MS-DOS- éhoz, de lehet, hogy le is kell fordítanod a programot az operációs rendszered alatt. Ehhez a forrásfájlokat tartalmazó arhívban találsz egy makefile-t. Az installálással kapcsolatos további részleteket a Setup.Doc fájlban találod meg. Ott részletesen leírjuk, hogy hogyan állítsd fel a PGP könyvtárát, és hogy módosítsd az AUTOEXEC.BAT fájlodat, és arról is, hogy hogyan kell használni a PKUNZIP programot azok részére, akiknek ez gondot okoz. A PGP használata A használati útmutató Az opciók egysoros összefoglalását a >PGP -h paranccsal lehet megnézni. Üzenet kódolása (titkosítása) Ahhoz, hogy egy üzenet nyersszövegét a fogadó nyilvános kulcsával letitkosítsd {-e = encrypt}, a >PGP -e textfile f_userid parancsot használd. Ennek hatására textfile.PGP néven létrejön egy kódszöveg-fájl. Gyakorlati példa: >PGP -e letter.txt Alice vagy: >PGP -e letter.txt "Alice S" Az elsô példa a nyilvános kulcsfájlodban (pubring.pgp) azokat keresi, akiknek az userId-je tartalmazza az "Alice" szöveget. A másodikban azokat, akiknek az userId-jében az "Alice S" szöveg szerepel. A parancssoron az egyes paraméterekben csak akkor használhatsz szóközt, ha az egész paramétert idézôjelbe teszed. A keresés nem érzékeny a kis-nagybetű különbségre. Amennyiben a pubring.pgp-ben talált megfelelô userId-t, a hozzá tartozó kulccsal letitkosítja a letter.txt-t, és ezáltal létrehozza a letter.pgp fájlt. A PGP mindig elôször megpróbálja tömöríteni a nyersszöveget, ezáltal az még jobban ellenáll az esetleges kriptanalízisnek. Ne csodálkozz, ha a titkosított fájl rövidebb, mint az eredeti. Ha a kódolt levelet E-mail segítségével akarod továbbítani, ahhoz ASCII-(radix-64) formába kell konvertálni. Ehhez a parancssort kódoláskor ki kell egészítened a -a opcióval. (Lásd késôbb). {-e helyett használj -ea opciót}. Üzenet kódolása több fogadó részére Ugyanazt az üzenetet egyszerre több személy számára is lekódolhatod. Ilyenkor a felsorolt fogadók bármelyike képes lesz kibontani az üzenetet. A művelethez járj el mint az elôzô pontban, és sorold fel az összes fogadó userId-jét. >PGP -e letter.txt Alice Bob Carol A PGP létrehozza a kódszöveget (letter.pgp), amit Alice, Bob és Carol egyaránt kibonthat. Akárhány fogadót fel lehet sorolni {bár a parancssor hosszát az op. rendszer korlátozza}. Üzenet aláírása Ahhoz, hogy egy üzenet nyersszövegét a saját titkos kulcsoddal aláírd {-s = sign} a >PGP -s textfile [-u a_te_useridd] parancsot használd. A szögletes zárójel arra utal, hogy a saját userId megadása nem kötelezô. Ha megadod, ne írd ki a zárójeleket. A parancs hatására létrejön az aláírt textfile.pgp fájl. Gyakorlati példa: >PGP -s letter.txt -u Bob Ez a titkos kulcsfájlban (secring.pgp) kikeresi a "Bob" szöveget tartalmazó felhasználót, és az ô titkos kulcsával írja alá a letter.txt fájlt, és az eredményt a letter.pgp fájlba írja ki. A keresés figyelmen kívül hagyja a kis/nagybetű különbséget. Amennyiben nem adsz meg userId-t, akkor a program a legelsô kulcsot veszi elô, és azt használja. Aláírás majd titkosítás Ahhoz, hogy egyszerre aláírd, majd titkosítsd az üzenetet, kombinálni kell az elôzô pontban írottakat: >PGP -es textfile f_userid [-u a_te_useridd] A szögletes zárójel arra utal, hogy a saját userId megadása nem kötelezô. Ha megadod, ne írd ki a zárójeleket. A program kikeresi a megfelelô titkos kulcsodat, aláírja az üzenetet, majd elôkeresi a megfelelô nyilvános kulcsot és elvégzi a titkosítást. Ha nem adod meg a fogadó userId-jét, akkor a program interaktívan rákérdez. Ha a titkos kulcshoz tartozó id-t nem adod meg, akkor a program az elsô kulcsot használja. Vedd figyelembe, hogy a PGP elôször mindig megrpóbálkozik az üzenet tömörítésével. Ha a kódolt levelet E-mail segítségével akarod továbbítani, ahhoz ASCII-(radix-64) formába kell konvertálni. Ehhez a parancssort kódoláskor ki kell egészítened a -a opcióval. (Lásd késôbb). {-esa opció a -es helyett}. Ha több fogadónak kódolsz, egyszerűen sorold fel userId-jüket ott, ahol az elôbb csak egy állt. Titkosítás konvencionális módon Idônként szükség lehet arra, hogy egy-egy fájl hagyományos egykulcsos módszerrel kódoljunk. Ez akkor leher hasznos, ha olyan anyagaink vannak, amit védeni akarunk, de nem küldjük el senkinek. Miután itt a kibontó ugyanaz a személy, mint a titkosító, nincs szükség a kétkulcsos titkosításra. Egy fájl hagyományos kódolásához a >PGP -c textfile parancsot kell használni. Hatására a program lekódoja a textfile-t, miközben nem használja sem a nyilvános, sem a titkos kulcsokat. A titkosításhoz egy jelszót kér interaktívan. Ennek a jelszónak nem kell (sôt, nagyon célszerűtlen) azonosnak lennie azzal a jelszóval, mellyel a titkos kulcsunkat védjük. Vedd figyelembe, hogy a PGP kódolás elôtt sűríti az adatfájlt. Ha ugyanazt az adatfájlt ugyanazzal a jelszóval többször is lekódolod, minden esetben más eredmény fog kijönni. Kibontás és aláírás-ellenôrzés A kódolt üzenet kibontásához, valamint az automatikus aláírás- ellenôrzéshez a >PGP kódszövegfájl [-o nyersszövegfájl] A szögletes zárójel opcionális paramétert jelôl, ha megadod, ne írd ki a zárójeleket. A kódszövegfájl kiterjesztését a program automatikusan .pgp-nek veszi, ha nem adod meg. A kibontott fájl alapértelmezésben a kódszövegfájl nevét kapja kiterjesztés nélkül. Ezt lehet felülbírálni a -o opcióval. Ha a szöveg alá van írva, akkor a program automatikusan ellenôrzi az aláírást, és kiírja az aláírás gazdájának teljes userId- jét. A kibontás teljesen automatikus, es a PGP felismeri, hogy a fájl csak kódolva van, csak alá van írva, vagy mindkettô. {Ehhez hasonlóan felismeri a Radix-64 alkalmazását, a ClearSig-et, és bármit, amit a programmal elô tudsz állítani ;)}. A PGP a kódszöveg fejlécébôl automatikusan megállapítja, hogy melyik titkos kulcsodat kell a kifejtéshez használni. Aláírt üzenet esetén az aláírás fejlécében levô kulcsId alapján tudja kiválasztani az ellenôrzéshez szükséges nyilvános kulcsot. Ha mindkét Id-hez tartozó kulcs szerepel a kulcsfájljaidban, a program csak a titkos kulcsod jelszavát fogja megkérdezni. Ha a kódszöveg hagyományos kódolással készült, a PGP nem nyúl a kulcsfájlokhoz, hanem a dekódoláshoz szükséges jelszót kérdezi. Kulcskezelés Julisus Caesar idejétôl fogva a titkosítások legproblémásabb pontja a kulcskezelés. A PGP program egyik legfôbb szolgáltatása az, hogy a kulcsokat nagyon kényelmesen kezeli. Az RSA kulcs készítése Ahhoz, hogy létrehozd saját nyilvános és titkos kulcsodat, add ki az alábbi parancsot: {-kg = kulcsgenerálás} >PGP -kg A PGP egy menüben felajánlja a küönbözô kulcsméreteket (alkalmi szintű = casual grade, ipari szintű = commercial grade, katonai szintű = military grade), és rákérdez, hogy mekkora kucsot akarsz (kb 1000 bites határig). Minél nagyobb a kulcs, annál nagyobb a biztonság, de a nagyobb kulccsal való munkához több idô kell. Utána megkérdezi az userId-det, ami többnyire a neved. Célszerű a teljes nevedet használni, mert így kisebb az esélye, hogy valaki eltéveszti az azonosítódat, amikor a te számodra kódol. Az userId tartalmazhat szóközöket és írásjeleket is. Ha van E-mail címed, azt célszerű <> jelek között a neved után fűzni, mint az alábbi példában: Robert M. Smith Ha nincs E-mail címed, használd a telefonszámot, vagy találj ki valamit, amitôl az userId-d igazán egyedi lesz, és bizonyosan téged azonosít. A PGP ezután egy jelszót kér, ami a titkos kulcsodat védi. A titkos kulcsfájlod a jelszó nélkül nem használható. A PGP-ben a jelszó nem kell, hogy egy szóból álljon. Lehet több szó, vagy akár egy egész mondat. Szerepelhet benne bármilyen karakter. Jól jegyezd meg a jelszavadat. Ha elfelejted, nincs semmiféle mód a megfejtéséhez. A jelszóra a késôbbiekben mindig szükség lesz, ahányszor csak szükség lesz a titkos kulcsodra. A jelszóban különbözônek számítanak a kis- és nagybetűk. A jelszó ne legyen túl rövid, és ne lehessen könnyen kitalálni. A jelszó sohasem jelenik meg a képernyôn. Sohase írd le, és ne tárold sehol a számítógépeden. Ha úgy döntesz, hogy nem véded jelszóval a titkos kulcsodat (te bolond!) egyszerűen üss ENTER-t a kérdésre. A kulcs generálásához a program nagy, valódi véletlenszámokat használ. Ezeket úgy kapja, hogy a billentyűleütések között eltelt idôt méri egy nagyon gyors órával. A program elôször egy véletlenszerű szöveget kér, amit néhány véletlen bit inicializálására használ. Utána a billentyűleötések közötti idôt használja. Nyomkodd a billentyűket véletlenszerűen, amíg a program azt nem mondja, elég. Egyes helyeken a program a billentyűket is nézi, ezért ne ugyanazt a sorozatot ismételgesd. Az RSA-kulcsok generálása idôigényes. Lassú gépen a nagyméretű kulcs létrehozásához több perc is szükséges lehet. A létrehozott kulcsok automatikusan bekerülnek a nyilvános és titkos kulcsfájlodba. A késôbbiekben a -kx parancs segítségével létrehozhatsz egy olyan üzenetfájlt, amely tartalmazza a nyilvános kulcsodat. Ezt a fájlt azután elterjesztheted ismerôseid körében, vagy E-mail hálózaton. A titkos kulcsodat a titkos kulcsfájlodban kell tartanod. Ha több titkos kulcsfájlod van, akkor ezek mindegyike önálló jelszóval rendelkezik. A titkos kulcsodat sose add ki a kezedbôl. Ugyanezen okból sose készíts más számára titkos kulcsot. Ezt mindenkinek magának kell megtennie. Gondoskodj arról, hogy a tied legyen a titkos kulcs feletti fizikai kontroll. Ne hagyd a titkos kulcsot idôosztáson alapuló többfelhasználós rendszeren, vagy olyan hálózaton, amelyen mások is dolgoznak. Tárold a saját személyes számítógépeden. Kulcs importálása a kulcsfájlba Ha hozzá akarsz adni egy kulcsot a nyilvános vagy a titkos kulcsfájlodhoz, használd az alábbi parancsot (a []-ban levô paraméter opcionális): >PGP -ka kulcs [kulcsfájl] A "kulcs" természetesen az az üzenetfájl, amibôl a kulcsot importálni akarod. A [kulcsfájl] automatikusan .PGP kiterjesztést kap, ha nem adod meg. Ha nem adod meg ezt a paramétert, az alapértelmezés a "pubring.pgp", vagy a "secring.pgp" attól függôen, hogy a nyilvános vagy titkos kulcsot tartalmaz. Ha szükséges, használhatsz más kulcsfájl-nevet. Ha a kulcs már szerepel a kulcsfájlban, a PGP nem adja hozzá még egyszer. Ha az importfájlban több kulcs is szerepel, mindegyik feldolgozásra kerül -- természetesen a duplikátok kihagyásával. Amennyiben a kulcsokat aláírták, az aláírások is bekerülnek a kucsfájlba. Ha a kulcs már szerepel, de új aláírások is vannak rajta, csak ezek kerülnek kigyűjtésre. Kulcs vagy userId törlése a kulcsfájlból Ha ki akarod törölni valamelyik kulcsot a kulcsfájlodból, használd az alábbi parancsot: >PGP -kr userId [keyring] A parancs hatására a program megkeresi a kulcsfájlban az userId-hez tartozó kuclcsot és kitörli. Emlékezz rá, hogy nem kell a teljes userId-t megadnod, hanem a program megelégszik azzal, ha valamelyik userId tartalmazza az általad a parancssoron magadott szöveget. ha nem adsz meg kulcskájl-nevet, az alapértelmezés a "pubring.pgp". Ha a kulcsfájl-nevet kiterjesztés nélkül adod meg, a program .PGP kiter- jesztést használ. Ha a kiválasztott kulcshoz több userId is tartozik a kulcsfájlban, a program rákérdez, hogy a kulcsot kell-e törölnie, vagy csak a megadott userId-t. Az utóbbi esetben a kulcs a kulcsfájlban marad az összes fennmaradó userId-jével. Kulcs exportálása a kulcsfájlból Kulcs exportálásához a >PGP -kx userId kulcs [kulcsfájl] parancsot kell használni. A kulcsfájl érintetlenül hagyása mellet egy olan fájlt hozunk létre, amely alapján a kulcs egy másik (saját, vagy másnál levô) kulcsfájlba importálhatjuk. A saját nyilvánoskulcsunk közzétételénél is ezt a parancsot kell alkalmazni. Ha a kulcsfájlban a kulcs alá volt írva, akkor ugyanígy, aláírva kerül exportálásra. Ha E-mail rendszeren akarod közzétenni a kulcsodat, használt a -a opciót is (-kxa). A kulcsfájl tartalmának megtekintése >PGP -kv[v] [userId] [kulcsfájl] parancsra a program kilistázza a kulcsfájl tartalmát. Ha megadtad az userId-t, akkor minden olyan kulcsot kiír, amelynek userId-jében szerepel a megadott szöveg. Ha nem adod meg a kulcsfájl nevét, az alapértelmezés a "pubring.pgp". A titkos kulcsfájl tartalmának megtekintéséhez meg kell adni a "secring.pgp"-t a parancssor végén. A kilcsfájl alapértelmezett kiterjesztése a .PGP. A -kvv opció hatására a kulcsok mellett megjelennek a rajtuk levô aláírások is: >PGP -kvv [userId] [kulcsfájl] Ha egy alternatív kilcsfájlban szereplô összes kulcsot akarod kilistázni, akkor a parancssor >PGP kulcsfájl Ha nem adsz meg opciókat a parancssoron, a PGP kilistázza a kulcsfájl.PGP-ben szereplô összes kulcsot, és egyben megpróbálja hozzáadni ôket a nyilvános kulcsfájlodhoz, ha még nem szerepelnének benne. Hogyan védd kulcsfájljaidat a módosítástól? A nyilvános-kulcsos szisztémában a nyilvános kulcsokat nem kell attól félteni, hogy eljutnak valakihez. Sôt, az a jó, ha terjednek. Viszont meg kell óvni a kulcsot az esetleges módosítástól. És a kulcs fogadójának meg kell bizonyosodnia arról, hogy a kulcs valóban ahhoz a személyhez tartozik, akit mi gondolunk. Ez a nyilvános-kulcsos titkosítási rendszer legsebezhetôbb pontja. Elôször is tekintsnk át egy potenciális katasztrófát, utána tárgyaljuk, hogy hogyan elôzhetô ez meg a PGP segítségével. Tegyük fel, hogy privát üzenetet akarsz küldeni Anikónak. Letöltöd Anikó nyilvános kulcsát a BBS-rôl. Lekódolod az üzenetet Aniló kulcsával és E-mail segítségével elküldöd. Ugyanakkor, anélkül hogy te, vagy Anikó tudnátok róla, Béla generált egy kulcsot, felruházta Anikó userId-jébel, és feltöltötte a BBS-re, felülírva Anikó eredeti kulcsát. Miközben minden jónak tetszik, a privát üzenetedet Anikó helyett Béla tudja kibontani, hiszen nála van a megfelelô titkos kulcs. Sôt, a kibontás után megteheti, hogy az üzenetet lekódolja Anikó eredeti kulcsával, és továbbküldi Anikónak. Ilyenkor senki nem sejt semmit, Béla pedig vígan olvassa a privát üzeneteket. Még rosszabb, hogy Béla aláírhat Anikó nevében, hiszen mindenki a hamisított nyilvános kulcsot használja az ellenôrzéshez. A probléma megelôzéséhez meg kell akadályozni a kulcsok módosítását. Ha Anikó személyesen adja át a kulcsát, akkor persze nem lehet gond. No de mi van akkor, ha Anikó tôled párezer kilométerre lakik, vagy egyéb okból épp elérhetetlen? Például beszerezheted Anikó kulcsát barátodtól, Dávidtól, aki a saját (titkos kulcsával való) aláírásával igazolja a kulcs eredetét és eredetiségét. Az aláírás egyrészt jelzi, hogy Dávid kezeskedik a kulcsért, másrészt megakadályozza annak módosítását. Az ellenôrzéshez persze rendelkezned kell Dávid megbízható nyilvános kulcsával. Hasonló módon Dávid eljuttathatja a te kulcsodat (saját aláírásával) Anikóhoz. Ebben a folyamatban Dávid mintegy közvetítôként szerepel. Ha a BBS-rôl úgy töltöd le Anikó kulcsát, hogy rajta van Dávid aláírása (amit megbízható kulccsal ellenôrizhetsz), bizinyos lehetsz benne, hogy amit letöltöttél, valóban Anikó kulcsa. Ilyenkor Béla hiába fáradozik, hiszen Dávid aláírását nem tudja elôállítani az Anikó nevére írt hamis kulcson. Egy széles körben megbízhatónak tartott ember megteheti, hogy arra szakosodik, hogy ezenformán "bemutatja" egymásnak az embereket, aláírava a nyilvános kulcsukat. Ez a megbízható ember "key server"-ré válhat. Minden kulcs, amelyik az ô aláírását viseli megbízhatónak tekinthetô. Ilyenkor az összes résztvevônek egyetlen kulcsot kell megbízhatóan beszerezniük: a "key server"-ét, amivel az aláírását ellenôrizhetik. Nagy szervezeteknek központosított key serverekre van szüksége. Egyes környezetekben a key servereknek megvan a kiépített hierarhiája is. Kevésbé centralizált széleskörű hálózatokban a központi key servereknél jobban môködhet az a rendszer, hogy mindenki a közvetlen ismerôseit tekinti megbízható aláírónak. A PGP különösen itt nyújthat nagy segítséget. Működése jól illeszkedik a szokásos humán kapcsolatokhoz. Ez a nyilvánoskulcs-védelemmel kapcsolatos tevékenység az egyetlen nehézség a nyilvánoskulcsos titkosítási rendszer gyakorlati alkalmazásában. Az egész dolognak ez az Achilles-sarka. Éppen ezért a program program elég nagy része ennek a problémának a megoldására van kihegyezve. Csak akkor vehetsz használatba egy nyilvános kulcsot, ha meggyôzôdtél arról, hogy azt nem módosították, és hogy valóban ahhoz a szamélyhez tartozik, akire az userId-je utal. Ezt csak akkor veheted bizonyosnak, ha a kulcsot közvetlen úton a tulajdonostól kaptad, vagy ha általad megbízhatónak elismert ember aláírását viseli, és az aláírás ellenôrzéséhez használt nyilvános kulcs megbízhatóságáról már elôzetesen megbizonyosodtál. A kulcs userId-jének a tulajdonos teljes nevét tartalmaznia kell, nemcsak a keresztnevét. Bármennyire csábító is -- sose bízz meg egy BBS-rôl letöltött kulcsban, kivéve, ha a fentiek alapján megbízható kulccsal alá van írva. A BBS-en a kulcsokat elvileg bárki módosíthatja, például a BBS üzemeltetôje. Ha arra kérnek, hogy írj alá egy kulcsot, kizárólag akkor tedd meg, ha teljesen bizonyos vagy abban, hogy kihez tartozik, és a kulcs az ô nevét viseli az userId-ben. Az aláírásoddal leteszed a nagyesküt a kulcs valódisága mellett. Más emberek azért fogják valódinak elfogadni a kulcsot, mert a te aláírásod van rajta. Nem szabad pusztán hallomás alapján aláírnod egy kulcsot. Csak ha elsô kézbôl meg tudsz gyôzôdni a valódiságról. A legjobb, ha kizárólag olyan kulcsot írsz alá, amit személyesen a gazdájától kaptál. A kulcs aláírásához hokkal jobban kell bíznod benne, mintha csak üzenetkódoláshoz használnád. Ahhoz, hogy használj egy kulcsot elég lehet néhány rajta levô aláírás. Ahhoz, hogy magad aláírd a kulcsot, közvetlen, elsô kézbôl szerzett bizonyítékkal kell rendelkezned az eredetiségre vonatkozóan. Például felhívod a tulajdonost -- akit a telefonhang alapján azonosíthatsz -- és beolvastatod vele a kulcsot -- vagy az azonositáshoz szükséges darabját. Erre vonatkozóan olvasd el a "Kulcsok telefonon való azonosítása" c. fejezetet a dokumentáció haladó témákal foglalkozó II. részében. Egy kulcs aláírásával csak a kulcs megbízhatóságát igazolod, nem a kulcs tulajdonosának megbízhatóságát. Nyugodtan aláírhatod megbíz- hatatlan barátod kucsát, ha tudod, hogy az övé. Ha az emberek bíznak benned, használni fogják a kulcsot. Ugyanakkor barátod áláírásának elfogadhatóságát majd mindenki egyénileg bírálhatja el. A "megbízhatóság" nem feltétlenül továbbadható. Van egy barátom, akinek a szavát készénznek veszem. Ö meg mondjuk hisz abban, amit a miniszterelnök mond. Ez még nem jelenti azt, hogy én is megbízom abban, amit a miniszterelnök mond. Hasonlóan az aláírásoknál is. Ha én elfogadom Anikó aláírását, Anikó meg Béláét, attól én nem feltétlen fogom Béla aláírását elfogadni. Saját nyilvános kulcsodat célszerű minél több emberrel aláiratni. Annál inkább valószínű, hogy egy potenciális használó talál valakit az aláírók között, akiben bízik. Az aláírt kulcsot terjesztheted BBS- rendszereken keresztül is. Ha aláírod valakinek a kulcsát, juttasd el a kulcsot a gazdájához. Ezzel bôvítheti a kulcsa aláírásgyűjteményét. A PGP nyilvántartja, hogy a kulcsfájlodban szereplô kulcsok közül melyek viselik megbízhetó ember aláírását. Ehhez mindössze meg kell adnod a PGP számára a megbízható emberek listáját és alá kell írnod az ô kulcsukat a saját (teljesen megbízható) titkos kulcsoddal. A PGP a lista alapján bármelyik kulcsról el tudja dönteni, hogy megbízhatónak tekinthetô-e. De természetesen magad direkt modon is aláírhatsz kulcsokat. (A késôbbiekben még visszatérünk a témára.) Gondoskodj róla, hogy a nyilvános kulcsfájlodat ne módosíthassa senki. Egy új kulcs ellenôrzése attól függ, hogy sikerül-e a már összegyűjtött megbízható kulcsok alapján validálni. Örizd meg a fizikai kontrollt a nyilvános kulcsfájlod felett is. Lehetôleg ne tartsd közös rendszeren, csak a saját számítógépeden. A nyilvános kulcsot csak a belepiszkálástól kell megvédeni, a nyilVánosságra kerüléstôl (szemben a titkossal) nem. Mindig legyen megbízható (és sérthetetlen) másolatod a kulcsfájljaidról. Miután minden ellenôrzés valamelyik lépésben a saját nyilvános kulcsod sértetlenségét feltételezi, ennek módosíthatatlanságáról különös gonddal kell gondoskodnod. Lehetôséged van a PGP-t úgy beállítani, hogy a nyilvános kulcsodat minden induláskor összevesse egy csak olvasható médiumon levô másolattal. A részleteket olvasd el a "Haladó témák" dokumentációban (dokumantáció, II. rész). A PGP feltételezi, hogy te gondoskodsz a megbízható körülmények között való működésérôl. A kulcsfájlokat és a programot egyaránt olyan gépen célszerű tartani, mely fizikailag is a te kezedben van. Ha valaki belenyúlhat a kulcsfájljaidba és a PGP-be, megteheti, hogy a PGP programot úgy módosítsa, hogy ne jelezze a kulcsok megváltozását. A nyilvános kulcsfájl védelmének egyik -- talán kicsit körülményes -- módja az, hogy aláírod az egész fájlt a titkos kulcsoddal. Ehhez a -sb opciót kell használnod (bôvebben az "Az aláírás leválasztása az üzenetrôl" c. fejezetben a haladó témák között). Sajnos az ellenôrzéshez szükség van egy másik, megbízhatónak elismert másolat a saját nyilvánoskulcsból {emlékezz: a titkos kulccsal aláírt dolgok ellenôrzéséhez a nyilvános kulcs kell}. A benne levô kulcs erre nem használható, hiszen akkor a potenciálisan begbízhatatlan, ellenôrizendô dolgot használnád mint megbízható ellenôrzô információt. Hogy követi nyomon a PGP a megbízható kulcsokat? Mielôtt ezt a fejezetet elolvasnád, feltétlenül olvasd végig az elôzô (Hogyan védd kulcsfájljaidat a módosítástól? c.) fejezetet. A PGP a kulcsokon levô aláírások alapján tudja eldönteni, hogy az adorr kulcs megbízhatónak tekinthetô-e. A te egyetlen ezzel kapcsolatos dolgod az, hogy agy listát készítesz, amiben felsorolod az általad megbízhatónak tartott embereket, valamint alá kell írnod az ô kulcsukat a sajátoddal. Ettôl kezdve a PGP a felsorolt emberek által aláírt kulcsokat megbízhatónak fogja jelezni. Természetesen arra is van lehetôséged, hogy egyéni elbírálás alapján magad írj alá további kulcsokat. A PGP két független szempont alapján osztályozza a kulcsokat. Ne keverd a kétféle osztályozást: 1) Valódinak tekinthetô-e a kulcs? Valóban ahhoz a személyhez tartozik, akinek a nevét viseli? Ezt a rajta levô megbízható aláírás alapján lehet elbírálni. 2) Olyan ember kulcsa-e, akinek az aláírását bizonyító erejônek fogadod el egy kulcs valódoságának tekintetében. Az elsô kérdést a PGP saját hatáskörben el tudja bírálni. A másodikra csak a te útmutatásod alapján. Természetesen az 1. kérdésre adott választ a 2.-ra adott határozza meg. Még egyszer összefogalalva: a megbízhatónak deklarált emberek által aláírt _kulcsokat_ tekinti a PGP begbízhatónak. A megbízható _személyek_ körét neked kell meghatároznod. Az ô kulcsukat pedig vagy elsôdleges forrásból kell beszerezned, vagy más megbízható emberek aláírása van rajtuk. A PGP-ben az embereket több csoportba sorolhatod megbízhatóság szempontjából. A besorolás nemcsak az humán megbízhatóságot kell, hogy tükkrözze, hanem a PGP használatában elért jártasságot is. Azt a képességüket, hogy jól el tudjanak bírálni egy kulcsot, mielôtt aláírnák. Az alábbi kategóriákat használja a PGP: ismeretlen (unknown), megbízhatatlan (untrusted), aránylag megbízható (marginally trusted), tökéletesen megbízható (completely trusted). Ezt a besorolást a kulcsfájlodban ôrzi az egyes kulcsok mellett. Amennyiben exportálod a kulcsot, a megbízhatóságra vonatkozó információ nem kerül a kivonatba, mert ez a te kizárólagos személyes ügyed. A kulcs megbízhatóság szerinti elbírálásnál a PGP tekintetbe veszi az aláírások számát és "értékét". Pl. két többé-kevésbé megbízható aláírás ér annyit mint egy tökéletesen megbízható. A pozitív elbíráláshoz szükséges aláírás-mennyiséget te is tudod szabályozni, pl. megadhatod, hogy két tökéletesen, vagy három többé-kevésbé megbízható aláírás legyen a megbízhatónak elfogadott kulcson. A saját kulcsod definíció szerint tökéletesen hiteles. A saját kulcsaidat a titkos kulcsfájlban tárolt kulcsok alapján ismeri fel a program. Hasonlóképpen tökéletesen hitelesnek számítanak a te kulcsoddal aláírt kulcsok. Ahogy az idô halad, mindenki gyűjti a kulcsokat, és kiválasztja a hitelesítéshez a megbízható embereket. És idônként mindenki kiad egy- két maga által aláírt "holtbiztos" kulcsot, természetesen a rajta levô többi aláírással együtt. Ahogy a kulcsokon gyűlnek az aláírások, egyre valószínűbb, hogy egy új fogadó talál az aláírások között szerinte megbízhatót. A helyi bizalmi gócokból így létrejön egy nagy háló, amely lehetôvé teszi a kulcsok biztonságos azonosítását. Ez a séma pont ellentétes a kormány által támogatott gyakorlattal. Ott központi elôírások vannak a bizalmi kategóriákra, felülrôl mondják meg, hogy melyik aláírásban mennyire kell hinned. A PGP decentralizált kulcs-kezelése neked hagyja meg a döntést ezekben a kérdésekben, ezáltal téged helyezve az elôzô gyakorlatban használt piramis legtetejére. Egy hasonlattal élve a PGP azoknak az embereknek kedvez, akik maguk szeretik összehajtogatni az ejtôernyôjüket. {Az, hogy az ejtôernyô ki tud-e nyílni leginkább az összehajtogatástól függ. :-)} Hogyan védd titkos kulcsodat? Nagyon vigyázz a titkos kulcsodra és az ezt védô jelszóra. Ha a kulcs egyszer "kicsúszott a kezedbôl", jobb ezt mielôbb a világ tudtára adni. Lehetôleg még mielôtt valaki a te nevedben kezd aláírásokat produkálni. A titkos kulcsod birtokában pl. kulcsokat tudnak hamisítani, és ez sok embernek okozhat komoly kellemetlenségeket. Különösen akkor, ha sokan bíznak a te aláírásodban. És természetesen az, aki megszerezte a titkos kulcsodat el tudja olvasni a neked szánt üzeneteket. Elôször is a kulcsfájl és az ezt tartalmazó médium felett mindig legyen a te felügyeleted alatt. Tartsd az otthoni gépeden, vagy azon a notebook-on, amit nmagaddal szoktál hordani. Ha a munkahelyeden levô géphez más is hozzáfér (vagy pl. egyik pillanatról a másikra elvihetik), a kulcsfájljaidat tartsd inkább egy írásvédett lemezen, amit magaddal hordasz. Ne másold fel a számítógépedre. Mindenképpen rossz praktika a kulcsfájlokat közös rendszeren elhelyezni (amilyen pl. egy felhívható, unix alapú rendszer). Ha valaki képes lehallgatni a modemedet, elcsípheti a jelszavadat, a kulcsodat meg egyszerűen kimásolja a közös rendszer háttértárolójából. A titkos kulcsot csak kizárólagos használatú gépen használd! * OLX 2.2 * Brain on vacation, penis on autopilot --- Maximus 2.01wb * Origin: VirNET Budapest BBS (Line - 03. Phone:(1)-175-5896) (2:371/9) - Magyar echo: Duma mindenrôl (2:371/20) -------------------------- PLETYO.HUN - Msg : 674 of 751 From : Pasa 2:371/9 19 Sep 94 00:00:40 To : All 21 Sep 94 03:38:00 Subj : PGP doksi folyt. 1/ -------------------------------------------------------------------------------- ___---- ez még mindig folytatás :) ------->>--------------------- A jelszódat sose tárold azon a számítógépen, amelyen a kulcsfájlt. {Semmilyen számítógépen ne tárold.} Az együtt-tárolás pontosan annyira helytelen, mint pl. a PIN-edet együtt tárolni az Automatic Teller Machine bankkártyáddal. Ha valaki történetesen hozzáférne a gépedhez, legalább ne kaphassa kézbe a kulcs mellett a jelszavadat is. A leghelyesebb gyakorlat, ha a jelszó sehol nem szetepel leírva vagy elektronikus formában, kizárólag a te memóriádban. Ha szükségesnek érzed, hogy leírd, akkor vigyázz rá még jobban, mint a kulcsfájlra. És legyen mindig másolatod a titkos kulcsodról! Emlékezz, a titos kulcs csak neked van meg. És ha elveszíted, a nyilvános kulcsod a világban elterjedt számtalan példánya azon nyomban használhatatlanná válik. A PGP decentralizát kulcs-elbírálási rendszere a gyakorlatban komoly elôny, viszont mivel nincsenek hivatalos érvényes kulcslisták, egy titkoskulcs-kiszivárgás esetén csak abban bízhatsz, hogy az errôl szóló információ elég gyorsan elterjed. Amennyiben megtörténik a legrosszabb: valaki hozzájut a titkos kulcsodhoz ÉS a jelszavadhoz is, (de ez legalább a tudomásodra jut), akkor egy "kulcs érvénytelenítési" üzenetet kell generálnod, és ezt kell terjesztened. Ez az üzenet arra figyelmezteti a fogadókat, hogy ne használják többé a(z adott kulcshoz tartozó) nyilvános kulcsot. A PGP a -kd opcióval csinál ilyen üzenetet. Ezután el kell juttatnod a föld minden emberéhez -- de legalább a barátaidhoz, és azok bará- taihoz, stb, azokhoz, akik szokták a nyilvános kulcsodat használni. Az ô PGP-jük felgolgozza az érvénytelenítési üzenetet, és az érvény- telenítés ténye bekerül a nyilvános kulcsod mellé a kulcsfájljukba. Ez a jövôben magakadályozza a kulcsod véletlen használatát. Az eset után új kulcspárt kell generálnod, és az új nyilvános kulcsot szintén el kell terjesztened. A két üzenet (érvénytelenítés + új kulcs) egyszerre is terjeszthetô. A nyilvános kulcs bevonása Tegyk fel, hogy titkos kulcsod a használatához szükséges jelszóval együtt idegenek kezére került. Ilyenkor értesítened kell mindenkit, hogy a nyivános kulcsod többé nem használható. Ehhez kulcs "érvénytelenítési" vagy más szóval "visszavonási" parancsot kell kiadnod. Ez a parancs a >PGP -kd saját_userId A visszavonás ugyanazzal a kulcssal van aláírva, amit visszavonsz {ezért a titkos kulcsod nélkül nem hamisítható}. A visszavonási üze- netet mielôbb minél szélesebb körben terítened kell. A fogadóknál ez az információ beépül a kulcsfájlba és megakadályozza a visszavont kulcs további használatát. A visszavonás után készíthetsz magadnak egy új kulcspárt. Egy kulcsot az említettôl eltérô ok esetén is visszavonhatsz. A mechanizmus ebben az esetben is ugyanez. Mi a helyzet, ha elveszíted a titkos kulcsodat? Normális esetben az érvénytelenítô üzenet alá van írva a titkos kulcssal (lásd az elôzô két fejezetet). De abban az ezetben, ha elveszíted (pl. letörlöd) a titkos kulcsod, erre nem lesz lehetôség. A PGP jövôbeli verzióiban az ilyen esetekben történô visszavonás némileg biztonságosábbá lesz téve. Az érvénytelenítô határozatot olyankor ugyanúgy megbízható emberekkel kell aláiratni, mint normál esetben a kulcsokat. A jelenlegi rend- szerben ez Még nincs implementálva, ezért mindössze egy olyan üzenetet küldhetsz ki, amely megkér mindenkit, hogy saját maga érvénytelenítse a kulcsodat a saját kulcsfájljában a >PGP -kd userId paranccsal. A PGP a -kd parancsnál elôször a titkos kulcsok között keres, s ha ott nem szerepel az Id, akkor a nyilvános kulcsfájlban folytatja. A megtalált kulcsot "letiltott" (disabled)-ként jegyzi be. A letiltott kulccsal nem lehet kódolni, és nem lehet az ilyet exportálni sem. Aláírás ellenôrzéséhez továbbra is használható, de ilyenkor mindig egy figyelmeztetô üzenet is jár az ellenôrzés eredménye mellé. A kulcs újonnan való importálása sem lehetséges, hiszen az adott userId már foglalt. Ezen funkciók együttesen (többé- kevésbé) gátat vetnek a letiltott kulcs további terjedésének. Amennyiben a -kd parancsot alkalmazod és a kulcs már tiltott, a program rákérdez, hogy engedélyezni akarod-e. Haladó témák A haladó témakörök nagyobb része a dokumentáció II. részében kapott helyet. De néhány fontos opciót itt is leírunk. Kódszöveg küldése E-mail csatornán A legtöbb E-mail hálózat csak 7-bites ASCII kódolású szöveg terjesztését teszi lehetôvé, azt a 8-bites kódszöveget, amit a PGP generál nem tudod eredeti formában elküldeni. A probéma megoldásához a PGP a PEM remndszerhez hasonlóan lehetôvé tesszi a küldendô üzenet Radix-64 szerinti kódolását. Ez a speciális formátum kizárólag ASCII karaktereket alkalmaz, ezért gond nélkül küldhetô. Ez a formátum mintegy pajzsként szolgál az üzenet körül, megakadályozva, hogy a továbbító állomásokon az üzenet az átviteli technológia miatt módosuljon (és tönkremenjen). A formátum része egy CRC érték, ami a továbbítási hibák detektálására szolgál. A Radix-64 formátumban 3 8 bites értékbôl 4 6 bites, az ASCII kódtartományba esô kód keletkezik. Ezáltal az üzenet mérete mintegy 33%-kal megnô. De ha tekintetbe veszed, hogy titkosítás elôtt a PGP tömörítette az eredetit, lehet, hogy a kódolt output mégis rövidebb lesz, mint az eredetei. Ahhoz, hogy a PGP bármelyik opciójával nyert output ne bináris, hanem Radix-64 kódolású legyen, a parancssori opciót ki kell egészíteni egy a betűvel. Pl. >PGP -esa message.txt f_userId Ez a parancs az aláírt és kódolt üzenetet Readix-64 formátumban írja ki, amit biztonságosan feladhatsz egy E-mail rendszerre. A Readix-64 formátumú érkezett üzenetek dekódolása nem tér el a binárisakétól. A PGP automatikusan észleli a két formátumot. >PGP message parancsra a PGP elôször message.ASC fájlt keres, ha ez nem létezik, akkor message.pgp-t. Az ASC elôször belsôleg a .pgp-hez hasonló bináris formátumúvá alakul. Innen már egységesen történik meg a kibontás majd az aláírás-ellenôrzés. A végeredmény pedig ugyanaz a message.TXT. Az Internet levelezô rendszer tiltja az 50000 bájtnál hosszabb üzenetek átvitelét. A hosszabbakat több darabra kell tördelni. A tördelést a PGP automatikusan elvégzi. Az egyes darabok .AS1, .AS2, stb. kiterjesztést kapnak. A kibontás elôtt ugyanezek a fájlok egységes egésszé állnak össze. Az üzenet-fájloknam levô nem rá tartozó szöveget (címzés, tagline, stb.) automatikusan figyelmen kívül hagyja, ezért a leveleket nem kell elôzetesen kozmetikázni. A Radix-64 formátum nemcsak üzeneteknél, hanem kulcs-export esetén is használható. Az így exportált kulcs E-mail hálózaton terjeszthetô. A konverzió utólagosan is elvégezhetô. PGP -a file a megadott fájl egyszerű bináris -> Radix-64 kódolását végzi. Amennyiben El akarsz küldeni egy olyan üzenetet, ami nincs rejtjelezve, csak alá van írva, és ezen alkalmazod a Radix-64 formátumot, az üzenet emberi szemmel olvashatatlanná válik. Lehetôség van arra, hogy amennyiben az üzenet eredetileg szöveges volt, csak a szignatúra, vagyis az újonnan keletkezô bináris részek lesznek radix-64 formátumúak, az üzenet többi része változatan marad. Ilyenkor teljesül az, hogy az üzenet E-mail útján küldhetô, Közvetlenül olvasható, ugyanakkor az aláírrás által ellenôrizhetô az autentikussága. Az ezen opció akalmazásával kapcsolatos további tudnivalók a speciális témák (dokumentáció, II. rész) között található. Az "A paraméterek külsô konfigutrálása: CONFIG.TXT" fejezet CLEARSIG paraméterrel foglalkozó részében találhatóak. Környezeti változó a path megadásához A PGP számos fájlt használ a működéséhez. Ilyenek a nyilvános és a titkos kulcsfájlod ("pubring.pgp", "secring".pgp), a véletlenszámok ganarálásához használt "randseed.bin", a konfigurációt leíró "config.txt", és az idegennyelvű üzenet-konverzióhoz használt "language.txt". Ezek a fájlok tetszôleges könyvtárban lehetnek, ha beállítod a "PGPPATH" változót, hogy erre mutasson. Pl. MS-DOS alatt a >SET PGPPATH=C:\PGP végrehajtása után a program a C:\PGP\pubring.pgp fájlt keresi nyilvános kulcsfájlként. Ezt célszerű lehet az AUTOEXEC.BAT-ban beállítani. Ha a változó értéke nincs megadva, a PGP mindig a kurrens directoryban keresi a működéséhez szükséges fájlokat. A konfiguráció beállítása: CONFIG.TXT A CONFIG.TXT fájlban be lehet állítani sok PGP-paramétert, amelyeket egyébként a parancssoron kellene megadni minden indításkor. A CONFIG.TXT egy egyszerű szöfegfájl, amit kedvenc ASCII- szövegszerkesztôddel szerkeszthetsz. A program a PGPPATH által beállított (vagy ennek hiányában a kurrens) könyvtárbvan keresi a CONFIG.TXT-t. A konfigurációs fájlban lehet olyan opciókat definiálni, mint azt, hogy hol tárolja a PGP az ideiglenes fájlokat, hogy melyik idegen nyelven jelenítse meg a promptokat és a diagnosztikai üzeneteket, vagy beállítani a kulcsok validálásához szükséges alAírások súlyát és mennyiségét. A konfigurálással kapcsolatos részleteket a dokumentáció II. részében találod egy külön errôl szóló fejezetben. Sebezhetôség Minden biztonsági rendszerbe be lehet hatolni. A PGP-t is számos úton ki lehet játszani. Az erre szolgáló módszerek (melyeket ki kell védened) pl. a titkos kulcs és jelszavának megszerzése, a nyilvános kulcs módosítása, hamisítása, a számítógépen vagy a diszken rosszul letörölt eredeti fájlok, vírusok és trójai programok, közvetlen behatolás, az elektromágneses emisszió monitorozása, "lefigyelés" a többfelhasználós rendszerben, adatforgalom-vizsgálatok, esetleg még direkt rejtjelfejtés is. A felsorolt dolgok részletes leírása a dokumentáció II. részében a Sebezhetôség fejezetben található. A hamis biztonság 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 kripto- gráfiához, elôfordulhat, hogy az algoritmus apró hiányossága esetleg elkerüli 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 frekvencia- analízisen alapuló fejtést, és még a kormányerôk se bírnák vissza- fejteni 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 kritográ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 naív séma alapján írt titkosító algoritmust (akár többen 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 hasnló 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 adatainek 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. Igy 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 abban a hitben 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ásrolja 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ásogperc 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 rossz 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 naív és tapasztalatlan a területen. Emlékszem, hogy Brian Snow, az NSA {USA biztonsági szolgálat} egyik sokra tartott elöljáró kritográ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ény 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 szerettték volna megakadályozni. És azóta is megakadályozzák a gyártók minden olyan törekvését, mely valóban biztonságos telefonokkal látná 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 az öröm az NSA-nak. Ugyanez a szervezet foglal- kozik 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 alkal- mazott 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. PGP gyors áttekintés Ime a PGP parancsainak gyors áttekintése: Nyersszöveg kódolása a fogadó nyilvános kulcsával: >PGP -e textfile f_userId Nyersszöveg aláírása a saját titkos kulcsoddal: >PGP -s textfile [-u s_userId] Nyersszöveg aláírása a saját titkos kulcsoddal, majd kódolásaa a fogadó nyilvános kulcsával: >PGP -es textfile f_userId [-u s_userId] Nyersszöveg kódolása hagyományos kriptográfiával: >PGP -c textfile Kódszöveg kibontása, és aláírás ellenôrzése {illetve kibon- tás/ellenôrzés bármilyen kombinációja}: >PGP ciphertextfile [-o plaintextfile] Nyersszöveg kódolása több fogadó nyilvános kulcsával: >PGP -e textfile f_userId1 f_userId2 f_userId3 f_userId4 ... --- Kulcskezelô funkciók Kulcspár generálása: >PGP -kg Kulcs importálása egy fájlból a kulcsfájlba: >PGP -ka file [kulcsfile] Kulcs exportálása a kulcsfájlból: >PGP -kx[a] userId file [kulcsfile] A kulcsfájltartalmának listázása: >PGP -kv[v] [userId] [kulcsfile] A nyilvános kulcs kivonatának megjelenítése (pl. telefonon való egyeztetéshez): >PGP -kv[c] [userId] [kulcsfile] A kulcsfájl listázása az egyes kulcsok aláírásaival együtt: >PGP -kc [userId] [kulcsfile] A titkos kulcs userId-jének vagy jelszavának módosítása: >PGP -ke userId [kulcsfile] Kulcs vagy userId törlése a kulcsfájlból: >PGP -kr userId [kulcsfile] Más kulcsának saját kulccsal való aláírása a kulcsfájlban: >PGP -ks f_userId [-u s_userId] [kulcsfile] Egyes aláírások eltávolítása egy kulcsról: >PGP -krs userId [kulcsfile] Saját kulcs végleges érvénytelenítése: >PGP -kd s_userId Kulcs letiltása/engedélyezése a saját nyilvános kulcsfájlodban: >PGP -kd userId ---- Még néhány parancs az ínyenceknek: Kódszöveg dekódolása az aláírás rajtahagyásával: >PGP -d ciphertextfile Aláírás létrehozása külön fájlba: >PGP -sb textfile [-u s_userId] --- Más opciókkal kombinációban használható opciók Csak ASCII kódokat fogadó terjesztôhálózaton való továbbításhoz a Radix-64 kódolást eredményezô -a opciót kell használni. Kulcs-export vagy kódszöveg létrehozásakor a parancssor: >PGP -kxa userId file [kulcsfile] >PGP -sea textfile f_userid Ahhoz, hogy a nyersszöveg fájlt a sikeres kódolás után a PGP felülírja és letörölje, a -w opcióval kell kiegészíteni a parancssort. >PGP -sew textfile f_userid Ha a nyersszöveg nem bináris, hanem szövegfájl, és a fogadó oldalon át kell esnie a helyi szövegformázásnak, a patancssoron a -t opciót kell alkalmazni: >PGP -seat message.txt f_userid Ahhoz, hogy a kifejtett szöveget ne fájlba írjuk, hanem csak a képernyôre és ott képernyônkénti megállás (more) mellett olvassuk: >PGP -m ciphertextfile Ahhoz, hogy kódoláskor megakadályozzuk a kibontáskor a fájlba írást (a kibontott szöveget kizárólag a képernyôn lehet olvasni), a kódoló sorban kell a -m opciót alkalmazni a többi mellett. >PGP -steam message.txt f_userid Ahhoz, hogy a kibontáskor az eredeti nyersszöveg-fájlnevet kapjuk vissza, a -p opció szükséges: >PGP -p ciphertextfile Unix filterként való viselkedéshez a -f opció szükséges. A program ilyenkor a standard inputot olvassa, a standard outputra ír. >PGP -feast f_userid output Jogi kérdések A témával kapcsolatos részleteket a dokumentáció második részében olvashatod ugyanilyen című fejezet alatt. A PGP-ben használt nyilvános-kulcsos eljárás az USA területére a #4,405,829 patent alatt van bejegyezve. A patent USA területén való használatának kizárólagos joga a californiai Public Key Partners (PKP) nevű társaságé. Amennyiben a PGP-t az USA területén használod, ez jogsértô lehet. Az ezzel kapcsolatos részletekrôl a dokumentáció II. részében olvashatsz. a PGP ún. "gerilla" freeware, így szabadon beszerezheted és terjesztheted. Csak ne engem kérj, hogy küldjek neked egy példányt. Szerezd be magad valamelyik BBS-rôl, Internet FTP helyrôl vagy ismerôseidtôl. Köszönetnyilvánítás Köszönetet szertnék mondani az alábbi embereknek, akik segítettek nekem a PGP program létrehozásában. A PGP 1.0 verzióját még én megam írtam, a késôbbi verziókban nagy részeket több más szerzô implementálta, nemzetközi összefogásban, az én felügyeletem alatt. Branko Lankester, Hal Finney és Peter Gutmann rengeteg munkát fektetett a PGP 2.0 számos funkciójának megírásába és a szoftver számos unix variáns alá való adaptációjánál. Hal és Branco herkulesi erôvel dolgozott az új kulcskezelési sémám megvalósításánál. Branco több idôt töltött a PGP írásával mint bármely más segítôtársam. Hugh Kennedy írta át VAX/VMS alá, Lutz Frank Atari ST gépre, Cor Bosman and Colin Plumb pedig Commodore Amigára. A program különféle nyelverke fordítását és nemzeti adaptációját az alábbi emberek végezték: Jean-loup Gailly -- Franciaország, Armando Ramos -- Spanyolország, Felipe Rodriquez Svensson és Branko Lankester -- Hollandia, Miguel Angel Gallardo -- Spanyolország, Hugh Kennedy és Lutz Frank -- Németország, David Vincenzetti -- Olaszország, Harry Bush és Maris Gabalins -- Lettország, Zygimantas Cepaitis -- Litvánia, Peter Suchkow és Andrew Chernov -- Oroszország, és Alexander Smishlajev -- eszperanto. Peter Gutmann felajánlotta az ůj-Zélandi angolba való fordítást, de végül úgy döntöttünk, hogy az USA angol elég lesz. Jean-loup Gailly, Mark Adler és Richard B. Wales publikálta a ZIP tömörítô rutinokat és engedélyezte ezek felhasználását a PGP-ben. Az MD5 rutinokat Ron Rivest írta és adta át Public Domain-be. Az IDEA(tm) kódoló eljárást Xuejia Lai és James L. Massey fejlesztette ki az ETH- ban, Zurich-ben. Az IDEA PGP-ben való alkalmazásához az Ascom-Tech AG adott engedélyt. Charlie Merritt tanította nekem erederileg a RSA-ban szükséges nagypontosságú számítások kivitelezését, Jimmy Upton pedig egy gyors szorzó/modulószámító eljárást készített. Thad Smith készített egy még gyorsabb moduló-számító algoritmust. Zhahai Stewart számos ötlettel járult hozzá a PGP fájlformátum és hasonlók tervezéséhez, ideértve azt, hogy egy kulcshoz több userId tartozhasson. A kulcs-aláírókra vonatkozó ötletet Whit Diffie vetette fel. Kelly Goen a PGP 1.0 elekronikus úton való elterjesztésén dolgozott. Colin Plumb, Derek Atkins, és Castor Fu a kódolásban segített. Szinkén a kódolásban valamint sok egyéb dologban segítettek még Hugh Miller, Eric Hughes, Tim May, Stephan Neuhaus és sok-sok más ember, akiknek a neve éppenn nem jut eszembe. Zbigniew Fiedorwicz és Blair Weiss irányítása alatt két Macintosh project is fejlesztés alatt áll. A PGP 2.0 publikálása óta számos programozó küdtött patch-eket és hibajavításokat, valamint segítséget az új rendszerekre való átírá- sokhoz. Túl sokan vannak ahhoz, hogy mindegyiküknes személyesen mondjak köszönetet. A PGP projekt önálló életre kelt. Nagy poitikai jelentôségére való tekintettel számos önkéntes programozót vonzott szerte a világban. Emlékszel a kôlevesrôl szóló mesére? Az egyre sűrűbb levesen keresztül már alig látszik az a kô, amelyet én dobtam bele annak idején útjára indítva a PGP-t. A szerzôrôl Philip Zimmerman egy 19 éves gyakorlattal rendelkezô programozó. Kiemelt területei a real-time rendszerek, a rejtjelezés, az autenti- káció és az adattovábbítás. Gyakorlata kiterjed a pénzügyi információs hálózatokban alkalmazott adatbiztonsági rendszerek, kulcskezelési protokollok, valós idejű multitaszk renddszerek, operációs rendszerek és heyi hálózatok tervezésere és megvalósítására. Boulder Software Engineering 3021 Eleventh Street Boulder, Colorado 80304 USA Tel: 303-541-0140 (voice/FAX) (10:00am - 7:00pm Mountain Time) Internet: prz@acm.org