증명 정보
중요 |
---|
.NET Framework 버전 4에서 CLR(공용 언어 런타임)은 더 이상 컴퓨터의 보안 정책을 제공하지 않습니다.Microsoft는 CLR 보안 정책 대신 Windows 소프트웨어 제한 정책을 사용하는 것을 권장합니다.이 항목의 내용은 .NET Framework 버전 3.5 및 이전 버전에만 적용되고 버전 4 및 이후 버전에는 적용되지 않습니다.이 변경 내용 및 다른 변경 내용에 대한 자세한 내용은 .NET Framework 4의 보안 변경 내용을 참조하십시오. |
증명 정보는 공용 언어 런타임이 보안 정책을 기준으로 결정할 때 사용하는 정보입니다. 증명 정보는 코드의 특징이 특별하다는 것을 공용 언어 런타임에게 알려 줍니다. 증명 정보의 일반 형식에는 코드가 발생한 위치 및 디지털 서명이 포함되지만 응용 프로그램에 중요한 다른 정보를 나타내기 위해 증명 정보를 사용자 지정할 수도 있습니다. 어셈블리와 응용 프로그램 도메인은 모두 증명 정보를 기준으로 권한을 부여 받습니다.
다음 표는 호스트가 공용 언어 런타임에 제공할 수 있는 일반적인 증명 정보 형식을 나타냅니다.
증명 정보 |
설명 |
---|---|
응용 프로그램 디렉터리 |
응용 프로그램의 설치 디렉터리 |
해시 |
SHA1 등의 암호화 해시 |
게시자 |
소프트웨어 게시자 서명, 즉 코드의 Authenticode 서명자 |
사이트 |
https://www.microsoft.com/korea. 등의 출처 사이트 |
강력한 이름 |
어셈블리의 암호화 방식의 강력한 이름 |
URL |
출처 URL |
영역 |
인터넷 영역 등의 출처 영역 |
표에 나열된 증명 정보 형식 외에도 응용 프로그램 또는 시스템에서 정의한 증명 정보를 공용 언어 런타임에게 제공할 수도 있습니다. 신뢰할 수 있는 응용 프로그램 도메인 호스트는 어셈블리나 응용 프로그램 도메인에 대한 증명 정보를 공용 언어 런타임에게 제공할 수 있습니다. 공용 언어 런타임은 이 정보를 사용하여 엔터프라이즈, 컴퓨터, 사용자 정책 및 신뢰할 수 있는 응용 프로그램 도메인 호스트에 의해 설정된 경우 어셈블리에 대한 응용 프로그램 도메인 정책을 평가하고 어셈블리나 응용 프로그램 도메인에 부여할 권한 집합을 반환합니다. 신뢰할 수 있는 응용 프로그램 도메인 호스트가 증명 정보를 제공할 권한이 없는 경우, 어셈블리나 응용 프로그램 도메인은 호스트에 부여된 권한을 부여 받습니다.
공용 언어 런타임은 어셈블리에 대한 증명 정보를 신뢰할 수 있는 응용 프로그램 도메인 호스트로부터 받거나 로더로부터 직접 받습니다. 코드가 발생한 위치 등의 일부 증명 정보는 신뢰할 수 있는 응용 프로그램 도메인 호스트만 알고 있기 때문에 대개의 경우 이러한 정보는 응용 프로그램 도메인 호스트가 제공합니다. 신뢰할 수 있는 응용 프로그램 도메인 호스트는 로더가 제공하는 증명 정보를 무시하고 자체 증명 정보를 제공할 수 있습니다.
어셈블리의 디지털 서명 등의 다른 증명 정보는 코드 자체 내에 상속되며 로더 또는 신뢰할 수 있는 응용 프로그램 도메인 호스트로부터 얻을 수 있습니다. 일반적으로 공용 언어 런타임은 코드가 로드될 때 각 어셈블리의 디지털 서명을 확인합니다. 디지털 서명이 유효하면 신뢰할 수 있는 응용 프로그램 도메인 호스트가 서명 정보를 공용 언어 런타임의 정책 메커니즘에 증명 정보로 전달합니다. 또한 어셈블리나 신뢰할 수 있는 응용 프로그램 도메인 호스트는 사용자 지정 증명 정보를 어셈블리의 일부인 리소스로 제공할 수 있습니다. 관리자와 개발자는 사용자 지정 증명 정보를 정의한 후 보안 정책을 확장하여 인식 및 사용할 수 있습니다.
공용 언어 런타임의 정책 메커니즘은 신뢰할 수 있는 응용 프로그램 도메인 호스트와 어셈블리의 증명 정보를 모두 사용하여 코드 일부가 코드 그룹의 멤버인지 파악합니다.