OTR Messaging: "Незаписываемая переписка"


Вам это понравится.

Никита Борисов и Иан Голдберг выпустили программу Off-the-Record Messaging[link1]. Это плагин для GAIM, обеспечивающий защищённую IM-переписку. Внимания заслуживает не столько этот факт, сколько особые свойства программы:
— шифрование сообщений
— аутентификация собеседников
— perfect forward secrecy
— возможность отречения (!)

PFS достигается благодаря эфемерным ключам, согласуемым по Диффи-Хеллману. Даже если текущий ключ будет скомпрометирован, секретность прежней и будущей переписки не пострадает.

Последнее свойство особенно интересно. Обычно аутентификация производится с помощью ЭЦП, но это жёстко привязывает человека к написанным словам: впоследствии он не сможет отказаться от сказанного, поскольку его сообщения заверены его закрытым ключом (этот ключ был известен ему одному).

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

Вот такая хитрая штучка для тех, кто не хочет быть пойманным за язык. ;)

Версия плагина есть только под Debian или Fedora Core Linux.


Комментарии
— Lustermaf (26/02/2006 01:47)   
Уже вышли версии для Windows, в виде плагина для Gaim и виде локального прокси.

Кто-нибудь эту штуку использовал? Пробовал ли OTR[link2] прокси с Tor[link3] совмещать?
— ПэГусев (19/08/2007 22:51)   
Любопытная штучка этот OTR Messaging. Надо заценить.
— spinore (20/08/2007 01:54, исправлен 20/08/2007 03:33)   

© http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html
Штука интересная, но больше похожа не детскую поделку.
Видать, не доходит до многих, что писать опознавающие сигнатуры есть зло. Каждый пакет, блин метят через "OTR".

Как понял, у них только 128-битный аес, а это это неучитывает атаки по отношению к КК (сделали хотя бы 256, что есть в стандартных библиотеках).

