» »

Intervju z Dustinom Kirklandom, glavnim razvijalcem sistemov za šifriranje v Ubuntuju

English version

Dustin Kirkland je Ubuntu Core razvijalec, zaposlen pri podjetju Canonical. Preden je za─Źel delati na razvoju Ubuntu serverja, je pre┼żivel 8 let pri IBM-u. Trenutno je osredoto─Źen na razvoj Ubuntu Enterprise oblaka za prihajajo─Źo razli─Źico Ubuntuja, 10.04 LTS, pred tem pa je delal na ┼ítevilnih drugih paketih in zmogljivostih najpopularnej┼íe distribucije, vklju─Źno s ┼íifriranim doma─Źim imenikom. Je tudi vzdr┼żevalec eCryptfs, kriptografskega datote─Źnega sistema, ki ga omenjena funkcionalnost uporablja. Vsekakor dovolj razlogov, da mu zastavimo nekaj vpra┼íanj.

Slo-Tech: Od izdaje Karmic Koale naprej Ubuntu tudi uradno podpira eCryptFS. Lahko na kratko poveste kaj to sploh je in kako deluje?

Dustin Kirkland: eCryptfs je kriptografski datote─Źni sistem, ki je v Linux jedru prisoten ┼że od razli─Źice 2.6.19. Od konkurentov, kot sta encfs in sshfs, ki delujeta s pomo─Źjo FUSE-a v uporabni┼íkem prostoru, se lo─Źi po tem, da gre za datote─Źni sistem v slojih, ki ┼íifrira vsako datoteko posebej, namesto da bi ┼íifriral celotno blo─Źno napravo z dmcryptom ali ┼íifriranim LVM-jem. Te zmogljivosti po mojem mnenju prina┼íajo ┼ítevilne zanimive prednosti in nudijo dobro re┼íitev za ┼íifriran doma─Źi imenik. Pri zagonu sistema recimo ni potrebno vna┼íanje gesla. Ker se ┼íifriranje izvaja v okviru jedra operacijskega sistema, je performan─Źni udarec manj┼íi. Kriptografski algoritmi so uveljavljeni in preizku┼íeni, saj se ┼że uporabljajo marsikje drugje v jedru. Z rsyncom ali podobnimi orodji je mo┼żno ustvarjati inkrementalne varnostne kopije na oddaljen sistem, saj ni ┼íifrirana celotna blo─Źna naprava in lahko prenesemo samo posamezne spremenjene datoteke. Iz istih razlogov tudi prostora za ┼íifrirane podatke ni potrebno dodeljevati vnaprej – ┼íifrirane datoteke se enostavno zapi┼íejo v globlje le┼że─Ź datote─Źni sistem.

Slo-Tech: Kak┼íne vrste za┼í─Źite uporabljate? Kako je ┼íifrirni klju─Ź za┼í─Źiten v pomnilniku (lahko administrator shrani vsebino pomnilnika v datoteko in iz nje izlu┼í─Źi klju─Ź)? Se uporabljajo kak┼íni ukrepi za zmanj┼íevanje u─Źinkovitosti napadov s slovarjem (npr. uporaba soli)? Kaj pa imenik /tmp?

Dustin Kirkland: Osebno vedno priklopim /tmp v pomnilnik kot tmpfs. V Ubuntuju ob vsakem ponovnem zagonu tako ali tako izbri┼íemo vsebino tega imenika. Sicer pa ima ve─Źina mojih sistemov ve─Ź kot 4 GB pomnilnika, tako da v /etc/fstab enostavno dodam ukaz: tmpfs /tmp tmpfs rw.

Kar se ti─Źe drugega dela vpra┼íanja – skrivanje podatkov pred administratorjem ali korenskim uporabnikom sploh ni cilj eCriptfsja. Njegov namen je zgolj za┼í─Źita uporabnikovih ob─Źutljivih podatkov, zapisanih na disk. ─îe i┼í─Źete na─Źin za shranjevanje podatkov tako, da bodo skriti pred administratorjem, bi potrebovali kombinacijo sistema MAC (kot na primer SELinux ali AppArmor) in ┼íifrirno re┼íitev. Sam ne poznam tovrstne re┼íitve za Linux (niti ne mislim, da je najbolj uporabna), ─Źe ne verjamete korenskemu uporabniku, imate velike te┼żave. V kon─Źni fazi bi lahko tak uporabnik enostavno namestil program za prestrezanje tipkanja in tako dobil va┼íe podatke. Ali pa jih enostavno izbrisal. Ali spreminjal. ┼ákodljivih mo┼żnosti je ogromno.

