Ako sa v Cardane používa podpis s evolúciou kľúča?
Schéma Key-Evolving Signature je typ digitálnej podpisovej schémy, ktorú používa Cardano na ochranu nemennosti účtovnej knihy. Súkromné kľúče, ktoré sa používajú na podpisovanie blokov, sa v pravidelných intervaloch obmieňajú. Staré kľúče sa vymazávajú, aby sa nedali použiť na falšovanie blokov vytvorených v minulosti. Pozrime sa na tento mechanizmus bližšie.
Pochopenie dopredného zabezpečenia
Tradičná podpisová schéma je metóda overovania pravosti a integrity digitálnych správ alebo dokumentov. Umožňuje odosielateľovi pripojiť k správe reťazec údajov nazývaný podpis, ktorý môže ktokoľvek overiť pomocou verejného kľúča odosielateľa.
Vysvetlíme Vám, ako funguje tradičná podpisová schéma, aby ste ľahšie pochopili zabezpečenie dopredu.
Podpisová schéma sa zvyčajne skladá z troch algoritmov: algoritmu generovania kľúča, algoritmu podpisovania a algoritmu overovania.
Odosielateľ (autor správy) vygeneruje sadu kľúčov, súkromného a verejného. Súkromný kľúč musí starostlivo strážiť a verejný kľúč musí poskytnúť všetkým, ktorí chcú správu overiť (overovateľom). Odosielateľ tzv. podpíše správu (zvyčajne digest/hash správy) súkromným kľúčom. Všetci overovatelia môžu overiť jej pravosť a integritu prostredníctvom verejného kľúča.
Príjemcovia (overovatelia) správy majú istotu, že ju vygeneroval autor (vlastník súkromného kľúča) a že správa nebola zmenená. Bezpečnosť je založená na predpoklade, že súkromný kľúč nie je kompromitovaný.
Na nasledujúcom obrázku môžete vidieť všetky procesy a použitie kryptografických kľúčov pri bezpečnom odosielaní správy cez internet (nebezpečná zóna) medzi Alicou a Bobom. Alica starostlivo uložila vygenerovaný súkromný kľúč a zdieľala verejný kľúč s Bobom. Potom podpísala správu a poslala ju Bobovi, ktorý ju mohol overiť prostredníctvom verejného kľúča.
Opísané princípy by mali byť známe všetkým používateľom kryptomien, pretože niečo podobné sa deje pri podpisovaní transakcií a ich odosielaní do siete blockchain.
Predstavte si, že Bob je blockchainová sieť, ktorá overuje, či Alica môže minúť digitálne aktíva. Ak áno, sieť zapíše transakciu do blockchainu (prostredníctvom bloku) a niekto iný získa právo minúť aktíva. Ak Alica dobre chráni svoj súkromný kľúč, nikto iný na svete nemôže minúť jej digitálne aktíva.
Tradičná schéma digitálneho podpisu sa spolieha na predpoklad, že tajný kľúč nikdy neunikne ani ho neukradne protivník. Tento predpoklad však v skutočnosti nemusí platiť v dôsledku rôznych faktorov, ako sú poruchy hardvéru, softvérové chyby, útoky škodlivého softvéru alebo ľudské chyby. Ak protivník získa tajný kľúč tradičnej schémy digitálneho podpisu, môže sfalšovať podpisy všetkých minulých alebo budúcich správ a znehodnotiť pravosť a integritu všetkých podpísaných správ.
Kľúčovo-vývojová podpisová schéma (KES) je typ digitálnej podpisovej schémy, ktorej cieľom je zabezpečiť bezpečnosť do budúcnosti.
Dopredná bezpečnosť znamená, že ak je tajný kľúč podpisovateľa v určitom časovom okamihu kompromitovaný, podpisy vytvorené pred týmto okamihom zostávajú platné a nefalšovateľné. To sa dosahuje rozdelením životnosti podpisovateľa na časové obdobia a použitím iného tajného kľúča pre každé obdobie. Tajný kľúč pre každé obdobie sa odvodí od predchádzajúceho a po použití sa vymaže. Verejný kľúč zostáva rovnaký pre všetky obdobia.
KES zabraňuje scenáru, keď protivník získa tajný kľúč, a tak je možné sfalšovať podpisy pre akékoľvek minulé alebo budúce správy. V takomto prípade môže protivník znehodnotiť pravosť a integritu všetkých podpísaných správ.
KES obmedzuje rozsah každého tajného kľúča na určité časové obdobie a zabezpečuje, aby sa staré tajné kľúče vymazali a nedali obnoviť. Preto aj keď protivník získa tajný kľúč na určité obdobie, môže falšovať podpisy len za toto obdobie, a nie za predchádzajúce alebo budúce obdobia.
Na obrázku nižšie vidíte čas rozdelený na 5 období. V prvom období podpisovateľ (odosielateľ) vygeneroval súkromný KĽÚČ 1 a verejný KĽÚČ 1. Verejný KĽÚČ 1 poskytol overovateľovi (príjemcovi). V druhej perióde bol vygenerovaný nový súkromný KĽÚČ 2 a potom bol súkromný KĽÚČ 1 vymazaný. Toto sa opakovalo v období 3, v ktorom bol vygenerovaný nový súkromný KĽÚČ 3 a súkromný KĽÚČ 2 bol vymazaný.
Všimnite si, že overovateľ vo všetkých obdobiach používa na overenie všetkých správ vždy ten istý verejný KĽÚČ 1.
Obdobie 3 je aktívne a na podpisovanie správ sa môže použiť len súkromný KĽÚČ 3. Súkromné kľúče KEY 1 a KEY 2 boli vymazané, takže správy 1 a 2 nemožno sfalšovať. Ak sa protivníkovi podarí získať súkromný KĽÚČ 3 (je jediný, ktorý v súčasnosti existuje), nemôže zmeniť minulosť, t. j. správy 1 a 2. Môže zmeniť iba správy v období 3. Ak protivník nie je schopný generovať kľúče pre budúce obdobia, nemôže zmeniť ani budúce správy.
Ako sa schéma KES používa v Cardane
Cardano musí zabezpečiť nemennosť blockchainu. Schéma KES sa používa na podpisovanie blokov prevádzkovateľmi fondu podielov.
Na bezpečnú prevádzku poolu je potrebné generovať viacero kľúčov. V tomto článku sa zameriame len na kľúče KES. Na úplné pochopenie témy je potrebné poznať celý proces generovania kľúčov, vytvárania certifikátov a používania všetkých kľúčov.
Prevádzkovateľ fondu kolkov potrebuje mať tri typy kľúčov: kľúč fondu kolkov (nazývaný aj kľúč prevádzkovateľa), pár kľúčov KES a pár kľúčov VRF. Kľúčové páry sú nevyhnutným predpokladom na konfiguráciu uzla fondu (v horúcom úložisku musia byť podpisové kľúče VRF a KES) a vytváranie certifikátov.
Kľúč fondu kolkov je offline kľúčový pár (uložený v studenom úložisku), ktorý identifikuje fond kolkov (presnejšie povedané, je to hash kľúča). Podpisový kľúč fondu kolkov sa používa na podpisovanie certifikátov.
Pár kľúčov KES je online pár kľúčov (podpisový kľúč KES je uložený v horúcom úložisku v uzle), ktorý overuje výrobcu bloku a vyvíja sa v čase. Overovací kľúč KES sa používa na overovanie podpisov novo vyrazených blokov fondom.
Pár kľúčov VRF je ďalší online pár kľúčov, ktorý sa používa na súkromnú lotériu (voľba lídra slotu) a dokazuje právo raziť blok v danom slote. V tomto článku sa zameriame na kľúče KES.
Najskôr je potrebné zaregistrovať fond kolkov prostredníctvom certifikátu register stake pool. Tento certifikát obsahuje okrem iného overovací kľúč (ID) fondu stávok a overovací kľúč VRF. Registráciu poolu nie je potrebné pravidelne obnovovať. Na obnovenie kľúča KES sa používa certifikát prevádzkového kľúča. Ako uvidíte neskôr, tento certifikát sa obnovuje v pravidelných intervaloch. Oba certifikáty musia byť podpísané podpisovým kľúčom fondu kolkov.
Podpísaním certifikátu prevádzkového kľúča podpisovým kľúčom fondu kolkov (cold storage) prevádzkovateľ fondu prenáša právo na podpisovanie blokov kľúčom KES.
Certifikát prevádzkového kľúča obsahuje dva overovacie (verejné) kľúče: Kľúč fondu kolkov a kľúč KES. Ďalej počítadlo certifikátov a dobu platnosti. Obdobie platnosti udáva, na koľko časových úsekov (alebo slotov) je certifikát platný. Certifikát prevádzkového kľúča sa odovzdáva do siete a ukladá sa do blockchainu.
Všetky uzly sledujú informácie potrebné na overenie. Kľúče VRF a počítadlo certifikátov sú informácie, ktoré majú uzly okamžite k dispozícii bez toho, aby museli vyhľadávať v blockchaine.
Všetci prevádzkovatelia poolov musia vytvoriť a predložiť certifikáty prevádzkových kľúčov do blockchainu. Certifikáty prevádzkových kľúčov predstavujú prepojenie medzi offline kľúčmi prevádzkovateľov a prevádzkovými (horúcimi) kľúčmi. Certifikát obsahuje overovací kľúč KES a musí byť podpísaný podpisovým kľúčom kôl poolu (cold storage). Nové bloky musia byť podpísané podpisovým kľúčom KES (horúce úložisko).
Certifikáty umožňujú všetkým uzlom v sieti overiť pravosť a integritu blokov prostredníctvom overovacích kľúčov KES.
Na nasledujúcom obrázku môžete vidieť vytvorenie certifikátu operačného kľúča. Všimnite si hlavne podpísanie certifikátu podpisovým kľúčom fondu kolkov (kľúčom operátora). Ak by boli kompromitované horúce súkromné kľúče, protivník stále nemá prístup k súkromnému kľúču operátora, ktorý je v chladnom úložisku.
Ak prevádzkovateľ zistí, že súkromné (horúce) kľúče boli kompromitované, stačí vytvoriť a predložiť nový certifikát prevádzkového kľúča so zvýšeným počítadlom certifikátov. Tým sa zruší platnosť predchádzajúceho certifikátu.
Na nasledujúcom obrázku vidíte, že blok N+1 obsahuje certifikát operačného kľúča s počítadlom, ktoré má hodnotu N. Prevádzkovateľ poolu sa rozhodol predložiť nový certifikát s počítadlom, ktoré má hodnotu N+1. Stalo sa tak v bloku N+5. Starší certifikát je teraz neplatný.
Ako sme už povedali, všetky certifikáty (v tomto kontexte certifikát registrácie poolu kolkov a certifikát prevádzkového kľúča) sú uložené v blockchaine, takže sú dostupné každému plnohodnotnému uzlu v sieti. To je dôležité na overovanie blokov, ktoré uzol prijíma zo siete.
Na podpísanie bloku v danom slote musí výrobca bloku použiť súkromný kľúč KES. Predtým uzol vloží do hlavičky bloku výstup VRF a dôkaz VRF (a niekoľko ďalších vecí). Podpisový kľúč KES sa používa na generovanie podpisu, ktorý môže ktokoľvek overiť pomocou príslušného overovacieho kľúča KES z prevádzkového certifikátu. Spojenie medzi novo vyrazeným blokom a certifikátom (ktorý obsahuje kľúč KES) je hash kľúča (ID) fondu kolkov. ID je tiež súčasťou hlavičky bloku. Pre uzol je teda jednoduché vziať ID zo záhlavia bloku a použiť ho na nájdenie príslušného certifikátu (overovacieho kľúča KES) v lokálnej sade certifikátov.
Funkcia VRF sa používa na generovanie dôkazu, ktorý môže ktokoľvek overiť pomocou verejného kľúča VRF z registračného certifikátu fondu kolkov. Dôkaz ukazuje, že výrobca bloku bol zvolený funkciou VRF na základe poskytnutých vstupov: ID slotu, nonce, podpisový kľúč VRF a celkový podiel fondu (výstup VRF sa porovnáva s prahom, ktorý sa vypočíta na základe podielu).
Na nasledujúcom obrázku môžete vidieť razenie a overovanie nového bloku. Registračný certifikát fondu podielov a certifikát prevádzkového kľúča fondu (výrobcu bloku) sú už v blockchaine a podpísané podpisovým kľúčom fondu podielov (cold storage). Na obrázku je v blockchaine iba jeden blok. Overovací uzol má všetky overovacie kľúče a údaje, ktoré potrebuje na overenie blokov vo svojich lokálnych stavoch. Kľúče a údaje boli získané z certifikátov, ktoré boli uložené v blockchaine pred razením bloku. Uzol tvorca bloku vloží do bloku ID fondu (kľúč fondu overovacích kolkov), výstup a dôkaz VRF a ďalšie údaje na overenie. Potom blok podpíše podpisovým kľúčom KES. Uzol verifikátora môže blok ľahko overiť kontrolou údajov VRF a podpisu KES (a ďalších vecí). Všimnite si, ako verifikačný uzol vytvoril potrebný lokálny stav z údajov uložených v blockchaine.
Na aktualizáciu tajného kľúča KES na ďalšie časové obdobie musí výrobca bloku použiť vopred definovaný algoritmus, ktorý odvodí nový tajný kľúč KES zo starého a potom starý kľúč vymaže. Týmto spôsobom je v každom čase uložený len jeden súkromný kľúč KES a nie je možné ho použiť na falšovanie podpisov za predchádzajúce obdobia. Verejný kľúč KES zostáva nezmenený, takže nie je potrebné aktualizovať prevádzkový certifikát ani ho znovu registrovať v blockchaine.
Kľúč sa automaticky vyvíja po každej perióde 129 600 (jeden a pol dňa, počas tejto doby sa vytvorí približne 6 500 blokov) slotov a môže sa vyvíjať až 62-krát, kým ho bude potrebné obnoviť. Inými slovami, jedno obdobie trvá 129 600 slotov (sekúnd). Certifikát operačného kľúča má životnosť 90 dní, po uplynutí ktorej sa stáva neplatným. To nabáda prevádzkovateľov bazénov, aby pravidelne obmieňali svoje operačné kľúče.
Na obrázku nižšie môžete vidieť, ako sa pravidelne každú periódu generujú nové kľúče KES a po 3 mesiacoch sa generuje nový certifikát prevádzkového kľúča. Uzol Cardano môže v každom období vyraziť niekoľko blokov v závislosti od veľkosti podielu.
Výhodou použitia schémy KES v systéme Cardano je, že poskytuje silnejšie bezpečnostné záruky v prípade odhalenia kľúča. Ak protivník získa súkromný kľúč KES výrobcu blokov, môže falšovať podpisy len za aktuálne obdobie, ale nie za predchádzajúce alebo budúce obdobia. Okrem toho nemôže prepísať históriu ani vytvoriť vidlice, pretože nemá prístup ku kľúču VRF ani kľúču operátora. Používanie schém KES preto znižuje riziko straty kontroly nad fondom kolkov alebo ohrozenia jeho reputácie.
Schéma KES zabezpečuje, že história blockchainu Cardano je nemenná. Bezpečnosť je založená na predpoklade, že prevádzkovatelia poolu dodržiavajú protokol a mažú staré kľúče KES a sieť je vysoko decentralizovaná, t. j. existuje čo najviac prevádzkovateľov poolu. Čím viac operátorov (signatárov) je, tým menšie je riziko, že budú navzájom spolupracovať s cieľom kompromitovať sieť.
Ak prevádzkovatelia poolu nevymažú predchádzajúce súkromné kľúče podľa očakávania, mohli by ich potenciálne predať alebo uniknúť protivníkovi, ktorý by ich potom mohol použiť na falšovanie podpisov blokov, ktoré boli pridané v minulých obdobiach. Tým by sa narušila vlastnosť doprednej bezpečnosti schémy a umožnilo by to protivníkovi manipulovať s históriou podpísaných blokov.
Prevádzkovatelia aktívneho fondu sú ekonomicky motivovaní strážiť súkromné kľúče KES, ak ich nevymažú a ponechajú si ich na neskoršie použitie. Prevádzkovatelia, ktorí ukončia činnosť (a predajú všetky mince ADA), už nemajú ekonomickú motiváciu udržiavať sieť Cardano bezpečnú a môžu potenciálne predať staré kľúče KES. Je dôležité poznamenať, že kľúče od jedného operátora umožnia prepísať len malú časť blokov v závislosti od toho, aký bol podiel operátora a ako dlho bloky produkoval. Na prepísanie histórie blockchainu by musel protivník získať viac ako polovicu starých kľúčov.
Desiatky najväčších prevádzkovateľov alebo stovky menších by museli porušiť pravidlá protokolu a zámerne si ponechať kľúče na tento účel. To sa zdá byť veľmi nepravdepodobné.
V budúcnosti bude možné aj toto riziko eliminovať prostredníctvom tzv. one-shot signature cryptography. Tá umožňuje použiť súkromný kľúč len na jeden podpis. Následne sa súkromný kľúč môže zverejniť bez toho, aby spôsobil akúkoľvek škodu v kontexte digitálneho podpisu, na ktorý bol použitý.
Záver
Kryptografia KES a VRF umožňuje spoločnosti Cardano zabezpečiť nemennosť blockchainu a náhodný výber lídra slotu (uzla, ktorý získa právo vytvoriť blok v danom slote) efektívnym spôsobom, t. j. bez použitia Proof-of-Work (PoW). PoW plní v podstate rovnakú úlohu. V sieti PoW bude blok ťažiť uzol, ktorý ako prvý nájde riešenie zložitej kryptografickej úlohy (náhodný výber uzla). Ťažba bloku si vyžaduje vynaloženie obrovského množstva energie, čo v podstate zabraňuje prepísaniu histórie blockchainu. Prepísanie histórie je možné za predpokladu, že sa opäť vynaloží rovnaké množstvo energie a reťaz protivníka sa stane najdlhšou reťazou.
Dosiahnutie vyššej účinnosti pri zabezpečovaní náhodného výberu a nemennosti účtovnej knihy prostredníctvom modernej kryptografie je dôležitým technologickým pokrokom, najmä v kontexte dlhodobej ekonomickej udržateľnosti siete a ochrany životného prostredia.
Pôvodný článok: How is Key-Evolving Signature used in Cardano? | Cardano Explorer (cexplorer.io)