Kryptoleverantör

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 16 mars 2019; kontroller kräver 5 redigeringar .

Cryptographic Service Provider (CSP) är en oberoende modul som låter dig utföra kryptografiska operationer i Microsofts operativsystem , som styrs med CryptoAPI-funktioner . Enkelt uttryckt är det en mellanhand mellan operativsystemet, som kan hantera det med hjälp av de vanliga CryptoAPI-funktionerna , och utföraren av kryptografiska operationer (detta kan vara antingen ett program eller ett hårdvarukomplex).

Kryptoleverantörsarkitektur

Varje kryptoleverantör måste exportera en uppsättning obligatoriska funktioner som utgör CryptoAPI- systemets programmeringsgränssnitt , där var och en av dessa funktioner motsvarar någon CryptoAPI-funktion . Dessutom måste kryptoleverantören tillhandahålla:

Applikationer fungerar inte direkt med kryptoleverantören. Istället anropar de CryptoAPI-funktionerna från biblioteken Advapi32.dll och Crypt32.dll. Operativsystemet filtrerar dessa funktionsanrop och anropar lämpliga CryptoAPI-funktioner som fungerar direkt med kryptoleverantören.

Den minsta sammansättningen av en kryptoleverantör är en DLL. Detta bibliotek lagras vanligtvis i mappen \WINDOWS\system32\. Obligatorisk är kontrollen av integriteten för denna DLL.

Utöver de vanliga CryptoAPI-funktionerna stöder en kryptoleverantör vanligtvis ett antal av sina egna funktioner. Om inbyggda funktioner inte implementeras, fungerar DLL:n i själva verket som ett mellanlager mellan operativsystemet och utföraren av kryptografiska operationer.

Cryptoprovider Objects

Ett av huvudobjekten är nyckelbehållaren . Behållaren har sitt eget namn, skapas (eller begärs om den redan har skapats) av CryptAcquireContext(...)-funktionen. Det kan vara högst ett signaturnyckelpar, ett utbytesnyckelpar och ett symmetriskt nyckelpar i en behållare. Om flera symmetriska krypteringsalgoritmer stöds kan det finnas flera symmetriska nycklar, en nyckel för varje algoritm.

Nyckelpar och symmetriska nycklar kan bara finnas i en behållare. Endast den publika nyckeln för paret kan vara utanför behållaren.

De privata nycklarna för nyckelparen exporteras endast i krypterad form. Vissa kryptoleverantörer tillåter i princip inte att privata nycklar exporteras, inte ens i krypterad form. Vid export av symmetriska nycklar måste de också krypteras med mottagarens publika nyckel eller förhandlingsnyckeln. Hash-objekt skapas för att beräkna hashfunktioner. Du behöver inte skapa en behållare för att skapa hashobjekt.

Typer av kryptoleverantörer

Typ av kryptoleverantör Typnummer Algoritmer för nyckelutbyte Digitala signaturalgoritmer Krypteringsalgoritmer Hashing-algoritmer
PROV_RSA_FULL ett RSA RSA RC2 , RC4 MD5 , SHA
PROV_RSA_SIG 2 Nej RSA Nej MD5 , SHA
PROV_DSS 3 Nej DSS Nej MD5 , SHA
PROV_FORTEZZA fyra KEA DSS skipjack SHA
PROV_MS_EXCHANGE 5 RSA RSA KASTA MD5
PROV_SSL 6 RSA RSA kan vara annorlunda kan vara annorlunda
PROV_RSA_SCHANNEL 12 RSA RSA RC4 , DES , 3DES MD5 , SHA
PROV_DH_SCHANNEL arton Diffie-Hellman (efemär) DSS DES , 3DES MD5 , SHA
PROV_RSA_AES 24 RSA RSA RC2 , RC4 , AES MD5 , SHA
PROV_GOST_94_DH 71 GOST R 34,10-94 GOST R 34,10-94 GOST 28147-89 GOST R 34,11-94
PROV_GOST_2001_DH 75 GOST R 34.10-2001 GOST R 34.10-2001 GOST 28147-89 GOST R 34,11-94
PROV_GOST_2012_256 80 GOST R 34.10-2012 256 bitar GOST R 34.10-2012 256 bitar GOST 28147-89 , GOST 34.12-2018 GOST R 34.11-2012 256 bitar
PROV_GOST_2012_512 81 GOST R 34.10-2012 512 bitar GOST R 34.10-2012 512 bitar GOST 28147-89 , GOST 34.12-2018 GOST R 34.11-2012 512 bitar

