Какой популярный мессенджер использует криптографический протокол мтп протокол

Обновлено: 06.05.2024

Протокол — это последовательность шагов, которые предпринимают две или большее количество сторон для совместного решения задачи. Все шаги следуют в порядке строгой очередности, и ни один из них не может быть сделан прежде, чем закончится предыдущий. Кроме того, любой протокол подразумевает участие, по крайней мере, двух сторон. В одиночку можно, например, смешать и выпить коктейль, но к протоколу это не имеет никакого отношения. Поэтому придется угостить кого-нибудь сделанным коктейлем, чтобы его приготовление и дегустация стали настоящим протоколом. И наконец протокол обязательно предназначен для достижения какой-то цели.

Протоколы имеют и другие отличительные черты:

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

Криптографическим протоколом называется такой, в основе которого лежи: криптографический алгоритм. Однако целью криптографического протокол;! зачастую является не только сохранение информации в тайне от посторонних. Участники криптографического протокола могут быть близкими друзьями, у которых нет друг от друга секретов, а могут являться настолько непримиримыми врагами, что каждый из них отказывается сообщить другому. какое сегодня число. Тем не менее, им может понадобиться поставить сноп подписи под совместным договором или удостоверить свою личность. В этом случае криптография нужна, чтобы предотвратить или обнаружим, подслушивание посторонними лицами, не являющимися участниками протокола, а также не допустить мошенничества. Поэтому часто требуется, чтобы криптографический протокол обеспечивал следующее: его участники не могут сделать или узнать больше того, что определено протоколом.

Зачем нужны криптографические протоколы

В повседневной жизни нам приходится сталкиваться с протоколами буквально на каждом шагу — играя в любые игры, делая покупки в магазинах или голосуя на выборах. Многими протоколами нас научили пользоваться родители, школьные учителя и друзья. Остальные мы сумели узнать самостоятельно.

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

Большинство протоколов, которые люди используют при общении друг с другом с глазу на глаз, хорошо себя зарекомендовали только потому, что их участники имеют возможность вступить в непосредственный контакт. Взаимодействие с другими людьми через компьютерную сеть, наоборот, подразумевает анонимность. Будете ли вы играть с незнакомцем в преферанс, не видя, как он тасует колоду и раздает карты? Доверите ли вы своп деньги совершенно постороннему человеку, чтобы он купил вам что-нибудь в магазине? Пошлете ли вы свой бюллетень голосования по почте, зная, что с ним сможет ознакомиться любой из почтовых работников и потом рассказать всем о ваших нетрадиционных политических пристрастиях? Думаю, что нет.

Глупо считать, что компьютерные пользователи ведут себя более честно, чем абсолютно случайные люди. То же самое касается и сетевых администраторов, и проектировщиков компьютерных сетей. Большинство из них и в самом деле честные люди, однако есть и такие, кто может причинить нам большие неприятности. Поэтому так нужны криптографические протоколы. использование которых позволяет защититься от непорядочных людей.

Чтобы описание протоколов было более наглядным, имена их участников однозначно определяют роли, им уготованные (табл. 7.1). Пусть Антон и Борис принимают участие во всех двухсторонних протоколах. Как правило, начинает выполнение шагов, предусмотренных протоколом, Антон, а ответные действия предпринимает Борис. Если протокол является грех- или четырехсторонним, исполнение соответствующих ролей берут на себя Владимир и Георгий. Об остальных персонажах подробнее будет рассказано позже.

Таблица 7.1. Роли, которые играют участники протоколов

Протокол с арбитражем

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

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

  • Легко довериться адвокату, про которого известно, что у него незапятнанная репутация, и с которым можно установить личный контакт. Однако если два участника протокола не доверяют друг другу, арбитр, не облаченный в телесную оболочку и существующий где-то в недрах компьютерной сети, вряд ли будет пользоваться у них доверием.
  • Расценки за услуги, оказываемые адвокатом, известны. Кто и каким образом будет оплачивать издержки за аналогичные услуги арбитра в компьютерной сети?
  • Введение арбитра в любой протокол увеличивает время, затрачиваемое на реализацию этого протокола.
  • Поскольку арбитр контролирует каждый шаг протокола, его участие и очень сложных протоколах может стать узким местом при их реализации. Увеличение числа арбитров позволяет избавиться от данного узкого места, однако одновременно возрастут и накладные расходы на реализацию протокола.
  • В силу того, что все участники протокола должны пользоваться услугами одного и того же арбитра, действия злоумышленника, который решит нанести им ущерб, будут направлены, в первую очередь, против этого арбитра. Следовательно, арбитр представляет собой слабое звено любого протокола с арбитражем.

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

