RE: totální destrukce dat na HDD
Thomas Shaddack
hwnews@shaddack.mauriceward.com
Pondělí Červenec 5 23:56:50 CEST 2004
> No, debata je sice off-topická, ale když už...
>
> Kódování je jistě možnost. Jenže má v obecné rovině několik háčků.
V prakticke rovine taky.
> 1. Bez použití hardwarového šifrovacího kontroléru je šifrovaný disk
> jednak pomalý a druhak nelze šifrovat všechno. Typická konfigurace, kdy
> data jsou na šifrovaném disku (třeba i na síti) a přístupuje k nim
> stanice, vede k příšerným indiskrecím třeba v temporary adresářích nebo
> v souboru virtuální paměti (mluvím o Windows).
> Pokud se má šifrovat všechno (tedy systém i swap), musí být disk kódován
> hardwarově pod úrovní OS.
(Jde to i softwarove, a pry i docela rychle pri dnesnich rychlostech CPU,
ale neni to tak spolehlive. Z neceho se musi nastartovat, a to nemusi byt
vzdycky tak uplne trusted medium. Mozna by pomohlo bootovat pocitac z
read-only media, napr. z CD, natahnout kernel z nej, a pak teprve
pokracovat z vlastniho disku. Ale pro windoze to chodit asi nebude.)
Otazka pro zdejsi experty: Jak slozite je navrhnout zarizeni, ktere sedi
mezi diskem a radicem na ATA kabelu a prohani sektory pro cteni a zapis z
disku skrz AES core? (Podotykam, ze dokoncene AES core pro FPGA je k
dispozici na opencores.org, takze se samotnym sifrovacim jadrem zde neni
problem.) Mohlo by jit o FPGA co bude slouzit jako "transparentni proxy"
pro prikazy a data, odchytavat si cisla sektoru ktere cte a zapisuje
(cisla sektoru musi byt pouzita jako inicializacni hodnota pro dany
512-byte sektor, ktery je pak zasifrovan ve vhodnem modu, napr. CBC) a
transparentne je bufferuje a zpracovava? Disky jsou myslim schopny
cist/psat sekvencne i vic sektoru najednou, ale snad jenom maximalne 16
sektoru, coz znamena, ze mame max. 8 kilobyte na buffer ktery potrebujeme
na vlastni data.
Klic by se mel do zarizeni vlozit po resetu z externiho zarizeni (at mame
oddelenou funkci spravy (a eventuelni likvidace) klice a funkci vlastniho
zabezpeceni dat), napr. pres I2C. Pred vlozenim klice by melo zarizeni
simulovat pevny disk, specificky jeho bootsektor, a nabidnout bootovaci
rutinu co pozdrzi boot, autorizuje uzivatele, a rekne zarizeni co spravuje
klic ze jej smi vydat (detaily mohou byt ruzne a mohou zaviset na kodu
dotycneho bootbloku, a mohou i napr. obsahovat kontrolu firmware systemu
proti naruseni). Po odemceni disku se boot opakuje, tentokrat s
"opravdovym" diskem. (Druhou, o neco mene bezpecnou ale za to jednodussi,
variantou je vybodnout se na ROM a nesifrovat nultou stopu a kod mit tam v
ramci napr. lilo nebo grub boot stubu. Nebo bootovat z CDROM, jak
naznaceno vyse.)
Vlastni kryptograficky system by mel byt co nejjednodussi, bez
bells'n'whistles, aby se dal dobre otestovat a pouzit jako blok. Vzhledem
k relativni sile modernich algoritmu bude system zranitelny nikoliv pres
vlastni sifru, ale v jejim okoli; nejzranitelnejsi jsou ulozeni a sprava
klice, a autorizace uzivatele klice. Design kryptografickeho jadra by mel
toto zohlednovat a umoznit vyvojarum specifickych aplikaci plne se
soustredit na tuto cast problematiky.
Panove experti, zni to realne a nejak rozumne jednoduse? Kdo z vas se v
IDE vyzna natolik, aby dokazal predvidat, jake naslapne miny budou v
problematice zakopane? Jaky je to asi rozsah prace pri pouziti veskereho
open-source dostupneho kodu (podotykam opet ze opencores.org je neco jako
sourceforge.net pro FPGA cipy (ma s nimi nekdo jinou nez jen teoretickou
zkusenost?))? Neni jednodussi navrhnout primo PCI-IDE radic s touto
podporou, nebo PCI karta vyjde plusminus nastejno jako desticka k disku?
> 2. Zničení klíče není vždy až tak úplně samospasitelné. Např. v UK již
> tento případ byl posuzován a soud dospěl k precedentu, že pokud
> podezřelý zničí klíč k šifrovanému souboru, postupuje se stejně jako
> kdyby zničil klíč od sejfu který tím pádem nelze otevřít a prozkoumat. V
> takovém případě je podle anglosaského práva platného v UK podezřelý
> automaticky vinen v plném rozsahu obžaloby. Je to sice divné, ale je to
> tak.
A to si rikaji pravni stat? Banda parchantu je to. Ale i to (specificky
R.I.P. Act) se da osetrit nebo obejit.
Proto je nutne likvidaci klice automatizovat. Stroje pod palbou (ev. pri
hrozbe pravnikem) nevymeknou, na rozdil od jejich obsluhy, a pak uz musi
byt prilis pozde na to, aby vyhruzky fungovaly; v okamziku, kdy kuklaci
vykopavaji dvere, klic musi jit do kytek automaticky - samotny pokus o
nasilne vniknuti do zabezpecene zony vydava destrukcni povel. Jedna strana
sice ztrati, ale druha nic neziska; postup nikoliv nepodobny obetovani
figury v sachu pro zachranu ostatnich figur a eventuelne i cele partie.
Implementacni detaily systemu tohoto typu pak zalezi na konkretnim modelu
ohrozeni a na vysi sazek. (Zalohovani klice m-of-n modelem, kde fragmenty
klice spravuji pratele z jinych jurisdikci, kdo si mohou bez nasledku pro
ne samotne zvolit s Protivnikem, zde reprezentovanym britskou vladou,
nespolupracovat, pak slouzi jako opatreni proti ztrate vseho pri spusteni
systemu omylem nebo chybou, a prenasi cast zodpovednosti na lidi mimo
dosah dotycneho soudu, coz se muze stat vysokokaliberni munici v rukach
dobreho pravnika.)
Take lze podobny trik uplatnit v ramci steganografickeho filesystemu;
pritomnost dat v jinych datech se pri vhodnem algoritmu soudu dokazuje
dost blbe. Ale je potom potreba mit nejake hobby, ktere by zduvodnovalo,
proc ma clovek stovky gigabyte WAVu nebo neprilis komprimovaneho videa; i
mizerna garazova kapela pak muze mit intelligence-grade vyznam. Je to sice
pomale a musi se to delat softwarove, ale skutecne kritickych dat obvykle
nebyva objemove zase az tak moc.
Dalsi moznost je mit dataserver v odlisne jurisdikci, a pristupovat k nemu
pomoci sifrovaneho spojeni. SSL ma nektere cipher-suites, ktere vyuzivaji
Diffie-Hellmanovu vymenu klice, a vlastni mistni RSA klic pak pouzivaji
jenom na podepsani session klice a potvrzeni ze na spojeni neprobiha MITM
utok. Jelikoz z principu zde klic pri uzavreni spojeni zanika a v zadnem
okamziku neni ulozen jinde nez v RAM (poznamka: mlock() tu cast pameti at
se nahodou neswapne), neni mozne jej nijak rozumne vyzadat. Pokud jsou
veskere operace provadeny na pocitaci mimo jurisdikci UK, napr. pomoci ssh
nebo xterm-over-ssh, ma Protivnik tak trochu utrum, pokud neumi
faktorizovat prvocisla, tj. pokud nema funkcni a vykonny kvantovy pocitac.
(Pak uz nam pomuze jenom Vernamova sifra, alias one-time pad.) DH je
velice mocna zbran proti real-time smirakum, ale bohuzel nepomaha proti
ulozenym datum, kde stale potrebujeme mit nekde ulozeny symetricky klic.
Pouzite technologie by optimalne mely byt totozne s technologiemi
standardniho zabezpeceni dat pouzivanymi bankami a megakorporacemi; pak
jejich lobbysticke zdroje budou hrat pro nas pri jejich udrzovani v
legalite a pri sile.
Mozna bych mel na tu paranoiu zacit brat prasky. Nebo aspon prestat cumet
na Bondovky. Nebo aspon necist noviny...
Doporucena literatura:
Steven Levy: Crypto (obecna historie vyvoje moderni kryptografie,
jednoduche cteni pred spanim)
Bruce Schneier: Practical Cryptography (technologicke implementacni
detaily, na rozdil od Applied Cryptography neobsahuje odstrasujici
mnozstvi matematiky)
Whitfield Diffie a Susan Landau: Privacy on the line - The Politics of
Wiretapping and Encryption (politicke vztahy technologie)
...a mnoho dalsich co jsem jeste necetl ale mel bych...
>
> Zdraví PavelK
>
> > -----Original Message-----
> > From: hw-list-bounces@mailman.nethouse.cz
> > [mailto:hw-list-bounces@mailman.nethouse.cz] On Behalf Of
> > David Belohrad
> > Sent: Monday, July 05, 2004 3:03 PM
> > To: [HWnews]
> > Subject: Re: totální destrukce dat na HDD
> >
> >
> >
> > >Vzhledem k tomu, že destrukce proběhne během 3s, tak pokud ten disk
> > >nerozmontuje a nějak neupraví, tak je to blbost, protože během takto
> > >krátké doby je jediná možnost zničit všechny plotny disku,
> > nic jinýho
> > >tak rychle data nenávratně nezničí. Ještě mě napadla jedna věc a to
> > >donutit čtecí
> > >
> > >
> > Ale vzdyt tady jiz kolega rekl, ze nejjednodussi moznost je
> > pouzit jedno
> > z kodovani. Ackoliv AES
> > je nejrozsirenejsi, existuje jeste jine algoritmy (twofish,
> > blowfish...). V tomto pripade bez znalosti klice si muze
> > kazdy zkouset co chce. Navic v okamziku, kdy behem tech 3
> > sekund jeste nejak premazete
> > partition table, pripadne rozhodite nekde
> > par nahodnych kilobyte, nikdo se niceho nedohleda.
> > --
> > mimo jine jsou cryptovaci algoritmy soucasti linuxoveho
> > kernelu, takze
> > Vam nic nebrani si to vyzkouset. Ja uz to
> > pouzivam ke sve plne spokojenosti velmi dlouho.
> > d.
> >
> > _______________________________________________
> > HW-list mailing list - sponsored by www.HW.cz
> > HW-list@mailman.nethouse.cz
> > http://nethouse.cz/mailman/listinfo/hw-list
> >
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> HW-list@mailman.nethouse.cz
> http://nethouse.cz/mailman/listinfo/hw-list
>
Další informace o konferenci Hw-list