2010-08-29 2 views
1

мне интересно, если у меня есть веб-службы, как это:безопасности при вызове страницы WebService или ASPX с паролем

Login(username, password) 

или страницу как

login.aspx?u=username&p=pass 

Если бы они были вызваны из настольное приложение, которое было бы более безопасным. Из того, что я читал, сниффер может прочитать запрос и выяснить URL. I AM hashing пароли перед тем, как поместить их в запрос, но если кто-то увидит URL-адрес запроса с помощью строки params/query, они могут сделать запрос с одинаковыми значениями !?

Насколько легко/сложно использовать сниффер для определения хешированного пароля? Должен ли я шифровать пароль и имя пользователя перед тем, как поместить его в URL-адрес и веб-службу? Любые другие варианты, которые у меня есть?

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

Примечание: SSL не вариант

ответ

1

Используйте SSL для создания уникального токена сеанса через службу входа в систему. Используйте этот токен для стандартного HTTP для остальных.

Ваш сеанс входа в систему должен будет ввести имя пользователя/пароль в качестве POST, иначе значения будут отображаться в запросе URL-адреса на сервере и могут отслеживаться в сети.

+0

Привет, Пол, Не могли бы вы подробнее рассказать о том, как создать уникальный токен сеанса? Спасибо – gideon

+0

Помните, что мой клиент не заботится о безопасности, если их данные, поэтому * они * не будут покупать SSL или устанавливать их на своих машинах. Могу ли я использовать какое-то шифрование, я хотел бы сохранить его простым, поскольку данные не так важны. – gideon

+0

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

1

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

+0

Жаль, что я не упомянул об этом ранее Моих клиентов (банк) решивших специально не использовать SSL, потому что: 1.Data не все, что чувствительный 2.App размещается в локальной сети (доступ к сети обеспечен себя) 3.Использование банковского персонала. – gideon

0

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