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