Delen via


Asymmetrische sleutels

Asymmetrische sleutels, ook wel bekend als openbare/persoonlijke sleutelparen, worden gebruikt voor asymmetrische versleuteling. Asymmetrische versleuteling wordt voornamelijk gebruikt voor het versleutelen en ontsleutelen van sessiesleutels en digitale handtekeningen. Asymmetrische versleuteling maakt gebruik van versleuteling van openbare sleutels algoritmen.

Algoritmen voor openbare sleutels gebruiken twee verschillende sleutels: een openbare sleutel en een persoonlijke sleutel. Het lid van de persoonlijke sleutel van het paar moet privé en veilig worden gehouden. De openbare sleutel kan echter worden gedistribueerd naar iedereen die deze aanvraagt. De openbare sleutel van een sleutelpaar wordt vaak gedistribueerd via een digitaal certificaat. Wanneer één sleutel van een sleutelpaar wordt gebruikt om een bericht te versleutelen, is de andere sleutel van dat paar vereist om het bericht te ontsleutelen. Dus als de openbare sleutel van gebruiker A wordt gebruikt om gegevens te versleutelen, kan alleen gebruiker A (of iemand die toegang heeft tot de persoonlijke sleutel van gebruiker A) de gegevens ontsleutelen. Als de persoonlijke sleutel van gebruiker A wordt gebruikt om een stukje gegevens te versleutelen, ontsleutelt alleen de openbare sleutel van gebruiker A de gegevens, wat aangeeft dat gebruiker A (of iemand met toegang tot de persoonlijke sleutel van gebruiker A) de versleuteling heeft uitgevoerd.

Als de persoonlijke sleutel wordt gebruikt om een bericht te ondertekenen, moet de openbare sleutel van dat paar worden gebruikt om de handtekening te valideren. Als Alice bijvoorbeeld iemand een digitaal ondertekend bericht wil sturen, tekent ze het bericht met haar persoonlijke sleutel en kan de andere persoon haar handtekening verifiëren met behulp van haar openbare sleutel. Omdat waarschijnlijk alleen Alice toegang heeft tot haar persoonlijke sleutel, geeft het feit dat de handtekening kan worden geverifieerd met de openbare sleutel van Alice aan dat Alice de handtekening heeft gemaakt.

Helaas zijn openbare-sleutelalgoritmen erg traag, ongeveer 1000 keer trager dan symmetrische algoritmen. Het is niet praktisch om ze te gebruiken om grote hoeveelheden gegevens te versleutelen. In de praktijk worden openbare-sleutelalgoritmen gebruikt voor het versleutelen van sessiesleutels. symmetrische algoritmen worden gebruikt voor versleuteling/ontsleuteling van de meeste gegevens.

Omdat het ondertekenen van een bericht in feite het bericht versleutelt, is het niet praktisch om algoritmen voor openbare sleutelhandtekeningen te gebruiken om grote berichten te ondertekenen. In plaats daarvan wordt eenhash met een vaste lengtegemaakt van het bericht en wordt de hashwaarde ondertekend. Zie hashes en digitale handtekeningenvoor meer informatie.

Elke gebruiker heeft over het algemeen twee openbare/persoonlijke sleutelparen. Eén sleutelpaar wordt gebruikt om sessiesleutels te versleutelen en de andere om digitale handtekeningen te maken. Deze worden respectievelijk het sleutelpaar voor sleuteluitwisseling genoemd en het handtekeningsleutelpaar.

Hoewel sleutelcontainers die zijn gemaakt door de meeste cryptografische serviceproviders (CSP's) twee sleutelparen bevatten, is dit niet vereist. Sommige CSP's slaan geen sleutelparen op terwijl andere CSP's meer dan twee paren opslaan.

Alle sleutels in CryptoAPI worden opgeslagen in CSP's. CSP's zijn ook verantwoordelijk voor het maken van de sleutels, het vernietigen ervan en het gebruik ervan om verschillende cryptografische bewerkingen uit te voeren. Het exporteren van sleutels uit de CSP, zodat ze naar andere gebruikers kunnen worden verzonden, wordt besproken in Cryptografische sleutelopslag en Exchange-.