Я бы сказал, что вам не нужна безопасность - статический ключ для шифрования сообщений с симметричным алгоритмом шифрования - это просто понятие безопасности.
В любом случае, если вы хотите это сделать, существуют действительно точки расширения, которые позволят вам сделать это на разных уровнях.
- Шифрование всего сообщения - для этого потребуется специальный кодировщик сообщений, который может быть довольно сложным для записи.
- Шифрование тела сообщения - вы можете написать пользовательский
IMessageInspector
, который будет заниматься шифрованием и дешифрованием тела сообщения. Заголовки будут по-прежнему в виде простого текста, что необходимо, если только вы не захотите изменить многие другие вещи в обработке WCF. Вы можете обернуть инспектор в пользовательский IEndpointBehavior
и использовать его обязательно в коде или декларативно в конфигурации (вам также понадобится реализовать пользовательский BehaviorExtenxionElement
).
- Шифрование только некоторых операций, помеченных пользовательским
IOperationBehavior
или некоторых данных, помеченных поведением IContractBehavior
, и использование IParameterInspector
для расшифровки и шифрования значения.
Вы можете управлять клиентом и сервером - используйте сертификаты вместо поддельной защиты.