Sākotnējās publicēšanas datums: 2025. gada 21. novembris
KB ID: 5073121
Ievads
2025. gada 14. oktobrī Windows atjauninājumi, adresējot CVE-2024-30098 , atklāja problēmas lietojumprogrammās, kurās kods nepareizi identificē, kurš pakalpojumu sniedzējs pārvalda sertifikātu atslēgu, kas izplatīti no viedkartes sertifikātu krātuvē. Šāda nepareizi identificēta darbība noteiktos scenārijos var izraisīt šifrēšanas darbību kļūmi. Šajā dokumentā sniegti norādījumi lietojumprogrammu izstrādātājiem par to, kā noteikt pareizo apdarinātāju un novērst šīs problēmas.
Kopsavilkums
Kad sertifikāti tiek izplatīti no viedkartes uz Windows sertifikātu krātuvi, izplatīšanas process var izmantot kādu no šiem pakalpojumu sniedzējiem:
-
Mantotais šifrēšanas pakalpojumu sniedzējs (CSP), kas izmanto mantoto šifrēšanas lietojumprogrammu programmēšanas interfeisu (CAPI)
-
Atslēgu krātuves nodrošinātājs (KSP), kas izmanto šifrēšanas API: nākamā paaudze (CNG). Tas bija modernais aizstājējs, kas tika ieviests operētājsistēmā Windows Vista.
Pirms CVE-2024-30098 labojuma izplatīšanas algoritms izmantoja CSP RSA sertifikātiem un KSP visiem pārējiem. Šī pieeja bija nedroša, jo CAPI neatbalsta modernus šifrēšanas algoritmus, ierobežojot drošības iespējas.
2025. gada 14. oktobrī drošības atjauninājumi noņēma šo īpašo apstrādi, un tagad KSP tiek izmantots visiem sertifikātiem.
Izmantojamā API kopas noteikšana
Lietojumprogrammas, kas paļaujas uz RSA atslēgām, ko pārvalda CSP, var neizdoties, ja atslēgu pārvalda KSP. Lai novērstu šo problēmu, lietojumprogrammām ir jānosaka, kurš pakalpojumu sniedzējs pārvalda atslēgu un jāizmanto atbilstošā API kopa (CAPI vai CNG).
Svarīgi!: Neizmantojiet CryptAcquireContextW vai CryptAcquireContextA funkcijas, jo API ir novecojis. Tā vietā izmantojiet funkciju CryptAcquireCertificatePrivateKey .
Funkcija CryptAcquireCertificatePrivateKey
Zvanīšana CryptAcquireCertificatePrivateKey atgriež šāda tipa turi (phCryptProvOrNCryptKey HCRYPTPROV_OR_NCRYPT_KEY_HANDLE. Šis turis var būt:
-
CSP turis (HCRYPTPROV): izmantojiet CryptoAPI funkcijas, piemēram, CryptSignHash.
-
CNG turis (NCRYPT_KEY_HANDLE): izmantojiet CNG funkcijas, piemēram, NCryptSignHash.
Piezīme.: Zvanot CryptAcquireCertificatePrivateKey, noteikti iekļaujiet CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG parametram dwFlags.
Lai noteiktu tura tipu, pārbaudiet vērtību pdwKeySpec :
|
pdwKeySpec vērtība |
Izmantojamais Crypto API |
|
AT_KEYEXCHANGE vai AT_SIGNATURE |
CAPI |
|
CERT_NCRYPT_KEY_SPEC |
CNG |
Risinājums
Pagaidu darbs ir pieejams klientiem, kurus ietekmē šo izmaiņu ieviešana. Ir pieejama pagaidu reģistra atslēga, lai pārslēgtu darbību no Ieviešanas uz audita režīmu.
Svarīgi! 2026. gada aprīļa atjauninājumos tiks noņemts šīs reģistra atslēgas atbalsts.
|
Reģistra ceļš |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais |
|
Tips |
REG_DWORD |
|
Vērtības nosaukums |
DisableCapiOverrideForRSA |
|
Vērtības dati |
|
Atsauces
Funkcija CryptAcquireCertificatePrivateKey (wincrypt.h)
CVE-2024-30098 | Windows Cryptographic Services drošības līdzeklis apejiet ievainojamību
.