Как зашифровать сообщение. PGP на страже электронной корреспонденции

Когда-то мы со старшей Настей запоем играли в сыщиков и детективов, придумывали свои шифры, методы расследования. Потом это увлечение прошло и вот вернулось снова. У Насти появился жених Димка, который с упоением играет в разведчиков. Его увлечение разделила и моя дочь. Как известно, для того, чтобы передавать друг другу важные сведения, разведчикам нужен шифр. С помощью этих игр вы тоже узнаете, как зашифровать слово или даже целый текст!

Белые пятна

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

Например, вот во что превращается простое и понятное предложение "Встречаемся на берегу озера" - "В стре чаем с Янабер егуоз ера" .

Даже внимательный человек не сразу заметит подвох. Но опытный разведчик Димка говорит, что это самый простой вид шифровки.

Без гласных

Либо можно воспользоваться таким методом – писать текст без гласных букв.

Для примера привожу такое предложение: "Записка лежит в дупле дуба, который стоит на опушке леса" . Шифрованный текст выглядит так: "Зпска лжт в дпл дб, ктр стт н пшке лс" .

Тут потребуется и смекалка, и усидчивость, и, возможно, помощь взрослых (которым тоже иногда не вредно потренировать память и вспомнить детство).

Читай наоборот

Эта шифровка объединяет в себе сразу два метода. Текст нужно читать справа налево (то есть наоборот), причем пробелы между словами могут быть расставлены наобум.

Вот, прочтите и расшифруйте: "Нелета минвь дуб, маноро тсоп иртомс" .

Второй за первого

Либо каждую букву алфавита можно обозначить следующей за ней буквой. То есть вместо "а" мы пишем "б", вместо "б" напишем "в", вместо "в" - "г" и так далее.

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

Разгадайте, что за фразу мы для вас зашифровали: "Тьъйлб г тжсйбмж фиобуэ мждлп – по ожлпдеб ож тойнбжу щмарф" .

Заместители

По такому же принципу, как и предыдущий шифр, используется метод "Замена". Я читала, что его использовали для шифровки священных иудейских текстов.

Вместо первой буквы алфавита мы пишем последнюю, вместо второй – предпоследнюю и так далее. То есть вместо А – Я, вместо Б – Ю, вместо В – Э…

Чтобы было легче расшифровать текст, нужно иметь под рукой алфавит и листочек с ручкой. Смотришь соответствие буквы и записываешь. Прикинуть на глазок и расшифровать ребенку будет трудно.

Таблицы

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

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

Давайте вместе зашифруем фразу с помощью таблицы: Ночью идем ловить карасей.

Пробел будем обозначать буквой "р", слова пишем сверху вниз. Таблица 3 на 3 (рисуем в клеточках обычного тетрадного листа).

Вот что у нас получается:
Н Ь И М О Т К А Й
О Ю Д Р В Ь А С Р
Ч Р Е Л И Р Р Е.

Решетка

Для того, чтобы прочесть текст, зашифрованный таким образом, вам и вашему другу понадобится одинаковые трафареты: листы бумаги с вырезанными на них в произвольном порядке квадратиками.

Шифровку нужно писать на листке точно такого же формата, как и трафарет. Буквы пишутся в клеточки-дырки (причем тоже можно писать, например, справа-налево или сверху-вниз), остальные клеточки заполняются любыми другими буквами.

Ключ в книге

Если в прошлом шифре мы готовили два трафарета, то теперь нам понадобятся одинаковые книги. Помню еще во времена моего детства мальчишки в школе использовали для этих целей роман Дюма "Три мушкетера".

Записки выглядели примерно так:
"324 с, 4 а, в, 7 сл.
150 с, 1 а, н, 11 сл…."

Первая цифра обозначала номер страницы,
вторая – номер абзаца,
третья буква – как надо считать абзацы сверху (в) или снизу (н),
четвертая буква – слово.

В моем примере нужные слова нужно искать:
Первое слово: на странице 324, в 4 абзаце сверху, седьмое слово.
Второе слово: на странице 150, в 1 абзаце снизу, одиннадцатое слово.

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

Честный ответ на этот вопрос будет звучать так: «Да. Но нет». Когда вы посещаете большинство сайтов, в адресной строке отображается протокол HTTP. Это – небезопасное соединение. Если зайдете в аккаунт одной из крупных почтовых служб, вы увидите уже HTTPS. Это говорит об использовании протоколов шифрования SSL и TLS, которые обеспечивают безопасное «путешествие» письма из окна браузера до почтового сервера. Вместе с тем это ничего не даёт в связи с новым СОРМ , который вступает в действие с 1 июля 2014 года. Тем более абсолютно ничто не защищает вашу переписку от недобросовестного сотрудника фирмы почтового сервиса, атак хакеров, незакрытой сессии на чужом компьютере, незащищенной точки Wi-Fi, а также любого требования спецслужб – уже сейчас - и даже самой службы почтового сервиса, в соответствии с их собственной политикой конфиденциальности.


