Elektronický klíč se snadnou možností destrukce ?

Thomas Shaddack hwnews@shaddack.mauriceward.com
Sobota Březen 11 08:45:57 CET 2006


Dovolim si trochu zauvazovat. Modul by mel byt zabezpeceny na nekolika 
urovnich.

Na urovni cipu samotneho nemame sanci s nasim rozpoctem neceho 
vyznamnejsiho dosahnout. Pouzijme tedy reseni jiz aplikovana v jinych 
podobnych kontextech, tedy cipy pro smart karty. Na prvni pohled takovy 
Atmel AT90SC6464C-USB vypada zajimave, s hardwarovou podporou pro RSA, 
AES, a SHA256, hardwarovym generatorem nahodnych cisel, a interfacem pro 
USB.

Dalsi uroven zalezi na ulozeni citlivych dat v RAM. Jelikoz data maji 
urcitou trvanlivost i po vypnuti, je treba je v pameti obcas presoupavat 
sem a tam. Jelikoz klic potrebujeme relativne maly (napr. 256 bitu), a 
pameti mame spoustu, muzeme pouzit kombinace n bytu v pameti a pocitat z 
nich treba paritu, a postupne je v nahodnem poradi prehazovat nebo XORovat 
mezi sebou. Zde je treba dat pozor na to, aby prislusne operace byly pokud 
mozno co nejpodobnejsi mezi sebou z hlediska odberu proudu, nezavisle na 
obsahu pametovych bunek; tim zabranime tomu, aby se obsah paneti dal 
neprimo odvodit z elektromagnetickych emisi cipu nebo z jeho odberu 
proudu. Jelikoz cip musi tohle provozovat nonstop, spolu s par dalsimi 
vecmi, takze modul musi obsahovat vlastni napajeni, nejlepe lithiovou 
baterii.

Zarizeni dale musi byt nepruhledne pro rentgen, nebo detekovat pokus o sve 
prosviceni. (Vychazime z toho, ze protivnik bude chtit vedet co je v 
zarizeni nez se ho pokusi napadnout. Ted neuvazujeme jine vektory utoku, 
napr. utok na cloveka.) Kombinace fototranzistoru s luminoforem citlivym 
na vysokoenergeticke fotony, jako klasicky scintilacni detektor, by zde 
mohla pomoct. Test by mel jit docasne vyradit zadanim kodu, alespon v 
pripade, ze to chceme prevazet letadlem.

Klic samotny musi byt bezpodminecne chranen PIN kodem. Jeho 
nekolikanasobne nespravne zadani zpusobi likvidaci klice.

Klic vcetne zdroje musi byt zality do pryskyrice. Mel by byt schopny 
detekovat pokus o naruseni pryskyrice, napr. pokus o odbrouseni nebo 
odleptani; napajeni mezi baterii a procesorem by se treba dalo vest 
tenkymi draty mnohonasobne omotanymi kolem jednotky predtim nez se tato 
zalije do nepruhledne pryskyrice. 

Tamper-resistant moduly se delaji i tak, ze se pouzije hermeticke pouzdro 
pod tlakem naplnene dusikem, a ztrata tlaku uvnitr se vyhodnoti jako 
otevreni pouzdra.

Likvidaci klice mozno provest dale i "na zadost", napr. stiskem tlacitka 
destrukce. Procesor pak zapomene svoji RAM a premaze ji nahodnymi cisly.

Dalsi moznost zahrnuje primou termalni likvidaci cipu. Zde bych doporucil 
pecku pyrotechnicke sloze typu termit, z obou stran cipu, obalene 
nehorlavou tepelnou izolaci. Chceme prenest maximum energie na cip a 
minimum do okoli. Sloz by mela mit vhodnou rychlost horeni aby nedoslo k 
detonaci. Samotny hlinik nebo horcik je zde nevhodny, nebot k horeni 
potrebuje kyslik; smes s vlastnim okyslicovadlem umozni kompletni zaliti 
sestavy do pryskyrice. Dostatecne tlusta vrstva pryskyrice spolu s kovovou 
krabickou uvnitr (ktera zaroven muze slouzit jako elektromagneticke 
stineni) pak udrzi vetsinu tepla uvnitr a zabrani roztrzeni sestavy pri 
horeni sloze a uvolneni plamene ven. Zapaleni sloze muze byt reseno 
elektricky, nebo mechanicky (rozbitim ampule s necim co zpusobi 
samovzniceni sloze a prenos plamene do vnitrku sestavy). Tohle by se mozna 
dalo taky realizovat vytrzenim pojistky privazane na tkanicku, a pouzitim 
stejneho systemu roznetky jako se pouziva v handgranatech. Pripojeny 
spinac zaroven muze aktivovat softwarove zapomenuti klice; pokud alespon 
jeden ze systemu neselze, bude po klici.

