В чём проблема с корневыми сертификатами
Трафик можно не только слушать, но и копить. Накопленный трафик может утечь и стать общедоступным. Некоторые сервисы полагаются на шифрование канала и передают внутри него аутентификационные данные плейнтекстом. Несколько раз спорил с разработчиками сеньор-уровня, они непрошибаемо доверяют TLS-слою. Утечка аутентификационных данных – неприятный риск. Подмена входящего трафика вклеиванием редиректов где надо – неприятная тема, операторы уже насиловали HTTP вклеиванием JS и рекламы. Для API’шек это может означать поломки.
Cамое нелепое это то, что сама модель корневых сертификатов изначально несовершенна, так как их область действия неограничена. И решения этой проблемы у меня нет. А это ведёт, к примеру, к нарушению модели доверия даже к моим, сука, собственным самоподписным сертификатам! Не то чтобы я их много использовал за пределами локалхоста и интранета, да и для впн он формальность – VPS изначально считается компрометированной, но всё равно неприятно.
А если более предметно - все эти приколы с национальными центрами сертификации - это не проблема сама по себе. Проблема существует давно и это отсутствие ограничений для корневых сертификатов, вызванное ограниченностью клиентского железа. Весь список доменов, на которые распространяется действие корневого сертификата, собрать нереально, а другого критерия для выбора особо и нет. А даже если и собрать - он будет занимать кучу места и поиск в нём будет не так быстр. А разрешать по одному домены и выбирать какому сертификату доверять, а какому нет - боль.
Риск - штука кумулятивная. Если есть один незакрытый идеальным образом вектор атаки, это вообще ни разу не повод доставать голую жопу, потому что всё пропало, потому что “уровень безопасности системы равен уровню безопасности её наименее защищённого компонента”.