🇨🇿 Jak je v Cardano využité Key-Evolving Signature schéma?

Schéme Key-Evolving Signature je typ schématu digitálního podpisu, které Cardano používá k ochraně neměnnosti blockchainu. Soukromé klíče, které se používají k podepisování bloků, se v pravidelných intervalech střídají. Staré klíče jsou smazány, takže je nelze použít pro falšování bloků vyrobených v minulosti. Pojďme se na tento mechanismus podívat blíže.

Pochopení dopředné bezpečnosti

Tradiční podpisové schéma je metoda ověřování pravosti a integrity digitálních zpráv nebo dokumentů. Umožňuje odesílateli připojit ke zprávě řetězec dat, nazývaný podpis, který může kdokoli ověřit pomocí veřejného klíče odesílatele.

Pojďme si vysvětlit, jak funguje tradiční schéma podpisu, aby vám usnadnilo pochopení dopředného zabezpečení.

Podpisové schéma se obvykle skládá ze tří algoritmů: algoritmu generování klíče, podpisového algoritmu a ověřovacího algoritmu.

Odesílatel (autor zprávy) vygeneruje sadu klíčů, soukromých a veřejných. Musí pečlivě střežit soukromý klíč a veřejný klíč poskytnout všem, kdo chtějí zprávu ověřit (ověřovatelům). Odesílatel tzv. podepisuje zprávu (obvykle digest/hash zprávy) soukromým klíčem. Všichni ověřovatelé mohou ověřit jeho pravost a integritu prostřednictvím veřejného klíče.

Příjemci (ověřovatelé) zprávy mají jistotu, že ji vygeneroval autor (vlastník soukromého klíče) a že zpráva nebyla změněna. Zabezpečení je založeno na předpokladu, že soukromý klíč není kompromitován.

Na obrázku níže můžete vidět všechny procesy a použití kryptografických klíčů při bezpečném odesílání zprávy přes internet (nebezpečná zóna) mezi Alicí a Bobem. Alice pečlivě uložila vygenerovaný soukromý klíč a sdílela veřejný klíč s Bobem. Poté zprávu podepsala a odeslala Bobovi, který ji mohl ověřit pomocí veřejného klíče.

Popsané principy by měli znát všichni uživatelé kryptoměn, jelikož něco podobného se děje při podepisování transakcí a jejich odesílání do blockchainové sítě.

Představte si, že Bob je blockchainová síť, která ověřuje, zda Alice může utrácet aktiva. Pokud ano, síť zapíše transakci do blockchainu (skrze blok) a někdo jiný získá právo aktiva utratit. Pokud Alice dobře ochrání svůj soukromý klíč, nikdo jiný na světě nemůže utratit její digitální majetek.

Tradiční schéma digitálního podpisu se opírá o předpoklad, že tajný klíč nikdy neprozradí nebo neukradne protivník. Tento předpoklad však nemusí platit ve skutečnosti kvůli různým faktorům, jako jsou selhání hardwaru, softwarové chyby, útoky malwaru nebo lidské chyby. Pokud protivník získá tajný klíč tradičního schématu digitálního podpisu, může zfalšovat podpisy pro jakékoli minulé nebo budoucí zprávy a zneplatnit pravost a integritu všech podepsaných zpráv.

Klíčové schéma podpisu (KES) je typ schématu digitálního podpisu, jehož cílem je zajistit dopřednou bezpečnost.

Dopředná bezpečnost znamená, že pokud je tajný klíč podepisujícího v určitém okamžiku ohrožen, podpisy vygenerované před tímto okamžikem zůstávají platné a nezfalšovatelné. Toho je dosaženo rozdělením doby trvání signatáře do časových období a použitím jiného tajného klíče pro každé období. Tajný klíč pro každé období je odvozen z předchozího a po použití je vymazán. Veřejný klíč zůstává stejný pro všechna období.

KES zabraňuje scénáři, kdy protivník získá tajný klíč a je tak možné padělat podpisy pro jakékoli minulé nebo budoucí zprávy. V takovém scénáři může protivník zneplatnit pravost a integritu všech podepsaných zpráv.

KES omezuje rozsah každého tajného klíče na konkrétní časové období a zajišťuje, že staré tajné klíče budou vymazány a neobnovitelné. Proto, i když protivník získá tajný klíč pro určité období, může zfalšovat podpisy pouze pro toto období, nikoli pro jakékoli předchozí nebo budoucí období.

