Element machineKey (schéma nastavení ASP.NET)

Konfiguruje algoritmy a klíče pro šifrování, dešifrování a ověření dat ověřování formulářů a stavu zobrazení dat a identifikace stavu relace mimo proces.

<machineKey 
  validationKey="AutoGenerate,IsolateApps" [String]
  decryptionKey="AutoGenerate,IsolateApps" [String]
  validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 | 
    HMACSHA384 | HMACSHA512 | alg:algorithm_name]
  decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name]
/>

Atributy a prvky

Následující části popisují atributy, podřízené prvky a rodičovské prvky.

v případě vícehodnotových atributů

Atribut

Popis

decryption

Volitelný String atributu.

Určuje algoritmus používaný k šifrování a dešifrování dat ověřování formulářů.

Tento atribut může mít jeden z následujících hodnot:

  • AutoUrčuje prostředí ASP.NET automaticky určí, který dešifrovací algoritmus použít. Toto je výchozí hodnota tohoto atributu.

  • AESUrčuje prostředí ASP.NET používá AES (Rijndael) algoritmus pro šifrování a dešifrování dat. AESVýchozí algoritmus a který se používá, pokud je hodnota tohoto atributu je Auto. Tento algoritmus je kompatibilní s USA zpracování norem FIPS (Federal Information).

  • DESUrčuje prostředí ASP.NET používá Data Encryption (Standard DES) algoritmus pro šifrování a dešifrování dat. Tento algoritmus je zahrnuta pouze pro účely starší a lze používat pouze pokud kompatibilita se staršími verzemi ASP.NET je vyžadován.

  • 3DESUrčuje prostředí ASP.NET používá TripleDES algoritmus (3DES) k šifrování a dešifrování dat. Tento algoritmus je zahrnuta pouze pro účely starší a lze používat pouze pokud kompatibilita se staršími verzemi ASP.NET je vyžadován.

  • alg:algorithm_name Určuje prostředí ASP.NET používá vlastní algoritmus pro šifrování a dešifrování dat. Šifrovací algoritmus musí být definována ve třídě, který je odvozen od SymmetricAlgorithm. PROSTŘEDÍ ASP.NET volání SymmetricAlgorithm.Create Metoda a průchodů jménem algoritmus, který je určený zde.

decryptionKey

Požadované String atributu.

Určuje klíč, který slouží k šifrování a dešifrování dat nebo proces, kterým je klíč generován. Stav zobrazení je zašifrován tento atribut se používá pro ověřování formulářů šifrování a dešifrování a pro zobrazení stavu šifrování a dešifrování.

Tento atribut může mít jeden z následujících hodnot:

  • AutoGenerate, IsolateAppsUrčuje klíč je automaticky generována. Jedná se o výchozí hodnotu. Modifikátor AutoGenerate určuje, že technologie ASP.NET vygeneruje náhodný klíč a uloží jej v místním úřadu zabezpečení LSA. Modifikátor IsolateApps označuje, že technologie ASP.NET vygeneruje jedinečný šifrovaný klíč pro každou aplikaci pomocí ID každé aplikace.

  • Hodnota klíče Určuje ručně přiřazený klíč. decryptionKey Hodnota musí být ručně nastavena na řetězec šestnáctkových znaků, aby byla zajištěna konzistentní konfigurace všechny servery webové farmy. Má být klíč 64 bitů (16 šestnáctkových znaků) dlouho DES 192 bitů (48 šestnáctkových znaků) nebo šifrování, dlouhé pro 3DES. Pro AES, klíč může být 128 bitů (32 znaků), 192 bitů (48 znaků) nebo dlouhá 256 bitů (64 znaků). Delší klíč poskytuje nejvyšší míru zabezpečení.Náhodné klíče mohou být generovány ručně pomocí RNGCryptoServiceProvider Třída Další informace naleznete v tématu Postupy: Konfigurace MachineKey v prostředí ASP.NET 2.0.

Další informace naleznete v tématu DecryptionKey.

validation

Požadované MachineKeyValidation atributu.

Určuje algoritmus hash, který se používá k ověření dat

Ve výchozím stavu zobrazení přenášeny jako řetězec kódování base-64. Sice na první pohled zakódovaná data nesrozumitelné, kódování base-64 poskytuje zabezpečení, protože je snadno dekódována. Pokud ukládání citlivých dat v zobrazení stavu, můžete určit prostředí ASP.NET šifruje data stavu zobrazení vedle ověřování. Můžete určit stav zobrazení šifrování všech stránek webové aplikace nebo pro vybrané stránky. Informace o této možnosti naleznete v tématu ViewStateEncryptionMode a RegisterRequiresViewStateEncryption().

Pokud chcete zobrazit stav šifrování, nastavte tento atribut AES. V takovém případě hodnotu decryptionKey se použije k zašifrování dat stavu zobrazení a ASP.NET použije HMACSHA1 algoritmus hash pro ověření údajů.

Tento atribut může mít jednu z následujících hodnot.

  • AESUrčuje prostředí ASP.NET používá AES (Rijndael) šifrovací algoritmus pro šifrování a dešifrování dat, jestliže stav zobrazení je šifrovaná. Pokud je tato možnost zadána validation atributu HMACSHA1 používá algoritmus pro ověření.

  • MD5Určuje prostředí ASP.NET používá Message Digest 5 (MD5) algoritmus hash pro ověření údajů. Tento algoritmus je zahrnuta pouze pro účely starší a lze používat pouze pokud kompatibilita se staršími verzemi ASP.NET je vyžadován.

  • SHA1Určuje prostředí ASP.NET používá HMACSHA1 algoritmus hash ověřit data. Tento algoritmus lze používat pouze pokud potřebujete nastavit atribut AES Podpora šifrování stav zobrazení. Otherwise, use HMACSHA256, HMACSHA384, or HMACSHA512.

  • 3DESUrčuje prostředí ASP.NET používá TripleDES ()3DES) algoritmus pro šifrování a dešifrování dat, jestliže stav zobrazení je šifrovaná. Pokud je tato možnost zadána validation atributu HMACSHA1 používá algoritmus pro ověření. Tento algoritmus je zahrnuta pouze pro účely starší a lze používat pouze pokud kompatibilita se staršími verzemi ASP.NET je vyžadován.

  • HMACSHA256Určuje prostředí ASP.NET používá HMACSHA256 algoritmus hash ověřit data. Jedná se o výchozí hodnotu. Tento algoritmus je kompatibilní s spojené uvedeno zpracování norem FIPS (Federal Information).

  • HMACSHA384Určuje prostředí ASP.NET používá HMACSHA384 algoritmus hash ověřit data. Tato možnost je k dispozici pro aplikace vyžadující silnější zabezpečení, než je HMACSHA256 algoritmus. Tento algoritmus je kompatibilní s USA zpracování norem FIPS (Federal Information).

  • HMACSHA512Určuje prostředí ASP.NET používá HMACSHA512 algoritmus hash ověřit data. Tato možnost je k dispozici pro aplikace vyžadující silnější zabezpečení, než je HMACSHA384 algoritmus. Tento algoritmus je kompatibilní s USA zpracování norem FIPS (Federal Information).

  • alg:algorithm_name Určuje prostředí ASP.NET používá vlastní algoritmus. Předpona "alg:" následuje název třídy, který je odvozen od KeyedHashAlgorithm. PROSTŘEDÍ ASP.NET volání Create() Metoda a průchodů jménem algoritmus, který je určený zde.

validationKey

Požadované String atributu.

Určuje klíč, který slouží k ověření dat nebo procesu, kterým je generován. validationKey Hodnoty slouží také ke generování relace mimo proces, specifická ID tak, aby byly proměnné stavu relace izolované mezi relací.

