170 likes | 353 Views
Š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
E N D
Šifrovanie dátSamoopravné 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