CASO NÃO CONSIGA VISUALIZAR CORRECTAMENTE ESTA NEWSLETTER CLIQUE AQUI
 
# 69 | 20 Novembro 06
 

Professor Auxiliar na Secção de Lógica e Computação do Departamento de Matemática do Instituto Superior Técnico da Universidade Técnica de Lisboa.

Terminou o Secundário com 19 valores. Em 1992 ingressou em Matemática Aplicada e Computação no IST. Em 1995 tornou-se monitor da Secção de Lógica e Computação (SLC) do Departamento de Matemática e em 1997 concluiu o curso com 18 valores.
Em Fevereiro de 2001 foi nomeado professor auxiliar da SLC e fundou o Centro de Lógica e Computação. Colaborou com professores de várias universidades norte-americanas no âmbito da segurança computacional. Criou duas disciplinas no IST e conta com mais de 30 publicações internacionais.

Vencedor do Prémio Científico IBM 2005 com a tese “Análise de Sistemas de Prova de Conhecimento Nulo”.

email
site

Paulo Mateus
“O meu ataque é feito directamente sobre o protocolo.”

Em que consiste uma "Prova de Conhecimento Nulo"?
Uma prova de conhecimento nulo é um protocolo de segurança entre dois agentes, ditos a Alice e o Bruno. Por protocolo entende-se uma sequência encadeada e sincronizada de passos realizados pelos agentes envolvidos que, no caso particular da prova de conhecimento nulo, não confiam um no outro. O objectivo de uma prova de conhecimento nulo é a Alice provar ao Bruno que conhece um segredo de tal forma que o Bruno, após interactuar com a Alice, não fique a saber nada sobre este segredo, mas apenas que a Alice o possui. Estas provas servem para quando uma pessoa tem de interactuar com agentes em que não confia completamente, mas com os quais tem de realizar alguma tarefa que envolve segurança. Por exemplo, quando pagamos uma compra com um cartão multibanco confiamos que o vendedor nos fornece uma máquina honesta que se vai ligar ao sistema de SIBS para retirar dinheiro da nossa conta e colocá-la na conta do vendedor. Assumimos que a máquina não guarda a banda magnética do cartão nem o código que acabámos de digitar. Uma pessoa mais desconfiada poderia pensar que o vendedor tinha alterado a máquina e que esta, além de se ligar ao SIBS, também guardaria a banda magnética bem como o código do cartão, cartão este que depois seria reproduzido pelo vendedor para utilização ilícita.
Como resolver este problema? Uma solução é o cartão utilizar um sistema de identificação baseado em prova de conhecimento nulo. O cartão comunicaria com a máquina dando permissão, no momento, à retirada do dinheiro da conta do proprietário do cartão, mas a máquina nunca obteria informação para reproduzir o segredo do cartão, isto é, o acesso permanente à conta. Aparentemente parece ser impossível criar provas de conhecimento nulo, mas nos anos 80 foram propostas várias soluções. Supostamente estas provas de conhecimento nulo têm ainda outra propriedade de segurança que permite, no contexto da identificação, que o Bruno não consiga provar a ninguém que a Alice se identificou. Olhando mais uma vez para o exemplo do multibanco, esta propriedade garantia que o vendedor não teria hipótese de provar a ninguém que o titular do cartão lhe tinha feito uma compra. Esta propriedade foi posta em causa num trabalho da minha autoria que foi premiado pelo prémio IBM 2005.

Quais os objectivos da "Matemática Discreta"?
A Matemática Discreta é uma área que intersecta vários ramos da Matemática, entre eles a Lógica, Computação, Complexidade, Criptografia, Combinatória, Teoria das Probabilidades, Teoria dos Grafos e a Teoria dos Números. Estuda-se em Matemática Discreta estruturas matemáticas contáveis, isto é, finitas ou com a cardinalidade dos naturais. O interesse nesta(s) área(s) da matemática tem vindo a crescer significativamente devido às aplicações no âmbito dos sistemas computacionais, nomeadamente na análise da correcção e da eficiência de soluções informáticas. Tendo em linha de conta a crescente presença destas aplicações na Sociedade (a todo o nível), é natural que seja cada vez mais importante estudar a correcção e melhorar a eficiência destas.

Para quando está prevista a implementação de sistemas quânticos na computação?
Os sistemas quânticos já estão implementados no presente, e não são ficção científica. Podem até ser adquiridos a título pessoal, por exemplo, em http://www.idquantique.com/
Os sistemas existentes de momento permitem: geração perfeitamente aleatória de números e troca de chave com segurança perfeita (limitada a autenticação computacional). Pensa-se que os sistemas quânticos irão ter muito mais impacto num futuro próximo, em particular na comunicação e sistemas distribuídos. Num futuro mais distante, poderão revolucionar a computação se for possível construir um computador quântico, o que não parece imediato com a tecnologia presente.

Como nos podemos defender de um ataque à segurança dos nossos dados?
Bem, a pergunta é muito ampla, e de difícil resposta, assim dedico um parágrafo a um tópico corriqueiro que faça uso de segurança (mas julgo que as respostas são mais de senso comum do que de conselho técnico).
A nível do comércio electrónico o principal problema é o roubo do número do cartão de crédito. Uma solução simples é a utilização do sistema MBNet para precaver o roubo deste número. Convém também pagar a empresas on-line que tenham as suas chaves e sites certificados.
Quanto ao multibanco, é na realidade impossível proteger-mo-nos contra uma panóplia de ataques, como por exemplo o que apresentei na resposta 1 (ou outros como os perpetuados recentemente que foram bem mediatizados), no entanto, não vale a pena ser excessivamente zeloso.
Alguns conselhos podem ser dados, como por exemplo: não ter muito dinheiro nas contas à ordem que podem ser acedidas por cartões, levantar dinheiro em bancos ou locais regularmente vigiados, não efectuar compras com multibanco em loja menos idóneas ou utilizando máquinas menos idóneas, não escrever PINS na agenda, etc.
Quanto a palavras-chave utilizadas em aplicações, evitar sempre palavras que apareçam no dicionário e utilizar conjuntamente maiúsculas, minúsculas, símbolos, e números em todas as palavras-chave que permitam este tipo de entrada.
Quando as palavras-chave são só numéricas, evitar datas e combinações óbvias. Mais uma vez, nunca escrever estas chaves.
Quanto à utilização de um PC, convém ter um antivirus que cubra o sistema de mail e ter o sistema sempre actualizado e com uma Firewall. Evitar visitar páginas de web menos idóneas. Ter um software de controlo de spyware no computador (eg. spybot).
Evitar ler mails de desconhecidos, bem como seguir links em mails de desconhecidos (ou supostamente enviados pelo o seu banco).
Há de certeza mais cuidados a ter em mente, mas de momento não me ocorre mais nenhum.

Qual a diferença entre o seu trabalho e o de um hacker?
O meu trabalho é muito diferente de o trabalho de um hacker. Os hackers tipicamente atacam o sistema explorando erros de implementação de serviços do sistema (ou até erros nos compiladores que foram usados para gerar este serviços). Este erros permitem o acesso privilegiado ao sistema operativo. Um hacker conhece muitos destes erros e explora os mesmo para atacar o sistema. Assim, se os protocolos estiverem bem implementados, e compilados sobre ferramentas sem erros, um hacker dificilmente poderá aceder ao sistema. Infelizmente a maioria do software que utilizamos está cheio de erros, e portanto há muito espaço para os hackers atacarem. Um problema de investigação muito importante no presente consiste em provar que o software está correcto e que a geração de código não tem erros. O meu trabalho que foi premiado pela IBM é muito distante deste, no sentido em que mesmo que o protocolo esteja bem implementado, o ataque que proponho é sempre possível. Assim, o meu ataque é feito directamente sobre o protocolo, ainda como entidade abstracta e não implementada, enquanto um hacker concentra os seus ataques nos erros de implementação.

Anteriores entrevistas:
Teresa Cerveira Borges
Ricardo Gil-da-Costa
Pedro Arrojo
Rui G. Moura
Rosa Branca Esteves

 
Editor
António Coxito
Produção
Ricardo Melo
Design
Luís Silva
Subscrições/cancelamento
Esta mensagem está de acordo com a legislação Europeia sobre o envio de mensagens comerciais: qualquer mensagem deverá estar claramente identificada com os dados do emissor e deverá proporcionar ao receptor a hipótese de ser removido da lista. Para ser removido da nossa lista, basta que nos responda a esta mensagem colocando a palavra "Remover" no assunto. (Directiva 2000/31/CE do Parlamento Europeu; Relatório A5-270/2001 do Parlamento Europeu)