csütörtök, szeptember 21, 2017

3d háztervező

Esküszöm a Sketchupról akartam írni :D. Egyszer megkeresett valaki, hogy érdekelne-e engem munka. Mivel nem épp a profilomba vág - ingatlanközvetítő cég -, nekiláttam kiötölni hogy mi végre is találhatott rám, milyen hasznos dolgot tudnék nekik csinálni.

Eszembe jutott egy remek videó - angolul van, de érthető miről szól -, meg egy másik , mind a kettő azt mutatja meg, hogy milyen egyszerű 3d modellt készíteni egy épületről a Sketchup segítségével. Ezt el is helyezhetjük a google earth-ön, ahogy az első videó meg is mutatja. Érdemes megnézni a ezeket, komolyan. 

No most remek szolgáltatásegyüttest lehet így kialakítani, ahol mindenki megtalálhatja a maga helyét. Egy épületről lehet kívül belül fényképek segítségével 3d-s modellt építeni, aminek számtalan előnye lehet, nem csak az értékesítésnél. Ha van a lakásomról modell, akkor pikk pakk átrendezhetem, megnézhetem hogy hogy fog kinézni, akár azt is kipróbálhatom hogy hogyan tudok valamit bevinni a házba, elfér, nem fér, távolságokat tudok mérni mérőszalag nélkül, meg tudom jelölni merre mennek a vezetékek, mi merre van, satöbbi :D.  Ahogy a másik videón látszik, még a tereptárgyakat is átrendezhetem kedvem szerint.

Ha ingatlanközvetítő vagyok, akkor a modell elkészítését felajánlhatom az ügyfeleknek, pénzért, vagy értékesítési előjogokért, vagy csak bizalomerősítésként, ami jólesik. (A professzionális verzió pénzbe kerül, de egy cégnek nem akkora érvágás, nem vészesen drága...)

Lehet szövetkezni a bútorgyártó cégekkel - nagyon sokan publikálják ebben a formátumban a termékeiket, így "megnézhetjük" hogy mutat a nappaliban a kiválasztott áru -, minél több embernek van saját modellje a házáról, annál jobb.

Na szóval erről akartam volna írni már régen, de bujkált bennem a kisördög. 

  • Zárt forráskódú a szoftver
  • Nem fut minden platformon, például Linuxon csak wine segítségével
  • A professional verzió - amivel pl. lehet kép alapján modellezni - nem ingyenes.

Lehet ezzel együtt élni minden további nélkül, de komoly veszélyeket rejt hosszú távon magában. Tegyük fel hogy világszerte nagyon sokan ráépítenek erre a szolgáltatásra - is kell feltenni, ez tény -. Túl kicsi ahhoz a google is hogy felelősséget tudjon vállalni a szolgáltatásért, monopolhelyzetben.  (Arról nem is beszélve hogy jelenleg nem is a google-é a szoftver...)

 

Na ezt megmagyarázom :D.

 

Tegyük fel hogy nagyon nagyon sokan vásárolnak a szoftverből, nagyon sokan építenek rá. Nem komoly összeg az a 95 dollár évente, de ha monopol helyzetben vagyok, akkor nagy a kísértés az irreális áremelésre. Emlékszem azokra az időkre, amikor az MS Office ára meredeken ment fölfelé, már 160 khufnál tartott és iszonyatos "veszteségekről" számolt be a cég. (Egy millió "jogtisztátalan" user, 100 mrd-os kár, csak nálunk, bilincses plakátreklám...) Aztán jött az OpenOffice, és nominál értékben is zuhant az ár. A piaci verseny helyett a vaj-ágyú görbe akaszthatja meg ilyenkor szinte csak az árak emelkedését  :D. Aztán ebből csúf viták keletkezhetnek, van erre példa számos. (Még az én praxisomban is :(....)

 

No de nem kell nekünk foglalkoznunk ezzel a problémával, mert van szabad forráskódú alternatíva, mind a térképre, mind a 3d tervező szoftverre. Nem kevés kompromisszummal "megáldva" természetesen. 

Azért annyira nem "rossz" a program természetesen :D. Ez az ábra egy ezzel készült ház belső nézete. Örömhír, hogy a Sketcup-ban készített dolgainkat sem kell eldobni, importálhatóak az azokban elkészített dolgok. Hogy mennyire őrzik meg az ottani tulajdonságaikat, még nem tudom, ma fedeztem fel ezt, emiatt a bejegyzés miatt. Megjegyzem, nem kis örömömre szolgált. A támogatási modelljük adomány alapú, itt minél több a felhasználó, annál kevesebb az egy főre jutó "adományköltség" egy funkció megvalósítására, és senki sincs nyeregben, csak annyi előnye lehet egy fejlesztő csapatnak, hogy nagyobb a tapasztalata. Működő piac, ahogyan a nagy könyvben - nekem Samuelsoné az, másnak más - le van írva. (Hint: Microsofték már megint ügyesek. A hardver piacra vásárolják be magukat épp, a hasonló szolgáltatások kiegészítő terméke a hardver lesz ;)....)

Ha az általam elképzeltek helyesnek bizonyulnak, akkor drámaian nőni fog a támogatottsága ennek a platformnak - gyanítom hogy ez már nem jövő idő, nem véletlen hogy már magyarítva van a nagy része -, meg a másiknak is, amiről ezután írok.

 

Az OpenStreetMap (OSM), facebook csoportja itt, honlapjuk erre, a licenszelési politikájuk meg itt :D. Szabadon nőhet ez is, nincsenek előre nem látott korlátok, itt is működik a piac.

 

Na szóval hölgyeim és uraim, itt a jövő, lehet vele számolni, lehet bekapcsolódni a közösségekbe, el lehet indítani saját projekteket. Lehet hogy nem tud már egy cég sem akkorára nőni ezen az alapon mint a mostani nagyok, de ki tudja ezt előre? Mindenesetre a talaj itt van.

Persze lehet hogy megjön a google esze, és visszaveszi a Sketchupot és szabaddá teszi, ténylegesen. Lehet, de nem biztos. Addig is itt van a nagyon is jó, és szabad alternatíva, üzleti lehetőségekkel, növekedést gátló tényezők nélkül, sőt a nagy játékosok - pl. MS - csak örülni fognak a sok sok kicsi sikerének.

 

Hajrá :D.

 

 

A KPG és a SCRUM

Eredetileg a biztonságról akartam írni most, de azt későbbre halasztottam....

Nem tudom hogy "Anyánk" ismerte-e a címben említett módszertant vagy sem. Mindenesetre aszerint készült el az a rendszer....

 

Preambulum

 

'94-ben egy Kft.-ben dolgoztam, modern eszközöket használtunk - Banyan Vines (Unix alapú fileserver), OOP-s Dataflex, etcetera - és egy nagyvállalatnak fejlesztettünk rendszert. Akkor még azt hittem hogy ez a nagyvállalat a "szocializmus utolsó bástyája", később azért finomodott ez az elnevezés nálam, a BTV már rég nincs meg, bástyák azért még vannak ;-).

Értekezlet

Egyszer kitalálta az egyik főnök hogy a fejlesztők is vegyenek részt az értekezleteken, és ehhez később is ragaszkodtak. Remélem ma már sehol nincs ilyen. Több órán keresztül beszéltek a semmiről, és nem lehetett előbb abbahagyni. Akkor szoktam rá a kávéra. Észrevettem hogy aki kávézik, az több percig ki tudja magát vonni a semmi körül folyó - nagyon óvatos - beszélgetésből. Ez olyan mélyen bennem maradt hogy azóta is automatikusan igent mondok bármilyen kávékínálásra, bár már az ízét is kedvelem és cukor nélkül, akkor még kevergettem lelkesen azt is.

Egy jellemző példa az akkori értekezletek felesleges voltára hogy egyszer annyira fájt a fogam hogy nem voltam hajlandó felmenni a meetingre.(Öt, tíz, tizenöt percenként eresztettem rá a hideg vizet, ami annyira fájt hogy elzsibbadt utána egy darabig. Fogorvos? Persze, de akkor határidő volt, ki ér rá ilyenekre?) 

Nem volt ott senki, megcsináltam néhány listát.

Egy idő után jött az egyik kollegina hogy mennem kell, mert én vagyok terítéken. Nem volt apelláta, jó adag hideg víz, felmentem. 

X lista mikor lesz kész? Most csináltam meg. Y listát is kéne. Azt is most fejeztem be, sőt a Z-is megvan.

Ameddig beszéltek róla, meg is lehetett csinálni, mi meg benn voltuk hétvégén is, mert persze a meeting miatt kiesett napot pótolni kellett....

BEIG

Lassan haladnom kellene már előre :D.

Egyszer felhívott egy régi ismerősöm, barátom, kérdezte hogy nem volna-e kedvem visszajönni a MÁV-hoz, mert az egyik helyen nagy szükség volna egy értelmes emberre aki fel tudja venni a tempót Csabival. (Akkor még nem ismertem, tényleg nem egyszerű feladat ;-).... Ugye Csabi ;)?)

Mosolyogtam az ötleten és szelíden leráztam druszámat. Kevesebb pénzért, kisebb szabadságfokkal menjek egy céghez ahonnan már egyszer eljöttem? (Később a főnököm amikor az elmenetelem zajlott, pont erre hivatkozva mondta hogy nagyon gondoljam meg ezt, nem szabad visszamenni, ez életem legel<censoredebb> döntése lesz. Akkor még nem írtam a révészről :D....)

No mindegy is, teltek múltak a napok, amikor az egyik kolléganő az asztalomra tett egy papírköteget, hogy az új munkaszerződésünk, írjam alá, mert különben nem kapunk fizetést.

Ezt én félreértettem akkor (csak arra célzott hogy kell az elszámoláshoz, nem arra hogy kirúgnak ha nem tetszik). Végigolvastam. Találtam benne egy olyan pontot, amit semmiképpen nem akartam aláírni. Másnap volt fizetés elvileg, no meg gyakorlatilag is, nekem egy rossz éjszakám. Röghöz akarnak kötni. Akkoriban egyetlen egy cégnél volt markáns érdekképviselet. A MÁV-nál.

Másnap felhívtam druszámat hogy "áll e még az ősz Peterdi háza"?

Állt. Találka, szimpatikus, értelmes srác. Belementek abba is hogy kell legalább egy hónap ahhoz hogy korrekten lezárjam az aktuális projektet, sőt később ezen felül még  belementek egy plusz két hetes eltolásba is.

Próbaidő

Dataflex után jött az akkori kor php-je, Clipper 5.2-ben ment a fejlesztés. Sokan lenézték akkoriban ezt az egyébként remek nyelvet, gondolom a summer 87 miatt, pedig azóta sem nagyon látok olyan jól megszerkesztett tábla és beviteli objektumokat mint ami abban volt. (Jó, nem lehetett bővíteni az osztályokat, de a mai nyelvekben sem nagyon van többszörös öröklődés ha már itt tartunk, mindenki a gyári osztályok használatára próbál rávenni minket (kivéve Python, de most ebbe nem megyek bele.) Az encapulating-ot remekül lehetett benne használni. (Adatként lehetett kóddarabokat küldözgetni a programon belül, sőt ezt lehetett táblában is tárolni, lefordítani, csináltunk is később egy kódgenerátort, még ha nem is lett tökéletes, használták sokáig...)

Még csak két hónapja voltam ott, már beleástam magam a pénzügyi rendszerbe amikor jött Csabi hogy mennünk kell értekezletre másnap.

Kezdődik

Mint a vörös posztó, olyan volt nekem ez a szó.

Értekezlet???????

Nem. Bárhova, bármit, csak azt nem. (Azt hiszem még a takarítást is bevállaltam, vagy valami nagyon nemszeretemet....)

Csabi szolidan emlékeztetett engem a köztünk levő viszonyra, meg a próbaidőre, meg hogy csak kibírom, ne legyek már ilyen nyápic.

Az értekezlet.

Öltöny, nyakkendő, cúgos cipő, irány a "VEZIG".

Összegyűlt a későbbi csapat a teremben, "anyánk" percre pontosan érkezett.

Körülnézett és annyit mondott hogy mindenkinek drága az ideje, az értekezlet 30 percig fog tartani. Elsorolta a feladatot, amiről azért némi elképzelésünk volt azért, de nem definiálta pontosan. Nagyon gyorsan pörgött minden, mindenki bemutatkozott, és már nagyjából bele is csaptunk a részfeladatok kiosztásába. Ahogy az idő letelt, szétszélesztette a társaságot azzal hogy két hét múlva találkozunk.

El voltam hűlve. 

Emlékeztető? Amilyen értekezletekhez én "szokva" voltam, ott súlyos tízpercekig el tudtak vitatkozni azon hogy valami milyen tartalommal és milyen betűtípussal kerüljön bele.

Másnap "B" postán jött két paksaméta, benne az emlékeztetővel, meg hogy ki mit vállalt fel.

Szabad kezet kaptunk a saját részünkről.

Két héttel később már nem kellett 30 perc se. Gyors kérdés feleletek voltak csak. Ki, mivel, hogy halad, miben kell segítség.

 

Volt amikor még nem voltunk kész az adott részfeladattal, de "anyánk" nem "vette észre", azóta már jól tudom hogy direkt. Tudta nagyon jól hogy ha azt mondjuk hogy kész van, akkor estére meglesz. Vagy hajnalra ;-). Jó, Csabit ő már ismerte, tudta hogy iszonyatos teljesítményre képes, velem meg úgy volt ha ott vagyok, az biztos nem a véletlen műve.

Azért a csapófa algoritmussal megszenvedtem arra emlékszem. Amikor kiderült hogy cash poolt kell alkalmazni és nem lehet mindenhol telepi számla és én lazán bevállaltam, még nem mértem fel hogy mit is tettem :D. Nem tudtam lepasszolni, én vagyok a matematikus elvégre.

Nem kérdezték azt sem hogy hogyan oldjuk meg a biztonságot. (Azért auditáltattak csendben, de ez nem is baj.)

Jöttek a bankok, az ottani programozók, hagyták hogy mi magunk tervezzük meg hogyan haladunk, a lényeg annyi volt hogy a megmérettetési pontokon minden rendben legyen.

 

Egy érdekes momentumot nem tudok feledni... Az volt a feladat hogy másodlagos utat tervezzünk az adatküldésre, emiatt be kellett szerezni 16 modemet, ami a MAVI feladata volt.

Az aktuális értekezleten amikor erről volt szó, bizonytalanságot érzett Benczédiné - később az év menedzsere lett, esküszöm hogy ha valaki, ő maximálisan megérdemelte ezt -, és konkrétan rákérdezett hogy akkor megvannak a modemek, vagy sem.

  • Még csak most jelölik ki azt a háromtagú bizottságot, ami versenyezteti a szállítókat.
  • "Attila! Mennyibe kerül egy modem?"
  • Ha nagyon drágát akarunk venni, akkor 40 ezer forint körül, de az már tényleg mindent tud.
  • "Szóval akkor 600 ezer forintról beszélünk?"
  • Hát, ha bizottságot hívnak össze, meg ilyesmi, akkor sokkal drágább is lehet..... (Humoromnál voltam szokás szerint..... Ebből volt később kínos jelenet, majd a bakiknál elblogolom ;-).) 
  • "Nos?" - fordult szegény pirossá vált arcú Magyar Peti felé anyánk. "Mikorra lesznek meg a modemek?"
  • Három napot kérek.

Becsületére szólva Peti keresztülverte a saját főnökein ezt, és bánta a szurkapiszkának szánt megjegyzését.

Minden szépen kerekedett, ment már az X.25.ös kapcsolat, mentek a tesztek, készültek a doksik... Én rettegtem, mert iszonyatos nagy felelősség ám a MÁV összes pénzével játszani. Rettegtem az indulástól. Az egyik csütörtökön a postabankos programozó srác - Rupp Péter - azt mondta hogy hétfőn éles indulás.

  • Honnan veszed?
  • Főnöknőtök mondta.
  • Ja? Akkor tényleg az lesz.

