home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 September / Chip_2002-09_cd1.bin / obsahy / Chip_txt / txt / 126-128.txt < prev    next >
Text File  |  2002-08-08  |  12KB  |  40 lines

  1. èifrovßnφ a luÜt∞nφ 
  2. Zapome≥te PIN? (2.)
  3. V minulΘm Φφsle jsme si povÜimli Üifrovacφ pom∙cky nazvanΘ codecard a ukßzali jsme, ₧e se dß luÜtit. Nynφ naznaΦφme, jak tomu lze jednoduÜe zabrßnit, a podφvßme se takΘ na n∞kterΘ jejφ dalÜφ zajφmavΘ vlastnosti.
  4.  
  5. Jak jsme vid∞li minule, pravidla p°edepsanß v²robcem pro zaznamenßnφ PIN na codecard zanßÜejφ do tΘto pom∙cky bezpeΦnostnφ slabinu. P°ipome≥me si, ₧e mßme k dispozici Φty°i mo₧nosti, jak nastavit f≤lii na papφrovou codecard, dva zp∙soby vyΦφtßnφ Φφslic z nφ (zleva nebo zprava) a pro "sou°adnice" p°ilo₧enφ f≤lie na kartiΦku vÜechny kombinace pφsmen A a₧ S a Φφsel 1 a₧ 15. Celkem tedy dostßvßme 4*2*19*15 = 2280 mo₧n²ch postup∙ Üifrovßnφ (klφΦ∙), co₧ p°i 10 000 mo₧n²ch hodnotßch PIN nevypadß na prvnφ pohled Üpatn∞. Ukßzali jsme si vÜak takΘ, ₧e ka₧dΘ vypln∞nΘ pole na codecard nßm ve skuteΦnosti omezuje mno₧inu klφΦ∙ a Φφm vφce polφ je zaÜkrtßno, tφm mΘn∞ klφΦ∙ p°ipadß v ·vahu. U p°φkladu, kter² jsme uvedli minule, jsme nakonec m∞li jen dva mo₧nΘ klφΦe - a to je velmi ÜpatnΘ.
  6.  
  7. Ov∞°enφ sφly codecard
  8. Nabφzφ se otßzka, zda to nebylo jen v²b∞rem konkrΘtnφch PIN a klφΦe. Abychom naÜe zßv∞ry objektivizovali, ud∞lali jsme nßsledujφcφ experiment. Pro ka₧dΘ N od jednΘ do Üesti, co₧ je poΦet vypln∞n²ch polφ na codecard, jsme zvlßÜ¥ ud∞lali stejn² experiment o 1 000 000 pokus∙. V ka₧dΘm pokusu jsme zvolili N nßhodn²ch PIN, nßhodn∞ jsme vybrali jednu z osmi metod vyΦφtßnφ a nßhodn∞ jsme vybrali klφΦovΘ pφsmeno a Φφslo (A1 a₧ S15). Potom jsme tyto PIN zaÜifrovali a vytvo°ili tak virtußlnφ obraz kartiΦky s N vypln∞n²mi poli - a tu jsme zkouÜeli luÜtit programem disppin, jak bylo popsßno minule v prvnφ Φßsti tohoto Φlßnku.
  9. Program nßm tak v ka₧dΘm pokusu postupn∞ vyzkouÜel vÜech 2280 mo₧n²ch deÜifrovßnφ a u ka₧dΘ obdr₧enΘ deÜifrovanΘ sady PIN zkontroloval, zda mohla vzniknout podle pravidel Üifrovßnφ - pokud ano, zaznamenali jsme poΦet nalezen²ch °eÜenφ PR. Takto jsme zφskali milion Φφsel PR(i) pro i = 1 a₧ 1 000 000, z nich₧ jsme vypoΦetli pr∙m∞r, minimßlnφ a maximßlnφ obdr₧enou hodnotu, jak ukazuje p°ipojenß tabulka ve sloupci metoda 1 a₧ 8. Dßle jsme zjistili poΦet t∞ch p°φpad∙, kdy PR(i) bylo menÜφ nebo rovno trojnßsobku Φφsla N. V t∞chto p°φpadech by byl ·toΦnφk ·sp∞Ün², proto₧e by jednoduÜe vyzkouÜel maximßln∞ 3*N mo₧n²ch klφΦ∙, kterΘ by mu disppin nabφdl (viz prvnφ Φßst Φlßnku). Tento poΦet, vzta₧en² k milionu celkem proveden²ch pokus∙, je uveden v tabulce ve sloupci ·sp∞Ünost luÜt∞nφ a udßvß pravd∞podobnost, ₧e ·toΦnφk bude stoprocentn∞ ·sp∞Ün². Jak vidφte, tato pravd∞podobnost rychle vzr∙stß s poΦtem vypln∞n²ch polφ.
  10. V tabulce jsou pro srovnßnφ uvedeny takΘ v²sledky p°i pou₧itφ pouze "nejp°irozen∞jÜφho" zp∙sobu vyΦφtßnφ (sloupec metoda 1) a tΘho₧ zp∙sobu kombinovanΘho jeÜt∞ s postupem "odzadu" (metoda 1 a 2); v °ßdku ne°eÜeno je poΦet p°φpad∙, kdy vybran² klφΦ v∙bec neumo₧≥oval PIN podle pravidel zaÜifrovat (podrobnosti viz dßle).
  11.  
  12. Existuje v²chodisko?
  13. NaÜe experimenty tedy jen potvrdily obavy vyslovenΘ minule, kdy jsme vßs takΘ vyzvali k hledßnφ n∞jakΘ cesty ke zv²Üenφ bezpeΦnosti codecard. Pokud jste tak uΦinili, m∙₧ete si te∩ svΘ ·vahy porovnat s naÜimi (a pokud jste nßm n∞jakΘ podn∞tnΘ nßvrhy poslali Φi jeÜt∞ poÜlete, vrßtφme s k nim p°φÜt∞).
  14. Ukazuje se, ₧e existuje velmi jednoduchß ·prava pravidel, po nφ₧ se pom∙cka stßvß nesrovnateln∞ bezpeΦn∞jÜφ. (Ne°φkßme ale, ₧e je pak zcela bezpeΦnß, a uvedeme i nev²hody navr₧enΘho zlepÜenφ.) NejjednoduÜÜφm doporuΦenφm samoz°ejm∞ je p°i vybarvovßnφ ΦtvereΦk∙, tedy p°i zaÜifrovßnφ PIN, nevybφrat v₧dy prvnφ v²skyt danΘ Φφslice v poli, ale a₧ n∞jak² "pozd∞jÜφ". Pochopiteln∞ p∙jde v∞tÜinou o prvnφ nebo druh² v²skyt, jinak by se nßm nemuselo poda°it dan² PIN v∙bec zaÜifrovat - v₧dy¥ v ka₧dΘm v²°ezu f≤lie o rozm∞rech 6 [215] 8 ΦtvereΦk∙ se danß cifra vyskytuje jen cca 4krßt a₧ 5krßt. Postup zaÜifrovßnφ Φφsla 5721 podle tohoto pozm∞n∞nΘho pravidla ukazuje obrßzek 1, kde je pou₧ito zßkladnφ nastavenφ f≤lie a klφΦ K2 (prvnφ, druhou a t°etφ Φφslici jsme vybrali ne hned z prvnφ nabφdky).
  15. TakovΘ pravidlo nßm potom umo₧nφ zaÜifrovat jeden PIN vφce zp∙soby. P°itom si nemusφme pamatovat, kterou Φφslici jsme vynechali (!), proto₧e p°i odÜifrovßnφ se nßm PIN jednoduÜe "vysvφtφ", a nic jinΘho nepot°ebujeme. Pokud n∞kdo nalezne takto vypln∞nou codecard, musφ poΦφtat skuteΦn∞ se vÜemi 2280 mo₧nostmi, jak PIN odÜifrovat. D∙kaz je jednoduch²: a¥ si vybere jak²koliv z osmi zp∙sob∙ p°ilo₧enφ f≤lie a vyΦφtßnφ Φφsel a jakoukoliv z 285 sou°adnic a p°ilo₧φ f≤lii na codecard, v₧dy z nφ vyΦte n∞jakΘ Φty°i Φφslice. Na zp∙sob vypl≥ovßnφ zde neexistuje ₧ßdnΘ omezenφ, a proto vÜechny "vysvφcenΘ" hodnoty jsou platnΘ (neexistujφ nemo₧nΘ ÜifrovΘ texty).
  16. Podφvejme se nynφ, jak lze dßle zv²Üit poΦet mo₧n²ch zp∙sob∙ Üifrovßnφ. Dosud jsme PIN vyΦφtali dv∞ma zp∙soby znßzorn∞n²mi v hornφ Φßsti obrßzku 2. M∙₧eme vÜak p°ijmout jin² zp∙sob vyΦφtßnφ, nap°φklad po °ßdcφch (a zase doprava nebo doleva, viz dolnφ Φßst obrßzku 2), po ·hlop°φΦkßch a podobn∞. Zkrßtka jde o to, vybrat si n∞jak² "geometrick² vzor" a ten pou₧φt. ╚φm vφce, tφm lΘpe. DalÜφ mo₧nosti vznikajφ p°iklßdßnφm f≤lie otoΦenΘ o 90 nebo 270 stup≥∙, tak °φkajφc "naÜtorc". V ·vahu p°ipadß i trochu "exotickΘ" pou₧itφ f≤lie, p°i n∞m₧ bychom ji p°ilo₧ili do zßkladnφho postavenφ (lev² hornφ roh f≤lie na lev² hornφ roh kartiΦky) a nepohybovali bychom s nφ! Zvolili bychom si jen tajn² klφΦ (t°eba K2) jako poΦßtek trasy a n∞jakou trasu (geometrick² vzor) vyΦφtßnφ Φφsel p°es celou f≤lii 20 [215] 26. Na trase bychom pak vyΦφtali vysvφcenΘ Φφslice po Φty°ech a dostßvali tak postupn∞ jeden PIN za druh²m (p°φsluÜnß oznaΦenφ by nap°. byla v odpovφdajφcφm po°adφ zapsßna v zßhlavφ kartiΦky). To je sice mnohem nßroΦn∞jÜφ na pam∞¥, nicmΘn∞ zdatn²m dßvß dalÜφ mo₧nosti pou₧itφ. P°ipome≥me, ₧e i p°i Üifrovßnφ tφmto zp∙sobem bychom sem tam n∞jakou Φφslici m∞li vynechat, tj. neoznaΦovat v₧dy prvnφ v²skyt danΘ Φφslice na trase.
  17. AΦkoliv tento konkrΘtnφ exotick² zp∙sob vyΦφtßnφ nemusφ b²t obecn∞ bezpeΦn², pokud z∙stane utajen, stßvß se ve skuteΦnosti nov²m klφΦem. Jak je mohutn² a jak je pak prost°edek bezpeΦn² p°i vyzrazenφ tΘto metody, zßle₧φ na metod∞ samΘ a dalÜφch okolnostech. Podobn∞ exotick²ch metod lze pochopiteln∞ vymyslet jeÜt∞ mnoho a mnoho, t°eba jako na obrßzku 3. Proto₧e si vÜak codecard z°ejm∞ po°φdφ lidΘ s nep°φliÜ dobrou pam∞tφ, nelze p°edpoklßdat, ₧e by v∞tÜina z nich n∞jak² exotick² zp∙sob pou₧ila. ┌toΦnφk proto m∙₧e poΦφtat se standardnφmi pravidly (p°φpadn∞ nßmi vylepÜen²mi) a zßkladnφm zp∙sobem vyΦφtßnφ.
  18.  
  19. Konstrukce codecard
  20. Vφme u₧, ₧e jednoduchou modifikacφ pravidel Üifrovßnφ lze zßsadnφm zp∙sobem zv²Üit bezpeΦnost codecard - postaΦφ oznaΦovat nikoli prvnφ, ale "n∞jak²" v²skyt danΘ Φφslice PIN. M∙₧e se vÜak stßt, ₧e ani nynφ nep∙jde ka₧d² PIN zaÜifrovat vÜemi 2280 klφΦi. Codecard mß toti₧ jednu drobnou vadu - podφvßme-li se na f≤lii podrobn∞ji (pro p°φklad postaΦφ zßkladnφ nastavenφ), uvidφme, ₧e n∞kterΘ klφΦe dßvajφ nevhodnß klφΦovß pole. Nap°φklad klφΦovΘ pole C3 p°i vyΦφtßnφ zleva i zprava neumo₧≥uje zaÜifrovat celkem 174 Φφseln²ch kombinacφ! Je to vid∞t na obrßzku 4: v p°φsluÜnΘm v²°ezu 6 [215] 8 ΦtvereΦk∙ jsou jen t°i Üestky, p°iΦem₧ prvnφ z nich je a₧ uprost°ed pole. Navφc nenφ vhodnΘ ani rozlo₧enφ sedmiΦek. Pokud tedy budeme Üifrovat PIN zaΦφnajφcφ na dv∞ Üestky, zb²vß nßm v klφΦovΘm poli sekvence 7, 9, 8, 3, 1, 5, 2, 4, 1, 7, 0, 9, 8, 6, 7. To nßm neumo₧nφ zaÜifrovat zb²vajφcφ dvojice Φφslic rovnΘ nap°φklad 00, 01, 02, 03, 04, 05, 23, 25 nebo 71 a₧ 75 a podobn∞.
  21. Takov²ch nevhodn²ch v²°ez∙ je krom∞ C3 jeÜt∞ vφce (nap°φklad B3, D3, problΘmy s osmiΦkou majφ zase O6, P6, Q6, R6, S6 apod.). Za vÜech osm metod je to celkem 3768 nemo₧n²ch Üifrovßnφ PIN. Je to vÜak nepatrn² zlomek z 2280 [215] 10 000 mo₧nostφ, tak₧e p°i modifikovan²ch pravidlech nßm tato vlastnost f≤lie tolik nevadφ. Zb²vß otßzka, zda by bylo mo₧nΘ (doufßme, ₧e ano) navrhnout jinΘ rozlo₧enφ Φφslic na f≤lii tak, aby umo₧≥ovala zaÜifrovat vÜechny kombinace PIN pro vÜechny mo₧nΘ klφΦe. Ale to u₧ vßm nechßvßme jako bonbonek na zbytek prßzdnin...
  22. P°edpoklßdßme, ₧e nßm auto°i neprozradφ, jak "nßpl≥" f≤lie navrhovali (nebo ano?), a tak se to m∙₧ete pokusit odhadnout sami. Pßr poznßmek p°ece jen na ·vod mßme. Stßvajφcφ f≤lie je konstruovßna tak, ₧e a₧ na v²jimky jsou v lich²ch sloupcφch Φφslice 1...5 a v sud²ch 6...9 a 0. LichΘ sloupce ukazuje obrßzek 5 - jsou zde patrnΘ n∞kterΘ pravidelnosti, kterΘ se ale ukazujφ b²t p°φliÜ nesystematickΘ. Zßkladnφm po₧adavkem na f≤lii aby se s nφ v∙bec dalo Üifrovat - je, aby v ka₧dΘm v²°ezu 6 [215] 8 byla ka₧dß cifra obsa₧ena minimßln∞ Φty°ikrßt (abychom mohli zaÜifrovat PIN slo₧en² ze stejn²ch Φφslic). Nenφ to vÜak postaΦujφcφ pravidlo, proto₧e pokud budou tyto cifry (X) ve v²°ezu t∞sn∞ji za sebou, nemusφme b²t schopni zaÜifrovat PIN typu YXXX nebo XXXY. ObecnΘ pravidlo, kterΘ by zajiÜ¥ovalo zaÜifrovßnφ jakΘhokoliv PIN, by tedy zn∞lo, ₧e p°i danΘ metod∞ vyΦφtanφ by m∞ly jφt za sebou v₧dy sady Φφslic 0123456789 v r∙zn²ch permutacφch. To vÜak dodr₧eno nenφ, a dokonce nenφ dodr₧en ani po₧adavek povinnΘ p°φtomnosti Φty° v²skyt∙ ka₧dΘ cifry v ka₧dΘm v²°ezu 6 [215] 8.
  23.  
  24. Zp∙sob zaÜifrovßnφ "je vid∞t"
  25. V tabulce experiment∙ jsou ·daje ve sloupcφch metoda 1 a metoda 1 a 2 tΘm∞° stejnΘ. Ptßte se, jak je to mo₧nΘ, kdy₧ vφce metod by m∞lo obecn∞ dßt vφce °eÜenφ? Odpov∞∩ je jednoduchß. Metody 1 a 2 od sebe rozeznßte prakticky v₧dy p°φmo ze ÜifrovΘho textu. U metody 1 (postup zleva) budou zv²razn∞nß pole blφ₧e levΘmu kraji, u metody 2 (postup zprava) blφ₧e k pravΘmu kraji. Jen v n∞kter²ch p°φpadech to nebude p°φliÜ z°etelnΘ, a ty takΘ vytvß°ejφ o n∞co vφce °eÜenφ, pokud uva₧ujeme ob∞ metody.
  26. Z praktickΘho hlediska to znamenß, ₧e luÜtitel (p°i Üifrovßnφ podle p∙vodnφch pravidel) m∙₧e to, zda byla pou₧ita metoda 1 nebo 2, urΦit pouh²m pohledem na vypln∞nou codecard. Proto₧e jsou to z°ejm∞ dv∞ v praxi nejpou₧φvan∞jÜφ metody, je to pro n∞j stejn∞ nßroΦnΘ, jako kdyby uva₧oval jen metodu 1.
  27.  
  28. Jak si zad∞lat na malΘr
  29. Pou₧φvßme-li codecard, to nejhorÜφ, co m∙₧eme ud∞lat, je zaÜifrovat na ni svΘ osobnφ karty spoleΦn∞ t°eba s kartou CCS, kterou jsme dostali od zam∞stnavatele. Pak mß zam∞stnavatel v roli luÜtitele (netvrdφme, ₧e to zam∞stnavatelΘ d∞lajφ) Üanci zjistit PIN vaÜich soukrom²ch karet. K tomu staΦφ spustit program disppin (Φi jak²koliv jin² se stejnou funkcφ) a vybrat ta nalezenß °eÜenφ, v nich₧ se u CCS vyskytuje odpovφdajφcφ PIN. V drtivΘ v∞tÜin∞ p°φpad∙ bude stoprocentn∞ ·sp∞Ün²!
  30. Stejnß (ne-li horÜφ) situace nastane, pokud na codecard ulo₧φme takΘ PIN n∞jakΘ dalÜφ osoby (man₧elky, man₧ela ap.). Jak potvrzujφ statistiky, velmi mnoho man₧elsk²ch pßr∙ se rozvßdφ - zhrzen² partner pak m∙₧e mφt mnoho d∙vod∙ ( jist∞ vφce ne₧ zam∞stnavatel) ke snaze zjistit PIN k vaÜim kartßm, ale takΘ nap°φklad k osobnφmu organizΘru (kde si lze p°eΦφst t°eba n∞kterΘ zajφmavΘ kontakty na jinΘ partnery Φi partnerky...).
  31. A rad∞ji u₧ ani nemysleme na p°φpad, ₧e by vßs n∞kdo se zl²m ·myslem po₧ßdal, abyste mu n∞jak² PIN p°ipsali na svou codecard...
  32.  
  33. Mal² dov∞tek
  34. Ukßzali jsme, ₧e pravidla pou₧φvßnφ codecard by se m∞la zm∞nit, a navrhli jsme jak - v podstat∞ nepatrnß zm∞na p°itom p°inßÜφ znaΦn² bezpeΦnostnφ efekt. Myslφme si vÜak, ₧e k ochran∞ dat se nemß vyu₧φvat "lidovß tvo°ivost" tohoto druhu - auto°i codecard by proto mo₧nß mohli naÜe poznatky respektovat v eventußlnφ dalÜφ verzi tΘto pom∙cky.
  35. A jeÜt∞ drobnou pikantnost na zßv∞r. Codecard mj. spolΘhß na to, ₧e bankomat neumo₧nφ vφce ne₧ t°i chybnß zadßnφ PIN; jak m∞ upozornil kolega Rosa, nemusφ tomu tak b²t v₧dy. StaΦilo zajφt k bankomatu a zariskovat "se₧rßnφ" karty. P°ipadal jsem si sice jako n∞jak² kriminßlnφ ₧ivel, ale v∞da ₧ßdß ob∞ti. Pokus∙ jsem zanechal po Üesti Üpatn²ch zadßnφch PIN! Pak jsem ale pokraΦoval na jinΘm bankomatu s dalÜφmi Üesti, tak₧e jsem celkem vyzkouÜel (bez jak²chkoli nßmitek p°φstroje) 12 chybn²ch PIN za sebou! M∙j bankovnφ d∙m takovΘ pokusy prost∞ nezakazuje, co₧ sice zapomn∞tliv² Φlov∞k obΦas uvφtß, ale za Ü¥astnΘ °eÜenφ to rozhodn∞ nepova₧uji...
  36. NaÜe prßzdninovß ukßzka "u₧itΘ kryptoanal²zy a kryptografie" tφm konΦφ. Snad jsme vßs po dßvce spφÜe teoreticky zam∞°en²ch Φlßnk∙ p°esv∞dΦili, ₧e tento obor mß docela blφzko i k b∞₧nΘmu ₧ivotu v modernφ spoleΦnosti a ₧e m∙₧e b²t v lecΦems u₧iteΦn². Mo₧nß jste si i trochu zap°em²Üleli a pohrßli s numφrky, ale takΘ si snad odnesli ponauΦenφ, ₧e ostra₧itosti nenφ v dneÜnφm sv∞t∞ plnΘm Φφsel nikdy dost.
  37.  
  38. Vlastimil Klφma, autor@chip.cz
  39.  
  40.