Pravi cilj eCryptfsja je za┼í─Źita va┼íih podatkov v primeru, da vam ukradejo ra─Źunalnik ali trdi disk. V tak┼íni situaciji bo tat videl samo ┼íifrirane podatke in bo moral za dostop do njih razbiti varnostni klju─Ź – tudi ─Źe uporabi LiveCD in znotraj tega okolja do va┼íega datote─Źnega sistema dostopa kot korenski uporabnik.

V privzetem sistemu Ubuntu generiramo naklju─Źen 128-bitni klju─Ź in ga “zvijemo” z va┼íim geslom za prijavo. Posledi─Źno vam za dostop do ┼íifriranih datotek ni potrebno vna┼íati nobenega drugega gesla, lahko pa tudi kadarkoli spremenite svoje geslo, ne da bi bilo treba datoteke ponovno ┼íifrirati.

To seveda pomeni, da se bo tat, ─Źe ima dostop do datoteke z ovitim klju─Źem ($HOME/.ecryptfs/wrapped-passphrase), raje lotil va┼íega gesla za prijavo, namesto da bi napadal 128-bitni klju─Ź.

Tukaj se lahko za┼í─Źitite na dva na─Źina. Najbr┼ż ni potrebno posebej poudarjati, da je dobro uporabljati mo─Źno geslo, kar velja ┼íe toliko bolj, ─Źe se ga uporablja pri ┼íifriranju va┼íih podatkov. Druga mo┼żnost pa je, da shranite zgoraj omenjeno rizi─Źno datoteko na odstranljiv medij (recimo USB klju─Ź ali SD kartico), ki ga nato ob uspe┼íni prijavi v sistem vsakokrat odstranite, na va┼í trdi disk pa enostavno postavite simboli─Źno povezavo.

Slo-Tech: Imate kak┼íne na─Źrte za implementacijo t.i. verjetnega zanikanja?

Dustin Kirkland: ┼Żal ne. ─îe bi bil kdo pripravljen implementirati funkcionalnost in pripraviti dober popravek, sem ga sicer pripravljen pregledati in vklju─Źiti v kodo, sam pa tega ne nameravam storiti.

Seznanjen sem s tem, da druge podobne re┼íitve verodostojno zanikanje omogo─Źajo in da se ve─Źina uporabnikov zanima zanj predvsem zato, da bi la┼żje preslepili varnostne slu┼żbe na letali┼í─Źih in mejnih prehodih. Mene to ni nikoli zanimalo. ┼Żal.

─îe ste v situaciji, kjer predstavnik oblasti ho─Źe va┼íe podatke, lahko ali pridobi sodno odredbo za va┼íe pravo geslo, ali pa vam nameri pi┼ítolo v poga─Źico. V nobenem primeru vam ┼íe tako napredna programska oprema ne bo pomagala.

Slo-Tech: V prej┼ínjih izdajah Ubuntuja je eCryptFS ┼że bil na voljo, vendar zgolj za testiranje. Odkritih je bilo nekaj resnih ranljivosti, npr. imena datotek niso bila ┼íifrirana. Ste od takrat izvedli kak┼ína varnostna testiranja ali dali sistem v vpogled varnostnim strokovnjakom?

Dustin Kirkland: Omenjene o─Źitke odlo─Źno zavra─Źam, odsotnost kriptiranih imen datotek ni bila ranljivost, ampak zgolj ┼żelena funkcionalnost, ki ┼íe ni bila prisotna. Dodana je bila v novej┼íi izdaji Linux jedra.

V za─Źetku je eCryptfs razvijal IBM-ov Linux Technology Center, v glavnem je na tem delal Michael Halcrow. Trenutno je vzdr┼żevalec eCryptFS funkcionalnosti Tyler Hicks iz IBM-a, medtem ko sam vzdr┼żujem uporabni┼íki prostor. IBM ima dolgo zgodovino razvoja odli─Źnih datote─Źnih sistemov za Linux, Unix in Mainframe, kot tudi pionirstva na podro─Źju moderne kriptografije (V vednost: Preden sem se pridru┼żil Canonicalu, sem 8 let delal za IBM).

Tako zaposleni pri Canonicalu kot ─Źlani skupnosti Ubuntu smo eCryptFS obse┼żno preizkusili. Red Hat je prav tako vlo┼żil kup napora v njegovo testiranje in utrjevanje za uporabo v RHEL5 (hvala, fantje!). Na svojem blogu sem organiziral ve─Ź izzivov, v katerih sem prosil ljudi, naj razbijejo razli─Źne implementacije sistema, pri ─Źemer je vsak zmagovalec prejel simboli─Źno nagrado. Tudi s to metodo je bilo odkritih nekaj zanimivih hro┼í─Źev, od katerih so bili vsi kriti─Źni nemudoma odpravljeni, ostalo je le ┼íe nekaj manj pomembnih, za katere vemo in jih spremljamo.

Slo-Tech: Kako je z obnavljanjem ┼íifrirnega klju─Źa (v primeru, da nekdo pozabi svoje geslo)? Obstaja kak mehanizem (tim. key escrow) za izdelavo varnostne kopije le-tega?

Dustin Kirkland: Venomer ponavljamo, da si mora uporabnik generirani klju─Ź zapisati in ga shraniti na varno mesto. Jaz sem si svojega natisnil in shranil v sef na banki. Prav tako imam na varnem mestu shranjeno digitalno kopijo.

Slo-Tech: Kaj se zgodi, ko uporabnik spremeni svoje geslo za prijavo. Ali je mo┼żno, da kopija prej┼ínjega klju─Źa ali njegovega dela ostane zapisana na tim. praznem delu trdega diska, ki ┼íe ni bil prepisan?

Dustin Kirkland: Ko uporabnik spremeni geslo, enostavno uporabimo pam_ecryptfs za ponovno generiranje kombinacije naklju─Źno generiranega klju─Źa in gesla.

Slo-Tech: Je mo┼żno uporabnikov klju─Ź za eCryptFS povezati z drugimi moduli za avtentikacijo, kot sta na primer LDAP ali enkratno geslo? Kaj se zgodi, ─Źe administrator nato spremeni LDAP geslo?

Dustin Kirkland: ┼áifriranega doma─Źega imenika ┼íe nisem preizku┼íal v kombinaciji z LDAP-om, zato nisem prepri─Źan, kako dobro, ─Źe sploh, tak┼ína kombinacija deluje.

─îe administrator spremeni uporabnikovo geslo (pri ─Źemer ne vnese njegovega starega gesla), se ┼íifrirani doma─Źi imenik ne bo avtomatsko priklju─Źil takoj ob zagonu.

V tem primeru se mora uporabnik prijaviti in s pomo─Źjo ukazov ecryptfs-rewrap-passphrase ali ecryptfs-wrap-passphrase ponovno ustvariti kombinacijo naklju─Źno generiranega klju─Źa in gesla. Priznam, malce neprakti─Źno, ampak upam, da gre za robni primer.

Slo-Tech: Kaj pa izmenjevalna particija?

Dustin Kirkland: ┼áifriranje izmenjevalne particije je kriti─Źnega pomena za katerikoli sistem, kjer se izvaja kakr┼ínokoli ┼íifriranje, ne le za eCryptfs.

─îe Ubuntu namestite z uradnega CD-ja in pri tem ozna─Źite, da bi ┼żeleli ┼íifriran doma─Źi imenik, bo va┼ía izmenjevalna particija avtomatsko ┼íifrirana s pomo─Źjo dmcrypta in ob zagonu naklju─Źno ustvarjenega klju─Źa. S tem vam ni treba vna┼íati gesla ob vsakem zagonu, bo pa onemogo─Źena hibernacija sistema (spanje ┼íe vedno deluje).

