stringtranslate.com

Неофициальные сообщения

Off-the-record Messaging ( OTR ) — это криптографический протокол , который обеспечивает шифрование для обмена мгновенными сообщениями . OTR использует комбинацию алгоритма симметричного ключа AES с длиной ключа 128 бит, обмена ключами Диффи–Хеллмана с размером группы 1536 бит и хэш-функции SHA-1 . В дополнение к аутентификации и шифрованию , OTR обеспечивает прямую секретность и гибкое шифрование .

Основной мотивацией протокола было обеспечение отрицаемой аутентификации для участников разговора при сохранении конфиденциальности разговоров, как приватный разговор в реальной жизни или не для записи в журналистских источниках . Это контрастирует с инструментами криптографии, которые производят вывод, который позже может быть использован в качестве проверяемой записи события коммуникации и личности участников. Первоначальный вводный документ был назван «Не для записи общение, или почему не использовать PGP ». [1]

Протокол OTR был разработан криптографами Яном Голдбергом и Никитой Борисовым и выпущен 26 октября 2004 года. [2] Они предоставляют клиентскую библиотеку для поддержки разработчиков клиентов мгновенного обмена сообщениями, которые хотят реализовать протокол. Существует плагин Pidgin и Kopete , который позволяет использовать OTR поверх любого протокола обмена мгновенными сообщениями, поддерживаемого Pidgin или Kopete, предлагая функцию автоматического определения , которая запускает сеанс OTR с приятелями, у которых он включен, не мешая обычным незашифрованным разговорам. Версия 4 протокола [3] разрабатывается с 2017 года [4] командой под руководством Софии Сели и проверена Ником Унгером и Яном Голдбергом. Эта версия направлена ​​на обеспечение онлайн- и офлайн-отрицания, обновление криптографических примитивов и поддержку доставки вне очереди и асинхронной связи.

История

OTR был представлен в 2004 году Никитой Борисовым, Яном Аврумом Голдбергом и Эриком А. Брюэром в качестве улучшения по сравнению с OpenPGP и системой S/MIME на «Семинаре по конфиденциальности в электронном обществе» (WPES). [1] Первая версия 0.8.0 эталонной реализации была опубликована 21 ноября 2004 года. В 2005 году Марио Ди Раймондо, Росарио Дженнаро и Хьюго Кравчик представили анализ, в котором обращалось внимание на несколько уязвимостей и предлагались соответствующие исправления, в частности, ошибка в обмене ключами. [5] В результате в 2005 году была опубликована версия 2 протокола OTR, которая реализует вариант предлагаемой модификации, которая дополнительно скрывает открытые ключи. Более того, была введена возможность фрагментировать сообщения OTR для работы с чат-системами, имеющими ограниченный размер сообщения, а также был реализован более простой метод проверки против атак типа «человек посередине». [6]

В 2007 году Оливье Гоффарт опубликовал mod_otr[7] для ejabberd , что позволило проводить атаки типа «человек посередине» на пользователей OTR, которые не проверяют отпечатки ключей. Разработчики OTR отразили эту атаку, внедрив реализацию протокола социалистического миллионера в libotr. Вместо сравнения контрольных сумм ключей можно использовать знание произвольного общего секрета, для которого может быть допустима относительно низкая энтропия . [8]

Версия 3 протокола была опубликована в 2012 году. В качестве меры против повторного восстановления сеанса в случае, если несколько конкурирующих чат-клиентов одновременно регистрируются на одном и том же адресе пользователя, в версии 3 были введены более точные идентификационные метки для отправки и получения клиентских экземпляров. Кроме того, согласовывается дополнительный ключ, который может использоваться для другого канала данных. [9]

Было предложено несколько решений для поддержки разговоров с несколькими участниками. Метод, предложенный в 2007 году Цзян Бянем, Ремзи Секером и Умитом Топалоглу, использует систему одного участника в качестве «виртуального сервера». [10] Метод под названием «Multi-party Off-the-Record Messaging» (mpOTR), опубликованный в 2009 году, работает без центрального управляющего хоста и был представлен в Cryptocat Яном Голдбергом и др. [11]

