Čo je digitálny podpis?
Domov
Články
Čo je digitálny podpis?

Čo je digitálny podpis?

Stredne pokro─Źil├Ż
Zverejnen├ę Aug 19, 2019Aktualizovan├ę Jan 31, 2023
7m

Digit├ílny podpis je kryptografick├Ż mechanizmus pou┼ż├şvan├Ż na overenie pravosti a┬áintegrity digit├ílnych ├║dajov. M├┤┼żeme to pova┼żova┼ą za digit├ílnu verziu be┼żn├Żch manu├ílnych podpisov, ale s┬ávy┼í┼íou ├║rov┼łou zlo┼żitosti a┬ábezpe─Źnosti.

Zjednodu┼íene je mo┼żn├ę digit├ílny podpis op├şsa┼ą ako k├│d, ktor├Ż je pripojen├Ż k┬áspr├íve alebo dokumentu. Po vygenerovan├ş k├│d funguje ako d├┤kaz, ┼że so spr├ívou po─Źas cesty od odosielate─ża k┬ápr├şjemcovi nikto nemanipuloval.

Hoci koncept zabezpe─Źenia komunik├ície pomocou kryptografie poch├ídza zo staroveku, mo┼żnos┼ą pou┼ż├şvania sch├ęmy digit├ílneho podpisu sa stala realitou v┬á70.┬árokoch 20.┬ástoro─Źia v─Ćaka rozvoju kryptografie pou┼żit├şm verejn├ęho k─ż├║─Źa (Public-Key Cryptography, PKC). Aby sme si mohli poveda┼ą, ako funguj├║ digit├ílne podpisy, mus├şme najprv porozumie┼ą z├íkladom ha┼íovac├şch funkci├ş a┬ákryptografie pou┼żit├şm verejn├ęho k─ż├║─Źa.


Hašovacie funkcie

Ha┼íovanie je jedn├Żm zo z├íkladn├Żch prvkov syst├ęmu digit├ílneho podpisu. Pri procese ha┼íovania ide o transform├íciu ├║dajov akejko─żvek ve─żkosti na v├Żstup s┬ápevnou ve─żkos┼ąou. To sa vykon├íva pomocou ┼ípeci├ílneho typu algoritmov zn├ímych ako ha┼íovacie funkcie. V├Żstup vygenerovan├Ż ha┼íovacou funkciou je zn├ímy ako ha┼íovacia hodnota alebo zhrnutie spr├ívy.

V┬ákombin├ícii s┬ákryptografiou je mo┼żn├ę pou┼żi┼ą takzvan├ę kryptografick├ę ha┼íovacie funkcie na generovanie ha┼íovacej hodnoty (zhrnutie), ktor├í funguje ako jedine─Źn├Ż digit├ílny odtla─Źok prsta. To znamen├í, ┼że ak├íko─żvek zmena vo vstupn├Żch ├║dajoch (spr├íve) by mala za n├ísledok ├║plne in├Ż v├Żstup (ha┼íovaciu hodnotu). Presne to je d├┤vod, pre─Źo sa kryptografick├ę ha┼íovacie funkcie vo ve─żkej miere pou┼ż├şvaj├║ na overenie pravosti digit├ílnych ├║dajov.


Kryptografia pou┼żit├şm verejn├ęho k─ż├║─Źa (PKC)

Kryptografia pou┼żit├şm verejn├ęho k─ż├║─Źa (PKC) ozna─Źuje kryptografick├Ż syst├ęm, ktor├Ż vyu┼ż├şva dvojicu k─ż├║─Źov: jeden verejn├Ż k─ż├║─Ź a┬ájeden priv├ítny k─ż├║─Ź. Tieto dva k─ż├║─Źe spolu matematicky s├║visia a┬áje mo┼żn├ę pou┼żi┼ą ich na ┼íifrovanie ├║dajov aj na digit├ílne podpisy.

Ako ┼íifrovac├ş n├ístroj je met├│da PKC bezpe─Źnej┼íia ako z├íkladn├ę met├│dy symetrick├ęho ┼íifrovania. Zatia─ż ─Źo star┼íie syst├ęmy sa spoliehaj├║ na rovnak├Ż k─ż├║─Ź na ┼íifrovanie aj de┼íifrovanie inform├íci├ş, PKC umo┼ż┼łuje ┼íifrovanie ├║dajov pomocou verejn├ęho k─ż├║─Źa a┬áde┼íifrovanie ├║dajov pomocou pr├şslu┼ín├ęho priv├ítneho k─ż├║─Źa.

Okrem toho mo┼żno sch├ęmu PKC pou┼żi┼ą aj pri generovan├ş digit├ílnych podpisov. Postup v┬ápodstate pozost├íva z┬áha┼íovania spr├ívy (alebo digit├ílnych ├║dajov) spolu s┬ápriv├ítnym k─ż├║─Źom podpisovate─ża. ─Äalej m├┤┼że pr├şjemca spr├ívy skontrolova┼ą, ─Źi je podpis platn├Ż, pou┼żit├şm verejn├ęho k─ż├║─Źa poskytnut├ęho podpisovate─żom.

V┬ániektor├Żch situ├íci├ích m├┤┼że by┼ą s├║─Źas┼ąou digit├ílnych podpisov ┼íifrovanie, ale nie je tomu tak v┼żdy. Napr├şklad blockchain Bitcoin vyu┼ż├şva PKC a┬ádigit├ílne podpisy, ale i┬ánapriek tomu, ┼że si to mno┼żstvo ─żud├ş mysl├ş, v┬átomto procese nie je ┼żiadne ┼íifrovanie. ─îo sa t├Żka technickej str├ínky, Bitcoin pou┼ż├şva na overovanie transakci├ş algoritmus s┬án├ízvom Elliptic Curve Digital Signature Algorithm (ECDSA).


Ako fungujú digitálne podpisy

V┬ákontexte kryptomien sa syst├ęm digit├ílneho podpisu ─Źasto sklad├í z┬átroch z├íkladn├Żch krokov: ha┼íovanie, podpisovanie a┬áoverovanie.

Hašovanie údajov

Prv├Żm krokom je ha┼íovanie spr├ívy alebo digit├ílnych ├║dajov. To sa dosiahne odoslan├şm ├║dajov pomocou ha┼íovacieho algoritmu, aby sa vygenerovala ha┼íovacia hodnota (t.┬áj. zhrnutie spr├ívy). Ako u┼ż bolo uveden├ę, ve─żkos┼ą spr├ív sa m├┤┼że v├Żrazne l├ş┼íi┼ą, ale po ha┼íovan├ş maj├║ v┼íetky ich ha┼íovacie hodnoty rovnak├║ d─║┼żku. Toto je najz├íkladnej┼íia vlastnos┼ą ha┼íovacej funkcie.

Ha┼íovanie ├║dajov v┼íak nie je nevyhnutn├ę na vytvorenie digit├ílneho podpisu, preto┼że na podp├şsanie spr├ívy, ktor├í v├┤bec nebola ha┼íovan├í, mo┼żno pou┼żi┼ą priv├ítny k─ż├║─Ź. V┬ápr├şpade kryptomien s├║ v┼íak ├║daje v┼żdy ha┼íovan├ę, preto┼że spracovanie zhrnut├ş s┬ápevnou d─║┼żkou cel├Ż postup u─żah─Źuje.

Podpisovanie

Po zaha┼íovan├ş inform├íci├ş mus├ş odosielate─ż spr├ívy spr├ívu podp├şsa┼ą. Toto je okamih, kedy do hry vstupuje kryptografia pou┼żit├şm verejn├ęho k─ż├║─Źa. Existuje viacero typov algoritmov digit├ílneho podpisu, z┬áktor├Żch ka┼żd├Ż m├í svoj vlastn├Ż mechanizmus. V┬áz├ísade v┼íak bude ha┼íovan├í spr├íva podp├şsan├í priv├ítnym k─ż├║─Źom a┬ápr├şjemca spr├ívy potom m├┤┼że skontrolova┼ą jej platnos┼ą pomocou pr├şslu┼ín├ęho verejn├ęho k─ż├║─Źa (poskytnut├ęho podpisovate─żom).

Inak povedan├ę, ak sa pri generovan├ş podpisu nepou┼żije priv├ítny k─ż├║─Ź, pr├şjemca spr├ívy nebude m├┤c┼ą pou┼żi┼ą pr├şslu┼ín├Ż verejn├Ż k─ż├║─Ź na overenie jeho platnosti. Verejn├Ż aj priv├ítny k─ż├║─Ź generuje odosielate─ż spr├ívy, ale s┬ápr├şjemcom sa zdie─ża iba verejn├Ż k─ż├║─Ź.