Все письма, приходящие, уходящие или хранящиеся на сервере почтовой службы находятся в полнейшем распоряжении компании, которой он (сервер) принадлежит. Обеспечивая безопасность при самой пересылке, компания может делать с сообщениями все, что ей вздумается, так как, по сути, получает письма в своё распоряжение. Поэтому надеяться можно лишь на порядочность её (компании) руководства и служащих, а также на то, что вы вряд ли кого-то серьезно заинтересуете.

При использовании корпоративной почты переписка защищается силами IT-службы, которые могут установить очень строгий Firewall. И, тем не менее, это тоже не спасёт, если недобросовестный сотрудник «сольёт» информацию. Речь идет не обязательно о системном администраторе – злоумышленнику достаточно оказаться «внутри» корпоративной сети: если он настроен серьезно, остальное – дело техники.
Зашифруемся
Несколько повысить уровень защиты вашей почты «от дурака» может шифрование текста письма и вложения (их также можно поместить в архив с паролем, например, если сам текст не содержит конфиденциальных данных, а архив - содержит). В этом случае можно использовать специальное программное обеспечение.

Само тело письма можно шифровать сторонней криптографической программой, об этом уже писалось ранее , позволю себе повторить немного на свой лад. Наиболее популярный сервис, для которого специально создана программа шифрования – Gmail. Расширение SecureGmail устанавливается в Google Chrome, который это шифрование поддерживает, после чего всё совсем просто – для шифруемого сообщения вводится пароль и вопрос-подсказка для его восстановления. Единственный недостаток – ограничение использования только для GoogleChrome.

Есть шифратор, который подходит для практически любой онлайн-почты, например для mail.ru, yandex.ru, Gmail.com – для всех почтовых сервисов, которые вы можете открыть в окне браузера Mozilla. Это расширение Encrypted Communication. Принцип работы такой же, как у SecureGmail: написав сообщение, выделите его мышью, после чего нажмите правую кнопку и выберите «зашифровать при помощи Encrypted Communication». Далее введите и подтвердите пароль, известный вам и получателю. Естественно, оба этих клиента должны быть установлены и у получателя, и у отправителя и оба этих человека должны знать пароль. (Стоит отметить, что было бы опрометчиво отправлять пароль той же почтой.)

Кроме плагинов для браузера, в котором вы открываете почту, существует приложение для десктопных клиентов, которое также может использоваться и с онлайновыми почтовыми сервисами - PGP (Pretty Good Privacy). Метод хорош, так как использует два ключа шифрования – открытый и закрытый. А также можно использовать целый ряд программ как для шифрования данных, так и для шифрования текста письма: DriveCrypt, Gpg4win, Gpg4usb, Comodo SecureEmail и другие.

Как ни печально, продвинутая техника шифрования, как бы легка в использовании и красива она ни была, не спасёт, если, например, в вашем компьютере поселят backdoor, который делает снимки экрана и отправляет их в сеть. Поэтому лучший способ шифрования – не писать писем. Девиз «Надо чаще встречаться» приобретает в этом контексте новое звучание.
Минимизируем риски
Как уже было отмечено выше, идеальный способ шифрования – не писать писем. Чаще всего, не следует пользоваться бесплатными почтовыми сервисами для ведения переписки по работе, особенно если вы подписывали соглашение о неразглашении. Дело в том, что если ваши сообщения перехватят с корпоративной почты – разбираться с брешью в защите будут с IT-отделом компании. В противном случае вы несёте личную ответственность. Помните: при использовании «внешней» почты переписка обязательно попадет третьим лицам, как минимум, сотрудникам компании, предоставляющей услуги почтового сервиса. А они с вашим работодателем соглашения о неразглашении не подписывали.
Если вы важное лицо в компании, не пересылайте ключевые документы по открытым каналам, либо не используйте для их передачи электронную почту вообще, а для работы пользуйтесь корпоративной почтой и не высылайте важные письма на адреса бесплатных почтовых сервисов.

Во всех остальных случаях, например, при заключении договоров, полезно использовать почту, так как электронное сообщение содержит факты ваших договорённостей по работе и может вам в дальнейшем помочь. Помните, что большинство «сливов» информации происходят по вине отнюдь не хакеров, а «человеческого фактора». Вам вполне может быть достаточно использовать сложные пароли, регулярно их менять и не допускать их утраты. Следует не забывать закрывать свои сессии на чужих компьютерах, не пользоваться незащищенными соединениями при работе через Wi-Fi в общественных местах, установить галочки в настройках почтового ящика «запомнить мой IP адрес», «отслеживать IP адреса, с которых открывались сессии», «не допускать параллельных сессий». А также не создавать простых вопросов и ответов для восстановления пароля и не терять мобильный телефон, если к нему привязан ваш аккаунт.

28 октября 2013 в 16:41

Как шифровать сообщения по e-mail и станет ли от этого «безопасней»

  • Информационная безопасность
