machineKey 요소(ASP.NET 설정 스키마)

업데이트: 2007년 11월

폼 인증 쿠키 데이터와 뷰 상태 데이터의 암호화/해독 및 out-of-process 세션 상태 ID의 유효성 검사에 사용할 키를 구성합니다.

configuration 요소(일반 설정 스키마)
  system.web 요소(ASP.NET 설정 스키마)
    machineKey 요소(ASP.NET 설정 스키마)

<machineKey 
  validationKey="AutoGenerate,IsolateApps" [String]
  decryptionKey="AutoGenerate,IsolateApps" [String]
  validation="SHA1" [SHA1 | MD5 | 3DES | AES]
  decryption="Auto" [Auto | DES | 3DES | AES]
/>

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성

설명

decryption

선택적 String 특성입니다.

데이터를 해독하는 데 사용되는 해시 알고리즘 유형을 지정합니다.

이 특성의 값은 다음 중 하나로 지정할 수 있습니다.

설명

Auto

ASP.NET에서 구성 설정에 따라 사용할 해독 알고리즘을 결정하도록 지정합니다. 이 값은 machineKey decryption의 기본값입니다.

AES

ASP.NET에서 AES(Rijndael) 알고리즘을 사용하여 데이터를 해독하도록 지정합니다. AES는 데이터를 해독하는 데 사용되는 기본 알고리즘입니다.

3DES

ASP.NET에서 TripleDES 알고리즘을 사용하여 데이터를 해독하도록 지정합니다. TripleDES(3DES) 알고리즘은 DES 알고리즘을 연속 세 번 반복하여 사용합니다.

DES

ASP.NET에서 DES(Data Encryption Standard) 알고리즘을 사용하여 데이터를 해독하도록 지정합니다.

참고

이 특성은 .NET Framework 버전 2.0에서 새로 도입되었습니다.

decryptionKey

필수 String 특성입니다.

데이터를 암호화하고 해독하는 데 사용되는 키 또는 키를 생성하는 프로세스를 지정합니다. 이 특성은 validation이 TripleDES 필드로 설정된 경우 폼 인증 암호화/해독 및 뷰 상태 암호화에 사용됩니다.

decryptionKey 값의 IsolateApps 수정자는 ASP.NET에서 응용 프로그램마다 응용 프로그램의 ID를 사용하여 고유 암호화 키를 생성함을 나타냅니다. IsolateApps는 기본값의 일부로 포함됩니다.

전체 웹 서버 네트워크(웹 팜)에서 구성을 지원해야 할 경우에는 이 특성을 수동으로 설정하여 일관된 구성을 유지해야 합니다.

이 특성의 값은 다음 중 하나로 지정할 수 있습니다. 기본값은 AutoGenerate,IsolateApps입니다.

설명

AutoGenerate, IsolateApps

AutoGenerate 수정자는 ASP.NET에서 난수 키를 생성하여 LSA(Local Security Authority)에 저장하도록 지정합니다. IsolateApps 수정자는 ASP.NET에서 응용 프로그램마다 응용 프로그램의 ID를 사용하여 고유 암호화 키를 생성하도록 지정합니다. 이 값은 기본값입니다.

value

수동으로 할당된 키를 지정합니다. 이 값은 웹 팜 전체에서 일관된 구성을 유지하도록 16진 문자열로 직접 설정해야 합니다. 키는 DES 암호화를 사용하는 경우 16자 길이의 16진수 문자여야 하고, Triple DES(3DES) 또는 AES 암호화를 사용하는 경우에는 48자 길이의 16진수 문자여야 합니다. 최대 길이보다 짧은 키를 사용하는 경우에는 RNGCryptoServiceProvider 클래스를 사용하는 것처럼 완전한 난수를 생성하는 방법을 사용하여 키를 만들어야 합니다. ASP.NET에서는 128비트 암호화를 사용할 수 있는 컴퓨터에서만 Triple DES를 사용할 수 있습니다.

validation

필수 MachineKeyValidation 특성입니다.

데이터의 유효성을 검사하는 데 사용되는 암호화 형식을 지정합니다.

이 특성의 값은 다음 중 하나로 지정할 수 있습니다. 기본값은 SHA1입니다.

설명

AES

ASP.NET에서 AES(Rijndael) 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다.

MD5

ASP.NET에서 Message Digest 5(MD5) 해시 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다. 이 알고리즘은 SHA1보다 나은 성능을 제공합니다.

SHA1

ASP.NET에서 SHA1 해시 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다. 보안을 향상시키려면 이 알고리즘을 사용합니다.

