Você está na página 1de 57

Algoritmos e Aplicações de

Segurança

Utilização de cartões
inteligentes em
aplicações móveis
AAS – Utilização de cartões inteligentes em aplicações móveis

Miguel Filipe Leitão Pardal (M5329 –


mflpar@mega.ist.utl.pt

16 de Dezembro de 2003

2
AAS – Utilização de cartões inteligentes em aplicações móveis

Índice
Índice................................................................................................................................. 1
Índice de Figuras............................................................................................................... 2
Índice de Tabelas...............................................................................................................3
Sumário Executivo............................................................................................................ 4
I – Introdução.....................................................................................................................5
II – Tecnologias de cartões................................................................................................6
Segurança de cartões magnéticos.................................................................................. 9
III – Cartões inteligentes..................................................................................................11
Arquitectura.................................................................................................................11
Processador..............................................................................................................12
Memória...................................................................................................................12
Sistema operativo.................................................................................................... 15
Comunicação com o exterior...................................................................................15
Cartões sem contacto...............................................................................................17
Segurança.....................................................................................................................17
Mecanismos físicos de protecção............................................................................ 18
Mecanismos lógicos de protecção........................................................................... 20
IV – O cartão SIM na rede GSM.....................................................................................22
O cartão SIM............................................................................................................... 22
A rede GSM.................................................................................................................23
SMS (Short Message Service).................................................................................25
GPRS (General Packet Radio Service)....................................................................28
Protocolo de autenticação........................................................................................28
Cifra da comunicação.............................................................................................. 30
Evolução do cartão SIM.............................................................................................. 31
V – Plataforma de aplicações móveis..............................................................................33
Interfaces de Programação de Aplicações................................................................... 34
SIM Application Toolkit............................................................................................. 34
SMS com segurança extremo-a-extremo.................................................................36
Modelos de aplicações.................................................................................................37
Aplicações de máquina virtual................................................................................ 37
Aplicações de micro-navegação.............................................................................. 38

1
AAS – Utilização de cartões inteligentes em aplicações móveis

Comparação dos modelos de aplicações................................................................. 39


VI – Comércio móvel...................................................................................................... 41
Smart Signatures for Secure Mobile Commerce......................................................... 41
Participantes no sistema...........................................................................................42
Utilização de um serviço......................................................................................... 42
Cartão SIM.............................................................................................................. 43
Certificação e confiança.......................................................................................... 44
Instalação e configuração do sistema...................................................................... 47
Operação do sistema................................................................................................48
Avaliação final do piloto ........................................................................................ 48
VII – Conclusões............................................................................................................. 50
Referências...................................................................................................................... 53
Abreviaturas.....................................................................................................................54

Índice de Figuras
Figura 1 – Tecnologias de cartões [ZoredaOton94]..........................................................6
Figura 2 – Dimensões físicas de um cartão ISO................................................................9
Figura 3 – Visão do interior de um cartão inteligente [ZoredaOton94]..........................11
Figura 4 – Áreas de memória de um cartão inteligente [ZoredaOton94]........................13
Figura 5 – Classificação das tecnologias de memória.....................................................14
Figura 6 – Tamanhos relativos de células de memória...................................................14
Figura 7 – Cartão sem contacto [ZoredaOton94]............................................................17
Figura 8 – Utilização de ácido nítrico (HNO3) para dissolver o cartão sem afectar o chip
[KommerlingKuhn99].....................................................................................................20
Figura 9 – Utilização de plataforma para testar e analisar o chip extraído
[KommerlingKuhn99].....................................................................................................20
Figura 10 – Divisão de uma região em células de transmissão móvel............................23
Figura 11 – Divisão de frequências GSM em 124 canais [Tanenbaum03].....................24
Figura 12 – Parte da estrutura de frames do GSM [Tanenbaum03]................................24
Figura 13 – Envio de uma mensagem SMS de um servidor de conteúdos para um
telefone móvel [Guthery01].............................................................................................26
Figura 14 – Tipos de mensagens SMS [Guthery01]........................................................27
Figura 15 – Protocolo de autenticação GSM...................................................................29

2
AAS – Utilização de cartões inteligentes em aplicações móveis

Figura 16 – Cifra contínua A5 do GSM..........................................................................30


Figura 17 – Arquitectura de um SIM de terceira geração [Guthery01]...........................32
Figura 18 – Protocolo de comando pro-activo entre o telefone móvel e o cartão SIM...35
Figura 19 – Estrutura do menu base de um serviço Smart Signature..............................42
Figura 20 – Relação de confiança para a activação de um serviço Smart Signature.......45
Figura 21 – Relação de confiança para utilização de um serviço Smart Signature.........46
Figura 22 – Operação do sistema Smart Signature..........................................................48

Índice de Tabelas
Tabela 1 – Comparação da capacidade e segurança das diferentes tecnologias de cartões
[ZoredaOton94].................................................................................................................8
Tabela 2 – Ataques e mecanismos de defesa físicos de cartões inteligentes...................19
Tabela 3 – Comparação do modelo de máquina virtual com o modelo de micro-
navegação........................................................................................................................39

3
AAS – Utilização de cartões inteligentes em aplicações móveis

Sumário Executivo
O objectivo deste trabalho foi apresentar a utilização de cartões inteligentes em
aplicações de comunicações móveis, dando ênfase aos aspectos de segurança.

O trabalho foi realizado no âmbito da disciplina de Algoritmos e Aplicações de


Segurança, do Mestrado em Engenharia Informática e de Computadores, do Instituto
Superior Técnico.

Com base no seu conteúdo, foi realizada uma apresentação aos colegas e ao Professor
numa aula da disciplina.

4
AAS – Utilização de cartões inteligentes em aplicações móveis

I – Introdução
O cartão é um formato de transporte de informação que a maior parte das pessoas
conhece e sabe utilizar. Nas últimas décadas sofreu várias evoluções tecnológicas que
potenciaram a sua capacidade e segurança de armazenamento de informação,
culminando com a tecnologia de cartões inteligentes (smart cards). Estes cartões são a
melhor tecnologia para guardar informação pessoal de uma forma segura. Um bom
exemplo do aproveitamento das suas características é o cartão SIM, que é a base da
identificação dos utilizadores da rede de comunicações móveis GSM. O sucesso desta
utilização levou a que actualmente estejam a ser propostas extensões para suportar
aplicações e transacções de comércio móvel.

Neste texto são apresentadas sucintamente as tecnologias de cartões (capítulo II), em


maior detalhe a arquitectura de cartões inteligentes (capítulo III), o cartão SIM no
contexto da rede GSM (capítulo IV) e a sua utilização para construir aplicações móveis
(capítulo V). Partindo desta base, é apresentado um protótipo de comércio móvel
(capítulo VI), sendo finalmente apresentadas conclusões (capítulo VII).

5
AAS – Utilização de cartões inteligentes em aplicações móveis

II – Tecnologias de cartões
Os cartões servem para comunicar a identidade do seu dono, direitos de acesso a
serviços ou outra informação relevante. Actualmente existem os seguintes tipos de
cartões:
• Cartões em papel;
• Cartões plásticos;
• Cartões magnéticos;
• Cartões ópticos;
• Cartões com chip:
o Cartões de memória;
o Cartões inteligentes.

Figura 1 – Tecnologias de cartões [ZoredaOton94]

Os cartões em papel são os mais antigos e guardam informação escrita na sua


superfície e através de dobras com significados socialmente convencionados.
Os cartões em papel são ainda bastante utilizados, mas sobretudo em interacções entre
pessoas. Os outros tipos de cartão, apesar de também poderem conter informação

6
AAS – Utilização de cartões inteligentes em aplicações móveis

legível por pessoas, têm sobretudo informação que apenas pode ser lida com
dispositivos dedicados a essa função.

Os cartões plásticos são mais duráveis que os cartões de papel e além de informação
pintada, podem ter dados embutidos em relevo e códigos de barras, para leitura rápida.
A durabilidade do plástico tornou-o no material base para a maioria dos cartões
modernos.

Os cartões magnéticos têm uma banda magnética, na qual é codificada informação em


formato binário. As codificações utilizadas permitem a leitura da banda com passagem
mecânica ou manual. A capacidade da banda magnética é medida em bpi (bits per inch -
bits por polegada), com valores típicos de 75 e 210 bpi. A capacidade de
armazenamento é bastante limitada, sendo cerca de 200 caracteres de 8 bits. Existem
dados apenas de leitura e dados de leitura/escrita (que são reescritos em cada utilização
do cartão). Os custos de produção de cartões magnéticos são bastante baixos, o que os
torna atractivos para utilizações de grande volume ou descartáveis, como cartões
bancários ou bilhetes de transportes.

Os cartões ópticos têm uma superfície com duas camadas – uma reflexiva e outra não
reflexiva – onde pode ser escrita ou lida informação através de um laser. A tecnologia é
semelhante à utilizada nos discos ópticos compactos (CD, DVD), mas tipicamente
apenas permite escrita única com várias leituras (WORM – Write Once, Read Many).
No entanto, a escrita pode ser feita de forma progressiva. Estes cartões têm
normalmente uma grande capacidade de armazenamento de informação a um custo
aceitável. Estas características tornam-nos bons para funções em que se tenha que
armazenar histórico, como no caso de registos médicos, por exemplo.

Os cartões com chip são os tecnologicamente mais sofisticados, com circuitos


electrónicos embebidos no substrato plástico. Os circuitos podem conter um
microprocessador e células de memória. Existem duas famílias de cartões com chip:
• Cartão de memória – sem microprocessador e apenas com lógica fixa
(hardwired), que não pode ser reprogramada;
• Cartões inteligentes – com microprocessador, que controla o acesso aos dados.

7
AAS – Utilização de cartões inteligentes em aplicações móveis

O custo de fabrico destes cartões é superior a todos os outros, mas têm características
que os tornam potencialmente mais seguros, o que permite compensar o custo adicional.

A tabela seguinte resume a capacidade e segurança dos diferentes tipos de cartões no


armazenamento de informação. A capacidade é quantidade de informação que pode ser
armazenada. A segurança é o nível de protecção que é dado à informação no cartão.

Tipo de Cartão Capacidade Segurança

Papel Baixa Baixa


(dezenas de bytes – B) (não existe protecção de leitura
nem de escrita)
Plástico Baixa Baixa
(dezenas de bytes – B) (não existe protecção de leitura,
mas a escrita já é mais difícil)
Magnético Baixa Baixa
(centenas de bytes – B) (não existe protecção de leitura
nem de escrita, mas exige
dispositivo próprio)
Óptico Alta Baixa
(milhões de bytes – MB) (não existe protecção de leitura
nem de escrita, mas exige
dispositivo próprio)
Cartão de memória Média/Alta Baixa/Média
(milhares ou milhões de (sem protecção ou controlo de
bytes – KB/MB) acesso global a todo o conteúdo:
“tudo ou nada”)
Cartão inteligente Média Alta
(milhares de bytes – KB) (controlo de acessos é efectuado
pelo microprocessador)
Tabela 1 – Comparação da capacidade e segurança das diferentes tecnologias de cartões
[ZoredaOton94]

Existe a possibilidade de fabricar cartões híbridos que combinam diferentes


tecnologias. Por exemplo, é possível ter um cartão inteligente com faixa magnética, que
deste modo é compatível com as duas tecnologias.

8
AAS – Utilização de cartões inteligentes em aplicações móveis

As dimensões físicas dos cartões são definidas em standards ISO, independentes de


tecnologias específicas.

Figura 2 – Dimensões físicas de um cartão ISO

Os standards delimitam diferentes zonas no cartão, para a localização de caracteres


identificativos, faixa magnética, painel de assinatura, localização do chip, localização
dos contactos, etc. Todas as dimensões têm gamas de variação bem definidas.

Existem formatos de cartão com dimensões inferiores. Os mini-cartões têm um


tamanho aproximadamente metade de um cartão convencional. Os cartões de encaixe
(plug-in) têm as dimensões mínimas necessárias para os contactos e normalmente são
instalados noutros dispositivos como telefones móveis, por exemplo.

Segurança de cartões magnéticos


Os cartões magnéticos são muito utilizados na indústria da Banca, como cartões de
débito ou de crédito. A rede de pagamentos Multibanco em Portugal é baseada neste
tipo de tecnologia [SIBS03].

O cartão é apenas uma das peças da arquitectura de segurança do sistema, que depende
de dispositivos externos para ler o cartão e do acesso à rede para efectuar as
validações. Os dispositivos externos mais comuns são os ATM (Automated Teller
Machine). O utilizador final conhece um PIN pessoal de acesso ao serviço, que é
guardado na banda magnética do cartão de forma cifrada. Quando o utilizador quer usar

9
AAS – Utilização de cartões inteligentes em aplicações móveis

o cartão, insere-o num dispositivo externo que vai pedir o PIN. O dispositivo externo
contém valores secretos que usa para cifrar o PIN introduzido e compara o resultado
com o valor guardado pelo cartão. Se os valores coincidirem, então a identidade do
utilizador é validada juntamente com a informação do cartão e a transacção pode ser
efectuada.
O sistema foi concebido para estar on-line a maior parte do tempo, o que se adequa aos
requisitos de alta disponibilidade habituais no negócio da Banca. No entanto, o sistema
também funciona em off-line, mas apenas com funcionalidades muito restritas que
resultam de uma análise custo–benefício entre fiabilidade e segurança. Por exemplo, o
Multibanco em off-line continua a permitir levantamentos de pequenos montantes.

Um ponto sensível do sistema é que para permitir utilizar cartões de uma organização
em terminais de outra, é necessário haver confiança para a troca dos valores secretos.
Em Portugal, este problema foi solucionado pela existência da sociedade interbancária
SIBS.
Outro problema deve-se a uma limitação tecnológica dos cartões de banda magnética,
que não permitem controlar a leitura e escrita de informação. Isto implica que a
informação pode ser modificada de forma não autorizada e que podem ser facilmente
criadas cópias dos cartões. Existem propostas de protecções baseadas em propriedades
mais sensíveis da banda magnética, mas que pecam por reduzirem a fiabilidade dos
cartões ou por obrigarem à substituição dos dispositivos leitores.

Os cartões inteligentes conseguem controlar a leitura e escrita, o que permite tornar a


validação on-line e off-line praticamente equivalentes pois o cartão contém toda a
informação necessária. Sendo assim, porque motivo continuam a ser usados
maioritariamente cartões magnéticos em aplicações bancárias? A principal razão é o
custo bastante superior no fabrico dos cartões inteligentes (apesar dos seus dispositivos
de leitura serem mais baratos). No entanto, a tendência da indústria vai no sentido da
mudança para os cartões inteligentes, como comprovam os lançamentos recentes dos
cartões de crédito American Express Blue e smart Visa Card, também impulsionados
pelas novas oportunidades de negócio surgidas com as transacções comerciais na
Internet.

10
AAS – Utilização de cartões inteligentes em aplicações móveis

III – Cartões inteligentes


Os cartões inteligentes (smart cards) são a tecnologia que combina uma razoável
capacidade de armazenamento de informação com um bom nível de segurança. Primeiro
vamos analisar a arquitectura para depois detalhar os aspectos de segurança.

Arquitectura
Os principais componentes da arquitectura de um cartão inteligente são:
• CPU – microprocessador;
• MEMORY – áreas de memória, com diferentes utilizações;
• CLOCK – relógio;
• PROTECTION – mecanismos de protecção do cartão;
• RESET – sincronização do cartão;
• I/O – Portos de Entrada/Saída.

Figura 3 – Visão do interior de um cartão inteligente [ZoredaOton94]

A arquitectura global é semelhante à de um computador pessoal, mas um cartão tem


requisitos de resistência física muito mais exigentes e os seus custos de produção têm
que ser baixos para que a maior parte das utilizações sejam economicamente viáveis.

11
AAS – Utilização de cartões inteligentes em aplicações móveis

Os componentes do cartão são todos fabricados num único chip, incluindo a memória.
As dimensões dos transístores variam tipicamente entre 1.0 µm a 1.5 µm, sendo maiores
do que os chips normais (< 0.2 µm), o que se relaciona com os aspectos referidos
anteriormente.

Processador
O microprocessador de um cartão típico tem instruções de 8 bit e dados de 16 bit
funciona a uma frequência de relógio entre 1 e 5 MHz. Exemplos: Intel 8051, Motorola
6805, Hitachi H8/310.
As instruções básicas disponíveis são o processamento lógico e de números inteiros.
Alguns mais sofisticados têm processamento de números de vírgula flutuante.

Em termos comparativos, as capacidades dos cartões actuais são equivalentes às dos


primeiros computadores pessoais da década de 1980. Convém notar que foi nessa época
que surgiram aplicações como o processamento de texto e a folha de cálculo.

Memória
O cartão tem dois tipos principais de memória:
• Armazenamento volátil – (leitura e escrita) – para guardar resultados
temporários de processamento ou comunicação. Tipicamente a capacidade é
entre 256 e 1024 Bytes;
• Armazenamento persistente
o Não modificável – (apenas leitura) – para informação que não muda
durante o tempo de vida do cartão. Por exemplo, o código do sistema
operativo;
o Modificável – (leitura e escrita) – para guardar informação mantida pelas
aplicações do cartão, organizada num sistema de ficheiros. Tipicamente a
capacidade é entre 3 e 32 KBytes.

12
AAS – Utilização de cartões inteligentes em aplicações móveis

Figura 4 – Áreas de memória de um cartão inteligente [ZoredaOton94]

Cada tipo deve ser implementado com uma tecnologia de memória que melhor se
adequa à utilização pretendida. Para o armazenamento volátil existem duas
tecnologias de RAM (Random Access Memory):
• RAM estática – mantém a informação enquanto existir fornecimento de energia;
• RAM dinâmica – apesar do fornecimento de energia, a informação necessita de
ser refrescada periodicamente para manter o seu valor.

Para o armazenamento persistente existem as seguintes tecnologias:


• ROM (Read-Only Memory) – o seu conteúdo é escrito durante o fabrico do chip
e depois pode ser lido várias vezes;
• PROM (Programmable ROM) – permite escrita progressiva e depois várias
leituras;
• EPROM (Erasable PROM) – semelhante à PROM, mas permite apagar todo o
conteúdo através da exposição a raios ultra-violeta;
• EEPROM (Electrically Erasable PROM) – semelhante à PROM, mas permite
apagar parte do conteúdo recorrendo a voltagens diferentes;
• Flash Memory – semelhante à EEPROM, mas não permite o apagamento
individual de células.

13
AAS – Utilização de cartões inteligentes em aplicações móveis

Figura 5 – Classificação das tecnologias de memória

A quantidade de memória que pode ser colocada no chip do cartão é limitada pela
dimensão e complexidade tecnológica de cada tipo de célula.

Figura 6 – Tamanhos relativos de células de memória

A memória de armazenamento persistente modificável está organizada em três zonas


diferentes, cada uma sob a responsabilidade de uma entidade: fabricante, emissor ou
utilizador.
As zonas do fabricante e do emissor guardam informação em pequena quantidade mas
sensível, como a identificação do cartão, valores secretos, estado do cartão, PIN,
número de tentativas, etc.

14
AAS – Utilização de cartões inteligentes em aplicações móveis

A zona do utilizador é designada por UAM (User Application Memory) e está


organizada num sistema de ficheiros, com nomes numéricos. As últimas gerações de
cartões têm um sistema hierárquico, com os seguintes tipos de ficheiro:
• MF (Master File) – raiz do sistema de ficheiros;
• DF (Dedicated File) – directório;
• EF (Elementary File) – ficheiro de dados.
Tipicamente uma aplicação tem um DF onde guarda os vários EF. O standard ISO
7816/4 do sistema de ficheiros define também vários EF standard.
Os ficheiros podem ser sequência de bytes qualquer ou então ter uma estrutura interna
com registos de dimensão fixa ou variável.

Sistema operativo
O sistema operativo é o programa que gere os recursos do cartão para prestar serviços
de mais alto nível às aplicações e aos utilizadores através da comunicação com os
dispositivos de interface. Por exemplo, disponibiliza comandos para abrir, ler, escrever
e eliminar ficheiros.

O comportamento exterior do cartão é em grande medida determinado pelo sistema


operativo, que implementa a política de segurança no acesso aos dados.

O sistema operativo do cartão é muitas vezes designado por card mask porque o seu
código é armazenado em ROM, que é fabricada recorrendo a uma máscara de bits.

Comunicação com o exterior


A comunicação com o exterior é feita através de uma WRU (Writing/Reading Unit),
que é um dispositivo de interface entre um computador pessoal e um cartão.

15
AAS – Utilização de cartões inteligentes em aplicações móveis

A WRU usa os contactos do cartão:


• C1 – Vcc – power supply – fornecimento de energia (3 ou 5V);
• C2 – RST – reset – reiniciação do cartão;
• C3 – CLK – clock – sinal de relógio externo;
• C5 – GND – ground – voltagem de referência (terra);
• C6 – Vpp – record/erase internal memory, idle state/active state – sinal de
registo de informação;
• C7 – I/O – reception mode / transmission mode – canal de comunicação.

O primeiro passo da interacção é fornecer energia, pois o cartão não tem fonte de
energia própria e apenas funciona quando está ligado ao dispositivo.
Depois segue-se a negociação do protocolo de comunicação. O diálogo entre a WRU e
o cartão inicia-se com um reset ao cartão, que responde com um answer to reset.
O protocolo mais básico de comunicação é o T0 que permite a transmissão assíncrona
de caracteres em half-duplex.
Independentemente do protocolo de comunicação, os comandos são sempre iniciados
pelo dispositivo de interface. O dispositivo diz o que é para fazer, o cartão escolhe
como fazê-lo.

Os pacotes de comunicação entre comandos ou mensagens de resposta são designados


por APDU (Application Protocol Data Unit). A estrutura de comandos é:
• Pedido = cabeçalho + corpo
• Resposta = dados + estado

16
AAS – Utilização de cartões inteligentes em aplicações móveis

Cartões sem contacto


Existe uma interface alternativa aos contactos que dispensa o contacto físico directo
entre o cartão e o dispositivo de leitura.

Figura 7 – Cartão sem contacto [ZoredaOton94]

O fornecimento de energia é feito por indução da bobine do cartão através de um campo


electromagnético, o que reduz o alcance do funcionamento do cartão e requer a
orientação relativa do cartão e do campo (coplanares a 45 graus).
A comunicação de dados com o cartão é efectuada por rádio de baixa frequência,
também com uma baixa transferência de dados.

Segurança
Os cartões inteligentes permitem guardar informação privada de forma segura. Um
exemplo de informação deste tipo é uma chave secreta de criptografia.
Para que a segurança seja efectiva, é necessário que exista uma política de segurança
adequada ao valor da informação protegida e às ameaças mais prováveis, traduzida na
utilização correcta de mecanismos de protecção. No caso dos cartões inteligentes,
existem mecanismos físicos (implementados em hardware) e mecanismos lógicos
(implementados em software).

A designação normalmente dada à segurança de cartões é a resistência a manipulação


(tamper-resistance), que significa que o cartão apenas funciona nas condições normais
para que foi concebido.
Além da resistência também é importante garantir a detecção da manipulação (tamper-
evidence), para se saber que a informação protegida foi revelada. Deste modo, no caso

17
AAS – Utilização de cartões inteligentes em aplicações móveis

de uma chave criptográfica armazenada no cartão, é possível efectuar a sua revogação o


mais depressa possível.

Os ataques ao cartão podem ser invasivos ou não. Um ataque invasivo implica a


destruição parcial ou total do cartão. Os ataques não invasivos não destroem o cartão
mas podem deixar rasto de uma outra forma (através do registo de transacções
efectuadas, por exemplo). Os ataques invasivos são mais caros e necessitam de
laboratórios com equipamento especializado. Os ataques não invasivos são mais
específicos e escalam melhor, podendo ser aplicados a grande número de cartões sem
um grande aumento do custo. Uma estratégia típica de ataque é começar por fazer um
ataque invasivo para analisar a estrutura física do cartão e identificar vulnerabilidades
que depois são exploradas usando ataques não invasivos, de forma mais rápida e barata.
Se conseguir detectar o ataque, o cartão pode ignorar os comandos recebidos (e registar
a ocorrência do ataque) ou então auto-destruir-se, o que nem sempre é possível por falta
de energia ou por o mecanismo de auto-destruição ter sido desactivado.

A segurança oferecida por um cartão inteligente não deve ser sobrestimada, pois
não existem dispositivos completamente seguros. Todos os cartões podem ser
comprometidos, dado um investimento suficiente de conhecimento, tempo, recursos e
motivação dos atacantes.
Outra consideração importante é que nem todos os cartões inteligentes são igualmente
seguros. A implementação de defesas mais eficazes normalmente aumenta os custos de
produção, por isso existem muitos modelos apenas com as protecções mais básicas.

Mecanismos físicos de protecção


Os mecanismos físicos de protecção são embebidos no hardware do cartão durante o
seu fabrico. Para perceber o mecanismo de defesa é necessário caracterizar o tipo de
ataque que se pretende contrariar.

Ataque Mecanismo de defesa


Escuta – análise analógica das entradas de Usar gerador aleatório térmico combinado
energia e de dados. Pela medição do com função pseudo–aleatória para
consumo de energia é possível descobrir as introduzir não determinismo na

18
AAS – Utilização de cartões inteligentes em aplicações móveis

Ataque Mecanismo de defesa


sequências de instruções executadas pelo execução dos programas, por exemplo,
cartão. variação do sinal de relógio, falsos acessos
a memória gerados aleatoriamente.
Geração de faltas – alteração das Os circuitos do cartão são mais sensíveis,
condições normais de funcionamento do de modo a não funcionarem fora das
cartão (entre 3 e 5 Volt, entre 1 e 5 MHz), condições esperadas. Têm também
para induzir erros através de campos protecções para evitar que fiquem
electromagnéticos, de falhas de energia ou danificados.
de mudanças bruscas de voltagem. Por
exemplo, o objectivo pode ser alterar o
resultado de um teste condicional (IF).
Apagamento parcial de memória – A defesa contra este ataque é espalhar as
através de raios de energia concentrada. células de memória de forma não
sequencial e introduzir bits sentinela para
detectar o ataque.
Extracção do chip – para poder ligar o O chip pode detectar que foi retirado do
chip a uma plataforma de teste e análise. encapsulamento através da alteração de
tensões mecânicas introduzidas durante o
fabrico.
Microscopia electrónica e micro sonda – Destruição total de circuitos de teste no
acesso directo à superfície do chip, para fim do fabrico. Adição de malha de
observar, manipular e interferir com o protecção na superfície do chip.
circuito integrado.
Tabela 2 – Ataques e mecanismos de defesa físicos de cartões inteligentes

19
AAS – Utilização de cartões inteligentes em aplicações móveis

Figura 8 – Utilização de ácido nítrico (HNO3) para dissolver o cartão sem afectar o chip
[KommerlingKuhn99]

Figura 9 – Utilização de plataforma para testar e analisar o chip extraído [KommerlingKuhn99]

Mecanismos lógicos de protecção


Os mecanismos lógicos são a protecção contra ataques por software. Estes ataques
tentam explorar vulnerabilidades na implementação de protocolos e algoritmos
criptográficos.
Existem ainda outros ataques que não podem ser combatidos apenas com tecnologia,
que são a utilização incorrecta do cartão e o uso de engenharia social para enganar os
utilizadores. Para estes casos é necessário informar os utilizadores, alertando-os para os
perigos existentes.

20
AAS – Utilização de cartões inteligentes em aplicações móveis

Os cartões inteligentes permitem utilizar criptografia para a comunicação e tratamento


de dados, sendo a utilização mais comum o controlo de acessos através da posse de
chaves secretas. O cartão pode pedir e responder a desafios de cifra de números
aleatórios, perante sistemas externos. Durante a comunicação cifrada é possível garantir
a integridade e autenticação através da posse de chave secreta.
Para suportar estas utilizações, praticamente todos os cartões inteligentes implementam
algoritmos de cifra, sendo o DES o mais usado e mais recentemente o 3DES. Ambos
são cifras simétricas, que usam a mesma chave para cifrar e decifrar. Pelo seu
desempenho e complexidade, este tipo de algoritmo é o que mais se adequa às
capacidades dos cartões. As cifras assimétricas são ainda pouco suportadas, mas a
crescente utilização de assinaturas digitais levam a que esta tendência se possa inverter
em breve. O comércio móvel é um exemplo em que seria interessante o uso de cifras
assimétricas.

As chaves de criptografia são alguns dos segredos guardados no cartão, que tem zonas
de memória próprias para códigos secretos e chaves pertencentes às várias entidades
(fabricante, emissor e utilizador). Existe uma chave mestra, normalmente pertencente ao
emissor, que permite executar comandos restritos para aceder a toda a informação e
modificar outros segredos.
Para o utilizador poder aceder a um segredo no cartão, tem que fornecer um PIN
(Personal Identification Number) que é um código numérico de poucos algarismos que
se destina a ser memorizado. O utilizador dispõe de um número limitado de tentativas
para introduzir o PIN correctamente.
Como já vimos anteriormente, a restante memória do cartão está organizada num
sistema de ficheiros. Cada ficheiro tem uma ACL (Access Control List) onde é definido
quem pode ler ou escrever, sendo o controlo efectuado pelo sistema operativo do cartão.

21
AAS – Utilização de cartões inteligentes em aplicações móveis

IV – O cartão SIM na rede GSM


Os cartões inteligentes existiam desde a década de 1980, mas durante muitos anos foram
uma “solução à procura de problema”, apesar de terem existido várias aplicações bem
sucedidas [ZoredaOton94]. No entanto, faltava uma aplicação de grande escala que
tirasse partido das potencialidades únicas da tecnologia.

No início da década de 1990, o sistema de comunicações móveis terrestres GSM


(Global System for Mobile communications) estava a ser ultimado. Um dos seus
objectivos era permitir o roaming, ou seja, que um telefone de uma rede móvel pudesse
fazer e receber chamadas a partir de redes diferentes. Para isso era necessário autenticar
o utilizador, para depois cobrar a chamada. Em sistemas anteriores, o número de conta
do utilizador era obtido do telefone e o estado da conta era verificado. Se a conta não
fosse encontrada, a chamada não era autorizada. Esta abordagem era difícil de manter
com roaming, pois seria necessário confiar em muitos outros operadores. No GSM
continuava a ser necessário obter a identidade da rede de origem do telemóvel e
perguntar-lhe se autorizava a chamada. Para tornar o roaming possível na prática, foi
necessário transferir parte da confiança da rede intermediária para o telefone do
utilizador [Guthery01].

O cartão SIM
Para guardar a identidade e a chave de autenticação do utilizador foi escolhido um
cartão inteligente, designado por SIM (Subscriber Identity Module), porque permite:
• Uma forma segura e consistente de identificar um utilizador perante a rede de
origem e outras redes (roaming);
• Um ambiente seguro e resistente a manipulação, onde se podem guardar chaves
criptográficas usadas na autenticação;
• Fornecer confidencialidade às comunicações móveis, guardando chaves para
cifra do tráfego entre o telefone móvel e a rede;
• Libertar o telefone móvel de aspectos de subscrição de serviço e de segurança.

22
AAS – Utilização de cartões inteligentes em aplicações móveis

Além destes aspectos, o uso do cartão permite também que os utilizadores possam
manter a sua conta quando mudam de telefone móvel, o que contribuiu para dinamizar o
mercado de terminais.

A rede GSM
Os telefones móveis comunicam com a rede móvel transmitindo sinais de rádio, que no
espectro electromagnético se situam nas frequências entre 104 e 106 Hz [Tanenbaum03].
Especificamente no caso do GSM, a transmissão é feita através de sinais digitais em
frequências de 900 MHz que permitem a transmissão de voz com alta qualidade,
transmissão de dados, fax e serviços de mensagens. A cobertura geográfica da rede é
feita uma malha de células (de raio inferior a 10 km), com reutilização de frequências
de transmissão em células próximas, mas não adjacentes. Na figura seguinte cada letra
representa uma frequência diferente e nunca existem duas letras iguais adjacentes.

Figura 10 – Divisão de uma região em células de transmissão móvel

A utilização de células foi a ideia chave do sistema, porque o alcance reduzido permitiu
reduzir a potência necessária e consequentemente o tamanho e autonomia dos telefones
móveis.
No centro de cada célula está uma estação base, para a qual transmitem todos os
telefones na célula. As estações base estão interligadas por uma rede de comunicações
que utiliza transmissão de dados terrestre. Quando o telefone passa de uma célula para
outra (handoff), tem que mudar a frequência que está a usar.

23
AAS – Utilização de cartões inteligentes em aplicações móveis

O GSM usa FDM (Frequency Division Multiplexing), com cada telefone móvel a
transmitir numa frequência e a receber numa frequência mais elevada (+ 55 MHz)

Figura 11 – Divisão de frequências GSM em 124 canais [Tanenbaum03]

Cada par de frequências é dividido com TDM (Time Division Multiplexing) com slots
partilhados por múltiplos telefones. A transmissão e recepção não acontece no mesmo
slot temporal, porque os telefones não podem transmitir e receber ao mesmo tempo. Os
slots TDM fazem parte de uma estrutura hierárquica de frames.

Figura 12 – Parte da estrutura de frames do GSM [Tanenbaum03]

24
AAS – Utilização de cartões inteligentes em aplicações móveis

Suportada nesta estrutura, existem vários canais lógicos com funções próprias:
• Broadcast control channel – sinal contínuo da estação base contendo a sua
identidade e o estado do canal. Todos os telefones móveis monitorizam a força
deste sinal para verificar quando mudam de célula;
• Dedicated control channel – usado para actualização da localização, registo e
preparação das chamadas. Cada estação base mantém uma base de dados dos
telefones actualmente sob a sua responsabilidade;
• Common control channel – subdividido em três canais:
o Paging channel – usado pela estação base para anunciar chamadas que
estão a chegar. Cada telefone está continuamente a verificar se existem
chamadas que se destinam a si;
o Random Access channel – permite aos utilizadores pedirem um slot num
canal de controlo dedicado;
o Access grant channel – usado para anunciar um slot atribuído.

SMS (Short Message Service)


O SMS é um serviço da rede GSM e permite enviar pequenas mensagens de dados
com capacidade limitada a 160 bytes, que podem ser caracteres ou valores binários. Os
pontos fortes do SMS são:
• Sistema assíncrono (store-and-forward) – o receptor pode receber a mensagem
mais tarde se não estiver ligado à rede no momento do envio;
• Confirmação de recepção;
• Baixo custo;
• Mensagens passam na maior parte das redes;
• Mensagens cifradas durante a comunicação mas legíveis para a rede móvel.

Uma mensagem é enviada para um centro de mensagens (SMS-C) de um operador, que


depois a encaminha para o telefone móvel de destino ou para o SMS-C de outra rede
móvel.

25
AAS – Utilização de cartões inteligentes em aplicações móveis

Figura 13 – Envio de uma mensagem SMS de um servidor de conteúdos para um telefone móvel
[Guthery01]

Existem seis tipos de mensagens SMS:


• SMS_SUBMIT – entrega uma mensagem ao SMS-C, geralmente para envio a
um telefone móvel;
• SMS_COMMAND – instrução para o SMS-C;
• SMS_DELIVER – entrega da mensagem ao telefone;
• SMS_SUBMIT_REPORT – resultado (sucesso ou fracasso) da mensagem
SMS_SUBMIT ou SMS_COMMAND;
• SMS_DELIVER_REPORT – resultado (sucesso ou fracasso) da entrega de uma
mensagem SMS_DELIVER ou SMS_STATUS_REPORT;
• SMS_STATUS_REPORT – resultados de uma mensagem SMS_COMMAND.

26
AAS – Utilização de cartões inteligentes em aplicações móveis

Figura 14 – Tipos de mensagens SMS [Guthery01]

Quando os operadores não têm acordo directo entre si, existem empresas intermediárias
designadas por SMS Brokers, que estabelecem vários acordos e depois fornecem
serviços com interfaces para envio e recepção de mensagens e ligações de banda larga.

Para fazer a integração de SMS em aplicações existem produtos comerciais que


oferecem interfaces de alto nível para enviar e receber mensagens e que permitem evitar
lidar directamente com os comandos AT de um air modem. A maior parte dos produtos
disponibiliza filas de mensagens que permitem parametrização da frequência de
interacção com o modem e o registo de funções de tratamento de eventos (call-back).
As aplicações comerciais que poderão considerar o SMS como um meio de
comunicação são aquelas que movem quantidades pequenas de dados, em escalas de
tempo de minutos.

27
AAS – Utilização de cartões inteligentes em aplicações móveis

GPRS (General Packet Radio Service)


A telefonia móvel já teve várias gerações tecnológicas:
• 1ª – Voz analógica (1980);
• 2ª – Voz digital (1990);
• 3ª – Voz e dados digitais (2000);

Pelas suas características o GSM pertence à 2ª geração, mas existem algumas extensões
no domínio da transmissão de dados que pertencem à geração 2.5 (intermédia entre a 2ª
e a 3ª). O GPRS é uma rede de pacotes suportada no GSM, que permite aos telefones
receber e enviar pacotes IP em células que estão a suportar comunicação de voz. O
GPRS reserva alguns dos slots temporais de algumas frequências para o tráfego de
pacotes. O número e localização dos slots temporais é dinamicamente controlado pelas
estações base. Os telefones pedem espaço às estações base e estas respondem indicando
os slots temporais reservados para o envio e recepção de pacotes de dados.

Protocolo de autenticação
O cartão SIM guarda o IMSI (International Management Subscriber Identity) que é um
identificador global do utilizador e da rede móvel a que pertence. O valor deste
identificador muda periodicamente para impedir o registo da localização de um mesmo
utilizador ao longo do tempo.

O cartão contém também a chave criptográfica Ki de 128 bits. Esta chave é um


segredo partilhado entre o cartão SIM e a sua rede de origem. O seu uso está protegido
pelo PIN do SIM e a chave nunca sai do cartão, pois os cálculos de cifra necessários
para o protocolo de autenticação são efectuados pelo próprio cartão. A segurança de
todo o sistema tem como base o segredo de Ki. Se Ki for descoberta, a conta do
utilizador fica comprometida e é possível fazer escutas e efectuar chamadas.

A autenticação é baseada num desafio – resposta que consiste na cifra de um número


aleatório usando a chave secreta Ki.

28
AAS – Utilização de cartões inteligentes em aplicações móveis

Figura 15 – Protocolo de autenticação GSM

1) O telefone pede ao cartão o IMSI para enviar à estação base onde está ligado, que
pode pertencer à rede de origem do utilizador ou a uma rede visitada se estiver em
roaming.
2) O IMSI é analisado para descobrir qual a rede de origem e é enviado para lá.
3) A rede de origem consulta a conta do utilizador e utilizando a sua cópia de Ki vai
gerar um triplo (RAND, SRES, Kc) – (valor aleatório, valor aleatório cifrado, chave
de sessão). O triplo é enviado para a rede visitada.
4) A rede visitada envia o RAND para o telefone, que o passa ao cartão.
5) O cartão cifra o RAND com a chave Ki e gera um valor SRES’, que é devolvido à
rede visitada.
6) A rede visita confronta SRES’ com SRES e se forem iguais o desafio foi respondido
adequadamente e a chamada é autorizada, sendo depois cobrada ao utilizador pela
rede de origem.

