3. A kulcsok használata

kecsi küldte be p, 2005-03-11 00:16 időpontban

3. A kulcsok használata

3.1 Kulcs készítése

A

gpg --gen-key

paranccsal egy új kulcspárt készíthetünk (kulcspár: titkos és nyilvános kulcs). Az első kérdés az, hogy milyen algoritmust használjunk. Az algoritmusokról bővebben a PGP DH és az RSA összehasonlítása GYIK-ban olvashatunk vagy az Alkalmazott kriptográfiá-ban. Használjuk az alapértelmezett DSA/ ElGamal kódolást. Ez nem szabadalmaztatott algoritmus tehát a használatát sem korlátozza semmi.

A következő kérdés a kulcs hossza. Ez egy nagyon felhasználótól függő dolog. Választanunk kell biztonság és számítási idő között. Ha egy kulcs hosszabb, az üzenet elfogása esetén a feltörés kockázata csökken. Ugyanakkor a hosszabb kulcs hosszabb számítási idővel jár együtt. Ha a számítási idő fontos számunkra akkor is figyelembe kell vennünk hogy esetleg évekig nem használjuk a kulcsot mialatt a törésre használható számítási teljesítmény jelentősen megnő. A GnuPG által megkövetelt minimális kulcshossz 768 bit. Lehet hogy néhányan azt mondják 2048 bites kulcs kell (ami jelenleg egyben a maximum is a GnuPG-ben ). A DSA-ban az 1024 bit a szabvány méret. Ha a biztonság mindenekfeletti prioritást élvez, a lehetséges legnagyobb kulcsméretet válasszuk.

Ezután a rendszer bekéri a neveket, megjegyzéseket és e-mail címeket. Az itt megadott adatok szolgálnak a kód azonosítására. Később ezek módosíthatók. Lásd Kulcspárok adminisztrációja. Célszerű hosszabb érvényes e-mail címet választani mivel a teljes felhasználói azonosító aláírásra kerül. Ha a címet megváltoztajuk, az aláírás nem lesz érvényes a megváltoztatott adatokkal.

Végül meg kell adnunk egy jelszót (ami valójában egy mondat is lehet, szóközök is megengedettek). Ez a jelszó biztosítja a titkos kulcshoz kapcsolódó funkcionalitást. Egy jó jelszó (mondat) a következő tulajdonságokkal rendelkezik:

* hosszú,
* tartalmaz különleges (nem alfanumerikus) karaktereket,
* valamilyen módon különleges (nem egy név),
* nagyon nehéz kitalálni (tehát NEM név, születésnap, telefonszám, bankkártya szám/bankszámlaszám, gyerekek nevei és száma, ...)

KiS és nAGybEtűk kEVerT használatával tovább növelhetjük a biztonságot. Úgy válasszuk meg a jelszót hogy biztosak legyünk benne hogy NEM FOGJUK ELFELEJTENI. A titkos kulcs a jelszó nélkül használhatatlan. Bölcs előrelátás lehet rögtön a kulcspár generálásakor egy érvénytelenítési igazolást készíteni (amit aztán NAGYON jól kell őrizni!). Kulcs érvénytelenítése.

Miután mindent megadtunk a rendszer legenerálja a kulcsokat. Ez némi időt vesz igénybe. Ez alatt az idő alatt rengeteg véletlen adatot kell gyűjtenie. Segíthetjük a rendszert a változó véletlen adatok gyűjtésében azzal ha egy másik képernyőn dolgozunk. Ahogy mostanra bizonyára megértettük, a kulcs mindíg más lesz. Ha 5 perc különbséggel generálunk két kulcsot ugyanazokkal az adatokkal két különböző kulcsot kapunk. Most már érthető miért nem szabad elfelejtenünk a jelszót.

3.2 Kulcsok exportálása

A

gpg --export [UID]

parancs az adott UID-hez tartozó kulcsot exportálja. Ha nem adunk meg UID-t akkor az összes jelenlegi kulcsot exportálja a program. Alapértelmezésben a kimenetet a stdout-ra küldi, a -o kapcsolóval átirányíthatjuk egy file-ba. Tanácsos a -a kapcsolóval kimenteni a kulcsot mivel ekkor egy 7-bites kódolású ASCII file-t hoz létre.

A nyilvános kulcs exportálása nagyobbra nyithatja előttünk a világot. Ezzel a lépéssel lehetőséget biztosítunk mások számára arra hogy biztonságosan vehessék fel velünk a kapcsolatot. A kulcsot feltehetjük a web-oldalunkra, elérhetővé tehetjük a finger útján, egy kulcs szerveren keresztül vagy bármilyen más módon ami csak eszünkbe jut.

3.3 Kulcsok importálása

Amikor megkapjuk valakinek a nyilvános kulcsát (vagy néhány nyilvános kulcsot) el kell helyeznünk azt a kulcskarikánkon ahhoz hogy használni tudjuk. Az erre szolgáló parancs a

