0
\$\begingroup\$

Does a SIM card consist of only Flash memory or is there a microprocessor inside as well?

\$\endgroup\$
  • \$\begingroup\$ Not sure about SIM, but this chip in a credit card has a microprocessor that can perform encryption and decryption iperations. \$\endgroup\$ – Gregory Kornblum Mar 25 '17 at 4:38
1
\$\begingroup\$

There is a small microcontroller inside.

Most SIM cards these days can be programmed in Java and follow the JavaCard / GlobalPlatform standard. You won't get the keys to install your own applications though.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ I couldn't find any online resource/link, where it's explicitly mentioned that the SIM card contains microprocessor/microcontroller. Why do you think we don't have info/details of SIM card about the microprocessor, their architecture, specs etc. The same info is available for the smartphones though. \$\endgroup\$ – Vishal Sharma Mar 25 '17 at 4:53
  • 1
    \$\begingroup\$ @VishalSharma SIM cards are secure devices, therefore the information about architecture and specs aren't available to the public. You probably don't want average joe mess with critical infrastructure like the cell phone network. That's why you won't find anything about the internals. All the information how to program them, what protocol they speak etc. is standarized and public information though. \$\endgroup\$ – Nils Pipenbrinck Mar 25 '17 at 5:21
  • 1
    \$\begingroup\$ SIM cards are no different in many ways to Smartcard and similar in some ways to USB storage or SDCards.... they all have a small onboard processor that implements the interface protocol. In the case of SIM/Smartcards, the processor is very secure. This might help you: technoburst.net/search?q=SIM+cards+tutorial&x=0&y=0 \$\endgroup\$ – Jack Creasey Mar 25 '17 at 5:56
  • 1
    \$\begingroup\$ The document for the SLE 88CNFX6600P (a random old SIM chip) gives an architecture overview: 32-bit RISC with proprietary instruction set, 660k EEPROM, encrypted 32k RAM, hardware crypto engine and random number generator, security sensors to detect glitching, power management, 33MHz internal clock, memory management with hardware firewalls, etc. Some other SIM chips are ARM Cortex M0 based. 4donline.ihs.com/images/VipMasterIC/IC/INFN/INFNS15319/… \$\endgroup\$ – Ken Shirriff Mar 25 '17 at 6:39
1
\$\begingroup\$

Even "simple" memory cards like SD, CF, MMC... must have processors inside them because you don't access the memory chips directly. Each memory chip is different in number of pins, address bus width, data bus width, access protocol... so the processor will create a common interface for communicating with external devices.

In case of SIM card there must be a microcontroller in the SIM card to process data, because the purpose of the SIM is to prevent the authentication key from being read. The phone never knows what key the SIM is currently holding. Only the mobile network operator and the SIM know that.

The phone just gives some data to the SIM and the SIM's processor will return back the encrypted data based on the key after some cryptography algorithm. That encrypted data will be sent back to the network operator, who will use the same algorithm to generate the encrypted data from the key in their database. If the two piece of data match, the authentication ends successfully.

More information about the authentication process can be found here

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ This is interesting. You are saying that an SD card has also got a microprocessor! \$\endgroup\$ – Vishal Sharma Mar 25 '17 at 6:24
  • \$\begingroup\$ yes. SD protocol has a lot of commands that may be easier to implement in software. Moreover memory access is often in parallel and you need to convert to serial to send via that limited number of pins \$\endgroup\$ – phuclv Mar 25 '17 at 6:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.