Taikoma
Win 10 Ent LTSB 2016 Win 10 Ent LTSC 2019 Windows 10 IoT Enterprise LTSC 2021 Windows 10, version 22H2, all editions Windows 11 Home and Pro, version 22H2 Windows 11 Enterprise Multi-Session, version 22H2 Windows 11 Enterprise and Education, version 22H2 Windows 11 IoT Enterprise, version 22H2 Windows 11 SE, version 23H2 Windows 11 Home and Pro, version 23H2 Windows 11 Enterprise and Education, version 23H2 Windows 11 Enterprise Multi-Session, version 23H2 Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

Pradinė publikavimo data: 2025 m. lapkričio 21 d.

KB ID: 5073121

Įžanga

2025 m. spalio 14 d. "Windows" naujinimai, skirti CVE-2024-30098 , atskleidė programų problemas, kai kodas netinkamai identifikuoja, kuris teikėjas tvarko sertifikatų, išplatintų iš intelektualiosios kortelės į sertifikatų saugyklą, raktą. Dėl šio neteisingo tapatybės nustatymo tam tikruose scenarijuose gali nepavykti šifravimo operacijos. Šiame dokumente pateikiama rekomendacijų programų kūrėjams, kaip aptikti tinkamą apdorojimo programą ir išspręsti šias problemas.

Suvestinė

Kai sertifikatai platinami iš intelektualiosios kortelės į "Windows" sertifikatų saugyklą, platinimo procesas gali naudoti vieną iš šių teikėjų:

  • Senstelėjęs šifravimo paslaugų teikėjas (CSP), kuris priklauso nuo senstelėjusios šifravimo programų programavimo sąsajos (CAPI)

  • Pagrindinės saugyklos teikėjas (KSP), kuris priklauso nuo kriptografijos API: naujos kartos (CNG). Tai buvo modernus pakeitimas pristatytas "Windows Vista".

Prieš pataisą CVE-2024-30098, platinimo algoritmas naudojo CSP RSA pagrįstiems sertifikatams ir KSP visiems kitiems. Šis metodas buvo nesaugus, nes CAPI nepalaiko šiuolaikinių šifravimo algoritmų, apribojančių saugos galimybes.

2025 m. spalio 14 d. saugos naujinimai pašalino šį specialų apdorojimą ir dabar KSP naudojamas visiems sertifikatams.

Api rinkinio nustatymas naudoti

Programos, kurios naudoja RSA raktus, kuriuos valdo CSP, gali nepavykti, kai raktą valdo KSP. Kad išspręstumėte šią problemą, programos turi nustatyti, kuris teikėjas valdo raktą ir naudoti atitinkamą API rinkinį (CAPI arba CNG).

Svarbu: Nenaudokite CryptAcquireContextW arba CryptAcquireContextA funkcijų, nes API nebenaudojama. Vietoj to naudokite funkciją CryptAcquireCertificatePrivateKey .

Funkcija CryptAcquireCertificatePrivateKey

Iškviečiant CryptAcquireCertificatePrivateKey , grąžinama HCRYPTPROV_OR_NCRYPT_KEY_HANDLE tipo rankenėlė (phCryptProvOrNCryptKey). Ši rankenėlė gali būti:

  • CSP rankenėlė (HCRYPTPROV): naudokite CryptoAPI funkcijas, pvz., CryptSignHash.

  • CNG rankenėlė (NCRYPT_KEY_HANDLE): naudokite CNG funkcijas, pvz., NCryptSignHash.

Pastaba: Iškviečidami CryptAcquireCertificatePrivateKey, būtinai į parametrą dwFlags įtraukite CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG .

Norėdami nustatyti rankenėlės tipą, patikrinkite pdwKeySpec reikšmę:

pdwKeySpec reikšmė

Crypto API, kad galėtumėte naudoti

AT_KEYEXCHANGE arba AT_SIGNATURE

CAPI

CERT_NCRYPT_KEY_SPEC

CNG

Sprendimo būdas

Laikiną darbą gali naudoti klientai, kuriems turi įtakos šio pakeitimo vykdymas. Galimas laikinas registro raktas, kad būtų galima perjungti veikimą iš vykdymo į audito režimą.

Svarbu: Šio registro rakto palaikymas bus pašalintas 2026 m. balandžio mėn. naujinimuose.

Registro kelias

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais

Tipas

REG_DWORD

Reikšmės pavadinimas

DisableCapiOverrideForRSA

Reikšmės duomenys

  • 1 = įgalinti pataisą

  • 0 arba raktas pašalintas = išjungti pataisą – perjungti į audito režimą

Nuorodos

Raktų saugykla ir gavimas

Funkcija CryptAcquireCertificatePrivateKey (wincrypt.h)

CVE-2024-30098 | "Windows" šifravimo tarnybų saugos funkcijos apėjimo pažeidžiamumas

.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.