Vous êtes sur la page 1sur 25

UENUX

Software Livre nas Urnas Eletrônicas

Seção de Voto Informatizado


Coordenadoria de Sistemas Eleitorais
Secretaria de Tecnologia da Informação
Agenda
● Histórico do voto informatizado
● Visão geral do processo eleitoral
● Hardware da Urna Eletrônica
● Quantitativos de urnas
● Visão geral em 2006
● Arquitetura do sistema até 2006
● Desafios para 2008
● Problemas encontrados
● Drivers para dispositivos
● A escolha por GNU/Linux
● GNU/Linux na Justiça Eleitoral
● Arquitetura do sistema em 2008
● Infraestrutura utilizada
● Processo/Equipe de desenvolvimento
● Nova tecnologia: Biometria
● Resultados
Histórico do voto informatizado
● 1986: recadastramento eletrônico: 70 milhões de eleitores.

● 1994: fez-se, pela primeira vez, a totalização das eleições


gerais pelo computador central, no Tribunal Superior Eleitoral.

● 1995: iniciaram-se os trabalhos de informatização do voto.


– Uma comissão de juristas e técnicos de informática,
apresentou um protótipo da urna eletrônica.

● 1996: contemplou-se cerca de 1/3 do eleitorado, com o voto


eletrônico.

● 1998: votaram, eletronicamente,cerca de 2/3 terços.


Histórico do voto informatizado
● 2000: todo o eleitorado votou na urna eletrônica.

● 2005: Referendo sobre desarmamento foi a primeira vez em


que o desenvolvimento de aplicativos de urna foi totalmente
feito pela STI do TSE.

● 2007: inicia-se o desenvolvimento do Projeto UENUX – Projeto


Linux na Urna Eletrônica.

● 2008: 100% das urnas com SO livre e aplicativos/drivers/API


totalmente desenvolvidas pela STI do TSE.
Visão geral do processo eleitoral
Seção Eleitoral

Totalização dos BU
 no TRE

TRIBUN AL SU PER IOR ELEITOR AL

||||||||||||||||
PATRIMÔNIO 50 3.338

Retirada do disquete
Seção:
Zona:
Município: 9876
Disco número:123.456-78

JUSTIÇA ELEITORAL
0654
00321

BU Comunicação 
Divulgação dos
ASDJFHSDJFS

dos Dados
SADFJSJD LJ
DFJSDFJS SD

 resultados via
SKDFJSF HD
FJGDFJ KJ
JDKLSDS IT
HFFGHDD LI
DSHSDH RE

INTERNET
SKDFJSF HD
FJGDFJ KJ
JDKLSDS

Impressão do BU

Transmissão do BU

Consolidação nacional dos 
resultados no TSE
Hardware da Urna Eletrônica
● Urnas Eletrônicas com hardware diferentes.
● Urna com processadores Cyrix/Geode (100MHZ a 333MHZ).
● Urnas com memória RAM entre 8MB e 128MB.
● Flash Cards entre 15MB e 64MB.
● Mais de 10 modelos de Flash Cards diferentes.
Quantitativos de urnas
● Parque computacional da Justiça Eleitoral em termos de Urnas:

● Licitação de 2 em 2 anos para atender o crescimento do


eleitorado e eventual substituição de urnas antigas.
● Compra de urnas em 2009 para substituir as urnas modelo
1998
Visão geral 2006
● Dois Sistemas Operacionais (proprietários):
– VirtuOS (16 bits)
– WinCE 4.0
– WinCE 4.2
● Limitação de espaço em flash cards com entrada de novas versões de SO.
● Custos com licenças de sistemas proprietários.
● Dificuldade de manutenção do software.
● Dificuldade para testar.
● Dificuldade de auditoria dos SOs.
● Ferramentas de desenvolvimento arcaicas (VirtuOS).
● Dificuldade para implantação de biometria em urnas com VirtuOS.
● VirtuOS trabalha com 640k de memória.
Arquitetura do sistema até 2006
Desafios para 2008
● Codificar e testar em menos de 20 meses
– Drivers;
– API;
– Bibliotecas de segurança, áudio, vídeo, compactação e etc;
– Customização do kernel (ue98);
– Sistemas de boot (ue2k2);
– Sistemas de eleição;
– Sistemas de apoio à eleição;
– Habilitação por biometria.
● Fazer/testar em 20 meses o que foi amadurecido entre 1996 e
2006
Problemas encontrados
● Urna 1998
– Arquitetura 5x86 diferente das outras urnas;
– Limitação de memória e processamento;
– Impressora fora do padrão;
– Driver de disquete padrão não funcional;
● Urna 2002
– Boot loader proprietário na BIOS;
– Dispositivos multiplexando um canal de comunicação;
● Urna 2004
– Disco interno (hda) não gera interrupção (poll);
Drivers para dispositivos
● Desenvolvimento feito totalmente pela equipe técnica do TSE.
● Utilização de drivers via carregamento dinâmico.
● Drivers desenvolvidos:
– Impressora térmica;
– Terminal do Mesário (TM);
– Sensores de alimentação;
– Áudio;
– Leitor biométrico;
– Informações de BIOS.
GNU/Linux na Justiça Eleitoral
● Em 2005 migração de mais de 27 servidores, responsáveis
pela totalização do votos, de HP/UX para GNU/Linux.
● Mais de 100 servidores GNU/Linux na Justiça Eleitoral.
● Previsão de substituição de todos servidores “Unix like” para
GNU/Linux ainda entre 2008/2009.
● Utilização de ferramentas abertas (Software livre) em vários
serviços da TI da Justiça Eleitoral, tais como:
– DNS, MTA, VCS, Bugtracker, Wiki, Httpd, AS e etc.
A escolha por GNU/Linux
● Kernel Linux é um projeto amadurecido.
● Vasta documentação na Internet e a maior comunidade de
desenvolvedores de sistemas abertos.
● Arquitetura modular do kernel permitindo carregamento de
drivers dinamicamente.
● Suporte a uma grande quantidade de hardware (HCL).
● Grandes empresas apoiam o Linux:
– IBM, Intel, Novell, Oracle, HP, CISCO
● Remoção ou adição de funcionalidades na compilação.
Arquitetura do sistema para 2008
Infraestrutura utilizada
● Kernel Linux 2.6.16.62
● GNU gcc 4.1.2 – Compilador C/C++
● GNU libc 2.3.5 – Biblioteca C
● GNU libstdc++ 6.0.8 – Biblioteca C++
● LibSDL 1.2.11 – Biblioteca gráfica
– SDL_image
– SDL_ttf
● Zlib - Compactação
● LibJPEG – Formato JPEG
● Salsa – Áudio
● Freetype - Texto
Processo/Equipe de desenvolvimento
● Sistemas desenvolvidos em C++ (90% do código) e device drivers desenvolvidos
em C/Assembly.
● Aplicativos desenvolvidos sob orientação a objeto (grandes vantagens: reuso,
encapsulamento, abstração e outras).
● Processo de desenvolvimento ágil.
● Melhores práticas:
– XP: Desenvolvimento baseado em testes, programação em pares,
desenvolvimento iterativo, integração contínua;
– SCRUM: reuniões diárias, iterações curtas e de duração fixa,
● Projeto iniciou com 4 desenvolvedores, finalizou com 12 desenvolvedores e 5
testadores trabalhando no mesmo ambiente.
● Equipe composta por: mestrandos e especialistas em computação.
● 212.000 linhas de código API/aplicativos, 106.000 linhas de código de testes de
unidade.
Nova tecnologia: Biometria
● 3 cidades participaram do projeto-piloto:
–São João Batista – SC
– Colorado do Oeste – RO
– Fátima do Sul – MS
● Em torno de 45.000 eleitores.
● Maior segurança na habilitação do eleitor.
● Linux viabilizou a biometria com software aberto (no WinCE é
difícil encontrar bibliotecas de verificação biométrica “não pagas”)
● Projeto pretende realizar o recadastramento de 128 milhões de
eleitores em até 10 anos.
● Para 2010 o projeto prevê 4 milhões de eleitores distribuídos na
maior parte dos estados brasileiros.
Resultados
1º Turno 2008: 2º Turno 2008:
● Total de Urnas: 455.971 ● Total de Urnas: 77.901
● Urnas substituídas: 2.233 ● Urnas substituídas: 515
● Seções com Votação Manual: 12 ● Seções com Votação Manual: 1
Perguntas

?
Transporte das urnas
Transporte das urnas
Transporte das urnas
Transporte das urnas
Transmissão resultados