Об ассиметричном шифровании, проблеме двух генералов, а также достоинствах и недостатках https
Большинство современных мессенджеров как одно из своих достоинств предлагают end-to-end шифрование своих звонков. Эта особенность подается как абсолютная гарантия от подслушивания вашего разговора третьим лицом (man in the middle, MITM).
Например, когда Telegram только появился, в нем не было звонков, но одним из элементов его маркетинговой кампании было end-to-end шифрование переписки. Собственно, поводом для первой блокировки Telegram в России в 2018-2020 годах был отказ Павла Дурова выдать ключи шифрования российским властям. Причем его основным аргументом было то, что ключей шифрования от end-to-end переписок у него нет и быть не может.
Дуров лукавил. В Телеграме end-to-end шифрованием защищены только секретные чаты. Все остальное в telegram-е хранится на его серверах в незашифрованном виде – иначе бы вы никогда не получили бы всю историю своих переписок при входе с любого устройства, где установлен Telegram.
Но в этой статье речь пойдет не об этом. Все дело в том, что само по себе end-to-end шифрование – это в конечном счете такое же лукавство.
«Но как так-то!» - ответят мне знающие люди. “End-to-end шифрование – это асимметричное шифрование, при котором секретные ключи не передаются. А значит его нельзя взломать».
Да, асимметричное шифрование. Да, секретные ключи не передаются. Но нет, это ничего не меняет. Сейчас я это докажу.
Начну я с краткого объяснения, что такое асимметричное шифрование. Сразу скажу – я изложу его максимально коротко и просто, но основную идею сохраню.
Итак, у нас есть две стороны коммуникации – А и Б.
Каждая сторона коммуникации генерирует две пары ключей – секретный и публичный. Получаются ключи Ас и Ап, Бс и Бп.
Далее А и Б обмениваются публичными ключами Ап и Бп. Секретными Ключами Ас и Бс они не обмениваются никогда.
А дальше начинается самое интересное. А шифрует свое сообщение ключом Бп и передает его стороне Б. А сторона Б расшифровывает его ключом Бс.
Как это происходит? Если не вдаваться в детали, то каждый публичный ключ генерируется на основе секретного. И с помощью специальной математики их математические отношения таковы, что то, что зашифровано публичным ключом, может быть легко расшифровано секретным ключом. А вот обратное неверно. Поэтому шифрование называется асимметричным.
Часть приводят такую метафору – публичный ключ это замок, а секретный ключ это собственно… ключ. Вы можете передать замок кому угодно и он запрет им чемодан с секретным письмом. А вот открыть этот чемодан сможете только вы – ключ ведь у вас.
И вот, казалось бы, идеальное решение. Ключ расшифровки не передается, а значит и расшифровать не может никто, кроме того, кто получил послание.
Но есть одна проблема. И эта проблема… нерешаема. Эту проблемы вы наверняка слышали хотя бы по названию. Это – проблема двух генералов.
В чем собственно суть. Допустим, два генерала одной армии штурмуют замок. Замок находится на возвышении, генералы со своими войсками – в низинах. Генералы друг друга не видят.
Чтобы победить врага, генералам надо атаковать одновременно. Но чтобы атаковать одновременно, каждому надо убедиться, что другой готов к атаке.
Проблема в том что единственная дорога, по которой можно послать гонца – пролегает мимо вражеского замка.
И вот тут начинается главная проблема. Гонца можно послать, но что если он будет убит? Или подкуплен и сообщит ложную информацию. Или взят в плен, выдаст свою цель, и враг пошлет своего шпиона, переодетого в одежду гонца, который сообщит ложную информацию. В конце концов, что делать, если он просто забудет, что его просили передать?
В общем виде эту проблему можно сформулировать так: «Могут ли две стороны коммуникации послать сообщение через не доверенную среду и иметь гарантию, что сообщение не будет послушано или изменено?».
И ответ на этот вопрос известен. Вот ответ: «Нельзя. Вообще».
Для любой гарантии целостности и конфиденциальности сообщения нужно передать еще сообщение. Но оно будет передано через эту самую не доверенную среду, а значит будет столь же ненадежно, как и первое.
Ну хорошо, но разве асимметричное шифрование не решило эту проблему? Сообщение передается, но расшифровать его не могут?
Нет, оно не решило.
Дело в том, что первым шагом асимметричного шифрования является обмен публичными ключами. Которые передаются через ту же самую не доверенную среду. Передаются в незашифрованном виде.
И если злоумышленник перехватит публичные ключи и заменит их своими – то все остальное уже дело техники. Он просто постоянно будет расшифровывать и зашифровать сообщения, а пользователи будут думать, что все надежно зашифровано.
Я вас, наверное, уже сильно напугал. Но нет, я всего лишь начал.
В попытка решить нерешаемую проблему двух генералов мировая криптография придумала концепцию сертификатов. Да-да, тех самых https-сертификатов, без которых сейчас браузеры отказываются нормально открывать сайты.
В чем суть сертификатов? Во-первых, суть в том, что доступ в https сайтам шифруется тем самым асимметричным шифрованием. Которое, как мы выяснили, уже не так надежно, как все наивно думают.
Поэтому решили поступать хитрее. Существуют так называемые «центры сертификации». Это организации, которые генерируют свою пару публичного и секретного ключа. Первый распространяется публично – и является тем самым корневым сертификатом. А на основе последнего центр сертификации генерирует по запросу владельца сайта пару ключей, соответствующих домену этого сайта. И соотношение между корневыми и производными ключами таковы, что корневой сертификат может подтвердить сертификат конкретного сайта. А значит если злоумышенник перехватит сертификат сайта, то браузер пользователя это сможет обнаружить.
Но… вы уже догадались? А почему мы доверяем создателю корневого сертификата? И погодите, откуда вообще корневой сертификат взялся у вас на компьютере? Что-то вы не помните, как его устанавливали…
А вы его и не устанавливали. Вы устанавливали операционную систему.
Дело в том, что у создателя каждой операционной системы есть договоренность с центрами сертификации, которым он хочет доверять. И корневые сертификаты попросту устанавливаются при установке операционной системы, а потом дополняются с ее обновлениями.
Ну да, вы все правильно поняли. Ваш компьютер доверяет неизвестной вам организации, потому что операционная система так решила.
И да, сразу скажу, вы вполне можете установить на операционную систему свой корневой сертификат. Установить – можете. С удалением есть проблемы. На десктопных операционных системах вы в принципе можете удалить встроенный корневой сертификат. А вот на мобильных – не обязательно. На моем смартфоне от Xiaomi, кажется, нельзя удалять корневые сертификаты, если вы сами их не установили. Думаю, на iPhone то же самое.
Но это еще не самое страшное. Самое страшное начинается тогда, если канал связи, которым вы пользуетесь, аффилирован с создателем корневого сертификата, который установлен в вашей операционной системе. И тогда этот владелец канал связи может сгенерировать пару публичного и секретного ключа для любого сайта, и подменять этот сайт на свой. А ваш браузер вам подтвердит, что сертификат действительный!
То есть создается не просто небезопасная ситуация. Создается иллюзия безопасности.
И хорошие новости тут только в том, что… А стоп, их нет. Проблема двух генералов нерешаемая. Ваши коммуникации всегда ненадежны.
Интернет - по определению не доверенная среда. Ваши сообщения идут сложным маршрутом, который вы никак не контролируете.
Так что если хотите надежности – встречайтесь в надежном месте и обменивайтесь паролями.
А еще, наверное, никогда не выходите в интернет.
Комментарии (98)

