Wat is een vingerafdruk met een publieke sleutel?

10 maart 2025

Een publieke sleutelvingerafdruk is een korte, unieke identificatiecode die is afgeleid van een cryptografische publieke sleutel met behulp van een hashfunctie.

wat is een publieke sleutelvingerafdruk

Wat is de vingerafdruk van een openbare sleutel?

Een vingerafdruk van een publieke sleutel is een verkorte weergave van een cryptografische publieke sleutel, gegenereerd met behulp van een veilige hashfunctie. Het biedt een unieke en gemakkelijk te verifiëren identificatiecode voor een publieke sleutel, waardoor gebruikers de authenticiteit ervan kunnen bevestigen zonder de volledige sleutel te hoeven beheren. De vingerafdruk wordt doorgaans gegenereerd door de publieke sleutelgegevens te hashen met algoritmen zoals SHA-256, MD5 of SHA-1, afhankelijk van het gebruikte systeem of protocol.

Dit mechanisme wordt veelvuldig gebruikt in cryptografische toepassingen zoals SSH , PGP, TLS en X.509-certificaten, waar het verifiëren van de authenticiteit van sleutels essentieel is voor veilige communicatie. Wanneer twee partijen publieke sleutels uitwisselen, kunnen ze vingerafdrukken vergelijken om te controleren of de sleutel niet is gewijzigd of vervangen door een aanvaller. Omdat een vingerafdruk aanzienlijk korter is dan de originele sleutel, vereenvoudigt dit handmatige verificatie, met name in situaties waarin gebruikers mondeling de integriteit van de sleutel moeten bevestigen of deze moeten vergelijken met een vertrouwde bron.

Waarom is een vingerafdruk van een openbare sleutel nuttig?

Een public key fingerprint is handig omdat het een compacte, unieke identificatie voor een public key biedt, waardoor gebruikers de authenticiteit ervan kunnen verifiëren zonder de hele sleutel te hoeven vergelijken. Dit is met name belangrijk in cryptografische toepassingen waarbij de beveiliging afhangt van het garanderen dat een public key niet is gemanipuleerd of vervangen door een aanvaller.

Door een vingerafdruk te gebruiken, kunnen gebruikers snel bevestigen dat ze met de beoogde partij communiceren, waardoor het risico op man-in-the-middle-aanvallen wordt verkleind . Dit is vooral waardevol in situaties waarin publieke sleutels handmatig worden uitgewisseld, zoals bij het verifiëren van SSH-hostsleutels, het ondertekenen van PGP-sleutels of het authenticeren van TLS-certificaten. Omdat een vingerafdruk veel korter is dan een volledige publieke sleutel, vereenvoudigt het de verificatie, of deze nu op een website wordt weergegeven, via een beveiligd kanaal wordt gedeeld of mondeling wordt bevestigd.

Daarnaast helpen vingerafdrukken bij sleutelbeheer door een leesbare manier te bieden om naar verschillende publieke sleutels te verwijzen en ze van elkaar te onderscheiden. Dit maakt het gemakkelijker om sleutels in verschillende systemen te traceren en te valideren. De effectiviteit van een vingerafdruk hangt af van de sterkte van de onderliggende hashfunctie. Moderne implementaties gebruiken daarom veilige algoritmen zoals SHA-256 om botsingsaanvallen te voorkomen.

Gebruiksscenario's voor vingerafdrukken van openbare sleutels

use cases voor vingerafdrukken van openbare sleutels

