eSIM RSP Knowledge Base

Comprehensive technical knowledge base covering 12 GSMA eSIM specifications. 84+ articles on Remote SIM Provisioning — SGP.02, SGP.22, SGP.32, SGP.41, SGP.29, SGP.23, SGP.25, SGP.26 and more.


Project maintained by AlexsCodingAgent Hosted on GitHub Pages — Theme by mattgraham

eUICC Security Testing: Certificates, Keys, and Channels

🏠 eUICC.tech > SGP.23-1 eUICC Testing > eUICC Security Testing: Certificates, Keys, and Channels

💡 Why this matters: The eSIM security model is built on a chain of trust extending from the GSMA Certificate Issuer (CI) down through the eUICC manufacturer (EUM), the SM-DP+, and finally the eUICC itself. If any link in this chain fails: a certificate doesn’t validate, a key operation produces wrong results, or a secure channel is established with weak parameters: the entire profile delivery system is compromised. SGP.23-1 devotes significant testing to every cryptographic operation the eUICC must perform.

Key takeaways:

  • Certificate validation tests verify the eUICC can validate chains from CERT.DPauth.ECDSA → CI → root, and correctly reject expired, mis-signed, or wrong-issuer certificates
  • ECDSA operational tests cover signing and verification across four curves: NIST P-256, BrainpoolP256r1, FRP256V1, and SM2
  • ECDH key agreement testing verifies the eUICC correctly establishes shared secrets for SCP03t secure channels
  • SCP03t channel testing covers key derivation, MAC generation/verification, and encrypted command/response handling
  • CRL (Certificate Revocation List) handling tests verify the eUICC loads CRLs correctly and subsequently rejects revoked certificates
  • Key generation testing verifies one-time key pair generation for profile binding (otPK.eUICC.ECKA / otSK.eUICC.ECKA)
  • The entire test PKI (Annex A.2) is isolated from production: test certificates and keys ensure testing never touches live GSMA infrastructure

Security testing permeates nearly every test case in SGP.23-1, but several test groups focus specifically on cryptographic correctness and secure channel operations.


The Test PKI: A Parallel Trust Infrastructure

SGP.23-1 defines a complete parallel PKI in Annex A.2, completely isolated from production GSMA certificates. The key principle: test certificates and test keys ensure conformance testing never touches live GSMA infrastructure.

The test PKI includes:

Certificate / Key Role
CERT_S_CI_ECDSA Simulated Certificate Issuer: the root of trust for testing
CERT_S_EUM_ECDSA Simulated EUM certificate: signs the eUICC’s certificates
CERT_S_SM_DPauth_ECDSA SM-DP+ authentication certificate: used in ES9+.InitiateAuthentication
CERT_S_SM_DPpb_ECDSA SM-DP+ profile binding certificate: verified during PrepareDownload
CERT_S_SM_DP_TLS SM-DP+ TLS server certificate
CERT_S_SM_DS_TLS SM-DS TLS certificate
PK_EUICC_SIG eUICC public signature key: used to verify euiccSignPIR and euiccSignRPR
SK_EUICC_SIG eUICC private signature key: held securely within the eUICC

Test eUICCs are pre-loaded with the test CI’s public key in their euiccCiPKIdListForVerification and euiccCiPKIdListForSigning lists. The test SM-DP+ simulator uses SK.DPauth.SIG and SK.DPpb.SIG to sign its messages, and the eUICC verifies these against the test certificates.


Certificate Validation Tests

Certificate validation is tested implicitly throughout the specification but concentrated in the AuthenticateServer test case group (Section 4.2.18) and the Mutual Authentication procedures.

AuthenticateServer Testing

The eUICC must validate the SM-DP+’s certificate chain during profile download. The AuthenticateServer test case verifies:

The AuthenticateServer test case (4.2.18) spans ~51 pages (pages 162–213), making it one of the most extensively specified security test groups.

PrepareDownload Certificate Verification

During PrepareDownload, the eUICC receives the SM-DP+’s profile binding certificate (CERT.DPpb.ECDSA). Test cases verify:


ECDSA Operational Testing

ECDSA signing and verification operations are tested across all supported curves:

Curve-Specific Test Variants

Curve Mnemonic Test Cases
NIST P-256 O_E_NIST PrepareDownloadNIST, LoadBoundProfilePackageNIST, plus NIST variants across all ES8+ and ES10b tests
BrainpoolP256r1 O_E_BRP PrepareDownloadBRP, LoadBoundProfilePackageBRP, brainpool variants of all signing/verification tests
FRP256V1 O_E_FRP PrepareDownloadFRP, LoadBoundProfilePackageFRP : French national curve testing
SM2 O_E_SM2 Chinese national algorithm: noted as “for further study” in v3.1.3

Every test that involves an eUICC signature: including euiccSignPIR in profile installation results, euiccSignRPR in RPM package results, and the EUICC_SIGNATURE2 in the PrepareDownload response: must be verified against #PK_EUICC_SIG using the appropriate curve.

Signature Variants

Five signing variants are tested:


ECDH Key Agreement and SCP03t Channel Testing

The ES8+ secure channel between the SM-DP+ and the eUICC uses SCP03t (Secure Channel Protocol 03 with TLS-style key agreement) built on ECDH:

Key Agreement

During InitialiseSecureChannel, the SM-DP+ sends its ephemeral public key (otPK.SM-DP+.ECKA). The eUICC:

  1. Generates its own ephemeral key pair (otPK.eUICC.ECKA / otSK.eUICC.ECKA)
  2. Performs ECDH key agreement to derive shared secret ShS
  3. Derives session keys (S-ENC, S-MAC, S-RMAC) from ShS using KDF
  4. Returns otPK.eUICC.ECKA and receipt confirmation

Test sequences verify:

SCP03t Channel Operations

The SCP03t secure channel protects all subsequent ES8+ commands (ConfigureISDP, StoreMetadata, LoadProfileElements). Test cases verify:

InitialiseSecureChannel Error Handling

The test specification explicitly verifies that the eUICC rejects:


CRL Handling Tests

The LoadCRL test case (4.2.17) verifies Certificate Revocation List processing:

CRL support is conditional: not all eUICCs are required to support it, but those that do must handle it correctly.


Key Generation Testing

The eUICC generates several types of keys that are verified during testing:

One-Time Key Pairs (Profile Binding)

During PrepareDownload, the eUICC generates otPK.eUICC.ECKA / otSK.eUICC.ECKA : the ephemeral key pair used to establish the encrypted download channel. Tests verify:

ECASD Operations

The eUICC’s ECASD (eUICC Controlling Authority Security Domain) holds the eUICC’s long-term identity keys. While not a separate test group, ECASD operations are verified implicitly:


Physical Interface and Transport Security

For Integrated eUICCs using USB CCID (Annex J), the test interface specification includes security requirements:


📋 Summary


← Previous: Key eUICC Test Cases: ISD-R, ECASD, and Profile Lifecycle · 🏠 Home Next: eUICC Certification: From SGP.23-1 Tests to SAS-UP Approval

Based on GSMA SGP.23-1 v3.1.3 (27 January 2025) : RSP Test Specification for the eUICC, Sections 4.2.3, 4.2.10, 4.2.17, 4.2.18, Annexes A.2, J


← Previous: Key eUICC Test Cases: ISD-R, ECASD, and Profile Lifecycle Section Index Next: eUICC Certification: From SGP.23-1 Tests to SAS-UP Approval