Ставить gaim только ради OTR... он же не консольный :((

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

P. S.: раньше видел этот сайт, но тогда идей не было зачем это нужно. А когда появились идеи, забыл что был такой сайт. Спасибо за ссылку.
— ПэГусев (20/08/2007 09:49)   
Ставить gaim только ради OTR... он же не консольный :((

Есть еще OTR proxy. Собрал я его для посмотреть. Но он тоже не консольный. И джаббер не поддерживает. Посему фтопку.
— ПэГусев (20/08/2007 10:01)   
есть мнение что существующие стандартные библиотеки для ифрования позволяют забыть о подобных действиях... или они решили переписать?

libotr и otrproxy линкуются со стандартной GNUшной библиотекой libgcrypt.
Гость (26/08/2007 15:11)   
В развитие темы:
http://www.xmpp.org/extensions/xep-0116.html
— SATtva (26/08/2007 19:08, исправлен 31/08/2007 22:18)   
Об этих расширениях писал[link4] два с лишним года назад.
Гость (26/08/2007 21:49)   
Каждый пакет, блин метят через "OTR".

Ну, блин, исходники же открытые!
OTR proxy ... джаббер не поддерживает.

Это пока!
"The current version is 0.3.1, which means it's still a long way from done."
Гость (26/08/2007 22:05)   
Есть идея сделать открытый проект с реализацией симметричного шифрования против КК (то есть на предположении, что теряем всю веру в асимметрию) в нагрузку к идеологии с perfect forward secrecy (основанной на идее о том, что разделяемый секрет передаётся по третьему каналу). Технически – поднять проксю под локальным пользователем, которая бы пропускала через себя jabber-траффик, парсила XML и шифровала/расшифровывала симметричным алгоритмом. Есть человек, который, предположительно, напишет реализацию. Вопросов два:
  • Если уже существует что-то подобное, ткните в ссылку.
  • Были потуги сделать отрицаемость применяемого метода шифрования (подделаться под OpenPGP-jabber-сессию, но метода не нашли из-за того пародокса, что OpenPGP-шифрование требует подписи...) Сама идея родом из таких рассуждений: если будут ловить jabber-траффик в интернете, то чтобы не могли бы понять, кто действительно пользуется OpenPGP, а кто под него "подделывается", реально используя вышеописанную схему шифрования (например, если пользователь хочет быть анонимным, используемый тип джаббер-шифрования не должен сужать критерии его поиска во всём море джаббер-траффика). Сошлись к тому что это невозможно. У кого есть идея как можно подделаться под OpenPGP-jabber-траффик – отпишитесь.
Гость (26/08/2007 22:23)   
зы: речь идёт исключительно о jabber.
— ПэГусев (26/08/2007 23:01)   
Это пока!
"The current version is 0.3.1, which means it's still a long way from done."

Последний релиз otrproxy датируется 2005-11-03.
— ПэГусев (01/09/2007 00:07)   
Есть идея сделать открытый проект с реализацией симметричного шифрования против КК (то есть на предположении, что теряем всю веру в асимметрию)

А не кажется ли Вам, что данная ситуация имеет тот же класс эквивалентности, что и использование асимметричного крипто без опубликования открытых ключей (обмен открытыми ключами происходит по третьему каналу)?

Еще задачка: а можно ли построить схему использования асимметрии для согласования симметричного сессионного ключа при наличии на канале пассивно слушающего оппонента, обладающего квантовым компьютером и соответствующими открытыми ключами?

Не специалист в криптографии, так что прошу сильно не пинать.
— cooshoo (01/09/2007 09:55)   
можно ли построить схему использования асимметрии для согласования симметричного сессионного ключа при наличии на канале пассивно слушающего оппонента, обладающего квантовым компьютером и соответствующими открытыми ключами?
Зависит от соотношения времени на генерацию ключа и на его раскрытие. Если скажем новый ключ создается за минуту, а раскрывается за месяц, можно создать последовательность "вложенных" ключей (когда каждый следующий зашифрован предыдущим), время взлома которой превысит время жизни зашифрованной информации.
Если же время взлома сопоставимо с временем генерации – ассиметричная криптография приказывает долго жить. Во всяком случае сегодняшние алгоритмы.
Все остальные схемы (типа использования скрытых каналов для передачи дополнительной ключевой информации) в конце концов сводятся к личному обмену ключами.
Гость (01/09/2007 12:00)   
ПэГусев
А не кажется ли Вам, что данная ситуация имеет тот же класс эквивалентности, что и использование асимметричного крипто без опубликования открытых ключей (обмен открытыми ключами происходит по третьему каналу)?

Участники высказались за то, что симметричное шифрование лучше асимметричного если принимать угрозу КК (более надёжно, более устойчиво к криптоанализу). Также произносились слова unknown'а о том, что в перспективе сделают асимметрию устойчивой к КК, но пока только идут разговоры и исследования, а принципиальных причин неосуществимости указанного нет. В силу того, что движителем "прогресса" является коммерция, где ценность информации исчезает по прошествии небольшого промежутка времени (со слов SATtva'ы), массовой заинтересованности в криптографии, устойчивой с учётом атак, применимых в будущем, не наблюдается. Грубо говоря, никого не напрягает тот факт, что через каких-то, может быть, 50 лет вся его переписка будет прочитана по первому требованию (открытый ключ, используемый в сообщении, известен, а найти его можно на сервере ключей. Время расшифрования с помощью КК займёт мало времени).

Еще задачка: а можно ли построить схему использования асимметрии для согласования симметричного сессионного ключа при наличии на канале пассивно слушающего оппонента, обладающего квантовым компьютером и соответствующими открытыми ключами?

Это как раз речь о том, что уже написал. Разработки идут, ищут оптимальные алгоритмы, исследуют их, сделают когда-нибудь, но совсем не торопятся. Текущее большинство вполне устраивает тот факт, что
  • Авторство каждого поста можно проверить независимо.
  • Ваш собеседник в принципе может конструктивно доказать что именно вы писали ему то что вы писали, выдав ваши подписанные сообщения после их расшифрования своим ключом.
  • По прошествии некоторого времени вся асимметрично зашифрованная информация будет легко расшифрована.
Итог: схема PGP-шифрования/подписи в её стандартном ракурсе вполне подходит для защиты коммерческих секретов, а вот личных... это бААльшой вопрос...
— ПэГусев (01/09/2007 16:29)   
Если же время взлома сопоставимо с временем генерации – ассиметричная криптография приказывает долго жить.

Это если использовать исключительно асимметричное крипто, причем в том виде, в котором оно есть сейчас.
А если применить комбинацию приёмов?
Что приходит в голову:
1. Секретом может быть протокол согласования симм. ключей П = П(xij)
2. Секретом могут быть xij
3. Может быть замаскирован сам факт того, что происходит согласование ключей.
— unknown (01/09/2007 21:08)   
1) Это или сам протокол является частью заранее согласованного симметричного ключа или придумывается новый протокол.

2) Ну всё равно какие-то параметры, которыми стороны обмениваются по согласованию будут известны прослушивающей стороне.

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

Надеюсь, ни в одном из пунктов не шла речь об элементарном утаивании деталей реализации (security trough obscurity)

Вообще, не стоит поднимать тему якобы преждевременной кончины ассиметричной квантовой криптографии по каждому поводу. Ещё обиднее будет если все не подумав перейдут на какой-нибудь новомодный квантовостойкий ассиметричный алгоритм типа NTRU[link5], а он окажется нестойким против неквантовых методов анализа.

Если очень будет надо, то доведут до ума McElice или всем криптосообществом разберутся со стойкостью NTRU. Просто прогресс обычно наступает тогда, когда необходимость в чём0-либо становится совсем уже явной.

Пока постквантовая криптография – это экзотика.
— cooshoo (01/09/2007 21:50)   
1.
Секретом может быть протокол согласования симм. ключей П = П(xij)
2. Секретом могут быть xij
3. Может быть замаскирован сам факт того, что происходит согласование ключей.
Как одна сторона сообщит об этих секретах другой? Ранее при личной встрече? Тогда не проще ли будет обменяться симметричными ключами.
Гость (01/09/2007 23:30)   
Ну во-первых не стоит забывать, что квантовые вычисления пока примеными только к взлому RSA, для другой асимметрики квантовых алгоритмов просто не существует (как и не существует никаких доказательств возможности их создания).
Так что имхо сейчас оптимальным будет использование одновременно как можно большего количества разных асимметриков. Расчет тут делается на то, что хотя-бы один из вскрыть окажется невозможно.
— SATtva (02/09/2007 18:56)   
[offtopic]
ПэГусев, я выслал Вам пару сообщений (как здесь через приватную связь, так и напрямую по почте). Вы их вообще получили? Или принципиально не отвечаете?
[/offtopic]

не стоит забывать, что квантовые вычисления пока примеными только к взлому RSA

Разве они уже к чему-то применимы? По-моему, пока речь только о математическом моделировании квантовых вычислений, но ни о реальных вычислениях. Регистры из пары кубитов не в счёт.
— ПэГусев (02/09/2007 20:53, исправлен 02/09/2007 20:59)   
SATtva, лучше на джаббер. Тот ящик для контактов не предназначен. Заглядываю я туда нечасто.
Updated:
Сообщение получил. В общем и целом не возражаю.
Гость (17/02/2008 17:21)   
Я попытался оценить криптостойкость текущей реализации OTR в сравнении с end-to-end gpg для jabber в предположении что КК есть. Получилось, что обычный end-to-end gpg криптостойче, так как
  • для используемых не RSA асимметричных алгоритмов не найдено квантовых алгоритмов взлома и не ясно будут ли они найдены.
  • В случае OTR мы работаем с AES 128 => КК понижает криптостойкость до 64 бит => пароль 8 символов. Да и асимметричный ключ для согласования симметричного в протоколе OTR явно не 4096бит как это может быть выбрано в gpg (существенно меньшая длина). [Имхо, авторов OTR вообще не беспокоило что будет с информацией лет через 50, потмоу даже AES256 сделать поленились].
Я прав?
— unknown (17/02/2008 18:58)   
обсуждалось здесь[link6]
Гость (18/02/2008 12:50)   
обсуждалось здесь

Понял, прочитал. Но ответа не получил. Хорошо, пусть даже вся асимметрика ломается, но в предположении, что какую-то асимметрику будет сломать сложнее (понадобятся более мощные квантовые компы), какой подход всё же надёжнее? Otr или gpg?
— ParanoidAnt (07/04/2008 14:29)   
Для EJabberd есть забавный модуль

http://www.ejabberd.im/mod_otr — This module does the Man in the Middle of the Off-The-Record protocol and messages can be logged
— ParanoidAnt (07/04/2008 14:34)   
А они до сих пор принципиально не используют openssl для криптографии ?
Гость (07/04/2008 19:00)   
Для EJabberd есть забавный модуль

Интересно, для gpg+jabber есть что-то подобное?
— Vilnus (22/05/2008 16:37)   
По-моему мнению, фишка PFS заключается в мнимой неопределенности криптоаналитика при отождествлении МАС-кода конкретному сообщению. Это модель многоверсионности для повышения скорее стеганографических свойств. На мой взгляд, она будет работать только при огромной избыточности сообщений. Пока, чесно говоря, с трудом понимаю где ее можно применить. Может быть в чатах между террористами.
— SATtva (22/05/2008 16:43)   
Не понял, какая связь между PFS и MAC?
— unknown (22/05/2008 17:41, исправлен 22/05/2008 17:42)   
фишка PFS заключается в мнимой неопределенности криптоаналитика при отождествлении МАС-кода конкретному сообщению.

Вот если сделать замену s/PFS/OTR//g, то фраза обретает некоторый смысл.
Но всё равно IMHO неверный.

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

Нечто подобное и реализуется в OTR и один из вариантов этого и предлагался на основе одноразовых MAC. А PFS это другое.
Гость (25/06/2013 09:34)   
Убийственный вопрос: есть ли решение OTR chat под айпады/айфоны? ) Вопрос, к сожалению не шуточный (
Гость (25/06/2013 19:21)   
есть ли решение OTR chat под айпады/айфоны?

Не знаю, но уверен, что есть, хотя много ли смысла в использовании шифрования на девайсе, прямой удалённый доступ ко всей информации которого есть у Google/Apple? Для защита от третьих лиц только? А то, что Google/Apple всё смогут прочитать — пофигу? Ощущение безопасности и психологического комфорта от нажатия на волешебную кнопку OTR, и пофиг, что при этом происходит на самом деле[link7]?

Ссылки
[link1] http://www.cypherpunks.ca/otr/

[link2] http://www.cypherpunks.ca/otr/#downloads

[link3] http://tor.ef.org/

[link4] https://www.pgpru.com/novosti/2005/0802novyechernovyespecifikaciibezopasnostivimprotokolejabber

[link5] http://www.ntru.com/cryptolab/faqs.htm

[link6] https://www.pgpru.com/novosti/2005/0817pqcrypto2006ipostkvantovajakriptografija

[link7] https://www.pgpru.com/comment66755