Criptografando MSMQ

Criptografando MSMQ

Então, quero enviar mensagens assíncronas e desconectadas pela Internet com o WCF. Provavelmente devido à minha experiência no Apache ActiveMQ, estou procurando no MSMQ para isso.

No ActiveMQ, era simples criptografar uma conexão de fila; você simplesmente escolheu uma conexão baseada em SSL com o corretor e tinha uma camada SSL básica para proteger sua comunicação entre o corretor e os clientes. (Devo considerar usar clientes WCF com um corretor ActiveMQ?)

Quando acessei o Google para criptografia MSMQ e MSMQ SSL, não encontrei nada semelhante. Espero que esteja faltando alguma coisa?

Eu encontrei algumas coisas meio complicadas sobre criptografia de mensagens, coisas que parecem erradas sobre o uso de HTTPS e coisas que exigem um Active Directory - mas estou procurando proteger toda a comunicação, não apenas as mensagens, e nós prefira não usar HTTPS como ligação, pois exigimos uma operação desconectada e não teremos Active Directory para trabalhar.

Qual é a melhor forma de fazer isso?

Responder1

Fazhttp://blogs.msdn.com/motleyqueue/archive/2007/10/06/complementing-msmq-security-with-wcf.aspxtem alguma relevância? Parece sugerir uma configuração que parece ser o nível de transporte e também sugere criptografia de mensagens.

Responder2

OK, finalmente encontrei uma referência para fazer criptografia MSMQ não-Active Directory. Aqui está o link. Não é difícil depois de encontrar a documentação!

É assim que você usa a criptografia de mensagens com o MSMQ, mas não usa o Active Directory.

http://msdn.microsoft.com/en-us/library/aa395200.aspx

Da TFA:

Demonstra

O cliente criptografa a mensagem utilizando a chave pública do serviço e assina a mensagem utilizando seu próprio certificado. O serviço que lê a mensagem da fila autentica o certificado do cliente com o certificado em seu armazenamento de pessoas confiáveis. Em seguida, ele descriptografa a mensagem e a envia para a operação de serviço.

Como a mensagem do Windows Communication Foundation (WCF) é transportada como uma carga no corpo da mensagem MSMQ, o corpo permanece criptografado no armazenamento MSMQ. Isso protege a mensagem contra divulgação indesejada da mensagem. Observe que o próprio MSMQ não sabe se a mensagem que carrega está criptografada.

O exemplo demonstra como a autenticação mútua no nível da mensagem pode ser usada com o MSMQ. Os certificados são trocados fora da banda. Este é sempre o caso com aplicativos enfileirados porque o serviço e o cliente não precisam estar funcionando ao mesmo tempo.

Descrição O código de cliente e de serviço de amostra é igual ao exemplo Transacted MSMQ Binding, com uma diferença. O contrato de operação é anotado com nível de proteção, o que sugere que a mensagem deve ser assinada e criptografada.

informação relacionada