# Cartão SIM

O cartão SIM (sigla em inglês para: subscriber identity module, em português: "módulo de identificação do assinante"), também conhecido como chip (no Brasil) é um circuito impresso do tipo cartão inteligente utilizado para identificar, controlar e armazenar dados de telefones celulares de tecnologia GSM (Global System for Mobile Communications) sendo obrigatório neste, usando R-UIM (Removable User Identificable Module), mas pouco comum em outras tecnologias de celular. Ele costuma armazenar dados como informações do assinante, agenda, preferências (configurações), serviços contratados, SMS e outras informações.
A denominação SIM é uma sigla inglesa para Subscriber Identity Module ("módulo de identificação do assinante").
Fisicamente, o cartão SIM é feito de plástico, onde o smart card é impresso junto com o número ID, que é como um chassi de carro ou um DNA. Este número é chamado de ICCID (Integrated Circuit Card ID), e é único no mundo todo. Originalmente, os cartões SIM tinham dimensões de 85 x 54 mm. Com a tecnologia smart card e a redução de tamanho dos aparelhos, hoje ele está em 25 x 15 mm.

## História

O primeiro cartão SIM foi criado em 1991 na Alemanha, fabricados pela empresa Giesecke & Devrient, que vendeu os primeiros 300 cartões SIM para uma empresa finlandesa.
Hoje em dia, cartões SIM são omnipresentes na sociedade, com mais de 7 bilhões de aparelhos conectados a uma rede de celular.

## Hardware

O cartão SIM consiste em um microcontrolador, pois possui memórias RAM, ROM e EEPROM, além de UCP e ULA, Timer, Segurança e portas E/S.

## Dados

Os cartões SIM armazenam informações específicas da rede usada para autenticar e identificar assinantes na rede. Os mais importantes são o ICCID, IMSI, chave de autenticação (Ki), identidade de área local (LAI) e o número de emergência específico do operador. O SIM também armazena outros dados específicos da operadora, como o número SMSC (central de serviço de mensagens curtas), o nome do provedor de serviços (SPN), os números de discagem de serviços (SDN), os parâmetros de Aviso de Custos e os aplicativos de serviço de valor agregado (VAS).
Os cartões SIM podem ter várias capacidades de dados, de 8 KB a pelo menos 256 KB. Todos podem armazenar no máximo 250 contatos no SIM, mas enquanto os 32 KB têm espaço para 33 códigos de rede móvel (MNCs) ou identificadores de rede, a versão de 64 KB tem espaço para 80 MNCs. Isso é usado pela rede operadores para armazenar dados em redes preferenciais, usadas principalmente quando o SIM não está em sua rede doméstica, mas está em roaming. A operadora de rede que emitiu o cartão SIM pode usá-la para conectar um telefone a uma rede preferida mais econômica para o provedor, em vez de ter que pagar à operadora de rede que o telefone 'viu' primeiro. Isso não significa que um telefone contendo este cartão SIM possa conectar-se a um máximo de apenas 33 ou 80 redes, mas significa que o emissor do cartão SIM pode especificar apenas até esse número de redes preferenciais. Se um SIM estiver fora dessas redes preferidas, ele usará a primeira ou a melhor rede disponível.

### ICCID