O triplo de autenticação é formado por:


• RAND (128 bits) = valor aleatório
• SRES (32 bits) = A3 (RAND, Ki) = valor aleatório cifrado
• Kc (64 bits) = A8 (RAND, Ki) = chave de sessão para cifra da comunicação

Periodicamente são pedidas novas autenticações ao telefone. Para optimizar as


comunicações entre a rede visitada e a rede de origem, quando é feito o primeiro pedido
são devolvidos cinco triplos (RAND, SRES, Kc) que podem ser guardados e usados
quando necessário.

29
AAS – Utilização de cartões inteligentes em aplicações móveis

O valor de SRES é calculado com o algoritmo A3 e é usado para a autenticação. O valor


de Kc é calculado com o algoritmo A8 que gera a chave de sessão. Ambos os
algoritmos são realizados na rede de origem (para gerar o triplo) e no cartão SIM (para
responder ao desafio de autenticação). Um operador pode usar outros algoritmos, pois
eles apenas são usados nos extremos da comunicação (rede de origem e cartão).
Na prática, os algoritmos A3 e A8 são substituídos pelo algoritmo COMP128 que gera
128 bits a partir do par (Ki, RAND), que são usados para gerar o SRES (primeiros 32
bits) e a Kc (últimos 54 bits seguidos de 10 bits nulos. Mesmo utilizando o A8 os
últimos 10 bits de Kc são sempre nulos, por isso Kc na prática tem apenas 54 bits).

