Praktikum 5 - Turvaline suhtlus
Tehnoloogia ja tehnika turvalisuse arengu tulemusena on üha levinumad ründed inimese kui süsteemi nõrgima lüli vastu. Tänase praktikumi esimeses osas tutvume e-mailide turvalisusega ning näitame, miks e-maili teel saabunud infot ei tohiks usaldada (ajakirjandusest leiab pidevalt kurbi näiteid, mis juhtub kui e-mailis olevat infot ei kontrollita -- libaarvete probleem või kellegi teise nimel e-kirja saatmine). Praktikumi teises pooles vaatame turvalise e-maili saatmise (krüpteeritud, signeeritud) ja turvalise suhtluse võimalusi (Signal
messaging, torchat
, torbrowser
).
1. E-mailide turvalisus
E-mail on üks levinumaid digitaalselt info vahetamise kanaleid. Kahjuks oli (on siiani) e-mail seejuures suhteliselt ebaturvaline moodus infot edastada, sest on väga raske kontrollida saabunud info terviklikkust (integrity) ja tegelikku saatjat (origin). E-kirjade ebaturvalisusega seotud probleemide illustreerimiseks saadame tänases praktikumis erinevatel viisidel e-kirju. Teie ülesanne on leida vihjed, mille põhjal saaja suudaks tuvastada, et kirjas olev info ei pruugi olla usaldusväärne.
1.1 Online.ee keskkonnas e-maili konto loomine
Tänases praktikumis läheb sul vaja mitut erinevat e-maili aadressi:
- sinu põhi-emaili aadress (see, mis ÕISis kirjas), ainult kirjade vastuvõtmine
- Kui mingil põhjusel teil puudub ligipääs ÕISis olevale e-mailile palun informeerige sellest (saatke
alo.peets@ut.ee
e-kiri) uue e-mailiaadressiga kuhu soovite kirju saada.
- Kui mingil põhjusel teil puudub ligipääs ÕISis olevale e-mailile palun informeerige sellest (saatke
- liba-konto http://online.ee keskkonnas
- Minge lehele http://online.ee
- Looge seal uus kasutaja vajutades nupule
REGISTREERI
- Väljad (k.a. alternatiivne e-posti aadress ja telefoninumber) täitke vabalt valitud infoga. Siinkohal soovitame mitte-kasutada infot ja nimesid, mis võiksid teile kui isikule viidata, sest kui te läbi viiksite päris rünnet siis oleks suhteliselt rumal seda teha enda nime alt.
- Alternatiivse e-posti aadressi ja telefoninumbri välja kuuluvust teile ei kontrollita ehk telefoninumbriks sobib ka "123456789"
- kirjutage parool ülesse (sisestage paroolihaldurisse), et te seda ära ei unustaks.
1.2 Käsurealt e-maili saatmine
Järgnevalt vaatame kuidas käsurealt e-kirju saata, mis annab meile rohkem võimalusi modifitseerida saatja infot.
- Ava
Linux Mint
virtuaalmasin - paigalda programm nimega
ssmtp
(eelnevates praktikumides oleme Linuxis tarkvara paigaldamist õppinud) - modifitseeri (vajadusel lisa) faili
/etc/ssmtp/ssmtp.conf
faili järgmised seadistuse parameetrid:mailhub=mail.hot.ee:587
hostname=online.ee
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=andmeturve2021@online.ee
(asenda e-mail enda loodud online.ee e-mailiga)AuthPass=lisa_siia_enda_loodud_parool
(asenda=
järel olev enda parooliga online.ee keskkonnas.)
- e-kirja sisu on mugav
ssmtp
programmile ette anda tekstifailinamail.txt
sisu võiks olla näiteks:
To: Sinu Nimi <sinu.emaili.aadress@gmail.com> Subject: Andmeturve e-mail online.ee vahendusel From: Alo Peets <alo.peets@ut.ee> Content-Type: text/html; charset="utf8" <html> <body> Käesolev kiri on saadetud online.ee vahendusel ja illustreerib kui kerge on võõra isiku nimel saata suhteliselt usutavat kirja. Rohkem infot siin https://www.youtube.com/watch?v=iM-MR0yQvTg <br>Alo Peets <br>Andmeturve aine õppejõud </body> </html>
- E-kirja saad saata nüüd käsureal käsuga
ssmtp -v sinu.emaili.aadress@gmail.com < mail.txt
- Ülesanne 1: Saada samale e-mailile, kuhu laekuvad ÕISi ja courses keskkonna automaatsed kirjad õppejõu
alo.peets@ut.ee
nimel e-mail. - Kontrolli, et kiri jõudis kohale ja vaata kas Gmail või mõni muu e-maili rakendus märkis sinu kirja rämpsuks (
Spam
) või hoiatab et saatja pole alo.peets@ut.ee ?- Seda kirja läheb meil vaja veidi hiljem võrdlevaks analüüsiks.
Kui sul ei õnnestu e-maili saata, vaata üle seadistus ja võimalusel kasuta mobiilset internetti (mobiiliga hotspot ja host arvuti ühenda sinna internetti, VM saab ühenduse automaatlselt NAT kaudu). Kuna käesoleva ja krüpteeritud kirja saatmise ülesanne on võrgupõhine tegevus siis osad internetiühendused piiravad väljuvaid käsitsi koostatud e-maile kahjuks.
1.3 E-kirja saatmine TÜ sisevõrgust SMTP (Simple Mail Transfer Protocol)
E-kirjad liiguvad internetis vägagi sarnaselt sellele, kuidas liiguvad füüsilises maailmas paberkirjad. Meil on olemas igas riigis (piirkonnas) postiteenuse osutaja kelle ülesandeks on e-kirjad kokku koguda ja õigete aadressaatideni kohale toimetada. Digitaalsel maailmas teevad seda nn e-maili serverid (kes tihti käituvad kui e-mail relay
, MTA
). TÜ-s on üks selline server mail.ut.ee
mis hoolitseb selle eest, et kõik TÜ-st alguse saanud e-kirjad jõuaksid õigesse postkasti. Ajaloolistel põhjustel samas ei ole e-maili standardisse ja tehnilistesse lahendusse sisse kirjutatud ühtset standardit kuidas kontrollida et saatja oleks see kes ta väidab end olevat ning kuidas kontrollida, et e-kirju vahepeal ei modifitseerita. Selle kõige tulemusena on mail.ut.ee
nõus ilma suurema kontrollimiseta vahendama TÜ sisevõrgust alguse saanud e-kirju soovitud sihtkohta. Kuna hetkel te füüsiliselt TÜs ei saa viibida siis sooritate enda tegevused TÜ serveris.
SMTP on protokoll meili saatmiseks. SMTP protokolli vaikimisi port on 25. Ühendus tuleks luua selle arvutiga, mis on märgitud DNS-is e-maili saaja domeeni meiliserveriks. Tavaliselt jõuab e-mail kohale ka siis, kui võtta ühendust suvalise koduvõrgu SMTP serveriga, nt mail.ut.ee või mail.neti.ee - sel juhul need serverid vahendavad (relay) e-maili õigele serverile (kui neil vahendamine lubatud on). Varasemalt oli paljudel e-mailiserveritel vastav tegevus lubatud, kuid seoses suureneva võltsarvete ja muude e-mailiga saadetavate pettustega on hetkel raske leida avalikku e-maili serverit, mis autentimata kasutajale e-maile edastaks.
PS! Kui eelmisi ühendusi saite teha suvalisest Linuxi masinast, siis järgmist harjutust saab teha ainult TÜ sisevõrgust, kusjuures isegi VPN-ühendus ei aita. Piirangust mööda pääsemiseks soovitame väljastpoolt TÜ sisevõrku võite luua kõigepealt ssh
ühenduse math.ut.ee
serveriga siis seal vastavad tegevused sooritada. TÜ sisevõrgust saaks järgnevat tegevust teha ka autentimata ehk saata nö võltsitud saatja reaga e-kiri heauksele saajale. NB! Võltsitud (muudetud) saatja reaga e-maili saatmine on keelatud tegevus ja seadusega karistatav (ilma ohvri nõusolekuta, identiteedivargus). Seega järgnev tegevus muudetud saatja reaga e-maili saatmine on väljaspool LTAT.06.002 Andmeturve aine Praktikum5 ülesande lahendamiseks vajalikku lahendamist keelatud.
Tööks kasutame seekord ssh
ühenduse vahendusel math.ut.ee serverit. SSH
ühendust saate Windows keskkonnas mugavalt luua programmiga putty
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html (täitke ära avaaknas Session
ainult Host Name (or IO address)
väärtusega math.ut.ee pärast Open
vajutamist küsitakse teilt TÜ kasutajatunnust ja parooli. Linux ja MAC kasutajad saavad kasutada sisse ehitatud SSH-klienti käsurea käsuga ssh <TÜ kasutajatunnus>@math.ut.ee
. Loomulikult võite kasutada ka Linux Mint virtuaalmasinat käesoleva ülesande tegemiseks. Kui te ei tea enda TÜ kasutajatunnuse parooli siis selle saate ära vahetada ID-kaardiga ennast identifitseerides sellel lehel https://passwd.ut.ee . Tüüpiline meili saatmise seanss näeb välja järgmine:
[alop@math ~]$ telnet mail.ut.ee 25 Trying 2001:bb8:2002:500::47... Connected to mail.ut.ee. Escape character is '^]'. 220 smtp2.it.da.ut.ee ESMTP Postfix HELO math.ut.ee 250 smtp2.it.da.ut.ee MAIL FROM:<oppejou.nimi@ut.ee> 250 2.1.0 Ok RCPT TO:<eesnimi.perenimi@gmail.com> 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> From:Õppe Jõud<oppe.joud@ut.ee> To:Eesnimi Perenimi<eesnimi.perenimi@gmail.com> X-Mailer: telnet Subject: e-maili test OS2020 Content-Type: text/plain; charset=UTF-8 Soovin LTAT.06.001 Operatsioonisüsteemid Praktikum15 arvestust. . 250 2.0.0 Ok: queued as C12B39006F QUIT 221 2.0.0 Bye Connection closed by foreign host.
Käskude selgitused:
- HELO
- sessiooni algust tähistav käsk, parameetriks klientarvuti nimi, praktikas nime sageli ignoreeritakse, kuid vahel nõutakse et see peab DNS mõttes lahenduv nimi olema.
- MAIL FROM
- parameetriks saatja meiliaadress.
- RCPT TO
- parameetriks saaja meiliaadress.
- DATA
- järgneb meili sisu - kõigepealt päised ja siis meili sisu. Lõpetamiseks punkt eraldi real.
- QUIT
- lõpetab sessiooni.
Päised:
To:
saaja aadress,From:
saatja aadress,Subject:
määrab e-maili teema,Content-Type:
ütleb, et tegemist tavalise tekstilise e-mailiga (vastandina HTML e-mailile) ja sisu on kodeeritud UTF-8 kodeeringus.
Silma torkab, et nii saatja kui saaja aadressi on topelt - nii MAIL FROM
/RCPT TO
käsus, kui ka From
/To
päistes. MAIL FROM/RCPT TO
moodustavad kirja "ümbriku" (envelope). RCPT TO
on e-maili tegelik saaja, To:
päises on esialgne saaja, nt listi puhul listi e-maili aadress. Praktikas meiliserver päiseid ei vaata vaid juhindub ainult ümbrikuaadressidest. Ja vastupidi - meilide lugemise programm ei tea midagi ümbrikuaadressidest. Nii on võimalik pimekoopia saatmine - pimekoopia saaja on ümbrikus saajana kirjas, aga päistes teda pole.
Nagu näha, ei nõua SMTP oma algsel kujul mitte mingit tõestust, et sul on õigus saatja nimel e-maili saata. See teebki lihtsaks e-maili ärakasutamise spämmerite ning viiruste poolt. Selle vastu võitlemiseks rakendatakse mitmesuguseid piiranguid:
- IP-aadresside piiramine, kust on SMTP-ühendused lubatud (näiteks mail.neti.ee ei luba väljaspoolt Telia'le kuuluvast aadressiruumist).
- kasutajanime ja parooli ning krüpteeritud ühenduse (SSL/TLS) nõudmine (mitmed veebimajutusteenuse pakkujad).
- SPF reeglid DNS-s, mis loetlevad, millistelt IP-aadressidelt on lubatud antud saatja aadressiga e-maile saata.
- DKIM - e-mailide allkirjastamine serverile teadaoleva privaatse võtmega, mille avalik võti on DNS-s.
- DMARC - Täiendab SPF ja DKIM
- Ülesanne 2: Saada iseendale telnetiga e-mail praktikumijuhendaja nimel
math.ut.ee
serveri vahendusel, pane saatjaksalo.peets@ut.ee>
ja lisa päisesseX-Mailer:
rida väärtusegatelnet
. E-mail peab sisaldama korrektset teemarida (pealkiri) ja täpitähti. Lisa aruandesse pilt enda postkasti saabunud praktikumijuhendaja kirjast koos vaikimisi peidetudX-Mailer:
reaga (vihje: meilikliendis Gmail: ⋮ => Näita algset/Show original).
1.4 E-maili detailse info uurimine
IT-maailmas on esimesel korral infot vaadates raske öelda milline on õige / vale seadistus, kui teil varasem kogemus puudub. Seega lisaks kahele eelnevalt enda poolt saadetud liba e-kirjale saadab õppejõud teile ühe kirja TÜ soovituslikku e-kirja saatmise vahendit Exchange Online (Office365)
kasutades ning võite võrdlusesse lisada ÕIS saadetava teate aine praktikumide kohta (või courses.cs.ut.ee tagasiside kirja).
Järgnevalt võrdleme nelja (4) erinevat e-kirja:
ssmtp
saadetudonline.ee
vahendusel liba e-kiritelnet
saadetudmath.ut.ee
vahendusel liba e-kiriÕIS
saadetud automaatselt genereeritud e-kiri (alternatiivina võib kasutadacourses.cs.ut.ee
saadetud tagasiside teadet)- Õppejõu saadetud e-kiri
Exchange Online (Office365)
kasutades
Iga e-kirja puhul ava oma e-postirakenduses e-kirja lähtetekst (View Orginal
, Näita algset
jne vms, Thunderbird puhul View => "Message Source") ja proovi sealt üles leida päise rida (read), mis kõige paremini illustreerivad, mis keskkonna vahendusel kiri saadeti ja kes selle saatis.
Esmapilgul ei viita miski sellele, et e-maili saatja poleks aine õppejõud.
Kuid kui uurida veidi sügavamale, siis on vihjeid küll, et saatjaks on arvatavasti keegi teine.
1.5 Arvestuseks:
- Ülesanne 3.1: Esita praktikumi arvestuseks neli (4) ekraanivaadet e-kirja detailsest infost (eri moodustel saabunud aine õppejõu nimel kirjadest) ja märgi selgelt näiteks punase kastiga kohad mis aitavad
origin
kirjetest tuvastada kas kirja on saatnud aine õppejõud või mitte. - Ülesanne 3.2: Kirjelda vähemalt 3 tehnilist parameetrit detailsemalt, mis aitab tuvastada kas kiri on õige või vale (üks neist võiks olla
DMARC
).
2. Krüpteeritud ja signeeritud e-kirja saatmine PGP
Järgneva harjutuse eesmärgiks on tutvustada meilide krüpteerimist ja signeerimist võimaldavat tarkvara PGP. Praktikumiülesannete lahendamiseks tuleb teil kasutada online.ee
lõpuga e-meili kontot, mille lõime praktikumi esimeses osas. E-maili aadressilt peab olema võimalik Mozilla Thunderbirdi abil kirju alla laadida ning kirju saata - kui see toimib, siis tuleb veel loota, et teenusepakkuja ei blokeeri krüpteeritud sisuga kirju (online.ee
on selleks sobivaim). Üldiselt töötab lahendus ka muude e-maili teenusepakkujatega, kui online.ee ei soovi kasutada. NB! online.ee
uue meiliaadressi korral ei ole sinna esimesed ~4h võimalik kirju saata seega kui teete uue online.ee aadressi siis peaksite ootama kas 4h kuni saate juhendiga edasi minna või kasutama alternatiivset aadressi (gmail.com, hotmail.com).
Praktikumiülesandeid saab teha nii enda arvutis kui ka virtuaalmasinas (Linux, Windows, iOS peaksid kõik sobima).
2.1 Tavalise meilivahetusega seotud turvaprobleemid
E-kirjade edastamise protokollid ei ole algselt disainitud turvalisust ja privaatsust silmas pidades nagu demonstreerisime praktikumi esimeses osas. Seega on vaikimisi e-kirjad turvamata, mis tähendab seda, et e-kirju edastatakse tavatekstina (neid ei krüpteerita), samuti pole saatja tihti verifitseeritav. Mõningad SMTP serverid toetavad STARTTLS, mis võimaldab minna turvamata ühenduselt automaatselt üle krüpteeritud ühendusele, mis kasutab protokolli TLS. Siiski leidub veel teenusepakkujaid kus STARTTLS ei kasutata vaikimisi. Seega kui tarkvara ei sunnita kasutama turvaliseks meilivahetuseks mõeldud porti ehk TLS/SSL, siis edastatakse e-kirjad SMTP serverisse üle võrgu tavatekstina.
Meilide edastamiseks ühest serverist teise kasutatakse meilide edastamise agenti ehk MTA-d. Niisugune agent tegeleb nii kirjade vastuvõtmise kui edastamisega ehk kasutab mõlemat SMTP funktsionaalsust. Oluline on see, et erinevad meilide edastamise agendid ei pea omavahel suhtlema TLS/SSL abil vaid võivad kasutada turvamata ühendust. Võib tekkida olukord kus on vaja edastada e-kiri meiliserverile, mis ei toeta TLS/SSL. Seega kui meiliklient saadab turvatud kujul esimesele meiliedastamise serverile e-kirja, siis ei ole garantiid, et seda kirja ei saadeta edasi tavatekstina. Isegi kui e-kiri edastatakse terve teekonna vältel TLS/SSL abil, siis ei saa vältida seda olukorda, et e-kirja edastav server ei loe (salvesta) kirja sisu. Seega on vaja e-kirjade saatmisel usaldada meiliedastamise agente.
Oluline on see, et e-kirjade päises olevat infot ei krüpteerita. Seetõttu on e-kirja metaandmed nagu näiteks saatja meiliaadress, saaja meiliaadress, saatja IP, vastuvõtja IP, kuupäev, kell, pealkiri avalikud. Need andmed on avalikud ja neid on kasutusel olevate protokollide tõttu raske varjata. OpenPGP uuemad versioonid võimaldavad siiski asendada osa tundikke väljasid nagu "pealkiri" ajutise nö vähetundliku infoga ja tegelik pealkiri krüpteeritakse koos kirjaga ära.
Tavalise meilivahetusega seotud riskid:
- kirjavahetuse salvestamine
- kirja sisu muutmine
- kirja levitamine
- identiteedivargus (liba e-mailid)
Väga hea ülevaate meilivahetusega seotud probleemidest annab Google, Michigani ülikooli ja Illinoisi ülikooli poolt kirjutatud artikkel Neither Snow Nor Rain Nor MITM ... An Empirical Analysis of Email Delivery Security (2015).
2.2 Lahendused - PGP / SMIME / otspunktkrüpteerimist võimaldavad sõnumirakendused
Ideaalset lahendust eelnevalt kirjeldatud probleemidele ei ole praegu olemas. Parimad olemasolevad lahendused kasutavad avaliku võtme krüptograafial põhinevat otspunktkrüpteerimist (end-to-end encryption). Otspunktkrüpteerimise korral krüpteeritakse sõnum saatja arvutis ja dekrüpteeritakse alles vastuvõtja arvutis, mistõttu sõnumi edastajad ei saa sõnumit dekrüpteerida.
Pretty Good Privacy (PGP) on 1991. aastal loodud arvutiprogramm, mis võimaldab digitaalsete andmetega teha mitmeid krüptograafilisi operatsioone, näiteks dokumente ja e-kirju krüpteerida ning signeerida. PGP põhineb avaliku võtme krüptograafial, kus igal kasutajal on oma võtmepaar. PGP on kommertstoode ning pole seega vabalt kättesaadav. Küll aga on selle järgi loodud OpenPGP standard, mida järgiv tarkvara on omavahel ühilduv. Kõige tuntum vabavaraline OpenPGP standardile vastav programm on GNU Privacy Guard (GnuPG ehk GPG). E-kirjade otspunktkrüpteerimiseks saabki kasutada OpenPGP standardit järgivat tarkvara GPG. Seda tarkvara käsitlemegi antud praktikumi jooksul.
Alternatiiviks lahenduseks on loobuda e-kirjade kasutamisest ja kasutada tundliku info edastamiseks teisi otspunktkrüpteerimist võimaldavaid vahendeid. Üheks niisuguseks alternatiivseks võimaluseks oli Off-the-Record Messaging (OTR), aga viimasel ajal on populaarsemaks muutunud sõnumivahetusprogramm Signal, mis peaks pakkuma kõrgemat turvataset kui OTR . Signal'i kasutamist saate praktiseerida praktikumi viimase ülesande lahendamisel.
2.3 Juhend enda arvuti ettevalmistamiseks
- Paigaldage enda arvutisse Mozilla Thunderbird
- Linux:
sudo apt install thunderbird
(Mint vaikimisi olemas) - Windows: https://www.thunderbird.net/en-US/thunderbird/all/
- Linux:
- Paigaldage GPG
- Linux:
sudo apt install gnupg
- Windows: http://www.gpg4win.org/
- Linux:
- Paigaldage Thunderbird-i laiendus Enigmail (Windows)
Thunderbird
->Add ons
->Get Add-ons
->Enigmail
. Enigmail võib pakkuda automaatse seadistuse loomist, aga sellest tuleks keelduda ja valida manuaalne seadistamine.
- Seadistage Enigmail tundma ära GPG-d
Thunderbird -> Enigmail -> Preferences -> kontrollige kas gpg on leitud.
- Käivitage Thunderbird ning lisage emaili konto. Kui palutakse Enigmail seadistada, siis valige, et te ei soovi seda praegu teha.
- Selles praktikumis võiksite kasutada online.ee konto, mille tegime praktikumi esimeses osas.
Uuendus: Olenevalt millist versiooni Thunderbird ja Enigmail te kasutate võib tekkida olukord, kus Thunderbird ütleb teile, et Enigmail pole enam vajalik ja edaspidi on Enigmail funktsionaalsus osa Thunderbird funktsionaalsusest. Juhendis asendage lihtsalt sõna Enigmail sellisel juhul Thunderbird menüüga Tools
-> OpenPGP Key Manager
. Ühtlasi peate oma avaliku võtme
käsisti laadima keys.openpgp.org
veebilehele, selle eelnevalt exportides OpenPGP Key Manager
aknast (Upload
funktsionaalsust pole sisse ehitatud veel ja keyserveri
seadistamist ei saa ka teha). Kirja koostamisel on nüüd olemas nupp Security
, kust saate sobivad valikud teha ning kui aadressaadi avalikku võtit pole eelnevalt alla laaditud saab seda teha kirja saatmise hetkel (vaikimisi keys.openpgp.org
). Peamine funktsionaalsus krüpteeritud ning signeeritud kirja saatmine on siiski võimalik, kuid tegevused on veidikene erinevad.
2.4 Võtmepaari genereerimine
Genereerige endale PGP võtmepaar. Enne kui te järgmist tegevust teete proovige saata enda online.ee
e-mailile kiri, kui vastus on negatiivne Address not found
või Recipient address rejected: andmeturve2021@online.ee is expired account
peate kahjuks veel ootama. Uue online.ee e-maili postkasti üles seadistamine kirjade vastuvõtmiseks kulub umbes umbes 4h. Te võite ära teha praktikumi muud alamosad (3 ja 4) ja siis naasta seda harjutust edasi tegema
Enigmail -> Key management, Generate -> New Key Pair
või...
Thunderbird -> Tools -> OpenPGP Key Mangemer -> Generate -> New Key Pair
Valitud peaks olema see konto, mille te seadistasite praktikumi alguses. Valige parool, mis kaitseb teie salajast võtit. See parool tuleb kindlasti meelde jätta. Muudest seadetest valige, et teie võtme kehtivusaeg oleks 1 kuu.
Võtme genereerimiseks läheb vaja juhuslikkust, aga arvuti ei oska hästi juhuslikkust genereerida. Tegelikult ei ole päris juhuslikke numbreid võimalik eeskirja alusel genereerida, sest päris juhuslike numbrite genereerimiseks tuleks kasutada füüsikalisi protsesse nagu näiteks radioaktiivne lagunemine. Rohkem infot juhuslike numbrite genereerimise ja pseudojuhuslike numbrite genereerimise kohta leiate veebilehelt https://www.random.org/randomness/.
Linux võimaldab vaadata süsteemi entroopiataset:
cat /proc/sys/kernel/random/entropy_avail
Võtme genereerimise käigus süsteemi entroopiatase väheneb (kontrollige eelneva käsu abil) ja süsteem vajab lisaallikat juhuslike bittide loomiseks. Juhuslikkuse genereerimist saab kiirendada näiteks sellega, et samal ajal konsoolis käivitada root õigustes järgnev käsk (see kasutab ketast, mis omakorda toodab juhuslikkust):
$ sudo find / -name '*k'
Pärast võtme genereerimist küsitakse, kas te tahate salvestada revocation
sertifikaati.
Revocation sertifikaati pole vaja võtmele genereerida juhul kui te plaanite antud võtit kasutada ainult selle praktikumi raames. Revocation sertifikaat võimaldab teil hiljem enda avalikku võtit tühistatuks kuulutada (võtmeserverisse laetud võtit ei saa kustutada, aga seda saab tühistatuks määrata). Kui te tahate päriselt hakata PGP-d kasutama, siis genereerige revocation sertifikaat (see on mõistlik ainult siis kui te teete praktikumiülesannet enda arvutis).
Enigmail Key management
dialoogis tuleb peale panna Display All Keys by Default
, et näha oleks kõik võtmed. Hetkel peaks seal olema ainult teie genereeritud võti. Uurige, missugust infot te näete enda võtme kohta.
2.5 Võtmeserver
Võtmeservereid kasutatakse avalike võtmete levitamiseks. Võtmeserverist on võimalik otsida teiste avalikke võtmeid nende nime / meiliaadressi / võti ID abil. Oluline on tähele panna, et võtmeserverisse laetud avalikku võtit ei saa sealt enam eemaldada (openPGP puhul näidatakse viimastes versioonides siiski ainult viimasena üleslaetud võtit iga e-maiaadressi kohta). Juhul kui vastav salajane võti on kaduma läinud või kui vastavat meiliaadressi enam ei kasutata, siis tuleks kasutada revocation sertifikaati, et märkida vastav avalik võti tühistatuks. Kuna võtmeserverisse võtit laadides ei toimu autentimist, siis ei ole kindlust, kellele võtmeserveris olev võti kuulub. Seetõttu tuleks enne võtme allalaadimist kontrollida, et võtme ID vastab teie tuttava / kontaktisiku võtme ID-le.
- Määrake ära praktikumis testimiseks kasutatav võtmeserver:
Enigmail -> Preferences -> Display Expert Settings and Menus -> Keyserver
. Seal jätke ainult alles vaikimisi esimene (ülejäänud kustutage):keys.openpgp.org
. Pärast seda vajutageOK
. - Publitseerige oma vastgenereeritud võtmepaarist avalik võti võtmeserverisse, et see oleks kõigile kättesaadav. Selleks avage uuesti
Key management
ning seal tehke parem klõps enda võtme peal ning valigeUpload Public Keys to Keyserver
. Nüüd saavad rühmakaaslased seda võtit võtmeserverist alla laadida ning selle abil saata teile krüpteeritud kirju.
Võtme aktiviseerimiseks ja selle avalikuks tegemiseks saadetakse teile kiri. Kiri sisaldab linki ja infot milleks tegevus vajalik on. Praktikumi edasise tegevuse huvides reageerige palun saadetud kirjale ja vajutage kirjas peituvale lingile.
2.6 Krüpteeritud ja signeeritud kirjade saatmine
Järgmistes punktides on vaja saata iseendale e-kirju (tulenevalt asjaolust et enamik meist on eriolukorra tõttu kodused), selleks peaksite omama ka mõnda alternatiivset e-maili aadressi (näiteks gmail.com, hotmail.com, mail.ee, online.ee jne).
Saatke iseendale testiks signeeritud kiri. Selleks koostage uus kiri
ja vajutage pliiatsit kujutaval ikoonil (signing)
. Tehke kindlaks, et kiri oleks ainult tekstina (mitte HTML): Options -> Delivery Format -> Plain Text Only
. Seda saab ka jäädavalt sisse lülitada: Edit -> Account Settings -> Composition & Addressing -> Compose messages in HTML format eest linnuke ära
.
Märkus. Juhul kui e-maili saatmine ebaõnnestub, sest Thunderbird üritab e-maili saata SMTP protokolli kasutades mail.hot.ee aadressile, mida blokeerib TÜ võrgu seadistus (või teie kohalik võrguseadistus) -- sellisel juhul on ajalooliselt vaja e-maili kliendis seadistada Teie kasutatavale võrgule
(interneti teenusepakkujale) vastav väljuv MTA server, mis on nõus omakorda kirja edastama online.ee
serverile (mail.hot.ee).
Väljuv e-maili server on vanemate e-maili serverite puhul võrgu põhine (interneti teenuse pakkuja, ISP, internet Service provider). Ehk olenevalt millist võrku te kasutate sellest sõltub teie outgoing serveri seadistus Thunderbird kliendis. Rohkem infot https://www.online.ee/faq.php#faq/c_kkk/answer_c_kkk_9 PS! Mobiilse interneti abil saadetud kirjad töötavad kõige stabiilsemalt kui teil on probleeme enda peamise interneti vahendusel kirja saatmisega.
Peaksite saama oma e-postiaadressile tavalise e-kirja mille manuses on signature.asc
nimeline fail. Avage fail tekstiredaktoriga (näiteks notepad
) ja tutvuge manuse sisuga. Kui sama signeeritud e-kiri avada Thunderbird programmiga peaks ta teile kuvama teate Good signature
(Seda pole vaja testida).
Saatke nüüd harjutamiseks iseendale uus krüpteeritud
ja signeeritud
kiri. Selleks valige kirja saatmise aknas tabaluku kujutisega ikoonile ja pliiatsi märgile kui see vaikimisi juba ei muutunud kollaseks (valituks). Kirja saatmisel avaneb aken, kus saate valida, kelle jaoks te selle kirja krüpteerite. Seal võite praegu valida iseenda võtme (kuna me ei soovi teie põhi-emailile PGP võtit luua siis kasutame ajutiselt suvalist võtit). Saatke kiri ära.
Avage enda põhi-emailiaadressis krüpteeritud kiri ja selle manused. Peaksite märkama et kogu kirja sisu on failis nimega encrypted.asc
ja ilma vastava salajase võtmeta ei ole teil võimalik kirja sisu lugeda.
Saatke nüüd uuesti krüpteeritud
ja signeeritud
kiri õppejõu aadressile andmeturve2021@online.ee
. Seekord aga kasutage "õiget" õppejõu avalikku võtit saatmiseks, mille saate alla laadida keys.openpgp.org
serverist e-maili alusel otsides nupp Download missing keys
.
- Ülesanne 4: Saatke krüpteeritud ja signeeritud e-mail õppejõule
andmeturve2021@online.ee
. Kirja krüpteeritud sisu peab kindlasti sisaldama TEIEees- ja perenime
ning pealkirjaAndmeturve - PGP praktikum
, et saaksime teie tegevuse arvestatuks märkida.
PS! Õppejõud saadab teile vastu samuti krüpteeritud ja signeeritud kirja 3 päeva jooksul, seega saate kontrollida ja tagasisidet, kas teie e-kiri jõudis kohale.
2.7 Usaldusseoste loomine
PGP kasutab usalduse tekitamiseks nn. usaldusvõrku
(web of trust). Usaldusvõrgu puhul saab iga inimene ise valida, keda ja kui palju ta usaldab, ning selle kinnitamiseks allkirjastab vastava inimese avalikku võtit sisaldava sertifikaadi oma privaatvõtmega (nagu see toimub ka avaliku võtme infrastruktuuri korral). Selliselt väljendatud usaldusseosest tekib omamoodi sotsiaalne võrgustik, kus usaldus
on transitiivne seos, vt. joonist. Et sertifikaatidevahelisi usaldusseoseid saaks jälgida ning juurde tekitada, on kasutusel avalikud võtmeserverid, kuhu igaüks oma sertifikaadi koos usaldusseostega saab üles laadida.
Looge võtmete vahele usaldusseosed. Andke Õppejõu avalikule võtmele oma signatuur, selleks valige tema võtme juures key management
sign key
. Avanenud dialoogiaknas valige key for signing
ja usalduse aste. Naabri võtme signeerimine tahab loomulikult teie võtme parooli. Võite lisada võtmele ka usalduse astme Set Owner Trust
ja valige sobiv. Publitseerige õppejõu võtmele antud signatuur. Selleks avage Enigmail Key Management
ja valige õppejõu võti -> hiirega parem klõps ja valige Upload Public Keys to Keyserver
. Selleks, et võtme signatuure uuendada tuleb Key Management
aknas märgistada vastav võti ning siis valida menüüst: KeyServer
-> Refresh Selected Public Keys
.
Vaadake õppejõu võtmele antud signatuure: parem klõps õppejõu võtme peal ja "Key Properties" -> "Certifications"
. Veenduge, et õppejõu võtmel on teie allkiri nähtav.
Kahjuks avalik keys.openpgp.org
hetkel usaldusseoseid ei luba üles laadida seega tegelikkuses te vastavaid usaldusi hetkel kasutada ei saa. Vastav funktsionaalsus keelati 2019 aastal ära, sest häkkerid leidsid mooduse kuidas seda kurjasti ära kasutada (andsid võtmele niipalju signatuure, et võtme laadimine muutus lootusetult aeglaseks). Samuti ei toeta hetkel Web of trust
funktsionaalsust Mozilla Thunderbird sisseehitatud krüpteerimise funktsionaalsus. Rohkem infot http://keys.openpgp.org lehelt:
Do you distribute "third party signatures"? Short answer: No. A "third party signature" is a signature on a key that was made by some other key. Most commonly, those are the signatures produced when "signing someone's key", which are the basis for the "Web of Trust". For a number of reasons, those signatures are not currently distributed via keys.openpgp.org. The killer reason is spam. Third party signatures allow attaching arbitrary data to anyone's key, and nothing stops a malicious user from attaching so many megabytes of bloat to a key that it becomes practically unusable. Even worse, they could attach offensive or illegal content. There are ideas to resolve this issue. For example, signatures could be distributed with the signer, rather than the signee. Alternatively, we could require cross-signing by the signee before distribution to support a caff-style workflow. If there is enough interest, we are open to working with other OpenPGP projects on a solution.
Lisalugemine: https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d6955275f
2.8 Vabatahtlik lisaülesanne - Gmail confidential mode
Eelnevalt vaatasime kuidas saata PGP tüüpi krüpteeritud ja signeeritud e-kirja. Mitmed suuremad e-mailide teenusepakkujad on tänaseks krüpteeritud e-kirjade saatmise funktsionaalsuse lisanud oma teenusele. Ühe sellise edumeelse näitena võib välja tuua GMail
e-maili teenuse. Selleks tuleb e-kirja koostamise aknas vajutada tabaluku ja kellaga ikoonile Turn confidential mode on/off
. Järgnev harjutus on illustreeriva eesmärgiga ainult neile kes seda soovivad katsetada ja ei ole kohustuslik sooritada. Eriti mugav on, et krüpteeritud kiri on ka esmase jagamise kaitsega (ei saa kopeerida, printida ega edasi saata kogemata). Lisaks on võimalik krüpteeritud kirja saata ka mitte Gmaili e-mailile, misjuhul saadetakse teist kanalit pidi (SMS) avamise kood eraldi adressaadini.
3. Sõnumivahetusrakenduse "Signal" kasutamine.
Signal on avatud lähtekoodiga, krüptograafide poolt arendatud rakendus, mis pakub otspunktkrüpteeritud ühendusi. See toimib Android (alates 4.0) ja iOS (alates 9.0) seadmetel. Juhul kui rakendus on telefonis aktiveeritud, siis saab kasutada ka desktopi klienti (toetatud on Windows, MacOS, Debian/Arch baasil Linux distributsioonid). Teie ülesandeks on:
- Paigaldada Signal nutirakendus
- Lisa kontaktide hulka andmeturbe praktikumi jaoks kasutatav number:
+372 535 11397
PS! Signali kontaktid võetakse enamasti telefoniraamatust juhul kui mõni telefoniraamatus olev kontakt kasutab Signalit, kuid praktikumi arvestuseks võib keelata ligipääsu kontaktidele ja sisestada numbri kästisi. - Ava kontaktiga (
+372 535 11397
) suhtluskanal, ning kirjutada sinna enda eesnimi ja perenimi (saada sõnum) - Ülesanne 5.1: Kirjuta numbrile
535 11397
sõnum, mis automaatselt kustub30 sekundi pärast
kui adressaat on sõnumit näinud. (0.7p) - Ülesanne 5.2: Too välja vähemalt kolm (3) selget erinevust
turvalisuse
seisuskohastSignal sõnumite
jaklassikaliste SMS
-ide vahel ning esita lahendus praktikumi aruandesse. (0.3p)
Tulemus peaks sarnanema parempoolsel pildil kujutatule. Kindlasti kirjutage enda täisnimi ning kasutage teise sõnumi korral automaatse kustumise funktsionaalsust.
PS! Eeldame kõik IT tudengid omavad kaasaegseid IT seadmeid ja on võimelised Signal
ülesannet lahendama. Kui te ei taha kasutada isiklikku telefoni numbrit siis soovitame osta kõnekaardi numbri käesoleva ülesande lahendamiseks. Kui siiski teil tekib probleeme Signali kasutamisel isiklikus nutiseadmes või nutiseade üldse puudub võtke ühendust aine õppejõuga Alo Peets
, kes pakub teile alternatiivse ülesande.
4. Tumeveeb (tor) ja anonüümne suhtlus - TorChat
Aegajalt võib olla teil soov suhelda anonüümselt teise kasutaja ilma et oleks võimalik kergesti tuvastada kes on teiselpool kanalit suhtlemas ning kust ta suhtleb. Selliseid tarkvarasid kutsutakse anonüümseteks suhtluskanaliteks (anonymous messaging). Käesolevas praktikumis vaatame tarkvara nimega TorChat, mis põhineb TOR anonüümsel interneti võrgustikul, mille idee on, et ei ole võimalik eri osapooltel kergesti tuvastada kes kellega millal suhtleb. Levinud on ka nn TOR veebilehitseja https://www.torproject.org/ , millega on võimalik enda interneti teenusepakkuja ja riiklike uurimisasutuste eest ära peita mis lehti sa külastad (veebist leiab mitmeid arutelusid kui edukalt TOR kasutajaid kaitseb, kuid keskmise kodukasutaja jaoks lisab see kindlasti anonüümsust ja kaitset võrgu jälgimise vastu.).
Paigaldage Linux Mint virtuaalmasinasse tor veebilehitseja torbrowser
ja tor suhtluskanal torchat
.
sudo apt update sudo apt install torchat torbrowser-launcher
- Ülesanne 6: Külasta
torbrowser
veebilehitsejaga enda valitud.onion
tumeveebi lehte (0.25p) ja saada anonüümnetorchat
sõnum (0.25p). Esita vastavast tegevusest ekraanivaated praktikumi arvestuse punktide jaoks. Õppejõu arvuti torchat IDsnur2f7jnzdmo6lu
(ei monitoorita ega vastata, saate saata ühepoolseid sõnumeid).
Esitada Praktikum5:
Praktikumi ülesannete lahendamine annab neli punkti ja esitamiseks on umbes kaks nädalat alates praktikumi toimumisajast ( kuni 24. märts tähtajani +1 päev lubatud hilinemist juhuks kui te pidite ootama online.ee e-maili aktiveerimist).
- Ülesanne 1: Saata iseendale võlts e-mail
online.ee
vahendusel õppejõu Alo Peetsalo.peets@ut.ee
nimel (ekraanipilt ÜL3
) - 0.5p - Ülesanne 2: Saata iseendale võlts e-mail
math.ut.ee
vahendusel õppejõu Alo Peetsalo.peets@ut.ee
nimel (ekraanipilt ÜL3
) - 0.5p - Ülesanne 3: Esita praktikumi arvestuseks neli (4) ekraanivaadet e-kirja detailsest infost (eri moodustel saabunud aine õppejõu nimel kirjadest) ja märgi selgelt näiteks punase kastiga kohad mis aitavad
origin
kirjetest tuvastada kas kirja on saatnud aine õppejõud või mitte. Kirjelda vähemalt 3 tehnilist parameetrit detailsemalt, mis aitab tuvastada kas kiri on õige või vale (üks neist võiks ollaDMARC
). - Ülesanne 4: Saata PGP krüpteeritud ja signeeritud e-kiri õppejõule
andmeturve2021@online.ee
, mille sisuks on teie nimi - 1p - Ülesanne 5: Saata Signal krüpteeritud kustuv sõnum ja tuua selgelt välja 3 turvalisuse erinevust tavalisest SMS ja Signal vahel - 0.7 + 0.3p
- Ülesanne 6: Külastada enda vabalt valitud tumeveebi
.onion
veebilehte ja saata torchat anonüümne sõnum (ekraanipilt
) - 0.5p