Digitální podpis je kryptografický mechanismus používaný ke kontrole pravosti a integrity digitálních dat. Můžeme na něj pohlížet jako na digitální verzi konvenčních ručně psaných podpisů, ale s vyšší úrovní složitosti a zabezpečení.

Zjednodušeně můžeme digitální podpis popsat jako kód připojený ke zprávě nebo dokumentu. Jakmile je kód vygenerován, slouží jako důkaz, že se zprávou během jejího přenosu od odesílatele k příjemci nebylo manipulováno.

Přestože koncept zabezpečení komunikace pomocí kryptografie existuje již od starověku, systémy digitálního podpisu se staly realitou v 70. letech – díky vývoji kryptografie s veřejným klíčem (PKC). Abychom se tedy naučili, jak digitální podpisy fungují, musíme nejprve porozumět základům hašovacích funkcí a kryptografie veřejného klíče.


Hashovací funkce

Hašování je jedním ze základních prvků systému digitálního podpisu. Hašování zahrnuje převod dat libovolné velikosti na výstup s pevnou velikostí. To se provádí speciálním typem algoritmu zvaným hashovací funkce. Výstup generovaný hašovací funkcí se nazývá hašovací hodnota nebo šifrovaná zpráva.

V kombinaci s kryptografií lze kryptografické hašovací funkce použít k vytvoření hašovacích hodnot (kryptografie), které fungují jako jedinečný digitální otisk. To znamená, že jakákoli změna ve vstupních datech (zprávě) bude mít za následek úplně jiný výstup (hodnotu hash). A to je důvod, proč jsou kryptografické hašovací funkce široce používány k ověření pravosti digitálních dat.


Kryptografie veřejného klíče (PKC)

Kryptografie veřejného klíče neboli PKC označuje kryptografický systém, který používá dvojici klíčů: veřejný klíč a soukromý klíč. Tyto dva klíče jsou matematicky příbuzné a oba lze použít pro šifrování dat a digitální podpisy.

Jako šifrovací nástroj je PKC bezpečnější než primitivnější metody symetrického šifrování. Zatímco starší systémy také spoléhaly na stejný klíč k šifrování a dešifrování informací, PKC umožňuje šifrování dat pomocí veřejného klíče a dešifrování dat pomocí odpovídajícího soukromého klíče.

Kromě toho lze systém PKC použít také při vytváření digitálních podpisů. Proces v podstatě zahrnuje hašování zprávy (nebo digitálních dat) pomocí soukromého klíče podepisujícího. Dále může příjemce zprávy zkontrolovat, zda je podpis platný, pomocí veřejného klíče poskytnutého podepisovatelem.

V některých případech mohou digitální podpisy zahrnovat šifrování, ale ne vždy. Například blockchain bitcoinů používá PKC a digitální podpisy, ale na rozdíl od všeobecného přesvědčení v tomto procesu není žádné šifrování. Technicky, Bitcoin implementuje takzvaný Elliptic Curve Digital Signature Algorithm (ECDSA) pro ověřování transakcí.


Jak fungují digitální podpisy

V kontextu kryptoměny se systém digitálního podpisu obvykle skládá ze tří základních kroků: hashování, podepisování a ověřování.

Hašování dat

Prvním krokem je hašování digitální zprávy nebo dat. To se provádí odesláním dat pomocí hašovacího algoritmu, aby se vytvořila hodnota hash (tj. šifrovaná zpráva). Jak bylo zmíněno, zprávy mohou mít různé velikosti, ale když jsou hashovány, všechny jejich hash mají stejnou délku. Toto je nejzákladnější vlastnost hashovací funkce.

Hašování dat však není nutné k vytvoření digitálního podpisu, protože soukromý klíč lze použít k podepsání nehašované zprávy. Ale v kryptoměnách jsou data vždy hašována, protože řešení hash s pevnou délkou usnadňuje celý proces.

Podpis

Jakmile je zpráva hashována, osoba, která zprávu odesílala, ji musí podepsat. Zde vstupuje do hry kryptografie s veřejným klíčem. Existuje několik typů algoritmů digitálního podpisu, z nichž každý má svůj vlastní mechanismus. V zásadě je však hashovaná zpráva podepsána soukromým klíčem a příjemce zprávy pak může zkontrolovat její platnost pomocí odpovídajícího veřejného klíče (poskytnutého podepisovatelem).

Jinými slovy, pokud soukromý klíč není zahrnut při generování podpisu, příjemce zprávy nebude moci použít odpovídající veřejný klíč k ověření jeho platnosti. Veřejný i soukromý klíč generuje odesílatel zprávy, ale s příjemcem je sdílen pouze veřejný klíč.

Za zmínku stojí, že elektronický podpis přímo souvisí s obsahem každé zprávy. Pokud tedy ručně psaný podpis zůstane stejný bez ohledu na obsah zprávy zprávy, každá digitálně podepsaná zpráva bude mít jiný digitální podpis.