Tento atribut může mít jeden z následujících hodnot:

  • AutoGenerate, IsolateAppsUrčuje klíč je automaticky generována. Jedná se o výchozí hodnotu. Modifikátor AutoGenerate určuje, že technologie ASP.NET vygeneruje náhodný klíč a uloží jej v místním úřadu zabezpečení LSA. Modifikátor IsolateApps označuje, že technologie ASP.NET vygeneruje jedinečný šifrovaný klíč pro každou aplikaci pomocí ID každé aplikace.

  • Hodnota klíče Určuje ručně přiřazený klíč. validationKey Hodnota musí být ručně nastavena na řetězec šestnáctkových znaků, aby byla zajištěna konzistentní konfigurace všechny servery webové farmy. Délka klíče závisí na použitý algoritmus hash:

    • AESvyžaduje 256bitovým klíčem (64 hexadecimálních znaků).

    • MD5vyžaduje 128bitový klíč (32 šestnáctkových znaků).

    • SHA1vyžaduje 160bitový klíč (40 šestnáctkových znaků).

    • 3DESvyžaduje 192 bitový klíč (48 šestnáctkových znaků).

    • HMACSHA256vyžaduje 256bitovým klíčem (64 hexadecimálních znaků).

    • HMACSHA384vyžaduje klíč 384 bitů (96 šestnáctkových znaků).

    • HMACSHA512vyžaduje klíč 512 bitů (128 šestnáctkových znaků).

    Náhodné klíče mohou být generovány ručně pomocí RNGCryptoServiceProvider Třída Další informace naleznete v tématu Postupy: Konfigurace MachineKey v prostředí ASP.NET 2.0. Toto téma není uveden HMACSHA256, HMACSHA384, nebo HMACSHA512 algoritmy. Však proces funguje pro tyto algoritmy také jako určit správnou délku klíče.

Další informace naleznete v tématu ValidationKey.

Podřízené prvky

Žádný

Nadřazené prvky

Prvek

Popis

configuration

Určuje požadovaný kořenový element nacházející se v každém konfiguračním souboru, který je používán modulem CLR (Common Language Runtime) a aplikacemi rozhraní .NET Framework.

system.web

Určuje kořenový element konfiguračního souboru s nastavením konfigurace technologie ASP.NET a obsahuje konfigurační prvky, které konfigurují webové aplikace ASP.NET a řídí chování aplikací.

Poznámky

Následující příklad kódu ukazuje, jak nastavit oba atributy validationKey a decryptionKey na AutoGenerate. Hodnota isolateApps je určena ke generování jedinečných klíčů pro každou aplikaci na serveru.

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

Následující příklad kódu ukazuje, jak nastavit validationKey atribut a decryptionKey atributu ručně generované náhodné hodnoty. validationKey Atribut nastaven na dlouhá 256bitovým klíčem pro algoritmus hash HMACSHA256 a decryptionKey také nastaven atribut klíče 256 bitů dlouhá, nejdelší možné AES algoritmus šifrování. Tyto jsou pouze příklady a nesmějí být používány v aplikaci.

<machineKey 
    validationKey="32E35872597989D14CC1D5D9F5B1E94238D0EE32CF10AA2D2059533DF6035F4F" 
    decryptionKey="B179091DBB2389B996A526DE8BCD7ACFDBCAB04EF1D085481C61496F693DF5F4" 
/>

Viz také

Úkoly

Návod: šifrování konfiguračních informací pomocí chráněné konfigurace

Postup: Konfigurace specifických adresářů pomocí nastavení místa

Postupy: Uzamknutí nastavení konfigurace technologie ASP.NET

Odkaz

Element system.web (schéma nastavení ASP.NET)

Element configuration (schéma obecného nastavení)

System.Configuration

System.Web.Configuration

MachineKeySection

MachineKey

Koncepty

Ověřování pomocí formulářů napříč aplikacemi

Zabezpečení rolí

Zabezpečení členství

Zabezpečení vlastností profilu

Zabezpečení stavu relace

Hierarchie a dědičnost konfiguračních souborů technologie ASP.NET

Zabezpečení konfigurace technologie ASP.NET

Scénáře konfigurace technologie ASP.NET

Další zdroje

Obecné nastavení konfigurace (technologie ASP.NET)

Nastavení konfigurace ASP.NET

Správa webu ASP.NET

Rozhraní API konfigurace technologie ASP.NET