Digitalni podpisi se zanašajo na arhitekturo kriptografije z javnim ključem za preverjanje pristnosti dokumenta in pošiljatelja. Dva standardna načina za pridobitev digitalnih podpisov sta algoritma RSA (Rivest-Shamir-Adleman) in DSA (Digitalni podpis), vendar se oba razlikujeta po izvajanju funkcij šifriranja in dešifriranja.

Članek ponuja pregled enega od industrijskih standardnih algoritmov DSA, njegovega delovnega procesa s kratkim pregledom generiranja in preverjanja ključev in podpisov, korakov, vključenih v celoten proces, njegovih prednosti/slabosti in aplikacijo.

Uvod v algoritme digitalnega podpisa

DSA (Algoritem digitalnega podpisa) vključuje algebraične lastnosti problemov diskretnega logaritma in modularne eksponentacije za generiranje elektronskega podpisa za različne aplikacije. Predlagano je bilo leta 1991, leta 1994 pa ga je kot zvezni standard za obdelavo informacij sprejel NIST (Nacionalni inštitut za standarde in tehnologijo).

Večina algoritmov za ustvarjanje digitalnega podpisa sledi tipični tehniki podpisovanja povzetka sporočila (razpršenega dejanskega sporočila) z izvornim zasebnim ključem za ustvarjanje digitalnega odtisa.

instagram viewer

Vendar je situacija pri DSA drugačna, saj generira dva podpisa z vključitvijo dveh zapletenih in edinstvenih funkcij podpisovanja in preverjanja. Zato algoritem DSA ni preprosta uporaba zasebnih in javnih ključev na začetku in na koncu komunikacije.

Pomen algoritma digitalnega podpisa

Zaradi vedno večjih kibernetskih groženj je vedno, ko uporabnik pošilja podatke preko interneta, treba identificirati in preveriti pristnost lastnika. Zagotoviti moramo, da je lastnik dokumenta verodostojen in da med prenosom nihče ni naredil nobenih sprememb.

Digitalni podpisi so elektronski podpisi, ki prejemniku pomagajo pri preverjanju pristnosti izvora sporočila. Te elektronske podpise lahko ustvarite z različnimi algoritmi in DSA je eden izmed njih. V DSA pošiljatelj ustvari digitalni podpis, da ga vključi v sporočilo, tako da ga lahko kdorkoli preveri pri prejemniku.

Prednosti, ki jih ponuja DSA, so:

  • Brez zavračanja: po preverjanju podpisa pošiljatelj ne more trditi, da podatkov ni poslal.
  • Integriteta: spreminjanje podatkov med prenosom preprečuje končno preverjanje ali dešifriranje sporočila.
  • Preverjanje pristnosti sporočila: prava kombinacija zasebnih/javnih ključev pomaga pri preverjanju izvora pošiljatelja.

Kako algoritem preveri pristnost pošiljatelja?

Algoritem DSA deluje na mehanizmu sistematičnega računanja, ki izračuna zgoščeno vrednost in digitalni podpis, ki sestavljata dve 160-bitni številki iz povzetka sporočila in zasebnega ključa. Zaradi naključnosti je podpis nedeterminističen. Za preverjanje pristnosti podpisa uporablja javni ključ, ki je veliko bolj zapleten kot RSA.

Cikel DSA sledi tem trem glavnim korakom za dokončanje postopka:

  • Generacija ključev: Postopek temelji na konceptu modularne eksponentacije za pridobitev zasebnih (x) in javnih (y) ključev, ki izpolnjujejo matematične pogoje 0 < x < q in y = gx mod p. Kjer je q prost delitelj, je p praštevilo in g izpolnjuje te pogoje g**q mod p = 1 in g = h**((p–1)/q) mod p. Tako ustvarite pakete zasebnih in javnih ključev {p, q, g, x} in {p, q, g, y}.
  • Ustvarjanje podpisov: Algoritem zgoščevanja ustvari povzetek sporočila, ki se posreduje kot vhod funkciji podpisovanja, da ustvari dve spremenljivki izhodi, r in s, pakirani kot podpis {r, s}, tako da se sporočilo in te spremenljivke pošljejo kot sveženj v sprejemnik.
  • Preverjanje podpisa: Postopek uporablja funkcijo zgoščevanja za izpis povzetka in vključuje spremenljivko s z drugimi parametri iz koraka generiranja ključa za izdelavo komponente preverjanja v. Funkcija preverjanja primerja izračunano spremenljivko v s parametrom r iz svežnja {M, s, r}.

