Оригинал материала: https://3dnews.ru/169029

Шифруем ICQ


Введение

Все мы много общаемся по Интернету. Абсолютным стандартом онлайнового общения стал пейджер ICQ.

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

Вкратце изложу идеологию шифрования по открытому ключу. Создается два ключа - закрытый (private) и открытый (public). Открытый ключ можно раздавать кому попало, он служит только для шифрации сообщений. А вот закрытый ключ следует беречь как зеницу ока, или как кощей иголку. Предположим, вы общаетесь с Петей Мокиным. Вы отправляете ему свой открытый ключ, и теперь Петя может шифровать сообщения для вас. Вы получаете петины шифровки и декодируете их с помощью закрытого ключа. Следует особо отметить, что Петя уже не сможет раскодировать письмо, одиножды зашифровав. А все потому, что открытый ключ может только шифровать и не может расшифровывать. Соответственно, обменявшись с Петей открытыми ключами, вы можете вести шифрованную переписку друг с другом. А если злоумышленник перехватит ваши открытые ключи, то ничего страшного не произойдет. Вы ведь помните, что с их помощью можно только кодировать данные и невозможно декодировать.


 Логотип фирмы-производителя

Вам нужно будет скачать программу Top Secret Messenger по адресу www.encrsoft.com. Там свободно выдается демонстрационная версия. Нормальную версию можно купить всего за $15, вы получите файл с именем tsm2001.exe. Впрочем, можете воспользоваться и другими путями. Проверьте ссылки в конце статьи, может быть вы найдете там что-нибудь интересное...

Информация о программе Top Secret Messenger

Программа остается в памяти и позволяет динамически кодировать и декодировать сообщения. Рядом со значком ICQ появляется значок Top Secret Messenger в форме ключа. Шифрование осуществляется с помощью 464-битного ECC (Elliptic Curve Cryptography, эллиптическая криптография) ключа, что соответствует, по словам авторов, 3000-битному ключу RSA. Для раскодирования сообщения понадобится 2 в 200 степени MIPS (миллионов операций в секунду). Средний процессор выполняет 500 миллионов операций в секунду, так что можно только посочувствовать злоумышленнику, который не только поседеет за это время, но, может быть, и умрет от старости.

Любопытствующим рекомендую посмотреть на следующий график, где производится сравнение криптостойкости ключей RSA и ECC.


 График сравнения криптостойкости ключей

Для защиты закрытого ключа на локальном компьютере, применяются алгоритмы шифрования SHA-1 hash и Triple DES symmetric. Программа легко работает с ICQ версии 98, 99b, 2000a и 2000b. Она позволяет автоматически шифровать и дешифровать сообщения почти прозрачно для пользователя. Программа позволяет хранить историю переписки (History) в открытом или в шифрованном виде и динамически ее расшифровывать.

Также "Top Secret Messenger" позволяет шифровать и расшифровывать буфер обмена (Clipboard), что бывает полезно, например, при отсылке документов. Выделили документ, скопировали в буфер, зашифровали, вставили в тот же Word и отослали. При приеме документа достаточно выполнить обратную операцию.

На сайте предлагают испытательную версию, которая весьма ограничена в своей функциональности. Российские пользователи, поговловно не имеющие нормальных кредитных карт, прекрасно знают как поступать в подобных ситуациях.

Первый запуск Top Secret Messenger

Если программа была запущена первый раз, она предложит пользователю создать пару ключей: открытый и закрытый. По умолчанию, закрытый ключ сохраняется в виде файла secret.tsm. Доступ к этому файлу должен быть закрыт для всех кроме вас. Открытый ключ будет записан по умолчанию под именем public.tsm. На самом деле, в этом файле будет находиться не только ваш ключ, но и открытые ключи от других людей, с кем вы будете вести шифрованную переписку. Поэтому этот файл также не желательно передавать другим людям. А для передачи вы создадите отдельный открытый ключ с помощью функции Export, ниже мы подробнее рассмотрим функцию экспорта открытого ключа.

Если кроме непосредственного владельца компьютером пользуются и другие люди, для большей безопасности можно зашифровать закрытый ключ с помощью пароля. Но тогда пароль придется вводить при запуске Top Secret Messenger.

Вернемся к созданию ключей. Программа при запуске пытается найти файл со случайными данными randseed.bin. Если такого файла нет (а после установки его и не будет), программа предложит ввести случайные данные с помощью набора любых символов на клавиатуре или просто движений мыши.


 Генерация ключа

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

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


 Разрешить генерацию нового ключа?
Разрешить генерацию нового ключа?

При выборе ответа "Yes" будут созданы новые ключи, при выборе "No" программа попросить задать местоположение существующих ключей.

После создания ключей, Top Secret Messenger предложит вам ввести дополнительную информацию о себе, которая будет передаваться вместе с вашим открытым ключом.


 Окно для ввода дополнительной информации

В строке Name введите свое имя.

ICQ Number (UIN) - ваш номер ICQ.

Hotmail/MSN e-mail address - ваш адрес электронной почты

AIM Nickname - имя пользователя в AOL Instant Messenger (если вы будете использовать эту программу для него)

Yahoo Messenger Nickname - имя пользователя в пейджере Yahoo (если вы будете использовать программу для этого пейджера)

Other IDs - дополнительные ваши данные, если они необходимы.

