Рубрики

HTTP заголовки | Public-Key-Pins

Устаревший: эта функция больше не рекомендуется. Команда Google Chrome устарела в 2017 году из-за сложности и побочных эффектов. Google рекомендует использовать Expect-CT в качестве лучшей альтернативы. Он был удален из 90% веб-браузеров, но некоторые браузеры все еще поддерживают его только в целях совместимости.

Закрепление общедоступных ключей HTTP (HPKP) — это механизм обеспечения безопасности в Интернете, предоставляемый с помощью заголовка HTTP, который позволяет веб-сайтам HTTPS противостоять злоумышленникам, используя неправильно используемые или мошеннические цифровые сертификаты. Это произошло путем доставки клиенту набора открытых ключей (например, веб-браузера). Эти ключи доставляются тем клиентам, которым следует доверять для будущих подключений с тем же доменным именем.

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

Header type: Response header

Синтаксис:

Public-Key-Pins: pin-sha256 = "pin-value"; 
                 max-age = expire-time; 
                 includeSubDomains; 
                 report-uri = "uri"

Директивы

  • pin — sha256 = «pin — значение»
    Этот вывод используется для указания нескольких выводов для разных открытых ключей. В будущем мы также можем использовать другие алгоритмы хеширования, чем SHA-256.
  • max — возраст = время истечения
    Этот пин представляет время (в секундах), в течение которого браузер должен помнить, что доступ к сайту осуществляется с помощью одного из определенных ключей.
  • IncludeSubdomains
    Этот пин указывает, что правила сайта также применяются к поддоменам сайта. Этот параметр не является обязательным.
  • отчет — uri = «uri»
    Этот вывод отправляет отчет об ошибках проверки выводов. Этот параметр также является необязательным.

пример

Public-Key-Pins: 
  pin-sha256 = "cUPcTAZWKaASuYWhhneY3oBAkE3h2+soZS7sWs="; 
  pin-sha256 = "M8HztCzM3elS5P4hhyBNf6lHkmjAHKhpGPWE="; 
  max-age = 51000; 
  includeSubDomains; 
  report-uri = "https://www.geeksforgeeks.org/hpkp-report"

В этом примере First pin pin-sha256 = «cUPcTAZWKaASuYWhhneY3oBAkE3h2 + soZS7sWs =» — это открытый ключ сервера, используемый в рабочей среде .
Второй вывод pin-sha256 = «M8HztCzM3elS5P4hhyBNf6lHkmjAHKhpGPWE =» используется в качестве резервного ключа.
Третий вывод max-age = 51000 указывает клиенту хранить эту информацию в течение двух месяцев (этот срок предусмотрен IETF RFC).
Четвертый вывод includeSubDomains означает, что ключ действителен для всех поддоменов.
Наконец, последний контактный отчет report-uri = «http://espressocode.top/hpkp-report» объясняет, где сообщать об ошибках проверки контактов.

Совместимость браузера: Браузеры, совместимые с заголовком Public-Key-Pins , перечислены ниже:

  • Гугл Хром
  • опера
  • Fire Fox
  • Internet Explorer
  • Microsoft Edge
  • Сафари

Рекомендуемые посты:

HTTP заголовки | Public-Key-Pins

0.00 (0%) 0 votes