Treba poznamena┼ą, ┼że digit├ílne podpisy priamo s├║visia s┬áobsahom ka┼żdej spr├ívy. Tak┼że na rozdiel od manu├ílnych podpisov, ktor├ę b├Żvaj├║ rovnak├ę bez oh─żadu na spr├ívu, ka┼żd├í digit├ílne podp├şsan├í spr├íva m├í in├Ż digit├ílny podpis.

Overovanie

Po─Ćme sa pozrie┼ą na pr├şklad, ktor├Ż zn├ízor┼łuje cel├Ż proces a┼ż po z├ívere─Źn├Ż krok overenia. Predstavte si, ┼że Alica nap├ş┼íe spr├ívu Bobovi, zaha┼íuje ju a┬ápotom skombinuje hodnotu ha┼í so svoj├şm priv├ítnym k─ż├║─Źom, ─Ź├şm vytvor├ş digit├ílny podpis. Podpis bude fungova┼ą ako jedine─Źn├Ż digit├ílny odtla─Źok konkr├ętnej spr├ívy.

Ke─Ć Bob dostane spr├ívu, m├┤┼że skontrolova┼ą platnos┼ą digit├ílneho podpisu pomocou verejn├ęho k─ż├║─Źa, ktor├Ż mu poskytla Alica. Takto si Bob m├┤┼że by┼ą ist├Ż, ┼że podpis vytvorila Alica, preto┼że iba ona m├í priv├ítny k─ż├║─Ź, ktor├Ż zodpoved├í tomu verejn├ęmu k─ż├║─Źu (aspo┼ł to o─Źak├ívame).

Pre Alicu je teda mimoriadne d├┤le┼żit├ę, aby svoj priv├ítny k─ż├║─Ź udr┼żala v┬átajnosti. Ak sa Alicin priv├ítny k─ż├║─Ź dostane do r├║k inej osobe, t├í m├┤┼że vytv├íra┼ą digit├ílne podpisy a┬ápredstiera┼ą, ┼że je Alica. V┬ákontexte siete Bitcoin to znamen├í, ┼że niekto m├┤┼że pou┼żi┼ą priv├ítny k─ż├║─Ź Alice na presun alebo m├ş┼łanie jej bitcoinov bez jej s├║hlasu.


Pre─Źo s├║ digit├ílne podpisy d├┤le┼żit├ę?

Digit├ílne podpisy sa ─Źasto pou┼ż├şvaj├║ na dosiahnutie troch v├Żsledkov: integrita ├║dajov, overenie a┬ánepopierate─żnos┼ą.

  • Integrita ├║dajov. Bob si m├┤┼że overi┼ą, ┼że Alicina spr├íva sa po─Źas prenosu nezmenila. Ak├íko─żvek zmena v┬áspr├íve by vytvorila ├║plne in├Ż podpis.

  • Autenticita.┬áPokia─ż je Alicin priv├ítny k─ż├║─Ź uchovan├Ż v┬átajnosti, Bob m├┤┼że pou┼żi┼ą svoj verejn├Ż k─ż├║─Ź na potvrdenie, ┼że digit├ílne podpisy vytvorila Alice a┬ánikto in├Ż.

  • Nepopierate─żnos┼ą. Po vygenerovan├ş podpisu Alica nebude m├┤c┼ą v┬ábud├║cnosti poprie┼ą, ┼że ho podp├şsala, pokia─ż jej priv├ítny k─ż├║─Ź nebude nejak├Żm sp├┤sobom kompromitovan├Ż.


Pr├şpady pou┼żitia

Digit├ílne podpisy mo┼żno pou┼żi┼ą na r├┤zne druhy digit├ílnych dokumentov a┬ácertifik├ítov. Ako tak├ę maj├║ viacero pou┼żit├ş. Niektor├Żmi z┬ánajbe┼żnej┼í├şch pr├şpadov pou┼żitia s├║: ┬á

  • Informa─Źn├ę technol├│gie. Zv├Ż┼íenie bezpe─Źnosti internetov├Żch komunika─Źn├Żch syst├ęmov.

  • Financie.┬áDigit├ílne podpisy je mo┼żn├ę implementova┼ą do auditov, vy├║─Źtovan├ş v├Żdavkov, ├║verov├Żch zml├║v a┬áove─ża viac.

  • Pr├ívo.┬áDigit├ílne podpisovanie v┼íetk├Żch druhov obchodn├Żch zml├║v a┬ápr├ívnych doh├┤d vr├ítane vl├ídnych dokumentov.

  • Zdravotn├í starostlivos┼ą. Digit├ílne podpisy m├┤┼żu zabr├íni┼ą podvodom s┬ápredpismi a┬ázdravotn├Żmi z├íznamami.

  • Blockchain. Sch├ęmy digit├ílneho podpisu zais┼ąuj├║, ┼że transakciu na presun finan─Źn├Żch prostriedkov m├┤┼żu podp├şsa┼ą iba pr├ívoplatn├ş vlastn├şci kryptomien (pokia─ż nie s├║ kompromitovan├ę ich priv├ítne k─ż├║─Źe).


