Wat is een vingerafdruk met een publieke sleutel?

10 maart 2025

Een openbare sleutelvingerafdruk is een korte, unieke identificatiecode die is afgeleid van een cryptografische openbare sleutel met behulp van een hachee functie.

wat is een publieke sleutelvingerafdruk

Wat is de vingerafdruk van een openbare sleutel?

Een public key fingerprint is een gecondenseerde weergave van een cryptografische public key die is gegenereerd met behulp van een veilige hashfunctie. Het biedt een unieke en eenvoudig te verifiรซren identificatie voor een public key, waardoor gebruikers de authenticiteit ervan kunnen bevestigen zonder de volledige sleutel te hoeven gebruiken. De fingerprint wordt doorgaans geproduceerd door de public key-gegevens te hashen met algoritmen zoals SHA-256, MD5of SHA-1, afhankelijk van het gebruikte systeem of protocol.

Dit mechanisme wordt op grote schaal gebruikt in cryptografische toepassingen zoals SSH, PGP, TLS en X.509-certificaten, waarbij het verifiรซren van de authenticiteit van de sleutel essentieel is voor veilige communicatie. Wanneer twee partijen openbare sleutels uitwisselen, kunnen ze vingerafdrukken vergelijken om ervoor te zorgen dat de sleutel niet is gewijzigd of vervangen door een aanvaller. Omdat een vingerafdruk aanzienlijk korter is dan de originele sleutel, vereenvoudigt het handmatige verificatie, met name in scenario's waarin gebruikers de integriteit van de sleutel mondeling 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 gebruik te maken van een vingerafdruk kunnen gebruikers snel bevestigen dat ze communiceren met de beoogde partij, waardoor het risico op man-in-the-middle-aanvallen. Het is vooral waardevol in scenario's waarin openbare sleutels handmatig worden uitgewisseld, zoals 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 openbare sleutel, vereenvoudigt het de verificatie, of deze nu wordt weergegeven op een website, wordt gedeeld via een beveiligd kanaal of mondeling wordt bevestigd.

Bovendien helpen vingerafdrukken bij sleutelbeheer door een voor mensen leesbare manier te bieden om te verwijzen naar en onderscheid te maken tussen verschillende openbare sleutels, waardoor het gemakkelijker wordt om sleutels in verschillende systemen te volgen en te valideren. De effectiviteit van een vingerafdruk hangt af van de sterkte van de onderliggende hashfunctie, dus moderne implementaties gebruiken 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 openbare sleutel beschikbaar is, berekent u de vingerafdruk ervan met behulp van een hashing-methode. 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.