Gdzie są przechowywane prywatne klucze certyfikatów w Windows 7?

12

Za pomocą tego certmgr.mscnarzędzia mogę uzyskać dostęp do magazynu certyfikatów systemu Windows, ale nadal nie mogę ustalić, gdzie system Windows przechowuje klucze prywatne.

Na przykład dla danego certyfikatu system Windows mówi mi, że z tym certyfikatem jest powiązany klucz prywatny. Ale gdzie mogę to fizycznie znaleźć?

TheByeByeMan
źródło

Odpowiedzi:

14

Klucze są przechowywane za pośrednictwem Microsoft Cryptography API: Next Generation (CNG).

Miejsca przechowywania:

  • Użytkownik prywatny:
    %APPDATA%\Microsoft\Crypto\Keys
  • Prywatny system lokalny:
    %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\SystemKeys
  • Lokalna usługa prywatna:
    %WINDIR%\ServiceProfiles\LocalService
  • Usługa sieciowa prywatna:
    %WINDIR%\ServiceProfiles\NetworkService
  • Wspólny prywatny:
    %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys

Opis:

CNG zapewnia model przechowywania klucza prywatnego, który pozwala dostosować się do obecnych i przyszłych wymagań tworzenia aplikacji korzystających z funkcji kryptograficznych, takich jak szyfrowanie klucza publicznego lub prywatnego, a także wymagań dotyczących przechowywania klucza. Router do przechowywania kluczy jest centralną procedurą w tym modelu i jest zaimplementowany w Ncrypt.dll. Aplikacja uzyskuje dostęp do kluczowych dostawców pamięci masowej (KSP) w systemie za pośrednictwem routera pamięci masowej, który ukrywa szczegóły, takie jak izolacja klucza, zarówno przed aplikacją, jak i samym dostawcą pamięci masowej. Poniższa ilustracja pokazuje projekt i funkcję architektury izolacji klucza CNG. Źródło
Architektura magazynu kluczy

Uwaga :

Jak zauważył Tim G, klucze nie są czytelne na poziomie plików, ponieważ są one szyfrowane podczas przechowywania ich za pośrednictwem interfejsu CNG API.

centrum
źródło
4
Te lokalizacje kluczy są poprawne, ale mam jeden punkt nacisku / jasności: usługi izolacji kluczy systemu Windows przesłaniają klucze, więc nie można ich odczytać na poziomie użytkownika ani administratora bezpośrednio z poziomu systemu operacyjnego. (Są one widoczne jako pliki w Eksploratorze, ale nie można zrzucić ich prawdziwej zawartości w przeglądarce szesnastkowej lub tak brzydkiego ASCII w notatniku - nadal byłby brzydki ASCII, a nie prawdziwą reprezentacją jak w systemach Unixoid.)
Tim G
@TimG Czy możesz wskazać mi jakąkolwiek dokumentację opisującą to zaciemnienie? (Zdaję sobie sprawę, że jest trochę późno, ale mogę mieć nadzieję ...)
Martin Bonner wspiera Monikę