você está aqui: Home  → Arquivo de Mensagens

Utilizando smartcards

Colaboração: Bruno César Brito Sant'Anna

Data de Publicação: 30 de Junho de 2005

Apesar de ser um sistema operacional extremamente robusto, exite pouca documentação sobre como fazer smarcard readers funcionarem no Linux, isso depende de alguns fabricantes mas grande parte dos equipamentos já tem suporte. Por meio de smartcards podemos utilizar um cartão inteligente para nos autenticar nos mais diversos serviços, seja logar na rede, seja acessar uma área restrita de alguma intranet.

Recentemente, a Receita Federal iniciou o uso publico de smartcards no Brasil com seus certificados e-CNPJ e e-CPF, estes certificados podem ser obtidos de outras maneiras como por exemplo token usb. Com estes certificados podemos acessar áreas restritas do site da Receita envio de arquivos, acredito que em um futuro próximo a receita vai tornar esses certificados obrigatórios (no caso do e-CNPJ já é obrigatório para entregar a DCTF mensal). Maiores informações sobre estes certificados podem ser encontradas em http://www.receita.fazenda.gov.br

Um dos clientes de nossa empresa precisava realizar alguns serviços na receita, tínhamos certa urgência, então optamos para a aquisição de um certificado e-CNPJ, aqui vai uma nota importante, os leitores de smartcard fornecidos pela Serasa (modelo Argos Mini II) não funcionaram, já fiz os testes mas não obtive sucesso, o leitor de SmartCard da CertiSign (modelo GemPC Twin) funcionou perfeitamente, só fiz os testes com esses dois modelos, portanto recomendo o GemPC Twin .

Com o smartcard e a leitora em mãos, vamos começar os preparativos. Vou listar abaixo o hardware utilizado:

  • Smartcard Reader USB GemPC Twin
  • Laptop c/ Debian Sid

Instalação

A instalação é tranqüila, vamos aos downloads. Antes de mais nada instale (ou verifique se já está instalada) a biblioteca libusb:

  # apt-get install libusb

Vamos ter que instalar o PCSC-lite, que na verdade é uma biblioteca que controla a comunicação entre os SmartCards e as leitoras:

  # apt-get install pcscd libpcsclite1

Instale também o pcsc-tools, não é obrigatório, mas é para ver se seu smartcard foi detectado corretamente:

  # apt-get install pcsc-tools

Vamos agora instalar o driver para a leitora, chamado ccid (como informei antes Leitora GemPC Twin, marca GemPlus).Na verdade é um driver genérico que funciona com a maioria das leitoras usb (veja a lista das leitoras compatíveis em http://pcsclite.alioth.debian.org/ccid.html):

  # apt-get install libccid

Agora plugue sua leitora no usb, no Debian reinicie o serviço pcscd e verifique se sua leitora foi detectada com o comando pcsc_scan:

  $ pcsc_scan
  
  PC/SC device scanner
  V 1.4.0 (c) 2001-2004, Ludovic Rousseau <ludovic.rousseau@free.fr>
  PC/SC lite version: 1.2.9-beta6
  Scanning present readers
  0: GemPC Twin 00 00
  
  Fri May 13 08:04:42 2005
   Reader 0 (GemPC Twin 00 00)
         Card state: Card removed,

Como você pode verificar, a leitora foi corretamente detectada.

Agora vamos fazer a instalação do OpenSC, que é um conjunto de bibliotecas que permite aos programas acessarem dispositivos SmartCard, dando suporte à leitura, escrita, criação de certificados, alteração de PIN e diversas outras opções (para mais informações: http://www.opensc.org/):

  # apt-get install opensc libopensc1 libopensc-openssl

Ok, bibliotecas OpenSC instaladas, agora crie um link simbólico para que os smartcard padrão PKCS11 (os utilizados pela Receita Federal) possam ser utilizados pelo OpenSC:

  # ln -s /usr/lib/pkcs11/opensc-pkcs11.so /usr/lib

Testando

Vamos agora analisar um certificado e-CNPJ dentro de um smartcart:

  # pkcs15-tool --list-certificates
  
  X.509 Certificate [AC CertiSign SRF V3 emitido por Autoridade Certificadora da Secretaria da Receita Federal v1]
         Flags    : 2
         Authority: no
         Path     : 4300
         ID       : 1032435d27af2eebda6a0cbe6cd7be400a2256c0

Estão listados os certificados contidos no cartão.

Configuração do Browser

Caso queira integrar o serviço de smartcards nos browsers Mozilla e Firefox a instalação é necessário instalar mais alguns pacotes. Certifique-se que o Personal Security Manager (pacote mozilla-psm está instalado):

  # apt-get install mozilla-psm

Instale também o pacote mozilla-opensc:

  # apt-get install mozilla-opensc

Pronto, vamos agora à configuração:

  1. Com o Mozilla (ou Firefox) aberto, vá em Edit > Preferences;
  2. Selecione a categoria Privacy & Security > Certificates;
  3. Clique em Manage Security Devices;
  4. Clique em Load;
  5. No campo Module Name digite: "OpenSC PKCS #11 Module";
  6. No campo Module File digite: /usr/bin/opensc-pkcs11.so.

O navegador deverá exibir uma mensagem demonstrando que a certificação foi importada com sucesso. Pronto, faça o teste no site da Receita Federal.

Claro o uso do smartcard da receita é só um exemplo, podemos crirar nossos próprios certificados, e inseri-los no cartão, com isso podemos criar as mais diversas aplicações, na UNICAMP utilizam smartcards para acesso à áreas restritas da universidade, isto pode ser implementado em qualquer empresa.

Enfim, acredito que nos próximos anos o uso de smartcards no GNU/Linux aumentará diante das novas tecnologias que vêm surgindo como o JAVA (Javacards), telefonia GSM, enfim acredito que é uma área que vale a pena ser explorada.

Qualquer dúvida favor contactar em <brunocesar (a) ajato com br>



 

 

Veja a relação completa dos artigos de Bruno César Brito Sant'Anna

Opinião dos Leitores

Rodrigo Dias
16 Set 2010, 22:46
Prezado Bruno,

Em que pese ter seguido os passos acima, estou com dificuldades em alguns site - meu certificado está parcialmente funcional.

Enviei um email para o endereço do artigo e retornou, tem algum outro de contato?

Se puder ajudar serei muito grato!

Rodrigo Dias
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script