Follow

По поводу Всемирного дня шифрования, задам : какой должен быть правильный способ и порядок использования отпечатков ключей? В Гугле толкового описания не находится. Я правильно понимаю, что ими нужно предварительно обменяться по дополнительному каналу (e-mail?), а в начале диалога сверить с тем, что покажет мессенджер ручками глазками? И так для каждого устройства и периодически заново?

Выглядит не слишком «френдли юзерс» ©. Есть какие-то еще варианты (Ватсап же ничего такого не просит)?

И еще: при неподтвержденном ключе шифрование работает или нед?
@ru @rf

@johan @ru @rf о боже, шифропанки подьехали)
Загугли про открытый-закрытый ключ.
Ты передаешь открытый (и похрен, что перехватят), кто-то им шифрует, а ты расшифровываешь у себя закрытым.
Лучше пока ничего не придумали.

@vsv @ru @rf Я так понял, что всё немного сложнее: MITM ведь может мой открытый подменить своим открытым и сидеть посередине, читая мои сообщения?

@johan @ru @rf
Твои не будет. Он только может их зашифровать и отправить. Каждый расшифровывает на своей стороне закрытым ключом.
У вас с собеседников 2 пары ключей.
Там какие-то ключи сумели взломать (64 бита?). Но это вроде все старое и такое никто уже давно не использует.

@johan @ru @rf вру, есть проблема, используются центры сертификации для закрытия дырки

@vsv Так. А если митм перехватывает открытые ключи и подменяет своими? Соответственно, расшифровывает своими закрытыми ключами, читает, потом шифрует нашими открытыми и передает как ни в чём не бывало?

@johan ну технически он только открытыми оперирует.
хоть атака и сложная, но теоретически возможна. последний публичный случай в 2017 году, вроде.
помогает только системы сертификации (аутентификация ключа в начале передачи).
опять же, другого ничего нету.
квантовое шифрование пока не подвезли.

@vsv Так. А что в этом сложного, если негодник, представим, имеет доступ к каналу передачи? Вася думает, что пишет Пете, на самом деле оба беседуют с негодником, а он сообщения читает и пересылает дальше, расшифровывая и шифруя своими ключами?

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

@vsv А Jabber/Matrix разве соединяются с какими-то центрами авторизации?

@johan технические детали не знаю, но вроде как этот механизм встроен в сам PGP. принцип похож на протухшие сертификаты ssl/tls

@vsv @johan
> Вася думает, что пишет Пете, на самом деле оба беседуют с негодником, а он сообщения читает и пересылает дальше, расшифровывая и шифруя своими ключами?

Открытый ключ (public key) он на то и паблик, что его владелец может публиковать его в открытую. Петя кричит на всю рыночную площадь свой паблик кий, и вся площадь слышит, что этот ключ, это Петин открытый ключ. Вася тоже это слышит и шифрует свое сообщение Пете именно этим ключом, а не тем, который ему подсовывает негодник. Т.е. вопрос тут выходит не в том, как передать Васе Петин открытый ключ, а в том, как показать Васе, что тот ключ, что у всех на виду на стене часовни, нацарапал именно Петя, а не какой-то негодник. Ну например DNS -> https, т.е. Петя может вывесить свой паблик кий на своем веб-сайте, если Вася доверяет DNS.

@ever @vsv Это ты PGP описал. А Джаббер ключами обменивается «втихую», показывая при этом отпечаток. По идее, можно отпечаток публиковать на сайте, но… Он для каждого клиента отдельный :ablobsweating:

@johan @ru @rf оттуда можно понять, что есть подпись ключа и зачем. В пгп оно такое же в принципе.

@johan@qoto.org @ru@lor.sh @rf@mastodon.ml Отпечаток ключа нужен, если ты можешь воспользоваться каналом связи, который:
— позволяет убедиться, что ты общаешься именно со своим собеседником.
— неудобен для передачи собственно ключа.
Например, по телефону. Ты звонишь, узнаёшь человека по голосу и диктуешь отпечаток.
Больше ни для чего он в общем-то не нужен.

@johan@qoto.org @ru@lor.sh @rf@mastodon.ml Чтобы не сверять отпечаток ключа каждый раз, в менеджере ключей есть флажок доверия. Сверив отпечатки, ставишь ключу полное доверие и пользуешься. Понятно, что при этом база ключей должна быть защищена от внешнего вмешательства.

@vovanium @rf @ru Получается, даже если я не могу сверить отпечатки, я тем не менее должен ставить галочку доверия, чтобы сообщения ходили, верно?

