Kriptoszolgáltató

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. március 16-án felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .

A Cryptographic Service Provider (CSP) egy független modul, amely lehetővé teszi kriptográfiai műveletek végrehajtását a CryptoAPI-funkciókkal vezérelt Microsoft operációs rendszerekben . Egyszerűen fogalmazva, közvetítő az operációs rendszer, amely a szabványos CryptoAPI függvényekkel képes kezelni , és a kriptográfiai műveletek végrehajtója között (ez lehet program vagy hardverkomplexum).

Cryptoprovider architektúra

Minden kriptográfiai szolgáltatónak exportálnia kell a CryptoAPI rendszer programozási felületét alkotó kötelező függvények készletét , amelyek mindegyike megfelel valamilyen CryptoAPI függvénynek . Ezenkívül a kriptográfiai szolgáltatónak biztosítania kell:

Az alkalmazások nem működnek közvetlenül a kriptográfiai szolgáltatóval. Ehelyett az Advapi32.dll és Crypt32.dll könyvtárak CryptoAPI függvényeit hívják meg. Az operációs rendszer kiszűri ezeket a függvényhívásokat, és meghívja a megfelelő CryptoAPI függvényeket , amelyek közvetlenül a kriptográfiai szolgáltatóval működnek együtt.

Egy kriptoszolgáltató minimális összetétele egy DLL. Ez a könyvtár általában a \WINDOWS\system32\ mappában található. Kötelező ennek a DLL-nek az integritásának ellenőrzése.

A szabványos CryptoAPI-funkciók mellett a kriptográfiai szolgáltatók általában számos saját funkciót is támogatnak. Ha a natív funkciók nincsenek implementálva, akkor a DLL valójában köztes rétegként működik az operációs rendszer és a kriptográfiai műveletek végrehajtója között.

Cryptoprovider Objects

Az egyik fő objektum a kulcstároló . A tárolónak saját neve van, a CryptAcquireContext(...) függvény hozza létre (vagy kéri, ha már létrejött). Egy tárolóban legfeljebb egy aláírási kulcspár, egy cserekulcspár és egy szimmetrikus kulcspár lehet. Ha több szimmetrikus titkosítási algoritmus támogatott, akkor több szimmetrikus kulcs is lehet, mindegyik algoritmushoz egy kulcs.

Kulcspárok és szimmetrikus kulcsok csak egy tárolóban lehetnek. Csak a pár nyilvános kulcsa lehet a tárolón kívül.

A kulcspárok privát kulcsai csak titkosított formában kerülnek exportálásra. Egyes titkosítási szolgáltatók alapvetően nem teszik lehetővé a privát kulcsok exportálását, még titkosított formában sem. A szimmetrikus kulcsok exportálásakor azokat is titkosítani kell a címzett nyilvános kulcsával vagy tárgyalási kulcsával. A hash objektumok a hash függvények kiszámításához jönnek létre. Hash objektumok létrehozásához nem kell tárolót létrehoznia.

A titkosítási szolgáltatók típusai

Kriptoszolgáltató típusa Írja be a számot Kulcscsere algoritmusok Digitális aláírási algoritmusok Titkosítási algoritmusok Hashing algoritmusok
PROV_RSA_FULL egy RSA RSA RC2 , RC4 MD5 , SHA
PROV_RSA_SIG 2 Nem RSA Nem MD5 , SHA
PROV_DSS 3 Nem DSS Nem MD5 , SHA
PROV_FORTEZZA négy KEA DSS skipjack SHA
PROV_MS_EXCHANGE 5 RSA RSA ÖNTVÉNY MD5
PROV_SSL 6 RSA RSA eltérő lehet eltérő lehet
PROV_RSA_SCHANNEL 12 RSA RSA RC4 , DES , 3DES MD5 , SHA
PROV_DH_SCHANNEL tizennyolc Diffie-Hellman (tüntető) 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 bit GOST R 34.10-2012 256 bit GOST 28147-89 , GOST 34.12-2018 GOST R 34.11-2012 256 bit
PROV_GOST_2012_512 81 GOST R 34.10-2012 512 bit GOST R 34.10-2012 512 bit GOST 28147-89 , GOST 34.12-2018 GOST R 34.11-2012 512 bit

