Šifrovanie dát Samoopravné kódy Peter Hrnčár
Šifrovanie Proces transformácie dát prostredníctvom algoritmu zo všeobecne zrozumiteľnej formy do kódu formy čitateľnej iba pri znalosti tzv.kľúča Cieľom je ochrana pred neoprávneným prístupom k citlivým dátam pri ich transmisií cez verejný resp. potenciálne odpočúvateľný kanál (nedôveryhodné prostredie) a popri tom aj autentizácia účastníkov Použiteľnosť nespočíva v univerzálnej nedobytnosti, ale v skutočnosti, že ak zvolíme kľúč dostatočné dlhý, tak jeho dobytie trvá aj s využitím všetkej v súčasnosti dostupnej techniky neprakticky dlhý čas (roky)
Symetrické šifrovanie Ten istý kľúč sa používa na šifrovanie i dešifrovanie správy, preto musí byť pred vysielaním známy odosielateľovi i príjemcovi a nesmie byť vydedukovateľný zo sledovania kanálu treťou stranou Niekedy sa používa i identický algoritmus na šifrovanie i dešifrovanie, nielen kľúč – napr. XOR Stream cipher (keystream) a Block cipher Výhodou symetrických algoritmov je rýchlosť potrebná na kalkuláciu, a tá je potrebná pri požívaní stále dlhších kľúčov
Symetrické šifrovanie Nevýhodou metódy je potreba zvýšenej bezpečnosti pri predávaní kľúča a nemožnosť jej použitia na podpisovanie/autentizáciu účastníkov Potreba mechanizmu na manažment kľúčov v prípade, ak v organizácií komunikuje medzi sebou veľa ľudí s rôznym stupňom diskrétnosti (rôzne kľúče pre každý pár) a treba tie kľúče po určitom čase meniť Public Key Infrastructure (PKI), Web of Trust (PGP – hybridné systémy)
Asymetrické šifrovanie Každý účastník má 2 kľúče – verejný a súkromný, ktoré spolu algoritmicky súvisia, avšak nie je ich možné od seba ľahko odvodiť Odosielateľ zašifruje správu prijímateľovým verejným kľúčom, prijímateľ ju dešifruje svojim súkromným kľúčom. Všetky verejné kľúče sú voľne dostupné cez kanál, avšak separátne nepoužiteľné pre získanie neautorizovaného prístupu. Asymetrické algoritmy sú podstatne náročnejšie na kalkuláciu Ich výhodou je však jednoduchší manažment (netreba separátny kľúč pre každú dvojicu), možnosť autentizácie podpisom ako aj možnosť kombinovania so symetrickými šiframi
Asymetrické šifrovanie Kombinácia 2 „inverzných“ asymetrických šifier umožňuje naraz správu zabezpečiť aj autentizovať, ale je potrebné, aby boli dva zodpovedajúce kľúče vymeniteľné v šifrovacích pozíciach.
Diffie-Hellman Exchange Problém počiatočnej distribúcie symetrických kľúčov „rieši“ model DHE, ktorý využíva modulárnu algebru a skutočnosť, že v súčasnosti nie je známy algoritmus na dostatočne rýchlu kalkuláciu diskrétnych logaritmov
Príklady Algoritmy: DES, RSA (od tvorcov DHE), AES (Rijndael) Implementácie: https/SSL/TLS, OpenSSL, PGP, OpenPGP, digitálny podpis pri používaní mobilných telefónov (Symbian)
DRM Šifrovanie Používa sa pri kontrolovanej distribúcií duševného vlastníctva Aj príjemca je považovaný za obmedzene dôveryhodného. Kľúč má v sebe zabudovaný prehrávací softvér, príjemcovi nie je známy. Veľmi slabá odolnosť v porovnaní so šiframi založenými na neobmedzenej vzájomnej dôvere Napr. CSS (pre DVD), AACS (pre Blu-Ray, HD-DVD)
Samoopravné kódy Mechanizmus detekcie a opravy chýb sa používa na udržanie integrity dát pri vysielaní cez kanál so šumom a pri ukladaní na média s možnosťou poškodenia Najskôr musí prebehnúť detekcia pomocou detekčných kódov, až potom nasledujú opravy – čiastočná rekonštrukcia pôvodných dát Automatic repeat-request (ARQ) – opätovné preposlanie častí správy, kde príjimateľ detekoval chybu (nevhodná pri „low latency“) Forward error correction (FEC) – do správy za zakomponujú i opravné kódy, teda sa predlžuje (informácia sa stáva predeterminovanou)
Detekčné mechanizmy Opakovaná transmisia v blokoch (Triple modular redundancy ) Mechanizmus polarity Kontrolné súčty (checksum) - Ethernet Bitová parita Cyklické súčty (CRC) – WinRAR, UDP, TCP Hash funckie – MD5, SHA1, SHA256 Kryptografická stopa
Opravné kódy Systematické kódy – k pôvodnej správe sa pridá korekčný reťazec, t.j. pôvodná správa je viditeľná v novej Nesystematické kódy – pôvodná správa je na základe určitých pravidiel zakódovaná do inej sady „odolných“ symbolov (LDPC) Blokové kódy (Hamming) a Convolutional codes Pravdepodobnostná a presná rekonštrukcia správy (po určitý limit) Na meranie efektívnosti týchto kódov sa aplikuje Shannon-Hartleyho teória (Shannonov limit)
Hammingov kód Blokový kód využívajúci bitovú paritu (v pozícii mocnín 2) Dokáže v rámci 1 bloku presne opraviť 1 chybu a detekovať násobnú až do tzv. Hammingovej vzdialenosti pre danú veľkosť bloku. Vhodný pri náhodných bitových preklepoch (DRAM), nevhodný v prostredí kumulovaných chýb (error bursts) Príklad 20-bitového bloku Hamming[20,15] s max. detekciou 2 chýb Reťazec „101110100101110“ sa zakóduje ako „01110111101001011110 “
Reel-Solomonov kód Blokový systematický kód využívajúci polynomické funkcie (nepoužíva bity, ale symboly) vykonštruované zo zdrojových dát Štandardný je RS(255,223) – 223 znakový input zakódovaný na 255 znakový output, pričom dokáže opraviť do 16 chýb v symboloch Vhodný pri výskyte kumulatívnych chýb (burst errors – poškriabané CD), naopak nevhodný pri náhodných bitových preklepoch Aplikácia na médiach CD, DVD (CIRC - v kombinácií s konvolučným dekodérom) , pri transmisii cez DSL a WiMAX a vysielaní cez DVB
Iné opravné kódy Low-density parity-check code (LDPC) – takmer Shannonov limit Mame 6 bitový blok, ale sme obmedzení pravidlami v smere šípok (súčet musí byť párny), takže počet stavov nie je 2^6, ale len 8 (2^3) - 000000, 011001, 110010, 111100, 101011, 100101, 001110, 010111 Turbo Codes – pravdepodobnostné dekódovanie, používa sa pri komunikácií na dlhé vzdialenosti vo vesmíre a pri 3G technológiach; je však zložitý a má vysokú latenciu Erasure codes Fountain codes
Ďakujem za pozornosť