Auto 사용할 해독 알고리즘을 ASP.NET에서 자동으로 결정하도록 지정합니다. 이 특성의 기본값입니다.
AES ASP.NET에서 AES (Rijndael) 알고리즘을 사용하여 데이터를 암호화하고 해독하도록 지정합니다. AES는 기본 알고리즘이며 이 특성의 값이 Auto일 때 사용됩니다. 이 알고리즘은 미국 FIPS(Federal Information Processing Standards)와 호환됩니다.
DES ASP.NET에서 DES(데이터 암호화 표준) 알고리즘을 사용하여 데이터를 암호화하고 해독하도록 지정합니다. 이 알고리즘은 레거시 용도로만 포함되어 있으며 이전 버전의 ASP.NET과 호환성이 필요한 경우에만 사용해야 합니다.
3DES ASP.NET에서 TripleDES 알고리즘(3DES)을 사용하여 데이터를 암호화하고 해독하도록 지정합니다. 이 알고리즘은 레거시 용도로만 포함되어 있으며 이전 버전의 ASP.NET과 호환성이 필요한 경우에만 사용해야 합니다.
alg:algorithm_name ASP.NET에서 사용자 지정 알고리즘을 사용하여 데이터를 암호화하고 해독하도록 지정합니다. 암호화 알고리즘은 SymmetricAlgorithm에서 파생된 클래스에 정의되어야 합니다. ASP.NET에서는 SymmetricAlgorithm.Create 메서드를 호출하고 여기 지정된 알고리즘의 이름을 전달합니다.
데이터를 암호화하고 해독하는 데 사용되는 키 또는 키를 생성하는 프로세스를 지정합니다. 이 특성은 뷰 상태가 암호화된 경우 폼 인증 암호화/해독 및 뷰 상태 암호화에 사용됩니다.
이 특성의 값은 다음 중 하나로 지정할 수 있습니다.
AutoGenerate, IsolateApps 키가 자동으로 생성되도록 지정합니다. 기본값입니다. AutoGenerate 수정자는 ASP.NET에서 난수 키를 생성하여 LSA(Local Security Authority)에 저장하도록 지정합니다. IsolateApps 수정자는 ASP.NET에서 응용 프로그램마다 응용 프로그램의 ID를 사용하여 고유 암호화 키를 생성하도록 지정합니다.
키 값 수동으로 할당된 키를 지정합니다. decryptionKey 값은 웹 팜의 모든 서버에서 일관된 구성을 유지하도록 16진 문자열로 직접 설정해야 합니다. 키는 DES로 암호화된 경우 64비트(16개의 16진 문자)이며 3DES의 경우 192비트(48개의 16진 문자) 입니다. AES의 경우 키 길이가 128비트(32자), 192비트(48자) 또는 256비트(64자)일 수 있습니다. 가장 긴 키는 보안성이 가장 우수합니다. 난수 키는 RNGCryptoServiceProvider 클래스를 사용하여 수동으로 생성할 수 있습니다. 자세한 내용은 How To: Configure MachineKey in ASP.NET 2.0을 참조하십시오.
기본적으로 뷰 상태는 base-64 인코딩된 문자열로 전송됩니다. 인코딩된 데이터는 알아볼 수 없는 것 같지만 base-64 인코딩은 쉽게 디코딩되기 때문에 안전하지 않습니다. 뷰 상태에 중요한 데이터를 저장하는 경우 유효성 검사와 함께 ASP.NET에서 뷰 상태 데이터를 암호화하도록 지정할 수 있습니다. 웹 응용 프로그램의 모든 페이지 또는 선택한 페이지에 대한 뷰 상태 암호화를 지정할 수 있습니다. 이 옵션에 대한 자세한 내용은 ViewStateEncryptionMode 및 RegisterRequiresViewStateEncryption()을 참조하십시오.
뷰 상태 암호화를 사용하려는 경우 이 특성을 AES로 설정합니다. 경우에 따라 decryptionKey 값은 뷰 상태 데이터를 암호화하는 데 사용되며 ASP.NET은 데이터 유효성 검사를 위해 HMACSHA1 해시 알고리즘을 사용합니다.
이 특성의 값은 다음 중 하나로 지정할 수 있습니다.
AES 뷰 상태가 암호화되었을 때 ASP.NET에서 AES(Rijndael) 암호화 알고리즘을 사용하여 데이터를 암호화하고 해독하도록 지정합니다. 이 옵션이 validation 특성에 대해 지정된 경우 유효성 검사를 위해 HMACSHA1 알고리즘이 사용됩니다.
MD5 ASP.NET에서 Message Digest 5(MD5) 해시 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다. 이 알고리즘은 레거시 용도로만 포함되어 있으며 이전 버전의 ASP.NET과 호환성이 필요한 경우에만 사용해야 합니다.
SHA1 ASP.NET에서 HMACSHA1 해시 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다. 이 알고리즘은 뷰 상태 암호화를 지원하도록 이 특성을 AES로 설정해야 하는 경우에만 사용해야 합니다. 그렇지 않을 경우, HMACSHA256, HMACSHA384 또는 HMACSHA512를 사용합니다.
3DES 뷰 상태가 암호화되었을 때 ASP.NET에서 TripleDES(3DES) 알고리즘을 사용하여 데이터를 암호화하고 해독하도록 지정합니다. 이 옵션이 validation 특성에 대해 지정된 경우 유효성 검사를 위해 HMACSHA1 알고리즘이 사용됩니다. 이 알고리즘은 레거시 용도로만 포함되어 있으며 이전 버전의 ASP.NET과 호환성이 필요한 경우에만 사용해야 합니다.
HMACSHA256 ASP.NET에서 HMACSHA256 해시 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다. 기본값입니다. 이 알고리즘은 미국 FIPS(Federal Information Processing Standards)와 호환되지 않습니다.
HMACSHA384 ASP.NET에서 HMACSHA384 해시 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다. 이 옵션은 HMACSHA256 알고리즘에서 제공하는 것보다 더 강력한 보안을 요구하는 응용 프로그램에 사용할 수 있습니다. 이 알고리즘은 미국 FIPS(Federal Information Processing Standards)와 호환됩니다.
HMACSHA512 ASP.NET에서 HMACSHA512 해시 알고리즘을 사용하여 데이터의 유효성을 검사하도록 지정합니다. 이 옵션은 HMACSHA384 알고리즘에서 제공하는 것보다 더 강력한 보안을 요구하는 응용 프로그램에 사용할 수 있습니다. 이 알고리즘은 미국 FIPS(Federal Information Processing Standards)와 호환됩니다.
alg:algorithm_name ASP.NET에서 사용자 지정 알고리즘을 사용하도록 지정합니다. 접두사 "alg:" 다음에는 KeyedHashAlgorithm에서 파생되는 클래스의 이름이 옵니다. ASP.NET에서는 Create() 메서드를 호출하고 여기 지정된 알고리즘의 이름을 전달합니다.
데이터의 유효성을 검사하는 데 사용되는 키 또는 키가 생성되는 프로세스를 지정합니다. validationKey 값은 세션 사이에 세션 상태 변수가 격리되도록 out-of-process 응용 프로그램별 세션 ID를 생성하는 데도 사용됩니다.
이 특성의 값은 다음 중 하나로 지정할 수 있습니다.
AutoGenerate, IsolateApps 키가 자동으로 생성되도록 지정합니다. 기본값입니다. AutoGenerate 수정자는 ASP.NET에서 난수 키를 생성하여 LSA(Local Security Authority)에 저장하도록 지정합니다. IsolateApps 수정자는 ASP.NET에서 응용 프로그램마다 응용 프로그램의 ID를 사용하여 고유 암호화 키를 생성하도록 지정합니다.
키 값 수동으로 할당된 키를 지정합니다. validationKey 값은 웹 팜의 모든 서버에서 일관된 구성을 유지하도록 16진 문자열로 직접 설정해야 합니다. 키의 길이는 사용되는 해시 알고리즘에 따라 달라집니다.
다음 코드 예제에서는 validationKey 특성과 decryptionKey 특성을 수동으로 생성된 임의의 값으로 설정하는 방법에 대해 보여줍니다. validationKey 특성은 HMACSHA256 해시 알고리즘에 대해 256비트의 긴 키로 설정되며 decryptionKey 특성도 AES 암호화 알고리즘에 대해 가능한 가장 긴 256비트의 긴 키로 설정되어 있습니다. 이는 예제일 뿐이며 사용자 응용 프로그램에서 사용해서는 안됩니다.