Microsoft titkosítási szolgáltatók

A Windows 2000-től kezdve minden Microsoft operációs rendszer rendelkezik beépített Microsoft Base Cryptographic Provider -rel , amely alapvető kriptográfiai funkciókkal rendelkezik. A Microsoft Base Cryptographic Providerben a titkosítási kulcsok 40 bitre korlátozódnak. Mivel 2000 januárja előtt az Egyesült Államokban betiltották a 40 bitnél hosszabb kulcsokat használó titkosító szoftverek exportját, a Windows 98 és a Windows 2000 korábbi verziói csak ezt a kriptográfiai szolgáltatót támogatták. A Microsoft Base Cryptographic Provider lényegében a Microsoft Enhanced Cryptographic Provider lecsupaszított változata . Ám az exporttilalom feloldása után értelmetlenné vált a 2 kriptográfiai szolgáltató, így a Microsoft programozói egy másik nevet vezettek be - Microsoft Strong Cryptographic Provider , ami nem különbözik a Microsoft Enhanced Cryptographic Providertől. Ez a titkosítási szolgáltató az alapértelmezett PROV_RSA_FULL típusú titkosítási szolgáltató Windows 2000, Windows XP és Windows 2003 rendszeren.

A Microsoft összes kriptográfiai szolgáltatója letölthető a Microsoft webhelyéről.

Kriptoszolgáltató A kriptográfiai szolgáltató neve Típusú Megjegyzés
Microsoft Base Cryptographic Provider MS_DEF_PROV PROV_RSA_FULL Alapvető kriptográfiai funkciók széles skálájával rendelkezik. A titkosítási kulcsok hossza nem haladja meg a 40 bitet.
Microsoft erős kriptográfiai szolgáltató MS_STRONG_PROV PROV_RSA_FULL A nagy kulcshosszúság támogatásában különbözik a Microsoft Base Cryptographic Providertől.
Microsoft továbbfejlesztett kriptográfiai szolgáltató MS_ENHANCED_PROV PROV_RSA_FULL Nem különbözik a Microsoft Strong Cryptographic Providertől. Ez az alapértelmezett kriptográfiai szolgáltató.
Microsoft AES kriptográfiai szolgáltató MS_ENH_RSA_AES_PROV PROV_RSA_AES = Microsoft Enhanced Cryptographic Provider AES támogatással
Microsoft DSS Cryptographic Provider MS_DEF_DSS_PROV PROV_DSS Kivonatolás, aláírás, aláírás ellenőrzés DSS -algoritmus támogatással .
Microsoft Base DSS és Diffie-Hellman Cryptographic Provider MS_DEF_DSS_DH_PROV PROV_DSS_DH Kivonatolás, DSS -aláírás , Diffie-Hellman kulcsgenerálás és -csere. Támogatja a kulcsgenerálást az SSL3 és TLS1 protokollokhoz.
Microsoft továbbfejlesztett DSS és Diffie-Hellman kriptográfiai szolgáltató MS_ENH_DSS_DH_PROV PROV_DSS_DH Ugyanaz, mint a Microsoft Base DSS és a Diffie-Hellman Cryptographic Provider, nagy kulcshosszúságú kulcsok támogatásával.
Microsoft DSS és Diffie-Hellman/Schannel Cryptographic Provider MS_DEF_DH_SCHANNEL_PROV PROV_DH_SCHANNEL Kivonatolás, DSS aláírás, Diffie-Hellman kulcs generálás és csere. Támogatja a kulcsgenerálást az SSL3 és TLS1 protokollokhoz.
Microsoft RSA/Schannel kriptográfiai szolgáltató MS_DEF_RSA_SCHANNEL_PROV PROV_RSA_SCHANNEL Kivonatolás, aláírás, aláírás ellenőrzés. Az SSL 3.0 és TLS 1.0 protokollokban történő hitelesítéshez használatos.
Microsoft RSA Signature Cryptographic Provider MS_DEF_RSA_SIG_PROV PROV_RSA_SIG Az elektronikus aláíráshoz és a digitális aláírás ellenőrzéséhez szükséges minimális funkcionalitás.

Lásd még

Linkek