Next: , Previous: , Up: Посещение встречи  


Создание собственной пары ключей

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

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

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

  1. Загрузите последнюю версию GnuPG с сайта: gnupg-x.x.x.tar.bz2

    Внимание! Убедитесь, что вы используете GnuPG как минимум версии 1.0.6. Все более старые версии GnuPG содержат как минимум одну весьма серьёзную с точки зрения безопасности недоработку.

  2. Проверьте криптографическую подпись или как минимум контрольную сумму SHA1.
    $ gpg --verify gnupg-x.x.x.tar.bz2.sig gnupg-x.x.x.tar.bz2
    $ sha1sum gnupg-x.x.x.tar.bz2
    
  3. Распакуйте архив, настройте параметры сборки, выполните сборку и установите программу.
    $ tar xvzf gnupg-x.x.x.tar.bz2
    $ cd gnupg-x.x.x
    $ ./configure
    $ make
    $ su
    # make install
    # exit
    

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

  4. Возьмите USB диск, на котором вы будете хранить ключи, и отформатируйте его.
    # /sbin/mkfs.ext2 /dev/sda1
    
  5. Смонтируйте USB диск и создайте на нём каталог для вашей ключницы:
    # mount /mnt/usbfs
    # mkdir /mnt/usbfs/.gnupg
    

    и (если необходимо, в зависимости от параметров монтирования)

    # chown <your_uid>:<your_gid> /mnt/usbfs/.gnupg
    
  6. Создайте символьную ссылку каталога на USB диске в домашний каталог:
    $ ln -s /mnt/floppy/.gnupg .gnupg
    
  7. Создайте ключи GnuPG
    $ gpg --gen-key
    
  8. Выберите тип создаваемых ключей – если вы не знаете, что это, выберите ответ по умолчанию.
    Please select what kind of key you want:
    
       (1) RSA and RSA (default)
       (2) DSA and Elgamal
       (3) DSA (sign only)
       (4) RSA (sign only)
    Your selection? <return>
    
  9. Установите длину ключа равной 4096 бит.
    RSA keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048) 4096<return>
    Requested keysize is 4096 bits
    
  10. Выберите срок действия ключа. Разумный срок – 5 лет.
    Requested keysize is 4096 bits
    Please specify how long the key should be valid.
             0 = key does not expire
          <n>  = key expires in n days
          <n>w = key expires in n weeks
          <n>m = key expires in n months
          <n>y = key expires in n years
    Key is valid for? (0) 1y<return>
    Key expires at Fri Nov  5 00:19:43 EST 2014
    Is this correct (y/n)? y<return>
    
  11. Введите ваше имя и адрес электронной почты.
    Real name: Demo User<return>
    Email address: demo@@nonexistent.nowhere<return>
    Comment:
    You selected this USER-ID:
    "Demo User <demo@@nonexistent.nowhere>"
    
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O<return>
    
  12. Выберите парольную фразу. Парольная фраза является гарантом сохранности ключей, поэтому она должна быть нетривиальной, достаточно длинной. Не забудьте её. Если вы забыли парольную фразу, вы не сможете дешифровать свой закрытый ключ.
  13. Пошевелите мышкой, нажмите несколько случайных клавиш, запустите перестройку базы locate или find по большому дереву каталогов. Для создания ключей GnuPG требуется некоторое количество случайных данных. Для сбора данных GnuPG читает из /dev/random; энтропия данных в /dev/random увеличивается, среди прочего, за счёт прерываний.
  14. Если это необходимо, измените дополнительные параметры ключа. Например, если вы пользуетесь несколькими адресами электронной почты, вы можете присоединить их к своему ключу.
    $ gpg --list-secret-keys
    
    /home/demo/.gnupg/secring.gpg
    ----------------------------
    sec 4096R/C01BAFC3 2000-09-21 Demo User <demo@@nonexistent.nowhere>
    ssb 4096R/7A4087F3 2000-09-21
    $ gpg --edit-key C01BAFC3
    Command> help
    [...]
    Command> adduid
    [...]
    Command> save
    
  15. Пошлите ваш открытый ключ на сервер ключей:
    $ gpg --keyserver <keyserver> --send-key <Your_Key_ID>
    

    Вы должны увидеть подобное сообщение:

        gpg: success sending to '<keyserver>' (status=200)
    

Next: Пересылка открытого ключа на сервер ключей, Previous: Почему не нужно брать с собой компьютер, Up: Посещение встречи