Na obrázku níže vidíte čas rozdělený do 5 období. V prvním období podepisující osoba (odesílatel) vygenerovala soukromý KEY 1 a veřejný KEY 1. Veřejný KEY 1 sdílel s ověřovatelem (příjemcem). V období 2 byl vygenerován nový soukromý KEY 2 a poté byl soukromý KEY 1 smazán. Toto se opakovalo v období 3, ve kterém byl vygenerován nový soukromý KEY 3 a soukromý KEY 2 byl smazán.

Všimněte si, že ověřovatel ve všech obdobích vždy používá stejný veřejný KEY 1 k ověření všech zpráv.

Období 3 je aktivní a k podepisování zpráv lze použít pouze soukromý KEY 3. Soukromé klíče KEY 1 a KEY 2 byly smazány, takže zprávy 1 a 2 nelze zfalšovat.

Pokud se protivníkovi podaří získat soukromý KEY 3 (je jediný, který v současnosti existuje), nemůže změnit minulost, tedy zprávy 1 a 2. Může změnit pouze zprávy v období 3. Pokud protivník není schopen klíče vygenerovat pro budoucí období není schopen měnit ani budoucí zprávy.

Jak se KES používá v Cardano

Cardano musí zajistit neměnnost blockchainu. KES se používá pro podepisování bloků operátory stake poolů.

Pro bezpečný provoz poolu je nutné vygenerovat více klíčů. V tomto článku se zaměříme pouze na KES. Pro plné pochopení tématu je nutné znát celý proces generování klíčů.

Operátor staking poolu musí mít tři typy klíčů: klíč operátora, pár klíčů KES a pár klíčů VRF.

Klíč operátora je offline pár klíčů, který identifikuje staking pool a obsahuje počítadlo certifikátů pro nové certifikáty. Klíčový pár KES je online pár klíčů, který ověřuje producenta bloků a v průběhu času se vyvíjí. Klíčový pár VRF je další online pár klíčů, který prokazuje právo vytvořit blok v daném slotu.

K vytvoření provozního certifikátu pro uzel produkující bloky musí pool operátor použít klíč operátora a pár klíčů KES. Provozní certifikát obsahuje veřejné klíče operátora i KES, dále počítadlo certifikátů a dobu platnosti. Doba platnosti udává, po kolik časových období (nebo slotů) je certifikát platný. Provozní certifikát je poté zaregistrován na blockchainu a uložen v uzlu.

Všichni provozovatelé poolu musí vytvořit a odeslat provozní certifikáty do blockchainu. Provozní certifikáty představují spojení mezi offline klíči operátora a provozními (horkými) klíči. Certifikáty umožňují všem uzlům v síti ověřit pravost a integritu bloků.

Na obrázku níže můžete vidět vytvoření provozního certifikátu. Všimněte si hlavně podepsání certifikátu soukromým klíčem operátora. Pokud byly ohroženy horké soukromé klíče, protivník stále nemá přístup k soukromému klíči operátora, který je v cold úložišti.

Kdyby operátor zjistil že byly hot keys kompromitovány, stačí vytvořit a submitovat nový certifikát se zvýšeným certificate counter. Tím znevalitní předchozí certifikát.

Všechny provozní certifikáty jsou uloženy v blockchainu, takže jsou dostupné každému úplnému uzlu v síti. To je důležité pro ověření bloků, které uzel přijímá ze sítě.

Pro podepsání bloku v daném slotu musí výrobce bloku použít soukromý klíč KES a klíč VRF. Tajný klíč KES se používá ke generování podpisu, který může kdokoli ověřit pomocí veřejného klíče KES v provozním certifikátu. Klíč VRF se používá ke generování důkazu, který může kdokoli ověřit pomocí veřejného klíče VRF v provozním certifikátu. Důkaz ukazuje, že výrobce bloku byl vybrán pomocí funkce Verifiable Random Function (VRF) na základě jejich staku a čísla slotu.

Na obrázku níže můžete vidět výrobu nového bloku. Uzel výrobce bloků předložil blockchainu provozní certifikát. Všechny ověřovací uzly v síti mají všechny veřejné klíče, které potřebují k ověření bloků. Uzel výrobce bloku vloží do bloku důkaz VRF a další data pro ověření. Poté podepíše blok pomocí klíče KES. Uzly mohou snadno ověřit blok kontrolou důkazu VRF, dat a podpisu KES. Všimněte si, jak se blockchain používá k distribuci veřejných klíčů.

K aktualizaci tajného klíče KES na další časové období musí výrobce bloku použít předdefinovaný algoritmus, který odvozuje nový tajný klíč KES ze starého a poté ten starý vymaže. Tímto způsobem je v každém okamžiku uložen pouze jeden soukromý klíč KES a nelze jej použít k falšování podpisů za předchozí období. Veřejný klíč KES zůstává nezměněn, takže není potřeba aktualizovat provozní certifikát ani jej znovu registrovat na blockchainu.