Защищена ли информация, пересылаемая по электронной почте?
Честный ответ на этот вопрос будет звучать так: «Да. Но нет». Когда вы посещаете большинство сайтов, в адресной строке отображается протокол HTTP. Это – небезопасное соединение. Если зайдете в аккаунт одной из крупных почтовых служб, вы увидите уже HTTPS. Это говорит об использовании протоколов шифрования SSL и TLS, которые обеспечивают безопасное «путешествие» письма из окна браузера до почтового сервера. Вместе с тем это ничего не даёт в связи с , который вступает в действие с 1 июля 2014 года. Тем более абсолютно ничто не защищает вашу переписку от недобросовестного сотрудника фирмы почтового сервиса, атак хакеров, незакрытой сессии на чужом компьютере, незащищенной точки Wi-Fi, а также любого требования спецслужб – уже сейчас - и даже самой службы почтового сервиса, в соответствии с их собственной политикой конфиденциальности.


Все письма, приходящие, уходящие или хранящиеся на сервере почтовой службы находятся в полнейшем распоряжении компании, которой он (сервер) принадлежит. Обеспечивая безопасность при самой пересылке, компания может делать с сообщениями все, что ей вздумается, так как, по сути, получает письма в своё распоряжение. Поэтому надеяться можно лишь на порядочность её (компании) руководства и служащих, а также на то, что вы вряд ли кого-то серьезно заинтересуете.

При использовании корпоративной почты переписка защищается силами IT-службы, которые могут установить очень строгий Firewall. И, тем не менее, это тоже не спасёт, если недобросовестный сотрудник «сольёт» информацию. Речь идет не обязательно о системном администраторе – злоумышленнику достаточно оказаться «внутри» корпоративной сети: если он настроен серьезно, остальное – дело техники.
Зашифруемся
Несколько повысить уровень защиты вашей почты «от дурака» может шифрование текста письма и вложения (их также можно поместить в архив с паролем, например, если сам текст не содержит конфиденциальных данных, а архив - содержит). В этом случае можно использовать специальное программное обеспечение.

Само тело письма можно шифровать сторонней криптографической программой, об этом уже , позволю себе повторить немного на свой лад. Наиболее популярный сервис, для которого специально создана программа шифрования – Gmail. Расширение SecureGmail устанавливается в Google Chrome, который это шифрование поддерживает, после чего всё совсем просто – для шифруемого сообщения вводится пароль и вопрос-подсказка для его восстановления. Единственный недостаток – ограничение использования только для GoogleChrome.

Есть шифратор, который подходит для практически любой онлайн-почты, например для mail.ru, yandex.ru, Gmail.com – для всех почтовых сервисов, которые вы можете открыть в окне браузера Mozilla. Это расширение Encrypted Communication. Принцип работы такой же, как у SecureGmail: написав сообщение, выделите его мышью, после чего нажмите правую кнопку и выберите «зашифровать при помощи Encrypted Communication». Далее введите и подтвердите пароль, известный вам и получателю. Естественно, оба этих клиента должны быть установлены и у получателя, и у отправителя и оба этих человека должны знать пароль. (Стоит отметить, что было бы опрометчиво отправлять пароль той же почтой.)

Кроме плагинов для браузера, в котором вы открываете почту, существует приложение для десктопных клиентов, которое также может использоваться и с онлайновыми почтовыми сервисами - PGP (Pretty Good Privacy). Метод хорош, так как использует два ключа шифрования – открытый и закрытый. А также можно использовать целый ряд программ как для шифрования данных, так и для шифрования текста письма: DriveCrypt, Gpg4win, Gpg4usb, Comodo SecureEmail и другие.

Как ни печально, продвинутая техника шифрования, как бы легка в использовании и красива она ни была, не спасёт, если, например, в вашем компьютере поселят backdoor, который делает снимки экрана и отправляет их в сеть. Поэтому лучший способ шифрования – не писать писем. Девиз «Надо чаще встречаться» приобретает в этом контексте новое звучание.
Минимизируем риски
Как уже было отмечено выше, идеальный способ шифрования – не писать писем. Чаще всего, не следует пользоваться бесплатными почтовыми сервисами для ведения переписки по работе, особенно если вы подписывали соглашение о неразглашении. Дело в том, что если ваши сообщения перехватят с корпоративной почты – разбираться с брешью в защите будут с IT-отделом компании. В противном случае вы несёте личную ответственность. Помните: при использовании «внешней» почты переписка обязательно попадет третьим лицам, как минимум, сотрудникам компании, предоставляющей услуги почтового сервиса. А они с вашим работодателем соглашения о неразглашении не подписывали.
Если вы важное лицо в компании, не пересылайте ключевые документы по открытым каналам, либо не используйте для их передачи электронную почту вообще, а для работы пользуйтесь корпоративной почтой и не высылайте важные письма на адреса бесплатных почтовых сервисов.

Во всех остальных случаях, например, при заключении договоров, полезно использовать почту, так как электронное сообщение содержит факты ваших договорённостей по работе и может вам в дальнейшем помочь. Помните, что большинство «сливов» информации происходят по вине отнюдь не хакеров, а «человеческого фактора». Вам вполне может быть достаточно использовать сложные пароли, регулярно их менять и не допускать их утраты. Следует не забывать закрывать свои сессии на чужих компьютерах, не пользоваться незащищенными соединениями при работе через Wi-Fi в общественных местах, установить галочки в настройках почтового ящика «запомнить мой IP адрес», «отслеживать IP адреса, с которых открывались сессии», «не допускать параллельных сессий». А также не создавать простых вопросов и ответов для восстановления пароля и не терять мобильный телефон, если к нему привязан ваш аккаунт.

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

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

Иными словами, в криптографической защите почты сочетаются методы противодействия НСД и атаке посредника, имеющие принципиально разные решения. К сожалению, их часто путают и пытаются использовать не самые подходящие методы. Я предлагаю тебе небольшой рассказ о двух известных криптографических персонажах, который должен расставить все по своим местам и наглядно продемонстрировать проблемы с шифрованием почты. Как говорится, нет повести секретнее до гроба, чем повесть про Алису и про Боба!

В два клика Боб шифрует его ключом, известным Алисе. Он надеется, что правильно ввел его по памяти при настройке CryptoData на общедоступном компе. Иначе важное сообщение так и останется мешаниной символов, которую он вставил в тело письма, скопировав из окна CryptoData.

Алиса получает странное письмо, видит в нем знакомое начало S3CRYPT и понимает, что надо использовать CryptoData с тем ключом, которым они когда-то обменялись с Бобом. Вот только с тех пор много всего произошло, и каким был этот ключ - она может не вспомнить.

Попытка расшифровать письмо

Если Алиса проявит чудеса мнемотехники и все-таки введет верный ключ, сообщение от Боба примет читаемый вид.

Письмо расшифровано

Однако девичья память далеко не EEPROM, поэтому Боб получает неожиданный ответ.

Конечно, Боб знает, как пользоваться PGP. Вот только последний раз он это делал в почтовом клиенте The Bat, который был установлен на взорванном ноутбуке. Как проверить присланный ключ? Вдруг прямо сейчас Алису пытают, а ему отвечают с ее адреса и пытаются выведать секреты? Поэтому Боб просит дополнительных гарантий подлинности ключа. Например, можно попросить Джека проверить и подписать его.

Сеть доверия PGP

Алиса реагирует немного странно. Она сообщает новость о внезапном исчезновении Джека и предлагает альтернативный способ верификации. Впрочем, не слишком надежный. Простейшая цифровая подпись S/MIME подтвердит лишь адрес отправителя, но не его личность. Поэтому Боб прибегает к хитрости: он просит подтвердить ключ по другому каналу связи, заодно проверяя общий с Алисой секрет, который знали только они.

Использование отпечатка ключа и общего секрета

Спустя некоторое время ему приходит СМС с верным отпечатком ключа и новое письмо от Алисы.

Отпечаток ключа и ответ на секретный вопрос

Письмо выглядит убедительно, отпечаток ключа совпадает, но Боб - тертый калач. Прочитав ответ на секретный вопрос, он понимает, что беседует не с Алисой.

Последнее сообщение Боба псевдо Алисе

ГЕОМЕТРИЯ ШИФРОВАНИЯ

В этой истории Алиса и Боб пытались использовать два принципиально разных типа криптографической защиты. В CryptoData для шифрования и расшифровки по алгоритму AES используется один и тот же ключ. Поэтому такую криптосистему называют симметричной.

В отличие от AES-CTR, в PGP используется пара разных, но математически связанных ключей. Это асимметричная система, устроенная по принципу замка с защелкой: захлопнуть дверь (зашифровать сообщение) может кто угодно, а вот открыть ее (расшифровать текст) - только владелец ключа.

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

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

В качестве примера мы выбрали CryptoData, так как из всех известных расширений на момент написания статьи только у него был актуальный статус и живой русскоязычный форум. Кстати, с помощью CryptoData можно не только шифровать почту, но и хранить локальные заметки под защитой AES и даже создавать и просматривать зашифрованные сайты.

CryptoData доступен для браузера Firefox в качестве аддона. Также он поддерживает почтовые клиенты Thunderbird и SeaMonkey. Текст шифруется по алгоритму AES. Несмотря на его блочную природу, в режиме счетчика (CTR) с его помощью реализуется потоковое шифрование.

К плюсам CryptoData можно отнести известную реализацию AES-CTR через JavaScript. Главный же недостаток CryptoData (как и любой симметричной системы) - безопасно обмениваться ключами невозможно.

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

Менее значимый минус - узнаваемое начало всех зашифрованных текстов. После стандартного начала «S3CRYPT:BEGIN» открытым текстом указывается используемый алгоритм и режим шифрования (AESCTR или RC4). Это упрощает выборочный перехват зашифрованных сообщений (обычно в них пишут все самое важное) и их взлом.

