Os chamados cartões de circuito integrado (ICCs), ou smart cards, ou ainda cartões inteligentes, desempenham papel estratégico na moderna infra-estrutura da informação por sua capacidade de armazenar dados na memória (ainda que de forma reduzida), executar cálculos e proteger chaves criptográficas.
Por isso, o professor Jacques Stern, diretor do Laboratório de Informática da École Normale Supérieure, chega a asseverar: “parece ... que o cartão eletrônico é o suporte criptográfico ideal”. Por outro lado, o professor João Zuffo assinala que a evolução econômico-social dos circuitos integrados e, conseqüentemente, dos cartões com chip, permitirá a construção de chips com 1 trilhão de bits em 2020, e uma queda nos custos de produção tendendo a aproximar-se de zero.
Destaque-se aqui o papel essencial que os cartões eletrônicos desempenham no Brasil. E sua importância tenderá a crescer com a consolidação da infra-estrutura nacional de certificação digital. Edgar Betts, no 4º Fórum de Certificação Digital (Brasília), ao apresentar a pesquisa da Foster & Sullivan, mostrou que o Brasil representa 45,9% do mercado latino-americano de cartões, avaliado em 2005 em 125,9 milhões de dólares. Mas todo este desafio de crescimento dentro da plataforma ICP-Brasil está condicionado à escalabilidade de projetos nacionais e seu bom desempenho em interoperabilidade e segurança.
Assim sendo, há, no domínio das aplicações, o desafio da interoperabilidade destes dispositivos. E todo aquele que participa hoje direta ou indiretamente do esforço de construção de sistemas para a ICP-Brasil tem exata noção disso. Os padrões abertos e sua correta implementação são peça fundamental em tal esforço.
O sistema ICP-Brasil conta atualmente com um sub-sistema essencial, que é um Sistema de Homologação, praticado pelo Laboratório de Ensaios e Auditoria (LEA), organizado pelo ITI conjuntamente com o LSITEC/USP. Ele visa a homologação de sistemas e equipamentos, - smart cards e tokens seguramente estão incluídos -, segundo padrões de interoperabilidade e segurança. O padrão mantido pelo consórcio PC/SC Workgroup é um dos pilares deste processo, que tem como membros centrais a Philips Semiconductors, Microsoft, Gemalto, Toshiba, Infineon, Ingenico, além de outros membros associados.
Por conseguinte, em meu artigo anterior encerro alertando sobre a importância da padronização dos cartões de circuito integrado e, aqui, alerto o leitor ainda mais uma vez sobre o problema. Para tanto temos um consórcio. O PC/SC Workgroup é fundamental para as aplicações com smart cards.
A padronização deste consórcio internacional de empresas do setor de tecnologia da informação trata então do middleware entre o cartão, o computador e seu sistema operacional, o que viabiliza que diferentes computadores, leitores e cartões funcionem entre si e facilita o desenvolvimento de aplicações em diferentes plataformas computacionais.
Os cartões inteligentes são uma plataforma segura para melhorar a segurança em aplicações e são assim capazes de guardar informação sensível, secure storage, tais como chaves privadas, números de contas, senhas, registros, informações médicas, etc.
O documento de especificações do PC/SC reconhece de forma clara os problemas de interoperabilidade entres cartões, aplicativos e sistemas operacionais. “O uso de ICCs em ambientes computacionais (PC) é atrapalhado pela falta de interoperabilidade em vários níveis”(parte I, v1.0).
O objetivo primeiro de padronização do PC/SC é resolver estes marcantes problemas. Estabelecendo para tanto um framework entre os esforços de desenvolvedores dos diversos setores da indústria. Sem estes últimos todo esforço redundaria inútil.
Ao se estabelecer uma rede haverá um avanço nas aplicações e nos serviços para o usuário final da tecnologia, além de melhorar o mercado para o desenvolvedor de aplicações, tecnologia de rede e também para o vendedor de tecnologias e plataformas de smart cards. “Estabelecer esta rede é a motivação básica dos esforços do PC/SC workgroup”, afirma o Consórcio.
O PC/SC articula sua suite de padrões a partir dos seguintes padrões: (1) ISO/IEC 7816 para o “formato” do cartão (contatos, sistemas de arquivos, assim como interoperabilidade física e elétrica), o (2) EMV (1996), importante padrão para sistemas de pagamentos, e, por fim, o padrão (3) prEN 726 (partes 1/7) do Comitê Europeu de Normalização, que especifica os ICCs para sistemas de telecomunicações e terminais. Visualmente poder-se-ia dizer que a suite de padrões do PC/SC organiza horizontalmente no plano das aplicações os padrões industriais EMV 96, o SET e o VIS 1.3. E verticalmente no plano da plataforma tecnológica o ISO/IEC 7816 e o CEN prEN 726.
A arquitetura estabelecida pela suite é relativamente simples, e pode ser aqui singelamente visualizada, e está sobejamente documentada pelo Consórcio PC/SC.
São diversas camadas entre as aplicações que rodam num SO qualquer e que manejam o cartão (ICC-aware applications) até a “ponta”, onde está o usuário final com o smart card propriamente dito. Estão nestas camadas gerenciadores e manipulares diversos. Desde um cripto-provider que oferece os serviços de criptografia até o manipulador da leitora do cartão, que chamamos também de “Interface Device”, ou IFD. A camada IFD handler abrange todo software necessário para mapear as capacidades nativas da leitora (IFD) com a interface do IFD handler.
É tipicamente o software de baixo nível no SO que irá suportar o canal de entrada e saída específico usado para conectar a leitora ao computador. E então pode prover acesso às funcionalidades especificas da própria leitora. À título de investigação, para o leitor que quer ir além desta somente introdução, esta arquitetura recebeu uma interessante implementação de desenvolvedores open source, chamada geralmente de PCSC Lite, ou MUSCLE (Movement for Use the Smart Card in a Linux Environment). Esta API desenvolvida no projeto, por exemplo, constrói o papel do IFD handler em 10 funções básicas, amplamente documentada.
Em suma, deve o leitor satisfeito ou insatisfeito com esta introdução, buscar uma documentação mais aprofundada para aplacar sua ira, ou melhor, sua satisfação.