És elindultunk. Gyakorlatilag csont nélkül. Az első két hétben persze bele kellett rázódni, volt mindig valami csinálni való, a benti kolléganők nem hittek nekem amikor azt mondtam nekik hogy egy hónap múlva már nem is emlékeznek a kezdeti izgalmakra. Vezettem már be rendszert, én tudtam hogy mit beszélek, de ők nem akartak hinni.

Aztán amikor jóval később emlékeztettem őket erre, akkor azt mondták hogy tényleg, igazam volt, de honnan tudtam én ezt akkor :D?

 

Később amikor az Oracle Financials bevezetése kapcsán jött hozzánk egy holland srác - bevallottan azzal a céllal hogy kiváltják a rendszerünket - és a több napos interjú során felfogta hogy mit míveltünk, annyit kérdezett hogy mennyi ideig tartott ez a projekt.

Első kapavágástól a bevezetésig 9 hónap.

Gratulált, hazament, majd belevették a szerződésbe hogy a KPG marad :D. (Persze később azért "átvették"....)

 

Mindez 1995-ben kezdődött...... (Kihagytam a kettős aláírás bevezetését meg egy csomó fontos dolgot, de az úgyis benne van a KPG doksiban, amit majd kiteszek ide és akkor majd javítom a linket itt....)

Remélem sikerült felvázolnom hogy miért is hajazott ez a történet a SCRUM -ra meg az agilis fejlesztésre. Ha nem, akkor tessék kérdezni és én válaszolok.....

Update

Jut eszembe nem írtam ide hogy ez az egész hogyan lett a mienk. Amikor a BEIG-be mentem, volt egy cégem - lehet hogy most múlik ki szegény teljesen, pedig a hydra fejét hiába vágják le ;-) - és annak a "terhével" vettek fel, mondtam hogy vannak futó projektjeim amiket a munkaidőt nem zavarva természetesen folytatni akarok. Ilyen volt például az egyetem második lépcsője is, amit szintén akkor végeztem és nem kértem szabadságot rá. Fiatalság, napi 16 óra munka :D. Volt a BEIG-ben is egyéb feladat bőven. Az első értekezlet után az akkori igazgatónk megtiltotta hogy munkaidőben dolgozzunk a "VEZIG"-nek. Még papírt is készített róla. Valószínűleg félt hogy rosszul sül el ez az egész, hiszen azért mi lettünk ennek a motorja, mert a MAVI minimum 3 éves határidővel vállalta volna be. No de nagyon jól sikerült, bőven a várakozáson felül. A nem pontos feladatmeghatározás, az hogy hagyták hogy mi ne azt utánozzuk le amit, és ahogy addig tettek hanem ismervén a lehetőségeket, az igényeket, nem utolsósorban a szakmánkat sikerre vezetett. Nem azt mondom hogy a decentralizálva centralizálni elvet nem lehetett volna jobban továbbvinni később, de nem lehet minden tökéletes. (Sajna nem voltam elég nyomulós sose.) Summa summárum több hónap működés után, amikor felmérték hogy nemcsak az eredeti célok teljesültek hanem azon felül is néhány "nem várt" pozitív hatás van, tudván hogy mi ezt az egészet munkaidőn kívül végeztük el, megkerestek bennünket a szerződéssel. Bíztam én ebben valahol, de nem számítottam rá. Persze valami nagyon alacsony összeg volt a szerződésmintában, ezen majdnem el is bukott az egész :D. Tudniillik amikor megláttam a kemény 18 khuf/havi support díjat, visszatoltam - szerencsére nem anyánk mutatta, volt annyi esze hogy közvetítővel küldte a mintát, mert akkor a visszautasítás örökre szólt volna gondolom -, miszerint ezt elvállaljuk mi dicsőségből, becsületből, de ne gondolják azt hogy meg vagyunk fizetve ennyivel.