@johan@qoto.org @rf@mastodon.ml @ru@lor.sh Технически нет никакой проблемы расшифровать сообщение недоверенным ключом. Просто результат неизвестен.
Если программа не позволяет расшифровывать им, это вопрос к программе.
В OpenPGP можно ставить разные уровни доверия, почему так не сделано в реализации Omemo, вопрос также к разработчикам.

@johan@qoto.org @rf@mastodon.ml @ru@lor.sh там это вообще касается возможности заверять чужие ключи, на расшифровку это не влияет.

@johan@qoto.org @rf@mastodon.ml @ru@lor.sh Я что-то вобще подзабыл, как оно там на самом деле. Trust это не совсем валидность ключа, это доверие тому, что владелец ответственно подписывает другие ключи, а пометить сам ключ как нормальный или плохой можно ещё как-то.

@vovanium Ну, в Джаббере никто ничего не подписывает, в этом дело.

@johan@qoto.org А не мешало бы. Проверять каждый ключ по-отдельности слишком муторно.

@vovanium С другой стороны — привязка к устройству тоже определенный плюс?

@johan@qoto.org Это всё правильно, и хорошо, что ключи не покидают своих устройств. Но было бы удобно, если бы ключи автоматом бы отмечались валидными, если, например, их хозяин все сам подписал.

@vovanium Ну вроде в Матриксе так зделано. Там фингерпринтов нету, как я понел, и для логина на новом устройстве ключи подписываются. Как-то. Блядь. Ёбаная математика! 😠

@johan@qoto.org Там какая-то ебанина подписыванием всех сеансов со всех сеансов. В какой-то момент я всё поудалял и оставил один сеанс (прикрепленной вкладкой висит).

@vovanium Там ебанина в квадрате, потому что есть «оффлайн» и есть «дизлогин» 😠

@johan @ru @rf Да. Сверяет за тебя софт, например gnupg. Заново незачем. Шифрование работает, но mitm не исключается, шифрование ≠ аутентификация.

@L29Ah @ru @rf Только вот в Псине если отпечаток недоверенный — сообщение не уйдет 😠

@johan ну да, тут печально что нет в ПО разделения между "доверенный" и "недоверенный, но пох пока"
@ru @rf

@L29Ah Штош. Вроде чуть понятнее стало.

@𝕵𝖔𝖍𝖆𝖓 ⛧ у тебя путаница в голове из-за того, какую идиотию развёл Паша Дуров с этими всеми «секретными чатиками» в телеге.
Это в телеге секретные чатики привязаны к устройствам и сколько устройств у человека, столько надо секретных чатиков с ним создавать, для каждого сверяя отпечаток ключа.

Если коротко, на примере того же Signal, по мотивом которого сделан тот же Session. Один раз сверяется отпечаток ключей, и не важно кто сколько из твоих контактов потом какие новые устройства добавлял или отвязывал. Ни про эти новые устройства, ни про их устранение ты не узнаёшь и тебя это не касается.
У каждого контакта можешь глянуть отпечаток ключа и когда пьёте кофе, то даже отсканировать в виде QR-кодов. На скольких потом планшетах, десктопах или ноутбуках ты поставишь клиент мессенджера — это лично твоё дело и никого это не касается.

В том же WhatsApp используется именно Signal-протокол один в один именно он самый, сам Мокси и помогал прикурутить. Отпечаток ключа люди смотрят в свойствах контакта или чата, где-то там, оно 100% есть и спокойно проверяется при личной встрече.

Т.е. что получается, есть пара ключей — открытый и закрытый — которые привязаны к тебе, как контакту, а не твоему устройству. Далее, эта пара никогда ни в каком виде не используется для шифрования сообщений. Единственное для чего эта пара используется, сводится лишь к подписанию (заверению) тех ключей, которые  и генерятся постоянно, как из пулемёта и нужны для шифрования — каждое сообщение шифруется новым ключом, который заверен (подписан).

Только сессионные ключи используются для шифрования и они не хранятся нигде, а уничтожаются сразу после использования. Хранятся долговременно лишь те ключи, с помощью которых собеседники друг-друга идентифицируют (удостоверяют) и с помощью которых подписываются (заверяются) сессионные ключи.