Подобно CryptoData работали CryptFire, Encrypted Communication и многие другие расширения.

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

ОТ АЛГОРИТМОВ К СТАНДАРТАМ ШИФРОВАНИЯ ПОЧТЫ

Для работы с зашифрованной перепиской собеседники должны использовать одинаковые криптографические методы. Поэтому любая защита почты на уровне приложения или сервиса использует какую-то криптографическую систему в рамках общепризнанного стандарта шифрования. Например, клиент Thunderbird поддерживает через аддон Enigmail форк GnuPG как открытую реализацию криптосистемы PGP по стандарту OpenPGP.

В свою очередь, PGP и любая другая криптосистема базируется на нескольких алгоритмах шифрования, которые используются на разных этапах работы. Самым распространенным среди алгоритмов асимметричного шифрования остается RSA. Он же используется в оригинальной криптосистеме PGP Филиппа Циммерманна. В ней RSA применяется для шифрования 128-битного хеша MD5 и 128-битного ключа IDEA.

У различных форков PGP (например, у того же GnuPG) есть свои алгоритмические отличия. Но если криптосистемы удовлетворяют требованиям общего стандарта OpenPGP, то они остаются совместимыми друг с другом. Собеседники могут вести защищенную переписку с помощью разных версий криптографических программ, в том числе и предназначенных для разных платформ. Поэтому составленное в Thunderbird для Linux письмо, зашифрованное PGP, может быть прочитано в The Bat для Windows и даже через браузер с поддержкой OpenPGP на уровне дополнений.

ШИФРОВАНИЕ ПОЧТЫ С ПОМОЩЬЮ OPENPGP

OpenPGP был предложен в 1997 году, но развитие стандарта было сложным из-за судьбы самого алгоритма PGP. Права на него последовательно переходили от Циммерманна и PGP Inc. к Network Associates (McAfee), PGP Corporation и Symantec. Каждый из новых правообладателей менял конечную реализацию алгоритма. Не исключено, что в McAfee и Symantec ослабляли его криптографическую стойкость по требованию властей. Например, снижая качество генератора псевдослучайных чисел, эффективную длину ключа или даже внедряя программные закладки.

Поэтому в 1999 году появилась открытая реализация GnuPG. Считается, что за ней стоит фонд FSF, но на деле GnuPG разработал всего один человек - немецкий программист Вернер Кох, который когда-то впечатлился речью Столлмана и решил сделать «правильный, открытый PGP». Позже он неоднократно намеревался забросить поддержку GnuPG, но в решающий момент находил новые стимулы продолжать ее.

Сейчас Коху 53 года, он безработный и много раз находился на пороге нищеты до того момента, как сумел собрать более 300 тысяч долларов с помощью разных краудфандинговых кампаний. Ему перечисляли деньги из Linux Foundation и от простых пользователей, давали гранты Facebook и Stripe - просто потому, что судьба GPGTools, Enigmail, Gpg4win и многих других популярных проектов в мире СПО целиком зависит от его желания продолжать развитие GnuPG.

С таким шатким фундаментом стандарт OpenPGP до сих пор имеет известные слабости. Их проще было объявить «не багами, а фичами», чем устранять. Например, в нем есть только один способ подтвердить отправителя зашифрованного сообщения - криптографическая подпись. Однако проверить ее может кто угодно открытым ключом отправителя (вот почему я сделал оговорку «почти», указывая на безопасность перехвата открытого ключа). Следовательно, подпись, помимо аутентификации, обеспечивает и не всегда нужную неотрицаемость сообщения.

Что это значит на практике? Представь, что ты отправил Ассанжу очередную порцию интересных данных о первых лицах сильно демократической страны. Письмо перехватили, IP узнали и за тобой приехали. Даже не раскрывая содержимое зашифрованного письма, ты привлек к себе внимание самим фактом переписки с человеком, за которым давно следят. Сослаться на подделку письма или козни почтового червя уже не получится - сообщение было подписано твоим секретным ключом. Без этой же подписи Ассанж не станет читать сообщение, считая его фальшивкой или провокацией. Получается замкнутый круг: криптографические подписи лишают возможности отрицать авторство писем перед третьими лицами, а без подписей для самих собеседников не будет гарантии подлинности сообщений друг к другу.

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

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

S/MIME

Если у OpenPGP столько принципиальных недостатков, то есть ли ему альтернатива? И да и нет. Параллельно развиваются другие стандарты шифрования почты, в том числе и с использованием открытого ключа. Вот только пока что они устраняют одни недостатки ценой появления других. Яркий пример тому - S/MIME (Secure/Multipurpose Internet Mail Extensions). Начиная со второй версии, появившейся еще в 1998 году, S/MIME стал общепринятым стандартом. Настоящая популярность пришла к нему годом позже, когда третью версию S/ MIME стали поддерживать такие почтовые программы, как Microsoft Outlook (Express) и Exchange.

S/MIME упрощает задачу распространения публичных ключей в недоверенной среде, поскольку контейнером для открытого ключа служит цифровой сертификат, который обычно имеет одну или несколько цифровых подписей. С тяжелой руки Microsoft современная концепция криптографии с открытым ключом часто реализуется именно посредством цифровых сертификатов и цепочек доверия. Сертификаты выдаются конкретному субъекту и содержат его открытый ключ. Подлинность самого сертификата гарантируется (обычно за деньги) его эмитентом - то есть выпустившей организацией, которой изначально доверяют все участники переписки. Например, это может быть Thawte, VeriSign, Comodo или другая крупная компания. Простейший сертификат, подтверждающий только адрес электронной почты, можно получить бесплатно.

Теоретически цифровой сертификат решает сразу две проблемы: он позволяет легко найти открытый ключ нужного пользователя и убедиться в его подлинности. Однако на практике в механизме доверенных сертификатов и стандарте S/MIME до сих пор есть серьезные уязвимости, делающие возможными дополнительные векторы атак помимо тех, что актуальны для OpenPGP. Так, в 2011 году была произведена атака на сертификационные центры DigiNotar и Comodo, в результате чего были выпущены сотни поддельных сертификатов от имени самых популярных сетевых узлов: addons.mozilla.com, login.skype.com, login.yahoo.com, mail.google.com и других. В дальнейшем они использовались в разных сценариях атак, включая MITM, рассылку фишинговых писем и распространение зловредов, подписанных сертификатами известных фирм.

ШИФРОВАНИЕ ВЕБ-ПОЧТЫ И МОБИЛЬНЫЕ КЛИЕНТЫ

Все больше людей отказываются от десктопных почтовых клиентов, предпочитая работать с почтой через веб-интерфейс или мобильные приложения. Это полностью меняет правила игры. С одной стороны, при веб-подключении шифрование соединения уже обеспечивается посредством HTTPS. С другой - пользователь никак не контролирует почтовую базу на сервере и способы передачи писем с него. Остается уповать на репутацию компании, которая обычно варьируется от слегка подмо- ченной до промокшей насквозь.

Многие помнят Hushmail - первый веб-сервис электронной почты с шифрованием по стандарту OpenPGP на стороне сервера. Уверен, кто-то пользуется им до сих пор, считая надежным. Ведь все письма, как утверждается, в нем хранятся на собственном защищенном сервере и передаются на внешние адреса через другой сервер с поддержкой SSL. Почти десять лет компания уверяла, что расшифровать письма ее клиентов невозможно. Однако в 2007 году Hushmail была вынуждена признать, что имеет такую техническую возможность и предоставляет ее по требованию властей, а также протоколирует IP-адреса своих клиентов и собирает о них «другую статистику» - вдруг компетентные органы ее запросят.

Впрочем, черт бы с Hushmail. Большинство людей сегодня пользуется Gmail, который активно развивается. «Очень активно, - подсказывает Мэттью Грин, профессор криптографии из Университета Джонса Хопкинса. - Скоро исполнится два года, как Google обещала внедрить сквозное шифрование почты. Ну и где оно?»

Любопытно, что, помимо Google, в разное время это обещали сделать Yahoo, Microsoft и другие. Есть очевидное объяснение тому, почему компании с ежегодной прибылью на уровне миллиардов долларов до сих пор не смогли внедрить сквозное шифрование. Оно подразумевает выполнение криптографических операций в доверенной среде и передачу сообщений через недоверенные узлы только в зашифрованном виде. Реализовать это без контроля над устройствами практически невозможно.

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

Именно так взломали итальянскую Hacking Team: атакующий получил удаленный доступ к одному из компьютеров в локальной сети компании, а затем просто дождался, когда кто-то из сотрудников сам откроет контейнер TrueCrypt со всей секретной перепиской и документацией. Без доверенной среды хоть шифруй, хоть не шифруй - все равно получишь лишь иллюзию защиты.

Приложения для шифрования почтовой переписки.

Mailvelope - одно из самых продвинутых расширений для шифрования почты в Google Chrome. Мы уже ранее о нем, и уже тогда это была качественная разработка.

Управление ключами в Mailvelope

Базовую функциональность PGP в браузере обещают и другие расширения, но у них полно своих недостатков. У аддона Pandor логика работы вообще странная. По замыслу, пользователи регистрируются на сайте pandor.me и генерируют ключи PGP. Все они хранятся на сервере и автоматически используются для шифрования и дешифрования. При этом обмениваться ключами не надо. Удобно? Может быть. Однако те, кто жертвуют удобством ради безопасности, в итоге лишаются и того и другого. Секретный ключ неспроста называется так, а безопасно сгенерировать пару ключей можно только локально.

Шифрование почты с помощью Keybase.io

Открытые ключи можно не только вручную переслать всем собеседникам, но и загрузить на специализированный сервер. Так их проще будет находить и подписывать, расширяя сеть доверия. Об одном из таких репозиториев открытых ключей - Keybase.io мы уже писали. После быстрого старта интерес к развитию этого сервера открытых ключей у его разработчиков угас. Репозиторий вот уже два года находится в стадии бета-тестирования, но это не препятствует его использованию.

