Сообщения без записи - Off-the-Record Messaging
Сообщения без записи (OTR) это криптографический протокол который обеспечивает шифрование для мгновенное сообщение разговоры. OTR использует комбинацию AES алгоритм с симметричным ключом с длиной ключа 128 бит Обмен ключами Диффи – Хеллмана с размером группы 1536 бит, а SHA-1 хеш-функция. В добавление к аутентификация и шифрование, OTR предоставляет прямая секретность и гибкое шифрование.
Основной мотивацией протокола было обеспечение отрицательная аутентификация для участников разговора, сохраняя конфиденциальность разговора, как личный разговор в реальной жизни, или не для записи в поиск журналистов. Это контрастирует с инструментами криптографии, которые производят выходные данные, которые впоследствии могут быть использованы в качестве проверяемой записи коммуникационного события и личности участников. Первоначальный вводный документ назывался «Неофициальное общение, или почему бы не использовать PGP ".[1]
Протокол OTR был разработан криптографами. Ян Голдберг и Никита Борисов и освобожден 26 октября 2004 г.[2] Они предоставляют клиенту библиотека для облегчения поддержки разработчиков клиентов обмена мгновенными сообщениями, которые хотят реализовать протокол. А Пиджин и Копете существует плагин, который позволяет использовать OTR через любой протокол обмена мгновенными сообщениями, поддерживаемый Pidgin или Kopete, предлагая автоматическое обнаружение функция, которая запускает сеанс OTR с друзьями, у которых он включен, не мешая обычным незашифрованным разговорам. Версия 4 протокола[3] Сейчас[когда? ] разрабатывается командой под руководством Софии Чели и проверяется Ником Унгером и Яном Голдбергом. Эта версия направлена на обеспечение возможности отрицания в сети и офлайн, обновление криптографических примитивов и поддержку нестандартная доставка и асинхронное общение.
История
OTR был представлен в 2004 году Никитой Борисовым, Яном Аврумом Голдбергом и Эриком А. Брюэром как усовершенствование системы OpenPGP и S / MIME на семинаре по вопросам конфиденциальности в электронном обществе (WPES).[1] Первая версия 0.8.0 эталонной реализации была опубликована 21 ноября 2004 года. В 2005 году Марио Ди Раймондо, Розарио Дженнаро и Хьюго Кравчик представили анализ, который привлек внимание к нескольким уязвимостям и предложил соответствующие исправления, в первую очередь включая ошибку. в обмене ключами.[4] В результате в 2005 году была опубликована версия 2 протокола OTR, в которой реализована разновидность предложенной модификации, которая дополнительно скрывает открытые ключи. Кроме того, была введена возможность фрагментировать сообщения OTR для работы с системами чата, которые имеют ограниченный размер сообщения, а также реализован более простой метод проверки против атак типа «человек посередине».[5]
В 2007 Оливье Гоффарт опубликовано mod_otr[6] за Ejabberd, позволяя выполнять атаки человек-посередине на пользователей OTR, которые не проверяют отпечатки пальцев. Разработчики OTR противостояли этой атаке, введя протокол социалистического миллионера реализация в либотр. Вместо сравнения контрольных сумм ключей можно использовать знание произвольного общего секрета, для которого относительно низкие энтропия можно терпеть, используя протокол социалистического миллионера.[7]
Версия 3 протокола была опубликована в 2012 году. В качестве меры против повторного восстановления сеанса в случае одновременного входа нескольких конкурирующих клиентов чата на один и тот же адрес пользователя используются более точные идентификационные метки для отправки и получения экземпляров клиентов. были введены в версии 3. Кроме того, согласовывается дополнительный ключ, который может использоваться для другого канала данных.[8]
Было предложено несколько решений для поддержки разговоров с несколькими участниками. Метод, предложенный в 2007 году Цзян Бианем, Ремзи Секером и Умитом Топалоглу, использует систему одного участника в качестве «виртуального сервера».[9] Метод под названием «Многосторонний обмен сообщениями без записи» (mpOTR), который был опубликован в 2009 году, работает без центрального узла управления и был представлен в Cryptocat Яна Голдберга и др.[10]
В 2013 г. Сигнальный протокол был представлен, который основан на обмене сообщениями OTR и Протокол обмена мгновенными сообщениями Silent Circle (SCIMP). Он обеспечил поддержку асинхронной связи («автономные сообщения») в качестве основной новой функции, а также улучшил устойчивость к искаженному порядку сообщений и упростил поддержку разговоров с несколькими участниками.[11] OMEMO, представленный в XMPP-клиенте Android под названием Разговоры в 2015 году объединяет Двойной трещоточный алгоритм используется в Signal в протокол обмена мгновенными сообщениями XMPP ("Jabber"), а также обеспечивает шифрование передачи файлов. Осенью 2015 года он был отправлен в Фонд стандартов XMPP для стандартизации.[12][13]
В настоящее время разработана версия 4 протокола. Его представили София Чели и Ола Бини на PETS2018.[14]
Выполнение
В дополнение к обеспечению шифрования и аутентификации - функции, также предоставляемые типичными наборами криптографии с открытым ключом, такими как PGP, GnuPG, и X.509 (S / MIME ) - OTR также предлагает несколько менее распространенных функций:
- Прямая секретность: Только сообщения зашифрованный с временным сообщением AES ключи, согласованные с использованием Обмен ключами Диффи – Хеллмана протокол. Компрометация любых долговечных криптографических ключей не нарушает никаких предыдущих разговоров, даже если злоумышленник владеет шифртексты.
- Отклоняемая аутентификация: Сообщения в беседе не имеют цифровые подписи, а после завершения разговора любой может подделать сообщение так, чтобы оно выглядело как исходящее от одного из участников разговора, гарантируя, что невозможно доказать, что конкретное сообщение пришло от конкретного человека. В разговоре получатель может быть уверен, что сообщение исходит от человека, которого он идентифицировал.
Аутентификация
Начиная с OTR 3.1, протокол поддерживает взаимную аутентификацию пользователей с использованием общего секрета через социалистический миллионер протокол. Эта функция позволяет пользователям проверять личность удаленной стороны и избегать атака "человек посередине" без неудобств ручного сравнения отпечатки открытого ключа через внешний канал.
Ограничения
Из-за ограничений протокола OTR не поддерживает многопользовательский групповой чат с 2009 года.[Обновить][15] но это может быть реализовано в будущем. Начиная с версии 3[8] спецификации протокола, дополнительный симметричный ключ получается во время аутентифицированного обмена ключами, который может использоваться для безопасной связи (например, зашифрованный передача файлов ) по другому каналу. Поддержка зашифрованного аудио или видео не планируется. (SRTP с ZRTP существует для этой цели.) Проект по созданию протокола для многостороннего обмена неофициальными сообщениями (mpOTR) был организован Cryptocat, eQualitie, и другие участники, включая Яна Голдберга.[10][16]
Начиная с протокола OTR v3 (libotr 4.0.0) плагин поддерживает несколько разговоров OTR с одним и тем же партнером, который вошел в систему в нескольких местах.[17]
Поддержка клиентов
Разработчики) | Команда разработчиков OTR |
---|---|
Стабильный выпуск | 4.1.1 / 9 марта 2016 |
Написано в | C |
Операционная система | Кроссплатформенность |
Тип | Библиотека программного обеспечения |
Лицензия | LGPL v2.1 +[18] |
Интернет сайт | https://otr.cypherpunks.ca/index.php#downloads |
Родной (поддерживается разработчиками проекта)
Эти клиенты изначально поддерживают передачу сообщений без записи.
- Адиум (OS X )
- Blink SIP клиент (OS X )
- BitlBee (кросс-платформенный), начиная с версии 3.0 (необязательно во время компиляции)[19]
- ЦентрIM (Unix-подобный ), начиная с 4.22.2
- ChatSecure (iOS )
- Zom Mobile Messenger (Android )
- восхождение (Unix-подобный ), поскольку (mICQ) 0.5.4
- IronChat, основанный на Xabber (Android )
- Джитси (кроссплатформенный)
- Каду (кросс-платформенный ), начиная с версии 1.0[20]
- Копете (Unix-подобный )[21][22]
- LeechCraft (кроссплатформенный)[23][24]
- MCabber (Unix-подобный ), начиная с 0.9.4[25]
- Ненормативная лексика, начиная с 0.4.1
- Пси (кросс-платформенный )[26]
- Пси + (кросс-платформенный )[26][27]
- Текстовый 5 (OS X ), начиная с 5.1.2
- Mozilla Thunderbird, с 68
- Xabber (Android )
- Ткаббер (кросс-платформенный ), начиная с версии 1.1[28]
- irssi , в (будущих) выпусках, выпущенных после августа 2018 г., в настоящее время находится в «основном» репо
Через сторонний плагин
Следующим клиентам требуется подключаемый модуль для использования сообщений без записи.
- xchat, со сторонним плагином[29]
- Миранда IM (Майкрософт Виндоус ), со сторонним плагином[30]
- Пиджин (кросс-платформенный ), с плагином, доступным на домашней странице OTR[31]
- WeeChat, со сторонним плагином[32]
- HexChat, для версий * nix, со сторонним плагином[33]
Путаница с Google Talk "не для протокола"
Хотя Gmail Google Talk использует термин «не для записи», эта функция не связана с протоколом обмена сообщениями без записи, описанным в этой статье, ее чаты не шифруются описанным выше способом - и могут регистрироваться внутри Google, даже если они недоступны конечными пользователями.[34][35]
Смотрите также
- Портал бесплатного программного обеспечения
Рекомендации
- ^ а б Никита Борисов, Ян Голдберг, Эрик Брюэр (28 октября 2004 г.). "Неофициальное общение, или почему бы не использовать PGP" (PDF). Семинар по конфиденциальности в электронном обществе. Получено 6 марта 2014.CS1 maint: несколько имен: список авторов (связь)
- ^ Ян Голдберг (26 октября 2014 г.). [OTR-users] С 10-летием!. Получено 27 апреля 2015.
- ^ София Чели, Ола Бини (15 февраля 2019 г.). "Протокол обмена сообщениями без записи версии 4".
- ^ Марио Ди Раймондо; Росарио Дженнаро; Уго Кравчик (2005). «Безопасный обмен сообщениями не для записи» (PDF). Материалы семинара ACM 2005 г. по вопросам конфиденциальности в электронном обществе. Ассоциация вычислительной техники: 81–89.
- ^ "Протокол обмена сообщениями без записи версии 2".
- ^ "мод_отр".
- ^ Крис Александр; Ян Аврум Голдберг (февраль 2007 г.). Улучшенная аутентификация пользователей в сообщениях, не записываемых в протокол (PDF). Материалы семинара ACM 2007 г. по вопросам конфиденциальности в электронном обществе. Нью-Йорк: Ассоциация вычислительной техники. С. 41–47. Дои:10.1145/1314333.1314340. ISBN 9781595938831. S2CID 17052562.
- ^ а б "Протокол обмена сообщениями без записи версии 3".
- ^ Цзян Бянь; Ремзи Секер; Умит Топалоглу (2007). Незапись мгновенных сообщений для группового разговора. Международная конференция IEEE по повторному использованию и интеграции информации. IEEE. Дои:10.1109 / IRI.2007.4296601.
- ^ а б Ян Аврум Голдберг; Беркант Устаоглу; Мэтью Д. Ван Ганди; Хао Чен (2009). Многосторонний обмен сообщениями не для записи (PDF). Материалы 16-й конференции ACM по компьютерной и коммуникационной безопасности. Ассоциация вычислительной техники. С. 358–368. Дои:10.1145/1653662.1653705. HDL:11147/4772. ISBN 9781605588940. S2CID 6143588.
- ^ Ник Унгер; Сергей Дечан; Жозеф Бонно; Саша Фаль; Хеннинг Перл; Ян Аврум Голдберг; Мэтью Смит (2015). «SoK: безопасный обмен сообщениями» (PDF). Материалы симпозиума IEEE по безопасности и конфиденциальности 2015 г.. Технический комитет IEEE Computer Society по безопасности и конфиденциальности: 232–249.
- ^ Штрауб, Андреас (25 октября 2015 г.). «Шифрование OMEMO». Веб-сайт Фонда стандартов XMPP. Архивировано из оригинал 29 января 2016 г.. Получено 16 января 2016.
- ^ Гульч, Даниэль (2 сентября 2015 г.). «Передача зашифрованного джинглового файла OMEMO». Веб-сайт Фонда стандартов XMPP. Получено 16 января 2016.
- ^ София Чели, Ола Бини (21 июля 2018 г.). Нет доказательств связи: протокол Off-the-Record версии 4 (PDF). Получено 29 ноябрь 2018.
- ^ Ян Голдберг (27 мая 2009 г.). "многосторонняя связь OTR? (и другие детали OTR)". Список рассылки OTR-пользователей.
- ^ Надим Кобейси (1 февраля 2014 г.). «План проекта mpOTR». Вики по Cryptocat на GitHub.
- ^ Ян Голдберг (4 сентября 2012 г.). "Выпущены pidgin-otr и libotr 4.0.0!". Список рассылки OTR-announce.
- ^ "Сообщения не для записи".
- ^ «BitlBee Wiki». Wiki.bitlbee.org. 25 января 2014 г.. Получено 15 мая 2014.
- ^ «Примечания к выпуску Kadu 1.0». Архивировано из оригинал 7 декабря 2016 г.. Получено 15 февраля 2015.
- ^ «копете-отр в KDE для 4.1». Архивировано из оригинал 28 марта 2008 г.
- ^ "запрос на рассмотрение копете-отр".
- ^ 0xd34df00d. «Плагин OTR». Github.com. Получено 6 сентября 2017.
- ^ "Краткое описание". Leechcraft.org. Получено 15 мая 2014.
- ^ "исходный код". MCabber.com. 25 октября 2013 г. Архивировано с оригинал 17 мая 2014 г.. Получено 15 мая 2014.
- ^ а б «Плагин OTR». Github.com. Получено 6 сентября 2017.
- ^ "Пси + снимки". Github.com. Получено 6 сентября 2017.
- ^ «Плагин Ткаббер ОТР». Архивировано из оригинал 11 марта 2014 г.
- ^ "плагин irssi-otr / xchat-otr". 4 февраля 2019.
- ^ "Плагин Miranda OTR".
- ^ "Плагин OTR для Pidgin".
- ^ «Плагин OTR для WeeChat». Январь 2019.
- ^ «ТингПинг / гексчат-отр». GitHub. Получено 14 марта 2017.
- ^ "Беседа не для записи - Talk Help".
- ^ «Google Talk - Политика конфиденциальности».
дальнейшее чтение
- Жозеф Бонно; Эндрю Моррисон (21 марта 2006 г.). «Анализ безопасности с конечным числом состояний версии 2 OTR» (PDF). Получено 5 сентября 2013. Цитировать журнал требует
| журнал =
(помощь) - Марио Ди Раймондо; Розарио Дженнаро и Хьюго Кравчик (2005). «Безопасный обмен сообщениями вне записи» (PDF). Материалы семинара ACM 2005 г. по конфиденциальности в электронном обществе. Ассоциация вычислительной техники. Получено 27 августа 2013. Цитировать журнал требует
| журнал =
(помощь)
внешняя ссылка
- Официальный веб-сайт
- Спецификация протокола
- Сообщения без записи: полезная безопасность и конфиденциальность для мгновенных сообщений, поговорим Ян Голдберг в университете Ватерлоо (видео)
- Учебное пособие по мгновенному обмену сообщениями «Off-the-Record» (шифрование, аутентификация, отрицание и т. Д.) на YouTube