Learn

What is an eIM? The eSIM IoT remote Manager explained

An eIM manages eSIM profiles on SGP.32 IoT devices. Learn what it does, how it differs from an SM-SR, its security model, and what to verify when choosing one.

By SimCheck.ai team · Updated · 8 min read

An eIM (eSIM IoT remote Manager) is the server in the GSMA SGP.32 architecture that manages eSIM profiles on fleets of IoT devices. It tells each device which operator profile to download from an SM-DP+, and it sends signed commands to enable, disable or delete profiles on the device’s eUICC. The eIM takes the place of the user in consumer eSIM and of the operator-run SM-SR in M2M eSIM, and it never sees the contents of the profiles it manages.

This page explains what an eIM does, how it differs from an SM-SR, how its packages and security model work, and what to check when you choose or test one.

What an eIM does

An eIM is defined by SGP.31 (requirements) and SGP.32 (technical specification). Its job is to orchestrate, not to store profiles. In practice an eIM:

  • Triggers profile downloads. It passes an activation code, an SM-DS event, or an instruction to use the default SM-DP+ to the device’s IoT Profile Assistant (IPA).
  • Proxies downloads when needed. In “indirect” download the eIM talks to the SM-DP+ on the device’s behalf over ES9+’, which helps devices that cannot open their own TLS session to an arbitrary server.
  • Manages profile state. It sends signed Profile State Management Operations (PSMOs) such as enable, disable and delete.
  • Manages its own association. It can add, update, delete or list the eIMs associated with an eUICC.
  • Collects results and status. It receives signed execution results, download notifications, and data such as the EID, installed profiles and IPA capabilities.
  • Queues work per device. Packages wait in a queue keyed by EID until the device next connects, which matters for devices that sleep for hours or days.

Everything else, such as fleet dashboards, APIs, operator selection rules or integration with billing, is product functionality layered on top. The standard defines the interfaces, not the user experience.

eIM vs SM-SR

The eIM is often described as “the SGP.32 replacement for the SM-SR”, but the two work very differently.

SM-SR (SGP.02) eIM (SGP.32)
Typically operated by An operator, or a platform on its behalf Device owner, enterprise, MVNO, connectivity provider or eUICC vendor
What it holds Secure channel keys to the eUICC’s root security domain A signing key; the eUICC stores only the eIM’s public key or certificate
How commands are protected Secure channel between SM-SR and eUICC ECDSA-signed eUICC Packages, replay counter, eUICC-signed results
Transport to device SMS, CAT_TP, SMS-triggered HTTPS HTTPS, CoAP/DTLS, or the device’s own protocol (LwM2M, MQTT)
Where profiles come from SM-DP linked to the SM-SR Any operator’s SGP.22-style SM-DP+
Changing operator Often requires moving the eUICC to another SM-SR Hand the eIM a new activation code
Changing the manager “SM-SR change” between two platform operators Signed add/delete eIM operations

The practical consequence is control. With an SM-SR, the operator’s platform holds the keys. With an eIM, the party that owns the devices can keep the same management system while changing operators.

eIM Packages and eUICC Packages

Two package concepts appear throughout SGP.32, and they are easy to confuse.

eIM Packages: what travels to the IPA

An eIM Package is whatever the eIM sends to the IPA over the ESipa interface. SGP.32 v1.2 (section 2.11) defines four kinds:

eIM Package Contains Used for
eUICC Package request A signed eUICC Package (see below) Changing profile state or eIM configuration
IPA/eUICC data request A list of data items wanted Reading EID, profile list, notifications, IPA capabilities, eUICC info
Profile download trigger Activation code, SM-DS event or “use default SM-DP+” Starting a download
Acknowledgements Sequence numbers Confirming receipt of results and notifications

eUICC Packages: what the eUICC verifies and executes