anonymous
10.11.2025 18:53
muxa_ru
10.11.2025 18:53Вы же доверяете свои деньги банкам, паспортные данные работодателю, визу пограничникам и т.д.
Нет, не доверяем.
Мы их вынужденно передаём.

emeykey
10.11.2025 18:53Если вас кто-то вынуждает положить деньги на счёт, советую вам позвонить 112 или 911, так быть не должно. В других же случаях вы можете не класть все накопления в банк, а хранить дома. А если хотите пользоваться банковской картой, то можно раз в неделю закидывать необходимую суммы на расходы.

askv
10.11.2025 18:53Наличка = хранение денег в Центральном банке, не решает вопрос. От денег можно избавиться только купив вечные ценности — тушёнку, сало, и т.д.

emeykey
10.11.2025 18:53Выберите другой способ хранения, в золоте, в технике, в бейсбольных карточках, картинах, крипте.
Я не совсем понимаю ваш ответ, что значит "От денег можно избавиться только купив вечные ценности — тушёнку, сало, и т.д.", мы разве обсуждали избавление от денег? Нет, мы обсуждали их безопасное хранение.
askv
10.11.2025 18:53У Вас не получится безопасно хранить деньги, когда правительство в любой момент может провести реформу и всё отменить. Что Вы с этими фантиками и металлическими кружочками делать будете? Мы уже это проходили...