Cifra da comunicação
Para cifrar as comunicações é usado o algoritmo A5 de cifra contínua com um gerador
de sequências baseado em três LFSR (Linear Feedback Shift Register) de 19, 22 e 23
bits. Os 64 bits de Kc servem para definir o estado inicial do A5, juntamente com um
número de mensagem (frame number) de 22 bits que se inicia a zero e que vai sendo
incrementado por cada mensagem transmitida.

Figura 16 – Cifra contínua A5 do GSM

O fluxo de dados é partido em mensagens (frames) de 114 bits. Cada mensagem é


combinada com a sequência gerada pelo A5 parametrizado pelo Kc e pelo número de
mensagem.
A cifra A5 é diferente em cada sentido da comunicação, porque é usada porção
diferente da sequência gerada.

30
AAS – Utilização de cartões inteligentes em aplicações móveis

Para o tráfego de voz, o algoritmo A5 é adequado pois não existem padrões previsíveis
que permitam começar a descobrir a sequência. Para o tráfego de dados em GPRS, já
começam a existir alguns padrões, no entanto, como em cada autenticação é usada uma
Kc diferente e como o número de mensagem de comunicação é incrementado, a
sequência muda com frequência suficiente para dificultar bastante o ataque.
Um outro ataque possível com cifra contínua é modificar bits e recalcular os controlos
de integridade (neste caso é usado CRC). No entanto, para este ataque a dificuldade é
conseguir retransmitir as mensagens modificadas dentro da ordem esperada para o
número de mensagem.

