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