Я добавил заголовок HPKP на свой сайт, но он не поддерживается Chrome или Safari... Я протестировал его вручную, установив прокси...
RFC 7469, расширение для закрепления открытого ключа для HTTP, как бы прокрадывается мимо вас. IETF опубликовал его с переопределениями, поэтому злоумышленник может сломать заведомо исправный пинсет. Один раз упоминается в стандарте под названием "override", но подробности не приводятся. IETF также не смогла опубликовать обсуждение в разделе, посвященном вопросам безопасности.
Более того, прокси, который вы установили, задействовал переопределение. Не имеет значения, является ли это неправильным прокси-сервером, сертификатом прокси-сервера, установленным OEM-производителем мобильного устройства, или прокси-сервером, контролируемым злоумышленником, который обманом установил пользователя. Модель веб-безопасности и стандарт допускают это. Они приветствуют перехват и считают его допустимым вариантом использования.
Еще они сделали сообщение о сломанном пинсете как нельзя или не следует. Это означает, что пользовательский агент тоже замешан в сокрытии. Это также не обсуждается в разделе, посвященном вопросам безопасности. Они действительно не хотят, чтобы люди знали, что их предполагаемое безопасное соединение перехватывается.
Лучший способ избежать этого — выйти за пределы модели веб-безопасности. Не используйте приложения на основе браузера, если вас беспокоит безопасность. Используйте гибридное приложение и выполните закрепление самостоятельно. Ваше гибридное приложение может размещать элемент управления или представление WebView, но при этом получать доступ к каналу для проверки параметров. См. также закрепление сертификата и открытого ключа OWASP.
См. также Комментарии к draft-ietf-websec-key-pinning в списке рассылки IETF. Одним из предложений в комментарии было изменить заголовок на "Расширение для закрепления открытого ключа для HTTP с переопределениями", чтобы выделить эту функцию. Неудивительно, что это не то, чего они хотят. Они пытаются сделать это тайком, без ведома пользователя.
Вот соответствующий текст из RFC 6479:
2.7. Взаимодействие с предварительно загруженными списками выводов
UA МОГУТ реализовать дополнительные источники информации о закреплении, например, с помощью встроенных списков информации о закреплении. Такие UA должны позволять пользователям переопределять такие дополнительные источники, в том числе отключать их от рассмотрения.
Эффективная политика для известного закрепленного хоста, который имеет как встроенные выводы, так и выводы из ранее наблюдаемых полей ответа заголовка PKP, определяется реализацией.
person
jww
schedule
24.03.2017