Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
Í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
Í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.
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.
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.
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 ó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.
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.
8
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
10
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
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.
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
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.
13
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
14
AAS – Utilização de cartões inteligentes em aplicações móveis
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 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.
15
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
16
AAS – Utilização de cartões inteligentes em aplicações móveis
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).
17
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
18
AAS – Utilização de cartões inteligentes em aplicações móveis
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]
20
AAS – Utilização de cartões inteligentes em aplicações móveis
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
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.
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)
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.
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.
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]
26
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
27
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
28
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
29
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
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.
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).
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
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
É 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).
34
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
35
AAS – Utilização de cartões inteligentes em aplicações móveis
INKEY, GET INPUT. SELECT MENU, SEND SHORT MESSAGE, RUN AT COMMAND);
BROWSER);
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.
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.
38
AAS – Utilização de cartões inteligentes em aplicações móveis
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.
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
42
AAS – Utilização de cartões inteligentes em aplicações móveis
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 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
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.
44
AAS – Utilização de cartões inteligentes em aplicações móveis
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:
45
AAS – Utilização de cartões inteligentes em aplicações móveis
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
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.
47
AAS – Utilização de cartões inteligentes em aplicações móveis
Operação do sistema
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.
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
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.
“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
[Guthery01] – Scott Guthery, Mobile Application Programming Using SMS and the
SIM Toolkit: Building Smart Phone Applications, McGraw-Hill, 2001
[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
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
55