Поверителност на OCSP: отговарящият вижда сертификат, а не вашия URL
Заявката OCSP идентифицира сертификат и момент във времето, а не пътя на страницата. Прикачването, кеширането и политиката на клиента решават кой наблюдава проверката.
Проверката на статус задава един въпрос за един сертификат и отговорът пътува по собствена връзка. Тя не съдържа пътя на страницата, който е довел до проверката. Обсъжданията на поверителността често третират размената като емисия от историята на браузъра, което надценява какво носи заявката и подценява какво може да наблюдава отговарящият. Прочетете заявката, преди да решите какво разкрива тя.
Заявката идентифицира един сертификат
Идентификаторът на сертификата OCSP се изгражда от хеш функция, два хеша на издателя и серийния номер на целевия сертификат, както е указано в RFC 6960. Всяко поле сочи към един сертификат, а не към URL или HTTP заявка.
Пътят на страницата, низът на заявката и всяко съдържание на формуляри липсват в стандартния идентификатор. Твърдението, че отговарящият получава точния URL, изисква доказателство от нещо друго освен проверката на сертификата. Заявката все пак назовава сертификат и момент и отговарящият може да знае коя услуга го представя.
Липсва страницата, а не целият контекст. Проверка на сертификат плюс известна услуга плюс повтарящ се източник може да е по-информативно от всяко от тях поотделно.
Какво всъщност може да наблюдава отговарящият
Отговарящият вижда връзката, която стига до него: адрес на източника, време и всякакви метаданни за транспорта, които внедряването му записва. Ако заявката за статус минава през VPN, този източник може да е изходът на VPN, а не мрежата за достъп на потребителя. Не предполагайте, че заявката за статус поема същия път като заявката за страницата, само защото и двете принадлежат на една сесия на браузъра.
Проверете поддържаното от клиента маршрутизиране и поведение при проверка, вместо да го извеждате от една следа. Разделеният тунел може да изпрати двете заявки в различни посоки.
Прикаченият отговор е другият често срещан модел. Разширението TLS status_request от RFC 6066 позволява на сървъра да прикачи отговор OCSP към собственото си ръкостискане, така че клиентът проверява това, което му е дадено, вместо сам да извлича статус за тази връзка. Тази промяна сменя наблюдателя. Извличането се извършва от страната на сървъра и собственият адрес на клиента никога не стига до отговарящия за тази връзка.
Статусът може да пристигне прикачен в ръкостискането
Нищо от това не гарантира, че клиентът никога няма да направи друга заявка за проверка. Изграждането на веригата, политиката за статус и поддържаните механизми се различават според реализацията.
Прегледът на сертификати в един браузър не описва всяка операционна система и VPN клиент. Един и същ мрежов запис може да означава различни неща при различни настройки за проверка.
Кеширането разбива допускането една страница — едно търсене
Кеширането отделя зареждането на страници от търсенията. Браузърът може да използва повторно отговор за известно време, така че едно разглеждане на страница не означава една мрежова заявка.
Обратната грешка е също толкова честа. Кешираният отговор не казва нищо за това кога ще се случи следващото обновяване и графикът за обновяване може да е несвързан със страницата, която се отваря. Използвайте актуалната документация на клиента и действащата политика за проверка, преди да припишете запис на OCSP.
Валидният отговор за статус трябва да отговаря на правилата за автентичност и свежест на проверяващия и HTTP 200 не е същото като добър статус. Изтичането на времето не е оттегляне. Тези резултати водят до различно поведение на клиента и не бива да се свиват в една грешка.
Избори за поверителност, които запазват проверката непокътната
Когато самото търсене е чувствително, обсъдете поддържаните опции за доставяне и кеширане със собственика на системата. Не го решавайте, като изключите проверката за оттегляне или проверката на веригата.
По-тихата следа не е по-безопасна връзка. Пазете непокътнати идентичността на партньора, проверката на веригата и предвидената политика за оттегляне и променяйте пътя на доставяне само чрез опция, която внедряването поддържа. Запишете коя опция е избрана и кой я притежава.
Когато едно търсене се появи неочаквано, назовавайте получателя, маршрута и операцията със сертификата поотделно. Изтегляне на издател, заявка за статус и заявка за страница са три събития. Третирането им като едно прави прегледа на поверителността неточен и скрива коя страна всъщност е научила нещо. Започнете от полетата на протокола и работете навън към мрежовия път.