• Публичный pgp gpg ключ. А ларчик просто открывался: ключи для секретных замков. ▍Обзор работы PGP

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

    Pretty Good Privacy
    Тип программное обеспечение неприкосновенности частной жизни [d] и шифрующее программное обеспечение
    Автор Филипп Циммерманн
    Разработчик Филипп Циммерманн
    Написана на Multi-language
    Операционная система Linux , macOS , Windows
    Первый выпуск 1991
    Лицензия коммерческое программное обеспечение и проприетарное программное обеспечение
    Сайт openpgp.org

    Общие сведения

    PGP имеет множество реализаций, совместимых между собой и рядом других программ (GnuPG , FileCrypt и др.) благодаря стандарту OpenPGP (RFC 4880), но имеющих разный набор функциональных возможностей. Существуют реализации PGP для всех наиболее распространённых операционных систем . Кроме свободно распространяемых реализаций, есть ещё и коммерческие.

    Совместимость

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

    Защищённость

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

    В 2010 году группе учёных из Швейцарии, Японии, Франции, Нидерландов, Германии и США удалось декодировать данные, зашифрованные по алгоритму RSA при помощи ключа длиной 768 бит. Нахождение простых сомножителей осуществлялось общим методом решета числового поля . На первый шаг (выбор пары полиномов степени 6 и 1) было потрачено около полугода вычислений на 80 процессорах, что составило около 3 % времени, потраченного на главный этап алгоритма (просеивание), который выполнялся на сотнях компьютеров в течение почти двух лет. Если интерполировать это время на работу одного процессора AMD Opteron 2,2 ГГц с 2 ГБ оперативной памяти, то получилось бы порядка 1500 лет. Обработка данных после просеивания для следующего ресурсоёмкого шага (линейной алгебры) потребовала несколько недель на малом количестве процессоров. Заключительный шаг после нахождения нетривиальных решений ОСЛУ занял не более 12 часов.

    Решение ОСЛУ проводилось с помощью метода Видемана на нескольких раздельных кластерах и длилось чуть менее 4 месяцев. При этом размер разрежённой матрицы составил 192 796 550×192 795 550 при наличии 27 795 115 920 ненулевых элементов. Для хранения матрицы на жёстком диске понадобилось около 105 гигабайт. В то же время понадобилось около 5 терабайт сжатых данных для построения данной матрицы.

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

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

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

    Зная разложение модуля на произведение двух простых чисел, противник может легко найти секретную экспоненту и тем самым взломать RSA. Однако на сегодняшний день самый быстрый алгоритм факторизации - решето обобщённого числового поля (General Number Field Sieve), скорость которого для k-битного целого числа составляет exp ⁡ ((c + o (1)) k 1 3 log 2 3 ⁡ k) {\displaystyle \exp((c+o(1))k^{\frac {1}{3}}\log ^{\frac {2}{3}}k)} для некоторого c < 2 {\displaystyle c<2} , не позволяет разложить большое целое за приемлемое время.

    Механизм работы PGP

    Для ключей RSA legacy длина ключа может составлять от 1024 до 2048 бит, а для Diffie-Hellman/DSS и RSA - от 1024 до 4096. Ключи RSA legacy содержат одну ключевую пару, а ключи Diffie-Hellman/DSS и RSA могут содержать один главный ключ и дополнительные ключи для шифрования. При этом ключ электронной подписи в ключах Diffie-Hellman/DSS всегда имеет размер 1024. Срок действия для каждого из типов ключей может быть определён как неограниченный или до конкретной даты. Для защиты ключевого контейнера используется секретная фраза.

    Цифровая подпись

    Уголовное расследование

    Вскоре после выпуска PGP стала использоваться за пределами США, и в 1993 году правительство США начало расследование против Циммермана по подозрению в нарушении экспортного законодательства, которое регулирует распространение криптографических систем с длиной ключа более 40 бит. В PGP использовались ключи длиной 128 бит и более.IETF IPsec VPN . После легализации экспорта криптографического ПО в 2000 году NAI прекратила публикацию исходных текстов, несмотря на возражения команды PGP.

    В 2001 году Циммерман покинул NAI, NAI объявила о продаже PGP и остановке разработки PGP. В 2002 году NAI прекратила поддержку всех продуктов PGP PGP E-Business Server (исходной консольной версии PGP).

    Современное состояние

    В 2002 году несколько бывших разработчиков PGP основали PGP Corporation и выкупили PGP (кроме консольной версии). В 2003 году PGP Corporation разработала новый серверный продукт, PGP Universal.

    В 2010 году Symantec Corp. выкупил PGP за 300 млн долларов.

    Криптографические приложения PGP Corporation

    PGP изначально разрабатывалась для шифрования электронной почты на стороне клиента, но с 2002 года включает также шифрование жёстких дисков переносных компьютеров, файлов и каталогов, сессий программ мгновенного обмена сообщениям, пакетной передачи файлов, защиту файлов и каталогов в сетевых хранилищах, а в современных версиях - ещё и шифрование HTTP-запросов и ответов на стороне сервера (mod openpgp) и клиента (Enigform).

    Клиентские программы объединены в семейство PGP Desktop (включает в себя PGP Desktop EMail, PGP Whole Disk Encryption и PGP NetShare).

    PGP Universal Server позволяет из командной строки централизованно администрировать клиенты на основе PGP Desktop.

    В 2010 году права на приложение были приобретены компанией Symantec за 300 млн долларов.

    Правовые аспекты использования в России

    На сегодняшний день прямых законодательных запретов на использование PGP в России нет. Законодательно ограничивается использование криптографии только в государственных и муниципальных учреждениях. ФСБ предписывает всем государственным структурам использовать только сертифицированные средства криптографии. Физические лица и компании сами устанавливают, какая информация является для них коммерческой тайной, методы хранения и передачи такой информации Информационный ресурс Helpdesk24 в статье «Правомерность использования криптографических средств защиты информации» приводит выдержки из федеральных законов, поясняющие данный вопрос. Также авторы проекта «openPGP в России» утверждают, что не существует законов, запрещающих использование PGP Ссылки

    Вот способ GUI для создания нового ключа PGP.

    Вы можете найти свой ключ на вкладке Мои личные ключи приложения « Пароли и ключи ».

    Загрузка вашего ключа в Launchpad


    Создание ключей OpenPGP с помощью gpg

    Шаг 1. Откройте терминал и введите:

    Gpg --gen-key

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

    Шаг 3: Убедитесь, что ваш ключ был создан, набрав gpg --list-keys и, в случае успеха.

    pub 1024D / 12345678 -> это важное число

    Шаг 4: Launchpad не сохраняет ваш ключ напрямую , поэтому вам нужно экспортировать свой открытый ключ на ключевой сервер, например, keyerver.ubuntu.com:

    Gpg --keyserver keyserver.ubuntu.com --send-keys 12345678

    Замените 12345678 паб-идентификатором, который вы отметили на шаге 3.

    В случае успеха GPG отобразит сообщение, подобное:

    Gpg: sending key 12345678 to hkp server keyserver.ubuntu.com

    Импорт вашего ключа в Launchpad с gpg

    Шаг 1: Launchpad идентифицирует ваш ключ OpenPGP своим отпечатком . В терминале вы можете запросить GPG для отпечатка вашего ключа, набрав:

    Gpg --fingerprint

    GPG отобразит сообщение, подобное:

    Key fingerprint = `0464 39CD 2486 190A 2C5A 0739 0E68 04DC 16E7 CB72`

    скопируйте только числовой отпечаток: 0464 39CD 2486 190A 2C5A 0739 0E68 04DC 16E7 CB72 .

    Шаг 2. Посетите OpenPGP

    Шаг 3: Вставьте отпечаток пальца, который вы скопировали на шаге 1, в текстовое поле Fingerprint, затем нажмите кнопку «Импортировать ключ». Launchpad будет использовать отпечаток пальца для проверки сервера ключей Ubuntu для вашего ключа и, в случае успеха, отправить вам зашифрованное письмо с просьбой подтвердить импорт ключа.

    Примечание: это краткий … из процесса запуска панели … оба процесса занимают некоторое время, поэтому просто не торопитесь …

    В некоторых системах, таких как lubuntu, где недоступен пароль и ключи (seahorse), хорошим и простым способом сделать ключ PGP является использование gpa (помощник по конфиденциальности GNU). Это графический интерфейс для gpg. Этот метод также применяется к другим производным ubuntu.

    1. установить gpa

    sudo apt install gpg gpa

    2.launch gpa из меню ваших приложений

    3. В меню « Ключи» выберите « Новый ключ» . вам представлено новое окно

    4. Введите в своем полном имени, нажмите вперед , затем введите свой адрес электронной почты geniune. Нажмите вперед . Теперь выберите вариант для резервного копирования позже .

      введите ключевую фразу (может быть слово или фразу) для защиты вашего ключа PGP

      Теперь вы успешно создали ключ pgp. На самом деле это пара, состоящая из вашего личного ключа и открытого ключа

      Чтобы использовать PGP в устной корреспонденции, например, для безопасного обмена электронной почтой, вам нужно предоставить другой стороне ваш открытый ключ. Поэтому сначала экспортируйте свой открытый ключ, затем вы можете отправить его им. Чтобы экспортировать, откройте gpa и выберите свой ключ. Теперь нажмите клавишу « Клавиши», а затем клавиши экспорта . Дайте вашему открытому ключу имя и сохраните его

    tip: чтобы вы экспортировали открытый ключ, откройте его текстовым редактором и проверьте, есть ли стартовая строка

    `-----BEGIN PGP PUBLIC KEY BLOCK-----`

    ОСНОВЫ РАБОТЫ С КРИПТОГРАФИЧЕСКОЙ ПРОГРАММОЙ PGP

    Цель работы - изучение функциональных возможностей криптографической программы PGP и приобретение навыков практической работы по шифрованию информации.

    1. Основные понятия криптографической программы

    1.1. Общие сведения

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

    В PGP применяется принцип использования двух взаимосвязанных ключей: открытого (public key) и закрытого (private key) . Это очень большие числа, генерируемые случайным образом (1024 бита, 2048 бит и т. д.). К закрытому ключу имеет доступ только отправитель сообщения, а открытый ключ публикуется или распространяться через коммуникационные сети среди своих корреспондентов. При этом открытым ключом информация шифруется, закрытым расшифровывается.

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

    1) идентификатор пользователя владельца ключа (обычно это имя пользователя);

    2) временную метку, которая указывает время генерации па-ры ключей;

    3) собственно ключи.

    Закрытые (секретные) ключи аналогично хранятся в виде «сертификатов секретных ключей» в каталоге secring. skr . При этом каждый секретный ключ шифруется отдельным паролем.

    Основные функции PGP:

    Генерация пары закрытый - открытый ключ;

    Шифрование файла с помощью открытого ключа;

    Расшифровка файла с помощью закрытого ключа;

    Наложение цифровой подписи с помощью закрытого ключа;

    Проверка электронной подписи с помощью открытого ключа.

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

    1.2. Принцип работы PGP

    Процесс шифрования сообщения с помощью PGP состоит из ряда шагов (рис. 1). Сначала программа сжимает текст. Это сокращает время на отправку сообщения через модем и увеличивает надежность шифрования.

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

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

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

    1) Из документа генерируется дайджест сообщения (это 160 или 128 – битная "выжимка" или контрольная сумма файла сообщения), к нему добавляется информация о том, кто подписывает документ и штамп времени.

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

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

    Распознавание электронной подписи показывает, что отправителем был действительно создатель сообщения, и что сообщение впоследствии не изменялось.

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

    Данным сессионным ключом шифруется сообщение, а сессионный ключ зашифровывается с помощью публичного ключа получателя сообщения и отправляется к получателю вместе с зашифрованным текстом (рис. 1.1).

    Открытый ключ получателя

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

    Рис.1.2. Процесс дешифрования сообщения

    2. Основы работы с криптографической программой

    2.1. Запуск PGP

    !! Запустите Пуск/Программы/PGP/ PGP Desktop и ознакомьтесь с меню.

    Примечание . В дальнейшем указания на выполнение заданий будут помечаться знаком !! и выделяться курсивом.

    2.2. Основы работы с приложением PGP Desktop

    Окно PGP Desktop содержит все стандартные элементы, присущие окну приложения Windows (заголовок, оконное меню, панели инструментов, рабочее поле программы, строку состояния).

    Оконное меню состоит из следующих пунктов:

    􀂃 File (файл)

    New PGP Key (новый PGP ключ)

    New à PGP Zip (сжатый защищённый архив).

    à PGP Disk (защищенный диск. Нужны ключи!!!).

    à Encrypted Whole Disk (зашифровать весь диск).

    à PGP NetShare Folder (шифрование данных на сервере).

    Open (открыть)

    Import Personal Certificate(s).

    Exit (выход)

    􀂃 Edit (правка )

    Copy (копировать)

    Paste (вставить)

    Delete (удалить)

    Select All (выделить все)

    􀂃 View (вид ) - определяет состояние рабочего поля программы, где можно увидеть:

    􀂃 Keys (ключи)

    2. Создание новых каталогов ключей

    !! Запустите программу PGP Desktop .

    Создайте свои каталоги ключей, назвав каталог открытых ключей mykey. pkr, каталог секретных ключей mykey. skr, следуя дальнейшим инструкциям.

    В окне PGP Desktop выполнить команду File / New PGP Key

    Укажите имя пользователя и его e-mail…


    Рисунок. 2.2.2. Указание ФИО и адреса электронной почты.

    Изучите возможности функции «Advanced» (в отчёте – описать!)

    Рисунок. 2.2.3. Указываем дополнительные параметры ключа.

    Настройте сжатие ключа, срок действия ключа – до 01.05.2014.

    Закрытый ключ обычно защищен паролем, который предотвращает его несанкционированное использование. Для усиления защиты от несанкционированного доступа посторонних лиц к закрытому ключу последний следует хранить только на собственном компьютере или на дискете, используя ее только на время подписи или расшифровки почтовых сообщений. В открывшемся окне Passphrase ввести парольную фразу не менее 8 символов, которую легко запомнить, при этом надпись Hide Typing не должна быть отмечена галочкой, для того чтобы вводимый пароль отображался в строке. В нижнем окне подтвердить введенный пароль.

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

    Рисунок. 2.2.3. Указываем пароль для защиты секретного ключа.

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

    После этого будет предложено внести ключ в глобальный каталог ключей.

    В результате в окне PGP Desktop отобразится новая ключевая пара, состоящая из трех строк:

    ключевая пара;

    идентификатор пользователя;

    электронная подпись.

    Наборы закрытых и открытых ключей хранятся в отдельных файлах, которые можно копировать как любые другие файлы, в другую папку на жестком диске или другом носителе информации. По умолчанию файлы со связками закрытых ключей (secring. pkr) и открытых ключей (pubring. pkr) хранятся в папке программы PGP (С:\Мои документы\PGP) , вместе с другими файлами этой программы, но резервные копии можно сохранять где угодно.

    2.2.4. Удаление ключей

    Для удаления ключа из связки (каталога ключей) следует выделить его в окне PGP Desktop , а затем воспользоваться одним из способов:

    1. Нажать клавишу Delete .

    2. В пункте меню Edit выбрать команду delete .

    2.2.5. Обмен открытыми ключами

    Экспорт ключа

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

    Для того чтобы экспортировать свой открытый ключ в файл необходимо выполнить следующие действия:

    1) Запустить программу PGPDesktop .

    2) Выделить в окне ключевую пару.

    3) Зайти в меню File , выбрать команду Export и выбрать Key .

    4) В появившемся окне Export key to file проверить, чтобы надпись Include Private Key(s) не была отмечена галочкой (значит, отсылается только открытый ключ).

    Рисунок 3. Файл открытого ключа

    6) Нажать OK .

    !! В папке Мои документы создайте папку, назвав ее своей фамилией.

    !! Экспортируйте свой открытый ключ, сохранив его в созданной папке.

    !! Откройте программу Блокнот (Пуск/Программы/ Стандартные/Блокнот). В программе Блокнот откройте файл с открытым ключом, установив отображение в окне тип файлов - все файлы *.* .

    Импорт ключа

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

    Открытый ключ можно импортировать:

    1) С сервера открытых ключей,

    2) Из тела почтового сообщения

    3) Из файла открытого ключа.

    Импорт полученного ключа из файла в связку можно выполнить несколькими способами:

    1) Запустить файл ключа, нажав на него двойным щелчком мыши, в появившемся окне Select key(s) Import .

    2) Из меню Keys окна PGPkeys выбрать пункт Import , в окне Select File Containing Key найти файл с ключом и выделить его, щелкнуть по кнопке Открыть , в появившемся окне Select key(s) выделить ключ и выполнить команду Import , щелкнув мышью по соответствующей кнопке.

    3) Раскрыть папку, содержащую файл с ключом и перетащить его левой клавишей мыши в окно PGPkeys .

    4) Открыть текстовый файл, в котором хранится ключ при помощи текстового редактора Блокнот , выделить текст Правка/Выделить все , скопировать выделенный текст в буфер обмена Правка/Копировать. Перейти в окно PGPkeys и выполнить команду Edit/Paste

    Проверка подлинности ключа.

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

    Примечание: на ключи ссылаются уникальные идентификационные номера ключей (Fingerprint – "отпечатки пальцев"), которые являются сокращением открытого ключа (младшие 160 бит открытого ключа). Когда этот идентификатор ключа отображается, то показываются только младшие 32 бита для краткости. Идентификаторы ключа используются РGР для определения ключа при декодировании сообщения и при определении его подлинности.

    Идентификационный номер ключа можно увидеть нажав правой кнопкой по ключу и выберите Properties .

    А затем – Show Singing Key Properties .

    Fingerprint - полный идентификационный номер;

    Щелкните в Subkeys и определите краткий номер ключа (ID).

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

    2.2.6. Добавление ключей

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

    !! Добавьте на связку ключ, создав новую ключевую пару, в качестве имени ключа взять свое имя, адрес электронной почты написать в формате <имя>@mail. ru.

    2.3. Шифрование сообщений

    Существует три основных способа шифрования информации:

    1. Шифрование сообщения непосредственно в почтовой программе, поддерживаемой PGP Desktop .

    2. Шифрование через копирование текста сообщения в буфер обмена Windows.

    3. Шифрование текстового файла, с последующим присоединением его к почтовому сообщению.

    Мы будем шифровать сообщения в программе Outlook .

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

    Для создания и пересылки зашифрованных сообщений можно использовать различные почтовые программы, которые поддерживаются программой PGP: Outlook Express, The Bat! , Exchange, Eudora и др. Проще всего это делается в русифицированной программе Outlook Express.

    Шифрование и подпись сообщений в этой программе осуществляется следующим образом.

    1) Запустить программу Outlook Express через главное меню путем выбора пункта Программы/Outlook Express.

    !! Запустите программу Outlook Express. Создайте сообщение, содержащее приветствие своему лучшему другу (в качестве адреса электронной почты отправителя взять адрес компьютера, а в качестве электронного адреса получателя взять <фамилия>@mail. ru).

    6) Выполнить команду Файл/Создать/Сообщение или нажать кнопку Создать сообщение на панели инструментов. Окно развернуть на весь экран.

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

    https://pandia.ru/text/80/365/images/image014_31.jpg" width="619" height="294 id=">

    Рис. 2.6. Окно программы Outlook Express с подписанным сообщением 19

    Рис. 2.7. Окно программы Outlook Express с зашифрованным сообщением

    !! Закройте программу Outlook Express.

    2.3.2. Шифрование всего файла

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

    1) Написать текст сообщения в любом текстовом редакторе (например, в текстовом редакторе Блокнот) и сохранить его в файле.

    !! В текстовом редакторе Блокнот напишите сообщение, содержащее свой домашний адрес. Сохраните текст в файле text. txt в папке Мои документы.

    !! Зашифруйте и подпишите целиком весь файл (его имя теперь будет text. txt. pgp ).

    2) Зайти в программу Проводник, выделить созданный файл и нажать на правую кнопку мышки.

    3) В открывшемся контекстном меню появиться еще одна команда под названием PGP. Если поставить мышку на пункт меню PGP - раскроется меню, состоящее из нескольких команд:

    􀂃 Secure with key (шифрование без цифровой подписи ключом);

    􀂃 Secure with passphrase (шифрование без цифровой подписи паролем – без ключа);

    􀂃 sign as (подписать цифровой подписью);

    􀂃 PGP Shred – уничтожить файл (посредством нескольких перезаписей случайными или определенными данными).

    !! Раскройте файлы с исходным и зашифрованным сообщением и сравните их.

    !! Зашифрованный файл присоедините к сообщению электронной почты и отправьте вместе с ним.

    !! Уничтожьте исходный текстовый файл.

    2.4. Расшифровка сообщений

    В соответствии с шифрованием сообщений есть два основных способа их расшифровки.

    2.4.1. Расшифровка сообщений в программе Outlook Express

    1) Открыть полученное зашифрованное сообщение в программе Outlook Express.

    2) В меню PGP , раскрывающемся с Панели задач (знак – амбарный замок) выполнить команду Current Windows/Decrypt & Verify (рис. 2.10).

    3) В появившемся окне программы PGP необходимо ввести пароль, защищающий секретный ключ получателя сообщения и нажать на OK . На экране появится окно Text Viewer , содержащее расшифрованное сообщение. Его можно скопировать в буфер обмена, щелкнув по кнопке Copy to clipboard, а затем вставить в текстовый редактор.

    !! Запустите программу Outlook Express. Откройте папку Исходящие. Двойным щелчком откройте, созданное Вами сообщение и расшифруйте его. Сверьте идентификатор пользователя и идентификатор ключа.

    2.4.2. Расшифровка файла, содержащего

    зашифрованное сообщение

    1. Поместить полученный файл с зашифрованным текстом на Рабочий стол (файл с расширением .pgp ).

    2. Щелкнуть по выделенному файлу правой кнопкой мыши.

    3. В появившемся контекстном меню выбрать PGP/ Decrypt&Verify .

    4. В появившемся окне PGPshall Enter Passphrase необходимо ввести пароль, защищающий секретный ключ получателя со-общения и нажать на OK . В результате расшифрованный текст сообщения сохранится в файле с тем же именем без расширения .pgp.

    !! Расшифруйте сообщение, хранящееся в файле text. txt. pgp . Затем удалите этот файл.

    2.6. Основы работы с приложением PGPdisk

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

    Меню приложения PGP disk содержит следующие пункты:

    􀂃 New Virtual Disk… (создать виртуальный новый диск)

    􀂃 E ncrypt Whole Disk… (зашифровать целый диск)

    􀂃 Shred free space (очистить свободное пространство)

    2.6.1. Создание PGP диска

    1) Запустить программу PGPdisk.

    !! На диске С: создайте свой PGP диск , назвав файл, соответствующий диску, своим именем. Размер диска определить от 500 кбайт до 1 Мбайта.

    2) Исполнить команду New Virtual Disk , после чего на экране появится мастер создания PGP диска.

    https://pandia.ru/text/80/365/images/image018_23.jpg" width="621" height="372">

    Как только новый диск будет создан, программа PGP автоматически его подключит с тем, чтобы его можно было использовать.

    !! Откройте окно Мой компьютер и определите подключен ли PGP диск.

    2.6.2. Работа с PGP диском

    PGP диск можно подключать для работы с ним (в этом случае он будет отображаться в окне Мой компьютер вместе с остальными дисками) и отключать по окончании работы.

    Подключение диска

    1. В меню PGP выполнить команду Mount Disk (подключить диск).

    2. В окне обзора найти файл, соответствующий вашему PGP диску и щелкнуть по нему левой клавишей мыши. Нажать Enter .

    3. Ввести парольную фразу.

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

    !! Из папки Знакомство с Windows 98 скопируйте три любых файла на созданный PGP диск.

    Отключение диска

    1) Закрыть все программы и файлы, имеющиеся на диске PGP, т. к. невозможно отключить диск, если файлы на этом диске до сих пор еще открыты.

    2) Зайти в Мой компьютер, выделить мышкой диск PGP.

    3) Нажать на правую кнопку мышки или раскрыть меню PGP.

    4) Выполните команду Unmount PGP disk в появившемся меню.

    Как только диск будет отключен, то он перестанет отображаться в окне Мой компьютер.

    PGP диск можно настроить на автоматическое отключение в случае не обращения к нему в течении какого-либо периода времени (см. выше).

    Щелкните по диску правой кнопкой, выберите PGP Desktop.

    – Unmount Disk – отмонтировать (отключить диск),

    – Edit Disk Properties – редактировать параметры диска.

    С помощью Edit Disk Properties добавьте ещё одного пользователя диска.

    1. Тщательно изучить все разделы методических указаний и выполнить задания, помеченные знаком !! .

    2. После разрешения преподавателя приступить к выполнению дополнительного задания.

    3. Дополнительное задание.

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

    3.2. Используя приложение PGPkeys, создайте ключевую пару (открытый и закрытый ключ), назвав ее своей фамилией. Адрес электронной почты взять в следующем фор-мате <фамилия>@<номер компьютера>.mail. ru (например: *****@***ru). Запишите идентификационный номер своего ключа.

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

    3.4. Создайте текстовый файл в папке с номером компьютера на Рабочем столе с именем <номер компьютера>.txt при помощи текстового редактора Блокнот и запишите в нем идентификационный номер, экспортируемого открытого ключа.

    3.5. Отошлите свой открытый ключ и файл с идентификационным номером на все компьютеры: скопируйте соответствующие файлы в папки Сетевое окружение/<номер компьютера>/С:/Windows/Рабочий стол/папка с номером компьютера .

    3.6. Импортируйте присланные Вам открытые ключи, используя различные способы импорта, описанные в разделе Импорт ключа.

    3.7. Напишите сообщение в папке с номером компьютера на Рабочем столе при помощи текстового редактора Блокнот , содержащее Вашу фамилию, адрес и любое четве-ростишие. Зашифруйте сообщение, используя копирование в буфер обмена и открытый ключ корреспондента, поставив электронную подпись. Сохраните файл под именем Address_<номер компьютера>.txt и отправьте (скопируйте) его своему корреспонденту на соседний компьютер в папку с номером компьютера, расположенную на его Рабо-чем столе.

    Попробуйте расшифровать созданное Вами сообщение.

    3.8. Напишите сообщение, содержащее название Вашей специальности и цель своего поступления в колледж. Сохраните файл под именем special_<номер компьютера>. txt . Зашифруйте файл, содержащий сообщение через программу Проводник , используя открытый ключ корреспондента и поставив электронную подпись. Отправьте созданный файл своему корреспонденту на соседний компьютер в папку с номером компьютера, расположенную на его Рабочем столе.

    3.9. Откройте папку с номером своего компьютера. Раскройте файл address_<номер компьютера>. txt, выведите на принтер зашифрованный текст сообщения, расшифруйте его содержимое при помощи копирования в буфер обмена, сравните идентификационные номера ключей и электронную подпись корреспондента и расшифрованного сообщения. Выведите на принтер расшифрованный текст сообщения.

    3.10. Откройте папку с номером своего компьютера. Расшифруйте файл с расширением special_<номер компьютера>. txt .pgp, расшифруйте его через программу Проводник , сравните идентификационные номера ключей и электронную подпись Вашего корреспондента и расшифрованного сообщения.

    3.11. С разрешения преподавателя удалите свою ключевую пару из каталога ключей Ии импортированные ключи корреспондентов.

    3.12. Удалите папку с номером компьютера

    2. Листинг открытого ключа.

    3. Листинги зашифрованных и расшифрованных сообщений.

    4. Анализ различных способов шифрования сообщений.

    5. Краткие выводы о проделанной работе.

    Контрольные вопросы

    1. Какие основные функции выполняет программа PGP?

    2. Что такое ключ?

    3. Поясните назначение открытого и закрытого ключей.

    4. Поясните принцип шифрования и дешифрования информации с помощью PGP.

    5. Каким образом ставится электронная подпись?

    6. Как можно обменяться открытыми ключами со своими корреспондентами?

    7. Где можно увидеть идентификатор ключа и идентификатор пользователя?

    8. Назовите основные способы шифрования сообщений при помощи PGP.

    9. Назовите основные способы дешифрования сообщений при помощи PGP.

    10. Каким ключом шифруется сообщение, а каким ставится электронная подпись?

    11. Кто может расшифровать сообщение, зашифрованное открытым ключом?

    12. Для чего нужна электронная подпись?

    13. Что такое PGP диск?

    14. Как можно работать с PGP диском?

    15. Поясните процедуру отключения PGP диска.

    "Параноик - это человек, который кое-что понимает в происходящем"

    Уильям Берроуз

    Зачем это нужно?

    Электронные сообщения (E-mail, ICQ) легко могут прочитать и скопировать все, кто имеет доступ к серверу интернет-провайдера или к компьютерам, через которые эти сообщения проходят.

    В результате борьбы с терроризмом и отмыванием денег во многих странах, в том числе и в Украине, были приняты законы, которые обязывают интернет-провайдеров архивировать всю переписку своих клиентов. Спецслужбы крупных государств регулярно сканируют электронную почту в поиске подозрительных ключевых слов и фраз. Вот лишь несколько таких государственных программ: международная система ECHELON (США и другие), проект Carnivore (США), системы СОРМ и СОРМ-2 (Россия).

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

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

    Как защититься?

    В Интернете можно найти массу средств защиты данных. Разобраться в этом многообразии нелегко. Вот несколько простых советов:

    1. Выбирайте программы, которые существуют как можно дольше.
    2. Отдавайте предпочтение программам, исходный код которых является открытым (Open Source).
    3. Стойкость программы должна основываться на невозможности подобрать ключ, а не на секретности алгоритма шифрования.
    4. Старайтесь найти о программе как можно больше отзывов незаинтересованных лиц.

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

    Самым распространенным средством защиты информации в последние годы стали программы реализации стандарта шифрования PGP (Pretty Good Privacy). Устойчивость PGP базируется на некоторых фундаментальных нерешенных математических задачах.

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

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

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

    Скачать дистрибутив программы GnuPG можно по следующим ссылкам:

    • Версия для Windows - Gpg4Win
    • Версия для Mac OS - GPG Suite
    • Версия для Android - GPG Guardian project
    • Версии для других операционных систем - на сайте GnuPG

    Принцип шифрования PGP

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

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

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

    Проиллюстрируем принцип работы PGP

    1. Оба собеседника установили программу и каждый из них сгенерировал по паре ключей - один публичный и один секретный.

    2. После чего Алиса и Борис по открытому каналу обмениваются своими публичными ключами. В результате у каждого собеседника получается следующий набор ключей:

    3. Алиса пишет сообщение, зашифровывает его публичным ключом Бориса и отправляет адресату. Борис получает зашифрованное сообщение и открывает его своим секретным ключом:

    4. Борис пишет ответ, зашифровывает его публичным ключом Алисы и отправляет Алисе. Алиса получает зашифрованный ответ и открывает его своим секретным ключом:

    Что делает PGP?

    Шифрование PGP решает три задачи конфиденциального обмена информацией:

    1. Защищает текст сообщений от посторонних. То есть прочитать сообщение может только человек, у которого есть секретный ключ и который знает пароль.
    2. Подтверждает получателю целостность приходящего сообщения. То есть дает уверенность в том, что при передаче содержание сообщения не изменилось.
    3. Подтверждает личность отправителя. Встроенная в PGP электронная подпись однозначно идентифицирует отправителя, поскольку только он имеет доступ к секретному ключу и знает пароль.

    Как работает PGP?

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

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

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

    Ключи

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

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

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

    Цифровая подпись

    Цифровая подпись позволяет получателю удостовериться в личности отправителя сообщения. Она исполняет ту же самую функцию, что и обычная подпись. Однако обычную подпись можно подделать. Цифровую же подпись подделать практически невозможно.

    Подтверждение целостности сообщения - хэш-функция

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

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

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

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

    Пароль

    Шифрование PGP обладает еще одним уровнем защиты. Чтобы воспользоваться секретным ключом недостаточно иметь доступ к файлу секретных ключей. Для этого необходимо знать пароль.

    В программах реализации PGP пароль называется "парольной фразой" (Passphrase), хотя она может состоять и из одного слова. Однако помните, что использование слишком коротких паролей значительно увеличивает риск их взлома.

    Существует три наиболее популярных метода взлома пароля:

    1. Метод "словарной атаки" (Dictionary Attack) - последовательный перебор всех слов языка в различных регистрах.
    2. Метод "грубой силы" (Brute Force) - последовательный перебор всех возможных комбинаций всех символов.
    3. Метод "гаечного ключа" (другие варианты названия: метод "резинового шланга" (Rubber-hose Cryptanalysis), "терморектальный криптоанализ", "бандитский криптоанализ") - использование для взлома пароля слабейшего звена системы защиты информации, коим является человеческий фактор. Применяя этот метод, "криптоаналитик" прибегает к угрозам, пыткам, шантажу, вымогательству, взяточничеству и другим некорректным мерам воздействия на человека, который знает пароль. Это можно проиллюстрировать карикатурой:

    (источник карикатуры: xkcd.com)

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

    Не следует:

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

    Желательно:

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

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

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

    Для примера возьмем отрывок из стихотворения Эмиля Верхарна "Меч":

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

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

    сннмгбмнпдмврнсдпихтбповт

    В итоге нашим паролем будет следующая набранная последовательность символов:

    cyyvu,vyglvdhyclgb}