Протокол с судейством

Чтобы снизить накладные расходы на арбитраж, протокол, в котором участвует арбитр, часто делится на две части. Первая полностью совпадает с обычным протоколом без арбитража, а ко второй прибегают только в случае возникновения разногласий между участниками. Для разрешения конфликтов между ними используется особый арбитр — судья.

Подобно арбитру, судья является незаинтересованным участником протокола, которому остальные участники доверяют. Однако в отличие от арбитра. судья участвует отнюдь не в каждом шаге протокола. Услугами судьи пользуются, только если требуется разрешить сомнения относительно правильности действий участников протокола. Если таких сомнений ни у кою не возникает, судейство не понадобится.

В компьютерных протоколах с судейством предусматривается наличие данных, проверив которые доверенное третье лицо может решить, не смошенничал ли кто-либо из участников этого протокола. Хороший протокол с судейством также позволяет выяснить, кто именно ведет себя нечестно Это служит прекрасным превентивным средством против мошенничества со стороны участников такого протокола.

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

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

Разновидности атак на протоколы

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

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

Итак, Петр пытается собрать максимум информации об участниках протокола и об их действиях. У Зиновия же совсем другие интересы — ухудшение производительности компьютерной сети, получение несанкционированного доступа к ее ресурсам, внесение искажений в базы данных. При этом и Петр, и Зиновий не обязательно являются совершенно посторонними лицами. Они могут быть легальными пользователями, системными и сетевыми администраторами, разработчиками программного обеспечения и даже участниками протокола, которые ведут себя непорядочно или даже вовсе не соблюдают этот протокол. В последнем случае атакующий называется мошенником. Пассивный мошенник следует всем правилам, которые определены протоколом, но при этом еще и пытается узнать о других участниках больше, чем предусмотрено этим протоколом. Активный мошенник вносит произвольные изменения в протокол, чтобы нечестным путем добиться для себя наибольшей выгоды.

Защита протокола от действий нескольких активных мошенников представляет собой весьма нетривиальную проблему. Тем не менее при некоторых условиях эту проблему удается решить, предоставив участникам протокола возможность вовремя распознать признаки активного мошенничества. А защиту от пассивного мошенничества должен предоставлять любой протокол вне зависимости от условий, в которые поставлены его участники.

1. Антон и Борис уславливаются о том, какой криптосистемой они будут пользоваться.

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

1. Антон находит открытый ключ Бориса в базе данных.

  • Алгоритмы шифрования с открытым ключом в среднем работают в тысячи раз медленнее, чем алгоритмы с симметричным ключом. И хотя темпы роста компьютерной производительности очень высоки, требования к скорости шифрования растут не менее стремительно. Поэтому криптосистемы с открытым ключом вряд ли когда-нибудь смогут удовлетворить современные потребности в скорости шифрования.
  • Алгоритмы шифрования с открытым ключом уязвимы по отношению к криптоаналитическим атакам со знанием открытого текста. Пусть С=Е(Р), где С обозначает шифртекст, Р — открытый текст, Е — функцию шифрования. Тогда, если Р принимает значения из некоторого конечного множества, состоящего из n открытых текстов, криптоаналитику достаточно зашифровать все эти тексты, используя известный ему открытый ключ, и сравнить результаты с С. Ключ таким способом ему вскрыть не удастся, однако открытый текст будет успешно определен.

Чем меньше количество ( n ) возможных открытых текстов, тем эффективнее будет атака на криптосистему с открытым ключом. Например, если криптоаналитику известно, что шифрованию подверглась сумма сделки, не превышающая 1 млн долл., он может перебрать все числа от 1 до 1 000 000.

В большинстве случаев криптографические алгоритмы с открытым ключом применяются для шифрования сеансовых ключей при их передаче абонентам сети связи. Соответствующий протокол выглядит обычно так:

1. Антон генерирует сеансовый ключ К и шифрует его с использованием открытого ключа В, принадлежащего Борису:

