Digitální podpisy spoléhají na kryptografickou architekturu veřejného klíče k ověření pravosti dokumentu a identifikace odesílatele. Dva standardní způsoby, jak získat digitální podpisy, jsou algoritmy RSA (Rivest–Shamir–Adleman) a DSA (digitální podpis), ale oba se liší v provádění šifrovacích a dešifrovacích funkcí.

Článek poskytuje přehled jednoho ze standardních algoritmů DSA, jeho pracovní proces se stručným přehledem generování a ověřování klíče a podpisu, kroky zahrnuté v celkovém procesu, jeho klady/proti a jeho aplikace.

Úvod do algoritmů digitálního podpisu

DSA (Digital Signature Algorithm) zahrnuje algebraické vlastnosti problémů s diskrétním logaritmem a modulární umocňování pro generování elektronického podpisu pro různé aplikace. Byl navržen v roce 1991 a byl přijat jako federální standard pro zpracování informací NIST (Národní institut pro standardy a technologie) v roce 1994.

Většina algoritmů pro vytváření digitálního podpisu se řídí typickou technikou podepisování výtahu zprávy (hash skutečné zprávy) zdrojovým soukromým klíčem k vytvoření digitálního otisku.

V DSA je však situace odlišná, protože generuje dva podpisy začleněním dvou komplexních a jedinečných funkcí podepisování a ověřování. Algoritmus DSA tedy nepředstavuje jednoduché použití soukromých a veřejných klíčů na začátku a na konci komunikace.

Význam algoritmu digitálního podpisu

Vzhledem k neustále rostoucím kybernetickým hrozbám je vždy, když uživatel posílá data přes internet, nutné identifikovat a ověřit pravost vlastníka. Musíme zajistit, aby vlastník dokumentu byl důvěryhodný a že během přenosu nikdo neprovedl žádné změny.

Digitální podpisy jsou elektronické podpisy, které pomáhají příjemci ověřit původ zprávy. Tyto elektronické podpisy můžete vytvářet pomocí různých algoritmů a DSA je jedním z nich. V DSA odesílatel vytvoří digitální podpis, který jej začlení do zprávy, takže jej kdokoli může ověřit na přijímací straně.

Výhody, které DSA nabízí, jsou:

  • Neodmítnutí: po ověření podpisu odesílatel nemůže tvrdit, že data neodeslal.
  • Integrita: úprava dat během přenosu zabraňuje konečnému ověření nebo dešifrování zprávy.
  • Ověření zprávy: pravá kombinace soukromých/veřejných klíčů pomáhá ověřit původ odesílatele.

Jak algoritmus ověřuje odesílatele?

Algoritmus DSA pracuje na systematickém výpočetním mechanismu, který počítá hodnotu hash a digitální podpis tvořící dvě 160bitová čísla z výtahu zprávy a soukromého klíče. Díky náhodnosti je podpis nedeterministický. Pro autentizaci podpisu používá veřejný klíč, který je mnohem složitější než RSA.

Cyklus DSA se řídí těmito třemi hlavními kroky k dokončení procesu:

  • Generování klíčů: Proces se opírá o koncept modulárního umocňování k získání soukromých (x) a veřejných (y) klíčů, které splňují matematické podmínky 0 < x < q a y = gx mod p. Kde q je prvočíslo, p je prvočíslo a g splňuje podmínky g**q mod p = 1 a g = h**((p–1)/q) mod p. Tím se vytvoří balíčky soukromých a veřejných klíčů {p, q, g, x} a {p, q, g, y}.
  • Generování podpisu: Hašovací algoritmus generuje výtah zprávy, který je předán jako vstup do podepisovací funkce za účelem vytvoření dvou proměnných výstupy, r a s, zabalené jako podpis {r, s} tak, že zpráva a tyto proměnné jsou odeslány jako svazek do přijímač.
  • Ověření podpisu: Proces využívá funkci hašování k výstupu výtahu a začleňuje proměnné s s dalšími parametry z kroku generování klíče k vytvoření ověřovací komponenty v. Verifikační funkce porovnává vypočítanou proměnnou v s parametrem r ze svazku {M, s, r}.

