Ghost in the Machines
On szeptember 23, 2021 by adminA GPG (más néven GnuPG) szoftvert olyan fájlok titkosítására használom, amelyek érzékeny információkat (többnyire jelszavakat) tartalmaznak. Rendszermérnökként a munkám nagy részét távoli szervereken végzem, amelyek parancssori felületen keresztül érhetők el. Természetesen egyszerűbbnek találom a GPG parancssori változatát a dokumentumok közvetlen titkosítására és visszafejtésére.
A GPG (GNU Privacy Guard) a PGP (Pretty Good Privacy) titkosító szoftver ingyenes, nyílt forráskódú változata. Koncepcionálisan mindkettő ugyanazt a kriptográfiai megközelítést használja (azaz titkosítást és dekódolást). A megvalósításukban azonban mindkettő egyedülállóan különbözik.
A következőkben egy gyors bevezető a GPG parancssori eszközeinek telepítéséről, valamint egy lista az alapvető parancsokról, amelyekre valószínűleg szüksége lesz.
A GPG telepítése
A GPG többféleképpen telepíthető. Az itt található utasítások a GPG alapvető parancssori eszközeit telepítik, amelyeket terminálban való használatra szánnak.
Ha viszont a GPG funkcióinak eléréséhez (pl. e-mail kommunikáció titkosítása, vagy dokumentumok titkosítása egy GUI szövegszerkesztőben) inkább grafikus felhasználói felületet (vagy GUI-t) szeretne használni, tekintse meg a cikk végén található linkeket.
Red Hat / CentOS
yum install gnupg
Ubuntu / Debian
apt-get install gnupg
Mac OS X
A GPG parancssori eszközeinek Mac számítógépre történő telepítésének legegyszerűbb módja, ha először telepíti a Homebrew-t, egy csomagkezelő rendszert, amely több ezer szoftvercsomagot tesz elérhetővé a Mac számítógépre történő telepítéshez.
Nyisson meg egy Terminál ablakot (Alkalmazások > Segédprogramok menü), majd írja be a következő parancsot.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install gnupg
GPG gyors útmutató
A következőkben a GPG parancssori használatának nagyon rövid bemutatása következik. Gondoljon rá úgy, mint egy “gyorstalpalóra” vagy “puskázó lapra”. Minden bizonnyal többet kell tanulnia a GPG-ről, mint amit ebben a bejegyzésben elmagyarázunk. Ez csak a kezdéshez kíván segítséget nyújtani. Ha a GPG-t szélesebb körben kívánja használni, erősen ajánlom, hogy olvassa el a további dokumentációt (lásd az alábbi Linkek részt).
A GPG egy nagy teljesítményű titkosító szoftver, de könnyen megtanulható is – ha megértett néhány alapismeretet. A GPG a nyilvános kulcsú kriptográfia néven ismert titkosítási módszert használja, amely számos előnnyel és előnnyel jár. Ezen előnyök eléréséhez azonban minimális komplexitásra van szükség ahhoz, hogy az egész működjön. A nyilvános kulcsú kriptográfia működésének áttekintéséhez olvassa el a Bevezetés a kriptográfiába című részt (link a bejegyzés alján).
A parancsokban használt tipográfiai konvenciók:
Az alábbi példákban minden olyan szöveget, amelyet saját értékekkel kell helyettesítenie (pl. felhasználónevek, e-mail címek, fájlnevek), “szürke dőlt betűvel” jelölünk. Az olyan szöveget, amelyet szó szerint (változatlanul) fog beírni, “fekete állandó szélességgel” jelöljük.
"gray italic""black constant width"
GPG kulcs létrehozása:
A GPG használatának megkezdéséhez először is létre kell hoznia a kulcspárt. Ez azt jelenti, hogy egyetlen paranccsal generálsz egy privát és egy nyilvános kulcsot. Adja meg nevét és e-mail címét a felszólításokra, de egyébként fogadja el az alapértelmezett beállításokat.
gpg --gen-key
Az első kulcs a privát (vagy titkos) kulcsa. Ezt a titkos kulcsot mindig biztonságban kell tartania, és nem szabad megosztania senkivel. A privát kulcs jelszóval védett. Próbáld meg a jelszót a lehető leghosszabbá tenni, de olyanná, amit nem fogsz elfelejteni. Ha elfelejti a jelszót, nincs mód a helyreállítására. Ugyanebből az okból kifolyólag készítsen biztonsági másolatot a privát kulcsáról is. (Mac OS X esetén fontolja meg a Time Machine használatát a biztonsági mentésekhez.)
A második kulcs a nyilvános kulcs, amelyet nyugodtan megoszthat másokkal.
A privát és a nyilvános kulcs kapcsolata valójában nagyon egyszerű. Bármit, amit a nyilvános kulccsal titkosítunk, csak a hozzá tartozó privát kulccsal lehet visszafejteni. Ezért a nyilvános kulcsodat átadod egy másik személynek, ő pedig átadja neked a nyilvános kulcsát. Bármit, amit a nyilvános kulcsoddal titkosítanak, csak te tudsz visszafejteni. Bármit, amit a másik személy nyilvános kulcsával titkosítottak, csak a másik személy tudja visszafejteni.
A nyilvános kulcs exportálása:
A következő lépés a nyilvános kulcs exportálása és megosztása egy másik személlyel. Ennek a személynek ugyanezt kell tennie, és exportálnia kell a saját nyilvános kulcsát.
gpg --export --armor [email protected] > mypubkey.asc
Másik személy nyilvános kulcsának importálása:
Mikor egy nyilvános kulcsot importál, akkor azt a GPG “kulcstartójának” szokás nevezni.”
List the public keys in your keyring:
Most megtekintheti a kulcskarikában lévő nyilvános kulcsok listáját, valamint az egyes kulcsokhoz tartozó nevet és e-mail címet.
gpg --list-keys
List private keys in your keyring:
A következő parancs a kulcskarikában lévő privát kulcsokat listázza. Itt megjelenik a saját privát kulcsa, amelyet korábban létrehozott.
gpg --list-secret-keys
Trust a public key:
Miután importálta a másik személy nyilvános kulcsát, most be kell állítania a kulcs bizalmi szintjét. Ez megakadályozza, hogy a GPG minden alkalommal figyelmeztessen, amikor ezzel a nyilvános kulccsal titkosít valamit.
Adja meg a másik személy nevét vagy e-mail címét a parancsban.
gpg --edit-key glenntrust (invoke trust subcommand on the key)5 (ultimate trust)y (if prompted)quit
Hasznos GPG-parancsok
A GPG-nek számos lehetősége van, amelyek többségére soha nem lesz szüksége. Íme egy gyors lista a leghasznosabb parancsokról, amelyekre valószínűleg szüksége lesz.
Fájl titkosítása:
A fájlnév.txt nevű fájl titkosításához egyetlen személy számára, adja meg az adott személyt címzettként.
gpg --encrypt --recipient glenn filename.txt
Ez egy új titkosított fájlt hoz létre filename.txt.gpg néven.
Ha úgy akar titkosítani egy fájlt, hogy azt csak maga tudja visszafejteni, akkor adja meg magát címzettként.
gpg --encrypt --recipient 'my_name' filename.txt
Ha úgy akar titkosítani egy fájlt, hogy Ön és egy másik személy is visszafejthesse a fájlt, akkor adja meg Önt és a másik személyt is címzettként.
gpg --encrypt --recipient glenn --recipient 'my_name' filename.txt
Ha egy fájlt egy csoport számára akar titkosítani, határozza meg a csoportot a gpg-ben.conf fájlban (lásd az alábbi részt), majd adja meg a csoportot címzettként.
gpg --encrypt --recipient journalists filename.txt
Egy idő után tömörebben fogalmazni, és a parancssori opciók rövid változatát fogja használni. Itt van ugyanez a parancs.
gpg -e -r journalists filename.txt
Fájl visszafejtése terminálra (standard kimenet):
A parancs első változata magában a terminálablakban jeleníti meg a fájl tartalmát.
gpg --decrypt filename.txt.gpg
A --decrypt
opciót csak akkor használja, ha a fájl ASCII szöveges fájl. Ha bináris fájlról van szó, akkor hagyja ki az --decrypt
opciót, amely a dekódolt fájlt írja ki a lemezre. Ekkor megnyithatja a bináris fájlt abban az alkalmazásban, amelyet a fájl megtekintésére használ.
Fájl visszafejtése lemezre:
Függetlenül attól, hogy ASCII vagy bináris fájlról van szó, ha módosítani akarja egy titkosított fájl tartalmát, akkor először vissza kell fejtenie a fájlt, elvégezni a módosításokat, majd újra titkosítani a fájlt. Ahogy az előző bekezdésben említettem, a fájl dekódolt változatát írja ki a lemezre, ha kihagyja a --decrypt
opciót a parancsból.
gpg filename.txt.gpg
Ha a titkosított fájl neve fájlnév.txt.gpg, a fenti parancs létrehozza a filename.txt nevű dekódolt verziót (a .gpg kiterjesztés eltávolításával).
Létszámcsoportok létrehozása a GPG konfigurációs fájlban
A kényelem érdekében előre definiálhat egy létszámcsoportot a GPG konfigurációs fájlban. Ez azzal az előnnyel jár, hogy a csoport minden tagja számára titkosíthat egy fájlt, ha csak a csoport nevét adja meg címzettként, ahelyett, hogy fárasztóan meg kellene adnia a csoport minden egyes tagját.
A GPG szoftver konfigurációját a ~/.gnupg/gpg.conf
fájlban, az otthoni könyvtárában tárolja. Szerkessze ezt a fájlt a kedvenc parancssori szövegszerkesztőjével (vim, nano, pico, emacs stb.). Bár a konfigurációs fájlban számos beállítás érhető el, menjen a csoportok meghatározására vonatkozó részhez.
A csoport meghatározásakor felsorolja a csoport tagjait. Minden tagra a GPG kulcstárban található nyilvános kulcsuk valamilyen attribútuma hivatkozik – általában egy személy neve (vagy részleges neve, például kereszt- vagy vezetéknév) vagy egy e-mail cím (vagy részleges e-mail cím).
Ha ön a csoport tagja, ne felejtse el magát is felvenni a csoportba! Ha nem tünteti fel magát a csoportban, nem lesz képes visszafejteni a csoportba titkosított fájlokat.
Itt egy példa egy “újságírók” nevű csoportra, amelyben minden egyes személy keresztneve szerepel.
group journalists = glenn laura ewan barton
Hová tovább
Bátorítom, hogy tanuljon többet a GPG-ről. Lásd az alábbi linkeket.
A számítógép merevlemezéről való fájlok törlésének biztonságos módszereiről is tájékozódhat. A Mac OS X rendszerben a Finderben található a “Biztonságos szemetes kiürítése” opció. Emellett számos harmadik féltől származó eszköz is telepíthető.
Mivel már a GPG parancssori használatának megtanulásánál tartunk, érdemes kipróbálni a “bcwipe”-t – egy programot a fájlok biztonságos törlésére a parancssoron belül.
Mac OS X-en a bcwipe-ot a Homebrew segítségével telepítheti.
brew install bcwipe
Linkek
Általános
- Bevezetés a kriptográfiába (PDF)
- GnuPG szoftver honlapja
- GnuPG a Wikipédián
- Homebrew (csomagkezelő Mac OS X-hez)
GUI eszközök
.
- GPG Suite (GUI for Mac OS X)
- How To Use GPG Suite on Mac OS X (Electronic Frontier Foundation)
- Gpg4win (GUI for Windows)
- How To Use Gpg4Win on Windows (Electronic Frontier Foundation)
Vélemény, hozzászólás?