Napad s pouzitim zlomitelneho mini-CD by mohl byt pouzitelny tez. Ovsem 
jako klic je nutne pouzit nejaky dlouhy soubor, ze ktereho pak kratsi klic 
ziskame jako jeho hash. Pri ztrate dostatecneho mnozstvi bitu souboru, 
napr. toho co bylo v miste zlomu, pokud toto nebude zachraneno pomoci 
error-correcting mechanismu media, pak nedojde k vyznamnejsimu oslabeni 
klice ani pri zachrane zbytku souboru.

Hash muze byt spocitan v modulu samotnem, nakrmenem souborem z CD. Tento 
soubor bude pridan k informaci skryte v RAM modulu a k PINu, a z nich bude 
spocitan hash slouzici jako klic. Pokud cokoliv z dat nutnych pro vstup 
nebude v poradku, vypadne nepouzitelny nesmysl.

Zadavani PINu je vhodne resit na modulu samotnem, cimz se omezi moznost 
oslabeni systemu pomoci infikovani host pocitace keyloggerem a ziskani 
PIN. Pozor na odposlechnuti cvakani klaves nebo na pinhole videokamery. 
Vzhledem k urovni protivnika pozor i na elektromagneticke emise.

Vzhledem k hardwarem akcelerovanym sifrovacim algoritmum muze modul i
slouzit jako externi sifrovaci system pocitace; pak klice v nem ulozene 
nebo vygenerovane nemusi v plaintextove forme vubec modul opustit.



Netusim jak tu biometriku udelat spolehlive. Nejsem si jisty jestli to uz 
je dostatecne zrala technologie.



Ovsem kolegove zde meli pravdu: nejslabsim clankem zustane clovek. Viz tez 
"rubberhose cryptanalysis". Kazdy po case podlehne dostatecne silnemu 
natlaku; castecnou ochranou by mohlo byt vyzadovani periodickeho zadani 
reaktivacniho kodu, kde dele nez 24 hodin bez reaktivacniho klice zpusobi 
zapomenuti klice. Coz muze zpusobit dalsi potize, ale je to neco za neco.


Detaily budou zalezet na konkretni aplikaci.





On Thu, 9 Mar 2006, Pavel Kořenský wrote:

> Zdravím,
> 
> mám jeden trochu podivný dotaz.
> 
> 1. Předpokládejme, že máme počítač a na něm jsou nějaká šifrovaná data.
> 
> 2. K datům se může oprávněná osoba dostat jen tehdy, pokud použije heslo
> (psané na klávesnici), biometrickou informaci (otisk prstu) a současně
> něco jako "klíč" (karta, flash na USB atd.) Pokud neexistuje současná
> kombinace hesla, biometriky a "klíče", jsou data nepřístupná.
> 
> 3. "Klíč" musí oprávněná osoba nosit u sebe. Mělo by to být něco malého
> a snadno nositelného např. v peněžence, na krku, na ruce, v kapse...
> 
> 4. Je nutné, aby v případě potřeby měla oprávněná osoba možnost
> deaktivace "klíče" během několika sekund a bez použití nějakých
> externích prostředků.
> 
> 5. Deaktivace "klíče" musí být absolutní v tom smyslu, že po deaktivaci
> z něj není možné získat (za jakoukoli cenu) informace, které by mohly
> vést k dekódování počítačových dat bez "klíče". Samotný "klíč" nemusí
> být fyzicky zničen, stačí když prostě nebude fungovat a nikdo z něj nic
> nepřečte ani kdyby měl k disposici vládní rozpočet v řádu procent HDP.
> 
> 6. "Klíč" se musí připojovat na PC kompatibilní počítač (typicky
> notebook) přes nějaké běžné rozhraní typu USB nebo tak podobně.
> 
> 
> Napadá někoho jak tenhle problém řešit ? Co použít jako "klíč" ?
> 
> 
> Zdraví PavelK
> 
> P.S. Prosím jen vážné odpovědi. Nejde o hru na Jamese Bonda, ale o
> konkrétní zadání a nejsem si jist, jestli se do toho vůbec mám pouštět.
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 


Další informace o konferenci Hw-list