OTR Messaging: "Незаписываемая переписка"
Вам это понравится.
Никита Борисов и Иан Голдберг выпустили программу Off-the-Record Messaging[link1]. Это плагин для GAIM, обеспечивающий защищённую IM-переписку. Внимания заслуживает не столько этот факт, сколько особые свойства программы:
— шифрование сообщений
— аутентификация собеседников
— perfect forward secrecy
— возможность отречения (!)
PFS достигается благодаря эфемерным ключам, согласуемым по Диффи-Хеллману. Даже если текущий ключ будет скомпрометирован, секретность прежней и будущей переписки не пострадает.
Последнее свойство особенно интересно. Обычно аутентификация производится с помощью ЭЦП, но это жёстко привязывает человека к написанным словам: впоследствии он не сможет отказаться от сказанного, поскольку его сообщения заверены его закрытым ключом (этот ключ был известен ему одному).
С OTR ситуация иная. На нижнем уровне протокола с помощью закрытых ключей аутентифицируется MAC-код каждого из собеседников (MAC, или имитовставка, — это хэш-значение, зависимое от сообщения и симметричного ключа). Сами же передаваемые сообщения аутентифицируются с помощью этих MAC'ов (так каждый собеседник может быть уверен в аутентичности и целостности полученного сообщения). А раз оба собеседника знают MAC-коды друг друга, то даже если один из них решит опубликовать протокол переписки, он не сможет доказать, кто писал какие сообщения. Более того, после окончания сеанса переписки каждый из контрагентов может опубликовать MAC-коды в Сети, а раз они опубликованы, то данную беседу мог провести любой.
Вот такая хитрая штучка для тех, кто не хочет быть пойманным за язык. ;)
Версия плагина есть только под Debian или Fedora Core Linux.
Ссылки
[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
Уже вышли версии для Windows, в виде плагина для Gaim и виде локального прокси.
Кто-нибудь эту штуку использовал? Пробовал ли OTR[link2] прокси с Tor[link3] совмещать?
Любопытная штучка этот OTR Messaging. Надо заценить.
© http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html
Штука интересная, но больше похожа не детскую поделку.
Видать, не доходит до многих, что писать опознавающие сигнатуры есть зло. Каждый пакет, блин метят через "OTR".
Как понял, у них только 128-битный аес, а это это неучитывает атаки по отношению к КК (сделали хотя бы 256, что есть в стандартных библиотеках).
Ставить gaim только ради OTR... он же не консольный :((
В описании протокола много всякой требухи в стиле домножений, возведений в степень и т.д., а вдруг они не специалисты в крипто, тогда превратится в домашнюю поделку. /me не разбирается, но есть мнение что существующие стандартные библиотеки для ифрования позволяют забыть о подобных действиях... или они решили переписать?
P. S.: раньше видел этот сайт, но тогда идей не было зачем это нужно. А когда появились идеи, забыл что был такой сайт. Спасибо за ссылку.
Есть еще OTR proxy. Собрал я его для посмотреть. Но он тоже не консольный. И джаббер не поддерживает. Посему фтопку.
libotr и otrproxy линкуются со стандартной GNUшной библиотекой libgcrypt.
В развитие темы:
http://www.xmpp.org/extensions/xep-0116.html
Об этих расширениях писал[link4] два с лишним года назад.
Ну, блин, исходники же открытые!
Это пока!
"The current version is 0.3.1, which means it's still a long way from done."
Есть идея сделать открытый проект с реализацией симметричного шифрования против КК (то есть на предположении, что теряем всю веру в асимметрию) в нагрузку к идеологии с perfect forward secrecy (основанной на идее о том, что разделяемый секрет передаётся по третьему каналу). Технически – поднять проксю под локальным пользователем, которая бы пропускала через себя jabber-траффик, парсила XML и шифровала/расшифровывала симметричным алгоритмом. Есть человек, который, предположительно, напишет реализацию. Вопросов два:
зы: речь идёт исключительно о jabber.
Последний релиз otrproxy датируется 2005-11-03.
А не кажется ли Вам, что данная ситуация имеет тот же класс эквивалентности, что и использование асимметричного крипто без опубликования открытых ключей (обмен открытыми ключами происходит по третьему каналу)?
Еще задачка: а можно ли построить схему использования асимметрии для согласования симметричного сессионного ключа при наличии на канале пассивно слушающего оппонента, обладающего квантовым компьютером и соответствующими открытыми ключами?
Не специалист в криптографии, так что прошу сильно не пинать.
Зависит от соотношения времени на генерацию ключа и на его раскрытие. Если скажем новый ключ создается за минуту, а раскрывается за месяц, можно создать последовательность "вложенных" ключей (когда каждый следующий зашифрован предыдущим), время взлома которой превысит время жизни зашифрованной информации.
Если же время взлома сопоставимо с временем генерации – ассиметричная криптография приказывает долго жить. Во всяком случае сегодняшние алгоритмы.
Все остальные схемы (типа использования скрытых каналов для передачи дополнительной ключевой информации) в конце концов сводятся к личному обмену ключами.
ПэГусев
Участники высказались за то, что симметричное шифрование лучше асимметричного если принимать угрозу КК (более надёжно, более устойчиво к криптоанализу). Также произносились слова unknown'а о том, что в перспективе сделают асимметрию устойчивой к КК, но пока только идут разговоры и исследования, а принципиальных причин неосуществимости указанного нет. В силу того, что движителем "прогресса" является коммерция, где ценность информации исчезает по прошествии небольшого промежутка времени (со слов SATtva'ы), массовой заинтересованности в криптографии, устойчивой с учётом атак, применимых в будущем, не наблюдается. Грубо говоря, никого не напрягает тот факт, что через каких-то, может быть, 50 лет вся его переписка будет прочитана по первому требованию (открытый ключ, используемый в сообщении, известен, а найти его можно на сервере ключей. Время расшифрования с помощью КК займёт мало времени).
Это как раз речь о том, что уже написал. Разработки идут, ищут оптимальные алгоритмы, исследуют их, сделают когда-нибудь, но совсем не торопятся. Текущее большинство вполне устраивает тот факт, что
- Авторство каждого поста можно проверить независимо.
- Ваш собеседник в принципе может конструктивно доказать что именно вы писали ему то что вы писали, выдав ваши подписанные сообщения после их расшифрования своим ключом.
- По прошествии некоторого времени вся асимметрично зашифрованная информация будет легко расшифрована.
Итог: схема PGP-шифрования/подписи в её стандартном ракурсе вполне подходит для защиты коммерческих секретов, а вот личных... это бААльшой вопрос...Это если использовать исключительно асимметричное крипто, причем в том виде, в котором оно есть сейчас.
А если применить комбинацию приёмов?
Что приходит в голову:
1. Секретом может быть протокол согласования симм. ключей П = П(xij)
2. Секретом могут быть xij
3. Может быть замаскирован сам факт того, что происходит согласование ключей.
1) Это или сам протокол является частью заранее согласованного симметричного ключа или придумывается новый протокол.
2) Ну всё равно какие-то параметры, которыми стороны обмениваются по согласованию будут известны прослушивающей стороне.
3) Это стеганография. Только любая стеганография использует симметричный или крайне редко асимметричный же алгоритм для внедрения сообщения в стегоконтейнер (само сообщение чаще всего тоже зашифровано, но уже не стего-, а обычным крипто- ключем).
Надеюсь, ни в одном из пунктов не шла речь об элементарном утаивании деталей реализации (security trough obscurity)
Вообще, не стоит поднимать тему якобы преждевременной кончины ассиметричной квантовой криптографии по каждому поводу. Ещё обиднее будет если все не подумав перейдут на какой-нибудь новомодный квантовостойкий ассиметричный алгоритм типа NTRU[link5], а он окажется нестойким против неквантовых методов анализа.
Если очень будет надо, то доведут до ума McElice или всем криптосообществом разберутся со стойкостью NTRU. Просто прогресс обычно наступает тогда, когда необходимость в чём0-либо становится совсем уже явной.
Пока постквантовая криптография – это экзотика.
1. Как одна сторона сообщит об этих секретах другой? Ранее при личной встрече? Тогда не проще ли будет обменяться симметричными ключами.
Ну во-первых не стоит забывать, что квантовые вычисления пока примеными только к взлому RSA, для другой асимметрики квантовых алгоритмов просто не существует (как и не существует никаких доказательств возможности их создания).
Так что имхо сейчас оптимальным будет использование одновременно как можно большего количества разных асимметриков. Расчет тут делается на то, что хотя-бы один из вскрыть окажется невозможно.
[offtopic]
ПэГусев, я выслал Вам пару сообщений (как здесь через приватную связь, так и напрямую по почте). Вы их вообще получили? Или принципиально не отвечаете?
[/offtopic]
Разве они уже к чему-то применимы? По-моему, пока речь только о математическом моделировании квантовых вычислений, но ни о реальных вычислениях. Регистры из пары кубитов не в счёт.
SATtva, лучше на джаббер. Тот ящик для контактов не предназначен. Заглядываю я туда нечасто.
Updated:
Сообщение получил. В общем и целом не возражаю.
Я попытался оценить криптостойкость текущей реализации OTR в сравнении с end-to-end gpg для jabber в предположении что КК есть. Получилось, что обычный end-to-end gpg криптостойче, так как
- для используемых не RSA асимметричных алгоритмов не найдено квантовых алгоритмов взлома и не ясно будут ли они найдены.
- В случае OTR мы работаем с AES 128 => КК понижает криптостойкость до 64 бит => пароль 8 символов. Да и асимметричный ключ для согласования симметричного в протоколе OTR явно не 4096бит как это может быть выбрано в gpg (существенно меньшая длина). [Имхо, авторов OTR вообще не беспокоило что будет с информацией лет через 50, потмоу даже AES256 сделать поленились].
Я прав?обсуждалось здесь[link6]
Понял, прочитал. Но ответа не получил. Хорошо, пусть даже вся асимметрика ломается, но в предположении, что какую-то асимметрику будет сломать сложнее (понадобятся более мощные квантовые компы), какой подход всё же надёжнее? Otr или gpg?
Для 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
А они до сих пор принципиально не используют openssl для криптографии ?
Интересно, для gpg+jabber есть что-то подобное?
По-моему мнению, фишка PFS заключается в мнимой неопределенности криптоаналитика при отождествлении МАС-кода конкретному сообщению. Это модель многоверсионности для повышения скорее стеганографических свойств. На мой взгляд, она будет работать только при огромной избыточности сообщений. Пока, чесно говоря, с трудом понимаю где ее можно применить. Может быть в чатах между террористами.
Не понял, какая связь между PFS и MAC?
Вот если сделать замену s/PFS/OTR//g, то фраза обретает некоторый смысл.
Но всё равно IMHO неверный.
Цель OTR – дать возможность отречения от своей "подписи" после сеанса.
Это как если бы кто-то специально генерировал и выбрасывал после сеанса в общий доступ кучу закрытых ключей, подписанных своим основным ключем, а затем справедливо утверждал – что эти ключи общедоступны и кто-угодно мог подписать одним из них какой-угодно текст.
Нечто подобное и реализуется в OTR и один из вариантов этого и предлагался на основе одноразовых MAC. А PFS это другое.
Убийственный вопрос: есть ли решение OTR chat под айпады/айфоны? ) Вопрос, к сожалению не шуточный (
Не знаю, но уверен, что есть, хотя много ли смысла в использовании шифрования на девайсе, прямой удалённый доступ ко всей информации которого есть у Google/Apple? Для защита от третьих лиц только? А то, что Google/Apple всё смогут прочитать — пофигу? Ощущение безопасности и психологического комфорта от нажатия на волешебную кнопку OTR, и пофиг, что при этом происходит на самом деле[link7]?