Шифруем Асю

Все мы много общаемся по Интернету. Причем в последнее время все больше и больше набирает популярность пейджер ICQ (в простонародье — “аська”). Напомню вкратце, что ICQ позволяет общаться с помощью мгновенного обмена сообщениями, чата и сейчас уже даже голоса. Пейджер был изобретен израильской фирмой Mirabilis, купленной затем AOL (America OnLine). Для тех, у кого еще нет этой программы, рекомендую скачать ее с www.icq.com.
Многие люди используют ICQ для обмена какой-либо деловой или личной информацией. И очень будет неприятно, если какой-нибудь злоумышленник эту информацию выудит. Поэтому лучший выход — защищаться. Причем, используя самые современные средства, типа 464-битного открытого ключа.

20080701_tsm_logo.jpg

Немного теории
Вкратце изложу идеологию шифрования по открытому ключу. Создается два ключа — открытый (public) и закрытый (private). Первый можно раздавать кому попало, он служит только для шифрации сообщений. Второй же следует беречь как зеницу ока.
Предположим, вы общаетесь с Петей Мокиным. Вы отправляете ему свой открытый ключ, и теперь Петя может шифровать сообщения для вас. Вы получаете петины шифровки и декодируете их с помощью закрытого ключа. Следует особо отметить, что, одиножды зашифровав, Петя уже не сможет раскодировать письмо. А все потому, что открытый ключ может только шифровать и не может расшифровывать. Соответственно, обменявшись с Петей открытыми ключами, вы можете вести шифрованную переписку друг с другом. А если злоумышленник перехватит ваши открытые ключи, то ничего страшного не произойдет.
Собственно тому, как организовать такую переписку через “Аську” и посвящена данная статья.
Вам нужно будет скачать программу Top Secret Messenger по адресу www.encrsoft.com. Демо-версию вы можете получить бесплатно, за полную придется выложить $15. Впрочем, вы можете воспользоваться и другими путями.

Информация о программе Top Secret Messenger
Программа остается в памяти и позволяет динамически кодировать и декодировать сообщения. Рядом со значком ICQ появляется значок Top Secret Messenger в форме ключа. Шифрование осуществляется с помощью 464-битного ECC (Elliptic Curve Cryptography, эллиптическая криптография) ключа, что соответствует, по словам авторов, 3000-битному ключу RSA. Для раскодирования сообщения понадобится 2200 степени MIPS (миллионов операций в секунду). Средний процессор выполняет 500 миллионов операций в секунду, так что можно только посочувствовать злоумышленнику, пожелавшему взломать ваше сообщение.
Для защиты закрытого ключа на локальном компьютере, применяются алгоритмы шифрования SHA-1 hash и Triple DES symmetric.
Любопытствующим рекомендую посмотреть на следующий график, где производится сравнение криптостойкости ключей RSA и ECC.
Программа легко работает с ICQ версии 98, 99b, 2000a и 2000b. Она позволяет автоматически шифровать и дешифровать сообщения почти прозрачно для пользователя. Кроме того, программа позволяет хранить историю переписки (History) в открытом или в шифрованном виде и динамически ее расшифровывать.

20080701_hifr.jpg

Также 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”. (Либо выбрать соответствующую строку меню при щелчке правой клавишей мыши на значке программы).
После успешной установки 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), вы должны будете выбрать открытый ключ того человека, кому вы отправляете сообщение. Кстати, будьте внимательны и не укажите свой открытый ключ, а то в этом случае закодированное сообщение кроме вас никто не прочитает.
После нажатия соответствующей клавиши, текст сообщения превратится в абракадабру.
Остается только нажать клавишу “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” и сообщение будет дешифровано.
Можно также включить ведение архива в открытом виде. Для этого достаточно поставить галочку в меню настроек ICQ Plugin “Permanent Decrypt (Save to Disk) Message History”.


Рекомендуем почитать: