Советы по безопасности WCF - PullRequest
1 голос
/ 10 марта 2011

Я работаю над приложением Windows Phone 7, и для его работы мне понадобится веб-служба для отправки живых push-уведомлений. Я сохраню канал URI клиентов в базе данных и каждый час или около того отправляю правильную живую плитку всем подписанным клиентам. Я не буду отправлять какие-либо конфиденциальные данные клиентам, равно как и клиенты не отправляют какие-либо данные в службу, за исключением их URI канала, и я позаботился о защите базы данных от любых SQL-инъекций.

Открытые методы предназначены для регистрации и отмены регистрации клиента, а также для отправки правильной активной плитки клиенту, который ее запрашивает.

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

Спасибо!

EDIT: Спасибо за ответы! Мои коллеги решили вообще не использовать никакой защиты, кроме очистки ошибочных запросов от базы данных, поскольку область применения приложения весьма ограничена и конфиденциальные данные не передаются. Будем надеяться, что это не укусит нас в спину позже, ах!

Ответы [ 2 ]

1 голос
/ 10 марта 2011

К сожалению, лучшим решением этой проблемы (на данный момент) является создание хэша в вашем приложении и использование его для проверки того, что данные действительно поступают из вашего приложения.Очевидно, что при этом вам нужно будет запутать ваш код.

Это лучшее, что вы можете сделать без какой-либо аутентификации на бэкенде.

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

К сожалению, в настоящее время, безопасность служб и предотвращение нежелательных запросов довольно сложны с WP7 без необходимости входа в бэкэнд.

0 голосов
/ 12 марта 2011

Убедитесь, что ваш канал защищен с помощью SSL. Таким образом, данные, отправляемые на сервер, например ChannelUri, будут защищены.

Встраивание хеша в ваше приложение не является безопасностью. Люди могут получить ваш XAP и декомпилировать его, чтобы получить хэш.

ИМХО, вам лучше убедиться, что ваш ChannelUri (уникальный для вашего приложения и нигде не "хранится" в вашем XAP) защищен при отправке.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...