WCF передают безопасность без автора окон и сертификата

Мне нравится сохраненный procs, не знайте, сколько раз я смог внести изменением в приложение с помощью хранимой процедуры, которая не произвела времени простоя для приложения.

Большой поклонник Проводит SQL, настраивающееся выполнение больших запросов, оказалось, было очень полезно для меня. Не имейте записал любой встроенный SQL приблизительно за 6 лет!

17
задан Martin 15 October 2009 в 08:05
поделиться

3 ответа

Ну, с WCF вы можете использовать учетные данные пароля на уровне сообщения и SSL на уровне транспорта, что, я думаю, будет достаточно в ваше дело.

См. здесь .

3
ответ дан 30 November 2019 в 13:28
поделиться

Если вы хотите зашифровать сообщения на транспорте (что действительно хорошая идея!), Между отправителем (клиентом) и сервером должны быть общие знания. Это можно жестко запрограммировать, но это вообще не очень хорошая идея - если это «общее общее» знание когда-либо будет скомпрометировано, злоумышленник сможет расшифровать и прочитать все ваши сообщения.

Кроме того, поскольку это определенно не ] Рекомендуемая практика, в WCF нет никакой поддержки для упрощения использования общего секрета. Вы сами по себе - вы должны пройти 100% пути самостоятельно.

Единственный реальный способ безопасного обмена общим общим секретом - это использование сертификата. Никакого другого пути, извините. Сертификат не t даже должен использоваться для аутентификации пользователя или чего-то еще - но он устанавливает общий секрет между вызывающим и сервисом и, таким образом, позволяет вызывающему зашифровать сообщения таким образом, чтобы только предполагаемый получатель мог их расшифровать и использовать.

Так что я действительно не вижу никакого способа обойтись без сертификатов на ваших серверах - они должны быть не на каждом клиенте, а на каждом сервере, на котором работает ваша служба.

Марк

PS: если вы действительно хотите исследовать подход «жестко запрограммированного общего секрета», вам нужно подумать об этом:

  • как вы безопасно храните общий секрет на всех без исключения ваших клиентах?
  • как вы это делаете. использовать информацию из этого сохраненного общего секрета для шифрования ваших сообщений?

Как правило, подход может быть двояким:

  1. обменять некоторую форму пары закрытого / открытого ключей; сервер генерирует пару ключей и сохраняет закрытый ключ для себя и делится открытым ключом с клиентом (например, посредством сообщения WCF)
  2. , используя эту пару закрытого / открытого ключей, обменивается общим общим секретом, например «ключ шифрования», который будет симметрично шифровать ваши сообщения (и поскольку он симметричен, сервер может использовать тот же ключ для дешифрования сообщений)
  3. настройка инфраструктуры на вашем клиенте (например, расширение WCF, называемое поведением ), чтобы проверить сообщение до того, как оно отправится, и зашифровать его с помощью вашего общего секрета

В общем, это действительно нетривиально - что-либо более простое, чем это, вообще не стоит называть «безопасностью».

Если вы посмотрите на всю эту работу, которую вам придется делать - не будет » Не проще ли просто использовать встроенные механизмы сертификатов WCF ??

Достойная безопасность, достойная своей соли - это сложно - так почему бы не использовать то, что доступно, вместо того, чтобы выполнять всю работу самостоятельно, или того хуже: придумать полусырое решение, которое так легко взломать, что вы могли бы так же легко отправить все в открытом виде ... не недооценивайте сложность и количество кода, необходимого для обработки даже самых простых сценариев безопасности - WCF делает это все для вас - бесплатно, надежно и безопасно - используйте это! Вы не пожалеете!

так легко взломать, что вы можете так же легко отправить все в виде открытого текста ... не недооценивайте сложность и количество кода, необходимого для обработки даже самых простых сценариев безопасности - WCF делает все это за вас - бесплатно и надежным и безопасным способом - пользуйтесь! Вы не пожалеете!

так легко взломать, что вы можете так же легко отправить все в виде открытого текста ... не недооценивайте сложность и количество кода, необходимого для обработки даже самых простых сценариев безопасности - WCF делает все это за вас - бесплатно и надежным и безопасным способом - пользуйтесь! Вы не пожалеете!

17
ответ дан 30 November 2019 в 13:28
поделиться

For message security, your client provides some credentials and server provides some credentials. For this setup and with your scenario could you not use the client username and password with a Custom Username Validator, and a server certificate to provide the server credentials. This Application Scenario provides a fair chucnk of the configuration setup you would need to achieve this, except the aspNet membership sections, which you would have to replace with your custom validation config.

You would still need valid certificates on your servers (no certificates required on the clients), but I can't see any way around this.

1
ответ дан 30 November 2019 в 13:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: