TRABALHO FINAL DE CURSO - INESC-ID
TRABALHO FINAL DE CURSO - INESC-ID
TRABALHO FINAL DE CURSO - INESC-ID
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
MobileREVS 15-10-2006<br />
Funcionalidades criptográficas<br />
Os smart cards, para além das vantagens referidas de protecção e autenticação,<br />
possuem um co-processador específico para a realização de operações criptográficas: o<br />
módulo Crypto. Este módulo, conforme foi referido na Secção 2.2.3, realiza operações<br />
de cifra simétrica e assimétrica, das quais se destacam respectivamente os algoritmos<br />
3<strong>DE</strong>S e RSA. Comparativamente, os tempos de execução de uma operação de cifra de<br />
um bloco de dados num smart card são aproximadamente os seguintes [PS]:<br />
• O algoritmo 3<strong>DE</strong>S, com uma chave de 112 bits, demora 110 µs;<br />
• O algoritmo RSA, utilizando uma chave de 1024 bits, demora 400 ms;<br />
Os tempos apresentados dizem respeito ao modelo SmartXA P16WM064 da<br />
Philips, um smart card com um CPU de 16 bits e um co-processador criptográfico de 32<br />
bits. O bloco de dados do 3<strong>DE</strong>S tem 64 bits e o de RSA tem 1024 bits.<br />
2.3.3. Mecanismos de segurança<br />
O sistema MobileREVS não é um M<strong>ID</strong>let isolado. A sua arquitectura é baseada<br />
num modelo distribuído composto pelo Módulo Eleitor, que comunica através de uma<br />
rede aberta com outros servidores (ver Secção 4.3). De modo a poder garantir a<br />
segurança dessa comunicação, e ao mesmo tempo assegurar os requisitos do sistema,<br />
deve-se recorrer a técnicas criptográficas que forneçam computacionalmente essa<br />
segurança.<br />
Sendo a plataforma J2ME dotada de poucas funcionalidades criptográficas é<br />
necessário recorrer a mecanismos adicionais para desempenhar este papel. Para o efeito,<br />
existem várias soluções possíveis cuja utilização é plausível no sistema MobileREVS:<br />
• Funções criptográficas do módulo Crypto dos smart cards;<br />
• APIs de certificados digitais oferecidas pelo M<strong>ID</strong>P;<br />
• Optional Package SATSA do J2ME;<br />
• Light Edition da biblioteca criptográfica da Legion of the Bouncy Castle.<br />
Seguidamente, é feita uma descrição e análise dessas soluções e, no final, é<br />
apresentada uma avaliação das mesmas.<br />
Módulo Crypto dos smart cards<br />
O módulo Crypto é um módulo interno ao cartão dos telemóveis que oferece<br />
funcionalidades criptográficas e de geração de números aleatórios (ver Secção 2.2.3). A<br />
sua utilização reduziria significativamente o espaço total ocupado pelo M<strong>ID</strong>let, já que<br />
não seria necessário recorrer a bibliotecas externas, para pelo menos algumas funções<br />
criptográficas. Para o utilizar o M<strong>ID</strong>let tem de recorrer ao envio de tramas de bits<br />
(APDUs) segundo protocolos específicos.<br />
Apesar da vantagem em termos de segurança é necessário ter em conta que a<br />
utilização deste módulo pode aumentar significativamente o tempo de execução das<br />
operações criptográficas, dado o recurso a comunicações entre o M<strong>ID</strong>let e o cartão. No<br />
entanto, não encontrámos nenhum artigo que nos clarificasse em relação a este aspecto.<br />
Deste modo, esta opção não foi considerada para a realização das operações<br />
criptográficas necessárias.<br />
Luis Costa, Nuno Santos 27