Реализация аутентификации пользователя и запроса - PullRequest
0 голосов
/ 09 января 2012

Прошу прощения за мое невежество, потому что у меня почти нет опыта веб-разработки.

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

Я читал о нескольких механизмах, начиная с простой http-аутентификации, используя соленый хеш (который я использую),реализация маркеров доступа к, казалось бы, сложной OAuth аутентификации.Ах!и, возможно, наконец, о https.

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

Извините, это не прямой вопрос программирования, но я спрашиваю, почему я не могу найти ответ в Google или, скорее, не использую правильные ключевые слова для поиска.

Вопрос в том,учитывая все механизмы маркеров доступа, API-ключей и т. д., даже если бы я реализовал этот механизм, но не использовал https, есть ли смысл вообще их реализовывать?Я имею в виду, что как любой мог бы прослушать мой открытый текстовый пароль или идентификатор пользователя, он также мог бы отслеживать токен / ключ и использовать его впоследствии со злым умыслом, тем самым делая весь механизм бесполезным.Означает ли это, что https является единственным по-настоящему безопасным вариантом?

Я должен что-то здесь упустить, но указатели были бы очень благодарны.

Ответы [ 2 ]

1 голос
/ 10 января 2012

Означает ли это, что https является единственным действительно безопасным вариантом

Нет, не существует единой «безопасной» опции, а есть ряд мер по снижению риска, которые вы применяете для снижения риска в различных точках вашего приложения. HTTPS делает 3 разные вещи:

  1. Обеспечивает удостоверение личности сайта (проверка сайта).
  2. Это обеспечивает гарантию того, что содержание не было изменено в транзит (целостность данных).
  3. Это обеспечивает гарантию того, что подслушивание не происходило при транзите. (конфиденциальность данных).

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

0 голосов
/ 09 января 2012

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

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