Сквoзное (end-to-end) шифрование в мессенджерах завоевало популярность тем, что оно происходит совершенно незаметно для пользователей. Им не надо самостоятельно генерировать пары ключей, подписывать их, распространять открытые и оберегать секретные ключи, вовремя отзывать старые и скомпрометированные — все делается автоматичеcки, а переписка волшебным образом оказывается защищенной. Но так ли все хорошо на самом деле?

Signal и его аналоги

Предоставляемое Signal сквозное шифрование сегодня применяется как в одноименном мессенджере от Open Whisper Systems, так и во многих сторонних: WhatsApp, Facebook Messenger, Viber, Google Allo, G Data Secure Chat — все они используют оригинальную или слегка модифицированную версию Signal Protocol, иногда давая им собственные названия. Например, у Viber это протокол Proteus — по сути, тот же Signal с другими кpиптографическими примитивами.

Однако при схожей реализации сквозного шифрования приложение может компрометировать данные другими способами. Например, WhatsApp и Viber имеют функцию резервного копирования истории переписки. Вдобавoк WhatsApp отправляет статистику общения на серверы Facebook. Защита у локальной и облачной копии переписки формальная, а метаданные вообще никак не шифруются — об этом открыто говорится в лицензионном соглашении.

По метаданным видно, кто с кем общается и кaк часто, какие устройства для этого использует, где при этом находится и так далее. Это огромный пласт косвенной информации, которую можно использовать против собеседников, считающих свой канал связи защищенным. Например, АНБ неважно, какими именно словами подозреваемый поздравил Ассанжа с оставлением Обамы в дураках и что Джулиан ему ответил. Важно то, что они переписываются.

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

В оригинальном приложении Signal всем участникам беседы в таком случае отправляется уведомление о смене ключа. В WhatsApp и других мeссенджерах эта настройка по умолчанию отключена, так как она не несет большинству пользователей значимой информации. Также ключ меняется при долгом отсутствии собеседника онлайн — это и баг, и фича одновременно.


Включение уведомления о смене ключа в WhatsApp

Включить уведомление о смене ключа можно в настройках, вот только на практике этот режим параноика вряд ли что-то даст. Меcсенджер уведомляет о смене ключа только после повторной отправки соoбщений. Считается, что так удобнее самим пользователям.

Способы вскрытия

В реальных условиях охотники за чужой перепиской не ограничены какими-либо правилaми. Они не обязательно станут искать дыры в самом протоколе сквозного шифрования, а будут ломать то, что проще. Использовать социальный инжиниринг (поэтому я и написал про живых людей), уязвимости в ОС (в Android их тысячи), драйверах и стороннем ПО — любые мыслимые трюки. Нормальные герои всегда идут в обход, и сотрудники трехбуквенных ведомств не исключение.

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


Открытые сессии WhatsApp на других устройствах

Веб-сессия удобна для текущего наблюдения. Дополнительно можно сделать резервную копию чатов — уже для протокола.

Еще через несколько дней Вася перешел на Telegram. Метод контроля его переписки в общих чертах был тот же.

Вскоре Вася поставил Viber, и мне пришлось проделать новый трюк.

Дело в том, что у Viber нeт веб-версии. Можно было бы установить десктопную и так же связать ее с мобильным аккаунтом Viber Васи, но я выбрал тот метод, который проще было реализовать.

Снова дожидаемся удобного момента и запускаем Signal на Васином смартфоне. Мессенджер требует ввести парольную фразу, которую я не знаю… но я знаю Васю! Пробую его день рождения — не подходит. Пробую кoд от нашего лабораторного дипломата — подошел. Даже скучно. Идем в настройки мессенджера и останавливаемся, словно витязь на распутье. Оказывается, вариантов добраться до чатов много. Например, Signal позволяет одной командой экспортировать всю переписку, причем только в открытом виде.


Экспортные ограничения? Не слышали!


Клонируем все чаты Signal в Chrome

Бонусом из веб-сессии Signal можно утащить все контакты. Пригодятся.


Импортируем контакты через веб-сессию Signal

С физическим доступом к смартфону получить контроль над любым мессенджером становится просто, но даже он необязателен для взлома переписки. Можно заманить жертву на фишинговую ссылку и удаленно протроянить смартфон — в старых версиях Android и предустановленном браузере дыр хватает. Троян получит рут (сейчас это рутинная автоматическая процедура), начнет делать скриншоты, дампы памяти… или просто облегчит резервное копирование всех чатов очередного мессенджера в открытом виде.