gpg --import [Filename]

ahol a Filename az a file amelyik az importálandó kulcso(ka)t tartalmazza. Ha nem adunk meg filenevet a program a stdin-ról olvas.

3.4 Kulcs érvénytelenítése

Különböző okoból lehet szükségünk egy kulcs érvénytelenítésére. Például ellopták a titkos kulcsot vagy rossz kezekbe került, megváltozott a UID, a kulcs már nem elég hosszú stb. A kulcsunkat a

gpg --gen-revoke

paranccsal érvénteleníthetjük. Ekkor a program létrehoz egy érvénytelenítési igazolást. Ahhoz hogy ezt megtehessük, szükségünk van a titkos kulcsunkra, különben bárki érvényteleníthetné a kulcsunkat. Ennek van egy hátránya is. Amennyiben elfelejtjük a jelszót a kulcs használhatatlanná válik. De így a kulcsot nem tudjuk érvényteleníteni! Ezen probléma elkerülésére bölcs dolog a kulcspárunk létrehozásakor létrehozni egy érvénytelenítési igazolást. Ha viszont így teszünk nagyon vigyázzunk rá! Tárolhatjuk lemezen, papíron stb. Gondoskodjunk róla hogy ne kerüljön rossz kezekbe!!!!. Ha nem így teszünk bárki akinek kezébe került felhasználhatja és ezáltal a kulcsunkat használhatatlanná teheti.

3.5 Kulcs adminisztrálás

A kulcskarika egy file amit egyfajta adatbázisnak tekinthetünk. Ebben a file-ban található meg az összes kulcs a hozzátartozó információkkal együtt (minden információ az ún. Ownertrust értékek kivételével). Erről részletesebben a Kulcs aláírása) részben olvashatunk. A

gpg --list-keys

parancs hatására a kulcskarikánkon található összes kulcs kilistázódik. Ha a hozzájuk tartozó aláírásokat is ki szeretnénk listáztatni a

gpg --list-sigs

parancsot adjuk ki (lásd a Kulcs aláírása szekciót bővebb információkért). Ha a kulcsokat a hozzájuk tartozó ujjlenyomatokkal együtt szeretnénk látni a

gpg --fingerprint

parancsot kell kiadnunk. Az ujjlenyomatok rövid számsorok melyekkel a kulcsokat azonosíthatjuk. Ez például arra jó hogy meggyőződjünk arról hogy valaki tényleg az akinek mondja magát (például egy telefonbeszélgetésben). Ennek a parancsnak a kimenete viszonylag kis számokból áll.

A titkos kulcsok kilistázására a

gpg --list-secret-keys

parancs szolgál. Megjegyezzük hogy privát kulcsokból történő ujjlenyomat és aláírás listázásank nincs értelme.

Egy nyilvános kulcs törlésére a

gpg --delete-key UID

parancs. míg egy titkos kulcséra a

gpg --delete-secret-key

szolgál.

Egy fontosabb kulcskezelő parancs maradt még, a

gpg --edit-key UID

Az ezt követő menüben egyebek között megváltoztathatjuk a jelszót és a kulcs lejárati idejét, ujjlenyomatot adhatunk hozzá és aláírhatjuk amiről a következő fejezetben lesz szó.

3.6 Kulcs aláírása

Mint már korábban említettük a rendszer Achilles-sarka a nyilvános kulcsok hitelesítése. Ezért hozták létre a kulcsok aláírását. Ezzel az aláíró tanusítja, hogy a kulcs tulajdonosa valoban az UID-ben megadott személy.

Miután a gpg --edit-key UID paranccsal kiválasztottuk az alírni kívánt kulcsot az aláírás a sign parancs hatására történik meg.

Kizárólag olyan kulcsot írjunk alá amelynek eredetiségéről meg vagyunk győződve!. Ez akkor lehet ha az ember vagy személyesen jutott hozzá (például egy kulcsaláíró partin) vagy más módon és ezután ellenőrizte azt (például telefonon) az ujjlenyomat-mechanizmus segítségével. Soha ne írjunk alá kulcsot feltételezésekre alapítva!

A rendelkezésre álló aláírások és "Ownertrust"-ok segítségével a GnuPG ellenőrzi a kulcsok érvényességét. Az Ownertrust egy olyan érték amit a kulcs tulajdonosa arra használ hogy a kulcs megbízhatósági szintjét megjatározza. A lehetséges értékek:

* 1 = Nem tudom
* 2 = NEM bízom meg benne
* 3 = Részben megbízom benne
* 4 = Teljesen megbízom benne

Ha a felhasználó nem bízik meg egy aláírásban ezzel a mechanizmussal veheti rá a GnuPG-t hogy ne vegye figyelembe azt. Az Ownertrust értékeket nem a kulcskarikán hanem egy külön file-ban tárolja a program.