Ghost in the Machines
On 23 syyskuun, 2021 by adminKäytän GPG-ohjelmistoa (tunnetaan myös nimellä GnuPG) arkaluonteisia tietoja (lähinnä salasanoja) sisältävien tiedostojen salaamiseen. Järjestelmäinsinöörinä teen suurimman osan työstäni etäpalvelimilla, joihin on pääsy komentoriviliittymän kautta. Luonnollisesti koen helpommaksi käyttää GPG:n komentoriviversiota asiakirjojen salaamiseen ja purkamiseen suoraan.
GPG (GNU Privacy Guard) on ilmainen avoimen lähdekoodin versio PGP-salausohjelmistosta (Pretty Good Privacy). Käsitteellisesti molemmat käyttävät samaa lähestymistapaa salaukseen (eli salaukseen ja salauksen purkamiseen). Kumpikin on kuitenkin toteutukseltaan ainutlaatuisen erilainen.
Seuraavana on lyhyt alustus GPG:n komentorivityökalujen asentamisesta sekä luettelo peruskomennoista, joita todennäköisesti tarvitset.
GPG:n asentaminen
GPG:n voi asentaa usealla eri tavalla. Tässä olevat ohjeet asentavat GPG:n keskeiset komentorivityökalut, jotka on tarkoitettu käytettäväksi päätelaitteessa.
Jos taas haluat käyttää GPG:n toimintoja mieluummin graafisella käyttöliittymällä (eli GUI:lla) (esim. sähköpostiviestinnän salaaminen tai asiakirjojen salaaminen GUI-tekstieditorilla), katso tämän artikkelin lopussa olevat linkit.
Red Hat / CentOS
yum install gnupg
Ubuntu / Debian
apt-get install gnupg
Mac OS X
Helpoisin tapa asentaa GPG-komentorivityökalut Mac-tietokoneellesi on asentaa ensin Homebrew, pakettienhallintajärjestelmä, joka tarjoaa tuhansia ohjelmistopaketteja asennettavaksi Maciin.
Avaa Terminal-ikkuna (Sovellukset > Apuohjelmat-valikko) ja kirjoita sitten seuraava komento.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install gnupg
GPG Quick How To
Seuraavana on hyvin lyhyt johdatus GPG:n komentorivikäyttöön. Ajattele sitä ”pikaohjeena” tai ”huijauslistana”. Sinun pitäisi varmasti oppia GPG:stä enemmän kuin mitä tässä viestissä selitetään. Sen tarkoituksena on vain auttaa sinua alkuun. Jos aiot käyttää GPG:tä laajemmin, suosittelen lämpimästi lukemaan lisää dokumentaatiota (katso alla oleva Linkit-osio).
GPG on tehokas salausohjelmisto, mutta se voi olla myös helppo oppia – kunhan ymmärrät joitakin perusasioita. GPG käyttää salausmenetelmää, joka tunnetaan nimellä julkisen avaimen salaus, joka tarjoaa useita etuja ja hyötyjä. Näiden etujen saavuttamiseksi tarvitaan kuitenkin jonkin verran monimutkaisuutta, jotta kaikki toimisi. Saat yleiskatsauksen siitä, miten julkisen avaimen kryptografia toimii, lukemalla Johdatus kryptografiaan (linkki tämän viestin lopussa).
Komennoissa käytetyt typografiset konventiot:
Kaikissa alla olevissa esimerkeissä teksti, joka sinun on korvattava omilla arvoillasi (esim. käyttäjätunnukset, sähköpostiosoitteet, tiedostonimet), on merkitty ”harmaalla kursiivilla”. Teksti, jonka kirjoitat kirjaimellisesti (muuttamattomana), on merkitty ”mustalla vakioleveydellä”.
"gray italic""black constant width"
Luo GPG-avaimesi:
Aloittaaksesi GPG:n käytön, sinun on ensin luotava avainparisi. Eli luot sekä yksityisen että julkisen avaimen yhdellä komennolla. Kirjoita nimesi ja sähköpostiosoitteesi kehotteisiin, mutta hyväksy muutoin oletusasetukset.
gpg --gen-key
Ensimmäinen avain on yksityinen (tai salainen) avaimesi. Sinun on pidettävä tämä yksityinen avain aina turvassa, etkä saa jakaa sitä kenenkään kanssa. Yksityinen avain on suojattu salasanalla. Yritä tehdä salasanasta mahdollisimman pitkä, mutta sellainen, jota et unohda. Jos unohdat salasanan, sitä ei voi palauttaa. Samasta syystä kannattaa myös tehdä varmuuskopio yksityisestä avaimesta. (Harkitse Time Machinen käyttämistä varmuuskopiointiin Mac OS X:ssä.)
Toinen avain on julkinen avaimesi, jonka voit turvallisesti jakaa muiden ihmisten kanssa.
Yksityisen ja julkisen avaimen suhde on itse asiassa hyvin yksinkertainen. Kaikki, mikä on salattu julkisella avaimella, voidaan purkaa vain siihen liittyvällä yksityisellä avaimella. Siksi annat julkisen avaimesi toiselle henkilölle, ja hän antaa sinulle julkisen avaimensa. Vain sinä voit purkaa kaikki julkisella avaimellasi salatut tiedot. Minkä tahansa toisen henkilön julkisella avaimella salatun voi purkaa vain tämä toinen henkilö.
Vie julkinen avaimesi:
Seuraavaksi viet julkisen avaimesi ja jaat sen toisen henkilön kanssa. Tämän henkilön tulisi tehdä samoin ja viedä oma julkinen avaimensa.
gpg --export --armor [email protected] > mypubkey.asc
Tuo toisen henkilön julkisen avaimen:
Kun tuot julkisen avaimen, sijoitat sen siihen, mitä kutsutaan yleisesti GPG-”avaimenperäksi”.”
gpg --import theirpubkey.asc
Luettelo avaimenperässäsi olevista julkisista avaimista:
Voit nyt tarkastella luetteloa avaimenperässäsi olevista julkisista avaimista sekä kuhunkin avaimeen liittyvää nimeä ja sähköpostiosoitetta.
gpg --list-keys
Luettelo avaimenperässäsi olevista yksityisistä avaimista:
Seuraavalla komennolla luetellaan avaimenperässäsi olevat yksityiset avaimet. Tässä näkyy oma yksityinen avaimesi, jonka olet luonut aiemmin.
gpg --list-secret-keys
Luota julkiseen avaimeen:
Kun olet tuonut toisen henkilön julkisen avaimen, sinun on nyt asetettava avaimen luottamustaso. Tämä estää GPG:tä varoittamasta sinua joka kerta, kun salaat jotain kyseisellä julkisella avaimella.
Määritä komennossa toisen henkilön nimi tai sähköpostiosoite.
gpg --edit-key glenntrust (invoke trust subcommand on the key)5 (ultimate trust)y (if prompted)quit
Käyttökelpoiset GPG-komennot
GPG:ssä on monia vaihtoehtoja, joista suurinta osaa et koskaan tarvitse. Tässä on lyhyt luettelo hyödyllisimmistä komennoista, joita todennäköisesti tarvitset.
Tiedoston salaaminen:
Voidaksesi salata tiedoston nimeltä tiedostonimi.txt yhdelle yksittäiselle henkilölle, määritä kyseinen henkilö vastaanottajaksi.
gpg --encrypt --recipient glenn filename.txt
Tämä luo uuden salatun tiedoston nimeltä tiedostonimi.txt.gpg.
Jos haluat salata tiedoston niin, että vain sinä itse voit purkaa sen, määritä itsesi vastaanottajaksi.
gpg --encrypt --recipient 'my_name' filename.txt
Jos haluat salata tiedoston niin, että sekä sinä että toinen henkilö voivat purkaa tiedoston, määritä vastaanottajiksi sekä sinä että toinen henkilö.
gpg --encrypt --recipient glenn --recipient 'my_name' filename.txt
Jos haluat salata tiedoston ryhmälle, määritä ryhmä gpg:ssä.conf-tiedostossa (ks. osio alla) ja määritä sitten ryhmä vastaanottajaksi.
gpg --encrypt --recipient journalists filename.txt
Jossain vaiheessa haluat olla ytimekkäämpi ja käyttää komentorivioptioiden lyhyttä versiota. Tässä on sama komento.
gpg -e -r journalists filename.txt
Tiedoston purkaminen terminaaliin (vakiotulosteeseen):
Tämän komennon ensimmäinen versio näyttää tiedoston sisällön itse terminaali-ikkunassa.
gpg --decrypt filename.txt.gpg
Käytä --decrypt
-optiota vain, jos tiedosto on ASCII-tekstitiedosto. Jos kyseessä on binääritiedosto, jätä --decrypt
-vaihtoehto pois, jolloin purettu tiedosto kirjoitetaan levylle. Tällöin voit avata binääritiedoston missä tahansa sovelluksessa, jota käytetään tiedoston tarkasteluun.
Tiedoston purkaminen levylle:
Olikpa tiedosto ASCII- tai binääritiedosto, jos haluat tehdä muutoksia salatun tiedoston sisältöön, sinun on ensin purettava salaus, tehtävä muutokset ja salattava tiedosto sitten uudelleen. Kuten edellisessä kappaleessa mainitsin, kirjoitat tiedoston puretun version levylle jättämällä komennon --decrypt
vaihtoehdon pois.
gpg filename.txt.gpg
Jos salatun tiedoston nimi oli tiedostonimi.txt.gpg, yllä oleva komento luo puretun version nimeltä tiedostonimi.txt (josta on poistettu .gpg-pääte).
Henkilöryhmien luominen GPG:n konfiguraatiotiedostoon
Mukavuuden vuoksi voit määritellä valmiiksi henkilöryhmän GPG:n konfiguraatiotiedostoon. Tästä on se etu, että voit salata tiedoston jokaiselle ryhmän jäsenelle määrittämällä vastaanottajaksi vain ryhmän nimen sen sijaan, että määrittelisit vaivalloisesti jokaisen yksittäisen ryhmän jäsenen.
GPG-ohjelmiston konfiguraatiosi tallennetaan kotihakemistoosi ~/.gnupg/gpg.conf
-tiedostoon. Muokkaa tätä tiedostoa suosikkikomentorivin tekstieditorillasi (vim, nano, pico, emacs jne.). Vaikka konfigurointitiedostossa on lukuisia asetuksia, siirry ryhmien määrittelyä koskevaan osioon.
Ryhmän määrittelyssä luetellaan ryhmän jäsenet. Jokaiseen jäseneen viitataan jollakin GPG-avaimenperästäsi löytyvän julkisen avaimen attribuutilla – tyypillisesti henkilön nimellä (tai osittaisella nimellä, kuten etu- tai sukunimellä) tai sähköpostiosoitteella (tai osittaisella sähköpostiosoitteella).
Jos olet ryhmän jäsen, muista sisällyttää itsesi ryhmään! Jos et listaa itseäsi ryhmään, et voi purkaa ryhmään salattuja tiedostoja.
Tässä on esimerkki ryhmästä nimeltä ”journalistit”, jossa on lueteltu jokaisen henkilön etunimi.
group journalists = glenn laura ewan barton
Missä mennään tästä eteenpäin
Kannustan sinua oppimaan lisää GPG:stä. Katso alla olevat linkit.
Voit myös tutustua turvallisiin menetelmiin poistaa tiedostoja tietokoneen kovalevyltä. Mac OS X:ssä on Finderissa ”Secure Empty Trash” -vaihtoehto. On myös lukuisia kolmannen osapuolen työkaluja, joita voit asentaa.
Koska olemme GPG:n käytön opettelun teemassa komentorivillä, kannattaa kokeilla ”bcwipe” – ohjelmaa tiedostojen turvalliseen poistamiseen komentorivillä.
Mac OS X:ssä voit asentaa bcwipe:n Homebrew:n kautta.
brew install bcwipe
Linkit
Yleistä
- Johdatus kryptografiaan (PDF)
- GnuPG-ohjelmiston verkkosivut
- GnuPG Wikipediassa
- Homebrew (pakettihallinta Mac OS X:lle)
Käyttöliittymätyökalut
.
- GPG Suite (graafinen käyttöliittymä Mac OS X:lle)
- How To Use GPG Suite on Mac OS X (Electronic Frontier Foundation)
- Gpg4win (graafinen käyttöliittymä Windowsille)
- How To Use Gpg4Win on Windows (Electronic Frontier Foundation)
Vastaa