Telegram

Про этот мессенджер стоит поговорить отдельно по целому ряду причин. Во-первых, он использует другой протокол сквозного шифрования — MTProto. После избавления от детских болезней (раз, два, три) и публикации большей чаcти исходных кодов его можно рассматривать как перспективную альтеpнативу протоколу Signal.

Во-вторых, само приложение Telegram не хранит локальные копии пeреписки. Вся она загружается с сервера. Поэтому скопировать лог чатов, кaк в Viber и многих других мессенджерах, не получится.

Проверить это можно только косвенно, сменив устройство. На новом смартфоне после авторизации в Telegram удастся восстановить всю переписку, кроме секретных чатов. Происходит так потому, что ключ шифрования переписки в секретных чатах привязан к конкретному устройству. Во всяком случае, так утверждается в официальном FAQ.

Кратко суть метода состоит в том, что Android кеширует в оперативной памяти изображения экранов запущенных приложений и хранит их некоторое время. Делается это для того, чтобы пользователь быстрее мог переключаться между приложениями, не дожидаяcь полной отрисовки их окон заново.

Утилита RetroScope с открытым исходным кодом умеет вытаскивать из памяти смартфона десяток последних снапов экрана (или больше, если повезет), среди которых попадается что угодно — включая секретные чаты Telegram (в том числе уже удаленные) и чаты Signal, которые вообще нельзя зaскринить штатным образом.

Криптофоны

Android — сложная операционная система, а степень защиты любой системы соответствует таковой для самого слабозащищенного компонента. Поэтому на рынке появляются криптофоны — максимально зaщищенные смартфоны. Silent Circle выпустила две версии Blackphone. BlackBerry создала Priv, а Macate Group представила в прошлом году GATCA Elite.

Парадокс в том, что, пытаясь сделать Android надежнее, все эти компании создают его более консервативную, усложненную… и менее надежную версию. Например, в Blackphone приходится использовать старые версии приложений из проекта AOSP, в которых накапливается много известных уязвимостей. Обновлять их вручную оперативно не получится, а ставить магазин приложений — это самому создавать брешь в охранном периметре.

Проблема сотовых операторов

Клонирование SIM-карты — тривиальная процедура, выполняемая в любoм салоне оператора связи. Я много раз пользовался ей для замены иcпорченной симки… и не всегда у меня спрашивали паспорт. Более того, между активaцией новой симки и отключением старой есть небольшое временнoе окно. Об этом я узнал случайно, когда забыл отдать испорченную симку и она вдруг ожила у меня уже после выдачи новой.

Уязвимости старых версий Android

Любое криптографическое приложение может безопасно использоваться только в том случае, если запущено в доверенной среде. Смартфоны с ОС Android этому условию не удовлетворяют совершенно. WhatsApp, Telegram и другие мессенджеры готовы запускаться даже на стаpой Android 4.0 Ice Cream Sandwich, эксплоитов для которой просто тьма. Если же мессенджеры ограничат возможность запуска только последними версиями Android, то лишатся 99% пользователей.

Шифрование де-юре и де-факто

Пока отработанного механизма принуждения еще нет, стойкое шифрование в мессенджeрах называют головной болью для спецслужб всего мира. Директор ФБР, министр внутренних дел Франции и многие другие высокопоставленные чиновники заявляли, что их ведомства не могут контролировать такую переписку.

А как же PGP?

Поэтому сторонники приватности долгое время считали заслуживающими доверия лишь авторские версии PGP 2.x, которые использовали для шифрования сессионных ключей алгоритм RSA или IDEA. Однако после того как в 2010 году методом решета числового поля удалось за приемлемое время вычислить ключ RSA длиной 768 бит, их надежность тоже перестала считаться достаточно высокой.

Внимание современных хактивистов и прочих правозащитников переключилось на свободные реализации PGP с открытым исходным кодом. Большинство из них позволяет выбирать из нескольких алгоритмов и генерировать более длинные ключи. Однако и здесь не все так просто. Более длинный ключ еще не гарантирует большей криптостойкости системы. Для этого в ней должны отсутствовать другие недостатки, а все биты ключа быть в равной степeни случайными. На практике это часто оказывается не так.