Далее, буду уже рассказывать про OMEMO, который вроде бы как тоже Signal-протокол, но слегка иной и для XMPP. Если про Signal, Session, WhatsApp вопрос нет, то можно перейти к тому, как это всё в рамках той же схемы обыграли в OMEMO для получения замены OTR.
@𝕵𝖔𝖍𝖆𝖓 ⛧ как технически выполняется реально сверка ключей?
ну в случае ребят из ФСБ четыре-пять лет назад — они во время видео-созвона просто показывали в веб-камеры свои телефоны, отображающие QR-код отпечатка. чтобы собеседник отсканировал своим телефоном то, что видит на мониторе системы ВКС (видео-конференц связи).
например, долгое время была очень популярна у них Threema. за счёт того, что у неё вот такая вот привязка к отпечатку ключа и никакого номера телефона не требуется.
всё. больше никакой сверки отпечатков. один раз так сделали, показав друг другу QR-коды при встрече или при видео-созвоне и свободны.

@johan Для начала обмена сообщениями, стадия дискавери, необязательно сверять отпечатки ключей. Просто, пока отпечатки не сверены, этот канал считается непроверенным, т.е. ничего сверхчувствительного по нему пересылать не рекомендуется, пока не будут сверены ключи. Ключи, т.е. их отпечатки, конечно лучше всего сверять при личной встрече, просканировав обоими устройствами отпечатки друг у друга с экранов. Но личная встреча не всегда возможна, даже скажем, чаще нет, чем да. Поэтому надо найти другой, проверенный канал, для передачи отпечатка. Если такого канала ещё не было, то на худой конец, хотя бы какой-нибудь другой канал, альтернативный рассматриваемому. Емейл там, или видео, голосом по телефону надиктовать. Все зависит от аппетита риска рассматриваемой коммуникации. Для семейного чата, например, атака человек посередине очень маловероятна. А если это какой-нибудь комитет по стратегии политической партии, то такие вещи придется прорабатывать очень скрупулезно.

@johan Пока ключ не подтвержден, шифрование все равно работает, с тем ключом, какой есть. Просто этот канал должен быть помечен как неподтвержденный, пока подлинность не будет подтверждена вручную.

Вотсап примерно так и должен поступать, раз он использует протокол Сигнала. Но у Вотсапа задача проще. В Вотсапе все сидят с Фейсбук аккаунтами, поэтому он может поручиться за каждого пользователя. Т.е. если доверяешь Фейсбуку, значит остается просто доверить и каналу связи в Вотсапе. Обратное, причем, тоже верно: не доверяешь Фейсбуку, не пользуйся Вотсапом.

@ever

Пока ключ не подтвержден, шифрование все равно работает, с тем ключом, какой есть. Просто этот канал должен быть помечен как неподтвержденный, пока подлинность не будет подтверждена вручную.

Вот тоже ожидал такого поведения — но нед. Сообщения не отправляются. По крайней мере в Псине.

@ever А какая связь между Ватсапом и Фейсбуком? O_o

@johan Фейсбук владеет Вацапом

@ever И-и-и-и? У Ватсапа только мой номер телефона, никакой привязки к фейсбуку же.

@johan А да? Ну я точно не знаю, я оттуда выпилился, когда Фейсбук пообещал единый аккаунт вводить на все его сервисы. Но так или иначе, хотя бы известно, что Ватсап знает кто кому когда писал, потому что он сохраняет всю метадату у себя на серверах. Т.е. Ватсап видит, что это именно Вася пишет Пете, а не кто-то другой. И ему нет никакого резона (мы надеемся) укрывать разных негодяев. Ну разве что, только, если негодяй не скажет не говорить ничего Васе и Пете, потому что они у него (негодяя) в разработке в целях государственно безопасности.

@ever А, вот. В Гаджиме если поставить «ненадежный» — сообщение не уйдет, но появится выбор между «надежный» и «blind trust».

@𝕵𝖔𝖍𝖆𝖓 ⛧ у Psi'ны очень кривая поддержка OMEMO.
потренируйся на том же Gajim на первых порах, там давно всё обкатано.

и не смешивай OMEMO с тем как работает Signal, поскольку реализация несколько разная.
например, в том же Signal сделали так, чтобы серваки не знали кто с кем переписывается. т.е. несколько вперёд ушли в развитии протокола и взаимодействия клиент-сервер.

@erua А я и не лезу в дебри сигналов/телеграмов/ватсапов, там хочешь-не хочешь клиент единственный, делает «всё сам», настроек нет.

P.S. Странно, вроде псина всегда была наиболее продвинутой в плане поддержки джабберов 😞

@𝕵𝖔𝖍𝖆𝖓 ⛧ у псины кризис давно в разработке, несколько лет. что в Psi, что в Psi+.
Signal хорошая замена для WhatsApp и конечно же гораздо лучше телеграма дуровского.

