Заголовки запросов REST, зашифрованные SSL?

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

Ответ 1

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

Кстати, если вы разрабатываете сетевые приложения и заботитесь о безопасности данных, то, по крайней мере, вам следует прочитать книгу, такую ​​как Practical Cryptography, Нильс Фергюсон и Брюс Шнайер, и, возможно, дальнейшее чтение, в котором больше внимания уделялось безопасности веб-приложений быть хорошей идеей. Если я могу сделать наблюдение - и, пожалуйста, я не имею в виду, что в качестве личной критики - ваш вопрос указывает на фундаментальное отсутствие понимания очень простых технологий веб-безопасности и что никогда не будет хорошим знаком.

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

Ответ 2

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

Ответ 3

Оба заголовка и содержимое зашифрованы.

Ответ 4

Кажется, что REST - это отличный протокол.

REST не является протоколом. Это стиль дизайна для HTTP-приложений.

Итак, ваша запись HTTP-приложения. Зашифрованы ли заголовки? Да, если вы используете протокол HTTPS (HTTP over SSL) вместо простого HTTP.

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

Ответ 5

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

И да, HTTP-заголовки зашифрованы, а также данные.

Ответ 6

SSL.. или, скорее, HTTPS (HTTP over SSL) отправляет весь HTTP-контент через SSL, а так как HTTP-контент и заголовки на самом деле то же самое, это означает, что заголовки также зашифрованы. Увидев, что данные GET и POST отправляются через HTTP-заголовки, тогда имеет смысл тогда, когда вы отправляете данные надежно, вы просто не хотите, чтобы код ответа или контент были зашифрованы.

Ответ 7

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

Обновление:, как указано в @blowdart ниже, это неправильно. См. Комментарий ниже.

Ответ 8

Не все зашифровано: строка запроса запроса не зашифрована. Поверьте мне, я видел такие запросы:

https://mydomain.com/authenticate?user=username&password=MyStrongPasswordSentInTheClear

Пожалуйста, не помещайте конфиденциальные данные в качестве параметров в строку запроса.