Шифрование текстовых сообщений с помощью GPG (GnuPG)
Защита конфиденциальной информации периодически востребована всеми, кто пользуется электронной почтой и хранит документы на своем компьютере, т.е. практически каждый современный человек хоть раз, но сталкивался с проблемой защиты передавемых или хранимых данных.
Для защиты информации (с возможностью ее передачи по электронной почте или на физическом носителе) от чужих глаз используется несколько основных методик:
криптоконтейнеры
зашифрованные файлы
зашифрованные сообщения, передаваемые в открытом текстовом сообщении
Также используют скрытые контейнеры, но я не представляю себе, как передать по почте скрытый криптоконтейнер. И еще - никто не возбраняет использовать несколько методик одновременно, например, зашифровать текстовое сообщение, поместить его в текстовый файл, файл зашифровать, поместить в другой криптоконтейнер, который и передавать по электронной почте (вариант с хранением смерти Кощея Бессмертного).
Установка GPG
Скачиваем, устанавливаем. После установки при первом запуске программа предлагает сгенерировать ключ для подписывания/шифрования информации. Соглашаемся, вводим необходимую информацию, программа сгенерирует пару секретного/открытого ключей. Открытым ключом сообщения подписываются и/или шифруются (этот ключ можно отправить вашему другу, который будет посылать вам секретные письма!), а расшифровываются они только закрытым ключем, который есть только у вас. Все, установка закончена.
Шифрование текста
Запускаем "Пуск - Программы - GnuPG for Windows - WinPT" (Windows Privacy Tray).
Рядом с часами внизу экрана появиось изображение ключа с символом "@". Так, программа запущена.
Теперь откроем блокнот, напишите в нем что-либо и скопируйте в буфер обмена. Для примера, пусть это будет слово "test" (без кавычек). Теперь правой мышкой на значке WinPT - Clipboard - Encrypt. Появится окно, в котором вы должны выбрать, каким ключом будете шифровать секретный текст "test". Выбрали ключ, нажали "Ok". Все, программа зашифровала текст из буфера обмена с помощью вашего ключа и поместила результат шифрования в буфер обмена. Теперь вы можете вставить в блокноте содержимое буфера обмена. У меня это выглядит так:
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.7 (MingW32) - WinPT 1.2.0
hQIOA0TNrnUvaTuCEAgAt4cfi8jchGvDmid19zyw9QHqMCSdyo/Q+URp20MNwhCY
9C2zvdRFwPn1ut7hJ/b4nBiDbElTCkMy+dzzuQUM8/BO5Qe8rhdeHkOhzf3vwrjI
Ue9DG8tPz4t1rN4h8tT0x+M+k78E+kWGjsb7xP3GX+fiu8Whld1wnCN0WF+5eDkk
ZMEbHhxxQZYP2OxU5Dbk1GkhTJYOjOtX8My9d0y5JNPc1S91PGSASiXtixOdtdST
erYCitVOIZhIv9Za4ORtefmsImO7MyXhi9Kbjjo1cu/OnUvzlsRbg4Dx2ET/IV+b
5ZZNFSEIrIEqZ9u5wX/uBusU0uVP1I5Onb+Wwt9lawgAy+fTC59OfdtBCX/t2JmG
qdPkNx6cMzkdvZJk5NG9zjBb9R1aY/ZSkANcRdZeXSLNbQ8+sQarLiESKkMkxq7q
Udwmi4djf3aUd4uQPN1F9m0d61zK6sJqWKdpBeR5VMZLbBOf2N54g7BcyxHa1ToL
aM4f9iABj5Ccebl/v20PNOSLZF9iSBGBmQmyA1G5n/48tKkGw3zrHgMVR6FRe4dA
HfDOTkMXh299ZtE9bRV5GuEU/qZj3Jz20tzBT3Etpo6VUIcaRVXpSg5yNK4mYQib
6a6VWIeOpL/0rZY+o2G9gmS7/Vhqar+ReDl4vmqfPKBPB+bm6aclsrqvwm6VEzVu
i9I/Aeg8iNVmbGGuUob0mcoWFGxGIL9uSJdyQaHCjkBQZllS5NH4612As1dqLW5J
ppHf66ZZTrYGv4forsrXAwt5
=1MaX
-----END PGP MESSAGE-----
Весь этот текст (включая заголовки -----BEGIN PGP MESSAGE----- и -----END PGP MESSAGE-----), можно теперь спокойно переслать по элетронной почте в отрытом виде (более открытого вида и не придумать!) кому угодно. Без вашего секретного ключа и пароля этот текст расшифровать невозможно.
Расшифровка шифровки
Для расшифровки вашего зашифрованного сообщения необходим секретный ключ из пары открытого/секретного ключей, которым было зашифровано сообщение. Каждый из виртуальных собеседников создает свою пару открытого/секретного ключей и спокойно обменивается открытыми ключами друг с другом (хоть по обычной электронной почте). Если один захочет написать секретное сообщение другому, то просто зашифрует письмо не своим ключом, а открытым ключом получателя. Получатель же, когда получит письмо, сможет расшифровать его своим секретным ключом и паролем, который останется известным только ему.
Итак, при личной встрече мы лично передали секретный ключ и пароль нашему получателю. Ок, теперь, используя мастер импорта ключей, наш получатель сможет импортировать полученный ключ в его копию программы GnuPG и сможет расшифровать полученное от вас сообщение следующим образом (считаем, что ключ импортирован):
Копируем полученное зашифрованное сообщение в буфер обмена
Правой кнопкой на пиктограмме WinPT - Clipboard - Decrypt/Verify
Программа попросит ввести пароль ключа и расшифрованное сообщение поместит в буфер обмена
Напомню, что копировать шифрованный текст необходимо полностью, от -----BEGIN ... и до END PGP MESSAGE-----
Вот собственно, и все. К плюсам данного метода шифрования сообщений можно отнести то, что сообщения можно не только шифровать, но и подписывать, при этом, если разместите на вашем веб-сайте ваш публичный ключ (а не в коем случае не секретный), то любой сможет отправить вам подписанное и/или зашифрованное сообщение, прочитать которое сможете только вы (если секретный ключ есть только у вас).
В заключение могу сказать, что программа GPG позволяет не только шифровать текстовые сообщения, но позволяет также шифровать целые файлы, причем шифрование можно совершать не используя ваш ключ, а просто парольной фразой. Это может быть необходимо для передачи вашему будущему собеседнику вашего секретного ключа.
Для защиты информации (с возможностью ее передачи по электронной почте или на физическом носителе) от чужих глаз используется несколько основных методик:
криптоконтейнеры
зашифрованные файлы
зашифрованные сообщения, передаваемые в открытом текстовом сообщении
Также используют скрытые контейнеры, но я не представляю себе, как передать по почте скрытый криптоконтейнер. И еще - никто не возбраняет использовать несколько методик одновременно, например, зашифровать текстовое сообщение, поместить его в текстовый файл, файл зашифровать, поместить в другой криптоконтейнер, который и передавать по электронной почте (вариант с хранением смерти Кощея Бессмертного).
Установка GPG
Скачиваем, устанавливаем. После установки при первом запуске программа предлагает сгенерировать ключ для подписывания/шифрования информации. Соглашаемся, вводим необходимую информацию, программа сгенерирует пару секретного/открытого ключей. Открытым ключом сообщения подписываются и/или шифруются (этот ключ можно отправить вашему другу, который будет посылать вам секретные письма!), а расшифровываются они только закрытым ключем, который есть только у вас. Все, установка закончена.
Шифрование текста
Запускаем "Пуск - Программы - GnuPG for Windows - WinPT" (Windows Privacy Tray).
Рядом с часами внизу экрана появиось изображение ключа с символом "@". Так, программа запущена.
Теперь откроем блокнот, напишите в нем что-либо и скопируйте в буфер обмена. Для примера, пусть это будет слово "test" (без кавычек). Теперь правой мышкой на значке WinPT - Clipboard - Encrypt. Появится окно, в котором вы должны выбрать, каким ключом будете шифровать секретный текст "test". Выбрали ключ, нажали "Ok". Все, программа зашифровала текст из буфера обмена с помощью вашего ключа и поместила результат шифрования в буфер обмена. Теперь вы можете вставить в блокноте содержимое буфера обмена. У меня это выглядит так:
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.7 (MingW32) - WinPT 1.2.0
hQIOA0TNrnUvaTuCEAgAt4cfi8jchGvDmid19zyw9QHqMCSdyo/Q+URp20MNwhCY
9C2zvdRFwPn1ut7hJ/b4nBiDbElTCkMy+dzzuQUM8/BO5Qe8rhdeHkOhzf3vwrjI
Ue9DG8tPz4t1rN4h8tT0x+M+k78E+kWGjsb7xP3GX+fiu8Whld1wnCN0WF+5eDkk
ZMEbHhxxQZYP2OxU5Dbk1GkhTJYOjOtX8My9d0y5JNPc1S91PGSASiXtixOdtdST
erYCitVOIZhIv9Za4ORtefmsImO7MyXhi9Kbjjo1cu/OnUvzlsRbg4Dx2ET/IV+b
5ZZNFSEIrIEqZ9u5wX/uBusU0uVP1I5Onb+Wwt9lawgAy+fTC59OfdtBCX/t2JmG
qdPkNx6cMzkdvZJk5NG9zjBb9R1aY/ZSkANcRdZeXSLNbQ8+sQarLiESKkMkxq7q
Udwmi4djf3aUd4uQPN1F9m0d61zK6sJqWKdpBeR5VMZLbBOf2N54g7BcyxHa1ToL
aM4f9iABj5Ccebl/v20PNOSLZF9iSBGBmQmyA1G5n/48tKkGw3zrHgMVR6FRe4dA
HfDOTkMXh299ZtE9bRV5GuEU/qZj3Jz20tzBT3Etpo6VUIcaRVXpSg5yNK4mYQib
6a6VWIeOpL/0rZY+o2G9gmS7/Vhqar+ReDl4vmqfPKBPB+bm6aclsrqvwm6VEzVu
i9I/Aeg8iNVmbGGuUob0mcoWFGxGIL9uSJdyQaHCjkBQZllS5NH4612As1dqLW5J
ppHf66ZZTrYGv4forsrXAwt5
=1MaX
-----END PGP MESSAGE-----
Весь этот текст (включая заголовки -----BEGIN PGP MESSAGE----- и -----END PGP MESSAGE-----), можно теперь спокойно переслать по элетронной почте в отрытом виде (более открытого вида и не придумать!) кому угодно. Без вашего секретного ключа и пароля этот текст расшифровать невозможно.
Расшифровка шифровки
Для расшифровки вашего зашифрованного сообщения необходим секретный ключ из пары открытого/секретного ключей, которым было зашифровано сообщение. Каждый из виртуальных собеседников создает свою пару открытого/секретного ключей и спокойно обменивается открытыми ключами друг с другом (хоть по обычной электронной почте). Если один захочет написать секретное сообщение другому, то просто зашифрует письмо не своим ключом, а открытым ключом получателя. Получатель же, когда получит письмо, сможет расшифровать его своим секретным ключом и паролем, который останется известным только ему.
Итак, при личной встрече мы лично передали секретный ключ и пароль нашему получателю. Ок, теперь, используя мастер импорта ключей, наш получатель сможет импортировать полученный ключ в его копию программы GnuPG и сможет расшифровать полученное от вас сообщение следующим образом (считаем, что ключ импортирован):
Копируем полученное зашифрованное сообщение в буфер обмена
Правой кнопкой на пиктограмме WinPT - Clipboard - Decrypt/Verify
Программа попросит ввести пароль ключа и расшифрованное сообщение поместит в буфер обмена
Напомню, что копировать шифрованный текст необходимо полностью, от -----BEGIN ... и до END PGP MESSAGE-----
Вот собственно, и все. К плюсам данного метода шифрования сообщений можно отнести то, что сообщения можно не только шифровать, но и подписывать, при этом, если разместите на вашем веб-сайте ваш публичный ключ (а не в коем случае не секретный), то любой сможет отправить вам подписанное и/или зашифрованное сообщение, прочитать которое сможете только вы (если секретный ключ есть только у вас).
В заключение могу сказать, что программа GPG позволяет не только шифровать текстовые сообщения, но позволяет также шифровать целые файлы, причем шифрование можно совершать не используя ваш ключ, а просто парольной фразой. Это может быть необходимо для передачи вашему будущему собеседнику вашего секретного ключа.