HOWTO za sreèanje z podpisovanjem GPG/PGP kljuèev Avtor: V. Alex Brennen (vab@cryptnet.net) Prevod:Bo¹tjan Müller (neonatus@neonatus.net) v1.0.4, 21. junij 2001, prevod: 22. december 2001 Ta dokument opisuje postopek in metode za organizacijo ter udele¾bo na sreèanju s podpisovanjem PGP/GPG kljuèev z uporabo GPG PGP imple mentacije, GnuPG. Ponudi nam razlago postopka za sreèanje s podpiso vanjem, odgovore pogosto zastavljenih vpra¹anj ter razlo¾i kako proizvesti svoje in podpisovati kljuèe drugih ljudi. ______________________________________________________________________ Kazalo 1. Pregled sreèanja 1.1 Kaj natanko je sreèanje s podpisovanjem kljuèev? 1.2 Kaj je podpisovanje kljuèev? 1.3 Kaj je mre¾a zaupanja (web of trust)? 1.4 Mi lahko daste primer uporabe podpisa z kljuèi? 1.5 Zakaj bi hoteli prirejati lastna sreèanja s podpisovanjem kljuèev? 2. Organizacija sreèanja 2.1 Vloga koordinatorja 2.2 Kako naj bi bilo sreèanje strukturirano? 2.3 Naznanitev sreèanja 2.4 Ustvarjanje spiska kljuèev 2.5 Grafièna izrisava mre¾e zaupanja (web of trust) 3. Udele¾ba na sreèanju 3.1 Povzetek nalog udele¾enca sreèanja 3.2 Kaj naj udele¾enci prinesejo na sreèanje? 3.3 Èesa naj udele¾enci Nebi Prinesli na sreèanje? 3.4 Zakaj naj nebi prinesli raèunalnika na sreèanje? 3.5 Kreiranje lastnega para kljuèev 3.6 Podpisovanje kljuèev ostalih 3.7 Preklic va¹ega para kljuèev 4. Pomembni podatki, ter viri za za veè informacij 4.1 Spisek javnih stre¾nikov s kljuèi 5. Povezave na sorodne dokumnte 5.1 Povezane spletne strani 5.2 Povezani RFC-ji 6. O tem dokumentu 6.1 Verzije 6.2 Sodelavci ______________________________________________________________________ 1. Pregled sreèanja 1.1. Kaj natanko je sreèanje s podpisovanjem kljuèev? Sreèanje s podpisovanjem GPG/PGP kljuèev (GPG/PGP Keysigning Party) je shod GPG/PGP uporabnikov z namenom sreèanja z drugimi uporabniki GPG/PGP-ja ter podpisovanjem kljuèev. To v veliki meri pripomore k raz¹irjanju mre¾e zaupanja (web of trust), vèasih pa slu¾i kot forum za diskusijo o moèni enkripciji, politiènih, ter socialnih spornih toèkah na temo moène enkripcije, pravicah posameznikov, neodvisnosti posameznika ter celo implementaciji enkripcijske tehnologije ali celo bodoèe delo na prostem programju za enkripcijo. 1.2. Kaj je podpisovanje kljuèev? Podpisovanje kljuèev je digitalni podpis javnega kljuèa. Digitalno lahko podpi¹ete svoj lastni kljuè, ali pa javni kljuè, ki pripada nekomu drugemu. Podpisovanje kljuèev je potrebno, da se preveri, da doloèen javni kljuè res pripada osebi, ki se izdaja kot lastnik kljuèa. Na nek naèin podpisi overjajo javne kljuèe. Na ta naèin podpisovanje kljuèev ¹iri mre¾o zaupanja. 1.3. Kaj je mre¾a zaupanja (web of trust)? Mre¾a zaupanja je izraz, ki se uporablja za opis odnosa med skupinami kljuèev. Podpis kljuèa je kot povezava ali nit èe temu tako reèemo v mre¾i zaupanja. Te povezave so imenovane Pot Zaupanja (Trust Path). Poti zaupanja so lahko obojstranske ali le enosmerne. Ideana mre¾a zaupanja je tak¹na v kateri je vsak obojestransko povezan z vsemi ostalimi. Efektivno vsk zaupa, da vsak kljuè dejansko pripada lastniku. Mre¾o zaupanja si lahko predstavljate kot vsoto vseh teh poti zaupanja, ali povezav med vsemi lastniki kljuèev. Kot grafièen primer si lahko ogledate primer grafa mre¾e zaupanja v katero spada avtor tega HOWTO-ja. 1.4. Mi lahko daste primer uporabe podpisa z kljuèi? Kot primer, recimo, da Alice in Bob generirata kljuèe z GPG-jem ter priredita PGP sreèanje s podpisovanjem kljuèev. Na sreèanju Alice in Bob drug drugemu overita informacije o kljuèih in kasneje drug drugemu podpi¹eta kljuèe. GPG ¾e privzeto avtomatsko podpi¹e javni kljuè vsakega generiranega para z pripadajoèim privatnim kljuèem. Tako imata sedaj Alice in Bob vsaj dva veljavna podpisa, ki potrjujeta, da jima kljuèa res pripadata. Kljuè, ki pripada Alice je podpisan od Alice same, ter Bob-a, Bob-ov kljuè, pa vsebuje njegov lasten podpis ter podpis Alice. Èe v prihodnosti Bob in Alice sreèata Cathy. Cathy generira par kljuèev, ter in pove Alice in Bob-u da jima bo poslala svoj kljuè. Alice Cathy ni v¹eè in noèe, da bi Bob komuniciral z njo preko enkriptiranih podatkov. Obe Alice in Cathy generirata PGP kljuèe, kateri naj bi oboji pripadali Cathy. Obe po¹ljeta kljuè Bob-u. Oba kljuèa imata le en podpis, podpis pripadajoèega privatnega kljuèa. Bob ne ve kateri kljuè dejansko pripada Cathy. Cathy izve, da je Bob dobil dva kljuèa in sumi Alice. Cathy, sedaj jezna, ¾eli pridobiti informacije, katere bi lahko uporabila proti Alice. Èe pa to hoèe storiti mora komprimirati enkriptirano komunikacijo med Alice in Bob- om. Da pa bi to dosegla, se Cathy odloèi ponarediti email od Alice Bob-u v katerem mu sporoèa, da je generirala nov set kljuèev. Ponarajenem e-mailu Cathly doda "novi" javni kljuè (ki je v bistvu ponarejen kljuè, katerega je generirala Cathy). Vendar Bob, ki ima sedaj dva kljuèa od Alice, enega od teh je podpisalo veè ljudi (on in Alice), kar potrdi, da ta kljuè pripada Alice, medtem, ko ima drugi kljuè (kljuè, katerega je ponaredila Cathy samo en podpis - lasten podpis). Zgornji primer je zelo poenostavljen in stvari so lahko dosti bolj zakomplicirane kot to. Za veè informacij in detajlne opise si lahko preberete PGP FAQ-a ali dobre knjige o PKI. Zgornji primer jasno razlo¾i osnove podpisovanja kljuèev in vrednost le-tega. Cathy ni bila zmo¾na zamenjati kljuèa zaradi povezav mre¾e zaupanja med Bob-om in Alice. Kakorkoli, podpisi in mre¾e zaupanja ne jamèijo za verodostojne kljuèe. Na primer, ko sta Bob in Alice prviè sreèala Cathy, recimo, da je Cathy-in prijatelj Donald bil z Cathy. Donald bi lahko generiral ponarejene pare kljuèev za Alice in Bob-a, ju podpisal z svojim kljuèem ter nato ¹e vsakega z vsakim, kar bi imelo za posledico kljuèe z tremi podpisi na vsakem kljuèu, katere bi nato poslal Cathy Cathy bi tako imela serije ponarejenih kljuèev in podpisov. Kako bi njej pomagalo podpisovanje kljuèev, da bi se lahko obranila tak¹nega napada? Recimo, da so vsi ljudje vpleteni kljuèe izmenjevali preko stre¾nikov s kljuèi (keyservers). Èe bi Cathy iskala Bob-ov in Alice- in kljuè preko stre¾nika s kljuèi bi na¹la dva primera kljuèev tako za Alice kot za Bob-a. Èe pa bi Alice in Bob dobila dvajset podpisov na sreèanju z podpisovanjem kljuèev, je oèitno, da Cathy lahko bolje zaupa kljuèu, podpisanemo dvajsetkrat kot kljuèu podpisanemu trikrat. Cathy bi lahko dobila nekaj informacij o kljuèih tudi iz obstoja dodatnih javnih kljuèev - pobli¾je si lahko ogleda èas generiranja in datume ter mre¾o zaupanja teh kljuèev. Dvajset kljuèev, z podpisov z sreèanja z podpisovanjem bi morali biti podpisani dvajset ali veèkrat, ter bi morali imeti razliène èase generiranja, najverjetneje bi bili vsi kljuèi, ki so podpisali Alice-in in Bob-ov kljuè podpisani tudi z drugimi kljuèi. To pa se nebi zgodilo, èe bi Donald heneriral dvajset ponarejenih parov kljuèev, ter sam ustvaril ponarejeno mre¾o zaupanja. 1.5. Zakaj bi hoteli prirejati lastna sreèanja s podpisovanjem kljuèev? Obstajajo trije osnovni razlogi, zakaj bi priredili èim veè sreèanj s podpisovanjem kljuèev. Prviè ter morda najpomembneje, priredite èim veè sreèan s podpisovanjem kljuèev, da raz¹irite mre¾o zaupanja. Globje in bolj povezana kot bo, te¾je jo je prevarati. Drugiè, sreèanja s podpisovanjem kljuèev omogoèajo vkljuèitev drugih v "varnostno kulturo" in jih spodbujajo k razumevanju PGP-ja in povezane tehnologije za moèno enkripcijo. Da bi pridobili prednosti moène enkripcije jo morajo ljudje uporabljati in to pravilno. Konèno, sreèanja s podpisovanjem kljuèev pripomorejo k izgradnji skupnosti. Pripomorejo "tekijem" (techies) da se dru¾ijo, spoznajo en drugega, mre¾o, ter diskutirajo o pomembnih temah kot so pravice posameznikov, pravice enkripcije, pravila interneta. Diskusija je pomembna, ker je ne le prvi korak, temveè korak pred akcijo. V èasu avtorjevega pisanja tega dokumenta na svetu ni ravno mnogo mre¾ zaupanja. Èe delate na tem, da bi zgradili mre¾o zaupanja v va¹em okoli¹u, je zelo verjetno, da bodo prvi udele¾enci v tej mre¾i voditelji ter tisti, ki bodo ustvarjali pravila internetne skupnosti v va¹em okoli¹u. To so posamezniki, ki lahko izberejo da zgradijo moèno varno kriptografijo in protokole v lokalno infrastrukturo, èe si tega ¾elijo. Integracija tak¹ne tehnologije in protokolov bi povzroèile, da bi problemi, kot je FBI-jev carnivore sistem neizvedljiv in zatorej dvomljiv. 2. Organizacija sreèanja 2.1. Vloga koordinatorja Sreèanja s podpisovanjem ni zelo te¾ko organizirati ali koordinirati. Kakorkoli, poleg rednih nalog povabljanja ljudi, izbire lokacije ter doloèitve èasa, ima koordinator ¹e naloge specifiène za sreèanje s podpisovanjem. Te navadno vkljuèujejo pripravljanje spiska kljuèev za vsakega udele¾enca, ter doloèitev zgradbe sreèanja. 2.2. Kako naj bi bilo sreèanje strukturirano? Obstajata dva osnovna naèina, na katera lahko izgradimo sreèanje s podpisovanjem kljuèev -- centraliziran naèin ali decentraliziran naèin. Najbolj¹i pristop k sreèanja se doloèi glede na kolièino ljudi, ki bodo na sreèanju prisostvovali, ter ozraèja lokacije, kjer se bo sreèanje odvijalo. Osnovne zahteve sreèanja so da so udele¾enci zmo¾ni overiti kljuèe drug drugemu ter identitete drug drugemu. Èe so te osnovne zahteve izvr¹ene lahko koordinator uporabi variacije teh dveh tipov. Centralizirano sreèanje bi bilo bolj organizirane oblike, kar bi bolje delovalo z manj¹imi ¹tevili ljudi. Udele¾enci po¹ljejo podatke o svojih kljuèih koordinatorju, ki te podatke shrani v spisek. Vsak udele¾enec, potem ko prispe na sreèanje dobi en izvod tega spiska. Vsakega udele¾enca bi potem poklical koordinator. Udele¾enec bi takrat preveril, èe se njegov fingerprint ujema z fingerprintom kljuèa na spisku, katerega jim je dal koordinator. Èe je udele¾enec preprièan, da je fingerprint pravilen, bi na glas prebral svoj fingerprint, tako, da bi ¹e ostali udele¾enci videli, da imajo na listu pravi fingerprint. Èe se fingerprint ujema, ga odkljukajo na svojem listu. To je nujno, da se preveri, da koordinator ni naredil napake pri pripravljanju spiska ali da jim ni podtaknil spisk z ponarejenimi podatki. Po tem, ko so vsi odkljukali kljuè, koordinator poklièe naslednjega udele¾enca, ter tako dalje. Po tem, ko so vsi kljuèi obkljukani, se udele¾enci ter koordinator postavijo v vrsto, pred seboj pa dr¾ijo list z svojim ID-jem. Oseba na zaèetku vrste se sprehodi do konca vrste in preveri ID vseh oseb v vrsti. Èe je ID pravilen in se ujema s tem na listu, ter ¾e ima prvo kljukico si odkljuka poleg kljuèa ¹e drugo kljukico. Ko ima kljuè enkrat dve kljukici se ga lahko podpi¹e. Decentralizirano sreèanje bi temeljilo na principu da vsak dela zase. Udele¾enci naj bi se pomeèali neformalno, ter poiskali ostale udele¾ence katerih kljuèev ¹e niso podpisali. Po sreèanju preverijo kljuèe na svojih spiskih ter eden-drugemu overijo ID-je. Decentralizirana sreèanja omogoèajo vkljuèitev dosti veèjega ¹tevila ljudi, vendar imajo tudi slabo lastnost, da udele¾enci lahko spregledajo koga in mu ne podpi¹ejo kljuèa. Na tak¹nem sreèanju je pomembno, da koordinator vzpodbuja vse, da se preprièajo, da so overili ID-je ostalih. Spisek kljuèev ter fingerprintov ni nujen za tak¹no sreèanje, je pa priporoèljiv. Centralizirana sreèanja so odlièna za podpisovanja na konferencah med kosilom, neformalnih tihih sreèanjih pri nekom doma ali vrestavraciji, itd. Decentralizirana sreèanja so dosti bolj praktièna za sreèanja, katerih se bo udele¾ilo veèje ¹tevilo ljudi, in se odvijajo v baru ali kakem drugem hrupnem okolju, ali zabavah katerih se udele¾ujejo neotesani ter te¾ko kontrolirajoèi geek-i. 2.3. Naznanitev sreèanja Veèje kot je sreèanje tem bolje. Sreèanje lahko naznanite na lokalnem LUG po¹tnem spisku, ostalih spiskih povezanih z raèunalni¹tvom v va¹i okolici, lahko celo daste oglas v èasopis ali izdate bilten za tisk. Èe ravno zaèenjate graditi mre¾o zaupanja v va¹em okoli¹u, je navadno pametno zdru¾iti èim veè aktivnih PGP uporabnikov, da vam pri tem pomagajo, ker so oni navadno tisti, ki bodo v prihodnosti organizirali tak¹na sreèanja. Dobri naèini iskanja tak¹nih ljudi so pogovori z ostalimi, ki po¹iljajo PGP podpisana sporoèila na po¹tne spiske, ali z iskanjem kljuèev z e-mail naslovi specifiènimi za va¹ okoli¹ na stre¾nikih s kljuèi. Naprimer e-mail naslovi, ki se konèajo z domenami univerz ali veèjih podjetih lociranih v va¹em okoli¹u pogosto privedejo do velikega ¹tevila zainteresiranih oseb. Tu je nekaj primerov naznanil: · Spletna stran naznanitve sreèanja s podpisovanjem PGP kljuèev · E-mail naznanitve sreèanja s podpisovanjem PGP kljuèev · Bilten za tisk naznanitve sreèanja s podpisovanjem PGP kljuèev. 2.4. Ustvarjanje spiska kljuèev Èe boste uporabili strukturo za sreèanje, pri kateri udele¾enci potrebujejo spisek kljuèev vseh prisostujoèih, mora koordinator tak¹en spisek tudi ustvariti. Spisek naj bi bil sestavljen na naèin podoben temu: Key ID 992A4B3F Avtor je napisal perl skripto, ki generira HTML dokument v zgornjem stilu iz gpg keyring-a, jaz sem jo malce spremenil, tako, da deluje tudi z novej¹imi verzijami gpg-ja. Perl skripta ki generira spisek kljuèev je dosegljiva pod pogoji GNU General Public License (GPL). Kopije spiska bi se nato natisnilo za vse udele¾ence sreèanja s podpisovanjem. Koordinator lahko natisne spisek sam, ali pa ga razpo¹lje udele¾encem preko e-mail-a ali pa ga objavi na spletni strani, ter ga nato udele¾enci natisnejo sami. 2.5. Grafièna izrisava mre¾e zaupanja (web of trust) Niè ne vzpodbudi zanimanja ljudi kot pisane slike. Zatorej, izrisovanje mre¾e zaupanja kot ste jo izgradili v va¹em okoli¹u lahko pripomore k motivaciji ljudi, da sodelujejo, kot tudi to, da vsem jasno prika¾e kaj ste dosegli v procesu. Enostavno lahko izdelate graf vseh kljuèev in podpisov va¹e mre¾e zaupanja z pretvorbo teh informacij v dot datoteko, katero lahko podate programu za izrisovanje grafov kot sta dot ali neato. Perl skript, ki pretvori keyring v datoteko dot formata je napisal Darxus in je ravno tako dosegljiva pod pogoji GPL. Da lahko nari¹ete graf mre¾e zaupanja boste morali na svoj disk shraniti Darxus-ov sig2dot.pl skript ter AT&T Researchh-ov graphviz paket. Morda ne boste mogli generirati grafa mre¾e zaupanja za veè kot nekaj sto vozli¹è ker je za tak¹no operacijo potrebno kar nekaj spomina. Navodila za risanje grafa mre¾e zaupanja v gpg keyring-u so vkljuèena v sig2dot.pl skriptu, ali pa jih lahko najdete na Debian-ovi strani o risanju grafof keyringov. Zopet tule je povezava na graf mre¾e zaupanja ki je bil narejen z sig2dot.pl skriptom ter neato programom za grafe. Veè informacij je dosegljivih preko Debian keyring graphing page (en). 3. Udele¾ba na sreèanju 3.1. Povzetek nalog udele¾enca sreèanja 1. Generati par kljuèev 2. Po¹ljite javni kljuè na doloèen stre¾nik s kljuèi (ali koordinatorju) 3. Po¹ljite podatke o javnem kljuèu koordinatorju 4. Prika¾ite se na sreèanju 5. Preverite podatke o va¹ih kljuèih na sreèanju 6. Preverite podatke o kljuèih vseh ostalih na sreèanju 7. Podpi¹ite vse preverjene kljuèe 8. Po¹ljite vse podpisane kljuèe nazaj na stre¾nik s kljuèi (ali lastniku kljuèa) 3.2. Kaj naj udele¾enci prinesejo na sreèanje? 1. Njih same - virtualno ne morete prisostvovati 2. Dve vrsti dokumenta s sliko - vozni¹ko dovoljenje in osebna izkaznica sta dovolj 3. Key ID, Key Type, Hex Fingerprint and Key Size informacije o svojem kljuèu na listu 4. Pisalo 3.3. Èesa naj udele¾enci Nebi Prinesli na sreèanje? 1. Raèunalnika 3.4. Zakaj naj nebi prinesli raèunalnika na sreèanje? Raèunalnika naj nebi prinesli na sreèanje ker lahko binarne zamenjave ali modifilacije sistema enostavno komprimirajo PGP sisteme. Èe naj bi nekdo prinesel prenosnik katerega naj bi vsi uporabljali za podpisovanje kljuèev na sreèanju, nebi nihèe dejansko vedel, ali je na raèunalniku tekel program, ki lovi vtipkane znake, modificirano verzijo GPG-ja, modificirano verzijo Linux jedra ali posebno oblikovano tipkovnico, katerikoli od teh naèinov bi se lahko uporabil, da bi pridobili privatne kljuèe tistih, ki so uporabljali raèunalnik. Uporaba raèunalnika na sreèanu bi vas ravno tako naredila ranljive za branje preko ramena, ali bolj kompleksne napade kot je injekcija virusov, ki modificirajo gpg program, da bi izdajali podatke o privatnih kljuèih. 3.5. Kreiranje lastnega para kljuèev Postopek generiranja lastnega para kljuèev je precej preprost. V osnovi morate le zagnati gpg --gen-key . Kakorkoli, priporoèam vam, da ustvarite tudi preklicni certifikat (revocation certificate) za va¹e kljuèe v primeru, da kdaj izgubite dostop do va¹ega skrivnega kljuèa (npr. izgubite geslo zanj ali izgubite sam skrivni kljuè). Navodila za kreiranje preklicnega certifikata najdete v poglavju 3.7 tega dokumenta. Navodila spodaj so napisana korak za korakom, z varnostjo v mislih. Naprimer: · kljuèe se generira z najveèjo mo¾no velikostjo kljuèev, da se jih naredi bolj odporne na "brute force" napad · kljuèi se generirajo z omejeno ¾ivljenjsko dobo, da se prepreèi njihova dolgoroèno ogro¾anje z vedno napredujoèo raèunalni¹ko tehnologijo · kljuèe se shrani na disketnik, da se prepreèi kraja kljuèev v primeru, da si nekdo pridobi dostop do va¹ega raèunalnika (z oddaljenega ralunalnika ali fizièno) · preklicni certifikat se generira, da se lahko javni kljuè v primeru kompromiranja ali izgube kljuèa lahko preklièe Nekateri ljudje, se bodo poèutili varne tudi brez vseh teh varnostnih ukrepov. Naprimer, da posedujete prenosnik ali domaè raèunalnik na katerem berete vso elektronsko po¹to, se lahko poèutite dovolj varno, da na disku tega raèunalnika shranite va¹ par kljuèev. Lahko tudi varno generirate par kljuèev katerega veljavnost nikdar ne poteèe in katerega lahko uporabljate za identifilacijo in veèino komunikacij - ter kreirate ¹e par kljuèev, ki ga uporabljate za izjemno obèutljive komunikacije (èe imate kake). Ponovno navodila, ki si sledijo korak za korakom spodaj so napisana z mislijo na èim bolj¹p varnost. Ni vam jih nujno potrebno slediti, da generirate par kljuèev. Po drugi strani, le ste izjemno paranoièni varnostni "freak" kot sem jaz potem vam bo sledenje spodnjim navodilom prineslo obèutek pomirjenosti, ki ga trenutno tako potrebujete. 1) Pojdite na www.gnupg.org, ter k sebi na disk shranite zadnjo verzijo gnupg-ja: gnupg-x.x.x.tar.gz Opozorilo: Preprièajte se, da imate dejansk vsaj verzijo GnuPG-ja 1.0.6, ker verzije pred to imajo pomembne varnostne luknje v njih. 2) Preverite PGP podpis ter MD5 vsoto GnuPG arhiva: [vab@firster vab]$ gpg --verify gnupg-x.x.x.tar.gz.sig gnupg-x.x.x.tar.gz [vab@firster vab]$ md5sum gnupg-x.x.x.tar.gz 3) Razpakirajte arhiv, ga skonfigurirajte, prevedite ter in¹talirajte: [vab@firster vab]$ tar xvzf gnupg-x.x.x.tar.gz [vab@firster vab]$ cd gnupg-x.x.x [vab@firster gnupg-x.x.x]$ ./configure [vab@firster gnupg-x.x.x]$ make [vab@firster gnupg-x.x.x]$ su [vab@firster gnupg-x.x.x]# make install [vab@firster gnupg-x.x.x]# exit [vab@firster gnupg-x.x.x]$ cd Èe delite sistem na katerega in¹talirate GnuPG ¹e z kom, bi morda ¾eleli GnuPG narediti setuid root, tako, da lahko uporablja za¹èiten spomin. Èe to ¾elite storiti, priporoèamo previdnost da preverite va¹ arhiv z md5 podpisom, ter pgp podpisom, da si zagotovite da ni trojanski konj. 4) Najdite disketo, na katero boste shranili kljuèe, ter jo sformatirajte. [vab@firster vab]$ /sbin/mkfs.ext2 /dev/fd0 4a) "Mount-ajte" disketno enoto ter naredite direktorij, ki pripada vam na njej za va¹e kljuèe: [vab@firster vab]$ mount /mnt/floppy [vab@firster vab]$ mkdir /mnt/floppy/.gnupg ter èe je potrebno (odvisno od dostopa do fd0 na va¹em sistemu): [vab@firster vab]$ chown <va¹_uid>:<va¹_gid> /mnt/floppy/.gnupg 4b) Naredite symlink z va¹ega domaèega direktorija na disketo [vab@firster vab]$ ln -s /mnt/floppy/.gnupg .gnupg 5) Generirajte svoje gnupg kljuèe [vab@firster vab]$ gpg --gen-key 5a) Izberite tip kljuèa, ki ga ¾elite - Privzeto je v redu. Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (4) ElGamal (sign and encrypt) Your selection? <return> 5b) Izberite velikost svojega kljuèa: 2048 DSA keypair will have 1024 bits. About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024) 2048<return> Do you really need such a large keysize? yes<return> 5c) Nastavite ¾ivljenjsko dobo tega kljuèa: 5 let je v redu Requested keysize is 2048 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) 5y<return> Key expires at Sun Sep 21 16:17:15 2005 EDT Is this correct (y/n)? y<return> 5d) Vnesite svoje ime/priimek ter elektronsk(i/e) naslov(e)... Real name: Demo User<return> Email address: demo@nonexistent.nowhere<return> Comment: You selected this USER-ID: "Demo User <demo@nonexistent.nowhere>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O<return> 5e) Izberite si geslo. Izbrati morate dobro geslo. Bilo naj bi dolgo, ter te¾ko za uganiti. Mora biti nekaj, èesar ne boste pozabili. Èe pozabite svoje geslo ne morete veè uporabljati kljuèa. 5f) Premikajte mi¹ko, ter pritisnite nekaj tipk, morda posodobite locate ali naredite veèje iskanje z find ukazom. GPG bere iz /dev/random, da dobi veè nakljuènosti za generacijo va¹ih kljuèev. /dev/random v glavnem naseljujejo prekinitve. 6) Spremenite svoj kljuè, èe to ¾elite. Na primer, èe imate veè elektronskih naslovov in jih ¾elite vse kot veljavne na va¹ih kljuèih: [vab@firster vab]$ gpg --list-secret-keys /home/vab/.gnupg/secring.gpg ---------------------------- sec 1024D/C01BAFC3 2000-09-21 Demo User <demo@nonexistent.nowhere> ssb 2048g/7A4087F3 2000-09-21 [vab@firster vab]$ gpg --edit-key C01BAFC3 Command> help Command> adduid [...] Command> save 7) Po¹ljite va¹ kljuè na stre¾nik s kljuèi [vab@firster vab]$ gpg --keyserver <stre¾nik_s_kljuèi> --send-key <Va¹_Key_ID> Videti bi morali sporoèilo o uspehu kot je tole: gpg: success sending to `<stre¾nik_s_kljuèi>' (status=200) Tu je pomembno omeniti, da nekateri ljudje verjamejo, da skrivanje kljuèev (shranjevanje le teh brez objave) pripomore k dodatni varnosti za njihove enkriptirane komunikacije. To je res, ker na stre¾niku s kljuèi bi lahko pri¹lo do vdora ali kompromizacije in vrnili napaèen javni kljuè, ko bi bil le-ta zahtevan. Nadalje, kljuè ma doloèenem javnem stre¾niku s kljuèi morda ni najnovej¹a verzija kljuèa. Naprimer dodatni podpisi so morda bili dodani kljuèu, ki ni bil poslan na stre¾nik s kljuèi. To je tudi res ker je za doloèene tipe napadov na javni enkripcijski sistem, ki ga uporablja PGP potreben javni kljuè. Medtem, ko mnogo ljudi prièakuje, da z razumno velikimi kljuèi ti napadi nebi mogli biti uspe¹ni, tako da je vseeno, ali je javni kljuè objavljen, ohranjanje javnega kljuèa v tajnosti dejansko ojaèa par kljuèev. Jaz ne priporoèam da ohranite svoj javni kljuè v tajnosti, ker bo to druge odvrnilo od uporabe PGP-ja v njihovih komunikacijah z vami. Èe se znova dotaknemo teme o mo¾nosti pokvarjenega ali kompromiranega stre¾nika s kljuèi, ki bi vraèal napaène kljuèe, se lahko za¹èitite pred tem, da bi vam po¹iljali sporoèila z pokvarjenimi kljuèi, tako, da objavite fingerprint svojega kljuèa v svoji .signature datoteki ali na spletu. Da se posvetimo temi napada va¹ega para kljuèev preko dosegljivosti va¹ega javnega kljuèa bi rekel, èe ste resnièno zaskrbljeni glede èvrstosti va¹ega para kljuèev ali resnièno paranoièni glede varnosti va¹ih komunikacij, lahko generirate dodatne pare kljuèev (ki poteèejo v roku ur ali dni) za vsako komunikacijo ter izmenjate javne kljuèe teh parov skozi kodirane komunikacije z posamezniki s katerimi ¾elite komunicirati. Èe ne ¾elite imeti svojega kljuèa na javnem stre¾niku s kljuèi lahko preskoèite ta korak ter namesto tega po¹ljete svoj javvni kljuè koordinatorju sreèanja z sporoèilom v katerem napi¹ete, da svojega javnega kljuèa ne ¾elite imeti na javnem stre¾niku s kljuèi. Koordinator lahko prebere informacije o va¹em kljuèi ter posreduje va¹ kljuè ostalim udele¾encem sreèanja preko kodirane elektronske po¹te, ali kake druge metode, poleg tega pa ¹e sporoèilo, da naj se kljuè po podpisu vrne lastniku, in se ne po¹lje na stre¾nik s kljuèi. 8) Generirajte preklicni certifikat. To je neobvezen korak. Generiranje in shramba preklicnega certifikata vam bo omogoèila preklic va¹ega javnega kljuèa tudi v primeru da to le tega izgubite dostop zaradi kompromizacije, zaplembe, pozabljenega gesla, ali okvare medija na katerem je bil shranjen. Èe ¾elite imeti mo¾nost, da preklièete va¹ javni kljuè kadar nimate dostopa do va¹ega skrivnega kljuèa, generirajte preklicni certifikat ter ga shranite na varnem mestu. Kopijo preklicnega certifikata je pametno natisniti, da ga lahko vseeno vnesete v primeru, da se vam okvari medij na katerem je bil shranjen. Èe pride do kompromizacije va¹ega preklicnega certifikata, bi dobil posameznik, ki je kompromiziral va¹ certifikat mo¾nost uporabe certifikata in potemtakem onemogoèiti va¹ kljuè. Vendar, posameznik ne bo mogel kompromirati va¹ega skrivnega kljuèa preko preklicnega certifikata. Torej ne bo zmo¾en ustvariti ponarejenih podpisov, odkodirati sporoèil zakodiranih z va¹im parom kljuèev ali se predstavljati z njim za vas, kot lastnik va¹ih kljuèev. Ker je edini mo¾ni izid kompromizacije preklicnega certifilata onemogoèenje va¹ega para kljuèev je v glavnem varna in pametna odlolitev. Zopet oddelek 3.7 vsebuje veè informacij o preklicu kljuèev. GnuPG ukaz, ki generira preklicni certifikat je: [vab@firster vab]$ gpg --output revcert.asc --gen-revoke <key_id> 9) Preko elektronske po¹te po¹ljite podatke o va¹ih kljuèih koordinatorju sreèanja, ter mu povejte, da pridete na sreèanje. Ukaz napisan spodaj bo izpisal podatke, ki jih morate poslati koordinatorju, èe uporabljate stre¾nik s kljuèi. Te podatke nato lahko po¹ljete v enkriptiranem sporoèilu preko elektronske po¹te koordinatorju. [vab@firster vab]$ gpg --fingerprint <Your_Key_ID> 10) Od-"mountajte" disketo ter jo izvrzite: [vab@firster vab]$ umount /mnt/floppy Opomba: Disketo lahko nsoite s seboj za dodatno varnost, ali pa jo lahko pustite v varnem zaklenjenem predalu mize, itd. Svojih kljuèev NOÈETE imeti v .gnupg direktoriju, ki je dosegljiv preko spleta. 11) Prika¾ite se na sreèanju. 3.6. Podpisovanje kljuèev ostalih 1. korak: Dobite kopijo kljuèa Navadno boste delali z stre¾nika s kljuèi. Toda èe kljuè, ki ga podpisujete ni disegljiv na stre¾niku s kljuèi ga lahko enostavno uvozite z ukazom gpg --import datoteka_z_javnim__kljuèem . Èe pa delate z stre¾nikom s kljuèi, pa bo naslednji ukaz shranil kljuè s streènika v va¹ javni keyring [vab@firster vab]$ gpg --keyserver <stre¾nik_s_kljuèi> --recv-keys <Key_ID> Èe dobite napako za branje, to pomeni da so stre¾niki s kljuèi preobremenjeni. Prosim poskusite znova èez nekaj sekund. 2. korak: Poglejte fingerprint kljuèa in ga overite [vab@firster vab]$ gpg --fingerprint <Key_ID> GPG bo izpisal podatke o kljuèu (katerega ste ravnokar shranili s stre¾nika s kljuèi): fingerprint in <Key_ID >. Preverite, èe se fingerprint shranjenega kljuèa ujema z fingerprintom kljuèa na va¹em spisku, ki ste ga dobili na sreèanju. Opozorilo: ne preverjajte fingerprinta na spletni strani stre¾nika s kljuèi, ker ni nujno da bam bo poslal isti kljuè, kot je prikazan na spletni strani. 3. korak: Podpi¹ite kljuè [vab@firster vab]$ gpg --sign-key <Key_ID> Èe imate veè privatnih kljuèev doloèite s katerim kljuèem ¾elite podpisati z ukazom podobmin temule: [vab@firster vab]$ gpg --default-key <Kljuè_ki_ga_boste_uporabili> --sign-key <Key_ID> Èe imate probleme z delom z RSA kljuèi po vsej verjetnosti uporabljate staro verzijo gnupgja. Verzije GnuPG-ja starej¹e od 1.0.3 ne vsebujejo podpore za RSA algoritem. Opozorilo: morda morate odstraniti starej¹o verzijo, ki jo je va¹o distribucijo namestila z orodjem za delo s paketi. Verzijo programa, ki ga klièete lahko preverite z sledeèim ukazom: [vab@firster vab]$ gpg --version 4. korak: Vrnite ali po¹ljite na stre¾nik s kljuèi podpisan kljuè Èe delate z osebo, ki noèe imeti svojih kljuèev na javnem ku s kljuèi, bi jim morali pri tem koraku vrniti njihov javni kljuè preko metode po njihovi izbiri - navadno preko enkriptirane elektronske po¹te. Javnega kljuèa ne smete poslati na javni stre¾nik s kljuèi brez dovoljenja njegovega lastnika. Objava javnega kljuèa malce zmanj¹a varnost para kljuèev, zatorej bi se razumelo kot nevljudno, èe bi kljuè naredili bolj javen, kot ¾eli njegov lastnik. Najverjetneje boste delali preko stre¾nika s kljuèi. V tem primeru lahko po¹ljete kljuè na stre¾nik s kljuèi na sledeè naèin: [vab@firster vab]$ gpg --keyserver <stre¾nik s kljuèli> --send-key <Key_ID> Videti bi morali sporoèilo podobno temu: gpg: success sending to `<stre¾nik_s_kljuèi>' (status=200) Èestitke, podpis kljuèa druge osebe je sedaj konèan in va¹ podpis je bil dodan v njihov javni kljuè. Pot zaupanja je bila vzpostavljena. 3.7. Preklic va¹ega para kljuèev V primeru, da sumite, da je bil va¹ skrivni kljuè kompromiran, bi morali takoj preklicati va¹ javni kljuè. Preklic kljuèa poteka z dodatkom preklicnega certifikata javnega kljuèa. Preklic kljuèa da vedeti, da kljuè ni veè veljaven (varen) in da se ga naj ne uporablja. Enkrat, ko je preklicni certifikat izdan, se ga ne da veè preklicati. Ker je va¹ PGP kljuè distribuiran (brei kro¾i) med ljudmi in se ne ureja z centralne toèke morate distribuirati preklicni certifikat na isti naèin kot raz¹irjate va¹ javni kljuè. Kro¾enje preklicnega certifikata na isti naèin kot va¹ javni kljuè bi navadno pomenilo, da preklicni certifikat po¹ljete na stre¾nike s kljuèi. Èe kljuèa niste poslali na stre¾nik s kljuèi lahko kljub temu po¹ljete preklicni certifikat nanj (v tem primeru bi se poznala razlika med prosto dostopnostjo javnega kljuèa in nezmo¾nostjo opozorila oseb da je bil va¹ kljuè preklican). Ponovno, ukaz za kreiranje preklicnega certifikata je sledeè: [vab@firster vab]$ gpg --output revcert.asc --gen-revoke <key_id> Èe se vam dozdeva kdaj in kako je pli¹lo do komprimizacije va¹ega kljuèa in ste generirali preklicni certifilat med generacijo kljuèa, boste lahko ¹e vedno generirali nov preklicni certifikat, za preklic va¹ega para kljuèev, to pa zato, ker vam openPGP omogoèa, da opi¹ete razlog preklica, ter napi¹ete ¹e nekaj teksta o tem zakaj kljuè preklicujete. Kro¾enje tak¹nega preklicnega certifikata ima svoje prednosti in je bolj za¾eljeno kot kro¾enje splo¹nega preklicnega certifikata generiranega med kreiranjem kljuèev. 4. Pomembni podatki, ter viri za za veè informacij 4.1. Spisek javnih stre¾nikov s kljuèi 1. CryptNET Omre¾je stre¾nikov s kljuèi a. gnv.keyserver.cryptnet.net 2. www.keyserver.net Omre¾je a. search.keyserver.net b. seattle.keyserver.net c. germany.keyserver.net d. belgium.keyserver.net e. finland.keyserver.net f. thailand.keyserver.net 3. pgp.ai.mit.edu 4. pgp.uni-mainz.de 5. Povezave na sorodne dokumnte GnuPG FAQ (en) GnuPG Priroænik (en) GnuPG Mini Howto (English) comp.security.pgp FAW 5.1. Povezane spletne strani GnuPG Domaèa Stran (en) Domaèa stran zdru¾enja OpenPGP (en) Mednarodna domaèa stran PGP (en) Stran izrisovanja grafov Debian (en) Programski paket AT&T Labs-Research Graphviz (en) Stran o sledenju podpisov (en) 5.2. Povezani RFC-ji rfc2440 6. O tem dokumentu Copyright (c) 2000, 2001 V. Alex Brennen. Dovoljenja za kopiranje, distribucijo in/ter spreminjanje tega dokumenta so dovoljena pod pogoji GNU Free Documentation License, Verzije 1.1 ali novej¹e, ki jo objavi Free Software Foundation. Ta dokument ¾ivi na naslovu http://www.cryptnet.net/fdp/crypto/gpg- party.html Prevedel 23.12.2001 Bo¹tjan Müller 6.1. Verzije Version 1.0.0, 2000.10.01 Zaèetna izdaja Version 1.0.1, 2000.10.03 Spremembe v naèinu pisanja, informacije o javnih kljuèih Version 1.0.2, 2000.12.07 Popravljena napaka v povezavi Version 1.0.3, 2001.01.14 Poenostavitve, Risanje grafov, Obna¹anje in varnost na stre¾nikih s kljuèi, Perl koda, Primeri objav, Dodatni podatki, splo¹ni popravki Version 1.0.4, 2001.06.21 Podatki o preklicnih certifikatih dodani: 3.5, 3.7. RFC informacije dodane: 4.4. Spisek stre¾nikov s kljuèi ter povezave na spletne strani posodobljene. 6.2. Sodelavci V. Alex Brennen (Glavni avtor) John Sheehy (Tehnièni predlogi, primeri objav) Darxus (Popravki HTML-ka, primeri poenostavitev, Koda za delanje grafov (sig2dot.pl & sigtrace.pl)) Peter Palfrader (Tehnièni predlogi, Obna¹anje na stre¾nikih kljuèev, dodatni predlogi) Ryan Brouillard (Primer bro¹ure za tisk) Jeremy Scofield (Predlogi za naèin pisanja/format)