Значения формы POST через HTTPS - PullRequest
2 голосов
/ 31 января 2011

Я довольно незнаком с HTTPS, но я знаю, что он безопасен, я хочу знать, когда пользователь входит в систему с деталями в форме, переменные в этой форме (имя пользователя, пароль) отправляются на сервер в зашифрованном виде?

Я спрашиваю об этом, поскольку я использую форму для входа в систему, но я также хэширую их пароли с помощью MD5 вместе с ОСВ для проверки.

Также,Достаточно ли безопасен HTTPS для предотвращения перехвата данных входа в систему шпионскими программами, запущенными на хосте?

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

Ответы [ 6 ]

5 голосов
/ 31 января 2011

Я довольно незнаком с HTTPS, но я знаю, что он безопасен, и я хочу знать, когда пользователь входит в систему с подробной информацией в форме, переменные в этой форме (имя пользователя, пароль) отправляются на сервер в зашифрованном виде

Все HTTP-запрос и ответ зашифрованы.

Однако поиск DNS для преобразования имени хоста в IP-адрес не будет.

Кроме того, достаточно ли безопасен протокол HTTPS, чтобы все шпионские программы, работающие на хосте, не могли перехватить данные для входа?

Нет. HTTPS шифрует связь между клиентом и сервером. Это не может помешать программному обеспечению на клиенте вмешиваться в запрос или читать ответ. Это включает в себя возможность того, что злоумышленник перехватит запрос формы и изменит его - поэтому форму необходимо отправлять и по SSL.

3 голосов
/ 31 января 2011

OK. Давайте разберем этот вопрос немного и рассмотрим несколько вещей здесь.

Во-первых: вы говорите, что знаете, что HTTPS "безопасен". Давайте уточним это немного.

HTTPS - это механизм шифрования, и не более того, поэтому использование HTTPS само по себе не гарантирует «безопасность» в более широком смысле. Если вы используете HTTPS, все, что вы на самом деле знаете, это то, что любая информация, отправляемая из браузера вашего посетителя на ваш сервер, будет отправляться по зашифрованному каналу связи, например, для защиты от Man-in-the-Middle Приступы .

Хотя это важно, использование шифрования / HTTPS в никак не защищает вас от любого другого числа других потенциальных уязвимостей, включая сломанные механизмы аутентификации, инъекции SQL, межсайтовый скриптинг (XSS) и множество других.

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

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

В-третьих: как сказал SLaks, MD5, вероятно, не лучший алгоритм хеширования, который можно использовать. Хотя я ни в коем случае не являюсь экспертом в области криптографии, я думаю, что вы все еще в достаточной безопасности, если вместо этого используете SHA1 (плюс сильную соль ). Насколько мне известно, MD5 потерпел некоторые математические поражения за последние несколько лет, что ослабило его безопасность.

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

Надеюсь, это полезно.

2 голосов
/ 31 января 2011

HTTPs - это протокол, используемый для предотвращения просмотра данных, отправляемых между вами и сервером интернет-провайдерами или публичными угонщиками WIFI, и в других случаях. Он может не помешать шпионскому ПО на вашем сервере читать его, публиковать данные с использованием SSL вам нужно только установить для атрибута action полный конечный URL https://, если вы уже установили сертификат SSL.

Из Википедии:

Протокол передачи гипертекста Secure (HTTPS) представляет собой комбинацию Протокол передачи гипертекста с Протокол SSL / TLS для обеспечения шифрования общение и безопасность идентификация сети веб сервер.

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

2 голосов
/ 31 января 2011

Все данные, отправляемые на сервер и с сервера по запросу HTTPS, шифруются.
Сюда входят URL, заголовки, данные POST и ответ.

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

1 голос
/ 31 января 2011

Назначение HTTPS используется для поддержки этих трех основных требований информационной безопасности:

  • Конфиденциальность - только получатель может прочитать переданное сообщение, котороебыл предназначен для него / нее.
  • Целостность - Получатель может определить, не было ли переданное сообщение взломано.
  • Подлинность - Получатель может проверить, что переданное сообщение отправлено отправителем.

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

В частности, это означает, что, например,

  • отправитель уже отправляет вредоносные данные по защищенному каналу HTTPS
  • получатель получает важные данные по защищенному каналу HTTPS, но на компьютере имеется шпионское ПО, способное считывать данные.

Итак, чтобы ответить на два ваших вопроса:

[…], когда пользователь входит в систему с подробной информацией в форме, передаются ли переменные в этой форме (имя пользователя, пароль) на сервер в зашифрованном виде?

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

Кроме того, достаточно ли безопасен HTTPS длязапретить каким-либо программам-шпионам, запущенным на хосте, перехватывать данные для входа?

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

1 голос
/ 31 января 2011

HTTPS, безусловно, безопасен для трафика в обоих направлениях (при условии, что вы храните закрытый ключ в безопасности).Шпионское ПО может скомпрометировать закрытый ключ и, следовательно, безопасность HTTPS-трафика к хосту.

...