Abychom výše uvedený proces shrnuli nematematicky:

  • Klíče vytvoříte pomocí algoritmu generování klíčů pro podepsání dokumentu.
  • Poté použijte k vygenerování podpisu algoritmus digitálního podpisu.
  • Použijte a hashovací funkce pro vytvoření výtahu zprávya zkombinujte jej s DSA za účelem vygenerování digitálního podpisu.
  • Odešlete podpis s daty pro příjemce k ověření.
  • Přijímač ověřuje podpis pomocí ověřovacího algoritmu. Je to hashovací funkce použitá výše k vytvoření výtahu zprávy.

Výhody použití algoritmu digitálního podpisu

  • Rychlý výpočet podpisu
  • Vyžaduje méně úložného prostoru pro celý proces
  • Volně dostupné (bez patentu) pro bezplatné globální použití.
  • Malá délka podpisu
  • Pozorování v reálném čase
  • Neinvazivní
  • DSA je celosvětově akceptováno pro dodržování právních předpisů.
  • Časově efektivní (nízká časová náročnost ve srovnání s procesy fyzického podepisování atd.)

Nevýhody použití algoritmu digitálního podpisu

  • Proces nezahrnuje možnosti výměny klíčů.
  • The základní kryptografie musí být nové, aby byla zajištěna jeho pevnost.
  • Standardizace prodejců počítačového hardwaru a softwaru na RSA může způsobit problémy kvůli druhému standardu ověřování DSA.
  • Složité operace se zbytkem vyžadují spoustu času na výpočet, a tedy i ověření podpisu.
  • Zajišťuje pouze autentizaci, nikoli důvěrnost, protože algoritmus data nešifruje.
  • Algoritmy DSA vypočítávají hash SHA1, aby vygenerovaly výtah zprávy. Odráží tedy všechny nedostatky hašovací funkce SHA1 v algoritmu.

DSA VS RSA

Digital Signature Algorithm je algoritmus šifrování asymetrického klíče přijatý agenturami USA pro tajnou a neutajovanou komunikaci. Zatímco RSA je kryptografický algoritmus s veřejným klíčem, který také používá modulární aritmetiku, jeho síla se opírá o problém faktorizace prvočísel pro zabezpečení komunikace a digitálních podpisů. Na rozdíl od běžných šifrovacích algoritmů, jako je RSA, je DSA standardem pouze pro digitální podpisy.

Přestože oba zahrnují různé matematické algoritmy, šifrovací síla je ekvivalentní. Hlavní rozdíl mezi těmito dvěma algoritmy se zužuje na rychlost, výkon a podporu protokolu SSH.

  • Na rozdíl od DSA je RSA pomalé v dešifrování, generování klíčů a ověřování, ale rychlé v šifrování a podepisování. Ověření však vyžaduje obojí a rozdíly v rychlosti jsou v aplikacích v reálném světě zanedbatelné.
  • Další rozdíl spočívá v podpoře síťového protokolu Secure Shell. RSA podporuje původní SSH a jeho zabezpečenou druhou verzi SSH2, zatímco DSA funguje pouze s SSH2.

Ověřte zdroj dat pomocí DSA

Digitální podpisy jsou v dnešním propojeném světě potřeba k vytvoření bezpečného a zabezpečeného prostředí. Jsou skvělým způsobem, jak ověřit jakýkoli záznam přes internet. Článek představuje algoritmy digitálního podpisu se stručným přehledem jejich pracovního procesu, výhodami, nevýhodami, bezpečnostními omezeními a srovnáním s RSA.

TLS vs. SSL: Jaký je rozdíl a jak to funguje

O těchto dvou šifrovacích protokolech se často mluví společně, ale co to je a jak fungují?

Přečtěte si další

PodíltweetE-mailem
Související témata
  • Bezpečnostní
  • Digitální podpisy
O autorovi
Rumaisa Niazi (17 zveřejněných článků)

Rumaisa je spisovatelkou na volné noze v MUO. Nosila mnoho klobouků, od matematičky po nadšence pro informační bezpečnost, a nyní pracuje jako analytička SOC. Mezi její zájmy patří čtení a psaní o nových technologiích, linuxových distribucích a všem kolem Information Security.

Více od Rumaisa Niazi

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem