Сведения о вопросе

HOLY

23:04, 25th August, 2020

Теги

Шифрование в веб-сервисах C#

Просмотров: 429   Ответов: 6

Я ищу простой способ зашифровать мое сообщение soap в моем веб-сервисе C#.

Я искал WSE 3.0 , но, похоже, Microsoft отказалась от его поддержки, и поэтому его не так просто использовать.
Похоже, что WCF мог бы быть вариантом, но я предпочитаю не обновляться с .NET 2.0 .

Какой-нибудь простой и понятный метод шифрования?



  Сведения об ответе

SILA

14:21, 28th August, 2020

Я думаю, что это может помочь; в прошлом году мы использовали это для сжатия веб-сервисов, и он работал очень хорошо, я считаю, что его можно было бы улучшить с помощью классов шифрования;

Создание Пользовательских Расширений SOAP-Расширение Сжатия


  Сведения об ответе

SEEYOU

09:00, 9th August, 2020

Все, что вы делаете для обеспечения "encryption", которое не использует SSL/TLS, вероятно, будет уязвимым. Теперь вы должны спросить себя, стоит ли сжигать часы dev, которые вы могли бы потратить на функции на резиновой курице меры безопасности? Может быть, так оно и есть.

.NET APIs как DPAPI и Win32 crypt32 API позволяют легко шифровать большие двоичные объекты данных с помощью статических ключей. Но как ваши клиенты получат ключи? Любой установленный клиент SOAP должен будет либо записать ключ в свою конфигурацию, либо получить его через небезопасный интернет.

Это проблема, которую решает для вас SSL/TLS; танец, который вы делаете с сертификатами TLS, решает проблему передачи открытых ключей по ненадежным каналам.


  Сведения об ответе

SILA

02:43, 2nd August, 2020

Может быть, я и наивен, но был бы принуждение к общению должно быть через https быть приемлемым? Я разрабатываю web службы, которые работают на 2.0 и имели успех только с получением IIS до принудительно применить https на виртуальной машине справочник.

Это был бы самый простой способ уйти возможно, но, к сожалению, я этого не делаю имейте контроль над IIS конфигурация, и не может гарантировать что он может работать https.

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


  Сведения об ответе

+-*/

02:39, 4th August, 2020

Возможно, я наивен, но было бы приемлемо заставить сообщение быть через https? Я разрабатываю веб-службы, которые работают на 2.0 и добились успеха, просто получив IIS для принудительного применения https в виртуальном каталоге.

Кроме того, вы можете проверить свойство HttpRequest.IsSecureConnection .


  Сведения об ответе

lourence

17:50, 5th August, 2020

Мы фактически используем WSE 3.0 в наших веб-сервисах, которые изначально были разработаны до WCF. Для обеспечения безопасности мы используем систему на основе токенов SAML, построенную на классах криптографии в System.Security.

Это работает очень хорошо. Однако этот метод ни в коем случае не является "simple".


  Сведения об ответе

+-*/

05:47, 1st August, 2020

Вы можете использовать шифрование параметров в C#, используя расширение System.Security.Cryptography.

Шифровать ваши параметры и расшифровывать их будет сложнее, но гораздо безопаснее.

Как шифровать и расшифровывать данные с помощью симметричного ключа (C#/VB.NET) (Rijndael)

Я использую этот пример для веб-службы OTP (одноразовый пароль), и он отлично работает для меня.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться