2. Chaves OpenPGP para o FreeBSD

O projeto FreeBSD utiliza chaves criptográficas em conformidade com o padrão OpenPGP (Pretty Good Privacy) para autenticar os committers. Mensagens contendo informações importantes como chaves públicas SSH podem ser assinadas com uma chave OpenPGP para provar que elas vieram realmente do committer. Veja PGP & GPG: Email for the Practical Paranoid by Michael Lucas e http://en.wikipedia.org/wiki/Pretty_Good_Privacy para maiores informações.

2.1. Criando uma chave

As chaves existentes podem ser usadas, mas elas devem ser obtidas com o doc/head/share/pgpkeys/checkkey.sh primeiro. Neste caso, certifique-se que a chave contenha um ID de usuário FreeBSD.

Para quem ainda não tem uma chave OpenPGP, ou precisa de uma nova chave para atender aos requisitos de segurança do FreeBSD, nesta seção iremos mostrar como gerar uma.

  1. Instale o security/gnupg. Digite estas linhas no ~/.gnupg/gpg.conf para definir padrões mínimos aceitáveis:

    fixed-list-mode
    keyid-format 0xlong
    personal-digest-preferences SHA512 SHA384 SHA256 SHA224
    default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 BZIP2 ZLIB ZIP Uncompressed
    use-agent
    verify-options show-uid-validity
    list-options show-uid-validity
    sig-notation issuer-fpr@notations.openpgp.fifthhorseman.net=%g
    cert-digest-algo SHA512
  2. Gere uma chave:

    % gpg --full-gen-key
    gpg (GnuPG) 2.1.8; Copyright (C) 2015 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Warning: using insecure memory!
    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? 1
    RSA keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048) 2048  1
    Requested keysize is 2048 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) 3y  2
    Key expires at Wed Nov  4 17:20:20 2015 MST
    Is this correct? (y/N) y
    
    GnuPG needs to construct a user ID to identify your key.
    
    Real name: Chucky Daemon 3
    Email address: notreal@example.com
    Comment:
    You selected this USER-ID:
        "Chucky Daemon <notreal@example.com>"
    
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
    You need a Passphrase to protect your secret key.

    1

    Chaves de 2048-bit com uma expiração de 3 anos proveem uma proteção adequada nos dias de hoje (2013-12). O artigo http://danielpocock.com/rsa-key-sizes-2048-or-4096-bits descreve a situação em mais detalhes.

    2

    Três anos é um tempo de vida para a chave que é curto o suficiente para tornar obsoletas as chaves enfraquecidas pelo avanço do poder computacional, mas é tempo suficiente para reduzir os principais problemas de gerenciamento.

    3

    Use o seu nome real, preferencialmente o mesmo que consta do seu documento de identificação (ID) emitido pelo seu governo para tornar mais fácil para as outras pessoas confirmarem sua identidade. Você pode inserir um texto adicional para ajudar outras pessoas a identificar você na seção Comment.

    Depois que o endereço de e-mail é inserido, uma senha é solicitada. Os métodos de criação de uma frase secreta segura são controversos. Em vez de sugerir um único caminho, aqui estão alguns links para sites que descrevem vários métodos:http://world.std.com/~reinhold/diceware.html, http://www.iusmentis.com/security/passphrasefaq/, http://xkcd.com/936/ e http://en.wikipedia.org/wiki/Passphrase.

Proteja a chave privada e a frase secreta. Se a chave privada ou a frase secreta pode ter sido comprometida ou exposta, notifique imediatamente e revogue a chave.

O processo para commit da nova chave é mostrado em Procedimento 1, “Etapas para os novos committers”.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.