В 2013 году был представлен протокол Signal , основанный на OTR Messaging и Silent Circle Instant Messaging Protocol (SCIMP). Он принес поддержку асинхронной коммуникации («офлайн-сообщения») в качестве своей главной новой функции, а также лучшую устойчивость к искаженному порядку сообщений и более простую поддержку разговоров с несколькими участниками. [12] OMEMO , представленный в клиенте Android XMPP под названием Conversations в 2015 году, интегрирует алгоритм Double Ratchet , используемый в Signal, в протокол обмена мгновенными сообщениями XMPP («Jabber»), а также обеспечивает шифрование передаваемых файлов. Осенью 2015 года он был представлен в XMPP Standards Foundation для стандартизации. [13] [14]

В настоящее время разработана версия 4 протокола. Она была представлена ​​Софией Сели и Олой Бини на PETS2018. [15]

Выполнение

Помимо обеспечения шифрования и аутентификации — функций, которые также предоставляются типичными наборами криптографии с открытым ключом, такими как PGP , GnuPG и X.509 ( S/MIME ), — OTR также предлагает некоторые менее распространенные функции:

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

Аутентификация

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

Ограничения

Из-за ограничений протокола OTR не поддерживает многопользовательский групповой чат с 2009 года [16], но он может быть реализован в будущем. С версии 3 [9] спецификации протокола во время аутентифицированного обмена ключами выводится дополнительный симметричный ключ, который может использоваться для безопасной связи (например, зашифрованной передачи файлов ) по другому каналу. Поддержка зашифрованного аудио или видео не планируется. ( SRTP с ZRTP существует для этой цели.) Проект по созданию протокола для многостороннего обмена сообщениями off-the-record (mpOTR) был организован Cryptocat , eQualitie и другими участниками, включая Яна Голдберга. [11] [17]

Начиная с протокола OTR v3 (libotr 4.0.0) плагин поддерживает несколько разговоров OTR с одним и тем же собеседником, который вошел в систему в разных местах. [18]

Поддержка клиентов

Нативный (поддерживается разработчиками проекта)

Эти клиенты изначально поддерживают функцию Off-the-Record Messaging (неполный список).

Через сторонний плагин

Аутентификация Off-The-Record на языке Pidgin с использованием протокола Socialist Millionaires

Для использования функции «Незаписанные сообщения» следующим клиентам требуется плагин.

Путаница с Google Talk «не для протокола»

Хотя в Google Talk от Gmail используется термин «не для записи», эта функция не имеет никакого отношения к протоколу Off-the-Record Messaging, описанному в этой статье, ее чаты не шифруются описанным выше способом и могут регистрироваться внутри Google, даже если они недоступны конечным пользователям. [32] [33]

Смотрите также

Ссылки

  1. ^ ab Никита Борисов , Ян Голдберг , Эрик Брюэр (28 октября 2004 г.). "Неофициальное общение, или почему не стоит использовать PGP" (PDF) . Семинар по вопросам конфиденциальности в электронном обществе . Получено 6 марта 2014 г.{{cite conference}}: CS1 maint: несколько имен: список авторов ( ссылка )
  2. ^ Ян Голдберг (26 октября 2014 г.). [OTR-users] С 10-летием! . Получено 27 апреля 2015 г. .
  3. ^ София Чели, Ола Бини (15 февраля 2019 г.). «Протокол обмена сообщениями Off-the-Record версии 4». GitHub .
  4. ^ "Добавить отказ от ответственности · otrv4/otrv4@0c0847e". GitHub . Получено 20 сентября 2023 г. .
  5. ^ Марио Ди Раймондо; Росарио Дженнаро; Хьюго Кравчик (2005). «Безопасный обмен сообщениями вне протокола» (PDF) . Труды семинара ACM 2005 года по вопросам конфиденциальности в электронном обществе . Ассоциация вычислительной техники: 81–89.
  6. ^ «Протокол обмена сообщениями для служебного пользования, версия 2».
  7. ^ "mod_otr".
  8. ^ Крис Александр; Ян Аврум Голдберг (февраль 2007 г.). «Улучшенная аутентификация пользователя в сообщениях, не предназначенных для записи». Труды семинара ACM 2007 г. по вопросам конфиденциальности в электронном обществе (PDF) . Нью-Йорк: Ассоциация вычислительной техники. стр. 41–47. doi :10.1145/1314333.1314340. ISBN 9781595938831. S2CID  17052562.
  9. ^ ab «Протокол обмена сообщениями для служебных целей, версия 3».
  10. ^ Цзян Бянь; Ремзи Секер; Умит Топалоглу (2007). Мгновенный обмен сообщениями для группового общения. Международная конференция IEEE по повторному использованию и интеграции информации. IEEE. doi :10.1109/IRI.2007.4296601.
  11. ^ ab Ian Avrum Goldberg; Berkant Ustaoğlu; Matthew D. Van Gundy; Hao Chen (2009). «Многосторонний обмен сообщениями без записи». Труды 16-й конференции ACM по компьютерной и коммуникационной безопасности (PDF) . Ассоциация вычислительной техники. стр. 358–368. doi :10.1145/1653662.1653705. hdl :11147/4772. ISBN 9781605588940. S2CID  6143588.{{cite book}}: CS1 maint: дата и год ( ссылка )
  12. ^ Ник Унгер; Сергей Дешанд; Джозеф Бонно; Саша Фаль; Хеннинг Перл; Ян Аврум Голдберг; Мэтью Смит (2015). "SoK: Secure Messaging" (PDF) . Труды симпозиума IEEE 2015 года по безопасности и конфиденциальности . Технический комитет IEEE Computer Society по безопасности и конфиденциальности: 232–249.
  13. ^ Straub, Andreas (25 октября 2015 г.). "OMEMO Encryption". Сайт XMPP Standards Foundation . Архивировано из оригинала 29 января 2016 г. Получено 16 января 2016 г.
  14. ^ Gultsch, Daniel (2 сентября 2015 г.). "OMEMO Encrypted Jingle File Transfer". Веб-сайт XMPP Standards Foundation . Получено 16 января 2016 г.
  15. ^ София Чели, Ола Бини (21 июля 2018 г.). Нет доказательств общения: Off-the-Record Protocol версии 4 (PDF) . Получено 29 ноября 2018 г.
  16. ^ Ян Голдберг (27 мая 2009 г.). «многосторонние коммуникации OTR? (и другие подробности OTR)». Список рассылки OTR-users .
  17. Надим Кобейсси (1 февраля 2014 г.). "План проекта mpOTR". Cryptocat wiki на GitHub .
  18. ^ Ян Голдберг (4 сентября 2012 г.). "pidgin-otr и libotr 4.0.0 выпущены!". Рассылка OTR-announce .
  19. ^ «Неофициальные сообщения».
  20. ^ "BitlBee Wiki". Wiki.bitlbee.org. 25 января 2014 г. Получено 15 мая 2014 г.
  21. ^ "kopete-otr в KDE для 4.1". Архивировано из оригинала 28 марта 2008 г.
  22. ^ "Запрос на проверку копете-отр" .
  23. ^ ab "OTR Plugin". Github.com . Получено 6 сентября 2017 г. .
  24. ^ "Psi+ snapshots". Github.com . Получено 6 сентября 2017 г. .
  25. ^ "Tkabber OTR Plugin". Архивировано из оригинала 11 марта 2014 года.
  26. ^ "Журнал изменений Irssi - 1.2.0".
  27. ^ "Плагин для HexChat, не предназначенный для записи". GitHub . 2 декабря 2021 г.
  28. ^ «Плагин Miranda OTR».
  29. ^ "Плагин OTR для Pidgin".
  30. ^ "Плагин OTR для WeeChat". GitHub . Январь 2019.
  31. ^ "TingPing/hexchat-otr". GitHub . Получено 14 марта 2017 .
  32. ^ «Общение не для записи — Talk Help».
  33. ^ «Google Talk — Политика конфиденциальности».

Дальнейшее чтение

Внешние ссылки