Các khóa riêng của chứng chỉ được lưu trữ trong Windows 7 ở đâu?


12

Sử dụng certmgr.msctiện ích, tôi có thể truy cập vào cửa hàng chứng chỉ windows, nhưng tôi vẫn không thể tìm ra nơi Windows lưu trữ khóa riêng.

Ví dụ: đối với một chứng chỉ đã cho, Windows cho tôi biết rằng có một khóa riêng được liên kết với chứng chỉ này. Nhưng tôi có thể tìm thấy nó ở đâu?

Câu trả lời:


14

Các khóa được lưu trữ thông qua API Mật mã của Microsoft : Thế hệ tiếp theo (CNG).

Địa điểm lưu trữ:

  • Người dùng riêng tư:
    %APPDATA%\Microsoft\Crypto\Keys
  • Hệ thống riêng
    %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\SystemKeys
  • Dịch vụ địa phương tư nhân:
    %WINDIR%\ServiceProfiles\LocalService
  • Dịch vụ mạng riêng:
    %WINDIR%\ServiceProfiles\NetworkService
  • Chia sẻ riêng tư:
    %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys

Sự miêu tả:

CNG cung cấp một mô hình lưu trữ khóa riêng cho phép thích ứng với nhu cầu hiện tại và tương lai của việc tạo các ứng dụng sử dụng các tính năng mã hóa như mã hóa khóa công khai hoặc riêng tư, cũng như nhu cầu lưu trữ tài liệu khóa. Bộ định tuyến lưu trữ khóa là thói quen trung tâm trong mô hình này và được triển khai trong Ncrypt.dll. Một ứng dụng truy cập các nhà cung cấp lưu trữ khóa (KSP) trên hệ thống thông qua bộ định tuyến lưu trữ khóa, giúp che giấu các chi tiết, như cách ly khóa, từ cả ứng dụng và chính nhà cung cấp lưu trữ. Hình minh họa sau đây cho thấy thiết kế và chức năng của kiến ​​trúc cách ly khóa CNG. Nguồn
Kiến trúc lưu trữ chính

Lưu ý :

Theo ghi nhận của Tim G, các khóa không thể đọc được ở cấp độ tệp vì chúng được mã hóa trong quá trình lưu trữ chúng thông qua API CNG.


4
Các vị trí khóa này là chính xác, nhưng tôi có một điểm nhấn mạnh / rõ ràng: Các dịch vụ cách ly Windows Key che khuất các khóa, do đó chúng không thể đọc được ở cấp độ người dùng hoặc Quản trị viên từ bên trong hệ điều hành. (Chúng được hiển thị dưới dạng tệp trong Explorer, nhưng bạn không thể đổ nội dung thật của chúng vào trình xem hex hoặc ASCII xấu xí trong notepad - nó vẫn là ASCII xấu, không phải là đại diện thực sự như trong các hệ thống Unixoid.)
Tim G

@TimG Bạn có thể chỉ cho tôi bất kỳ tài liệu nào mô tả sự che khuất đó không? (Tôi nhận ra rằng hơi muộn, nhưng tôi có thể hy vọng ...)
Martin Bonner hỗ trợ Monica
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.