Являются ли доверенные открытые ключи в файле конфигурации сетевой безопасности доверенными, даже если ЦС, который его выдал, нет?

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

Но, скажем, пользователь моего приложения не доверяет ЦС, который выдал наш сертификат, и удалил его из списка доверенных ЦС, или, возможно, обновление ОС удаляет ЦС, поскольку было обнаружено, что оно ведет себя плохо.

В идеале, в таком случае я бы хотел, чтобы мое приложение отказывалось подключаться к серверу. Я хочу, чтобы он установил соединение только в том случае, если сертификат, представленный сервером, подписан ключом в наборе контактов И получен из ЦС, которому доверяет ОС / пользователь. Осуществляет ли это закрепление ключа в файле конфигурации сетевой безопасности? Или же доверенным клавишам доверяют, несмотря ни на что?

1 ответ

Решение

HPKP дает указание браузеру сохранять подпись для сертификата вашего сервера в течение указанного вами периода времени. Использование HPKP не заменяет стандартную проверку сертификата.

В вашем сценарии закрепленный PK в браузере будет действителен для сертификата сервера, который представляет ваш сервер, но фактическая проверка сертификата завершится неудачей, поскольку ЦС не является доверенным.

Другие вопросы по тегам