Вся информация, введенная вами в этом поле, будет доступна всем, получившим ваш открытый ключ. Эта информация необходима, чтобы ваши респонденты идентифицировали ваш ключ. В строке Name можно вводить что угодно, лишь бы другим было понятно (например, ваше имя или псевдоним). А вот в ICQ number (UIN) следует вводить точный номер ICQ, иначе автоматическое шифрование/дешифрование работать не будет.

После ввода необходимых данных вы готовы к полноценной работе с программой.

Менеджер открытых ключей (Public Key Manager)

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

Для запуска менеджера следует выполнить двойной щелчок левой клавишей мыши на значке программы и выбрать строку "Public Key Manager". (Либо выбрать соответствующую строку меню при щелчке правой клавишей мыши на значке программы).


 Настройки TSM

После успешной установки Top Secret Messenger и генерации ключей, вам нужно произвести экспорт своего открытого ключа для передачи его собеседникам. На иллюстрации он красный и находится первым в списке. Для экспорта достаточно нажать клавишу "Export", проверить свои личные данные и по нажатию клавиши "Save" записать открытый ключ в любое место под произвольным именем. Можно его поместить и на свою web-страницу. Короче говоря - ключ должен быть разослан всем своим собеседникам.

Чужие открытые ключи вносятся в программу с помощью клавиши "Import".

Пользователь вправе производить и экспорт чужих открытых ключей для передачи другим людям.

Работа Top Secret Messenger с ICQ

Программа позволяет работать с ICQ двумя способами:

  1. Шифрация вручную;
  2. Автоматическая шифрация.

Второй способ доступен только в зарегистрированной версии. Если у вас новая версия ICQ, то сначала ее придется переключить в режим отдельных сообщений (Single Message Mode) с помощью клавиши "Msg Mode" в окне отправки сообщения.


 Режимы собщений

При правильной установке, в окне сообщения появится клавиша "Encrypt" при отправке сообщения и "Decrypt" при приеме, как показано на иллюстрации ниже.


 При правильной установке, в окне сообщения у вас появится клавиша 'Encrypt' при отправке сообщения и 'Decrypt' при приеме

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

После нажатия соответствующей клавиши, текст сообщения превратится в абракадабру.


Остается только нажать клавишу "Send" и отправить шифровку.

Если же к вам приходит шифрованное сообщение, то вместо нормального текста вы опять же будете лицезреть абракадабру.


 опять абракадабра

Нужно нажать клавишу "Decrypt" и при успешной дешифрации сообщение примет осмысленный вид.


 декриптованная абракадабра

Весь процесс намного облегчается при включении автоматической шифрации. Здесь уже не понадобится нажимать клавиши Encrypt/Decrypt, программа все сделает самостоятельно. Но проверьте, чтобы у всех людей в свойствах открытого ключа стоял их реальный номер ICQ (клавиша "View/Change Info" в Public Key Manager). При автоматической шифрации сообщение будет шифроваться и автоматически отправляться по нажатию клавиши "Send". Включить автоматическую шифрацию можно в меню настроек ICQ Plugin. Для этого поставьте галочки напротив пунктов "Auto-Encrypt Outgoing Messages" и "Auto-Encrypt Incoming Messages".


 Режим автоматической шифрации

Дешифрация старых сообщений (Message History)

По умолчанию, все шифрованные сообщения сохраняются в архиве (History) в точно таком же, шифрованном, виде. При просмотре архива достаточно нажать клавишу "Decrypt" и сообщение будет дешифровано.

 Архив - History

Можно также включить ведение архива в открытом виде. Для этого достаточно поставить галочку в меню настроек ICQ Plugin "Permanent Decrypt (Save to Disk) Message History".

Часто спрашиваемые вопросы

Вопрос. Могу ли я посылать и принимать сообщения между зарегистрированной версией Top Secret Messenger и незарегистрированной?
Ответ. Да, конечно. Только криптостойкость сообщений будет очень низка. 464-битный ключ будет работать только в зарегистрированной версии.

Вопрос. Клавиши Encrypt/Decrypt не появляются при отправке и приеме сообщений. Что можно сделать?
Ответ. Во-первых, убедитесь что ICQ 2000 запускается при выключенном режиме "Split Message Mode Window". Вам необходимо установить режим "Single Message Mode Window". Как это сделать, рассказано выше. Если клавиши все же не появляются, минимизируйте окно отправки сообщения, а потом восстановите его обратно. Или просто нажмите на то место, где должна появиться клавиша Encrypt/Decrypt.

Вопрос. Совместим ли Top Secret Messenger с PGP?
Ответ. Нет. PGP использует алгоритм RSA или Diffie-Hellman (DH), в то время как Top Secret Messenger использует Elliptic Curve Cryptography (ECC). Оба этих алгоритма годами тщательно тестируются и считаются достаточно криптостойкими, однако ECC лучше подходит для шифровки небольших сообщений, так как алгоритм оперирует ключом небольшого размера что ускоряет скорость шифрования.

Вопрос. Шифрует ли программа передаваемые через ICQ файлы?
Ответ. Нет.

Ссылки.

  • Демо версия Top Secret Messenger.
  • ICQ.
  • Русскоязычный любительский сайт, посвященный программе находится здесь.



Оригинал материала: https://3dnews.ru/169029