Защита частей HTTP-запроса? - PullRequest
5 голосов
/ 11 ноября 2010

Как можно обеспечить безопасность частей HTTP-запроса, скажем, их идентификатора сеанса? Я знаю, что вы можете использовать HTTPS, но тогда ваши серверы должны расшифровать все запросы. Разве не было бы идеально шифровать только необходимые части запроса?

Существуют ли какие-либо структуры или ресурсы, которые позволяют вам или сообщают вам, как это сделать?

Ответы [ 2 ]

10 голосов
/ 11 ноября 2010

HTTPS - правильный инструмент для использования. Вычислительная нагрузка дешифрования пакетов очень мала. Google изменил HTTPS по умолчанию для всего GMail ранее в этом году, и они сообщают, что загрузка процессора на их серверах для шифрования / дешифрования SSL составляет около 1%.

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

Вот сообщение в блоге об опыте Google, так как GMail перешел на 100% SSL.

3 голосов
/ 11 ноября 2010

HTTPS - это все или ничего.Если не все элементы на странице защищены HTTPS, пользователи обычно получают «сломанную блокировку» в верхнем левом углу.Это связано с тем, что злоумышленник может использовать это для внедрения атаки, аналогичной xss, и получения значения document.cookie.

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

...