Digitale handtekeningen zijn gebaseerd op een cryptografie-architectuur met openbare sleutels om de authenticiteit van een document en de identificatie van de afzender te verifiëren. De twee standaardmanieren om digitale handtekeningen te verkrijgen zijn RSA (Rivest–Shamir–Adleman) en DSA (Digital Signature) algoritmen, maar beide verschillen in het uitvoeren van coderings- en decoderingsfuncties.
Het artikel geeft een overzicht van een van de industriestandaard algoritmen DSA, het werkproces met een kort overzicht van het genereren en verifiëren van sleutels en handtekeningen, de stappen die betrokken zijn bij het algehele proces, de voor- en nadelen ervan en de sollicitatie.
Inleiding tot algoritmen voor digitale handtekeningen
DSA (Digital Signature Algorithm) omvat de algebraïsche eigenschappen van discrete logaritmeproblemen en modulaire exponentiaties voor het genereren van een elektronische handtekening voor verschillende toepassingen. Het werd in 1991 voorgesteld en werd in 1994 door NIST (National Institute of Standards and Technology) aangenomen als een Federal Information Processing Standard.
De meeste algoritmen voor het maken van digitale handtekeningen volgen de typische techniek van het ondertekenen van de berichtsamenvatting (hash van het eigenlijke bericht) met de persoonlijke bronsleutel om de digitale vingerafdruk te maken.
De situatie is echter anders in DSA, aangezien deze twee handtekeningen genereert door twee complexe en unieke ondertekenings- en verificatiefuncties op te nemen. Daarom is het DSA-algoritme geen eenvoudig gebruik van privé- en openbare sleutels aan het begin en einde van de communicatie.
Belang van het algoritme voor digitale handtekeningen
Vanwege de steeds toenemende cyberbedreigingen is het noodzakelijk om de authenticiteit van de eigenaar te identificeren en te verifiëren wanneer een gebruiker gegevens via internet verzendt. We moeten ervoor zorgen dat de eigenaar van het document geloofwaardig is en dat niemand wijzigingen heeft aangebracht tijdens de verzending.
Digitale handtekeningen zijn de elektronische handtekeningen die de ontvanger helpen de oorsprong van het bericht te verifiëren. U kunt deze elektronische handtekeningen maken via verschillende algoritmen, en DSA is daar een van. In DSA maakt de afzender een digitale handtekening om deze bij het bericht op te nemen, zodat iedereen deze aan de ontvangende kant kan authenticeren.
De voordelen die DSA biedt zijn:
- Niet-afwijzing: na verificatie van de handtekening kan de afzender niet beweren de gegevens niet te hebben verzonden.
- Integriteit: wijziging van gegevens tijdens verzending voorkomt definitieve verificatie of decodering van berichten.
- Bericht authenticatie: juiste combinatie van privé-/openbare sleutels helpt de herkomst van de afzender te verifiëren.
Hoe verifieert het algoritme de afzender?
Het DSA-algoritme werkt op het systematische berekeningsmechanisme dat een hash-waarde en een digitale handtekening berekent die twee 160-bits getallen vormen uit de berichtsamenvatting en de privésleutel. De willekeur maakt de handtekening niet-deterministisch. Het gebruikt een openbare sleutel voor handtekeningverificatie, wat veel complexer is dan RSA.
De DSA-cyclus volgt deze drie hoofdstappen om het proces te voltooien:
- Sleutelgeneratie: Het proces is gebaseerd op het concept van modulaire machtsverheffing om private (x) en publieke (y) sleutels te verkrijgen die voldoen aan de wiskundige voorwaarden van 0 < x < q en y = gx mod p. Waar q een priemdeler is, is p een priemgetal, en g voldoet aan deze voorwaarden voor g**q mod p = 1 en g = h**((p–1)/q) mod p. Zo creëer je private en publieke sleutelpakketten {p, q, g, x} en {p, q, g, y}.
- handtekening generatie: Een hash-algoritme genereert een berichtoverzicht, dat wordt doorgegeven als invoer voor een ondertekeningsfunctie om twee variabelen te maken: outputs, r en s, verpakt als handtekening {r, s} zodat het bericht en deze variabelen als een bundel naar de ontvanger.
- Handtekeningverifiëring: Het proces gebruikt de hash-functie om de samenvatting uit te voeren en neemt variabele s op met andere parameters uit de sleutelgeneratiestap om de verificatiecomponent v te produceren. De verificatiefunctie vergelijkt de berekende variabele v met parameter r uit de {M, s, r} bundel.
Om het bovenstaande proces niet-wiskundig samen te vatten:
- U maakt sleutels aan met behulp van het key generation-algoritme om het document te ondertekenen.
- Gebruik vervolgens een algoritme voor digitale handtekeningen om de handtekening te genereren.
- Gebruik een hash-functie om een berichtoverzicht te maken, en combineer deze met DSA om de digitale handtekening te genereren.
- Verzend de handtekening met de gegevens voor authenticatie door de ontvanger.
- De ontvanger authenticeert de handtekening met behulp van een verificatie-algoritme. Het is de hash-functie die hierboven wordt gebruikt om de berichtsamenvatting te maken.
Voordelen van het gebruik van het digitale handtekeningalgoritme
- Snelle handtekeningberekening
- Vereist minder opslagruimte voor het hele proces
- Vrij verkrijgbaar (patentvrij) voor gratis wereldwijd gebruik.
- Kleine handtekeninglengte
- Observatie in realtime
- niet-invasief
- DSA wordt wereldwijd geaccepteerd voor wettelijke naleving.
- Tijdbesparend (lage tijdsbesteding in vergelijking met processen van fysieke ondertekening etc.)
Nadelen van het gebruik van het digitale handtekeningalgoritme
- Het proces omvat geen mogelijkheden voor het uitwisselen van sleutels.
- De onderliggende cryptografie moet nieuw zijn om zijn kracht te verzekeren.
- De standaardisatie van computerhardware en -softwareleveranciers op RSA kan problemen veroorzaken vanwege de tweede authenticatiestandaard van DSA.
- De complexe restbewerkingen vergen veel tijd voor berekening en dus voor handtekeningverificatie.
- Het zorgt alleen voor authenticatie, niet voor vertrouwelijkheid, omdat het algoritme de gegevens niet versleutelt.
- DSA-algoritmen berekenen de SHA1-hash om de berichtsamenvatting te genereren. Daarom weerspiegelt het alle gebreken van de SHA1-hashfunctie in het algoritme.
DSA versus RSA
Digital Signature Algorithm is een asymmetrisch sleutelcoderingsalgoritme dat door Amerikaanse instanties is gebruikt voor geheime en niet-geheime communicatie. Terwijl RSA een cryptografie-algoritme met openbare sleutel is dat ook gebruikmaakt van modulaire rekenkunde, berust de kracht ervan op het probleem van ontbinden in priemgetallen om communicatie en digitale handtekeningen te beveiligen. Daarom is DSA, in tegenstelling tot gebruikelijke coderingsalgoritmen zoals RSA, alleen een standaard voor digitale handtekeningen.
Hoewel beide verschillende wiskundige algoritmen bevatten, is de cryptografiesterkte equivalent. Het belangrijkste verschil tussen de twee algoritmen beperkt zich tot de snelheid, prestaties en SSH-protocolondersteuning.
- In tegenstelling tot DSA is RSA traag in decodering, het genereren van sleutels en verificatie, maar snel in de codering en ondertekening. Authenticatie vereist echter beide en snelheidsverschillen zijn niet significant in toepassingen in de echte wereld.
- Een ander verschil zit in de ondersteuning van het Secure Shell netwerkprotocol. RSA ondersteunt de originele SSH en de beveiligde tweede versie SSH2, terwijl DSA alleen met SSH2 werkt.
Authenticeer de gegevensbron met DSA
Digitale handtekeningen zijn een noodzaak voor de onderling verbonden wereld van vandaag om een veilige en beveiligde omgeving te creëren. Ze zijn een geweldige manier om elk record via internet te verifiëren. Het artikel introduceert de Digital Signature-algoritmen met een kort overzicht van het werkproces, de voordelen, nadelen, beveiligingsbeperkingen en vergelijking met RSA.
Deze twee encryptieprotocollen worden vaak samen besproken, maar wat zijn ze en hoe werken ze?
Lees volgende
- Beveiliging
- Digitale handtekeningen
Rumaisa is freelance schrijver bij MUO. Ze heeft veel hoeden gedragen, van wiskundige tot liefhebber van informatiebeveiliging, en werkt nu als SOC-analist. Haar interesses omvatten lezen en schrijven over nieuwe technologieën, Linux-distributies en alles wat met informatiebeveiliging te maken heeft.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren