Заголовки HPKP не поддерживаются Google Chrome 52?

Мой https-сервер Apache вернул следующий заголовок в качестве ответа на запрос к https://lab20.example.com. :

Пины с открытым ключом:pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; pin-sha256="633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q="; максимальный возраст = 2592000; includeSubDomains

Эти контакты специально недействительны, но Google Chrome 52 позволяет подключаться к моим лабораториям. Похоже, HPKP не работает. Я также проверил: chrome://net-internals/#hsts - и после запроса lab20.example.com я действительно вижу HSTS (подтверждено, что работает нормально), но не HPKP - я не вижу никаких dynamic_spki_hashes. Почему ?

Нужно ли мне что-то активировать в Chrome, чтобы иметь возможность понимать и обрабатывать заголовки HPKP?

Спасибо,


person user2913139    schedule 02.08.2016    source источник


Ответы (2)


Заголовок будет принят ТОЛЬКО в том случае, если он действителен, а затем будет использоваться для будущих посещений (в течение максимального времени).

Это указано в спецификации:

UA ДОЛЖЕН отметить Пины для Хоста тогда и только тогда, когда

...отрезать...

o Соединение TLS было аутентифицировано с помощью цепочки сертификатов, содержащей по крайней мере одну из структур SPKI, на которую указывает хотя бы один из заданных отпечатков пальцев SPKI (см. Раздел 2.6).

Это сделано для того, чтобы вы случайно не заблокировали свой сайт, и это ОТЛИЧНАЯ функция для снижения опасности случайного плохо реализованного HPKP.

Однако это делает тестирование плохого HPKP довольно сложным. Либо вручную добавьте заголовки, используя указанную вами внутреннюю страницу, получите два разных сертификата для своей страницы, либо установите действительный заголовок на верхнем уровне (с includesubdomains) и используйте другой сертификат для субдомена для тестирования.

person Barry Pollard    schedule 02.08.2016
comment
К сожалению, по-прежнему не работает (проверен новейший Chrome). Я создал действительный sha256 и применил его к конфигурации (согласно статье: raymii.org/s/ статьи/). Затем получил 200 ответов с этим значением. После этого хром по-прежнему не отображает его из chrome://net-internals/#hsts — хотя он правильно отображает заголовки hsts — и я мог видеть из статей, он также должен отображать hpkp. Почему ? - person user2913139; 05.08.2016

Хорошо, выяснил причину, я использовал свой корпоративный ЦС, но:

Chrome не выполняет проверку PIN-кода, когда цепочка сертификатов связана с частным якорем доверия. Ключевым результатом этой политики является то, что частные якоря доверия могут использоваться для прокси-подключений (или MITM) даже к закрепленным сайтам. Устройства для предотвращения потери данных, брандмауэры, фильтры контента и вредоносное ПО могут использовать эту функцию для обхода защиты с помощью закрепления ключей.

person user2913139    schedule 05.08.2016
comment
О да. Необходимое, но большое ограничение HPKP. Слишком многое сломается из-за того, что они не вставили это, но в то же время сильно ограничит его полезность для тех, кто использует прокси-серверы или антивирусное программное обеспечение, которое подключается к MITM (сознательно или неосознанно). - person Barry Pollard; 05.08.2016
comment
Честно говоря, я не большой поклонник HPKP из-за этого, а также из-за риска заблокировать ваш сайт, о чем я писал здесь: tunetheweb.com/blog/dangerous-web-security-features Риск ошибиться кажется мне очень высоким (как при настройке, так и в частности в будущем, когда все изменится) по сравнению с вознаграждением, если только вы не являетесь очень известным сайтом с опытом, чтобы управлять этим. - person Barry Pollard; 05.08.2016