Krüpteerimine Linuxis
Sissejuhatus
On ammu teada, et Linux-Unix süsteemid on palju turvalisemad kui kodukasutajate seas levinud Windows operatsioonisüsteemid. Linuxis on turvalisuse tõstmiseks väga palju võimalusi ning antud teemas räägime ühest paljudest - krüpteerimine. Krüpteerida on võimalik faile, failisüsteeme, partitsioone ning ka tervet kõvaketast. Käesolev materjal vaatleb lähemalt failide krüpteerimist GPG-ga ja failisüsteemide krüpteerimist, kasutades kerneli dm-crypt tuge.
GPG
GPG ehk GnuPG ehk GNU Privacy Guard on tasuta tarkvra. Lühidalt kirjeldatuna on tegemist süsteemiga, mis kasutab kahte sorti võtmeid: salajasi ja avalikke. Salajane võti on ainult kasutaja enda teada, sellega saab andmeid allkirjastada ja avaliku võtmega krüptitud andmeid lahti krüptida. Avalik võti, nagu näha, on andmete krüpteerimiseks; avalikku võtit võib kartuseta levitada, selle abil saab kasutajale saadetavaid andmeid ära krüpteerida.
Võtmed
- -c, - Kasutatakse krüpteerimiseks
- -d, - Kasutatakse dekrüpteerimiseks
- -k, - Näeb avalike võtmete vaadet
- -K, - Näeb salajaste võtmete vaadet
- -kvv, - Võtmehoidja sisuga tutvumiseks
Rohkem infot: man gpg
Sümmeetriline krüpteerimine GPG-ga
Sümmeetriline krüpteerimine on ühe ja sama võtmega krüpteerimine ning dekrüpteerimine.
Näited
Alustuseks tuleks kõigepealt installeerida gpg (veendu, et Sul on juurkasutajaõigused):
apt-get install gnupg
Loome ühe suvalise kausta, et seal krüpteerimist/dekrüpteerimist katsetada ning siseneme loodud kausta:
mkdir krypto cd krypto
Loome ühe suvalise tekstifaili, mida hiljem hakkame krüpteerima:
echo "See siin on suvaline TEXT, mille hiljem ära krüpteerime" > sala.txt
Krüpteerime sala.txt faili ära ning kui krüpteeritud siis kustutame algfaili (sala.txt) ära.
gpg -c sala.txt salasõna salasõna rm sala.txt
VÕI
gpg --output kryptitud.txt -c sala.txt
Nüüd ongi tekkinud fail sala.txt.gpg
, mis on krüpteeritud
Vaatame krüpteeritud faili sisu:
less sala.txt.gpg
Dekrüpteerime faili:
gpg --output avatud.txt sala.txt.gpg salasõna
Vaatame dekrüpteeritud faili:
less avatud.txt
Asümmeetriline krüpteerimine GPG-ga
Asümmeetriline krüpteerimine on krüpteerimine, kus krüpteeritakse ühe võtmega ja dekrüpteeritakse teisega.
Näited
Loome võtmepaari ja veendume selle olemasolus. Kõigepealt valime, millist võtmetüüpi me kasutame, valime võtme pikkuse ning määrame ära kui kaua on võti kehtiv (antun näites üks päev). Lisaks tuleb sisestada enda nimi, e-maili aadress ning ka kommentaar.
gpg --gen-key 1 2048 1 y
Krüpteerime nüüd faili avatud.txt
gpg --output kryptitud.txt --encrypt avatud.txt
Kui tahame faili krüpteerida kellegi teise jaoks, keda me tunneme (ja kelle võti meil andmebaasis on), nii et ainult tema saaks faili dekrüpteerida, siis trükime:
gpg -a -r [keegi] -o kryptitud.txt -e tekstainultsulle.txt
PS: [keegi] asemel on kellegi nimi (jutumärkides) või meiliaadress
Dekrüpteerime faili kryptitud.txt
gpg -o dekryptitud.txt -d kryptitud.txt
Kasutaja enda võtme kehtetuks tunnistamine
gpg --gen-revoke [kasutaja ID]
Failisüsteemide krüpteerimine dm-crypt'iga
Kui andmeid on vaja sagedasti krüpteerida/dekrüpteerida, siis üksikute failidega pusimine võtab palju aega. Efektiivsem on krüpteeritud failisüsteemide kasutamine.
Krüpteeritud failisüsteemi loomine
Installeerime cryptsetup'i:
apt-get install cryptsetup
Mõistlik oleks luua partitsioon juurkausta mõnesse alamkausta, millele tavakasutajatel ligipääs puudub. Selleks võime juurkasutajana luua uue kausta.
mkdir krypritud
Oletame, et meile piisab krüpteeritud andmete hoidmiseks 50 megabaidist. Loome esialgu tühja faili:
dd if=/dev/zero of=/encrypted/data.crypt bs=1M count=20
/dev/zero
asemel võime kasutada ka /dev/random
käsku, mis täidab faili suvaliste märgenditega.
Võimaldame antud faili käsitleda plokkseadmena, millele saaks luua failisüsteemi:
losetup /dev/loop0 /encrypted/data.crypt
Krüpteerimiseks läheb vaja võtit, mille järgi krüpteerida. Selleks võib olla salasõna või hoopiski mõni fail, mis sisaldab võtmefraasi. Läheme juurkasutaja kodukataloogi ning loome võtme ja salvestame selle faili. Viimaseks krüpteerime loodud failisüsteemi oma võtmega:
cd /root echo "abcdefghijklmnopqrsztuvõäöüxy" > krypto.key cryptsetup -d /root/krypto.key create data.crypt /dev/loop0
Loome krüpteeritud virtuaalsele plokkseadmele failisüsteemi
mke2fs -j /dev/mapper/data.crypt
Loome monteermispunkti ja monteerime failisüsteemi sinna
mkdir /mnt/kryptitud mount /dev/mapper/data.crypt /mnt/kryptitud
Proovime kürpteeritud failisüsteemi faili luua:
echo "See on proovitekst" > /mnt/kryptitud/proov.txt
Lõpetame krüpteeritud failisüsteemi kasutamise
umount /mnt/kryptitud cryptsetup remove data.crypt losetup -d /dev/loop0
Vabastame krüpteeritud failisüsteemi
cryptsetup remove data.crypt losetup -d /dev/loop0
Kasutatud kirjandus
http://kuutorvaja.eenet.ee/wiki/GnuPG_kasutamine_Debianiga
http://linux.about.com/library/cmd/blcmdl1_gpg.htm
http://www.linux.com/archive/feed/36596
http://www.linux.com/archive/articles/52820
http://www.linuxjournal.com/article/8599
Failide krüpteerimine Linuxis [1]