Keeloq oslabeny

Petr Zahradnik clexpert@clexpert.cz
Sobota Září 15 15:05:18 CEST 2007


Puvodni zprava ze dne 14.9.2007 od Jiri Bezstarosti:

> Nakonec nejlepsi ochrana je ta, ke ktere vubec nikdo nevi, jak je
> udelana a nebo nemuze nikdy tusit ani vypocitat, jak to dale
> pokracuje ;). Nejhorsi k prorazeni cehokoli je stav, kdy ma clovek
> treba nejaky kus proudu dat, ale ma velice malo informaci o tom, o
> co ze to vlastne jde a jak to cele funguje.

To je velmi mylna predstava. Muze se sice zdat, ze v pripade utajeni
algoritmu ma utocnik o jeden problem navic, ale to je jen laicky
nazor. Casem se prislo na to, ze daleko lepsi je verejny algoritmus
poradne overeny kryptografy a kryptoanalytiky, kdy pak je to opravdu o
slozitosti vypoctu a/nebo o sile dane sifry, klice apod.

> Dle meho nazoru, pokud bych delal zabezpeceni ciste pro sebe,
> nerespektoval bych vubec nic, udelal bych si to naprosto po svem.

Tak by se snadno mohlo stat, ze to ve vysledku bude stat uplne za prd.
Mnohokrat se to stalo i erudovanym odbornikum, ze vytvorili spatny
sifrovaci algoritmus, spatny hashovaci algoritmus atd. Pak lze snadno
utocit treba na nektere S-boxy, lze snadno provadet ruzne jine
analyzy, dochazi k castym kolizim...

Samozrejme, kdyz si budes delat nejakou ptakovinku, kde se zadne
opravdove utoky nepredpokladaji, neni to zadny problem, leckoho ocuras
i pouhym XORem. Pokud by to ovsem melo za neco stat, pak je daleko
lepsi pouzit kvalitni sifrovaci algoritmus a starat se jen o
bezpecnost sifrovaciho klice.

> Rekneme, ze budu mit na obou stranach 1GB dat (dneska to zvladne
> flash za par kacek) a budu se posouvat pouze vpred, protoze za cely
> zivot tim vice nez ten 1GB neprotlacim, muze mi byt jakakoli
> vypocetni sila nebo metoda zcela ukradena, protoze nikdo nemuze ani
> tusit, jak ta data budou pokracovat ;). Pokud zvolim spravne velke
> okno, o kolik se muze vpred posouvat, mam celkem slusnou jistotu, ze
> vzdycky odemknu a ze neodemkne nikdo jiny.

To neni nic svetoborneho a jedna se o jedinou 100% bezpecnou a
nerozlustitelnou sifru, tedy Vernamovu sifru starou snad 90 let (treba
s nejakou variantou, ze misto posunu znaku zvolis XOR nebo tak neco).
Delka klice je rovna delce dat.

Mohl bys ovsem narazit na jednu dost dulezitou vlastnost teto sifry a
tou je generator opravdu nahodnych cisel. Ten klic musi byt dokonale
nahodny, protoze pokud bude pseudonahodny, pak je tam moznost predikce
a sifra neni bezpecna.

Mimo generovani opravdu nahodnych cisel (rozpad atomu, tepelny sum)
bude dalsim problemem ulozeni klice. Je pravda, ze treba 1GB klice by
mohl vystacit na dlouho, ovsem s tim souvisi cela rada dalsich
komplikaci. Tento klic muzes sice nahrat na flashku, ale musis tu
flashku nejakym zpusobem bezpecne dorucit na cilove misto, kde chces
desifrovat. Musis tedy maximalne ochranit prenosovou cestu. Take musis
klic prubezne nicit, nesmis zadny klic pouzit opakovane, no a kdyz si
posles klic dopredu na 10 let (tou slozitou bezpecnou cestou), tak ho
se ho za tu dobu take muze nekdo zmocnit. S velkym klicem se
manipuluje daleko hure nez s malym klicem, neda se zapamatovat, musi
byt nekde ulozen, velmi spatne se chrani apod.

Zpet k "otvirani" pomoci klicenky a prenosu dat vzduchem, o cem se tu
asi bavime. Predstav si tedy bezny system otvirani, kdy chces dum
otvirat rekneme (at nejsme hamizni) osmi ovladaci. V kazdem ovladaci
bude 1GB opravdu nahodne generovaneho klice, dobre, to by se dalo
zaridit (ta cena bude samozrejme mnohem vyssi nez u beznych cipu, ale
to nechme stranou). Pokud 8 klicenek bude mit stejny klic, pak je to
spatny system, protoze kdyz jednu klicenku ztratim, mam po zizalkach,
dalsich 7 klicenek musim vyhodit a s nim i prijimac. Navic je to velmi
tezkopadne reseni, kdy primo ve vyrobe by muselo byt jiz jasne, ze
bude zrovna 8 klicenek se stejnym klicem. To je extremne drahe reseni.

Takze dobre, kazda klicenka bude mit svuj vlastni 1GB klic. Co tedy
prijimac? Ten by musel pojmout 8GB dat jako klice pro 8 klicenek. To
uz je take pomerne drahe reseni. Jenze jak ta data do prijimace dodat?
Jinymi slovy, jak sparovat prijimac s vysilaci? To by se muselo
prenest pri sparovavani pro kazdou klicenku 1GB dat do prijimace. Jak
to tedy udelat? Vzduchem? Zase ponechme bokem pripadne chyby v
prenosu, co doba prenosu? Nechat to prenaset nekolik dni v kuse? Osm
klicenek se bude ucit treba nekolik tydnu? Dojde ke ztrate klicenky a
bezny postup je smazani vseho a nove nauceni vsech zbyvajicich vcetne
nove klicenky. Tak zase znovu tydny uceni? Co baterie klicenky po
takovem dlouhem vysilani? Vymenit?

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, 400 07 Usti nad Labem
telefon: 475 501 627, mobil: 602 409 601, fax: 475 511 338
web: http://www.clexpert.cz, e-mail: clexpert@clexpert.cz
ICQ: 21215917, MSN: clexpert@clexpert.cz
==========================================================
 





Další informace o konferenci Hw-list