Простое симметричное шифрование с помощью .NET Remoting - PullRequest
0 голосов
/ 28 декабря 2011

Я пытаюсь написать набор простых клиент-серверных приложений на C #, которые должны взаимодействовать друг с другом через пользовательские RPC-подобные запросы / ответы.Я хочу, чтобы все было симметрично зашифровано с помощью предварительного общего ключа (который пользователь заранее предоставил каждой конечной точке) и одноразовых номеров от атак воспроизведения.

Сначала я планировал использовать сокет TCP с собственным форматом сообщений.и запускаю пакеты через AES вручную ... но потом я прочитал об Remoting и подумал, что это может сделать весь RPC-материал намного проще для меня.Но я не могу понять, как использовать его с шифрованием (я знаю, что могу зашифровать каждый маршаллированный параметр вручную, но должен быть лучший способ).

Я нашел несколько ссылок об использовании его со свойством «secure = true», но я не понимаю, как это работает.Кажется, нет места для ввода ключа или выбора метода шифрования, поэтому я предполагаю, что он использует некоторое «автоматическое» внутреннее волшебство Windows, которое должно быть установлено администратором и, вероятно, не работает между доменами.

Есть ли способ использовать Remoting с этой простой схемой шифрования, или какой еще лучший способ сделать это?Я не хочу использовать раздутые стеки протоколов (с SOAP или HTTP-туннелированием, или сложными механизмами обмена ключами, или сертификатами) - я хочу что-то, что просто работает из коробки на любых двух хостах, когда вы вводите тот же пароль.

...