Перейти к содержанию

Recommended Posts

EvgenijB

Всем привет народ.

 

Возникла проблема, стал разбираться с http заголовками, чтоб сделать сайт безопаснее и наткнулся на один интересный заголовок: 

Public-Key-Pins – привязывание публичных ключей через http заголовок, который заставляет браузеры затребовать сертификат из белого списка для всех последующих соединений с конкретным веб-сайтом. Предотвращение MITM атаки.

Public-Key-Pins: “pin-sha256="XXX"; pin-sha256="YYY"; max-age=123 includeSubDomains"

XXXSHA256 – хеш, YYY-резервная копия того же самого ключа , ZZZ – время жизни для белого списка.

 

вот хочу его внедрить.

Первый pin-sha256 - это отпечаток публичного сертификата- это понятно, а вот дальше уже не понятно.

Зачем нужен второй ключ pin-sha256? Как я предполагаю - это резервный ключ, который представляет отпечаток какого то другого сертификата - это верно? И обязателен ли он? Посмотрел на других сайтах, везде присутствуют отпечаток и пин, как сформировали пин?

github.com 
Fingerprint SHA1: d79f076110b39293e349ac89845b0380c19e2f8b
Pin SHA256: pL1+qb9HTMRZJmuC/bB/ZI9d302BYrrqiVuRyW+DGrU=

 

И последний вопрос, какое время жизни заголовка лучше поставить? Чтоб отпала возможность митм атаки из-за маленького времени жизни и не получилось так, что сертификат, на котором сделан отпечаток закончился, а у пользователей храниться еще месяц или более?

Отредактировал EvgenijB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин

Вот хорошая статья по сабжу http://www.securitylab.ru/analytics/479602.php

 

И вот источник на английском https://developer.mozilla.org/en-US/docs/Web/Security/Public_Key_Pinning

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

×