Klíč se automaticky vyvine po každé periodě 129 600 (jeden a půl dne, během této doby se vyrobí přibližně 6 500 bloků) slotů a může se vyvinout až 62krát, než bude nutné jej obnovit. Jinými slovy, jedna perioda trvá 129 600 slotů (sekund). Provozní certifikát má životnost 90 dnů, po uplynutí této doby pozbývá platnosti. To motivuje provozovatele poolů, aby pravidelně střídali své provozní klíče.

Na obrázku níže můžete vidět, jak se pravidelně každé období generují nové klíče KES a po 3 měsících je vygenerován nový provozní certifikát. Uzel Cardano může razit několik bloků v každém období v závislosti na velikosti stake.

Výhodou použití KES v Cardano je, že poskytuje silnější záruky zabezpečení v případě odhalení klíče. Pokud protivník získá soukromý klíč KES výrobce bloků, může zfalšovat podpisy pouze pro aktuální období, nikoli však pro žádné předchozí nebo budoucí období. Navíc nemohou přepisovat historii ani vytvářet větve, protože nemají přístup ke klíči VRF nebo klíči operátora. Proto používání KES snižuje riziko ztráty kontroly nad staking poolem nebo ohrožení jeho reputace.

KES zajišťuje, že historie blockchainu Cardano je neměnná. Zabezpečení je založeno na předpokladu, že provozovatelé poolů dodržují protokol a mažou staré klíče KES a síť je vysoce decentralizovaná, tj. operátorů je co nejvíce. Čím více operátorů (signatářů) je, tím menší je riziko, že budou vzájemně spolupracovat za účelem kompromitace sítě.

Pokud provozovatelé poolů neodstraní předchozí soukromé klíče podle očekávání, mohli by je potenciálně prodat nebo vyzradit protivníkovi, který by je pak mohl použít k padělání podpisů pro bloky, které byly přidány v minulých obdobích. To by podkopalo dopřednou bezpečnostní vlastnost schématu a umožnilo protivníkovi manipulovat s historií podepsaných bloků.

Aktivní provozovatelé poolu jsou ekonomicky motivováni hlídat soukromé klíče KES, pokud je nesmažou a uchovávají pro pozdější použití. Operátoři, kteří ukončí podnikání (a prodají všechny ADA coiny), již nemají ekonomickou motivaci udržovat síť Cardano zabezpečenou a mohou potenciálně prodat staré klíče KES. Je důležité poznamenat, že klíče od jednoho operátora umožní přepsání pouze malé části bloků v závislosti na tom, o jaký podíl operátor stál a jak dlouho bloky produkoval. Aby mohl protivník přepsat historii blockchainu, musel by získat více než polovinu starých klíčů.

Desítky největších operátorů, nebo stovky menších by musely porušit pravidla protokolu a klíče si pro tento účel záměrně ponechat. To se zdá velmi nepravděpodobné.

V budoucnu lze i toto riziko eliminovat pomocí tzv. jednorázové podpisové kryptografie (one-shot signature scheme). To umožňuje použití soukromého klíče pouze pro jeden podpis. Následně může být soukromý klíč zveřejněn, aniž by došlo k poškození v kontextu digitálního podpisu, pro který byl použit.

Závěr

Kryptografie KES a VRF umožňuje Cardano zajistit neměnnost blockchainu a náhodný výběr vedoucího slotu (uzlu, který získá právo vytvořit blok v daném slotu) efektivním způsobem, tedy bez použití Proof-of -Práce (PoW). PoW plní v podstatě stejnou roli. V síti PoW uzel, který jako první najde řešení složitého kryptografického úkolu, vytěží blok (náhodný výběr uzlu). Těžba bloku zahrnuje vynaložení obrovského množství energie, což v podstatě zabraňuje přepsání historie blockchainu. Přepisování historie je možné za předpokladu, že se opět vynaloží stejné množství energie a řetězec protivníka se stane nejdelším řetězcem.

Dosažený vyšší efektivitu v zajištění náhodného výběru a nezměnitelnosti ledgeru skrze moderní kryptografii je důležitý technologický pokrok a to zejména v kontextu dlouhodobé ekonomické udržitelnosti sítě a ochrany životního prostředí.

Článek připravili Cardanians s podporou Cexplorer.

Přečtěte si článek v AJ: https://cexplorer.io/article/how-is-key-evolving-signature-used-in-cardano