Desenvolvimento - Visual Basic .NET

Segurança Windows Communication Foundation - Parte I

o objetivo desse artigo é abordar de forma teórica a estrutura de segurança do WCF e mais especificamente a área de segurança de transporte.

por Leonardo Bruno Bentes Lima



Objetivos: Abordar de forma teórica a estrutura de segurança do WCF e mais especificamente a área de segurança de transporte.

Aplica-se a: .Net 3.0, Visual Studio 2005, SOA, Aplicações distribuídas

Quando ouvimos falar de segurança no nível de comunicação, devemos ter em mente no mínimo três palavras: Integridade, Confidencialidade, Autenticação.

A integridade da informação nos garante que a mensagem enviada não foi alterada durante o percurso e que realmente estamos vendo o que foi mandado. Confidencialidade é outra característica que nos garante que a mensagem só seja lida por quem deve lê-la, ou seja, ninguém que não seja explicitamente especificado deve ter acesso à informação. E por fim a Autenticação nos permite saber se quem está enviando e quem está recebendo a informação são realmente quem dizem que são, e isso junto com o recurso de Confidencialidade nos dá a segurança necessária para transmitir mensagens em um meio inseguro com a Internet.

A estrutura de segurança do WCF é dividida em basicamente três vertentes, segurança na transferência de mensagens, controle de acesso e auditoria. Nessa matéria vamos ver apenas segurança na transferência de mensagens. No que diz respeito à segurança de transferência de mensagens, podemos subdividi-la em segurança no nível de transporte, nível de mensagem e segurança mista.

A segurança no nível de transporte é feita utilizando padrões de mercado como HTTPS e por isso é amplamente adotada, já que é independente de plataforma e mais fácil de implementar em termos de desenvolvimento.

A segurança no nível de mensagem é feita utilizando basicamente as especificações WS-Security, e é aplicada diretamente à mensagem. Sendo dessa forma independente de protocolo e bastante extensível. O único problema é que esse tipo de segurança é mais lento do que a de nível de transporte.

A outra opção é um mix das duas anteriores, onde o que difere é aonde se dá a autenticação. Essa opção realiza a autenticação no lado do servidor utilizando nível de transporte e no cliente utilizando nível de mensagem.

Nas três opções de segurança de transmissão de mensagens (transfer security), os três objetivos são contemplados, ou seja, temos Integridade, Confidencialidade, Autenticação. Agora vamos detalhar um pouco mais as opções de implementação de cada um dos tipos Transfer Secutiry.

Segurança no nível de transporte

Dica: Essas opções de segurança no nível de transporte, você pode configurar diretamente no servidor Web, caso o seu host seja o IIS, por exemplo.

Segurança no nível de mensagem

Conclusão: Temos agora uma visão geral da arquitetura de segurança implementada no WCF no nível de transferência de mensagens, nas próximas matérias iremos abordar com mais detalhes como implementar cada umas das opções de segurança apresentada nessa matéria.

Até a próxima.

Leonardo Bruno Bentes Lima

Leonardo Bruno Bentes Lima - Microsoft Most Valuable Professional, consultor em tecnologia .NET. Possui ampla experiência no desenvolvimento e analise de sistemas, dos quais 6 anos na plataforma .Net. Palestrante em diversos eventos sobre tecnologia .NET no Brasil e exterior. Atualmente trabalha Ivia informática (www.ivia.com.br).