Microsofts kryptoleverantörer

Alla Microsofts operativsystem, från och med Windows 2000, har en inbyggd Microsoft Base Cryptographic Provider , som har en uppsättning grundläggande kryptografiska funktioner. I Microsoft Base Cryptographic Provider är krypteringsnycklar begränsade till 40 bitar. Eftersom det före januari 2000 fanns ett förbud mot export av krypteringsprogram med nycklar längre än 40 bitar i USA, stöddes endast denna kryptografiska leverantör i Windows 98 och tidigare versioner av Windows 2000. Microsoft Base Cryptographic Provider är i huvudsak en avskalad version av Microsoft Enhanced Cryptographic Provider . Men efter att exportförbudet hävdes blev det meningslöst att ha 2 kryptografiska leverantörer, så Microsofts programmerare introducerade ett annat namn - Microsoft Strong Cryptographic Provider , som inte skiljer sig från Microsoft Enhanced Cryptographic Provider. Denna kryptoleverantör är standardkryptoleverantören av typen PROV_RSA_FULL på Windows 2000, Windows XP, Windows 2003.

Alla Microsofts kryptografiska leverantörer kan laddas ner från Microsofts webbplats.

Kryptoleverantör Namn på kryptoleverantör Sorts Kommentar
Microsoft Base Cryptographic Provider MS_DEF_PROV PROV_RSA_FULL Den har ett brett utbud av grundläggande kryptografiska funktioner. Längden på krypteringsnycklar överstiger inte 40 bitar.
Microsoft Stark kryptografisk leverantör MS_STRONG_PROV PROV_RSA_FULL Skiljer sig från Microsoft Base Cryptographic Provider i stöd för stora nyckellängder.
Microsoft Enhanced Cryptographic Provider MS_ENHANCED_PROV PROV_RSA_FULL Inte annorlunda än Microsoft Strong Cryptographic Provider. Det är standardkrypteringsleverantören.
Microsoft AES kryptografisk leverantör MS_ENH_RSA_AES_PROV PROV_RSA_AES = Microsoft Enhanced Cryptographic Provider med AES-stöd
Microsoft DSS kryptografisk leverantör MS_DEF_DSS_PROV PROV_DSS Hashing, signering, signaturverifiering med stöd för DSS- algoritmer .
Microsoft Base DSS och Diffie-Hellman Cryptographic Provider MS_DEF_DSS_DH_PROV PROV_DSS_DH Hashing, DSS -signering , Diffie-Hellman-nyckelgenerering och utbyte. Stöder nyckelgenerering för SSL3- och TLS1-protokoll.
Microsoft Enhanced DSS och Diffie-Hellman Cryptographic Provider MS_ENH_DSS_DH_PROV PROV_DSS_DH Samma som Microsoft Base DSS och Diffie-Hellman Cryptographic Provider med stöd för stora nyckellängder.
Microsoft DSS och Diffie-Hellman/Schannel Cryptographic Provider MS_DEF_DH_SCHANNEL_PROV PROV_DH_SCHANNEL Hashing, DSS-signering, Diffie-Hellman nyckelgenerering och utbyte. Stöder nyckelgenerering för SSL3- och TLS1-protokoll.
Microsoft RSA/Schannel Cryptographic Provider MS_DEF_RSA_SCHANNEL_PROV PROV_RSA_SCHANNEL Hashing, signering, signaturverifiering. Används för autentisering i SSL 3.0- och TLS 1.0-protokoll.
Microsoft RSA Signature Cryptographic Provider MS_DEF_RSA_SIG_PROV PROV_RSA_SIG Den minsta funktionalitet som krävs för verifiering av elektronisk signatur och digital signatur.

Se även

Länkar