An eUICC Package is the signed part that the IPA hands to the eUICC without being able to alter it. It contains the eIM’s identifier, the target EID, a counter value, an optional transaction ID, and either a list of PSMOs or a list of eIM Configuration Operations (eCOs):

  • PSMOs: enable (optionally granting rollback), disable, delete, list profile info, get the Rules Authorisation Table, configure immediate enable, set or unset the fallback attribute, set the default SM-DP+ address.
  • eCOs: add eIM, update eIM, delete eIM, list eIMs.

The eUICC verifies the signature, checks that the counter is higher than the last one it accepted from that eIM, executes the operations, and produces an eUICC Package Result signed with its own key. The IPA returns that result to the eIM, which verifies the eUICC’s signature before updating its records.

eIM association and selection

An eUICC only obeys eIMs it is associated with. For each Associated eIM it stores eIM Configuration Data, which includes:

  • an eIM identifier and its type (OID, FQDN or proprietary), plus an address, which may be an intermediate server such as an MQTT broker;
  • the eIM’s public key or certificate for checking signatures;
  • the current counter value and an optional association token for replay protection;
  • optional TLS trust data, the transport protocols the eIM supports, and whether it supports indirect download.

The first association happens either at eUICC production or later through the IPA’s AddInitialEim function, which is accepted only while no eIM is associated. From then on, every change must be a signed eCO from an already associated eIM. Replacing a provider therefore means the current eIM adds the new one and then the old one is deleted. If the last eIM is deleted, the eUICC accepts an initial association again. An eUICC can hold more than one Associated eIM, each with its own counter.

Selection is therefore a long-term decision. Before choosing an eIM, check how the association will be created in your manufacturing flow, and confirm in writing how a future migration to another eIM would be carried out.

Transport and interoperability

SGP.32 is deliberately flexible about how eIM Packages reach the device, and that flexibility is the main interoperability risk.

  • Retrieval or injection. The IPA can poll the eIM (“eIM Package Retrieval”) or the eIM can push to the IPA (“eIM Package Injection”). Each side needs at least one; both must use the same one. The specification recommends that an eIM serving many device types support both. How a sleeping device is told to poll is out of scope.
  • Secure connection. HTTPS over TCP (TLS 1.2 minimum, server authentication) is recommended wherever TCP works. CoAP over UDP with DTLS (1.2 minimum) suits network-constrained devices. Alternatively, ESipa messages can be carried by a protocol the device already uses; the specification includes informative mappings for LwM2M (object 3443 in the OMA LwM2M registry) and MQTT. In that mode, compatibility is the integrator’s responsibility.
  • Encodings. ESipa over HTTP can use ASN.1 or JSON bindings.
  • Download split. The IPA declares whether it supports direct download, indirect download, eIM-handled activation codes and compact data objects that minimise bytes on the air.
Feature Why it causes interoperability gaps
Retrieval vs injection eIM and IPA must support the same mode
HTTPS vs CoAP/DTLS vs proprietary A CoAP-only IPA cannot talk to an HTTPS-only eIM
Direct vs indirect download Constrained devices may depend on indirect download
Fallback mechanism Optional on the eUICC; an eIM may assume it exists
JSON vs ASN.1 binding Both ends must agree
Wake-up / trigger method Not standardised; differs per platform

Security model

The eIM’s security rests on a few well-defined mechanisms:

  • Signed commands. eUICC Packages are signed with ECDSA on NIST P-256 or brainpoolP256r1. The eUICC holds the matching public key or certificate in its eIM Configuration Data. Issuing and revoking eIM signing certificates is left to implementations.
  • Replay protection. Each eIM increments its counter for every package to a given eUICC; the eUICC rejects anything not higher than the last accepted value and must support counters up to at least 8,388,607. An optional association token protects against replaying an entire association sequence after a reset.
  • Signed results. The eUICC signs its results, so the eIM can trust that a profile really was enabled or deleted.
  • Transport security. The IPA authenticates the eIM through TLS or DTLS. NIST P-256 support is mandatory, and specific AES-GCM cipher suites are required.
  • No access to profiles. Profiles are encrypted end to end between the SM-DP+ and the eUICC (interface ES8+), so the eIM never handles profile secrets in clear.

At the operational level, the GSMA’s certification applicability annex lists the eIM, with the SM-DP+ and SM-DS, under the Security Accreditation Scheme for subscription management roles. Functional compliance is tested against SGP.33-3, the eIM test specification. Whoever controls the eIM’s signing key controls your fleet’s connectivity, so key custody (for example in an HSM) deserves as much scrutiny as uptime.

Cloud eIM vs self-hosted eIM

Cloud (hosted) eIM Self-hosted eIM
Time to deploy Fast; provider runs and updates it Slower; you build or license and operate it
Signing key custody Provider You
Security accreditation Provider’s responsibility Yours
Integration Provider APIs Direct integration with your device management
Operator neutrality Depends on the provider’s commercial model Full control
Exit path Needs provider cooperation for signed eCOs Under your control
Best fit Most OEMs and enterprises Very large fleets, regulated sectors, platform providers

What to verify when choosing or testing an eIM

Area What to verify
Specification version Which SGP.32 version it implements and whether it has GSMA compliance evidence
Transport Retrieval and/or injection; HTTPS, CoAP/DTLS, LwM2M or MQTT, matching your IPA
Download modes Direct and indirect download; activation code, SM-DS and default SM-DP+ triggers
Operations Every PSMO and eCO you plan to use, including rollback and fallback
eUICC compatibility Tested with your eUICC vendor and your IPAd or IPAe
Sleeping devices Queue depth, package expiry, behaviour with PSM and eDRX
Results Signed results verified, notifications forwarded to the SM-DP+, clear error reporting
Migration Documented, tested process for adding another eIM and deleting the current one
Security Key custody, accreditation, access control on the eIM’s own API
Operations SLA, monitoring, audit logs, regional hosting

What this means for testing

An eIM can pass every conformance test and still fail in the field: a package waits forever for a device that never polls, an enable succeeds but the new profile cannot attach, or a rollback is never granted. The only reliable proof is to drive real devices through the eIM on live networks and check the result at every step, from package delivery to network registration and data. The SGP.32 testing guide covers that sequence in detail.

SimCheck.ai uses a cloud eIM to install SGP.32 profiles onto real modems and then verifies attach, data and MQTT connectivity on the new profile. See SGP.32 IoT eSIM testing for how teams use it to validate eIM, eUICC and operator combinations before rollout.

Frequently asked questions

Is an eIM the same as an SM-DP+?

No. The SM-DP+ belongs to the operator and prepares, encrypts and delivers the profile itself. The eIM belongs to whoever manages the device fleet and decides which profile each device should download and when to enable, disable or delete it. A single eIM typically works with the SM-DP+ servers of many operators.

Who usually operates an eIM?

Any party that manages devices: eUICC vendors and connectivity providers offer hosted eIMs, IoT platform companies integrate them into device management, and large OEMs or enterprises sometimes run their own. The specification deliberately does not tie the eIM to a mobile operator.

Can the eIM read or change the contents of a profile?

No. Profiles are encrypted end to end between the operator's SM-DP+ and the eUICC. Even when the eIM relays a download for a constrained device, it only passes on an encrypted Bound Profile Package that it cannot open.

Can I move devices to a different eIM provider after deployment?

The standard supports it: the current eIM signs an operation that adds the new eIM, and the old one can then be removed. In practice it needs the outgoing provider's cooperation and an eUICC and IPA that handle these operations correctly, so it should be contractually agreed and tested before you depend on it.

Does an eIM need GSMA certification?

The GSMA eSIM Compliance programme covers eIMs, with functional compliance demonstrated against the SGP.33-3 eIM test specification using third-party test tools. The GSMA certification applicability annex also lists eIMs under the Security Accreditation Scheme for subscription management roles. Ask vendors for both.

See it on your own eSIMs

Start a free trial with test tokens included, or book a demo to test your profiles across your target markets.