thumb|Um cartão do tipo SIM direita|thumb|Um telefone celular GSM moderno com 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 direita|thumb|SIM Card da operadora Idea

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).ITU-T, ITU-T Recommendation E.118, The international telecommunication charge card, Revision history, Revision "05/2006" 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 1ETSI, ETSI Recommendation GSM 11.11, Specifications of the SIM-ME Interface, Version 3.16.0 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 (Ki) A Ki é um valor de 128 bits usado para autenticar os SIMs em uma rede móvel GSM (para a rede USIM, você ainda precisa da Ki, mas também são necessários outros parâmetros). Cada SIM possui uma Ki exclusivo atribuído a ele pelo operador durante o processo de personalização. A Ki 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 Ki 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 Ki. Isso, por padrão, torna obrigatório o uso do cartão SIM, a menos que o Ki possa ser extraído do cartão SIM ou a transportadora esteja disposta a revelar o Ki. Na prática, o algoritmo criptográfico GSM para calcular o SRES_2 (consulte a etapa 4, abaixo) da Ki possui certas vulnerabilidades que podem permitir a extração da Ki 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 Ki associado. A rede da operadora gera um número aleatório (RAND, que não é um Nonce) e o assina com a Ki 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 Kc (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 Ki, produzindo SRES_2 e Kc, 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 Kc é usado para criptografar todas as comunicações adicionais entre o equipamento móvel e a rede.

Tipos de cartão SIM

thumb|Cartão SIM com diferentes tamanhos pré-cortados 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 thumb|Cartões SIM da esquerda para a direita:Full-size SIM (1FF), Mini-SIM (2FF), Micro-SIM (3FF), Nano-SIM (4FF)