Protegendo dados de estado
Aplicativos que lidam com dados confidenciais ou fazer qualquer tipo de decisões de segurança necessário manter esses dados sob controle de seu próprios e não é possível permitir Outros código potencialmente mal intencionado acesso os dados diretamente.A melhor maneira de proteger sistema autônomo dados na memória é declarar sistema autônomo dados sistema autônomo particular ou internal (com escopo limitado ao mesmo assembly) variáveis.No entanto, até mesmo esses dados são sujeitos a acesso, que você deve conhecer:
Usando mecanismos de reflexão, código altamente confiável que pode consultar seu objeto pode obter e conjunto particular membros.
Uso de serialização, código altamente confiável pode efetivamente obter e conjunto membros particulares se ele pode acessar os dados correspondentes no formulário serializado do objeto.
Em depuração, esses dados podem ser lidos.
Certifique-se de que nenhum dos seus próprios métodos ou propriedades expõe esses valores não intencionalmente.
Em alguns casos, o dados podem ser declarados sistema autônomo "protegido," com acesso limitado a classe e seus derivativos.No entanto, você deve tomar as seguintes precauções adicionais devido à exposição adicional:
Controlar qual código tem permissão para derivar de sua classe, restringindo-lo ao mesmo conjunto de módulos (assembly) ou usando a segurança declarativa, descrita em Protegendo o acesso do método, para exigir algumas permissões para que o código para derivar de sua classe ou identidade.
Certifique-se de que todas as classes derivadas implementam proteção semelhante ou são seladas.