La carte SIM (de l'anglais Subscriber Identity Module) est une carte à puce contenant un microcontrôleur et de la mémoire. Elle est utilisée en téléphonie mobile pour stocker les informations spécifiques à l'abonné d'un réseau mobile, en particulier pour les réseaux de type GSM ou UMTS. Elle permet également de stocker des applications de l'utilisateur, de son opérateur ou dans certains cas de tierces parties. Il faut noter que d'autres systèmes de téléphonie mobile comme le CDMAOne, le PDC japonais ou le CDMA2000 défini par le 3GPP2 supportent optionnellement une telle carte.
L'intégration d'une carte à puce dans les systèmes de téléphonie mobile est basée sur les besoins suivants :
Il convient d'abord de signaler que carte SIM est un abus de langage (un raccourci en fait), SIM désignant en fait l'application GSM résidant sur une carte, nommée UICC (pour Universal Integrated Circuit Card). Sur une même UICC on peut très bien imaginer une SIM et plusieurs USIM (l'équivalent de l'application SIM pour l'UMTS (la téléphonie de 3ème génération, standard majoritaire se plaçant dans la continuité du GSM).
L'UICC et l'application SIM gèrent l'authentification de l'abonné dans le réseau GSM (l'USIM pour le réseau UMTS) et génère des clés qui permettent le chiffrement du flux de données, ceci étant réalisé au sein du terminal mobile.
L'UICC peut également contenir et exécuter des applications sur la base du SIM Application Toolkit (USIM Application Toolkit dans le cas de l'UMTS) et d'un environnement applicatif Java Card. Ces applications sont généralement propriété de l'opérateur qui peut les télécharger sur la carte.
L'UICC (carte SIM) a été définie sur plusieurs formats :
L'UICC est basée sur un microprocesseur et de la mémoire.
Les capacités mémoire typiques en 2006 sont de 32 ou 64 ko. La carte peut alors héberger des fichiers, des paramètres d'applications/services du mobile et même des applications exécutable dans la carte elle-même, par exemple en Java Card. Une tendance se dessine en 2006 également à l'extension de la capacité mémoire vers des Go. L'UICC peut alors reprendre en son sein les fonctions habituellement associées aux MMC ou SD Cards : stockage agrandit, mais également sécurisation de contenu et d'applications.
La technologie mémoire utilisée dans la carte a d'abord été de l'EEPROM, mais s'est rapidement tourné vers la Flash (en NAND plus qu'en NOR), bien plus flexible dans l'utilisation et maîtrisée pour les grandes capacités.
L'interface physique de la carte a 8 contacts. Longtemps seuls 5 contacts ont été utilisés, mais l'implémentation d'une interface rapide implique l'utilisation des contacts définis mais restés inutilisés.