O Cartão de Cidadão é dos maiores avanços tecnológicos do nosso país, mas ainda não se deu por isso porque o país ainda não lhe seguiu os passos (assunto que já referi noutra mensagem [1] e que irei continuar a referir futuramente). E, claro, quem não sabe como o sistema foi concebido e como funciona, assume que as culpas da abstenção forçada, causada aos utentes do Cartão de Cidadão no domingo último, são culpa do mesmo. Nada mais errado.
O Cartão de Cidadão veio substituir 5 antigos cartões, ou identidades, se assim preferirem: identidade civil, identidade fiscal, identidade para o SNS, identidade para a Segurança Social e identidade eleitoral. Assim, o Cartão de Cidadão possui, de uma forma legível por humanos, o BI, o NIF, Número de Segurança Social e o Número de Utente da Saúde do seu titular. Mas, estranhamente, não possui o número de eleitor. Curioso; ou talvez não!
De facto, a lógica é simples. O Cartão de Cidadão possui a morada completa do titular, e a morada está afecta a um círculo eleitoral, digamos assim, o qual atribuí um número de eleitor local (i.e. não universal) ao titular. Isto, claro, se o titular tiver mais de 18 anos, o que pode não acontecer. Logo, o número de eleitor e o círculo eleitoral, caso tenham de existir, são automaticamente atribuídos a um cidadão de acordo com a sua morada actual. Se mudarem de morada não precisam de mudar de cartão, apenas precisam de alterar a informação guardada internamente ao seu smartcart; e o círculo eleitoral e número de eleitor mudam transparentemente e sem mais burocracias. Como é evidente, o Cartão de Cidadão não pode ter o número de eleitor na sua informação externa porque o mesmo pode ser alterado sem uma re-emissão do cartão. Aliás, o Cartão de Cidadão minimiza a quantidade de informação mutável do cidadão (i.e. que pode mudar ao longo da sua vida), e apenas a fotografia é informação mutável que faz parte da informação compreensível por humanos.
Qual foi, então, o problema? O problema foi causado pelo facto de que muitas pessoas que mudaram para o Cartão de Cidadão estavam efectivamente recenseadas em círculos onde já não moravam. Devido aos automatismos inerentes ao Cartão de Cidadão, essas pessoas mudaram de círculo eleitoral e, logo, de número de eleitor. E essa informação não faz parte da informação base do Cartão de Cidadão nem deveria fazer, porque, como veremos adiante, ela é totalmente dispensável. Mas como essas pessoas não conseguiram obter essa informação no dia da eleição, e ela ainda é necessária, não puderam dirigir-se à mesa de voto correcta e não puderam votar.
Mas para que serve o número de eleitor? Actualmente serve apenas para “espalhar” votantes de um círculo eleitoral por várias mesas (serve para concretizar um processo de hashing). E é por isso que as pessoas têm de obter, via Internet ou SMS, o mapeamento entre BI + data de nascimento à local de voto + número de eleitor. E vale a pena manter este número? Claro que não, bastava ter uma ordenação por nome ou por BI para o processo ser mais simples. Sabendo o local onde se vota (e isso é fácil, basta perguntar aos vizinhos), e tendo votantes distribuídos por mesas de acordo com a ordem alfabética do seu nome, ou ordem numérica do seu BI, era perfeitamente dispensável o número de eleitor. Portanto, não é preciso alterar o Cartão de Cidadão, não é preciso voltar ao passado, não é preciso ter mais sistemas computacionais ultra-potentes, não é mesmo preciso ter computadores nas mesas de voto. Basta apenas mudar o processo de afectação de votantes a mesas. Ou seja, é preciso repensar e mudar o “processo de negócio”, e não adaptar uma nova realidade a “processos de negócio” antiquados.
O que correu mal com o sistema que, no dia das eleições, deveria mapear BI + data de nascimento para local de voto + número de eleitor. Não sei. De todo. Apenas sei que fiz um pedido por SMS às 12 e recebi a resposta às 16:30. Entretanto já tinha conseguido a resposta via Internet e não precisei de ficar à espera. (a data de nascimento creio que serve apenas para não obter o local de voto de todos os Portugueses através do sistema usando uma pesquisa exaustiva bastante eficaz; mas isto é uma especulação minha).
Mas algumas coisas posso dizer que estavam erradas. Por exemplo, o sistema não era robusto contra ataques DOS (Denial of Service). Por exemplo, como os SMS não tinham custos, alguém poder-se-ia ter divertido a gerar SMS em grande quantidade, de forma a saturar o sistema. Da mesma forma, como via Internet os pedidos podiam ser automatizados (não se usaram CAPTCHAs [Completely Automated Public Turing test to tell Computers and Humans Apart]), era perfeitamente possível inundar o sistema com pedidos, evitando desse modo que os votantes legítimos pudessem obter os resultados desejados. Eu não estou a dizer que foi isto que aconteceu (pode ter sido um simples problema de dimensionamento), mas isto era perfeitamente possível.
A terminar, este problema pode ser extrapolado para avaliar o futuro das eleições via Internet. As eleições são processos muito exigentes em termos de requisitos (por vezes contraditórios); um deles é que a eleição tem de ser iniciada e terminada num prazo bem definido e curto, e que não há normalmente direito a prazos suplementares. E se, durante esse período, houver problemas causados por ataques contra instâncias controladoras do processo eleitoral, isso poderá significar o caos na execução do processo se tal não for devidamente acautelado. Esta fragilidade pode ser facilmente eliminada no processo actual, se não se usar, claro, o malfadado serviço que nestas eleições tão má conta deu do seu recado. Mas em votações via Internet isso é muito mais complexo e difícil de garantir, a menos que se faça um investimento gigantesco numa infra-estrutura com protecções especiais.