이 값은 기본값입니다.

3DES

ASP.NET에서 TripleDES 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다. TripleDES 알고리즘은 DES 알고리즘을 연속적으로 세 번 반복하여 사용합니다.

validationKey

필수 String 특성입니다.

암호화된 데이터의 유효성 검사에 사용되는 키를 지정합니다. validationKey는 enableViewStateMAC가 true일 때 MAC(메시지 인증 코드)를 만들어 뷰 상태가 변경되지 않도록 하는 데 사용됩니다. validationKey는 응용 프로그램 고유의 out-of-process 세션 ID를 생성하여 세션 상태 변수가 세션 간에 분리될 수 있도록 하는 데도 사용됩니다.

validationKey 값의 IsolateApps 수정자는 ASP.NET에서 응용 프로그램마다 응용 프로그램의 ID를 사용하여 고유 암호화 키를 생성함을 나타냅니다. IsolateApps는 기본값의 일부로 포함됩니다.

전체 웹 서버 네트워크(웹 팜)에서 구성을 지원해야 할 경우에는 validationKey 특성을 수동으로 설정하여 일관된 구성을 유지해야 합니다.

이 특성의 값은 다음 중 하나로 지정할 수 있습니다. 기본값은 "AutoGenerate,IsolateApps"입니다.

설명

AutoGenerate, IsolateApps

AutoGenerate 수정자는 ASP.NET에서 난수 키를 생성하여 LSA(Local Security Authority)에 저장하도록 지정합니다. IsolateApps 수정자는 ASP.NET에서 응용 프로그램마다 응용 프로그램의 ID를 사용하여 고유 암호화 키를 생성하도록 지정합니다. 이 값은 기본값입니다.

value

수동으로 할당된 키를 지정합니다. 이 값은 웹 팜 전체에서 일관된 구성을 유지하도록 16진수 문자열로 설정해야 합니다. 키는 DES 암호화를 사용하는 경우 16자 길이의 16진수 문자여야 하고, Triple DES(3DES) 또는 AES 암호화를 사용하는 경우에는 48자 길이의 16진수 문자여야 합니다. 최대 길이보다 짧은 키를 사용하는 경우에는 RNGCryptoServiceProvider 클래스를 사용하는 것처럼 임의의 방법을 사용하여 키를 만들어야 합니다. ASP.NET에서는 128비트 암호화를 사용할 수 있는 컴퓨터에서만 Triple DES를 사용할 수 있습니다.

자식 요소

없음

부모 요소

요소

설명

configuration

공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 필수 루트 요소를 지정합니다.

system.web

구성 파일에서 ASP.NET 구성 설정에 대한 루트 요소를 지정하며, ASP.NET 웹 응용 프로그램을 구성하고 응용 프로그램의 동작 방식을 제어하는 구성 요소를 포함합니다.

설명

다음 코드 예제에서는 validationKey 특성과 decryptionKey 특성을 모두 AutoGenerate로 설정하는 방법을 보여 줍니다. 서버의 각 응용 프로그램에 대해 고유한 키를 생성하도록 isolateApps 값이 지정됩니다.

<machineKey 
   validationKey="AutoGenerate,IsolateApps" 
   decryptionKey="AutoGenerate,IsolateApps" 
   validation="SHA1"
/>

요소 정보

구성 섹션 처리기

MachineKeySection

구성 멤버

MachineKey

구성 가능한 위치

Machine.config 파일

루트 수준의 Web.config 파일

응용 프로그램 수준의 Web.config 파일

요구 사항

Microsoft IIS(인터넷 정보 서비스) 5.0, 5.1 또는 6.0

.NET Framework 버전 1.0, 1.1 또는 2.0

참고 항목

작업

연습: 보호되는 구성을 사용하여 구성 정보 암호화

방법: 위치 설정을 사용하여 특정 디렉터리 구성

방법: ASP.NET 구성 설정 잠금

개념

역할 보안

멤버 자격 보안

프로필 속성 보안

세션 상태 보안

ASP.NET 구성 파일 계층 구조 및 상속

ASP.NET 구성 보안

ASP.NET 구성 시나리오

참조

system.web 요소(ASP.NET 설정 스키마)

configuration 요소(일반 설정 스키마)

System.Configuration

System.Web.Configuration

MachineKeySection

MachineKey

기타 리소스

일반 구성 설정(ASP.NET)

ASP.NET 구성 설정

ASP.NET 웹 사이트 관리

ASP.NET 구성 API