Keybase.io подтверждает не только валидность открытого ключа собеседника и адрес его электронной почты, но и URL личного сайта, а также аккаунты пользователя в Twitter и GitHub, если они есть. Одним словом, если твои собеседники загружают свои открытые ключи на Keybase.io, то ты всегда сможешь отыскать их там вместе с актуальными контактными данными.

Необходимость в шифровании переписки возникла еще в древнем мире, и появились шифры простой замены. Зашифрованные послания определяли судьбу множества битв и влияли на ход истории. Со временем люди изобретали все более совершенные способы шифрования.

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

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

Стеганография

Стеганография старше кодирования и шифрования. Это искусство появилось очень давно. Оно буквально означает «скрытое письмо» или «тайнопись». Хоть стеганография не совсем соответствует определениям кода или шифра, но она предназначена для сокрытия информации от чужих глаз.

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

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

ROT1 и шифр Цезаря

Название этого шифра ROTate 1 letter forward, и он известен многим школьникам. Он представляет собой шифр простой замены. Его суть заключается в том, что каждая буква шифруется путем смещения по алфавиту на 1 букву вперед. А -> Б, Б -> В, ..., Я -> А. Например, зашифруем фразу «наша Настя громко плачет» и получим «общб Обтуа дспнлп рмбшеу».

Шифр ROT1 может быть обобщен на произвольное число смещений, тогда он называется ROTN, где N - это число, на которое следует смещать шифрование букв. В таком виде шифр известен с глубокой древности и носит название «шифр Цезаря».

Шифр Цезаря очень простой и быстрый, но он является шифром простой одинарной перестановки и поэтому легко взламывается. Имея подобный недостаток, он подходит только для детских шалостей.

Транспозиционные или перестановочные шифры

Данные виды шифра простой перестановки более серьезны и активно применялись не так давно. В Гражданскую войну в США и в Первую мировую его использовали для передачи сообщений. Его алгоритм заключается в перестановке букв местами - записать сообщение в обратном порядке или попарно переставить буквы. Например, зашифруем фразу «азбука Морзе - тоже шифр» -> «акубза езроМ - ежот рфиш».

С хорошим алгоритмом, который определял произвольные перестановки для каждого символа или их группы, шифр становился устойчивым к простому взлому. Но! Только в свое время. Так как шифр легко взламывается простым перебором или словарным соответствием, сегодня с его расшифровкой справится любой смартфон. Поэтому с появлением компьютеров этот шифр также перешел в разряд детских.

Азбука Морзе

Азбука является средством обмена информации и ее основная задача - сделать сообщения более простыми и понятными для передачи. Хотя это противоречит тому, для чего предназначено шифрование. Тем не менее она работает подобно простейшим шифрам. В системе Морзе каждая буква, цифра и знак препинания имеют свой код, составленный из группы тире и точек. При передаче сообщения с помощью телеграфа тире и точки означают длинные и короткие сигналы.

Телеграф и азбука был тем, кто первый запатентовал «свое» изобретение в 1840 году, хотя до него и в России, и в Англии были изобретены подобные аппараты. Но кого это теперь интересует... Телеграф и азбука Морзе оказали очень большое влияние на мир, позволив почти мгновенно передавать сообщения на континентальные расстояния.

Моноалфавитная замена

Описанные выше ROTN и азбука Морзе являются представителями шрифтов моноалфавитной замены. Приставка «моно» означает, что при шифровании каждая буква изначального сообщения заменяется другой буквой или кодом из единственного алфавита шифрования.

Дешифрование шифров простой замены не составляет труда, и в этом их главный недостаток. Разгадываются они простым перебором или Например, известно, что самые используемые буквы русского языка - это «о», «а», «и». Таким образом, можно предположить, что в зашифрованном тексте буквы, которые встречаются чаще всего, означают либо «о», либо «а», либо «и». Исходя из таких соображений, послание можно расшифровать даже без перебора компьютером.

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

Шифр Гронсфельда, или полиалфавитная замена

Простые шифры криптографией признаны бесполезными. Поэтому множество из них было доработано. Шифр Гронсфельда — это модификация шифра Цезаря. Данный способ является значительно более стойким к взлому и заключается в том, что каждый символ кодируемой информации шифруется при помощи одного из разных алфавитов, которые циклически повторяются. Можно сказать, что это многомерное применение простейшего шифра замены. Фактически шифр Гронсфельда очень похож на рассмотренный ниже.

Алгоритм шифрования ADFGX

Это самый известный шифр Первой мировой войны, используемый немцами. Свое имя шифр получил потому, что приводил все шифрограммы к чередованию этих букв. Выбор самих же букв был определен их удобством при передаче по телеграфным линиям. Каждая буква в шифре представляется двумя. Рассмотрим более интересную версию квадрата ADFGX, которая включает цифры и называется ADFGVX.