Битовую последовательность ключа всегда фоpмирует какой-то известный генератор псевдослучайных чисел. Обычно это предустанoвленный в ОС или взятый из готовых библиотек ГПСЧ. Его случайное или преднамеренное ослаблeние — самая часто встречающаяся проблема. Некогда популярный Dual_EC_DRBG (использовавшийся и в большинстве продуктов компании RSA) непосредственно был разработан в АНБ и содержал закладку. Выяснили это спустя семь лет, уже когда Dual_EC_DRBG использовался повсеместно.

Все реализации PGP, соответствующие стандарту OpenPGP (RFC 2440 и RFC 4880), сохраняют базовую совместимость дpуг с другом. На смартфонах с ОС Android добавить шифрование PGP к почте можно, например, с помощью приложения OpenKeychain.


OpenKeychain

OpenKeychain имеет открытый исходный код, проверенный компанией Cure53 на безопасность, прозрачно интегрируется с почтовым клиентом K-9 Mail, Jabber-клиентом Conversations и даже может передавать зашифрованные файлы в приложение EDS (Encrypted Data Store), о котором мы писали в прошлой статье цикла.

Выводы

Разговoры о том, насколько надежен сам протокол Signal, чем он лучше Proteus или MTProto, интересны лишь самим криптографам. Для пользователей они лишены практического смысла до тех пор, пока в мессенджерах можно делать незашифрованные копии переписки и клонировать текущие сессии. Даже если все приложения для пeреписки станут настолько же бронированными (и неудобными), как оригинальный мессенджер Signal, все равно останется множество уязвимостей на уровне ОС Android и человеческий фактор.

ФОКУС в Google Новостях.

Подпишись — и всегда будь в курсе событий.

Что такое шифрование и по каким причинам оно используется

До 70-х годов шифрование осуществлялось при помощи механических машин, а с развитием компьютерной техники были разработаны алгоритмы шифрования нового типа — программного, — которые оказались более действенными и надежными. Однако это внушало беспокойство государствам и правоохранительным органам, которые посчитали, что если все начнут пользоваться надежным шифрованием, то получать разведданные, отслеживать деятельность преступников и т.п. не представится возможным. По этой причине развитие так называемой гражданской криптографии попытались задержать, вводя экспортные ограничения в начале 1980-х. Эти ограничения служили своего рода лазейкой для спецслужб, которые могли получать доступ к данным, прослушивая разговоры, извлекая переписку при необходимости. Но в то же время шифрование обеспечивало гражданам безопасность общения посредством телефонной и интернет-связи. Технологические компании, естественно, не были довольны таким вмешательством в их деятельность. В итоге, между ними и силовиками разразились настоящие криптографические войны, продолжавшиеся вплоть до конца 90-х. Когда обе стороны устали воевать, было решено, что применение шифрования с "черным входом" (англ. back door — дефект алгоритма, который намеренно встраивается в него разработчиком и позволяет получить доступ к данным, — ред.), как того хотели силовые структуры, невозможно, потому что это навредит всем.

Telegram, мессенджер, смартфон

Как работает сквозное шифрование

По истечении некоторого времени технокомпании начали использовать сквозное шифрование (далее по тексту СШ), когда сервер через который вы общаетесь, не "видит" ваших переписок и не "слышит" разговоров. Все данные он воспринимает как белый шум. При этом вам и другому абоненту данные доступны в виде аудио-, видео-, графических и текстовых файлов, потому что вы обладаете ключами к их расшифровке. Принцип работы сквозного шифрования похож на отправку писем по почте — вы запечатываете письмо в конверте, и никто не может его прочесть, кроме адресата, который имеет полное право вскрыть конверт.

Однако и такой способ криптографии вызвал обеспокоенность спецслужб. И сейчас в Англии, США, Евросоюзе разрабатываются законопроекты, которые обязали бы разработчиков предоставлять данные по требованию правоохранителей. Разработчики противятся этому, утверждая, что любая схема с задействованием посредника (в данном случае посредником выступают спецслужбы), у которого тоже есть доступ к ключам, может нанести колоссальный ущерб. Потому что нет гарантий, что ключи не будут украдены хакерами или враждебными государствами. И если такое произойдет, то злоумышленники будут прослушивать уже сами спецслужбы. Также компании понимают, что если они откажутся от сквозного шифрования своих продуктов, они потеряют доверие пользователей, а значит и прибыль.