Megdöbbentek a 120-on, amit ajánlottam. (Egy havi fizetés 60 körül mozgott akkor.) Elfogadták.Volt ebből némi feszültség a leányzóknál egy darabig, de amikor szembefutottak a konkurenciával, akkor ez elmúlt :D. A konkurenciával szembefutás történetét most már tényleg csak akkor mesélem el ha valaki kéri.... :D

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 <Ez az e-mail cím a spamrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát. >

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:  Ez az e-mail cím a spamrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.

 

 

 

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

 

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

 

Egy kis javascript okosság :D.

Dátumot kellett bekérjek.

Félelmetes hogy ez mennyire "bonyolult" dolog a html világban....

Beleástam magam a témába, nem volt nagy kedvem szuttyogni a juery-vel, meg nem is tetszett annyira.

A html5 jó volna, de nem támogatja senki se.

 

De találtam egy nagyon jópofa megoldást a neten, ki is pofoztam magamnak, leírom ide hogy el ne feledjem, meg hátha jó lesz még másnak is ;-).

Nagyon tetszik az ötlet, bár ahhoz hogy használható is legyen, azért kellett rajta molyolni.

A validálást egy gombra tettem rá, nincs "befejezve", de látszik hogy szépen készít belőle egy dátum objektumot és vissza is írja. Ha az elvetemült user február 52.-ét ír be, abból bizony március valahanyadika lesz szökőévtől függően. Ati lusta, tehát a hónap dd formátumú, de a vezető nullát odabiggyesztjük ahova kell ;-).

Hmmmm.... Hogy kell ebben a blogmotorban forrást beilleszteni????

No mindegy...

 

Innen szedtem az eredetit :D.

Update: találtam egy jó formázó scriptet, gugli rulez :D.

 

        <!DOCTYPE html>
        <html>
        <body>
        <input
            type="text"
            name="date"
            placeholder="éééé.hh.nn"
            id=datumunk
            onkeyup="
                var v = this.value;
                if (v.match(/^\d{5}/) !== null) {
                    this.value = v.substr(0,4) + '.'+v.substr(4,5);
                    v = this.value;
                };
                if (v.match(/^\d{4}\.\d\./) !== null) {
                    this.value = v.substr(0,5) + '0'+v.substr(5,5);
                    v = this.value;
                }
                if (v.match(/^\d{4}\.\d{3}/) !== null) {
                    this.value = v.substr(0,7) + '.'+v.substr(7,2);
                };
                if (v.match(/[^\d\.]/)!== null) {
                   this.value=this.defaultValue;
                }"

            maxlength="10"
        >
        <p type="text" id=idebele>dddd<p>
        <input type="button" onclick="
               var ideobj=document.getElementById('datumunk');
               var ide=ideobj.value;
               var datum_id_1 = new Date();
               datum_id_1.setFullYear(ide.substr(0,4),ide.substr(5,2)-1,ide.substr(8,2));
               document.getElementById('idebele').innerHTML=datum_id_1.toLocaleDateString();
           ideobj.value=datum_id_1.getFullYear()+'.'+('0'+(datum_id_1.getMonth()+1)).substr(-2,2)+'.'+datum_id_1.getDate();
        //document.getElementById('idebele').innerHTML=ide.substr(0,4)+':'+ide.substr(5,2)+':'+ide.substr(8,2);  "
        </body>

    </html>



 

A végül kirakott kód eredménye alant. (javascriptet nem árt engedélyezni......) 

A blogmotor ügyesen kinyeste a javascriptet innen....... Sebaj, az eredeti oldalon ki lehet próbálni, meg ott a végleges forrás is. Érdemes kipróbálni hogy mi történik ha nem valid dátumot írunk be ;-).

A kódot is kivettem, mert itt szétesik. (Forráskód prefix meg nincs erre, vagy én nem találom, tulajdonképpen a kettő mindegy is...) Majd megnézem hogy hogyan lehet egyszerűen ide kódot beilleszteni, vagy blogmotort fogok váltani. Nincs kedvem szuttyogni ezzel, ha magam akarok magamnak környezetet teremteni, akkor a többi sallang se kell, egy tinymce-t azért be tud az ember illeszteni magának ha nagyon akar....

Morgás visszavonva.  

<!DOCTYPE html>
<html lang="hu">

<body>
<script>
function f_szamol(m_mit)
{
  var m_sz='012345678907894567897653456789';
  var ertekvissz=0;
  var m_vissza='';
  var m_vissza2='';

  var x='we';
  var c_mit=m_mit.toString();
  for (var j=0;j<21;j+=10)
   { for (var i=0;i<c_mit.length;i++) { m_vissza+=m_sz.substr(Number(c_mit.substr(i,1))+j,1);};
       ertekvissz+=Number(m_vissza);
       m_vissza2+=m_vissza;
       m_vissza='';
    };

return ertekvissz;
}
</script>
<p>Születési dátum :
<input
    type="text"
    name="date"
    placeholder="éééé.hh.nn"
    id=datumunk

    onkeyup="
        var v = this.value;
        if (v.match(/^\d{5}/) !== null) {
            this.value = v.substr(0,4) + '.'+v.substr(4,5);
            v = this.value;
        };
        if (v.match(/^\d{4}\.\d\./) !== null) {
            this.value = v.substr(0,5) + '0'+v.substr(5,5);
            v = this.value;
        }
        if (v.match(/^\d{4}\.\d{3}/) !== null) {
            this.value = v.substr(0,7) + '.'+v.substr(7,2);
        };
        if (v.match(/[^\d\.]/)!== null) {
           this.value=this.defaultValue;
        }"

    maxlength="10"
>

</p>

<input type="button" value="Számol" onclick="
       var ideobj=document.getElementById('datumunk');
       var ide=ideobj.value;
       var datumocska = new Date();
       var osszegek= [[0,0,'id_szellemi'],[0,10,'id_lelki'],[0,20,'id_fizikai'],[0,0,'id_arany']];
       var szamolos='012345678907894567897653456789';
       datumocska.setFullYear(ide.substr(0,4),ide.substr(5,2)-1,ide.substr(8,2));
       ideobj.value=datumocska.getFullYear()+'.'+('0'+(datumocska.getMonth()+1)).substr(-2,2)+'.'+datumocska.getDate();
      var amitszamol=datumocska.getFullYear().toString()+(datumocska.getMonth()+1).toString()+datumocska.getDate().toString();

  for (var i=0;i<amitszamol.length;i++)
     {
          for (var j=0;j<3;j++)
            { osszegek[j][0]=osszegek[j][0]+Number(szamolos.substr(Number(amitszamol.substr(i,1))+osszegek[j][1],1));
            }
     };
  for (var j=0;j<3;j++)
     {
        document.getElementById(osszegek[j][2]).innerHTML=osszegek[j][0];
        var oszzstrtmp=osszegek[j][0].toString();
        for (var i=0;i<oszzstrtmp.length;i++)
            { osszegek[3][0]+=Number(oszzstrtmp.substr(i,1));
            }
      };
document.getElementById('id_arany').innerHTML=f_szamol('12');
aranyk=f_szamol(datumocska.getFullYear().toString().substr(0,2))+' '+f_szamol(datumocska.getFullYear().toString().substr(2,2))+' '+f_szamol(datumocska.getMonth()+1)+' '+f_szamol(datumocska.getDate());
var osszeg=0;
for (var i=0;i<aranyk.length;i++)
    {
      osszeg+=Number(aranyk.substr(i,1));
    };
document.getElementById('id_arany').innerHTML=osszeg.toString();

  "
>


<h4><i><p align="center" > Rezgésszámok</p></i>
<table border="2">
<tr>
<th><font color="#8B008B"> Szellemi:</th>
<td id=id_szellemi>----</td>
</tr>
<tr>
<th><font color="#FF1493"> Lelki:</th>
<td id=id_lelki> </td>
</tr>
<tr>
<th><font color="#8B0000">Fizikai:</th>
<td id=id_fizikai> </td>
</tr>
<tr>
<th><font color="#DAA520">Arany közép:</th>
<td id=id_arany> </td>
</tr>
</table>
</body>
</html>