Osebno sploh ne uporabljam izmenjevalnega prostora. ─îe moram izmenjevati podatke na trdi disk, zmogljivost mo─Źno trpi, tako da raje dodam ve─Ź pomnilnika v sistem :-).

Slo-Tech: Velika prednost eCryptFS-ja je nedvomno njegova primernost za ve─Źuporabni┼íka okolja, kljub temu pa ne┼íifrirana korenska particija ┼íe vedno ostaja te┼żava. Nameravate v prihodnjih izdajah Ubuntuja ponuditi ┼íifriranje datote─Źnih sistemov s pomo─Źjo LUKS-a (Debian to mo┼żnost ob namestitvi ┼że ima)?

Dustin Kirkland: Tudi Ubuntu ponuja ┼íifriranja datote─Źnega sistema LUKS v alternativni in stre┼żni┼íki namestitvi. Uporabniki, ki jih naprednej┼ía namestitev ne moti, lahko omenjeno funkcionalnost ┼że sedaj brez te┼żav uporabljajo. ┼áifriran LVM + LUKS je definitivno bolj celovita ┼íifrirna re┼íitev, saj ┼íifrira celoten trdi disk.

┼áe vedno pa ima nekatere pomanjkljivosti, ki so z na┼íim ┼íifriranjem doma─Źega imenika re┼íene. Geslo moramo recimo vnesti ┼że pred samim zagonom. V zadnjem ─Źasu se trudimo, da bi izbolj┼íali ─Źas zagona sistema, a ─Źe je treba ─Źakati na vnos gesla, je ves ta trud zaman.

Prav tako zna biti zadeva neprakti─Źna v stre┼żni┼íkih centrih, kjer direkten dostop ve─Źino ─Źasa ni mo┼żen in je treba sisteme zagnati na daljavo. Neugodno je, da morajo geslo poznati prav vsi uporabniki, ki ┼żelijo izvesti ponovni zagon.

Kot sem ┼że omenil, je s tovrstnim na─Źinom ┼íifriranja tudi nemogo─Źe delati varnostne kopije druga─Źe, kot za celo napravo naenkrat. Za konec velja omeniti ┼íe performan─Źne izgube – obstaja namre─Ź ogromno podatkov, ki niso nikakor ob─Źutljivi (recimo vsebina /usr/bin in /lib) in jih nima smisla ┼íifrirati.

Slo-Tech: Najbr┼ż vam je znan napad zlobne sobarice (tim. Evil Maid attack) in ostali bootkit napadi. Ali obstajajo kakr┼ínikoli na─Źrti za omejevanje teh napadov? Na primer: hranjenje zagonske particije na zunanji napravi, ┼íifriranje korenske particije s pomo─Źjo LUKS-a, preverjanje integritete zagonskih skript, itd.

Dustin Kirkland: Da, omenjeni napadi so mi znani, a nimam nikakr┼ínih namenov, da bi se ukvarjal z njimi. Po mojem mnenju jih je najbolj smiselno re┼íevati predvsem s pazljivostjo pri fizi─Źnem nadzoru sistemov, ne pa s predizajniranjem programskih re┼íitev. Pri tem bi lahko bil koristen TPM, ali pa, kot ste sami rekli, uporaba /boot particije na USB klju─Źu. Gotovo obstaja ciljna publika, ki bi s tem kaj pridobila, a ve─Źine Ubuntu uporabnikov se tovrstni problemi ne dotikajo.

Slo-Tech: Palimpsest, novo diskovno orodje v Gnomeu, sedaj podpira ┼íifrirane particije. ┼Żal je njihova uporaba mo┼żna zgolj z geslom, ne pa tudi z datoteko s klju─Źem. Enako velja za orodje GNOME mount. Nam lahko poveste, ─Źe se bo to v bli┼żnji prihodnosti spremenilo?

Dustin Kirkland: ┼Żal o tem ne vem ni─Ź.

Slo-Tech: ─îisto prakti─Źno vpra┼íanje – ko sem posku┼íal ustvariti novega uporabnika v Ubuntuju, nisem imel na voljo opcije za ┼íifriran doma─Źi imenik. Zakaj je temu tako?

Dustin Kirkland: Predvidevam, da govorite o grafi─Źnem vmesniku. V ukazni vrstici lahko uporabite ukaz: $ sudo adduser -encrypt-home in va┼í problem bo re┼íen. V bistvu gre za funkcionalnost, ki obstaja in deluje, potrebno jo je le integrirati v GUI. Sam sodelujem pri razvoju Ubuntu Serverja, ki nima grafi─Źnega upravitelja oken, tako da se na─Źeloma izogibam orodjem z grafi─Źnimi vmesniki ;-)

Slo-Tech: Od izdaje Karmic Koale je v Ubuntuju na voljo tudi Ubuntu One. Lahko na kratko razlo┼żite, za kaj gre? Najbolj me zanima tehnologija v ozadju (je NFS?).

Dustin Kirkland: Ubuntu One je oddaljena re┼íitev za shranjevanje podatkov v oblaku, ki je tesno povezana z namizjem Ubuntu, podobno kot DropBox. Vsi uporabniki Ubuntuja imajo brezpla─Źno na voljo manj┼ío kapaciteto za shranjevanje datotek (mislim, da 2 GB), po ┼żelji pa lahko najamejo tudi ve─Ź prostora (do 50 GB) kot dodatno storitev. ─îe uporabljate ve─Ź sistemov z Ubuntujem in ┼żelite z vseh dostopati do svojih podatkov, je storitev gotovo zelo uporabna. O tehni─Źni implementaciji ne vem prav dosti, ampak ne gre za NFS. Sistem bazira na FUSE.

Slo-Tech: Tahoe-LAFS je datote─Źni sistem za uporabo v oblaku, ki ponuja ┼íifriranje in zanimive mo┼żnosti za re┼íevanje podatkov, v Ubuntuju 9.10 so ┼że na voljo binarni paketi za namestitev. Ali so v na─Źrtu GUI orodja za ustvarjanje zasebnih oblakov (┼íifriranih pomnilni┼íkih naprav)?

Dustin Kirkland: Pomagal sem pri preizku┼íanju Tahoe-LAFS in sodeloval z njegovimi razvijalci, da se ga je lahko vklju─Źilo v Karmic Koalo, ampak kot sem ┼że omenil vi┼íje, se posku┼íam izogibati orodjem z grafi─Źnimi vmesniki, tako da o omenjenih na─Źrtih ne vem prav dosti.

Slo-Tech: Kaj pa periferne naprave, kot so USB klju─Źi? Je podpora za eCryptFS ┼íifriranje v na─Źrtu tudi zanje? Kaj pa Cryptsetup-LUKS podpora (s kak┼ínim orodjem z grafi─Źnim vmesnikom)?

Dustin Kirkland: Trenutno nimam posebnih na─Źrtov za integracijo USB pomnilni┼íkih naprav in eCryptFS-ja, bom pa funkcionalnost z veseljem preizkusil in vklju─Źil, ─Źe jo razvije kdo drug.

Na Cryptsetup-LUKS in grafi─Źnih orodjih pa ne delam, tako da o tem res ne morem dosti povedati.

Slo-Tech: Ubuntu nima privzetega orodja za izdelavo varnostnih kopij. Ga nameravate v prihodnje vklju─Źiti in ─Źe, katerega (SBackup, Grsync, time-drive (Duplicity vmesnik))? Katerega bi sami priporo─Źali?

Dustin Kirkland: Sam uporabljam kar cron + rsync + ssh. Ubuntujevo uradno orodje za omre┼żne varnostne kopije, re┼íevanje in preverjanje podatkov je sicer Bacula.

Slo-Tech: Francoska policija ravno izvaja prehod na Ubuntu. Najbr┼ż bodo imeli tudi nekaj posebnih zahtev, kot so strojni ┼żetoni in pametne kartice za shranjevanje ┼íifrirnih klju─Źev. Kako dobro so tovrstne naprave podprte v Ubuntuju?

Dustin Kirkland: Tak┼ínih specifi─Źnih zahtev zaenkrat ┼że nisem videl, poznam pa ljudi, ki uporabljajo pametne kartice za svoje SSH in GPG klju─Źe v Ubuntuju. Sam nimam ─Źitalca, tako da ne morem deliti osebnih izku┼íenj.

Slo-Tech: ┼áe zadnje vpra┼íanje: kak┼ína je uradna politika Ubuntuja do ┼íifrirarnja? Obstaja uradna podpora in na─Źrti za investicije na tem podro─Źju ali je vse skupaj bolj zanimiva dodatna funkcionalnost, katere implementacija in zmogljivost je bolj odvisna od osebnih preferenc posameznih razvijalcev?

Dustin Kirkland: Varnost je absolutno kriti─Źnega pomena za Canonical in Ubuntu, ┼ítevilne varnostne funkcije so ┼że privzeto omogo─Źene (nobenih odprtih vrat, avtentikacija na podlagi uporabni┼íkih vlog, avtomatske varnostne posodobitve, varnostno utrjevanje jedra in prevajalnikov, UFW, AppArmor) in jih uporabniki dobijo avtomatsko.

Ve─Ź o tem: http://www.ubuntu.com/products/whatisub...

┼áifriranje pa bo po drugi strani najbr┼ż ostalo nekaj, kar ljudje po ┼żelji dodajo svoji varnostni konfiguraciji. Pa─Ź ni za vse – in to pravim jaz, eden najve─Źjih zagovornikov in glavnih razvijalcev kriptografskih sistemov v Ubuntuju. Veliko ljudi enostavno nima podatkov, katerih varnost in tajnost je kriti─Źna. Ali pa nikoli ne potujejo s svojim ra─Źunalnikom. Ali pa je le-ta komajda zmo┼żen poganjati sistem ┼że brez ┼íifriranja.

Kljub temu ┼żelimo, da ┼íifriranje ostane resna opcija za vse uporabnike Ubuntuja. Nadaljevali bomo z inovacijami, ki po eni strani omogo─Źajo enostavno uporabo in po drugi strani za to ne tvegajo varnosti.

Slo-Tech: Hvala za vaše odgovore.

Intervju s Philipom Zimmermannom

Intervju s Philipom Zimmermannom

Philip Zimmermann je avtor šifrirnega programa (za šifriranje datotek in elektronske pošte) PGP (Pretty Good Privacy). Prvo različico programa je napisal leta 1991, program je tekel na popolnoma običajnih računalnikih PC in je bil za tedanje standarde uporabniške ...

Preberi cel članek »

Šifriranje nosilcev podatkov v okolju Linux in Windows

Šifriranje nosilcev podatkov v okolju Linux in Windows

Cryptography is a data-protection technology just as gloves are a hand-protection technology. Cryptography protects data from hackers, corporate spies and con artists, whereas gloves protect hands from cuts, scrapes, heat, cold and infection. The former can frustrate FBI wiretapping, and the latter can ...

Preberi cel članek »

Vzpostavitev v celoti šifriranega sistema

Vzpostavitev v celoti šifriranega sistema

Priporočamo, da si najprej preberete članek z naslovom: [st.povezava /clanki/07003 Šifriranje nosilcev podatkov v okolju Linux in Windows]. Opozorilo: Uporaba spodaj opisanih postopkov lahko privede do resne izgube podatkov ali do okvare sistema. V nekaterih nedemokratičnih državah je osebna uporaba ...

Preberi cel članek »

Pogovor z Gorazdom Božičem, vodjo Si-CERT

Pogovor z Gorazdom Božičem, vodjo Si-CERT

Področje računalniške varnosti postaja čedalje bolj pereč problem, s katerim se v zadnjem času ukvarjajo tudi policija, tožilstvo in sodstvo. Računalniški strokovnjaki pa se s temi problemi srečujejo že dlje časa. Eden takih je tudi Gorazd Božič, ...

Preberi cel članek »

Interview with Dustin Kirkland, Ubuntu Core Developer about encryption in Ubuntu

Interview with Dustin Kirkland, Ubuntu Core Developer about encryption in Ubuntu

Dustin Kirkland is an Ubuntu Core Developer, working for Canonical on the Ubuntu Server. His current focus is developing the Ubuntu Enterprise Cloud for the Ubuntu 10.04 LTS release, but previously he had worked on a number of Ubuntu features and packages, including Ubuntu's Encrypted Home Directories. ...

Preberi cel članek »