OTR модуль для Miranda

Возня с GPG/PGP приемлема только для тех людей, которые действительно озабочены своей приватностью. Но попробуйте объяснить обычному юзеру смысл открытого и закрытого ключа, а также почему пароль к приватному ключу должен быть длинным и сложным, и отчего этот пароль нельзя записать на бумажке и прилепить к монитору, как сразу захочется более простого решения. Таким решением, правда только для сетей мгновенных сообщений (ICQ, Jabber и прочая), является OTR.
Я скачал 32-х битный модуль MirOTR для своей 32-х битной миранды и бросил его в папку Plugins. Попросил это же проделать  Михаила Булгакова, который, к счастью, также юзает миранду и тоже подкован в вопросах об открытых и закрытых ключах. Далее, в настройках модуля, нами обоими были сгенерированы приватные ключи для всех подключённых IM-протоколов. Осталось только нажать на контакте "Start OTR", что, один из нас, и проделал.
В результате мне было показано окно верификации собеседника, с надписью "Кто самый, самый, самый?" и полем для ввода ответа, который я не знал. Я поинтересовался об ответе у Михаила Викторовича, который любезно просветил меня в этом вопросе и теперь я тоже знаю, кто "самый, самый, самый". В следующем окне я ввёл свой вопрос — "Василий Пупкин", ответ на который раскрыл своему уважаемому собеседнику. После того, как Михаил Викторович ввёл ответ — "Математик", наши ключи стали считаться проверенными и более такого диалога верификации собеседника, в следующих сеансах связи, мы не видели. Обсудив с Михаилом Булгаковым этот диалог, мы решили, что в исключительных случаях, когда требуется надёжно знать, кто является твоим собеседником, было бы надёжней и правильней ответы на контрольные вопросы узнавать по другому каналу связи, например, по телефону.

14.02.2012 14:35:58 en: OTR: ПривеТ!
14.02.2012 14:38:30 mb: OTR: привет!
14.02.2012 14:39:46 en: OTR: То есть диалог верификации был только один раз. Видимо, пока вручную не укажешь в списке ключей, что ключ абонента "не верифицирован" — диалог не появится.

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

P.S. Проверить снифером, чего там на самом деле происходит с шифрованием сообщений, руки не дошли.

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

Комментарии

Написал Александр:

С интересом прочитал Вашу статью:
попробовал - в онлайн вроде все ок
А этот OTR-модуль может помочь обмениваться шифрованными сообщениями когда один из абонентов отключен от сети (т.е. в оффлайн) ?
Если может то как это сделать грамотно?
Т.е. хотелось, чтобы когда отключенный абонент подключится к сети, он получил сообщения посланные ему когда& он был оффлайн и чтобы они расшифровалось...

Я ответил:

Думаю, что теоретически можно, если попросить об этом разработчиков плагина, но тогда это будет ослабленный GPG/PGP. И все плюсы OTR превратятся в минусы.

Каждый OTR-сеанс шифруется с помощью новых public-ключей, которыми обязаны обменяться собеседники. Если одна из сторон в офлайне, то и обмен ключами не произойдёт.
Плюс этого метода в том, что не надо запоминать пароли к закрытым ключам. Также при компрометации ключей будет расшифрована переписка, произошедшая только в одном сеансе (в опциях можно поставить галку, чтобы сеанс прерывался при закрытии окна сообщения и тогда смена ключей будет происходить чаще). Ещё один плюс, что нельзя доказать, что именно конкретные люди пользовались именно этими ключами.
Для Вашего случая подойдёт GPG/PGP. Более серьёзная штука, чем OTR, но и возни больше. Не с самим механизмом, а с людьми. Заставить придумать сложный пароль к приватному ключу и запомнить его, а не записывать на листочке на мониторе. Объяснить разницу между приватным и публичным ключём. Хранить приватный ключ в надёжном месте. И т.д.