dyadyaSerezha
10.11.2025 18:53Выход один. Купить на всё золотые монеты и зарыть их на поле чудес в стране дураков. Зуб даю, это самое надёжное дело.

RoasterToaster
10.11.2025 18:53Дома нас вынуждают не хранить деньги а. Инфляция Б. домушники. Поэтому банк это из двух зол, но тем не менее вынужденная мера.
Если бы у всех дома был а. Волшебный сейф, б. Инфляция была бы 0, то банковского потребительского сектора вообще бы не существовало в привычном сегодняшнем виде. Было бы что о вроде советских кооперативов для целевого накопления

askv
10.11.2025 18:53Наличные деньги не решают проблему, т.к. они эквивалентны деньгам на счёте в Центральном банке. Банки были бы, т.к. большинство хотело бы ещё чуток подзаработать.

RoasterToaster
10.11.2025 18:53Помню, как на первых айфонах руководство с негодованием отвергало сохранение контактов в облаке. С тех пор нас шаг за шагом вынудили передать все что у нас есть:)

askv
10.11.2025 18:53Можете покупать на каждую з/п что-то материальное и хранить в своём бункере. Только жить Вы при этом будете хуже, чем тот, кто инвестирует деньги в том числе через банки.

muxa_ru
10.11.2025 18:53Вы это в ответ на какие мои слова написали?

askv
10.11.2025 18:53Я к тому, что никто не вынуждает на самом деле. Живите в пещере, если хотите. )

muxa_ru
10.11.2025 18:53А если я не хочу жить в пещере, то мне придётся делать всё описанное, да?

askv
10.11.2025 18:53Как нас учили в школе ещё в советское время: нельзя жить в обществе и быть свободным от общества! )

muxa_ru
10.11.2025 18:53То есть, если я не хочу жить в пещере, то я вынужден делать всё описанное, да?

randomsimplenumber
10.11.2025 18:53Почему пещера? Пещеры - туристические обьекты. Теплотрасса, например.
Профиль Цезаря на монетах затем, чтобы не забывали, чьи деньги на самом деле. Евпочя

muxa_ru
10.11.2025 18:53Вопрос о том, почему пещера, это не ко мне, а к человеку который про пещеру заговорил.

randomsimplenumber
10.11.2025 18:53Ну, не пещера а теплотрасса ;) а если жить в обществе - то надо быть готовым к тому, что и тебя, и деньги твои сосчитали. Или, как писал классик, свобода - осознанная необходимость. Можно хранить деньги в банке, можно в сундуке, можно убежать в джунгли и совсем не пользоваться деньгами... везде есть плюсы и минусы.

askv
10.11.2025 18:53Да, выбор достаточно велик: пустыни, лес, джунгли и т.д. Вон Агафья Лыкова живёт себе в тайге, наверняка никакими деньгами не пользуется и налогов не платит...

mSnus
10.11.2025 18:53Да где вы видели, чтобы правительство заставляло пользователей устанавливать сгенерированный правительственным сервисом корневой сертификат и при этом контролировало провайдеров! Не может быть такого /s

askharitonov
10.11.2025 18:53Здесь двоякая ситуация: с одной стороны, государственный сертификат даёт государству техническую возможность перехватывать информацию, с другой стороны, он необходим для предотвращения ситуаций, когда множество государственных сайтов оказываются недоступны для простых пользователей из-за отзыва их сертификатов иностранными удостоверяющими центрами.
Но есть компромиссный вариант: устанавливать сертификат, предлагаемый государством, в отдельном профиле браузера, предназначенном для работы с Госуслугами, банками и т.д. В результате можно основной профиль использовать не опасаясь того, что товарищ майор всё читает, и, с другой стороны, ряд важных сайтов оказываются в отдельном профиле браузера, что делает работу с ними более безопасной.

askv
10.11.2025 18:53В таких случаях в голове звучит мелодия: и треснул мир напополам, дымит разлом...

vindy
10.11.2025 18:53а действительно, где? вроде в я-браузере левый корневой есть, но что конкретно без него не открывается? также Казахстан года три назад хотел это внедрить, но не внедрил, потому что тупо не заработало бы везде, где pinning (читай - большинство приложений на мобильных). есть ли страна, где это внедрено в обязательном порядке? чисто детское любопытство.

qrdl
10.11.2025 18:53Ну да, и никакого протокола Диффи-Хелмана не существует уже почти 50 лет :)

Nazar_Kam
10.11.2025 18:53При условии независимой сверки визуализированных хешей общего закрытого ключа через независимые каналы связи.

VelocidadAbsurda
10.11.2025 18:53Некоторые мессенджеры данную проблему осознают и предлагают сверить ключи тем или иным способом по стороннему каналу: некие последовательности смайликов в звонках Telegram, которые можно назвать голосом (предполагаю, такое представление хешей ключей), сравнение QR-кодов или циферок в Signal (циферки, опять же, можно зачитать без личных встреч голосом). Да, голос будет передаваться по, возможно, скомпрометированному каналу, но тут злоумышленнику нужно быть готовым в случайно выбранный пользователями момент сверки ключей завернуть обе стороны разговора в какой-нибудь синтезирующий голос ИИ, который правильными голосами продиктует обеим сторонам подменённые цифры - на практике выглядит не очень реально. А если ещё добавить варианты "созвонились не в тех же мессенджерах, а по сотовой связи/по телефонам друзей/где-то запостили", задача злоумышленника разрастается до неохватной.

K0styan
10.11.2025 18:53Именно. Неперехватываемых каналов нет. Но по сравнению с каноничной формулировкой задачи двух генералов в реальном мире есть сотни дорог, по которым постоянно перемещаются миллионы гонцов. И какой из них понесёт именно ваш ключ - вообще неочевидно.

AdrianoVisoccini
10.11.2025 18:53некие последовательности смайликов в звонках Telegram, которые можно назвать голосом
На каждом созвоне сверяемся с коллегами чисто по приколу. Причем я называю половину, а второй человек называет вторую половину.

Gorthauer87
10.11.2025 18:53Какая то манипуляция с выводами. e2e само по себе не панацея, но есть fingerprint, есть возможность обменяться ключами при личном контакте без mitm. Matrix такое умеет. То есть, статья делает необоснованное обобщение. Минусовать такое от греха подальше надо.

emeykey
10.11.2025 18:53Да, статья вообще прикол. Тут даже не берётся в расчёт то, что всех этих ключей миллионы и они меняются, никак не получится отслеживать все, на это не хватит ресурсов и сил, даже если очень сильно захотеть. А вот конкретно каких-то людей, в теории, можно отследить и "взломать", но дело в том, что если вас уже знают и хотят от вас что-то, то им уже не нужны будут ключи, вы их сами отдадите :)

askv
10.11.2025 18:53
На самом-самом деле его секреты нафиг никому не нужны. И кстати, такой ключ за 5 баксов ещё надо поискать. 
BlackMokona
10.11.2025 18:53Ну как бэ легко решаймая проблема если криптоманьяк. Сообщается ложный пароль, который приводит к удалению всей нехорошей информации, оставляя только хорошую и правильную, которой криптоманьяк желал поделиться.
Даже если злоумышленник поймет обман после того как не найдет искомого. Поезд уже уехал и полное сотрудничество уже ничего не даёт. Потому как всё удалено надёжно.

randomsimplenumber
10.11.2025 18:53Поезд уже уехал и полное сотрудничество уже ничего не даёт.
Скрипач уже не нужен совсем. Его просто отпустят. Отпустят же?
Скрытый текст

BlackMokona
10.11.2025 18:53А если бы выдал, отпустили бы? Если в одном случае ответ нет то и в другом случае ответ нет. Всё просто. Но в одном случае можно нагадить перед смертью, а в другом случае нет.

randomsimplenumber
10.11.2025 18:53А если бы выдал, отпустили бы?
А почему нет? Живой скрипач всегда может пригодиться.

BlackMokona
10.11.2025 18:53Чем пригодится? Он после пыток будет настроен крайне враждебно и будет применять все способы нагадить своим мучителям.
А если вы имеете в виду, находиться запертым в подвале на цепи к батарее. То нужно ли такое выживание?

linux-over
10.11.2025 18:53такую же статью бы о биометрии.
ведь биометрия - это по сути пароли "plain/text", да ещё и возможные к снятию с тела принудительно

K0styan
10.11.2025 18:53Условный отпечаток сам по себе - да. Но в современных условиях он чаще всего используется как компонент многофакторной системы.
На тех же смартфонах: для непосредственно шифрования используется ключ, лежащий в защищённом аппаратном хранилище, разблокируемом отпечатком. При этом на каждом устройстве ключ свой. Внешний агент со своим смартфоном и вашим пальцем просто ничего не сможет сделать.

JBFW
10.11.2025 18:53Зато с вашим смартфоном и вашим пальцем - многое (а сменить палец будет сложно)

K0styan
10.11.2025 18:53Палец не сменить. А вот сбросить сохранённые отпечатки в TouchID - легко. После этого ваш палец перестаёт быть фактором, но сохраняет возможность вернуться к этой роли.
Разумеется, это не решение для опасности реального времени, ну так и пароль поменять - тоже минута-другая нужна.

seepeeyou
10.11.2025 18:53От проблемы необходимости использовать небезопасную среду для передачи нужных для безопасной коммуникации данных каким-то образом автор перепрыгнул к сайтам и их сертификатам, попутно "сверкнув" аббревиатурой HTTPS.

RoasterToaster
10.11.2025 18:53Квантовая криптография решит эту проблему?

NekitGeek
10.11.2025 18:53То есть строить оптическую линию к другу и ставить туда квантовые девайсы чтобы никто не мог перехватить ключ, прочитав фотоны света?

RoasterToaster
10.11.2025 18:53Лазер - спутник - илон Маск
А неплохой сервис получится.
Musk-in-a-middle

Alex-ZiX
10.11.2025 18:53Против ректального криптоанализатора любой средства бессильны...

MountainGoat
10.11.2025 18:53Можно построить систему, где каждый раз для открытия истории чата одним из абонентов нужно разрешение другого.

useribs
10.11.2025 18:53Шта. Еще деды изобрели не только шифрование сообщения, но и подпись его закрытым ключем, подлинность можно проверить соответствующим публичным ключем, потом уже расшифровывать. Один раз обменяться по доверенному каналу как-то надо, да, условно как это и сделано в "secret chat" - убедитесь что видите одни и те же emoji ).

askv
10.11.2025 18:53Дуров лукавил. В Телеграме end-to-end шифрованием защищены только секретные чаты. Все остальное в telegram-е хранится на его серверах в незашифрованном виде – иначе бы вы никогда не получили бы всю историю своих переписок при входе с любого устройства, где установлен Telegram.
Это НИКОГДА не скрывалось, всегда было прямо написано в документации. Никакого лукавства. Другое дело, что технически, думаю, можно чатики хранить на серверах в зашифрованном виде. Но просто он не хотел на это тратиться.
На моем смартфоне от Xiaomi, кажется, нельзя удалять корневые сертификаты, если вы сами их не установили. Думаю, на iPhone то же самое.
Думаю, что они нужны для нужд самой ОС. Необязательно их удалять. В браузере можно посмотреть путь подписей сертификата. Можно отвергать те, которым не доверяешь, в том числе автоматически.
Так что если хотите надежности – встречайтесь в надежном месте и обменивайтесь паролями.
Скорее ключами.
В целом статья банальна, это всё давно известно. Рассуждения из серии «если я выйду на улицу, то меня могут увидеть»...