Obmedzenia

Hlavn├ę v├Żzvy, ktor├Żm ─Źelia sch├ęmy digit├ílneho podpisu, s├║ zalo┼żen├ę na minim├ílne 3┬ápo┼żiadavk├ích:┬á

  • Algoritmus. Kvalita algoritmov pou┼ż├şvan├Żch v┬ásch├ęme digit├ílneho podpisu je d├┤le┼żit├í. To zah┼Ľ┼ła v├Żber spo─żahliv├Żch ha┼íovac├şch funkci├ş a┬ákryptografick├Żch syst├ęmov.

  • Implement├ícia.┬áAk s├║ algoritmy dobr├ę, ale implement├ícia nie, syst├ęm digit├ílneho podpisu bude pravdepodobne obsahova┼ą nedostatky.

  • Priv├ítny k─ż├║─Ź. Ak d├┤jde k┬á├║niku alebo akejko─żvek kompromit├ícii priv├ítnych k─ż├║─Źov, vlastnosti pravosti a┬ánepopierate─żnosti bud├║ zneplatnen├ę. Pou┼ż├şvate─żom kryptomien m├┤┼że strata priv├ítneho k─ż├║─Źa sp├┤sobi┼ą zna─Źn├ę finan─Źn├ę straty.


Elektronick├ę podpisy versus digit├ílne podpisy

Jednoducho povedan├ę, digit├ílne podpisy sa t├Żkaj├║ jedn├ęho konkr├ętneho druhu elektronick├Żch podpisov, ktor├ę ozna─Źuj├║ ak├Żko─żvek elektronick├Ż sp├┤sob podpisovania dokumentov a┬áspr├ív. V┼íetky digit├ílne podpisy s├║ teda elektronick├Żmi podpismi, ale nie v┼żdy to funguje aj naopak.

Hlavn├Żm rozdielom medzi nimi je met├│da overenia. Digit├ílne podpisy vyu┼ż├şvaj├║ kryptografick├ę syst├ęmy, ako s├║ ha┼íovacie funkcie, kryptografiu pou┼żit├şm verejn├ęho k─ż├║─Źa a┬átechniky ┼íifrovania.


Z├ívere─Źn├ę my┼ílienky

Ha┼íovacie funkcie a┬ákryptografia pou┼żit├şm verejn├ęho k─ż├║─Źa s├║ jadrom syst├ęmov digit├ílneho podpisu, ktor├ę v┬ás├║─Źasnosti maj├║ mnoho pr├şpadov pou┼żitia. Ak s├║ digit├ílne podpisy spr├ívne implementovan├ę, m├┤┼żu zv├Ż┼íi┼ą bezpe─Źnos┼ą, zabezpe─Źi┼ą integritu a┬áu─żah─Źi┼ą overenie v┼íetk├Żch druhov digit├ílnych ├║dajov.

Vo svete blockchainu sa digit├ílne podpisy pou┼ż├şvaj├║ na podpisovanie a┬áoverovanie transakci├ş s┬ákryptomenami. Obzvl├í┼í┼ą d├┤le┼żit├ę s├║ pre sie┼ą Bitcoin, preto┼że podpisy zais┼ąuj├║, ┼że coiny m├┤┼żu min├║┼ą iba jednotlivci, ktor├ş vlastnia pr├şslu┼ín├ę priv├ítne k─ż├║─Źe.

Hoci elektronick├ę aj digit├ílne podpisy sa pou┼ż├şvaj├║ u┼ż roky, st├íle je tu ve─żk├Ż priestor na rast. Ve─żk├í ─Źas┼ą dne┼ínej byrokracie je st├íle zalo┼żen├í na papierovan├ş. Je v┼íak pravdepodobn├ę, ┼że sch├ęmy digit├ílneho podpisu sa za─Źn├║ vyu┼ż├şva┼ą v┬áove─ża v├Ą─Ź┼íej miere pri migr├ícii na digitalizovanej┼í├ş syst├ęm.