Uma vez que voce customiza a seção machineKey no arquivo Web.Config, é importante que as informações que nela constam sejam protegidas para que as chaves não caiam em mãos erradas.
Como sabem, o utilitário aspnet_regiis.exe permite-nos encriptar seções do arquivo Web.Config e, a aplicação irá trabalhar de forma transparente, sendo inteligente o bastante para saber se a mesma está ou não criptografa e, quando estiver, aplicará o algoritmo correto para recuperar os respectivos valores. A sintaxe para encriptar esta seção é simples:
C:>aspnet_regiis -pef system.web/machineKey “C:ExtraindoPasswordMembership” -prov “DataProtectionConfigurationProvider”
No atributo -pef informamos a seção do arquivo que queremos encriptar incluindo o caminho físico até a pasta que consta o arquivo Web.Config e, através do atributo -prov, informamos qual será o provider de criptografia a ser utilizado pelo utilitário. O resultado fica algo como:
<?xml version=”1.0″?>
<configuration>
<system.web>
<machineKey configProtectionProvider=”DataProtectionConfigurationProvider”>
<EncryptedData>
<CipherData>
<CipherValue>AQAAANCMn….+m2p8oLI=</CipherValue>
</CipherData>
</EncryptedData>
</machineKey>
</system.web>
</configuration>