Skip to content


Configurando o gpg para suporte a Smartcards no Debian

Após alguns contratempos com o correio, meu fellowcard da FSFE chegou. Trata-se de um smartcard do tipo III, ou seja, as chaves criptográficas são geradas no próprio cartão, jamais saindo deles. Os mesmos são totalmente compatíveis com o gnupg, provavelmente o mais usado sistema criptográfico de chaves assimétricas do mundo livre.
O site do programa fellowship contém uma boa documentação, mas devido a certa quantidade de ajustes que tive que fazer, resolvi publicar aqui meu passo a passo.

Configuração da leitora de cartões

Iremos utilizar a leitora de cartões SCM SRC335 usb, bem suportada pelo gnupg. Como o sistema udev do Debian Sarge é muito antigo, vamos utilizar o Etch, que está bem próximo de ser lançado com estável. Abaixo segue a lista de pacotes utilizados:

  • Kernel 2.6.18-3-686;
  • udev (0.103-1)
  • gnupg (1.4.6);
  • gnupg-agent (2.0.0-5.2);
  • gnupg2 (2.0.0-5.2);
  • gpgsm ( 2.0.0-5.2);
  • pinentry-curses ( 0.7.2-3);
  • pinentry-gtk2 ( 0.7.2-3);

logado como root, crie um arquivo chamado gnupg-ccid.rules, dentro de /etc/udev/, com o seguinte conteúdo:

# GPG SmartCard Reader Support
ACTION!=”add”, GOTO=”gnupg-ccid_rules_end”
# USB SmartCard Readers
## SCM readers (SCR335, SPR532, & Co)
ACTION==”add”, SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”04e6″, SYSFS{idProduct}==”e001″, GROUP=”scard”, MODE=”0660″
ACTION==”add”, SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”04e6″, SYSFS{idProduct}==”e003″, GROUP=”scard”, MODE=”0660″
ACTION==”add”, SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”04e6″, SYSFS{idProduct}==”5115″, GROUP=”scard”, MODE=”0660″
# PCMCIA SmartCard Readers
## Omnikey CardMan 4040
SUBSYSTEM==”cardman_4040″, GROUP=”scard”, MODE=”0660″
LABEL=”gnupg-ccid_rules_end”

Em seguida, crie um link simbólico para este arquivo com o comando:

#ln -s /etc/udev/gnupg-ccid.rules /etc/udev/rules.d/gnupg-ccid.rules

Precisamos agora criar um grupo chamado scard:

#addgroup scard

#addgroup scard (substitua por seu usuário)

Pronto! Seu smartcard está configurado!

Configurando o gnupg

Agora vamos configurar o gnupg para utilizar o smartcard. Edite o arquivo gpg.conf, dentro do diretório $HOME/.gnupg, e ensira a seguinte linha:

use agent

É necessário reiniciar a sessão do usuário, para que as modificações entrem em vigor. Para testar, execute o seguinte comando:

$gpg –card-status

A saída deve parecer com isso:
card reader
Application ID …: D4760001234101010001000101E70101
Version ……….: 1.1
Manufacturer …..: PPC Card Systems
Serial number ….: 000004B2

Criando as subchaves

Esta parte você pode acompanhar passo-a-passo aqui. Atente principalmente para o processo de criação dos “stubs”. Enquanto não traduzimos para pt-br a documentação oficial do gnupg, essa será o sua fonte de pesquisa principal. 🙂

Utilizando seu smartcard

Tenha em mente o seu PIN number, e seu ADMIN PIN. Ao errar três vezes seu PIN, este só poderá ser desbloqueado com o ADMIN PIN. Caso este seja informado erroneamente três vezes, seu smartcard ficará inutilizável.

O programa pinentry ficará responsável por solicitar o PIN quando formos utilizar o cartão.

Gostaria de agradecer ao Georg Greve a Fernanda Weiden pela ajuda com a configuração, que realmente deu um pouco de trabalho.

Veja a parte 2 deste artigo: configurando suporte a SSH no gnupg via Smartcard

Posted in Admin. de Sistemas, Debian, Segurança.


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Continuing the Discussion

  1. Configurando suporte a SSH no gnupg via smartcard | Administração de Sistemas linked to this post on 05/01/2007

    […] « Configurando o gpg para suporte a Smartcards no Debian […]



Some HTML is OK

or, reply to this post via trackback.