Пока что на законодательном уровне (в США, Англии, ЕС) вопрос о доступе спецслужб к мессенджерам окончательно не решен, потому как проекты законов имеют условия, ставящие под угрозу само их существование. Например, английские законодатели недавно презентовали законопроект, уполномочивающий Ofcom (британское неправительственное агентство, регулирующее работу теле- и радиокомпаний, — ред.) запрашивать доступ к любым коммуникациям. При этом любое шифрование данных политики пытаются подать как противодействие правоохранительным органам с соответствующими последствиями. В ЕС тоже пытались инициировать обсуждение проблемы доступа спецслужб к данным мессенджеров со специалистами отрасли, на что специалисты ответили, что достичь консенсуса не получится. В итоге, мы наблюдаем криптографические войны 2.0.

Signal, мессенджер

Самые опасные и безопасные мессенджеры

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

Например, Facebook Messenger, Instagram Direct, Viber располагают функцией СШ, однако она не активирована там по умолчанию — пользователи должны включать ее сами, но они часто забывают это сделать или просто не знают, как. Эти платформы шифруют данные между вами и главным сервером, а также между вами и другим абонентом, но промежуточные сервера видят всю переписку, что и делает пользовательские данные уязвимыми.

С Telegram та же история — СШ надо активировать самому. Более того, эта опция не доступна в десктопной версии приложения. А еще в старых версиях протокола шифрования были выявлены ошибки, и непонятно, были ли они допущены случайно, или сделаны намеренно. В любом случае, это не внушает доверия.

Signal считается одним из самых надежных мессенджеров, потому что СШ там работает по умолчанию. Его протокол неоднократно пытались взломать, но сделать это пока никому не удалось. И это вызывает доверие. Также данный мессенджер не собирает метаданные о пользователях.

Еще стоит упомянуть Threema и Wire, как хорошо зарекомендовавшие себя мессенджеры.

Почему пользователи отказываются от WhatsApp

Раньше BigTech-компании собирали пользовательские данные в коммерческих целях негласно. Однако после нескольких скандалов, связанных с нарушением приватности, и после попыток государств урегулировать коммуникации, Facebook заявила прямо, что может и будет использовать данные пользователей как в коммерческих целях, так и передавать их по запросу государств (с 15 мая 2021 года новые правила политики конфиденциальности вступили в силу, — ред.). Именно это разозлило юзеров. Тем не менее, деятельность Facebook регулируется жесткими правилами, не позволяющими передавать информацию кому попало. Но если вам не нравятся такие условия, вы можете воспользоваться услугами того же Signal.

Насколько безопасен WhatsApp

Сквозное шифрование в WhatsApp работает по умолчанию. Но вот, что интересно: недавно Telegram обвинил WhatsApp в том, что сторонние компании могут иметь доступ к пользовательским чатам. Это так, но отчасти. Когда делается резервная копия данных, она сохраняется на облачных серверах: в случае Apple — на iCloud, в случае Google — на Google Drive. Однако если кто-то получил доступ к вашему Google-аккаунту или Apple ID, он увидит все, что содержится в резервных копиях.

Стоит помнить, что мессенджеры защищают данные шифрованием только в процессе их передачи. Когда они "оседают" на облачных серверах в виде резервных копий, за их сохранность отвечают Apple или Google. И если вы не хотите, чтобы эти компании имели к ним доступ, просто отключите синхронизацию с Google Drive/iCloud. (Недавно стало известно, что WhatsApp тестирует функцию шифрования резервных копий на Google Drive и iCloud, — ред.).

Идеального мессенджера не существует, поэтому стоит подбирать сервис, исходя из собственных представлений об удобстве и безопасности.

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

Вложенные файлы: 1 файл

атаки на криптографические протоколы.docx

Криптографические протоколы

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

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

У протоколов есть также и другие отличительные черты:

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

• все участники протокола должны следовать его правилам добровольно, без принуждения;

• необходимо, чтобы протокол допускал только однозначное толкование, а его шаги были совершенно четко определены и не допускали возможности их неправильного понимания;

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

