2014. január 13., hétfő

Egy réges régi leírás a pgp-ről...

Tizennyolc éve volt szükségem a PGP nevű titkosító szoftverre, akkor akadt a kezembe az alábbi leírás. Valamiért eszembe jutott és előbányásztam a merevlemezek mentése mentésének a mentéséből :D. Nota bene ez a leírás már akkor sem volt annyira nagyon friss ;)

Csecsemőknek minden vicc új, tartok tőle hogy rengetegen vannak most is akik mit sem tudnak a témáról, mindenesetre érdekes lehet az akkori leírás mai szemmel nézve.

Most nem is fűzök ehhez hozzá semmit sem, csak beidézem azt a nagyon régi szöveget "as is", majd később hivatkozom rá, mert igazából csak azt akartam volna leírni hogy milyen izgalmas is amikor valaki úgy fedez fel dolgokat hogy a hozzávalók még nem léteznek, sőt lehet hogy nem is létezhetnek. (Az aszimmetrikus titkosítás elvét úgy alkották meg annó, hogy feltételeztek egy függvényt, meg az inverzét, olyan tulajdonságokkal felvértezve, hogy az inverzfüggvény ismerete ne vezessen az eredeti függvény ismeretéhez. Jópofa ötlet és a tetejében kivitelezhető is volt....)

Na akkor a PGP leírás. Sajna lövetem sincs ki az a Pasa, de köszönet érte.



______________

PGP DOC1 HU      Translated by Pasa

Itt van  sokak kérésére  a PGP  doku magyar  fordítása. Egyelőre az első kötet,  az általános  témákról. Ha  lesz időm,  majd lefordítom a
spéci dolgokról szóló II. részt is, az még érdekesebb. :-)

A következő szöveg a PGP 2.3a verzióban található PGPDOC1.DOC saját legjobb megértésem  szerinti pontos  fordítása. A  {} közötti részek a
saját  megjegyzéseim,  minden  egyéb  (elvileg)  a  dokuból  ered.  És kihagyott részek sincsenek.

Ha értelmi  hibát találtok  a szövegben, lehetőleg közöljétek velem is.

Nem  volna   rossz,  ha  valaki  hozzáértő  átolvasná  a  szöveget, egyeztetné  az  eredetivel,  kijavítaná  benne  a  gépelési  és  egyéb
hibákat, majd ezután elhelyezné a BBS-én a PGP szomszédságában.

___------------------------------------------------>>>----------


                     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áltatá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, szabadalomjogi kérdésekkel,  felelősségkorlátozással és az exporttal kapcsolatos kérdésekkel a dokumentáció II. részében foglalkozik 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 titkos kulcsodat?
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 nagy biztonsá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élba juttatá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 szinten tartsá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 nélkü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 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,  hogy 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, lehallgassa é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örvé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ül is  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 lehallgatá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ületszavát adja,  hogy ezt  a kulcsot  kizárólagosan a törvényben meghatározott  esetekben   fogja   üzeneteid   lehallgatásához   felhasználni. 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  azoknak  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áshoz egy "kulcsot" használok, amit neked is  használnod kell,  amikor az  üzenetet  visszafejted,  vagyis "dekódolod". 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  ezekben  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 nyilvá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, amikor is 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ódolja 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őbbieknek  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  fogadáskor  a program kiválassza  a kulcsfájlból azt a nyilvános kulcsot, melyikkel az ellenőrzést el kell végezni.

A kódolt  üzenet is  kiegészül a kódoló kulcs ID-jével. Ez lehetővé teszi, hogy  a program  automatikusan kiválassza  a dekódoláshoz szüksé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 összes  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ájljukba.

A PGP installálása

A PGP  MS-DOS  alá  készült  2.3-as  verziója  egy  sűrített  archí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  archív kicsomagolá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, és 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ó archí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  nyers szöveget, ezáltal az  még jobban  ellenáll  az  esetleges  kriptoanalí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 <rms@xyzcorp.com>
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  <kulcs> 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 kiterjeszté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 sokkal  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 adott  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!
   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  kriptográ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  <input >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



   <Itt az dokumentáció I. részének vége.>

___--------------------------------------------------<<<---------

Nincsenek megjegyzések:

Megjegyzés küldése