Furnizor de cripto

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 16 martie 2019; verificările necesită 5 modificări .

Cryptographic Service Provider (CSP) este un modul independent care vă permite să efectuați operațiuni criptografice în sistemele de operare Microsoft , care este controlat folosind funcțiile CryptoAPI . Mai simplu spus, este un intermediar între sistemul de operare, care îl poate gestiona folosind funcțiile standard CryptoAPI și executantul operațiunilor criptografice (aceasta poate fi fie un program, fie un complex hardware).

Arhitectura Cryptoprovider

Orice furnizor de cripto trebuie să exporte un set de funcții obligatorii care formează interfața de programare a sistemului CryptoAPI , fiecare dintre aceste funcții corespunzând unei anumite funcții CryptoAPI . De asemenea, furnizorul cripto trebuie să furnizeze:

Aplicațiile nu funcționează direct cu furnizorul cripto. În schimb, apelează funcțiile CryptoAPI din bibliotecile Advapi32.dll și Crypt32.dll. Sistemul de operare filtrează aceste apeluri de funcții și apelează funcțiile CryptoAPI corespunzătoare care lucrează direct cu furnizorul de cripto.

Compoziția minimă a unui criptofurnizor este un DLL. Această bibliotecă este de obicei stocată în folderul \WINDOWS\system32\. Este obligatoriu controlul integrității acestui DLL.

În plus față de funcțiile CryptoAPI standard , un furnizor de cripto acceptă de obicei o serie de funcții proprii. Dacă funcțiile native nu sunt implementate, atunci DLL-ul acționează, de fapt, ca un strat intermediar între sistemul de operare și executorul operațiunilor criptografice.

Obiecte Cryptoprovider

Unul dintre obiectele principale este containerul pentru chei . Containerul are propriul nume, este creat (sau solicitat dacă a fost deja creat) de către funcția CryptAcquireContext(...). Într-un container poate exista cel mult o pereche de chei de semnătură, o pereche de chei de schimb și o pereche de chei simetrice. Dacă sunt acceptați mai mulți algoritmi de criptare simetrici, atunci pot exista mai multe chei simetrice, câte o cheie pentru fiecare algoritm.

Perechile de chei și cheile simetrice pot locui numai într-un container. Doar cheia publică a perechii poate fi în afara containerului.

Cheile private ale perechilor de chei sunt exportate doar în formă criptată. Unii furnizori de criptografii nu permit în mod fundamental exportarea cheilor private, chiar și în formă criptată. La exportul cheilor simetrice, acestea trebuie, de asemenea, să fie criptate folosind cheia publică a destinatarului sau cheia de negociere. Obiectele hash sunt create pentru a calcula funcții hash. Nu trebuie să creați un container pentru a crea obiecte hash.

Tipuri de furnizori cripto

Tip de furnizor de cripto Număr de tip Algoritmi de schimb de chei Algoritmi de semnătură digitală Algoritmi de criptare Algoritmi de hashing
PROV_RSA_FULL unu RSA RSA RC2 , RC4 MD5 , SHA
PROV_RSA_SIG 2 Nu RSA Nu MD5 , SHA
PROV_DSS 3 Nu DSS Nu MD5 , SHA
PROV_FORTEZZA patru KEA DSS lista SHA
PROV_MS_EXCHANGE 5 RSA RSA CAST MD5
PROV_SSL 6 RSA RSA poate fi diferit poate fi diferit
PROV_RSA_SHANNEL 12 RSA RSA RC4 , DES , 3DES MD5 , SHA
PROV_DH_SHANNEL optsprezece Diffie-Hellman (efemer) 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 biți GOST R 34.10-2012 256 biți GOST 28147-89 , GOST 34.12-2018 GOST R 34.11-2012 256 biți
PROV_GOST_2012_512 81 GOST R 34.10-2012 512 biți GOST R 34.10-2012 512 biți GOST 28147-89 , GOST 34.12-2018 GOST R 34.11-2012 512 biți

Furnizori de criptografii Microsoft

Toate sistemele de operare Microsoft, începând cu Windows 2000, au încorporat un Microsoft Base Cryptographic Provider , care are un set de funcții criptografice de bază. În Microsoft Base Cryptographic Provider , cheile de criptare sunt limitate la 40 de biți. Deoarece înainte de ianuarie 2000 a existat o interdicție privind exportul de software de criptare folosind chei mai lungi de 40 de biți în Statele Unite, doar acest furnizor de criptografie a fost acceptat în Windows 98 și versiunile anterioare ale Windows 2000. Microsoft Base Cryptographic Provider este în esență o versiune simplificată a Microsoft Enhanced Cryptographic Provider . Dar după ce a fost ridicată interdicția de export, a devenit inutil să existe 2 furnizori de criptografie, așa că programatorii Microsoft au introdus un alt nume - Microsoft Strong Cryptographic Provider , care nu este diferit de Microsoft Enhanced Cryptographic Provider. Acest furnizor cripto este furnizorul cripto implicit de tip PROV_RSA_FULL pe Windows 2000, Windows XP, Windows 2003.

Toți furnizorii de criptografii Microsoft pot fi descărcați de pe site-ul web Microsoft.

Furnizor de cripto Numele furnizorului de criptografii Tip de cometariu
Furnizor de criptografic de bază Microsoft MS_DEF_PROV PROV_RSA_FULL Are o gamă largă de funcții criptografice de bază. Lungimea cheilor de criptare nu depășește 40 de biți.
Microsoft Strong Criptographic Provider MS_STRONG_PROV PROV_RSA_FULL Diferă de Microsoft Base Cryptographic Provider în sprijinul cheilor de lungimi mari.
Furnizor de criptografie îmbunătățit Microsoft MS_ENHANCED_PROV PROV_RSA_FULL Nu este diferit de Microsoft Strong Cryptographic Provider. Este furnizorul implicit de criptografii.
Furnizor criptografic Microsoft AES MS_ENH_RSA_AES_PROV PROV_RSA_AES = Microsoft Enhanced Cryptographic Provider cu suport AES
Furnizor criptografic Microsoft DSS MS_DEF_DSS_PROV PROV_DSS Hashing, semnare, verificare a semnăturii cu suport pentru algoritmul DSS .
Microsoft Base DSS și Diffie-Hellman Cryptographic Provider MS_DEF_DSS_DH_PROV PROV_DSS_DH Hashing, semnare DSS , generare și schimb de chei Diffie-Hellman. Suportă generarea de chei pentru protocoalele SSL3 și TLS1.
Microsoft Enhanced DSS și Diffie-Hellman Cryptographic Provider MS_ENH_DSS_DH_PROV PROV_DSS_DH La fel ca Microsoft Base DSS și Diffie-Hellman Cryptographic Provider cu suport pentru chei de lungimi mari.
Microsoft DSS și Diffie-Hellman/Schannel Cryptographic Provider MS_DEF_DH_SHANNEL_PROV PROV_DH_SHANNEL Hashing, semnare DSS, generare și schimb de chei Diffie-Hellman. Suportă generarea de chei pentru protocoalele SSL3 și TLS1.
Furnizor de criptografic Microsoft RSA/Schannel MS_DEF_RSA_SHANNEL_PROV PROV_RSA_SHANNEL Hashing, semnare, verificare semnătură. Folosit pentru autentificare în protocoalele SSL 3.0 și TLS 1.0.
Furnizor criptografic de semnătură Microsoft RSA MS_DEF_RSA_SIG_PROV PROV_RSA_SIG Funcționalitatea minimă necesară pentru semnătura electronică și verificarea semnăturii digitale.

Vezi și

Link -uri