MAXH0
10.11.2025 18:53Проблема двух генералов решается через совместный контекст... Один генерал орет другому и в крепости это слышат. Но понять о чем они говорят понять не могут. Еще русские партизаны так немцев бесили. "Помнишь, когда у твоего кума днюха? Вот в этот день и вдарим..."

codecity
10.11.2025 18:53совместный контекст
По сути это и есть секретный ключ, который уже знают стороны.

Biga
10.11.2025 18:53В современных банковских приложениях ввод кода из смс, присланного банком, считается цифровой подписью. А вы нам голову морочите вашей заумью. Не мешайте деградировать.

askharitonov
10.11.2025 18:53Причём код может быть четырёхзначным, т.е. вероятность просто угадать его с первой попытки — 0.01%

askv
10.11.2025 18:53Не раз сталкивался, когда бухгалтеры рисовали подписи своих руководителей на платёжках. Достоверность была 100%. )

MountainGoat
10.11.2025 18:53С подписями история такая, что сколько они существуют – столько их подделывают. И это все знают. Если банк позволит на основе одной только подписи снять все деньги с чужого счёта, то любой нормальный (то есть европейский) суд скажет ему, что это проблема банка: клиенту деньги верни, потом разбирайся, кто их снял. и банк это знает, поэтому не даст снять огромную сумму по туалетной бумаге с подписью.
А коды по СМС внезапно всеми считаются какой-то высоко доверенной, не подделываемой системой. И уже клиент будет бегать и доказывать, что никаких СМС он не получал и кодов не вводил.

askv
10.11.2025 18:53Сейчас всё цифровизировано: у бухгалтеров есть ЭЦП руководителя, не подкопаешься... )

JBFW
10.11.2025 18:53Если бы на подпись никто не смотрел - каждый первый банк был бы в пролете с исками по кредитам.
"Какие ваши доказательства?!“

inkelyad
10.11.2025 18:53И уже клиент будет бегать и доказывать, что никаких СМС он не получал
После чего запрашивается оператор связи и становится видно, что получал. Возможно, именно из-за этой возможности этот способ так долго и не умирает.

askv
10.11.2025 18:53То есть, банк представляет в суд коды смс и просит запросить оператора? Оператор показывает те же самые коды и этого достаточно? Ну в принципе, почему нет? Уязвимости есть, но, видимо, не настолько частые / большие, чтобы массово отказываться от технологии.

inkelyad
10.11.2025 18:53Ну не достаточно, но сильно укрепляет предположение, что клиент код получал и что-то делал, подтвержденное 3-й стороной.
Сравним с системой без SMS, через любимые TOTP генераторы. Клиент говорит "это не я, ничего не вводил, ничего не знаю". И банку показать в свою защиту нечего. Свои логи? Ну так это логи заинтересованной стороны, они слегка под подозрением и вообще никак не показывают, что это именно клиент был. Так что некое преимущество именно в SMS-ках для банка есть.

askv
10.11.2025 18:53А как можно подтвердить, что клиент отдал код обратно банку, независимо от банка? То есть банк может выслать любой код, оператор подтвердит, что код был в смс, и вуаля, операция подтверждена.

inkelyad
10.11.2025 18:53Не понял аргумента. Вопрос же не в аутентификации операции вот прямо сейчас.
А в том, что уже потом, во время разборок, банк может ткнуть в третьих лиц и сказать, что если верить их логам, клиент, весьма вероятно, лукавит, когда говорит, что вообще ни при чем и ничего не знает и ничего не делал. Ибо если так - то как он объясняет, что эта SMS вообще была послана и именно на его телефон.

askv
10.11.2025 18:53Вообще была послана: так банк и послал.

