После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение? |
Криптографические средства
Установка GnuPG
Многие современные версии Linux и BSD поставляются с предустановленной системой GnuPG. Это можно проверить, набрав в командной строке gpg --version. Если появится листинг с информацией о программе, то можно пропустить данный раздел и сразу перейти к применению GnuPG.
Проверьте также, содержат ли ваши дистрибутивные диски файл RPM для автоматической установки. Если вы хотите получить самую свежую версию, то на web-сайте имеются RPM для многих дистрибутивов. Если там есть RPM для вашей ОС, загрузите его и просто щелкните на нем мышью, чтобы установить программу. Если RPM отсутствует, то можно загрузить .tar-файлы с прилагаемого к книге компакт-диска или с официального Web-сайта и скомпилировать их вручную с помощью следующих инструкций:
- Распакуйте .tar-файлы, затем наберите обычные команды компиляции:
./configure make make install
Программа создаст структуру каталогов с корнем .gnupg в вашем пользовательском каталоге, где будут храниться ключи и другая информация.
- (Необязательно) После установки GnuPG наберите make clean, чтобы избавиться от бинарных или временных файлов, созданных в процессе конфигурирования.
Создание ключевых пар
После установки программы прежде всего необходимо создать свою пару ключей открытый-секретный. Если у вас уже есть ключ и вы хотите импортировать его в GnuPG, воспользуйтесь командой:
gpg --import маршрутное_имя_файла_ключей
Следует выполнить эту инструкцию для вашего кольца открытых ключей и отдельно - для кольца секретных ключей. Обычные форматы для колец ключей - pubring.pkr и secring.skr.
Если ключей у вас еще нет, следуйте приведенной ниже процедуре.
- Наберите gpg --gen-key. Будет запущен процесс, который запросит у вас некоторые данные.
- GnuPG попросит задать длину ключей в битах (по умолчанию - 1024, что обычно достаточно для надежной криптографии с открытым ключом). Можно увеличить длину до 2048 для усиления безопасности.
- Как правило, вам не нужно, чтобы ваши ключи имели ограниченный срок годности, но в специальном случае, когда ключи будут применяться ограниченное время, можно указать, когда истечет срок их действия.
- GnuPG запросит у вас имя и адрес электронной почты. Эти данные важны, поскольку они определяют индексацию открытого ключа на серверах открытых ключей.
- Наконец, GnuPG предложит ввести парольную фразу. Она должна быть достаточно длинной и сложной, но в то же время легко запоминаемой. (См. описание парольной фразы выше в этой лекции, в разделе о PGP). После двукратного ввода парольной фразы GnuPG создаст ключи. Это может занять некоторое время. В ходе этого процесса следует немного подвигать мышью. GnuPG использует случайные сигналы клавиатуры и мыши для повышения энтропии своего датчика случайных чисел.
Примечание: Еще раз - как и при работе с PGP или любым другим средством сильной криптографии, сохраняйте резервные копии пар ключей в безопасном месте и не теряйте их, иначе ваши зашифрованные данные будут безвозвратно потеряны.
Создание сертификата отзыва
После создания ключей можно создать сертификат отзыва. Он применяется, когда вы теряете ключи, или если кто-то скомпрометирует ваш секретный ключ. Тогда можно воспользоваться этим сертификатом для отзыва ключа с серверов открытых ключей. Тем не менее, вы сможете расшифровывать полученные ранее сообщения, зашифрованные с помощью старого открытого ключа (если вы не потеряли старый секретный), но никто больше не сможет зашифровывать сообщения с помощью ставших негодными открытых ключей.
Чтобы создать сертификат отзыва, введите:
gpg - output revoke.asc - gen-revoke пользователь
где пользователь заменяется его уникальной фразой в вашем кольце секретных ключей. Создается файл revoke.asc. Необходимо переместить его с жесткого диска в какое-то безопасное место. Нежелательно оставлять его рядом с секретным ключом, поскольку если кто-то получит доступ к секретному ключу, то сможет помешать и его отзыву.
Публикация открытого ключа
Желательно разместить ваш открытый ключ на сервере ключей, чтобы его можно было легко найти и послать вам сообщение. Чтобы сделать это, наберите команду:
gpg - keyserver имя_сервера_открытых_ключей - send-key пользователь
где пользователь задается адресом электронной почты, с которым ассоциируется публикуемый ключ. Можно использовать любой сервер открытых ключей PGP, так как все они регулярно синхронизируются. Выберите любой из них, и ваш открытый ключ будет распространен на все остальные. Имеется много серверов открытых ключей, например:
Шифрование файлов с помощью GnuPG
Для зашифрования файла служит команда -- encrypt, имеющая следующий формат:
gpg -- output зашифрованный_файл -- encrypt -- recipient адрес шифруемый_файл
Здесь адрес - это электронный адрес пользователя, которому вы хотите отправить зашифрованный файл. Отметим, что вы должны иметь открытый ключ адресата в своем кольце ключей.
GnuPG можно применять и для шифрования файлов с помощью простой симметричной криптографии, что удобно для защиты локальных файлов или для отправки сообщения кому-то, чей открытый ключ у вас отсутствует. Чтобы сделать это, воспользуйтесь командой --symmetric:
gpg --output зашифрованный_файл --symmetric шифруемый_файл
Расшифрование файлов
Для расшифрования полученных файлов при помощи GnuPG, воспользуйтесь следующей командой:
gpg --output расшифрованный_файл --decrypt зашифрованный_файл
Чтобы расшифровать файл, необходимо иметь в своем кольце секретных ключей ключ пользователя, для которого файл был зашифрован. У вас запросят парольную фразу, и если вы введете ее правильно, GnuPG создаст расшифрованный файл.
Подписывание файлов
Как упоминалось выше, имеется еще одно применение GnuPG и PGP - подписывание документов для контроля их целостности. Это можно сделать с помощью следующей команды:
gpg --output подписанный_файл --sign подписываемый_файл
Обычно GnuPG автоматически проверяет подпись при получении файла. Верификация файла по инициативе пользователя осуществляется с помощью команды
gpg --verify подписанный_файл
Можно создавать подписи в текстовом виде и отдельно от файла, если вы хотите, чтобы пользователи без GnuPG могли получить к ним доступ. Для этого имеются две команды. Команда
gpg -- clearsign подписываемый_файл
создает текстовое дополнение к подписываемому файлу. Если вы не хотите изменять этот файл, можно создать отдельный файл подписи с помощью команды
gpg --output файл_подписи --detache-sign подписываемый_файл
Модель сети доверия PGP/GnuPG
Как упоминалось ранее, вместо иерархической системы доверия, с цифровыми сертификатами и удостоверяющим их центром, в PGP и GnuPG используется модель сети доверия. Подписывая ключи людей, которых вы знаете, вы можете проверить, что их ключ заслуживает доверия. А если они подписывают ключи других людей, которых вы не знаете непосредственно, вы создаете цепочку доверия. Такая модель основана на идее "друг моего друга - мой друг". Модель, конечно, несовершенна; кто-нибудь в дальней части цепочки доверия может оказаться плохим парнем. Но основной принцип состоит в естественном росте цепочки без какой-либо инфраструктуры, и поэтому ее нельзя легко разрушить или "раздуть". Вы создаете сеть доверия, подписывая ключи каких-то людей и предоставляя им возможность подписывать ваши. В примере на рис. 9.6 Тони может неявно доверять ключам Джейн, Джо, Джона и Евы, хотя он не знает их непосредственно.