인증서 개인 키는 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.