A D F G V X
A J Q A 5 H D
D 2 E R V 9 Z
F 8 Y I N K V
G U P B F 6 O
V 4 G X S 3 T
X W L Q 7 C 0

Алгоритм составления квадрата ADFGX следующий:

  1. Берем случайные n букв для обозначения столбцов и строк.
  2. Строим матрицу N x N.
  3. Вписываем в матрицу алфавит, цифры, знаки, случайным образом разбросанные по ячейкам.

Составим аналогичный квадрат для русского языка. Например, создадим квадрат АБВГД:

А Б В Г Д
А Е/Е Н Ь/Ъ А И/Й
Б Ч В/Ф Г/К З Д
В Ш/Щ Б Л Х Я
Г Р М О Ю П
Д Ж Т Ц Ы У

Данная матрица выглядит странно, так как ряд ячеек содержит по две буквы. Это допустимо, смысл послания при этом не теряется. Его легко можно восстановить. Зашифруем фразу «Компактный шифр» при помощи данной таблицы:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Фраза К О М П А К Т Н Ы Й Ш И Ф Р
Шифр бв гв гб гд аг бв дб аб дг ад ва ад бб га

Таким образом, итоговое зашифрованное послание выглядит так: «бвгвгбгдагбвдбабдгвдваадббга». Разумеется, немцы проводили подобную строку еще через несколько шифров. И в итоге получалось очень устойчивое к взлому шифрованное послание.

Шифр Виженера

Данный шифр на порядок более устойчив к взлому, чем моноалфавитные, хотя представляет собой шифр простой замены текста. Однако благодаря устойчивому алгоритму долгое время считался невозможным для взлома. Первые его упоминания относятся к 16-му веку. Виженер (французский дипломат) ошибочно считается его изобретателем. Чтобы лучше разобраться, о чем идет речь, рассмотрим таблицу Виженера (квадрат Виженера, tabula recta) для русского языка.

Приступим к шифрованию фразы «Касперович смеется». Но, чтобы шифрование удалось, нужно ключевое слово — пусть им будет «пароль». Теперь начнем шифрование. Для этого запишем ключ столько раз, чтобы количество букв из него соответствовало количеству букв в шифруемой фразе, путем повтора ключа или обрезания:

Теперь по как по координатной плоскости, ищем ячейку, которая является пересечением пар букв, и получаем: К + П = Ъ, А + А = Б, С + Р = В и т. д.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Шифр: Ъ Б В Ю С Н Ю Г Щ Ж Э Й Х Ж Г А Л

Получаем, что "касперович смеется" = "ъбвюснюгщж эйхжгал".

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

Следует также упомянуть, что помимо абсолютно случайного ключа может быть использована совершенно разная таблица Виженера. В данном случае квадрат Виженера состоит из построчно записанного русского алфавита со смещением на единицу. Что отсылает нас к шифру ROT1. И точно так же, как и в шифре Цезаря, смещение может быть любым. Более того, порядок букв не должен быть алфавитным. В данном случае сама таблица может быть ключом, не зная которую невозможно будет прочесть сообщение, даже зная ключ.

Коды

Настоящие коды состоят из соответствий для каждого слова отдельного кода. Для работы с ними необходимы так называемые кодовые книги. Фактически это тот же словарь, только содержащий переводы слов в коды. Типичным и упрощенным примером кодов является таблица ASCII — международный шифр простых знаков.

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

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

"Энигма"

Всем известно, что "Энигма" — это главная шифровальная машина нацистов во время II мировой войны. Строение "Энигмы" включает комбинацию электрических и механических схем. То, каким получится шифр, зависит от начальной конфигурации "Энигмы". В то же время "Энигма" автоматически меняет свою конфигурацию во время работы, шифруя одно сообщение несколькими способами на всем его протяжении.

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

Взломать "Энигму" активно пытались в течение всей военной кампании Гитлера. В Англии в 1936 г. для этого построили один из первых вычислительных аппаратов (машина Тьюринга), ставший прообразом компьютеров в будущем. Его задачей было моделирование работы нескольких десятков "Энигм" одновременно и прогон через них перехваченных сообщений нацистов. Но даже машине Тьюринга лишь иногда удавалось взламывать сообщение.

Шифрование методом публичного ключа

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

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

Рассмотрим простой пример. Пусть публичным ключом будет 905. Его делителями являются числа 1, 5, 181 и 905. Тогда секретным ключом будет, например, число 5*181. Вы скажете слишком просто? А что если в роли публичного числа будет число с 60 знаками? Математически сложно вычислить делители большого числа.

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

Стойкость шрифта

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

На сегодняшний день не существует единых стандартов, по которым можно было бы оценить стойкость шифра. Это трудоемкий и долгий процесс. Однако есть ряд комиссий, которые изготовили стандарты в этой области. Например, минимальные требования к алгоритму шифрования Advanced Encryption Standart или AES, разработанные в NIST США.

Для справки: самым стойким шифром к взлому признан шифр Вернама. При этом его плюсом является то, что по своему алгоритму он является простейшим шифром.