Cada SIM é identificado internacionalmente pelo seu identificador de cartão de circuito integrado (integrated circuit card identifier - ICCID). ICCID é o identificador do próprio cartão SIM - ou seja, um identificador para o chip SIM. Atualmente, os números ICCID também são usados para identificar perfis eSIM, e não apenas cartões SIM físicos. Os ICCIDs são armazenados nos cartões SIM e também são gravados ou impressos no corpo do cartão SIM durante um processo chamado personalização. O ICCID é definido pela recomendação E.118 da ITU-T como o Número da Conta Principal (Primary Account Number). Seu leiaute é baseado na ISO/IEC 7812. De acordo com E.118, o número pode ter até 22 dígitos, incluindo um único dígito de verificação calculado usando o algoritmo de Luhn. No entanto, o GSM Fase 1 definiu o comprimento ICCID como um campo de dados opaco, com 10 octetos (20 dígitos), cuja estrutura é específica para uma operadora de rede móvel.
O número é composto pelas seguintes subpartes:
Número de identificação do emissor (Issuer identification number - IIN)
Máximo de sete dígitos:
* Identificador principal da indústria (Major industry identifier - MII), 2 dígitos fixos, 89 para fins de telecomunicações.
* Código de chamada do país, de 1 a 3 dígitos, conforme definido pela recomendação E.164 da ITU-T.
** Países NANP usam (Canadá também) 1
** A Rússia usa 7
** O Cazaquistão usa 997, embora também use o código de chamada +7
* Identificador do emissor, de 1 a 4 dígitos (juntos, o código de chamada do país e o identificador do emissor não têm mais que 5 dígitos).
** Frequentemente idêntico ao Código de rede móvel (Mobile country code - MNC).
Identificação da conta individual
* Número de identificação da conta individual. Seu comprimento é variável, mas todos os números abaixo de um IIN têm o mesmo comprimento.
** Frequentemente idêntico ao número de identificação de assinatura móvel (Mobile Subscription Identification Number - MSIN).
Dígito de verificação
* Dígito único calculado a partir dos outros dígitos usando o algoritmo de Luhn.
Com a especificação da Fase 1 do GSM usando 10 octetos, nos quais o ICCID é armazenado como BCD compactado, o campo de dados tem espaço para 20 dígitos com o dígito hexadecimal "F" sendo usado como preenchimento quando necessário.
Na prática, isso significa que nos cartões SIM GSM existem ICCIDs de 20 dígitos (19 + 1) e 19 dígitos (18 + 1) em uso, dependendo do emissor. No entanto, um único emissor sempre usa o mesmo tamanho para seus ICCIDs.
Para confundir ainda mais, as fábricas do SIM parecem ter várias maneiras de fornecer cópias eletrônicas dos conjuntos de dados de personalização do SIM. Alguns conjuntos de dados estão sem o dígito de soma de verificação ICCID, outros estão com o dígito.
Conforme exigido pelo E.118, o ITU-T atualiza uma lista de todos os códigos IIN atualmente atribuídos internacionalmente em seus Boletins Operacionais, publicados duas vezes por mês (o último é o 1163 a partir de 1 de janeiro de 2019). A ITU-T também publica listas completas: a partir de janeiro de 2019, a lista emitida em 1 de dezembro de 2018 era atual, tendo todos os números de identificação do emissor antes de 1 de dezembro de 2018.

### International mobile subscriber identity (IMSI)

Os cartões SIM são identificados em suas redes de operadoras individuais por uma Identidade Internacional de Assinante Móvel (International mobile subscriber identity - IMSI). As operadoras de rede móvel conectam chamadas e se comunicam com seus cartões SIM de mercado usando seus IMSIs. O formato é:
* Os três primeiros dígitos representam o Código do país (Mobile country code - MCC).
* Os próximos dois ou três dígitos representam o Código de rede móvel (MNC). Os códigos MNC de três dígitos são permitidos pelo E.212, mas são usados principalmente nos Estados Unidos e no Canadá.
* Os próximos dígitos representam o número de identificação do assinante móvel (Mobile subscriber identification number - MSIN). Normalmente, existem 10 dígitos, mas pode ser menor no caso de uma multinacional de 3 dígitos ou se os regulamentos nacionais indicarem que o comprimento total do IMSI deve ser menor que 15 dígitos.
* Os dígitos são diferentes de país para país

### Chave de autenticação (K$_i$)

A K$_i$ é um valor de 128 bits usado para autenticar os SIMs em uma rede móvel GSM (para a rede USIM, você ainda precisa da K$_i$, mas também são necessários outros parâmetros). Cada SIM possui uma K$_i$ exclusivo atribuído a ele pelo operador durante o processo de personalização. A K$_i$ também é armazenada em um banco de dados (denominado centro de autenticação ou AuC) na rede da operadora.
O cartão SIM foi projetado para impedir que alguém obtenha o K$_i$ usando a interface do cartão inteligente. Em vez disso, o cartão SIM fornece uma função, Executar Algoritmo GSM (Run GSM Algoritgm), que o telefone usa para passar dados ao cartão SIM para serem assinados com o K$_i$. Isso, por padrão, torna obrigatório o uso do cartão SIM, a menos que o K$_i$ possa ser extraído do cartão SIM ou a transportadora esteja disposta a revelar o K$_i$. Na prática, o algoritmo criptográfico GSM para calcular o SRES_2 (consulte a etapa 4, abaixo) da K$_i$ possui certas vulnerabilidades que podem permitir a extração da K$_i$ de um cartão SIM e a criação de um cartão SIM duplicado.
Processo de autenticação:
* Quando o equipamento móvel é iniciado, ele obtém a identidade internacional do assinante móvel (IMSI) do cartão SIM e a passa para a operadora móvel, solicitando acesso e autenticação. O equipamento móvel pode ter que passar um PIN para o cartão SIM antes que o cartão SIM revele essas informações.
* A rede do operador pesquisa em seu banco de dados o IMSI recebido e a K$_i$ associado.
* A rede da operadora gera um número aleatório (RAND, que não é um Nonce) e o assina com a K$_i$ associado ao IMSI (e armazenado no cartão SIM), computando outro número, que é dividido na resposta assinada 1 (SRES_1, 32 bits) e a chave de criptografia K$_c$ (64 bits).
* A rede da operadora envia o RAND para o equipamento móvel, que o passa para o cartão SIM. O cartão SIM assina com seu K$_i$, produzindo SRES_2 e K$_c$, que são entregues ao equipamento móvel. O equipamento móvel passa SRES_2 para a rede da operadora.
* A rede da operadora compara seu SRES_1 calculado com o SRES_2 calculado que o equipamento móvel retornou. Se os dois números coincidirem, o SIM é autenticado e o equipamento móvel recebe acesso à rede da operadora. O K$_c$ é usado para criptografar todas as comunicações adicionais entre o equipamento móvel e a rede.

## Tipos de cartão SIM

Os cartões SIM são divididos em versões, ligadas às fases da tecnologia GSM e à sua capacidade (em kilobytes (KB). Existem cartões SIM de diversos tamanhos, com o máximo de 256 KiB, mas o mais popular (atualmente) é o cartão SIM de 128 KiB.
* Versão 1.0:
** 8 KB
** 16 KB
** 32 KB
* Versão 2.0:
** 32 KB
** 64 KB
** 128 KB
A memória do cartão SIM é do tipo EEPROM e é nela que ficam armazenados não só o número de telefone e o ID, mas todas as configurações e dados das funcionalidades extras que serão descritas mais a frente.
Os cartões SIM são feitos através de máscaras sobre algum sistema operacional ou sob o Java Virtual Machine (chamado de SIM Card Java) com Micro-Browsers desenvolvidos para navegação na internet e execução de aplicativos feito para plataforma móvel.

### Estrutura lógica da memória do cartão SIM

A memória EEPROM é utilizada pelo telefone com a seguinte estrutura.
* A configuração básica do SIM Card ocupa aproximadamente 8 Kbytes de memória EEPROM e compreende:
** Cabeçalho não–GSM ocupando aproximadamente 3000 bytes
** Master File ocupando aproximadamente 300 bytes:
*** PINs,PUKs, Kis, ADM keys, Tin, Layout, etc
** Diretório GSM ocupando aproximadamente 750,0 bytes:
*** LP, IMSI, Key Kc & n, PLMN sel, HPLMN, ACM max, SST, ACM, GID 1 & 2, PUCT, CBMI, SPN, BCCH, ACC, FPLMN, LOCI, AD, Phase
** Diretório Telecom ocupando aproximadamente 6600 bytes:
*** ADNs, FDNs, SMS, CCP, MSISDN, SMPS, SMSS, LND, Ext 1, Ext 2, Ext 3
** OTA Data Fields ocupando aproximadamente 1600 bytes:
*** SIM type, DL-Key, DL-Text, Seq-No, Orig. Address
Demais espaços de memória são destinados às aplicações de valor agregado.

## Tamanhos

SIM card sizes :
| Cartão SIM | Introduzido | Referência | Comprimento (mm) | largura (mm) | Profundidade (mm) | Volume (mm$^3$) |
| Full-size (1FF) | 1991 | ISO/IEC 7810:2003, ID-1 | 85,60 | 53,98 | 0,76 | 3511,72 |
| Mini-SIM (2FF) | 1996 | ISO/IEC 7810:2003, ID-000 | 25,00 | 15,00 | 0,76 | 285,00 |
| Micro-SIM (3FF) | 2003 | ETSI TS 102 221 V9.0.0, Mini-UICC | 15,00 | 12,00 | 0,76 | 136,80 |
| Nano-SIM (4FF) | 2012 | ETSI TS 102 221 V11.0.0 | 12,30 | 8,80 | 0,67 | 72,52 |
| Embedded-SIM (eSIM) | | JEDEC Design Guide 4.8, SON-8 ETSI TS 103 383 V12.0.0 GSMA SGP.22 V1.0 | 6,00 | 5,00 | <1,00 | <30,00 |

## Função básica

A função básica de um cartão SIM é a "autenticação do cliente".
Quando o telefone celular é ligado, o aparelho procura a rede GSM que está registrada no cartão SIM, quando a rede é encontrada, o sistema procura e define a localização do cliente automaticamente. Como o número de telefone do celular mais o número do cartão SIM que é único no mundo estão armazenado no cartão SIM, a identificação e o login do mesmo é feito através do chip e não do aparelho, como acontece em outras tecnologias (CDMA por exemplo).

### Autenticação

A autenticação é feita através de uma senha de 4 dígitos que o cliente recebe da operadora GSM, chamada de PIN (Personal Identification Number). Dependendo da operadora, do país e da configuração de seu cartão SIM, se ao digitar esta senha de forma errada por n vezes, o cartão SIM é bloqueado, e só pode ser desbloqueado usando outra senha de 8 dígitos também fornecida pela operadora, chamada de PUK (PIN Unblocking Key). Caso esta senha também seja digitada errada por n vezes, o cartão SIM é inutilizado permanentemente, obrigando o cliente a solicitar um novo cartão SIM . O PIN pode ser alterado pelo cliente, porém o PUK é único para cada cartão SIM e não pode ser mudado.
A operadora também fornece um PIN 2 e um PUK 2 com o cartão SIM, que são utilizados para efetuar funções específicas definidas pela operadora móvel, como por exemplo configurar o SIM Card para efetuar ligações somente para os números pré-definidos pelo usuário.
Atualmente as operadoras estão desabilitando o uso do PIN ao ligar o aparelho, mas esta função pode ser reabilitada pelo usuário.

## Outras funcionalidades

A tecnologia GSM foi, ao longo do tempo, sendo aprimorada e o cartão SIM também ganhou um incremento de funcionalidades além das básicas. Abaixo estão as funcionalidades extras do cartão SIM.

### SIM Tool Kit (STK)

O SIM Tool Kit (STK) é um conjunto de aprimoramentos da tecnologia GSM que possibilita a funções complementares do cartão SIM.
Consiste em comandos padronizado por regras internacionais, que permite as operadoras desenvolverem e programarem em seus "SIM cards" diversos tipo de serviços como informações de tráfego, previsão do tempo, entretenimento (cinema, teatro, etc), reservas de voos, entre muitos outros.
As próprias operadoras definem quais serviços adicionais cobrados são inclusos e que podem ser ativados no cartão SIM. Geralmente esses serviços, podem ser acessados através de um novo menu que a operadora cria no menu principal do aparelho.

### Over the Air (OTA)

Assim como o STK, o Over the Air (OTA) consiste em uma técnica empregada nas versões mais recentes da GSM, e permite, remotamente através da rede GSM, alterar ou atualizar os dados do cartão SIM.
Esta técnica permitiu os serviços de SMS e download de aplicações da internet no celular.
Para ter o OTA, o cartão SIM deve ter sido projetado e compatível com está tecnologia, como o aparelho e a rede GSM também compatíveis. Ao contrário do STK, o aparelho e a rede devem ter as bibliotecas OTA, que são soluções proprietárias, ou seja, existem diversas bibliotecas OTA de padrões diferentes.

#### Funcionalidades OTA mais comuns

A maioria das redes GSM usam o OTA, e apesar de elas serem feitas e baseadas em bibliotecas OTA de cada operadora, o serviços mais comuns são:
* agenda telefônica armazenada no cartão SIM;
* SMS (Short Message Service) entre pessoas;
* serviços de informação como por exemplo, saldo de conta pré-paga;
* chat;
* download de tons para o aparelho;
* barrar e transferir ligações, bem como deixar a chamada em espera;
* acesso a dados através de WAP (Wireless Application Protocol);
* envio e recebimento de e-mail;
* entre outras.

#### Funcionalidades OTA específicas ou avançadas

São funcionalidades mais avançadas que podem ou não, estar disponíveis no cartão SIM, se o mesmo for compatível.
* MMS – Multimedia Messaging Service - É a tecnologia de upload (envio de mensagem) ou download de conteúdo multimídia, como fotos e toques polifônicos e MP3;
* mobile banking, o qual permite visualização de saldo bancário, efetuar aplicações financeiras, efetuar transferências entre contas, etc.;
* e-commerce, permitindo a realização de compras de produtos e serviços através do celular, como presentes, tickets de cinema, teatro, etc.