Evolução do cartão SIM


Tendo com ponto de partida a funcionalidade de identificação e autenticação do
utilizador da rede móvel, o cartão SIM tem evoluído para uma plataforma de
desenvolvimento de aplicações. Esta evolução do SIM está intimamente associada à
evolução da comunicação móvel da voz para os dados.

Actualmente são consideradas três gerações do cartão SIM:


• 1ª – SIM – autenticação na rede e serviços universais de telefonia, como agenda
telefónica e armazenamento de SMS;
• 2ª – SIM com aplicações – suporte a serviços específicos, acrescentados depois
do SIM já estar em utilização;
• 3ª – SIM como uma aplicação – o SIM é uma de várias aplicações, sendo a
aplicação de autenticação da plataforma.

Os principais desafios técnicos para a evolução são:


a) Separar os dados das diferentes aplicações;
b) Permitir a partilha de dados;
c) Permitir a execução concorrente de aplicações (multi-thread).

Construir aplicações para o SIM é praticamente idêntico a construir aplicações


genéricas para cartões inteligentes, por isso assiste-se a uma convergência de normas
nesta área.

31
AAS – Utilização de cartões inteligentes em aplicações móveis

O UICC é uma norma de plataforma multi-aplicacional para cartão, com suporte para
aplicações de diferentes fornecedores e que tem preocupações de retro-compatibilidade.
Esta norma ainda não foi finalizada e dos três desafios técnicos enunciados, ainda só
conseguiu responder ao a).

Figura 17 – Arquitectura de um SIM de terceira geração [Guthery01]

Na arquitectura SIM de terceira geração, o USIM é a aplicação SIM GSM suportada


pela plataforma de UICC. Uma outra aplicação planeada é o ISIM, que servirá para
autenticar o utilizador perante produtores de conteúdos multimédia.

O Application Management and Message Dispatch, também designado simplesmente


por Card Manager, é uma aplicação que pertence ao dono do cartão (operador da rede)
e que gere as outras aplicações recorrendo a direitos e privilégios especiais, funcionando
como uma extensão ao sistema operativo base do cartão. O Card Manager poderá vir a
assumir o papel de um inetd1, fazendo o encaminhamento de pedidos para as aplicações
a que se destinam.

1
O inetd é o servidor do sistema operativo Unix que recebe pedidos para os vários serviços e cria
instâncias para os processar. Exemplos de serviços: telnet, ftp, http.

32
AAS – Utilização de cartões inteligentes em aplicações móveis

V – Plataforma de aplicações móveis


Filosoficamente, a rede móvel é muito diferente da Internet. Os operadores móveis
vêem-se e comportam-se como gatekeepers, controlando o acesso a todos os recursos e
serviços da rede e cobrando a respectiva utilização. O próprio utilizador da rede móvel
está habituado a ter que pagar tudo, ao contrário do que acontece na Internet. Por isso,
do ponto de vista do operador, o pior que pode acontecer é que esta situação se altere e
que passe a ser um mero transportador de dados. Este negócio tem margens muito
menores, porque apenas se cobra o transporte de dados e não o valor acrescentado de
um serviço. Nesta perspectiva, as aplicações desenvolvidas com WAP permitiram aos
operadores móveis perceber que a única coisa que realmente controlam é o SIM.

O SIM é um computador seguro que está associado à maior infra-estrutura de chaves


não governamental. O SIM e esta infra-estrutura de chaves podem ser aproveitados
para atribuir confiança nas aplicações e nas transacções por elas geradas. Uma aplicação
baseada no SIM despoleta acções cujos dados são de quem diz que os enviou
(autenticação e não repúdio), que os dados não foram alterados (integridade) e que
ninguém pode escutar o seu conteúdo (confidencialidade). Além disso, os telefones de
nova geração e as redes vão manter-se compatíveis com o SIM.

Um outro aspecto indispensável às aplicações é a comunicação de dados. As redes


GSM colaboram bem entre si nas comunicações de voz, mas nas comunicações de
dados isso já não acontece. Devido a este problema, uma aplicação tem que se
preocupar com os diferentes cabeçalhos dos vários níveis da rede, ao contrário da
Internet em que basta conhecer o nível de transporte. Sendo assim, o único mecanismo
de transmissão de dados verdadeiramente universal é o SMS.

Por estas razões, a dupla SIM + SMS é a base de uma plataforma para aplicações
confiadas, como aplicações que envolvam transacções financeiras (pagamentos).

33
AAS – Utilização de cartões inteligentes em aplicações móveis

Interfaces de Programação de Aplicações


Uma aplicação baseada em SIM tem duas interfaces principais:
• Interface de acesso interior (Inward looking API) – bibliotecas da linguagem de
programação, funcionalidades do sistema operativo, funções criptográficas;
• Interface de acesso exterior (Outward-looking API) – serviços do telefone e da
rede através de comandos pro-activos e eventos.

É a interface de acesso exterior que torna uma aplicação SIM diferente de uma
aplicação para um portátil, PDA ou mesmo para um telefone móvel. Isto porque uma
aplicação SIM executa-se num ambiente pertencente ao operador de rede que é
considerado seguro e controlado e no qual existe confiança.
A interface de acesso exterior foi padronizada pela indústria e é designada por SIM
Application Toolkit (SAT).

Em resumo, o SIM adquiriu as seguintes capacidades durante a sua evolução:


• API Interna;
• Suporte a linguagens de alto nível;
• Notificação de eventos;
• Interacção pro-activa com o telemóvel.

SIM Application Toolkit


O SAT (SIM Application Toolkit) surgiu em primeiro lugar devido a uma necessidade
dos operadores em fornecer novos serviços de voz aos clientes, que eram muito caros de
implementar na própria rede por razões de escalabilidade. Por exemplo: marcação
rápida de números, reencaminhamento de chamadas, entre outros. Mais tarde, surgiu a
necessidade de construir aplicações com base no cartão SIM e em mensagens SMS mais
orientadas aos dados.
O SAT define um conjunto de comandos implementados pelo telemóvel que permitem
a escrita de aplicações no SIM sem a instalação de software adicional no telemóvel.
Além disso define o modo como as aplicações além da chave secreta do subscritor
podem ser desenvolvidas e carregadas no SIM. As normas do SAT permitem ainda a

34
AAS – Utilização de cartões inteligentes em aplicações móveis

portabilidade das aplicações, definindo procedimentos de teste e certificação de


aplicações.
A definição do SAT teve que superar alguns problemas técnicos devidos à relação
mestre escravo existente entre o SIM (escravo) e o telefone móvel (mestre), o que
aparentemente significava que seriam necessárias modificações ao telefone para cada
aplicação.
Foram definidos dois tipos de fluxo de informação:
• Comando pro-activo (pro-active command) – se é o SIM que inicia a
conversação, pedindo ao telefone móvel que faça algo;
• Obtenção de evento (event download) – se é o telemóvel que inicia a
conversação.

Os comandos pro-activos são enviados do SIM para o telefone móvel. No entanto, para
manter a relação mestre escravo, o SIM tem que aguardar que primeiro o telefone lhe
envie um comando, que pode ser uma simples verificação de estado. Na resposta, o
código de resultado indica ao telefone que deverá pedir um comando ao SIM. O
telefone vai obter o comando pro-activo, executá-lo e depois enviar o resultado de volta
ao SIM.

Figura 18 – Protocolo de comando pro-activo entre o telefone móvel e o cartão SIM

35
AAS – Utilização de cartões inteligentes em aplicações móveis

Os comandos pro-activos estão organizados em várias categorias:


• Aplicacionais – usados para construir aplicações (Exemplos: DISPLAY TEXT, GET

INKEY, GET INPUT. SELECT MENU, SEND SHORT MESSAGE, RUN AT COMMAND);

• Cartão – usados para interagir com outros cartões ligados ao telemóvel


(Exemplos: POWER ON CARD, GET READER STATUS, PERFORM CARD APDU, LAUNCH

BROWSER);

• Comunicação – interface genérica para os vários transporte (bearers) que o


telemóvel suporta (Exemplos: OPEN CHANNEL, SEND DATA, RECEIVE DATA);
• Sistema – usados para manter a sincronização com o telemóvel e com a rede
(Exemplos: MORE TIME, POLL INTERVAL, REFRESH).

SMS com segurança extremo-a-extremo


O SAT define uma forma de transmitir mensagens SMS com segurança extremo-a-
extremo (norma ETSI TS 03.48 – Security Mechanisms for SIM stage 2).
A cifra com a chave de sessão GSM não é completamente segura porque podem existir
troços terrestres sem protecção e porque a chave de sessão é conhecida pela rede GSM
em geral.

Os SAT Security Headers são cabeçalhos opcionais que viajam nos dados da
mensagem, que é a única parte que garantidamente chega ao outro extremo da
comunicação. Os cabeçalhos indicam o algoritmo criptográfico, o tratamento de blocos
e o controlo da integridade existentes. Cada mensagem tem um contador pode ser usado
para impedir ataques por repetição, mas obriga à manutenção de estado nos dois
extremos ou à utilização de marcas temporais. As chaves usadas são implicitamente
acordadas pelas duas entidades e não são referidas explicitamente nos cabeçalhos.
Todos as características referidas são opcionais, pelo que a segurança efectiva está
muito dependente da correcta utilização dos mecanismos de protecção. Por outro lado, a
norma pode facilmente suportar a utilização de novos algoritmos.

36
AAS – Utilização de cartões inteligentes em aplicações móveis

Modelos de aplicações
Tal como vimos, o conceito base do SAT é um conjunto de comandos implementados
pelo telefone móvel que permitem a escrita de aplicações no SIM. As aplicações são
definidas por byte-codes que são interpretados. Existem dois modelos de aplicações
que utilizam o SAT:
• Máquina virtual – aplicações instaladas no cartão;
• Micro-navegação – aplicações interpretadas pelo cartão.

Os primeiros interpretadores de byte-codes em cartões inteligentes surgiram no início


dos anos 1990. As propostas mais interessantes são mais recentes:
• 1996 – Java Card;
• 1997 – Microsoft Windows for Smart Cards;
• 1998 – Wireless Internet browser (MML, HTML, WML).

Aplicações de máquina virtual


Neste modelo as aplicações executam-se numa máquina virtual do cartão. A norma
dominante para este modelo é a USAT Virtual Machine.
Existem várias variantes da máquina virtual USAT, sendo as principais a Java Card e a
Microsoft Windows for Smart Cards. As aplicações são programadas com linguagens
procedimentais (Java, C, Visual Basic) que depois são compiladas para byte-codes.
Cada variante tem os seus próprios byte-codes, mas como a API para a máquina virtual
USAT foi normalizada existe portabilidade das aplicações ao nível do código fonte.

Existem duas abordagens diferentes para a arquitectura da máquina virtual:


• Baseada em pilha (Stack Machine);
• Baseada em registos (Register Machine).
A opção por uma destas vias relaciona-se com o compromisso entre a complexidade da
implementação da máquina virtual e a dimensão do programa interpretado, também
conhecido por dilema CISC versus RISC. A máquina Java é considerada CISC e a
Microsoft é considerada RISC.

37
AAS – Utilização de cartões inteligentes em aplicações móveis

Os byte-codes das aplicações são armazenados em ficheiros, que depois são copiados
para o SIM. Para finalizar a instalação no SIM, é necessário registar a aplicação e
indicar quais os tipos de eventos que devem gerar notificações.
O operador de rede não pode permitir que qualquer um (incluindo o subscritor) encha a
memória do SIM com aplicações, por isso a parte mais difícil da instalação é convencer
o operador de rede a autorizá-la.

Aplicações de micro-navegação
Neste modelo as aplicações são formadas por páginas que são interpretadas e
descartadas de seguida. A norma dominante para este modelo é o USAT Interpreter.
O nome de micro-navegação surge por analogia é com a navegação na Internet. No
entanto, as páginas do USAT mais orientadas à invocação de funcionalidades da SAT
do que ao conteúdo da própria página.
Uma página USAT tem um conjunto de byte-codes que definem a organização da
página. Este conjunto de byte-codes é substancialmente diferente do usado pelas
aplicações de máquina virtual.

Cada página tem a seguinte estrutura:


• Page;
• Page parameters;
• Navigation Unit #1
o Navigation Unit Name (anchor);
o Byte codes;
• Navigation Unit #n
o …

Existem vários espaços de nomes para variáveis:


• Environment – informação sistema (Exemplo: versão do navegador);
• Permanent – informação do utilizador (Exemplos: nome e endereço de correio
electrónico);
• Temporary – variáveis temporárias da Página;
• Page string – cadeias de caracteres da página.

38
AAS – Utilização de cartões inteligentes em aplicações móveis

Comparação dos modelos de aplicações


A tabela seguinte resume as características do modelo de máquina virtual (USAT
Virtual Machine) e do modelo de micro-navegação (USAT Interpreter).

Funcionalidade USAT Virtual USAT


Machine Interpreter
Acesso à SAT API Sim Sim
Interface utilizador uniforme Não Sim
Controlo de segurança no carregamento Alto Baixo
Controlo de segurança de execução Baixo Alto
Armazenado permanentemente no SIM Sim Não
Ligado à Internet Não Sim
Acesso ao sistema de ficheiros do SIM Sim Não
Lógica de execução de programas Muita Pouca
Kits de desenvolvimento de software Sim Não
Tempo de desenvolvimento Longo Curto
Segurança extremo-a-extremo (ETSI TS 03.48) Sim Sim
Uso de byte-codes para transmissão e execução Sim Sim
diferentes
Disponibilidade (aproximada) 10 Milhões SIM 80 Milhões SIM
5 Redes 60 Redes
Tabela 3 – Comparação do modelo de máquina virtual com o modelo de micro-navegação

As aplicações de máquina virtual são administrativamente mais caras e exigem mais


confiança da parte do operador móvel. Os potenciais problemas com a instalação de
aplicações são:
• Espaço ocupado na memória do SIM;
• Dificuldades de gestão como a obtenção e activação em segurança, manutenção
da base de dados de aplicações instaladas, etc;
• Heterogeneidade na interface utilizador e custos associados a manter centros de
ajuda aos utilizadores.

As aplicações de micro-navegação são mais leves e a utilização de páginas de usar e


deitar fora é mais adequado às restrições e capacidades do SIM e permitem uma
administração bastante simplificada. O modelo de micro-navegação adequa-se bem a
aplicações baseadas em pedido-resposta.

39
AAS – Utilização de cartões inteligentes em aplicações móveis

Tendo em conta todos os aspectos referidos, a maior parte das aplicações podem ser
implementadas no modelo de micro-navegação que é mais simples. O modelo de
máquina virtual fica para aplicações que:
• São usadas muito frequentemente;
• São focadas num conjunto específico de utilizadores;
• Necessitam de alta segurança.

40
AAS – Utilização de cartões inteligentes em aplicações móveis

VI – Comércio móvel
Uma solução de comércio móvel (m-commerce) permite usar e pagar serviços com o
telemóvel. Actualmente existem várias propostas de solução de comércio móvel. Vamos
analisar uma delas, que já teve uma implementação piloto.

Smart Signatures for Secure Mobile Commerce


A Smart Signatures é uma solução que usa tecnologia proprietária da Smart Trust
[SmartTrust03] e que é descrita em [Guthery01]. Os aspectos chaves considerados na
concepção do sistema foram a ergonomia e a segurança. O Smart Signature tenta
combinar a conveniência de menus e formulários personalizados com a segurança de
mensagens com assinaturas digital e cifra.

A arquitectura de segurança é baseada em criptografia assimétrica usando o algoritmo


RSA. Este algoritmo usa um par de chaves com uma chave pública e uma chave
privada, que permitem assinatura digital e confidencialidade sem troca de segredos.
Cada cliente e fornecedor de serviço tem dois pares de chaves, um para assinatura, outro
para cifra. As chaves públicas são divulgadas usando certificados digitais X.509,
geridos por uma autoridade de certificação com o apoio de uma PKI (Public Key
Infrastructure).

As principais funcionalidades do Smart Signature são:


• Envio e recepção de mensagens cifradas extremo-a-extremo;
• Envio e recepção de mensagens assinadas digitalmente;
• Utilização de certificados digitais X.509, emitidos por autoridades de
certificação externas à rede móvel, que implementam a hierarquia de confiança;
• Separação clara entre chaves usadas para assinar mensagens e chaves para cifra.

41
AAS – Utilização de cartões inteligentes em aplicações móveis

Participantes no sistema
As entidades envolvidas na prestação de serviços com Smart Signature são:
• Cliente – utilizador final do sistema;
• Fornecedor de serviço – presta o serviço ao cliente, através do sistema;
• Operador móvel – gere a infra-estrutura de comunicações móveis e tem contrato
e uma relação de cobrança estabelecida com o cliente;
• Autoridade de certificação – organização que gere os certificados digitais de
chave pública usados no sistema;
• Fabricante do cartão – produz os cartões SIM com as capacidades e
configuração adequadas ao uso do sistema.

Utilização de um serviço
Os passos seguintes exemplificam a experiência do cliente ao utilizar um serviço de
banca móvel no sistema Smart Signature:
1. O cliente escolhe um serviço de banca móvel.
2. O banco envia uma ordem de pagamento para o telemóvel do cliente. A mensagem
está assinada e apenas o cliente a pode ler.
3. O cliente verifica a assinatura da mensagem do banco.
4. O cliente dá a ordem de pagamento. Para a confirmar, tem que inserir o PIN de
assinatura (signing PIN) para aceder à sua chave privada armazenada no cartão do
telemóvel. A mensagem é cifrada com a chave pública do banco para que só ele a
possa ler.

Os menus dos serviços têm uma estrutura fixa para permitir uma utilização uniforme
com acesso rápido.
* <service>
messages
fill-in forms
service options

Figura 19 – Estrutura do menu base de um serviço Smart Signature

42
AAS – Utilização de cartões inteligentes em aplicações móveis

O cliente pode aceder receber mensagens do serviço (opção messages), preencher


formulários para efectuar pedidos (opção fill-in forms) e configurar o serviço (opção
service options).

As aplicações funcionam com um modelo de navegação (browsing) de páginas. Cada


aplicação tem um conjunto de formulários (forms) e documentos padrão (templates)
específicos. Os formulários são carregados de forma dinâmica por transmissão over-the-
air e são assinados pelo fornecedor do serviço. É feita a distinção entre a página do
formulário (form page) e os dados do formulário (form data), o que permite armazenar
páginas no SIM para reutilização posterior e invocar serviços usando uma única
mensagem SMS.

Cartão SIM
As duas chaves privadas RSA do cliente (assinatura e cifra) são guardadas num cartão
SIM com características especiais. O cartão tem que ter um coprocessador aritmético
para acelerar os cálculos de cifra e decifra RSA e conseguir-se um desempenho
razoável, dada a complexidade do algoritmo. O cartão tem que ter pelo menos 32
KBytes de memória, pois 16 KBytes são usados pelo operador móvel para prestar os
serviços base como SMS, agenda, parametrização de chamadas, etc.

O número de serviços instalados em simultâneo depende da memória disponível no


cartão. O cliente tem que guardar os certificados digitais dos fornecedores de serviço,
para poder verificar assinaturas. Dadas as limitações de memória, os certificados são
armazenados no formato Mcert (Mobile Certificate) que é uma representação compacta
de um certificado X.509.

O software do Smart Signature para produzir e consumir mensagens tem que ser
implementado na linguagem máquina do sistema operativo do cartão, sendo a
colaboração do fabricante indispensável.

43
AAS – Utilização de cartões inteligentes em aplicações móveis

A emissão de um cartão Smart Signature inclui as seguintes fases:


A. Carregamento do perfil base SIM do GSM;
B. Geração dos pares de chaves RSA – as chaves privadas e os identificadores são
gerados e guardados no cartão. As chaves públicas correspondentes são emitidas em
certificados X.509 assinados pela autoridade de certificação do fabricante de cartões
e são enviados para o operador móvel. O certificado do operador móvel é carregado
no cartão;
C. (opcional) Pré-carregamento de certificados e formulários de fornecedores de
serviços específicos, para permitir a utilização imediata destes serviços.

O fornecedor de serviço usa a chave pública obtida do certificado digital X.509 para
produzir mensagens a enviar ao cliente. As mensagens são recebidas e armazenadas
numa área própria do SIM. Existe uma fila única de mensagens recebidas de todos os
fornecedores, cujo limite normal é 20. Se este limite for atingido, as mensagens
pendentes ficam retidas na rede móvel.

Certificação e confiança
No Smart Signature existem os problemas típicos de uma solução com criptografia
assimétrica, que são a distribuição das chaves públicas e a gestão do tempo de vida dos
pares de chaves.

A distribuição de chaves públicas é feita através de certificados digitais. A confiança é


garantida por uma hierarquia de autoridades de certificação. Os clientes e os
fornecedores de serviço têm que confiar nestas autoridades.
A Smart Trust define dois domínios de certificação:
• Card Domain (CD) – colocado dentro do espaço da rede móvel, para garantir a
fiabilidade no carregamento de novos certificados de fornecedores de serviços e
na resposta a pedidos de certificados de fornecedor feitos pelos clientes durante
a utilização do sistema;
• Root Domain (RD) – colocado fora do espaço da rede móvel, acima dos vários
CD, para permitir a mudança de certificado CD nos clientes. Quando o cliente
muda de operador, tem que ser o RD a substituir o certificado do CD. As
mensagens de controlo têm que ser assinadas pelo RD.

44
AAS – Utilização de cartões inteligentes em aplicações móveis

Os certificados correspondentes às chaves públicas de RD e de CD são distribuídos


manualmente durante o processo de emissão do cartão SIM.

As autoridades de certificação podem actuar exclusivamente no espaço da rede móvel


ou então podem actuar também na Internet. No sistema piloto, RD e CD eram geridos
por uma autoridade de certificação pertencente ao operador móvel. Um cenário
alternativo interessante seria ter o RD pertencente a uma autoridade de certificação
Internet e o CD a uma autoridade de certificação do operador móvel.

Quando está a efectuar uma transacção, o cliente pede ao operador móvel para obter o
certificado. O fornecedor do serviço obtém o certificado directamente a partir do
directório.

Quando um cliente quer utilizar um serviço pela primeira vez, pede o certificado
respectivo e verifica se as assinaturas de CD e de RD estão correctas. A relação de
confiança na activação do serviço é a seguinte:

Figura 20 – Relação de confiança para a activação de um serviço Smart Signature

45
AAS – Utilização de cartões inteligentes em aplicações móveis

Depois da activação, o cliente guarda o certificado do fornecedor de serviço e passa a


confiar nele. Nas invocações seguintes, o cliente assume que o certificado continua a ser
válido. Sendo assim, a relação de confiança na utilização do serviço é:

Figura 21 – Relação de confiança para utilização de um serviço Smart Signature

A gestão do tempo de vida dos pares de chaves é indefinida. No piloto não foi
implementada a consulta a listas de revogação, pelo que um certificado permanece
válido até ao fim do prazo estipulado na sua criação. Esta opção foi considerada
aceitável porque a possibilidade das chaves privadas serem obtidas indevidamente é
reduzida. Só podem ser usadas sabendo um PIN e o seu valor binário está enclausurado
no cartão.

46
AAS – Utilização de cartões inteligentes em aplicações móveis

Instalação e configuração do sistema


O projecto de instalação e configuração de um sistema Smart Signature ultrapassa o
âmbito técnico. São necessários acordos e responsabilidades partilhadas entre os vários
participantes na cadeia de valor do comércio móvel. Nesta fase participam o fabricante
de cartões, o operador móvel, a autoridade de certificação e o fornecedor de serviço.

O fabricante participa na preparação adicional dos cartões e cobra um preço superior


para recuperar o investimento que teve que efectuar.

O operador móvel tem que instalar uma infra-estrutura de registo que permita aos
clientes trocarem os seus cartões SIM e pedirem certificados digitais. A Smart Trust
vende dois produtos para suportar estas actividades:
• Trust Mapper – emite pedidos de certificado à autoridade de certificação com
base no certificado X.509 do fabricante de cartões e na identidade legal do
cliente que é verificada no ponto de venda;
• Trust Manager – fornece os certificados dos fornecedores de serviço aos
clientes.
O cliente e o fornecedor de serviço pagam (ou são subsidiados) para poderem efectuar
transacções electrónicas seguras. O operador móvel recupera o investimento e cobre os
custos de manutenção e de apoio aos clientes através da cobrança da utilização da infra-
estrutura de mensagens seguras. O conjunto dos fornecedores de serviços e o operador
móvel têm que partilhar os custos da integração.

A autoridade de certificação presta serviços de certificação aos clientes do operador


móvel, aos fornecedores de serviços e ao próprio operador móvel. Todos os certificados
são publicados em directórios.

Os fornecedores de serviço têm que instalar os produtos Smart Security e Smart


Commerce na sua infra-estrutura de servidores. Têm também que integrar as suas
aplicações com o Smart Commerce para receber as mensagens originadas pelas
interacções baseadas nos formulários dos serviços.

47
AAS – Utilização de cartões inteligentes em aplicações móveis

Operação do sistema

Figura 22 – Operação do sistema Smart Signature

Cada cliente tem um cartão com o software Smart Signature. O fornecedor de serviço
tem o Smart Commerce instalado. Ambos têm certificados digitais X.509 que usam para
verificar assinaturas ou cifrar mensagens. O operador móvel e a autoridade de
certificação suportam as transacções seguras e confidenciais. A integração entre
sistemas é feita pelos produtos Smart Connection, Smart Security e Smart Commerce.

Avaliação final do piloto


Foram obtidas as seguintes conclusões depois da avaliação do piloto Smart Signature:
• Existem obstáculos legislativos relativamente ao valor legal das assinaturas digitais;
• É importante mostrar ao utilizador final o valor adicional da solução, ou seja, o
cliente tem que perceber a mais valia das assinaturas digitais;
• A personalização do sistema pode enfraquecer a segurança (por exemplo, se não for
exigida a verificação de certificados e a introdução do PIN);
• Os custos de troca de cartões SIM e de instalação da infra-estrutura não são
compensados por um único serviço;
• A implementação de segurança extremo-a-extremo com uma hierarquia de
confiança é um caro e complexo. A utilização de uma única autoridade de
certificação reduz parte da complexidade;
• É necessário um investimento significativo em apoio técnico, formação e
documentação para todos os participantes no sistema;

48
AAS – Utilização de cartões inteligentes em aplicações móveis

• A venda do sistema tem que ser acompanhada por consultoria para garantir que a
solução é correctamente implementada.

Em função destas conclusões, o principal objectivo da Smart Trust passou a ser tornar a
solução mais simples nas diferentes vertentes: utilização, operação, instalação e
configuração.

49
AAS – Utilização de cartões inteligentes em aplicações móveis

VII – Conclusões
Para a maior parte das pessoas, o cartão é uma forma natural para guardar informação
importante. Na era digital, os cartões inteligentes combinam o armazenamento seguro e
o processamento de informação para aumentar a segurança dos sistemas em que
participam.
Os cartões podem ser considerados seguros na prática, mas é preciso estar consciente
que são resistentes mas não imunes à manipulação. Os ataques mais caros podem ser
feitos em laboratório com equipamentos especializados, mas uma vez identificadas
vulnerabilidades é possível explorá-las de forma mais barata. É preciso ter em conta a
relação custo-benefício do ataque. Além disso, o cartão também pode ser atacado
devido a utilizações incorrectas, engenharia social ou falhas na utilização dos
algoritmos. Finalmente, nem todos os cartões são igualmente seguros.

Durante alguns anos os cartões inteligentes foram uma solução à procura de problema.
Com a necessidade de roaming da rede de comunicações móveis GSM surgiu a
aplicação decisiva para a expansão desta tecnologia: o cartão SIM.
O cartão SIM desempenha um papel fundamental no sistema de chave partilhada da
rede GSM e na negociação de chaves de sessão para as comunicações. O SIM é um
computador seguro que está associado à maior infra-estrutura de chaves não
governamental.
Nas redes GSM, o mecanismo de comunicação de dados mais universal são as
mensagens SMS simples, que podem ser usadas eficazmente em aplicações quando
complementadas com menus específicos das tarefas.

A dupla SIM + SMS é a base de uma plataforma para aplicações confiadas, como
aplicações que envolvam transacções financeiras (pagamentos).
O SIM e a infra-estrutura de chaves associada permitem atribuir confiança nas
aplicações e nas transacções por elas geradas, garantindo:
• Autenticação e não repúdio;
• Integridade;
• Confidencialidade.

50
AAS – Utilização de cartões inteligentes em aplicações móveis

Existem dois modelos de aplicações no SIM: máquina virtual e micro-navegação.


O modelo de micro-navegação permite implementar a maior parte dos serviços, tem
menores custos administrativos e por isso é muito mais interessante. O modelo de
máquina virtual permite satisfazer algumas situações com requisitos mais específicos.

Os operadores móveis controlam o acesso a todos os recursos e serviços da rede e


cobram a respectiva utilização. As aplicações desenvolvidas com WAP permitiram aos
operadores móveis perceber que a única coisa que realmente controlam é o SIM.
Os incentivos de negócio para a oferta de serviços de valor acrescentado por parte dos
operadores são:
• Declínio de preço de serviços de voz;
• Aumento de custos de evolução e manutenção da rede;
• Têm maiores margens de lucro, pois cobra-se o serviço e não apenas o transporte
de dados.
Para conseguir este objectivo é necessário superar três desafios difíceis de uma forma
equilibrada entre eles:
1) Oferecer serviços populares e acessíveis pela maioria dos subscritores;
2) Garantir o alto desempenho e segurança no ponto de utilização;
3) Criar um modelo de negócio e um nível de preços que motive parceiros de
serviços e de conteúdos, bem como os subscritores.
É importante conseguir acompanhar os gostos dos clientes e ser capaz de alterar as
aplicações e serviços de forma regular, com tempos reduzidos de resposta.
Os benefícios esperados são:
• Valores imediatos (cobrança de mensagens aplicacionais);
• Valores a longo prazo (lealdade dos clientes, parcerias de negócios);
• Desenvolvimento de aplicações para relacionamento com o cliente;
• Comissão dos fornecedores de serviços.

51
AAS – Utilização de cartões inteligentes em aplicações móveis

A solução Smart Signature da Smart Trust é uma plataforma de comércio móvel com
assinatura digital suportada por uma aplicação de micro-navegação.
O uso de criptografia assimétrica em aplicações móveis é inovadora, no entanto, tem
duas implicações importantes:
• A existência de uma autoridade de certificação para as chaves públicas;
• A troca dos cartões existentes por cartões com maior capacidade de cálculo para
tornar as operações de cifra e decifra práticas.
As principais conclusões do piloto desta solução foram:
• A assinatura digital tem que satisfazer requisitos específicos para ser legalmente
considerada;
• O custo da troca de cartões não é compensado por um único serviço;
• A gestão das chaves públicas é um processo que implica custos significativos;
• Os utilizadores finais não percepcionam automaticamente o valor acrescentado
da assinatura digital;
• A ergonomia do serviço é o factor decisivo para a adesão.

As novas capacidades e novos requisitos das comunicações e dispositivos móveis


significam que se tenha que ser criado um novo estilo de aplicações.

“Just like television was not radio with image, mobile will not be the Internet on a
phone” – Scott Guthery

52
AAS – Utilização de cartões inteligentes em aplicações móveis

Referências
[AlvesMarquesGuedes98] – José Alves Marques, Paulo Guedes, Tecnologia de
Sistemas Distribuídos – 1ª edição, FCA, 1998

[AmericanExpress03] – American Express, Frequently Asked Questions about the


Smart Chip, 2003
http://home4.americanexpress.com/blue/faq_chip.asp?Entry=80

[Atmel03] – Atmel, Secure RF Smart Cards ICs, 2003


http://www.atmel.com/products/SecureRF/

[Guthery01] – Scott Guthery, Mobile Application Programming Using SMS and the
SIM Toolkit: Building Smart Phone Applications, McGraw-Hill, 2001

[Harris03] - Martin Harris, IP multimedia in 3G, Orange, October 2003


http://www.ero.dk/60CFB2AA-6308-4AEB-B3FA-0129143CDE1C

[Hitachi03] – Hitachi, Hitachi Smart Card Solution, 2003


http://www.hitachi.co.jp/Div/smartcard/english/index.html

[KommerlingKuhn99] - Oliver Kommerling, Markus Kuhn, Design Principles for


Tamper-Resistant Smartcard Processors, Advanced Digital Security Research,
University of Cambridge Computer Laboratory, 1999
http://www.cl.cam.ac.uk/~mgk25/sc99-tamper.pdf

[NEC03] – NEC, Smart card ICs by NEC, 2003


http://www.ee.nec.de/applications/smartcard/

[SIBS03] – SIBS, Caixa Automático Multibanco, 2003


http://www.sibs.pt/caixaautommblayout.asp?categ=54&flag=0

[SmartTrust02] – SmartTrust, Mobile Authentication, August 2002


http://www.smarttrust.com/whitepapers/pdf/mobileauthentication.pdf

[SmartTrust03] – SmartTrust, SmartTrust Website, 2003


http://www.smartrust.com/

[Sun03] – Sun Microsystems, JavaCard Platform, 2003


http://java.sun.com/products/javacard/

[Tanenbaum03] – Andrew S. Tanenbaum, Computer Networks – 4th Edition, Pearson


Education International, 2003

[Visa03] – Visa, smart Visa Card, 2003


http://www.usa.visa.com/personal/cards/visa_smart_more.html

[ZoredaOton94] – José Luis Zoreda, José Manuel Otón, Smart Cards, Artech House
Publishers, 1994

53
AAS – Utilização de cartões inteligentes em aplicações móveis

[Zuquete03] – André Zúquete, Acetatos de Algoritmos e Aplicações de Segurança, IST,


2003

Abreviaturas
Abreviatura Significado
3DES Triple DES
ACL Access Control List
API Application Programming Interface
ATM Automated Teller Machine
ATR Answer To Reset
CD Compact Disk
CD Card Domain
CISC Complex Instruction Set Computer
CLK Clock
CRC Cyclic Redundancy Check
DES Digital Encryption Standard
DF Dedicated File
DVD Digital Versatile Disk
EF Elementary File
EPOS Electronic Point of Sale
FDM Frequency Division Multiplexing
GPRS General Packet Radio Service
GSM Global System for Mobile communications
I/O Input/Output
IC Integrated Circuit
IMS IP Multimedia Subsystem
IMSI International Management Subscriber Identity
IP Internet Protocol
ISIM IMS SIM
ISO International Standards Organization
LFSR Linear Feedback Shift Register
MCERT Mobile Certificate
MF Master File
MMS Multimedia Message Service
PDA Personal Digital Assistant
PIN Personal Identification Number
PKI Public Key Infrastructure
RD Root Domain
RISC Reduced Instruction Set Computer
RSA Rivest, Shamir, Adleman
RST Reset
SAT SIM Application Toolkit
SIBS Sociedade Interbancária de Serviços

54
AAS – Utilização de cartões inteligentes em aplicações móveis

SIM Subscriber Identity Module


SMS Short Message Service
SMS-C SMS Center
TDM Time Division Multiplexing
TLV Tag Length Value
UAM User Application Memory
UICC (Unified Integrated Circuit Card) – actualmente deixou de ser uma
abreviatura e é apenas o nome de uma plataforma baseada em cartão
USIM UICC SIM
WAP Wireless Application Protocol
WORM Write-Once, Read-Many
WRU Writing Reading Unit

55

Você também pode gostar