inkelyad
10.11.2025 18:53Вообще была послана: так банк и послал.
Просто так, от нечего делать? И клиент не догадался позвонить в банк (наверняка в правилах есть) "тут что-то странное происходит, заблокируйте..."
Так или иначе все эти следы добавляют возможных отмазок для банка.

askv
10.11.2025 18:53Проблема российского банкинга в том, что у клиента в общем случае сохраняется чуть меньше, чем ничего. Ни бумажек, ни документов, подписанных ЭЦП банка. Если там что-то глюканёт, то и доказать будет затруднительно, что у тебя вообще там что-то было. В то же время у банка сохраняется вообще всё: переписка, общение в их внутренних чатах, телефонные разговоры, смс и т.д. и т.п. И манипулировать этим можно почти как угодно, если банк вдруг захочет проявить недобросовестность.

inkelyad
10.11.2025 18:53Проблема российского банкинга в том, что у клиента в общем случае сохраняется чуть меньше, чем ничего.
Это есть, да. Но тут противоположный сценарий - клиент и хочет показать, что у него ничего нет и он к переводу денег никакого отношения не имеет.

Nazar_Kam
10.11.2025 18:53Мне больше Briar нравится. Обменялся аккаунтами при живой встрече (заранее) по QR кодам через Bluetooth и спишь спокойно, не сомневаясь, что не перехватят ключи.
OpenPGP чем плох, если я с другом обменялся сертификатами заранее? К тому же сертификаты можно привязать к почте и опубликовать на сервере ключей, да в конце концов опубликовать на своём сайте, который так и так защищается HTTPS с доверенным сертификатом.
Те же вотсапп, сигнал, телеграм, как писали другие комментаторы, предлагают методы сверки ключей по их слепкам...

Nazar_Kam
10.11.2025 18:53А еще, наверное, никогда не выходите в интернет.
В корни не согласен. Почему я не могу использовать интернет для связи между маршрутизаторами или для доступа в домашнюю сеть через собственноручно настроенный wireguard? Или те же L2TP+IPsec?
Или я просто хочу погоду посмотреть?

trueMoRoZ
10.11.2025 18:53Как перехватчик расшифрует сообщение, если это возможно только с секретным ключом, который не передавался? Передаются же только публичные ключи

CatAssa
10.11.2025 18:53"Перехватчик" подменяет чужой публичный ключ своим.

vesper-bot
10.11.2025 18:53Тогда получатель не сможет расшифровать сообщение, так как его зашифровали не его собственным публичным ключом. Или там описан полноценный MitM, который держит две пары ключей для перешифрования сообщений? От такого защиту при ровно двух участниках криптообмена и нуле доверенных каналов в самом деле не построить... а я ещё и взъелся на автора.

VioletSlate
10.11.2025 18:53Основной вопрос: Так всё-таки, на сервере телеграма данные пользователя хранятся в нерасшифрованном виде? Или, что почти то же самое, сервер телеграма их может расшифровать в любое время? Как вариант - все копии ключей хранятся на сервере или могут загружены с устройства пользователя на сервер?
Если так, то совершенно все равно какое шифрование, и вопрос сводится к тому, чтобы дать или не дать кому-то доступ к серверу телеграма, а также к доверию к персоне господина Дурова, что он не будет давать доступ кому попало.
Поскольку телеграм синхронизирует сообщения пользователя на все устройства пользователя, а пользователь на новом устройстве может читать свои сообщения, то ответ на "основной вопрос" скорее да, чем нет. Откуда на новом устройстве возьмется все необходимое для расшифровки, если не с сервера - а значит на сервере все необходимое есть - все возможные и все нужные ключи.

kipar
10.11.2025 18:53обычные чаты хранятся на сервере открыто.
секретные чаты используют разные ключи каждый раз и не восстанавливаются с сервера.
Более важно что звонки тоже работают как секретные чаты - так что звонить можно (было) смело, ключей на сервере нет и они разные для каждого звонка.

