Praktikum: krüpteerimiseks kasutatav tarkvara
Andmete taastamine ja turvaline kustutamine
Enne kui liigume krüpteerimise juurde vaatame praktiliselt, et miks krüpteerimine ja turvaline kustutamine võib olla kasulik. Selle jaoks uurime arvutiklassi virtuaalmasinas olevat partistiooni "Virtual USB" ning üritame sellelt taasta varasemalt kustutatud faile. Rohkem infot andmete turvalise kustutamise ja taastamise kohta leiate lehelt: Varjatud andmed ja andmete varundamine.
Kõigepealt proovime kustutatud andmeid taastada ja seejärel andmed turvaliselt üle kirjutada. Andmete taastamise lihtsus näitab, et andmete turvaline kustutamine ja krüpteerimine on oluline, sest mõlemal juhul ei saa ründaja vastavatele andmetele juurdepääsu. Siiki ei pruugi ainult turvalisest kustutamisest piisata, sest op. süsteem võib failidest teha ajutisi koopiaid ning need võivad ka pärast originaalfaili turvalist kustutamist alles jääda. Seega on kõige kindlam lahendus kogu ketta krüpteerimine.
Selles praktikumis proovime kasutada tarkvarasid Recuva Free, Bleachbit, Eraser ja CCleaner. Recuva võimaldab andmeid taastada, aga Bleachbit ja Eraser on loodud turvalise kustutamise jaoks. CCleaner võimaldab eemaldada ajutisi faile, küpsiseid, ajalugu ja muid metaandmeid.
- Ülesanne 1: Käivita Recuva Free ja proovi seda kasutada.
- Kuhu peaks taastatud failid salvestama?
- Kasutada tarkvara Recuva Free, et taastada faile kettalt "Virtual USB".
- Lahenda andmete taastmise kohta käiv kodutöö ülesanne.
- Ülesanne 2: Kui kodutöö lahendus on kodulehe kaudu esitatud, siis kustuta turvaliselt taastatud failid. Samuti tuleks kustutada partitsioonil "E:Virtual USB" olev tühi ruum. Samuti tee kindlaks, et kettale pole jäänud peidetud faile. Nende ülesannete jaoks saate kasutada tarkvara Bleachbit ja Eraser.
- Ülesanne 3: Prooviga andmete taastamist ja turvalist kustutamist kombineerida.
Laadige alla mõned väiksed failid (pdf, jpg, jne.) ning salvestage need partitsioonile "Virtual USB". Nüüd proovige andmeid kustutada, taastada, turvaliselt kustutada ja uuesti taastada.
Windows Encrypting File System
Encrypting File System (EFS) on operatsioonisüsteemis Windows kasutatava failisüsteemi NTFS omadus, mis võimaldab kasutajal lihtsa vaevaga üksikuid faile, kaustu või kõiki kettal olevaid faile krüpteerida. Süsteemiketast (C: ketas) EFS-iga siiski krüpteerida ei saa. EFS on saadaval alates versioonist Windows 2000, kuid kahjuks Windowsi odavamates versioonides (näiteks Windows 7 Starter, Home Basic, Home Premium) selle tugi puudub.
EFS-i puhul genereeritakse iga faili jaoks eraldi võti, millega see fail krüpteeritakse. Genereeritud võti krüpteeritakse omakorda kasutaja parooliga ning pannakse krüpteeritud failiga kaasa. Seega on krüpteeritud failide turvalisus otseselt seotud Windowsi kasutajakontol kasutatava parooli tugevusega.
Kuna EFS on tugevalt seotud konkreetse Windowsi kasutajakontoga, siis tasub seda kasutades kindlasti krüpteerimiseks kasutatud sertifikaat eksportida ja hoida seda turvalises kohas. Krüpteeritud failide taastamiseks läheb loomulikult vaja Windowsiga arvutit.
EFS teenuse käivitamine:
- käivita services.msc (run -> services.msc)
- otsi üles teenus: Encrypting File System (EFS)
- käivita EFS ja määra teenuse seadetes käivitus automaatseks
EFS kasutamine:
- vali fail või kaust mida on vaja krüpteerida
- vali "properties" -> "General" -> "Advanced" -> "Encrypt contents to secure data"
- tee sertifikaadist tagavarakoopia
Tarkvara Bitlocker
Bitlocker on samuti Windowsi-spetsiifiline tarkvara, mis on mõeldud terve ketta (ka süsteemiketta) krüpteerimiseks. Kahjuks on ka Bitlocker saadaval ainult "kõvematele" Windowsi versioonidele (Enterprise, Ultimate, ja serveri versioonid) ning lihtsamatele tavakasutaja versioonidele seda saadaval pole.
Tarkvara VeraCrypt
VeraCrypt on vabavaraline tarkvara, mis võimaldab luua krüpteeritud kaustu ja ka terveid andmekandjaid (USB mälupulk, kõvaketas) ning pakub võimalust andmete krüpteerimiseks nende kasutamise ajal. Nagu ka teised siin mainitud lahendused, kasutab VeraCrypt andmete kaitsmiseks sümmeetrilist krüptograafiat. VeraCrypti eeliseks on avatud lähtekood (st läbipaistvus) ning et see on toetatud kõigil enamlevinud platvormidel: Windows, Linux, Mac OS X. Tänu sellele on VeraCryptiga krüpteeritud faile erinevate arvutite ja platvormide vahel lihtne jagada.
VeraCrypt töötab küll kõikides levinud operatsioonisüsteemides, aga sellele on ka alternatiive. Uuemates Windowsites (Professional variantides) on krüpteerimistugi failisüsteemi sisse ehitatud: Encrypting File System (EFS) ning terve ketta krüpteerimiseks on olemas Bitlocker. Uuemas Mac OS X-is on kõvaketta krüpteerimiseks FileVault, mis tuleb operatsioonisüsteemiga kaasa. Linuxis on levinud näiteks LUKS ja DM-crypt.
1. Programmi VeraCrypt paigaldamine
VeraCrypt saab paigaldada järgevalt veebilehelt: https://www.veracrypt.fr/. Arvutiklassi virtuaalmasinates on VeraCrypt juba paigaldatud.
Käivitage allalaetud fail ja
- nõustuge pakutud litsentsige ja vajutage “Accept”
- vajutage “Continue”
- vajadusel muutke installatsiooni asukohta ja vajutage “Install”
- lõpetage installeerimine ja avage programm VeraCrypt
2. Faili kasutamine krüpteeritud andmete hoidmiseks
Kõige lihtsam viis väikest kogust salajasi andmeid kaitsta on need panna kokku ühte krüpteeritud faili (konteinerisse). See võimaldab vajadusel krüpteeritud andmeid hõlpsasti varundada ning näiteks arvuti vahetusel uude arvutisse üle viia. Piisavalt tugeva parooli korral ei juhtu midagi kui ka krüpteeritud fail lekib või kaotsi läheb, sest ilma paroolita paistab see lihtsalt juhusliku bitijadana.
Konteineri loomine:
- Vajuta “Create Volume”
- Vali “Create an encrypted file container”
- Vali “Standard VeraCrypt volume”
- Vajuta “Select File” ning salvesta failina konteiner.hc ja vajuta "Next". VeraCrypt kasutab faililaiendina laiendit .hc, aga selle asemel võib kasutada ka mõnda levinumat laiendit.
- Valjuta “Next”
- Suuruseks määrame 10 MB
- Määrake parool ja jätke see meelde. Mida keerulisem parool, seda parem, aga praktikumi jaoks võib kasutada ka midagi lihtsat (sel juhul saate hoiatuse, mida on võimalik ignoreerida)
- Nüüd genereeritakse krüpteerimisvõtme jaoks juhuslikkust ning sellele saate te kaasa aidata näiteks hiire liigutamisega. Kuna praegu pole juhuslikkuse genereerimise osa eriti oluline, siis võite selle vahele jätta ja vajutada nupule "Format". Nüüd saate vajutada "Exit", et jõuda tagasi VeraCrypti peamise akna juurde.
Konteineri kasutamine:
- Vajuta “Select File” ning sirvi fail konteiner.hc
- Vali mingi ketas, näiteks Z
- Vajuta “Mount”
- Proovi alguses vale parooli, seejärel kasuta õiget parooli
- Tee varem valitud kettal parem klõps ning vali “Open”
- Kopeeri kettale mõni fail (
Z:\
) - Sulge ketta aken
- VeraCrypt aknas vajuta “Dismount”
- Korda samme 1-5 veendumaks, et kettal on kopeeritud fail olemas. Seejärel ära unusta teha samme 7-8
3. VeraCrypti kodutöö lahendamine
Leidke esimesest kodutööst VeraCrypti ülesanne ning lahendage see. Lahendus tuleb esitada aine kodulehel oleva esitusvormi kaudu. Lahenduse esitamiseks peate olema lehele TÜ kasutajaga sisse loginud.
4. USB mälupulga krüpteerimine
Üks võimalus andmeid turvaliselt transportida on luua krüpteeritud konteiner nii nagu eelmises punktis kirjeldatud ja siis seda USB mälupulgal kaasas kanda. VeraCrypt võimaldab aga ka terve mälupulga krüpteerida.
Tavaliselt koosneb modifitseerimata mälupulk ühest partitsioonist (loogilisest ketta osast), aga vajadusel saab partitsioone lisada või formaatida. Terve partitsiooni krüpteerimisel formaaditakse vastav partitsioon, mille käigus kustutatakse partitsioonil olevad andmed. Seega, selleks, et tervet USB mälupulka krüpteerida, peaks kõigepealt mälupulgal olevad andmed teisele andmekandjale dubleerima, et vältida nende kustutamist.
- Vajuta “Create Volume”
- Vajuta “Encrypt a non-system partition/drive”
- Vajuta “Standard VeraCrypt volume”
- Valige partitsioon, mida te tahate krüpteerida. Selleks valige “Select Device” ja valige vastav partitsioon. Hoiatus: valitud partitsioonil olevad andmed kustutatakse formaatimise käigus. USB pulga saab jagada mitmeks partitsiooniks nii, et üks partitsioon on krüpteeritud. Ka partitsioonide lisamisel kustutatakse mälupulgal olevad andmed. Praktikumis valige krüpteerimiseks partitsioon, mille nimeks on "Virtual USB".
- Vajutage “Next” ja “Next”
- Sisestage vähemalt 20 kohaline parool või looge võtmefail. Võtmefaili luues peab seda mälupulgast eraldi hoidma, kaitsma võõraste eest ja valvama, et see kaduma ei läheks. Kui vastavalt kas parool või võtmefail läheb kaduma, siis ei ole võimalik krüpteeritud andmeid enam taastada.
- Liigutage juhuslikult hiirt, et krüpteerimisvõtme juhuslikkust suurendada ja siis vajutage “Format” ja “Yes”. Nõustuge hoiatusega, et "Virtual USB" partitsiooni sisu kirjutatakse üle, sest sellele partitsioonil ei ole praegu midagi olulist.
- Vajutage “Exit”
- Krüpteeritud partitsiooni saate kasutada samamoodi nagu eelnevalt kirjeldati krüpteeritud konteineri kasutamist
5. Kõvaketta krüpteerimine
Sarnaselt USB mälupulgale võimaldab VeraCrypt krüpteerida ka terve kõvaketta või mõne selle partitsiooni, sealhulgas ka süsteemiketta (Windowsis C:\
ketas, Linuxis ja Mac OS X-is partitsioon, kus asub juurfailisüsteem /
). Süsteemiketta krüpteerimisel küsib arvuti edaspidi käivitamisel parooli ja alles õige parooli sisestamisel hakkab operatsioonisüsteemi laadima.
Süsteemiketta krüpteerimiseks tuleb valida kõigepealt "Create volume" ning seejärel "Encrypt the system partition or entire drive" või valida menüüst System -> Encrypt System Partition/Drive.... Ülejäänud osa on analoogne eelpool kirjeldatud USB pulga või partitsiooni krüpteerimisega, aga rohkem tähelepanu tasub pöörata kuvatavatele hoiatustele. Süsteemiketta krüpteerimise käigus genereerib VeraCrypt igaks juhuks "System Rescue CD", kuhu kirjutatakse süsteemi krüpteerimiseks kasutatud krüpteerimisvõti, mis omakorda on kaitstud teie poolt seatud parooliga. Seda CD-d on vaja juhul kui kõvaketta bootimise sektoriga tekivad probleemid.
Süsteemiketta krüpteerimine võib võtta väga kaua aega. On väga oluline, et krüpteerimise ajal ei saaks arvuti aku tühjaks. VeraCrypt krüpteerib süsteemiketast jooksvalt, mistõttu saate te arvutit süsteemiketta krüpteerimise vältel kasutada.
Teie virtuaalmasina kõvaketas on VeraCrypti abil krüpteeritud, aga kõigil tudengitel on sama parool. Muudame virtuaalmasinas süsteemiketast kaitsva parooli ära.
- VeraCrypti aknas valige ketas, mille nimeks on "System drive".
- Valige "System" menüüst "Change password..." ning vahetage parool ära.
- Uut "Rescure Disk" ei ole praegu vaja teha, sest kasutame virutaalmasinat ainult testimise eesmärgil.
Truecrypt
TrueCrypt loodi 2004 aastal ning seda peeti üheks kõige levinumaks krüpteerimistarkvaraks kuni 2014 aastani. TrueCrypti eelisteks olid vaba lähtekood, mugav kasutjaliides, tugi enamlevinud operatsioonisüsteemidele ning samuti ka see, et tegu oli tasuta tarkvaraga.
Pärast TrueCrypti arendamise lõppemist loodi erinevate arendajate poolt sama lähtekoodi põhjal mitmeid projekte, mis üritasid TrueCryptile sarnanevat tarkvara elus hoida. Nendest projektidest on kõige elujõulisemaks osutnud VeraCrypt. VeraCrypti peamiseks arendajaks on prantslasest konsultant Mounir Idrassi. Kuna VeraCrypti arendatakse uue meeskonna poolt, siis pole see veel sama usaldusväärne kui TrueCrypt. Samuti pole keegi teinud VeraCrypti lähtekoodile turvaauditit, samas kui TrueCrypti turvaauditist selgus, et TrueCrypt ei sisalda olulisi turvaauke ja ei sisalda tagauksi.
Veracrypt on edasiarendus Truecrypt viimasest versioonist 7.1a ning seal on parandatud ka vead, mis hiljuti Truecrypt tarkvarast leitud on. VeraCrypt kasutajaliides on Truecryptile väga sarnane.
TrueCryptiga seotud probleemid ja küsimused
TrueCrypti peetakse usaldusväärseks tarkvaraks, kuid siiski võis mõnel kasutajal tekkida küsimusi seoses selle turvalisusega. Seetõttu alustati 2013 aastal krüptograafi Matthew Green'i poolt kampaania TrueCrypti lähtekoodi auditeerimiseks. Audit koosnes kahest osast, esimeses etapis auditeeriti programmi lähtekoodi ja otsiti lihtsamaid vigu ja teises etapis auditeeriti krüptot puudutavat osa. Auditi tulemusena ei tuvastatud TrueCrypt lähtekoodis olulisi probleeme. Siiski võib tekkida mõningaid küsimusi seoses TrueCrypti arendamise lõpetamisega.
TrueCryptiga seotud küsimused:
- 2014. aasta maikuus teatasid TrueCrypt'i arendajad ootamatult, et ei kavatse enam seda tarkvara edasi arendada ja ei soovita seda enam kasutada, sest see võib sisaldada turvaauke. Ei ole teada, mis on sellise avalduse tegelik põhjus. TrueCrypti veebileht on asendatud juhistega migreerumaks alternatiivsele tarkvarale. Eelpool mainitud auditi ei tuvastanud TrueCrypt'i lähtekoodist turvaauke ning samuti ei leitud tagauksi ning seega võib endiselt TrueCrypt'i kasutada.
- Ei ole teada, kes olid TrueCrypti arendajad ja seega ei ole teada, mis oli nende motivatsioon niisuguse tarkvara loomiseks.
- Raske on kontrollida kas TrueCrypti paigaldamiseks levitatav binaar põhineb avalikustatud lähtekoodil.
- TrueCrypt käitub erinevalt operatsioonisüsteemidel Windows, Linux ja Mac OS X. (vaata lk 13)
TrueCrypti paigaldamine
Kuna auditeeriti TrueCrypt versiooni 7.1a, siis soovitamegi kasutada seda versiooni juhul kui VeraCrypt millegipärast ei sobi. Truecrypt kodulehel pakutakse ka uuemat versiooni (7.2), aga see võimaldab vaid andmeid dekrüpteerida, et üle minna mõnele teisele tarkvarale.
Kuna TrueCrypt arendus on ametlikult lõppenud, siis tuleb see alla laadida mitteametlikult veebisaidilt. Tegu on TrueCrypti auditit korraldanud meeskonna poolt loodud lehega, millelt leidub usaldusväärse TrueCrypt versiooni:
- Windows
- OS X
- OS X Yosemite (10.10) puhul tuleb installeerimiseks natuke rohkem vaeva näha.
- Linux kasutajad valivad siit ise endale sobiva versiooni.
Tarkvara Boxcryptor
VeraCrypt failikonteiner on mugav viis andmete turvaliseks transportimiseks, aga see lahendus ei sobi hästi olukorda, kus soovitakse faile turvaliselt mitme arvuti vahel sünkroniseerida või varundada, kasutades selleks mõnda pilveteenust, näiteks Dropbox, SkyDrive, Google Drive. Probleem tekib sellest, et VeraCrypt falikonteiner on tegelikult üks fail, kus sees hoitakse krüpteeritult teisi faile. Kui nüüd selle konteineri sees ühte faili muuta, siis muutub terve konteiner ja see tuleb tervenesti uuesti pilveteenusesse üles laadida.
Boxcryptor võimaldab krüpteerida pilveteenuses hoitavaid faile, kusjuures iga fail krüpteeritakse iseseisvalt mistõttu ühe faili muutmisel tuleb ainult see uuesti üles laadida (nagu ka krüpteerimata juhul). Failid krüpteeritakse enne pilveteenusesse laadimist, samuti toimub failide kasutamisel dekrüpteerimine kasutaja arvutis, seega pilveteenus failide sisu ei näe. Boxcryptor toetab kõiki mainitud pilveteenuse pakkujaid (ja veel mõnda) ning töötab lisaks levinud operatsioonisüsteemidele veel ka nutiseadmetes (Android ja iOS).
Boxcryptor tarkvarast oli kaks paralleelset versiooni - n-ö uus versioon ja Classic versioon. Kahjuks lõpetati Boxcryptor Classic edasiarendamine ning seda ei toetata enam. Kuna täisversiooni kasutamine nõuab registreerimist, siis kasutame praktikumis endiselt classic versiooni. Enda arvutis sobib kasutamiseks näiteks BoxCryptori täisversioon ja sarnase funktsionaalsusega tarkvara Cryptomator.
Boxcryptor Classic
Boxcryptor Classic kasutamine on väga lihtne - kõigepealt valib kasutaja parooli ja ühe kausta, kus hoitakse krüpteeritud faile. Cryptomatori kasutamine on väga sarnane, aga seda me ei saa virtuaalmasinas läbi teha.
Valitud kaust võiks siis olla see, mida pilveteenusesse sünkroniseeritakse (näiteks mõni Dropbox kausta alamkaust). Teise sammuna valib kasutaja ketta (Linuxi puhul kausta), millena krüpteeritud failidega kaust "avatud kujul" saadaval on. Failide kasutamine toimub just selle ketta kaudu.
Boxcryptor Classic tasuta versioonis failinimesid ei krüpteerita, küll aga võimaldab seda tasuline versioon. Selleks, et Boxcryptori poolt kaitstud ketast lahti ühendada tuleb Boxcryptori aknas valida "Advanced mode" ning siis saab vastaval kettal vajutada "Unmount". Pärast lahtihaakimist ei saa kõrvalised isikud (kellel on arvutile juurdepääs) vastaval kettal olevate failide sisu näha juhul kui neil pole parooli.
Cryptomator
https://cryptomator.org/ on tasuta krüpteerimistarkvara, mis on avatud lähtekoodiga ning toimib sarnaselt BoxCryptoriga. Selle eesmärgiks on kaitsa väljavalitud kaustas olevaid faile, millele on võimalik juurdepääs tekitada ainult vastava parooli abil. Kui parool on sisestatud, siis kaust dekrüpteeritakse ning selle sisu muutub nähtavaks uue kettana.
Kasulikud lingid
- Bitlocker
- TrueCrypt
- BoxCryptor