다음을 통해 공유


MachineKeySection.CompatibilityMode 속성

정의

.NET Framework 버전 2.0 서비스 팩 1 릴리스 후에 도입된 뷰 상태에 대해 업그레이드된 암호화 방법을 사용할지 여부를 지정하는 값을 가져오거나 설정합니다.

public:
 property System::Web::Configuration::MachineKeyCompatibilityMode CompatibilityMode { System::Web::Configuration::MachineKeyCompatibilityMode get(); void set(System::Web::Configuration::MachineKeyCompatibilityMode value); };
[System.Configuration.ConfigurationProperty("compatibilityMode", DefaultValue=System.Web.Configuration.MachineKeyCompatibilityMode.Framework20SP1)]
public System.Web.Configuration.MachineKeyCompatibilityMode CompatibilityMode { get; set; }
[<System.Configuration.ConfigurationProperty("compatibilityMode", DefaultValue=System.Web.Configuration.MachineKeyCompatibilityMode.Framework20SP1)>]
member this.CompatibilityMode : System.Web.Configuration.MachineKeyCompatibilityMode with get, set
Public Property CompatibilityMode As MachineKeyCompatibilityMode

속성 값

.NET Framework 2.0 SP1 릴리스 후에 도입된 암호화 메서드가 사용되는지 여부를 나타내는 값입니다.

특성

설명

이후 버전의 .NET Framework에서 업그레이드된 암호화 방법을 사용하면 공격자가 값을 성공적으로 리버스 엔지니어링 DecryptionKey 할 수 있는 위험이 줄어듭니다. 이전 버전과의 호환성을 유지하기 위해 이전 암호화 방법을 사용할 수 있습니다.

웹 팜의 모든 서버에는 속성이 CompatibilityMode 동일한 값으로 설정되어야 합니다. 양식 인증 티켓을 읽는 서버의 설정이 티켓을 만든 서버와 다른 CompatibilityMode 경우 티켓이 인식되지 않습니다.

속성에 대해 CompatibilityMode 다음 값을 지정할 수 있습니다.

  • Framework20SP1; 이 값은 ASP.NET 2.0 SP2 이전 버전의 ASP.NET 사용할 수 있는 암호화 방법을 사용한다는 것을 지정합니다. 서버에 2.0 SP2 이전 버전의 .NET Framework가 있는 경우 웹 팜의 모든 서버에 이 값을 사용합니다. 애플리케이션 Web.config 파일에 요소의 httpRuntime 특성이 targetFramework "4.5"로 설정되지 않는 한 기본값입니다.

  • Framework20SP2; 이 값은 ASP.NET .NET Framework 2.0 SP2에 도입된 업그레이드된 암호화 방법을 사용한다는 것을 지정합니다. 모든 서버에 .NET Framework 2.0 SP2 이상이 있지만 하나 이상의 서버에 .NET Framework 4.5가 없는 경우 웹 팜의 모든 서버에 이 값을 사용합니다.

  • Framework45; ASP.NET 4.5의 암호화 기능이 적용됩니다. 애플리케이션 Web.config 파일에 요소의 httpRuntime 특성이 targetFramework "4.5"로 설정된 경우 기본값입니다.

이 속성을 설정 Framework45하면 다음과 같은 제한 사항이 적용됩니다.

  • 속성에 DataProtectorType 값이 있는 경우 속성에도 ApplicationName 값이 있어야 합니다. 클래스는 DataProtector 비어있지 않은 애플리케이션 이름을 제공해야 합니다.

  • 특성은 Validation 실제 유효성 검사 알고리즘(예: MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) 또는 형식을 서브클래싱 KeyedHashAlgorithm 하는 사용자 지정 알고리즘이어야 합니다. AES 및 3DES 값은 사용할 수 없습니다.

  • 프레임워크는 서명된 전용 페이로드를 생성하지 않습니다. 양식 인증 티켓은 요소의 forms 특성이 Web.config 파일에서 설정되는 방식에 protection 관계없이 항상 암호화되고 서명됩니다. 뷰 상태는 지정된 페이지에 대해 설정되거나 설정된 경우 EnableViewStateMacRequireViewStateEncryption 항상 암호화되고 서명됩니다.

Microsoft 보안 공지 MS10-070에 설명된 보안 업데이트의 결과로, 기본 암호화 동작은 설정과 Framework20SP2 동일합니다Framework20SP1. 기본 동작을 변경하는 것은 권장되지 않지만 이렇게 하려면 ASP.NET 레거시 암호화 모드를 구성하는 방법을 참조하세요.

적용 대상