Een public key fingerprint wordt gebruikt in verschillende cryptografische toepassingen om de authenticiteit van public keys te verifiëren en ongeautoriseerde toegang te voorkomen. Hieronder staan ​​belangrijke use cases waarin public key fingerprints de beveiliging en het vertrouwen in digitale communicatie verbeteren:

  • Verificatie van SSH-hostsleutel. Bij het verbinden met een externe server via SSH ontvangt de client voor de eerste keer de server's openbare sleutelvingerafdruk. De gebruiker kan deze vingerafdruk vergelijken met een vertrouwde bron om te verzekeren dat ze verbinding maken met de juiste server en geen bedrieger. Als de vingerafdruk onverwacht verandert, kan dit duiden op een beveiligingsrisico, zoals een man-in-the-middle-aanval.
  • PGP-sleutelauthenticatie. In Pretty Good Privacy (PGP) en OpenPGP worden publieke sleutelvingerafdrukken gebruikt om de authenticiteit van encryptie en ondertekeningssleutels. Gebruikers vergelijken handmatig vingerafdrukken voordat ze een sleutel vertrouwen, om ervoor te zorgen dat berichten en bestanden veilig worden versleuteld of ondertekend door de beoogde partij. Dit is cruciaal voor e-mailversleuteling en veilige communicatie tussen individuen of organisaties.
  • Validatie van TLS- en SSL-certificaten. Openbare sleutelvingerafdrukken helpen de authenticiteit van SSL / TLS certificaten gebruikt in HTTPS verbindingen. Terwijl web browsers Certificaten automatisch controleren bij vertrouwde instanties. Beheerders en ontwikkelaars kunnen certificaatvingerafdrukken handmatig vergelijken om mogelijke spoofing, verkeerd geconfigureerde certificaten of gecompromitteerde certificeringsinstanties te detecteren.
  • Veilige ondertekening van bestanden en software. Ontwikkelaars en organisaties ondertekenen software, updates en documenten met behulp van cryptografische sleutels. Openbare sleutelvingerafdrukken helpen gebruikers te verifiëren dat de ondertekeningssleutel toebehoort aan de officiële ontwikkelaar, waardoor de installatie van schadelijke software vermomd als legitieme updates. Dit wordt vaak gebruikt in pakketbeheerders, open-source distributiesen ondertekening van applicaties.
  • Sleuteluitwisseling tussen VPN en WireGuard. In VPN protocollen zoals WireGuard, openbare sleutelvingerafdrukken worden gebruikt om de authenticiteit van peer-apparaten te bevestigen. Voordat ze een beveiligde verbinding tot stand brengen, vergelijken gebruikers vingerafdrukken om te controleren of ze verbinding maken met het juiste apparaat, waardoor ongeautoriseerde toegang tot privénetwerken wordt voorkomen.
  • Beveiliging van blockchain en cryptografische wallets. Cryptografische wallets gebruiken vingerafdrukken van openbare sleutels om het eigendom van digitale activa te identificeren en verifiëren. Gebruikers kunnen vingerafdrukken kruislings controleren om te bevestigen dat ze transacties naar het juiste walletadres sturen, waardoor het risico op fraude of verkeerd geadresseerde transacties wordt verminderd.

Hoe maak ik een vingerafdruk van een openbare sleutel?

Een public key fingerprint is een unieke, compacte representatie van een public key, gegenereerd door de sleutel te hashen met behulp van een cryptografische hashfunctie. Deze vingerafdruk wordt gebruikt om de authenticiteit van de public key te verifiëren in beveiligde communicatie. Het proces varieert afhankelijk van het gebruikte cryptografische systeem, maar de algemene stappen zijn als volgt:

1. Genereer een openbare sleutel (indien deze nog niet beschikbaar is)

Voordat u een vingerafdruk maakt, hebt u een openbare sleutel nodig. Als u die niet hebt, genereert u een sleutelpaar met behulp van een cryptografische tool zoals OpenSSH, GnuPG of OpenSSL.

  • Voor SSH-sleutels:
ssh-keygen -t rsa -b 4096

Hiermee wordt een openbare sleutel (id_rsa.pub) gegenereerd in de .ssh-map.

  • Voor PGP-sleutels:
gpg --full-generate-key

Hiermee wordt een nieuw PGP-sleutelpaar gemaakt.

  • Voor SSL/TLS-certificaten:
openssl req -new -x509 -key private_key.pem -out certificate.pem

Hiermee wordt een zelfondertekend certificaat gegenereerd.

2. Bereken de vingerafdruk

Zodra de publieke sleutel beschikbaar is, berekent u de vingerafdruk ervan met behulp van een hash- algoritme.

  • Voor SSH Public Key Fingerprints (standaard SHA-256-formaat):
ssh-keygen -lf ~/.ssh/id_rsa.pub
  • Voorbeelduitvoer:
2048 SHA256:ZJv7x9Oa3W2g5KcJ+Q1Ht6eAlRrUv2Lg4EhYd2dTpoA user@hostname
  • Om een ​​MD5-vingerafdruk te krijgen:
ssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub
  • Voor PGP Public Key Fingerprints:
gpg --fingerprint [email protected]
  • Voorbeelduitvoer:
pub   rsa4096 2024-03-10 [SC]

      9E6C 9B5F A99D 45DA D4C7  3E14 92C3 7F32 A6F1 8D2B
  • Voor TLS/SSL-certificaatvingerafdrukken (SHA-256):
openssl x509 -noout -fingerprint -sha256 -in certificate.pem
  • Voorbeelduitvoer:
SHA256 Fingerprint=3D:2B:45:A6:F3:91:82:12:D5:88:1F:...:97:6F:43

3. Controleer de vingerafdruk

Vergelijk de vingerafdruk na het genereren met een vertrouwde kopie om de authenticiteit van de openbare sleutel te bevestigen. Deze stap is essentieel bij SSH-hostverificatie, PGP-sleuteluitwisseling en TLS-certificaatvalidatie.

Hoe bekijk ik de openbare sleutel in Fingerprint?

Hoe u de vingerafdruk van een openbare sleutel kunt bekijken

Een public key fingerprint is een gehashte weergave van een public key en hoewel het een unieke identificatie voor verificatie biedt, is het niet direct omkeerbaar naar de volledige public key. Als u echter toegang hebt tot het systeem waar de key is opgeslagen, kunt u de originele public key die aan een bepaalde fingerprint is gekoppeld, ophalen en bekijken. Het proces varieert afhankelijk van de cryptografische tool en het sleuteltype dat wordt gebruikt. De stappen omvatten:

1. SSH-openbare sleutel bekijken vanuit vingerafdruk

Als u een bestand met een openbare sleutel hebt en de vingerafdruk daarvan wilt bevestigen:

  • Controleer de vingerafdruk van een openbare SSH-sleutel:
ssh-keygen -lf ~/.ssh/id_rsa.pub
  • Voorbeelduitvoer:
2048 SHA256:ZJv7x9Oa3W2g5KcJ+Q1Ht6eAlRrUv2Lg4EhYd2dTpoA user@hostname
  • Als u vingerafdrukken wilt vergelijken, kunt u het openbare sleutelbestand handmatig openen:
cat ~/.ssh/id_rsa.pub

2. Bekijken van PGP-openbare sleutel vanuit vingerafdruk

Als u een PGP-sleutel hebt en een vingerafdruk wilt matchen met een openbare sleutel:

  • Lijst met openbare PGP-sleutels met hun vingerafdrukken:
gpg --fingerprint
  • Voorbeelduitvoer:
pub   rsa4096 2024-03-10 [SC]

      9E6C 9B5F A99D 45DA D4C7  3E14 92C3 7F32 A6F1 8D2B

uid   John Doe <[email protected]>
  • Om de volledige openbare sleutel te bekijken die aan een vingerafdruk is gekoppeld:
gpg --export -a 9E6C9B5FA99D45DAD4C73E1492C37F32A6F18D2B

Hiermee wordt de openbare ASCII-sleutel gegenereerd.

3. Bekijken van SSL/TLS-certificaat openbare sleutel van vingerafdruk

Als u een SSL/TLS-certificaat hebt en de openbare sleutel ervan wilt extraheren:

  • Controleer de vingerafdruk van een certificaat:
openssl x509 -noout -fingerprint -sha256 -in certificate.pem
  • Haal de openbare sleutel uit het certificaat en bekijk deze:
openssl x509 -in certificate.pem -noout -pubkey

Hiermee wordt de volledige openbare sleutel in PEM-formaat weergegeven.

4. Een openbare sleutel matchen met een vingerafdruk

Omdat vingerafdrukken worden gegenereerd met behulp van cryptografische hashfuncties, kunt u geen volledige openbare sleutel afleiden van alleen een vingerafdruk. In plaats daarvan moet u toegang hebben tot de originele sleutelbestanden en hun vingerafdrukken vergelijken met behulp van de bovenstaande methoden.

Is een vingerafdruk met een openbare sleutel veilig?

Ja, een public key fingerprint is over het algemeen veilig en beveiligd, zolang deze wordt gegenereerd met behulp van een sterke cryptografische hashfunctie, zoals SHA-256. Het biedt een unieke, compacte identificatie voor een public key, waardoor het eenvoudiger is om de authenticiteit te verifiëren zonder de volledige sleutel bloot te leggen. De beveiliging ervan hangt echter af van de integriteit van het onderliggende hashalgoritme: oudere algoritmen zoals MD5 en SHA-1 zijn kwetsbaar voor collision attacks, waarbij verschillende sleutels dezelfde fingerprint kunnen produceren.

Om de veiligheid te garanderen, moeten gebruikers altijd vingerafdrukken verifiëren via een vertrouwd kanaal voordat ze een openbare sleutel accepteren. Een aanvaller zou anders een frauduleuze sleutel kunnen vervangen door een overeenkomende vingerafdruk in gevallen waarin zwakke hash-algoritmen worden gebruikt.


Anastasia
Spasojević
Anastazija is een ervaren contentschrijver met kennis en passie voor cloud computergebruik, informatietechnologie en onlinebeveiliging. Bij phoenixNAP, richt ze zich op het beantwoorden van brandende vragen over het waarborgen van de robuustheid en veiligheid van gegevens voor alle deelnemers aan het digitale landschap.