6Digitálny podpis

Digitálne podpisy sú jednou z najvýznamnejších prác založených na vývoji kryptografie s verejným kľúčom a poskytujú zabezpečenie, ktoré by bolo zložité implementovať nejakým iným spôsobom. Digitálny podpis je elektronický podpis, ktorý slúži k autentifikácii identity človeka, ktorý posiela správu alebo človeka podpisujúceho dokument s možnosťou zabezpečenia integrity obsahu. Digitálne podpisy sa jednoducho preposielajú a nemôžu byť falšované neoprávnenou osobou.

Digitálne podpisu sú založené na vlastnoručných podpisoch, ktoré sa používajú na určenie vlastníckych práv alebo na potvrdenie daného obsahu správy.

Vlastnoručné podpisy musia disponovať nasledujúcimi vlastnosti:

- Podpis je bezpečný – podpis by nemal byť napodobňovaný a prípadný pokus o falšovanie podpisu by mal byť ľahko zistený.
- Podpis uľahčuje autentifikáciu – podpis jednoznačne identifikuje majiteľa, ktorý dokument podpísal bez obmedzenia a vedome.
- Podpis je neprenosný – podpis je súčasťou dokumentu a neoprávnený vlastník nie je schopný previesť podpis na iný dokument.
- Dokument, ktorý je podpísaný nie je možné zmeniť – dokument nemôže byť zmenený a upravený po jeho podpísaní.
- Podpis nesmie byť odmietnutý – majiteľ podpisu nemôže poprieť schválenie podpísaného dokumentu.

V skutočnosti žiadna z týchto vlastností nemôže byť splnená vlastnoručným podpisom. Zároveň všetky tieto vymenované vlastnosti by mali spĺňať digitálne podpisy. Na druhej strane sa taktiež môžu vyskytnúť rôzne problémy spájajúce sa s praktickou realizáciou digitálnych podpisov. Digitálne súbory môžu byť ľahko kopírované čo môže spôsobiť to, že časť dokumentu sa prenesie do iného dokumentu. Z toho vyplýva, že podpísaný dokument môže byť jednoducho upravovaný.

Pre digitálny podpis môžeme formulovať tieto požiadavky:

- Podpis musí mať formu bitovej postupnosti, ktorá závisí od podpisovanej správy.
- Podpis musí obsahovať niektoré jedinečné informácie odosielateľa, aby sa predišlo falšovaniu a popieraniu pravosti.
- Realizácia digitálneho podpisu musí byť pomerne jednoduchá.
- Falšovanie digitálneho podpisu musí byť výpočtovo nemožné tým, že výsledkom útoku bude odlišná správa pre existujúci digitálny podpis alebo falošný digitálny podpis pre danú správu.
- Praktická úschova kópie digitálneho podpisu v pamäti.

Digitálny podpis môže byť použitý s akýmkoľvek druhom správy, či je šifrovaná alebo nie. Jednoducho tak, že príjemca si môže byť istý identitou odosielateľa a tým, že správa dorazila neporušená.

Existuje niekoľko možných schém pre digitálny podpis. Jedna z najpoužívanejších je založená na báze hašovacích funkcií. V tom prípade, ak používateľ chce podpísať dokument musí dodržiavať tieto kroky:

1. Výpočet hašovacieho kódu dokumentu, ktorý má byť podpísaný.
2. Odosielateľ zašifruje hašovací kód svojím súkromným kľúčom, čím dosiahne digitálny podpis (využitie asymetrického šifrovania).
3. Pripojenie digitálneho podpisu k dokumentu.

Obr. 6.1 Digitálny podpis na báze hašovacích funkcií

Adresát môže následne overiť pravosť tohto digitálneho podpisu pomocou týchto krokov:

1. Výpočet hašovacieho kódu dokumentu (okrem digitálneho podpisu).
2. Pomocou verejného kľúča odosielateľa príjemca dešifruje digitálny podpis, čím získa hašovací kód vypočítaný odosielateľom.
3. Porovnanie získaných výsledkov v dvoch predchádzajúcich krokoch.

Obr. 6.2 Proces verifikácie dát digitálnym podpisom na báze hašovacích funkcií

V prípade, že hašovacie kódy získané v dvoch krokoch sú rovnaké prijímateľ bude vedieť, že podpísane dáta neboli zmenené.