История изменений
Исправление
kirk_johnson,
(текущая версия)
:
Еще раз перечитал новость. Не понятно мне :( Кто может мне объяснить физику подмены сертификата?
Есть сертификат на сайт govno.com, он используется для создания безопасного подключения. Схема подключения выглядит как-то так:
Client <----> TEH-INTERNETZ <----> Server (govno.com)
Вроде все хорошо, все нормально, твой браузер устанавливает соединение, все секурно. Но есть одно НО: ты не знаешь, можно ли доверять сертификату. Ну то есть сертификат на сайт govno.com может выпустить вообще кто угодно, и он формально будет валидным. Для этого придумали концепцию цепочки сертификатов, которая всегда должна заканчиваться CA, которому ты доверяешь.
У твоего браузера есть набор CA сертификатов от всех ведущих собаководов: Let's Encrypt, Comodo, Verisign, и других уродов. CA подписывают свои intermediate сертификаты, intermediate подписывают govno.com, все довольны.
Теперь, в этот список доверенных CA попадает новый CA Super-Puper-Kazah и он подписывает сертификат на сайт govno.com. Что происходит дальше? А вот что:
Client <----> TEH-INTERNETZ <----> HAXXXORS <----> Server (govno.com)
Что происходит дальше? Client посылает ПРИВЕТ ХОЧУ ПОСМОТРЕТЬ GOVNO.COM на Server, но из-за коварной гебни запрос приходит HAXXXORS. HAXXXORS устанавливает одно соединение с Server, а одно с Client. Client он представляется Server (и посылает сертификат на govno.com), а Server он представляется Client. Поскольку твой браузер доверяет CA Super-Puper-Kazah, то проверка сертификата govno.com проходит успешно. А дальше как с обычной HTTP проксей.
Исправление
kirk_johnson,
:
Еще раз перечитал новость. Не понятно мне :( Кто может мне объяснить физику подмены сертификата?
Есть сертификат на сайт govno.com, он используется для создания безопасного подключения. Схема подключения выглядит как-то так:
Client <----> TEH-INTERNETZ <----> Server (govno.com)
Вроде все хорошо, все нормально, твой браузер устанавливает соединение, все секурно. Но есть одно НО: ты не знаешь, можно ли доверять сертификату. Ну то есть сертификат на сайт govno.com может выпустить вообще кто угодно, и он формально будет валидным. Для этого придумали концепцию цепочки сертификатов, которая всегда должна заканчиваться CA, которому ты доверяешь.
У твоего браузера есть набор CA сертификатов от всех ведущих собаководов: Let's Encrypt, Comodo, Verisign, и других уроды. CA подписывают свои intermediate сертификаты, intermediate подписывают govno.com, все довольны.
Теперь, в этот список доверенных CA попадает новый CA Super-Puper-Kazah и он подписывает сертификат на сайт govno.com. Что происходит дальше? А вот что:
Client <----> TEH-INTERNETZ <----> HAXXXORS <----> Server (govno.com)
Что происходит дальше? Client посылает ПРИВЕТ ХОЧУ ПОСМОТРЕТЬ GOVNO.COM на Server, но из-за коварной гебни запрос приходит HAXXXORS. HAXXXORS устанавливает одно соединение с Server, а одно с Client. Client он представляется Server (и посылает сертификат на govno.com), а Server он представляется Client. Поскольку твой браузер доверяет CA Super-Puper-Kazah, то проверка сертификата govno.com проходит успешно. А дальше как с обычной HTTP проксей.
Исходная версия
kirk_johnson,
:
Еще раз перечитал новость. Не понятно мне :( Кто может мне объяснить физику подмены сертификата?
Есть сертификат на сайт govno.com, он используется для создания безопасного подключения. Схема подключения выглядит как-то так:
Client <----> TEH-INTERNETZ <----> Server (govno.com)
Вроде все хорошо, все нормально, твой браузер устанавливает соединение, все секурно. Но есть одно НО: ты не знаешь, можно ли доверять сертификату. Ну то есть сертификат на сайт govno.com может выпустить вообще кто угодно, и он формально будет валидным. Для этого придумали концепцию цепочки сертификатов, которая всегда должна заканчиваться CA, которому ты доверяешь.
У твоего браузера есть набор CA сертификатов от всех ведущих собаководов: Let's Encrypt, Comodo, Verisign, и другие уроды. CA подписывают свои intermediate сертификаты, intermediate подписывают govno.com, все довольны.
Теперь, в этот список доверенных CA попадает новый CA Super-Puper-Kazah и он подписывает сертификат на сайт govno.com. Что происходит дальше? А вот что:
Client <----> TEH-INTERNETZ <----> HAXXXORS <----> Server (govno.com)
Что происходит дальше? Client посылает ПРИВЕТ ХОЧУ ПОСМОТРЕТЬ GOVNO.COM на Server, но из-за коварной гебни запрос приходит HAXXXORS. HAXXXORS устанавливает одно соединение с Server, а одно с Client. Client он представляется Server (и посылает сертификат на govno.com), а Server он представляется Client. Поскольку твой браузер доверяет CA Super-Puper-Kazah, то проверка сертификата govno.com проходит успешно. А дальше как с обычной HTTP проксей.