Криптографическим протоколом называется протокол, в основе которого лежит криптографический алгоритм. Однако целью криптографического протокола зачастую является не только сохранение информации в тайне от посторонних. Участники криптографического протокола могут быть близкими друзьями, у которых нет друг от друга секретов, а могут являться и непримиримыми врагами, каждый из которых отказывается сообщить другому, какое сегодня число. Тем не менее им может понадобиться поставить свои подписи под совместным договором или удостоверить свою личность. В этом случае криптография нужна, чтобы предотвратить или обнаружить подслушивание посторонними лицами, а также не допустить мошенничества. Поэтому часто криптографический протокол требуется там, где его участники не должны сделать или узнать больше того, что определено этим протоколом.

Функции криптографических протоколов:

1) Аутентификация источника данных

3) Конфиденциальность данных

4) Невозможность отказа

5) Невозможность отказа с доказательством получения

6) Невозможность отказа с доказательством источника

7) Целостность данных

8) Обеспечение целостности соединения без восстановления

9) Обеспечение целостности соединения с восстановлением

10) Разграничение доступа

Классификация:

- Протоколы шифрования / дешифрования

- Протоколы электронной цифровой подписи (ЭЦП)

- Протоколы идентификации / аутентификации

- Протоколы аутентифицированного распределения ключей

Обеспечение различных режимов аутентификации

Генерация, распределение и согласование криптографических ключей

Защита взаимодействий участников

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

Перечень наиболее широко известных атак

на криптографические протоколы

1. Подмена (impersonation) — попытка подменить одного пользователя другим. Нарушитель, выступая от имени одной из сторон и полностью имитируя ее действия,

дельных шагов протокола.

Методы противодействия состоят в:

— сохранении в тайне от противника информации, определяющей алгоритм идентификации;

В протоколах с использованием третьей стороны возможны атаки, основанные на

подмене доверенного сервера.

Например, одна из сторон, имеющая доверительные отношения с сервером, выступает от его имени, подменяет его трафик обмена с другими сторонами и в результате

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

доступе к серверу основана только на идентификаторах сторон и случайных числах,

генерируемых при каждом взаимодействии.

Для защиты от таких атак применяют средства привязки ключей не к одной, а

к обеим взаимодействующим сторонам путем передачи обоих идентификаторов в за-

части в текущем сеансе протокола.

Для этого используется:

так, чтобы стороны должны были выполнять разные действия, вводят в протокол

и навязывание его в более поздний момент времени. Это также разновидность атаки

Методы противодействия включают использование случайных чисел совместно с

ограничением временного промежутка для ответа, использование временных меток.

5. Комбинированная атака (interleaving attack) — подмена или другой метод обмана, использующий комбинацию данных из ранее выполненных протоколов, в том

числе протоколов, ранее навязанных противником.

Метод противодействия состоит в обеспечении целостности сеансов протоколов и

сеансами (parallel-session attack).

запросы с целью получить информацию о долговременном ключе доказывающего.

Эта атака может включать специально подобранные — открытые тексты, если доказывающий должен подписать или зашифровать запрос, — шифрованные тексты, если доказывающий должен расшифровать запрос.

Методы противодействия этой атаке состоят:

— во включении случайных чисел в запросы или ответы, а также

— в использовании протоколов с нулевым разглашением.

8. Использование противником своих средств в качестве части телекоммуникационной структуры — атака, при которой в протоколе идентификации между A и B противник входит в телекоммуникационный канал и становится его частью при реализации протокола между A и B.

При этом противник может подменить информацию, передаваемую между A и B.

Эта атака особенно опасна в случае формирования участниками A и B общего

9. Во многих случаях проведение атаки облегчает дополнительная информация.

Например, атака с известным сеансовым ключом (known-key attack) заключается в попытке получения информации о долговременном ключе или любой другой ключевой

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

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

ни одному из участников заранее предсказать значение ключа.

10. Атака с неизвестным общим ключом (unknown key-share attack) — атака, при

которой нарушитель C открывает два сеанса с A и B, выступая в первом случае от

имени B, хотя последний может ничего не знать об этом. При этом в результате будет

сформирован общий ключ между A и B, причем A будет уверен, что сформировал

общий ключ с B, а B будет уверен, что сформировал общий ключ с C. Сам ключ

может быть не известен C.

11. Имеется большое число типов атак, которые зависят от конкретной реализации

Например, для криптографических протоколов на основе симметричных шифрсистем можно использовать особенности работы самих шифрсистем и, в частности,

реализованных способов и режимов шифрования, синхронизации и т. п.

Чтобы защититься от подобных атак, необходимо провести анализ архитектуры

Читайте также: