Vous pouvez contrôler les autorisations d'une file d'attente MSMQ, y compris qui (utilisateur/groupe Windows) peut envoyer à une file d'attente. Si vous souhaitez crypter le message, avec MassTransit au moins et probablement NServiceBus, vous pouvez injecter un sérialiseur personnalisé.
Dans la plupart des cas que je connais, les messages proviennent de sources fiables. Si vous acceptez des messages provenant de sources externes, ils passeraient par une sorte de point d'entrée, tel qu'un service Web, avant d'accéder au système de mise en file d'attente. Les contrôles qui sont en place dans l'organisation sont souvent suffisants. Enfin, l'expéditeur est exposé dans l'en-tête MSMQ. Je ne sais pas si cela est accessible dans NServiceBus mais tant que vous pouvez y accéder à partir de l'encapsuleur MSMQ .NET, je doute qu'il soit hors de question de demander.