иначе, тупо Conversations на мобильнике и Gajim на десктопе — и там и там с OMEMO всё нормально и хорошо уже несколько лет как.

@erua А почему signal а не Session тогда? Всё-таки привязка к телефону меня сильно анноит 😠

@𝕵𝖔𝖍𝖆𝖓 ⛧ ну вот люди пользуются WhatsApp по той причине, что это годная и хорошая замена SMS, EMS/MMS.
а тот же Signal — это замена того WhatsApp, каким он был раньше, до появления сквозного шифрования в нём.
потом, даже когда шифрование у WhatsApp появилось, то люди стали удивлять, а откуда в материалах дел уголовных переписка с чатов? взламывают или же сливают? а как же сквозное шифрование?
оказалось, что почти у всех в WhatsApp включено бэкапить чатики в облака типа Google'овского. в открытом виде, после этого WhatsApp чухнулся и стал бэкапить в шифрованном виде, храня ключик у себя, с привязкой к профилю пользователю.
вот тут-то опять возник серьёзный вопрос доверия, уже не только к аспектам реализации сквозного шифрования в WhatsApp, но и к тому как они там у себя хранят ключик, которым шифруются все автоматически бэкапящиеся чатики.

отсюда, стало ясно, что в Signal ребята всегда правильно делали — у них всё опен-сорц и на математике. никаких вещей завязанных на то, чтобы приходилось им хоть в чём-то доверять.
отсюда и ситуация, что привязка к номеру телефона остаётся единственным способом иметь и сохранять социальный граф независимым образом от владельцев мессенджера.
надо сохранить контакт лист? забэкапил контактную книжку телефона хоть в VCF-файл и храни где хочешь, как хочешь. никто в мессенджере не владеет информацией о твоём контактном листе.

хуже того, в Signal уже несколько лет как не знают с какими людьми ты переписываешься, благодаря тому, что серваки принимают и доставляют сообщения через «Sealed Sender». но при этом возятся с профилями пользователей, чтобы когда-нибудь решить проблемы с этим самым твоим контактным листом и в тоже время, чтобы серваки не имели доступа к инфе кто с кем в связях состоит.

@erua

ну вот люди пользуются WhatsApp по той причине, что это годная и хорошая замена SMS, EMS/MMS.

Ну… Наверно всё же не «замена SMS» а полноценный мессенджер с пересылкой файлов и [видео]звонками? ;-)

оказалось, что почти у всех в WhatsApp включено бэкапить чатики в облака типа Google’овского. в открытом виде

Но есть нюанс: Хочешь сказать, что Гугл так легко взломать?

@johan @erua гугл кому надо выдаст твои файлы, ломать ничего не надо

@𝕵𝖔𝖍𝖆𝖓 ⛧ зачем взламывать? выдавали без вопросов пользовательские данные по запросу следственных структур. это теперь у них российское представительство банкрот с 56 миллиардами долга перед кредиторами. или сколько-то там.
@𝕵𝖔𝖍𝖆𝖓 ⛧ видео-звонки через мессенджеры вещь мало востребованная в моей среде последние несколько лет.
звонками тоже редко пользовались, в основном списываясь предварительно, а потом найдя место с приличным интернетом. т.к. далеко не везде по РФ мобильный интернет позволял нормально трепаться по VoIP с приличным качеством без выпадения кусков фраз и замираний звука.

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

появление HD Voice в обычных сетях мобильных операторов случилось за счёт перехода с GSM-сетей на UMTS (WCDMA). и внедрение HD Voice внутри сетей одного оператора и между разных операторов — это был ответ на массовое использование народом мессенджеров, у которых SILC-кодек от Skype стал неким стандартом, в виде реализации известной как Opus.

@erua

у псины кризис давно в разработке, несколько лет. что в Psi, что в Psi+.

Ну так… По идее же всё уже должны были разработать :blobwink: Вроде XMPP не HTML, семимильными шагами не развивается…

@johan Блайнд Траст звучит как: используй пока этот ключ как "надежный", а там посмотрим. Видимо в Гаджиме три статуса ключа, в отличие от других мессенджеров, где обычно два, и оба работают. Я не пользовался Гаджимом.

@Ever Aftar ну как бы в Conversations так же, в плане статуса ключей OMEMO, а они собственно и есть авторы этой идеи да затеи с OMEMO — взять протокол Signal и прикрутить его к XMPP, вместо неудобного OTR.
Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.