3) Elektronický podpis, kryptografia, PGP |
Mgr. Ján Guniš, PF UPJŠ, Košice |
|||||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
Asymetrická kryptografia predstavuje iný spôsob šifrovania. Rozdiel spočíva v tom, že každý účastník má šifrovacie kľúče dva, súkromný a verejný. Oba kľúče vytvárajú dvojicu.
Súkromný kľúč sa používa (majiteľom) na dešifrovanie došlých správ a podpisovanie odosielaných správ. Verejný kľúč sa používa (ostatnými) na šifrovanie odosielaných správ a overenie autentičnosti (podpisu) došlých správ.
Podpisovanie správy prebieha nasledovne. Z textu odosielanej správy sa pomocou špeciálnej funkcie (nazýva sa hašovacia) vytvorí otlačok správy. Je to reťazec znakov pevnej dĺžky. Pri zmene čo i len jedného znaku v našej správe dostaneme úplne iný otlačok správy. Otlačok môžeme chápať aj ako kontrolný súčet správy, takže ak sa správa cestou niekde zmení, príjemca to okamžite zistí. Je prakticky nemožné vyrobiť správu k existujúcemu otlačku, alebo zmeniť správu tak, aby otlačok vyhovoval. Tento reťazec sa potom pomocou súkromného kľúča podpíše (zašifruje) a pripojí na koniec odosielanej správy (systémy používajúce asymetrické šifrovanie celý proces robia automaticky, takže prax je "omnoho jednoduchšia" ako teória). Aby si správu nikto (teda okrem príjemcu) nemohol prečítať, veko možeme zašifrovať verejným kľúčom príjemcu.
Schematicky môžeme takúto šifrovanú komunikáciu popísať
nasledovne.
Dvaja účastníci asymetricky šifrovanej komunikácie sú Alica a Boris. Každý
z nich má svoju dvojicu kľúčov, svoj súkromný a svoj verejný kľúč. Súkromný
kľúč si každý pozorne stráži aby sa k nemu nedostal nikto iný, naopak
verejný kľúč sa zverejní tak, aby sa k nemu mohlo dostať čo najviac ľudí.
Takže ak chcú spolu komunikovať, musia si navzájom vymeniť svoje verejné kľúče. |
|
Samotná komunikácia vyzerá nasledovne:
Správu nemusíme šifrovať aj podpisovať súčasne. Potom to vyzerá nasledovne: |
||
Alica poslala čistú správu | => | Boris nemá istotu, že správu poslala Alica a navyše si
ju cestou mohol niekto iný prečítať alebo zmeniť (takto sa bežne komunikuje emailom) |
Alica správu podpísala svojim súkromným kľúčom | => | Boris má istotu, že správu poslala Alica, ale cestou si mohol správu niekto iný prečítať |
Alica zašifrovala správu Borisovým verejným kľúčom | => | Správu môže dešifrovať len Boris, ale nemá istotu, že správu poslala Alica |
Alica zašifrovala správu Borisovým verejným kľúčom a podpísala ju svojim súkromným kľúčom | => | Správu môže dešifrovať len Boris a navyše má istotu, že správu poslala Alica |
Asymetrické šifrovanie má aj svoje nevýhody. Je niekoľkonásobne pomalšie ako symetrické (čo v prípade šifrovania emailov nie je tragické). Ďalej si musíme byť 100% (slovom sto percentne) istý pravosťou verejných kľúčov našich "priateľov". Čo ak niekto na verejné miesto podstrčil falošný verejný kľúč a správy zašifrované týmto kľúčom "odchytí", dešifruje, prečíta, zašifruje pravým verejným kľúčom príjemcu a pošle na jeho adresu? Ale to nám môže zaručiť certifikačná autorita.