Aelliari
10.11.2025 18:53Так всё-таки, на сервере телеграма данные пользователя хранятся в нерасшифрованном виде? Или, что почти то же самое, сервер телеграма их может расшифровать в любое время
Второе, даже если данные хранятся в зашифрованном виде, у самого сервера есть доступ к ним в открытом.
Откуда на новом устройстве возьмется все необходимое для расшифровки, если не с сервера - а значит на сервере все необходимое есть - все возможные и все нужные ключи.
е2е само по себе не противоречит идее синхронизации, но придется строить более хитрые системы синхронизации. Ключи можно передать, например, с другого устройства в аккаунте. Или иметь иной «секрет».
А так, доступа к содержимому «секретных чатов» и звонков по идее быть у него не должно. Но как часто используются секретные чаты? Я думаю не очень

askv
10.11.2025 18:53Дуров ещё с самого начала писал про баланс удобства и безопасности. И сказал, кому нужно удобство, пожертвуйте безопасностью. Ну или жертвуйте удобством, как хотите.

JBFW
10.11.2025 18:53Проблема передачи открытых ключей решается за счёт публичного размещения открытых ключей, когда каждый участник в любой момент может проверить что его открытый ключ верен и не подделан.
Разумеется, проверять он должен через другого "поставщика", не того, через которого отправляет.
Образно говоря, оба генерала должны видеть свои "три зелёных свистка", один - выпуская их, другой - видя.
(кто не в курсе - это такая свистящая зелёная сигнальная ракета)

askv
10.11.2025 18:53за счёт публичного размещения открытых ключей
Я всё жду, когда сертификаты Минцифры разместят на Лобном месте...

Cas_on
10.11.2025 18:53То есть вы доверяете месту, где размещаете свой публичный ключ. Это ничем не отличается от того, что написано в статье.

askv
10.11.2025 18:53Я вполне доверяю, что на Лобном месте не может быть размещено и просуществовать там больше 5 минут что-то неугодное властям РФ. Поэтому если там будут на постоянной основе размещены сертификаты Минцифры, это будет очень надёжным источником.

zakker
10.11.2025 18:53В Телеграме end-to-end шифрованием защищены только секретные чаты. Все остальное в telegram-е хранится на его серверах в незашифрованном виде – иначе бы вы никогда не получили бы всю историю своих переписок при входе с любого устройства, где установлен Telegram.
Не знаю, сделано ли это в телеге, но историю сообщений таки можно хранить на сервере в зашифрованном виде и получать на нескольких устройствах. Правда этот трюк не сработает для групповых чатов, а для двух собеседников - вполне. Просто, когда клиент отправляет сообщение, он отправляет его в двух экземплярах: зашифровано для собеседника и зашифровано для себя. Впрочем, остается проблема доставки ключа шифрования для нового устройства, когда старые все offline, сводящие на нет эту схему.

askv
10.11.2025 18:53А разве для групповых чатов нельзя придумать какое-то приемлемое решение? Например, шифровать всё ключом администратора чата и подписывать ключом автора сообщения? Возможно, придётся пожертвовать историей сообщений для тех, кто не был участником чата в тот момент. Это я так навскидку фантазирую пока что, не уверен сам в том, что написал.
А, кажется в групповых надо шифровать всё ключами каждого участника. Но тогда возникнет проблема идентичности сообщений, направленных разным участникам. Видимо, без доверенного хранилища, который имеет доступ к содержанию сообщений, не обойтись...
Alex-ZiX
Понятно, что никому в этом мире доверять нельзя на 100%. Но на 99% вполне можно. Вы же доверяете свои деньги банкам, паспортные данные работодателю, визу пограничникам и т.д. Вопрос никогда не стоял как абсолютная безопасность. Вопрос стоял как уровень доверия. Вряд ли издателям корневых сертификатов есть дело до мелкого сайта в далёкой холодной стране. Им репутация важнее. Если она пострадает, это будет для них очень дорого. Потому, как ни крути, кому то в жизни доверять прийдётся.
А если уж вы параноик, то вам и переписываться не с кем. Вдруг вы всё сами наглухо зашифровали, а собеседник на том конце забыл свой телефон на столе, не заблокировал его и с вами кто-то переписывается от его имени?