Přesnost

Vezměme si příklad pro ilustraci celého procesu až do posledního ověřovacího kroku. Předpokládejme, že Alice napíše zprávu Bobovi, zahašuje zprávu, aby vytvořila hashovací kód, a poté zkombinuje tuto hodnotu hash se svým soukromým klíčem k vytvoření digitálního podpisu. Podpis bude fungovat jako jedinečný digitální otisk této zprávy.

Když Bob obdrží zprávu, může zkontrolovat platnost digitálního podpisu pomocí veřejného klíče poskytnutého Alicí. Tímto způsobem si Bob může být jistý, že podpis vytvořila Alice, protože pouze ona má soukromý klíč odpovídající tomuto veřejnému klíči (alespoň to očekáváme).

Proto je důležité, aby Alice držela svůj soukromý klíč v tajnosti. Pokud někdo jiný získá soukromý klíč Alice, může vytvořit digitální podpis a předstírat, že je Alice. V kontextu bitcoinu to znamená, že někdo mohl použít soukromý klíč Alice k přesunu nebo utrácení jejích bitcoinů bez jejího svolení.


Proč je digitální podpis důležitý?

Digitální podpisy se běžně používají k dosažení integrity dat, autentizace a anti-commitment.

  • Integrita dat. Bob si může ověřit, že Alicina zpráva nebyla na cestě k odeslání změněna. Jakákoli změna ve zprávě vytvoří zcela jiný podpis.

  • Pravost. Dokud bude Alicin soukromý klíč uchováván v tajnosti, může Bob použít svůj veřejný klíč k potvrzení, že digitální podpis vytvořila Alice a ne někdo jiný.

  • Anti-zavržení. Jakmile bude podpis vytvořen, Alice nebude moci popřít, že jej podepsala, pokud nebude ohrožen její soukromý klíč.


Případy užití

Digitální podpisy lze použít na mnoho různých typů dokumentů a digitálních certifikátů. Proto mají řadu aplikací. Mezi nejčastější případy použití patří:

  • Informační technologie. Zvýšit bezpečnost internetových komunikačních systémů.

  • Finance. Digitální podpisy lze nasadit pro audity, výkazy výdajů, úvěrové smlouvy a další.

  • Právní. Použití digitálních podpisů na všech typech obchodních smluv a právních dohod, včetně vládních dokumentů.

  • Zdravotní péče. Digitální podpisy mohou zabránit podvodům v předpisech a lékařských záznamech.

  • Blockchain. Systémy digitálního podpisu zajišťují, že transakci za účelem převodu finančních prostředků mohou podepsat pouze právoplatní vlastníci kryptoměny (pokud nejsou ohroženy jejich soukromé klíče).


Omezit

Hlavní výzvy, kterým systémy digitálního podpisu čelí, jsou založeny na minimálně třech požadavcích:

  • Algoritmus. Kvalita algoritmů používaných v systému digitálního podpisu je velmi důležitá. To zahrnuje výběr spolehlivých hashovacích funkcí a kryptografických systémů.

  • Rozvinutí. Pokud jsou algoritmy dobré, ale implementace není dobrá, systém digitálního podpisu bude mít pravděpodobně chyby.

  • Soukromý klíč. Pokud dojde k úniku nebo nějakému ohrožení soukromých klíčů, vlastnosti autentizace a neodmítnutí budou zrušeny. Pro uživatele kryptoměn může ztráta soukromých klíčů vést k významným finančním ztrátám.


Elektronický podpis a digitální podpis

Zjednodušeně řečeno, elektronický podpis označuje konkrétní typ elektronického podpisu – označuje jakýkoli elektronický způsob podepisování dokumentů a zpráv. Proto jsou všechny digitální podpisy elektronickými podpisy, ale opak není vždy pravdou.

Hlavním rozdílem mezi nimi je metoda ověřování. Digitální podpisy implementují kryptografické systémy, jako jsou hashovací funkce, kryptografie s veřejným klíčem a šifrovací techniky.


Uzavřít

Hashovací funkce a kryptografie s veřejným klíčem jsou jádrem systémů digitálního podpisu, které se nyní používají v široké škále případů použití. Pokud jsou digitální podpisy provedeny správně, mohou zvýšit bezpečnost, zajistit integritu a usnadnit ověřování všech typů digitálních dat.

V oblasti blockchainu se digitální podpisy používají k podepisování a autorizaci transakcí kryptoměn. Jsou zvláště důležité pro bitcoiny, protože podpisy zajišťují, že mince mohou utratit pouze jednotlivci, kteří vlastní odpovídající soukromý klíč.

Přestože elektronické i digitální podpisy používáme již řadu let, stále je zde velký prostor pro růst. Velká část dnešní byrokracie je stále papírová, ale s přechodem na digitalizovanější systém pravděpodobně uvidíme větší přijetí systémů digitálního podpisu.