인증서 개인 키는 Windows 7에서 어디에 저장됩니까?


12

이 certmgr.msc유틸리티를 사용하면 Windows 인증서 저장소에 액세스 할 수 있지만 Windows가 개인 키를 저장하는 위치는 여전히 알 수 없습니다.

예를 들어 특정 인증서에 대해 Windows는이 인증서와 관련된 개인 키가 있다고 알려줍니다. 하지만 어디서 물리적으로 찾을 수 있습니까?

답변:


14

키는 Microsoft의 암호화 API : 차세대 (CNG) 를 통해 저장됩니다 .

보관 위치 :

  • 사용자 개인 :
    %APPDATA%\Microsoft\Crypto\Keys
  • 로컬 시스템 개인 :
    %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\SystemKeys
  • 현지 서비스 개인 :
    %WINDIR%\ServiceProfiles\LocalService
  • 네트워크 서비스 개인 :
    %WINDIR%\ServiceProfiles\NetworkService
  • 공유 개인 :
    %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys

기술:

CNG는 공개 키 또는 개인 키 암호화와 같은 암호화 기능을 사용하는 응용 프로그램을 만드는 현재 및 미래의 요구와 키 자료의 저장 요구에 적응할 수있는 개인 키 저장소 모델을 제공합니다. 키 저장소 라우터는이 모델의 핵심 루틴이며 Ncrypt.dll에서 구현됩니다. 응용 프로그램은 키 저장소 라우터를 통해 시스템의 KSP (키 저장소 공급자)에 액세스합니다.이 저장소 라우터는 키 격리와 같은 세부 정보를 응용 프로그램과 저장소 공급자 모두에서 숨 깁니다. 다음 그림은 CNG 키 격리 아키텍처의 디자인 및 기능을 보여줍니다. 출처
키 스토리지 아키텍처

참고 :

Tim G가 언급했듯이 키는 CNG API를 통해 키를 저장하는 과정에서 암호화되므로 파일 수준에서 읽을 수 없습니다.


4
이 키 위치는 정확하지만 한 가지 강조 / 명확한 점이 있습니다. Windows 키 격리 서비스는 키를 모호하게하여 운영 체제 내에서 사용자 또는 관리자 수준에서 그대로 읽을 수 없습니다. (이 파일은 탐색기에서 파일로 볼 수 있지만 16 진 뷰어 또는 메모장에서 추악한 ASCII로 실제 내용을 덤프 할 수 없습니다. Unixoid 시스템과 같은 실제 표현이 아닌 추악한 ASCII 일 것입니다.)
— Tim G

@TimG 그 모호함을 설명하는 문서를 알려 주시겠습니까? (나는 조금 늦었다는 것을 알고 있지만 희망을 가질 수있다 ...)
— Martin Bonner는 Monica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.