LINUX.ORG.RU

Вопрос про сертификаты, используемые в https

 , ,


2

3

Вопрос, наверное, покажется маленьким для отдельного топика, но я не могу понять некоторый момент в сертификатах. Я выявил для себя наиболее слабые места в этом вопросе, и мне хотелось бы последовательно их разрешить.

В сертификатах указан «публичный ключ» и «алгоритм». Как я понимаю, закрытый ключ находится у сервера. Но тогда получается, что сервер использует всегда 1 пару ключей для общения с клиентами? Вряд ли. Я думаю, поверх этого зашифрованного соединения сверху еще накладывается что-то. Но как определить, что именно? Chrome или Firefox.



Последнее исправление: letni (всего исправлений: 1)

Если коротко: пара открытый/закрытый ключ используется только для генерации общего секрета между клиентом и сервером. Затем на основе этого секрета генерируется ключ (плюс еще некоторые параметры) для симметричного алгоритма шифрования. И все основное общение шифруется уже им.

Vovka-Korovka ★★★★★
()
Ответ на: комментарий от Vovka-Korovka

Мне хотелось бы еще кой что уточнить:

1.Открытый ключ, который указан в сертификате — именно он используется для установки соединения с сервером? Сервер же, в свою очередь, имеет закрытый ключ для расшифровки сообщений, отправленных с помощью открытого ключа? Т.е. я свой секрет шифрую с помощью открытого ключа, указанного в сертификате и отправляю серверу?

2.Где-то на компьютере у меня хранится открытый ключ, с помощью которого происходит расшифровка подписи сертификационного центра?

letni
() автор топика
Ответ на: комментарий от letni

Там чуть-чуть сложнее, но в общем верно. При помощи открытого ключа шифруются и отправляются параметры для генерации pre-master-secret, котоый потом используется для генерации master-secret, который потом используется для генерации session-keys, используемых для симметричной криптографии самого трафика.

Имея открытый ключ ты может проверить подпись сертификата. Т.ч. тоже верно.

  • Private key → decrypt, sign
  • Public key → encrypt, check sign
beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

и достаточно:

1.быть провайдером
2.поднять свой firefox.com и сервер ответов на firefox.com/checkupdates.php(на который обращаются все файрфоксы при запуске)
3.собрать свой файрфокс с «народными сертефикатом»(тоесть своими сертефикатами)
4.при запросе «апдейда»-скармливать свой линк на свой файрфокс(тоесть фарфокс загрузит ваш файрфокс с уже подменеными сертефикатами)
5.поднять свои сервера сертефикатов(дубли международным)
6.чтоб ваши сервера принимали все «народные сертефикаты» из вашего файрфокса,и отвечали что они подлинные
7.шифруем весь трафик своими закрытыми сертефикатами и никто ничего не заметит

(так уже сделано почти везде,правда на мобилках небольшая проблема из за встроенного браузера-но там просто можно предлагать установить «народные сертефикаты» самостоятельно)

jsi36331
()
Ответ на: комментарий от beastie

Спасибо. С основами разобрался, вопросов больше нет :)

letni
() автор топика
Ответ на: комментарий от jsi36331

так уже сделано почти везде

серьезно?

anonymous
()
Ответ на: комментарий от jsi36331

1. Ну, допустим.
2. Сервис проверки обновлений использует HTTPS. Значит нужно сначала как-то организовать цепочку доверия.
3. Ну, допустим, собрали.
4. И вот в этом месте браузер пользователя начинает ругаться на невалидный сертификат для firefox.com. Пользователь чешет репу и решает не скачивать FF с сайта при явном MitM.
5. Вы, видимо, про OCSP-сервера. Ну, допустим, подняли.
6. Ответ OCSP-сервера подписывается сертификатом УЦ. В вашем случае без успешного внедрения сертификата в п. 4 ничего работать не будет.
7. Ну, Вы поняли... без п.4 ничего не работает. А если пользователь настолько ССЗБ, то встает вопрос о целесообразности таких ухищрений. Просто внедрите в свой инсталлер троян

так уже сделано почти везде

Например, где?

можно предлагать установить «народные сертефикаты» самостоятельно

А вот этот вариант сработает во многих случаях. Не сработает при пиннинге сертификатов или OCSP-stapling

ZhuKoV
()
Ответ на: комментарий от ZhuKoV

2.-не использует,лично проверено

так уже сделано почти везде

если у тебя провайдер р-стелеком-запусти тор и завтра попробуй войти на любой сервис что пользуется услугами cloudflare-это половина интернета
через https естественно-ты внезапно узнаешь что у тебя половина интернета стала с неправильными сертефикатами,ты полезишь в гугл,гугла в первомже результате выдаст-обновите файрфокс,ты нажмешь кнопку обновить файрфокс,и опана-все починилось

jsi36331
()
Ответ на: комментарий от jsi36331

Хочешь сказать, что они научились mitm в tor? Извини за скепсис, но это хотя и не невозможно в принципе, что не то что не верю, но допускаю какое-то недоразумение и если не трудно хотелось бы скриншот увидеть. Тем более со скачиванием FF. Про mitm просто для https это уже не новость, делают, хотя не все и не везде. Да, скриншот с tor-browser из бандла, потому как мало ли какие настройки (ошибки в настройках) просто у локального клиента, в частности, если резолвинг имен делается через dns провайдера и т.д.

anonymous_incognito ★★★★★
()
Последнее исправление: anonymous_incognito (всего исправлений: 1)
Ответ на: комментарий от jsi36331

2.-не использует,лично проверено

$ curl -v 'http://firefox.com/checkupdates.php'
* Hostname was NOT found in DNS cache
*   Trying 63.245.213.24...
* Connected to firefox.com (63.245.213.24) port 80 (#0)
> GET /checkupdates.php HTTP/1.1
> User-Agent: curl/7.38.0
> Host: firefox.com
> Accept: */*
> 
< HTTP/1.1 301 Moved Permanently
* Server Apache is not blacklisted
< Server: Apache
< X-Backend-Server: pp-web02
< Cache-Control: max-age=0
< Content-Type: text/html; charset=iso-8859-1
< Date: Mon, 11 Jul 2016 14:06:31 GMT
< Location: https://www.mozilla.org/firefox/?utm_source=firefox-com&utm_medium=referral
ZhuKoV
()
Ответ на: комментарий от ZhuKoV

тупой совсем?

я дал ссылку из головы,это очевидно было что не настоящая

запусти файрфокс спарси трафик что он шлет при запуске получишь рабочую ссылку

или тебе рабочую сборку «бекдора» с прокси сервером и всеми настройками прислать?

тогда жди уже высылаю!

jsi36331
()
Ответ на: комментарий от anonymous_incognito

я и не говорил что тор подменяют

я сказал-подменяют Стандартные программы,которые лезут обновляться-типа файрфокса,вместе с ним качаются встроенные левые сертефикаты

из за этого https не безопасен уже несколько лет как

и да-если ты пользуешься фарфоксом на машине вместе с тором-тут ни о какой анонимности говорить не стоит

jsi36331
()
Ответ на: комментарий от jsi36331

я и не говорил что тор подменяют

Извини не так значит понял.

я сказал-подменяют Стандартные программы,которые лезут обновляться-типа файрфокса,вместе с ним качаются встроенные левые сертефикаты

То есть, в FF с офсайта Р-Т на лету делает модификацию, добавляя левые сертификаты? Это более реально, но тоже круто. Это действительно так, то есть, можно сравнить скачанное разными путями (желательно как через тор, так и не, чтобы исключить модификацию узлом тор), препарировать и убедиться в лишних добавках? Также убедиться, что нет подмены DNS и скачен браузер именно с офсайта?

anonymous_incognito ★★★★★
()
Ответ на: комментарий от ZhuKoV

HTTPS используется. Пруф:

ну че ты такой....

файрфокс посылает запрос на http://xxxxxxxx идет автоматический редирект на https это ясно

но почему идет первый запрос на http-для Совместимости-чтоб старые файрфоксы тоже могли обновиться

и да-ты ставя свой сервер firefox.com и отвечая по http-тебе не нужны никакие сертефикаты

тоесть-да файрфокс тоже может обновляться по http

jsi36331
()
Ответ на: комментарий от jsi36331

файрфокс посылает запрос на http://xxxxxxxx идет автоматический редирект на https это ясно

Да, блин, же...
1. Открываем в FF about:config
2. Находим параметр app.update.url
3. Видим https://...

Смотреть в трафик мне просто лень. И так вполне очевидно, что никакой запрос на http:// делать не нужно.

Старого FF под рукой нет, чтоб проверить. Но мне очевиден тот факт, что для совместимости могли оставить доступ по http для старых версий НА СТОРОНЕ СЕРВЕРА. Новой же версии FF нет никакой нужды стучаться куда-то там по нешифрованному соединению.

Если вы по прежнему утверждаете, что я не прав, пришлите дамп запросов при обновлении и покажите тот самый «автоматический редирект».

ZhuKoV
()
Ответ на: комментарий от jsi36331

продолжать?

Конечно!

Я очень хочу знать, как ваш прокси, отдает 301/302 редирект по HTTP еще ДО установления шифрованного соединения и, как следствие, ДО отправки HTTP-запроса. 0_о

А если прокси используется в режиме CONNECT, то как внедряется в трафик между браузером и гуглом.

ZhuKoV
()
Ответ на: комментарий от ZhuKoV

можем сделать просто

я тебе вышлю ТРИ рабочих(именно уже сконфигурированных с инструкцией и исходниками) варианта редиректа https://google.com на свой фейковый google.com

без изначальной подмены сертефиката,работающее на любом браузере(мину три четыре года,на IE6 очевидно что работать врятли будет,не проверял)

все что надо-сидеть на трафике между браузером и google.com (тоесть в присланном мной будет прокси,очевидно)

за сумму в 100баксов(стандартная цена такого проекта),выклю завтра вечером,оплата по факту как убедишься что все работает

если согласен в следующем сообщении напишу свой емайл куда контактировать

jsi36331
()
Ответ на: комментарий от jsi36331

Можем сделать еще проще:
Вы мне высылаете $100 и я соглашаюсь, что был неправ и все, что вы писали выше — действительно чистейшая правда, HTTPS много лет как скомпрометирован и кто угодно может вот так просто взять и средиректить https-сессию куда ему вздумается.

ZhuKoV
()
Ответ на: комментарий от ZhuKoV

Если согласны, то снимите изоленту с камеры и глубокомысленно кивните.

ZhuKoV
()
Ответ на: комментарий от ZhuKoV

причем я не говорил про стандарт https я говорил про реализацию и реализацию конкретно в браузерах

и что редиректы браузеры читают независимо от хода авторизации https....и еще много тонкостей которые можно использовать чтоб перехватывать или подменять https запросы

ну раз нет бабла то и кода не будет,тем не менее я с этим работал и делал подобные проекты,наброски кода остались,желающим(неверующим в первую очередь) продам

jsi36331
()
Ответ на: комментарий от ZhuKoV

действительно чистейшая правда, HTTPS много лет как скомпрометирован и кто угодно может вот так просто взять и средиректить https-сессию куда ему вздумается.

мечты, мечты ...

anonymous
()
Ответ на: комментарий от jsi36331

Какой, нафиг, прокси и редиректы? Тем более, что пока дойдет дело до http redirect, должен завершиться tls handshake.

На деле, у тех кто может себе позволить mitm («сидит на трафике») всё проще. Достаточно ответить на https сгенерировав на лету сертификат, подписанный подходящим рутовым. И можно делать что хочешь.

Осталось решить проблему «подходящего» рутового сертификата. Варианты есть и тут:

* использовать какой-нить серьёзный ssl-offloader на котором уже есть intermediate сертификат от доверенных CA

* а можно так или иначе убедить клиента поставить свой сертификат, типа «для пользования личным кабинетом вы должны установить ....», в корпоративных сетях и того проще, распространителям собственных сборок браузеров тоже лафа.

Остается только одна преграда - certificate pinning. Т.е. если клиент посещал целевой сайт раньше по чистому каналу, то pinning выдаст предупреждение. Если pinning есть и включен.

eabi
()
Ответ на: комментарий от eabi

На деле, у тех кто может себе позволить mitm («сидит на трафике») всё проще. Достаточно ответить на https сгенерировав на лету сертификат, подписанный подходящим рутовым. И можно делать что хочешь.

https как раз и предназначен для предотвращения MITM ... внезапно ...

anonymous
()
Ответ на: комментарий от anonymous

ничто не мешает использовать https как туннель что в конечном итоге приведет к луковой структуре, где каждый слой защищен на своем уровне

anonymous
()

Chrome или Firefox

безусловно Chrome </thread>

snaf ★★★★★
()
Ответ на: комментарий от jsi36331

У мегафона услуга детский интернет - там сертификат их загрузаешь на свою машину и вперед. И весь траффик виден

pinachet ★★★★★
()
Ответ на: комментарий от pinachet

У мегафона услуга детский интернет

«интернет для рабов»-всегда поражаюсь «отношению» к детям у р----их....даже у японцев более здравое

брде это вобщем

jsi36331
()
Ответ на: комментарий от pinachet

ну...отвечать не стану

тошнит от этого в реале

-бал в рот,как говориться

jsi36331
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.