Če zgornji postopek povzamemo nematematično:

  • S pomočjo algoritma generiranja ključev ustvarite ključe za podpis dokumenta.
  • Nato uporabite algoritem digitalnega podpisa, da ustvarite podpis.
  • Uporabi hash funkcija za ustvarjanje povzetka sporočila, in ga združite z DSA, da ustvarite digitalni podpis.
  • Pošljite podpis s podatki, da se prejemnik potrdi.
  • Prejemnik potrdi podpis z uporabo algoritma za preverjanje. To je zgoščena funkcija, uporabljena zgoraj za ustvarjanje povzetka sporočila.

Prednosti uporabe algoritma digitalnega podpisa

  • Hiter izračun podpisa
  • Za celoten postopek potrebuje manj prostora za shranjevanje
  • Prosto na voljo (brez patentov) za brezplačno globalno uporabo.
  • Majhna dolžina podpisa
  • Opazovanje v realnem času
  • Neinvazivna
  • DSA je globalno sprejet zaradi skladnosti z zakonodajo.
  • Časovno učinkovit (majhna poraba časa v primerjavi s procesi fizičnega podpisovanja itd.)

Slabosti uporabe algoritma digitalnega podpisa

  • Postopek ne vključuje zmožnosti izmenjave ključev.
  • The osnovna kriptografija mora biti nov, da zagotovi svojo moč.
  • Standardizacija prodajalcev računalniške strojne in programske opreme na RSA lahko povzroči težave zaradi drugega standarda za preverjanje pristnosti DSA.
  • Kompleksne operacije preostanka zahtevajo veliko časa za izračun in s tem preverjanje podpisa.
  • Zagotavlja samo avtentikacijo, ne pa zaupnosti, saj algoritem ne šifrira podatkov.
  • Algoritmi DSA izračunajo hash SHA1, da ustvarijo povzetek sporočila. Zato odraža vse pomanjkljivosti hash funkcije SHA1 v algoritmu.

DSA VS RSA

Algoritem digitalnega podpisa je algoritem za šifriranje asimetričnega ključa, ki so ga sprejele agencije ZDA za tajno in neskrivno komunikacijo. Medtem ko je RSA kriptografski algoritem z javnim ključem, ki uporablja tudi modularno aritmetiko, je njegova moč odvisna od problema faktorizacije praštevil za zaščito komunikacije in digitalnih podpisov. Zato je za razliko od običajnih algoritmov šifriranja, kot je RSA, DSA standard samo za digitalne podpise.

Čeprav oba vključujeta različne matematične algoritme, je moč kriptografije enaka. Glavna razlika med algoritmoma se zoži na hitrost, zmogljivost in podporo protokola SSH.

  • V nasprotju z DSA je RSA počasen pri dešifriranju, ustvarjanju ključev in preverjanju, vendar hiter pri šifriranju in podpisovanju. Vendar pa preverjanje pristnosti zahteva oboje, razlike v hitrosti pa so v resničnih aplikacijah nepomembne.
  • Druga razlika je v podpori za omrežni protokol Secure Shell. RSA podpira izvirni SSH in njegovo varno drugo različico SSH2, medtem ko DSA deluje samo s SSH2.

Preveri pristnost vira podatkov z DSA

Digitalni podpisi so nujni za današnji medsebojno povezan svet za ustvarjanje varnega in varnega okolja. So odličen način za preverjanje pristnosti katerega koli zapisa prek interneta. Članek predstavlja algoritme digitalnega podpisa s kratkim pregledom njegovega delovnega procesa, prednosti, slabosti, varnostne omejitve in primerjavo z RSA.

TLS vs. SSL: v čem je razlika in kako deluje

O teh dveh šifrirnih protokolih se pogosto pogovarjamo skupaj, toda kaj sta in kako delujeta?

Preberite Naprej

DelitiTweetE-naslov
Povezane teme
  • Varnost
  • Digitalni podpisi
O avtorju
Rumaisa Niazi (Objavljenih 17 člankov)

Rumaisa je svobodna pisateljica pri MUO. Nosila je veliko klobukov, od matematike do navdušenca za informacijsko varnost, zdaj pa dela kot analitik SOC. Njena zanimanja vključujejo branje in pisanje o novih tehnologijah, distribucijah Linuxa in karkoli v zvezi z informacijsko varnostjo.

Več od Rumaisa Niazi

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite