Flujo de Aprovisionamiento RSP
El ciclo de descarga e instalación de un perfil eSIM en la SIM Virtual (eUICC) consta de 3 fases principales de comunicación.
A continuación se detalla la secuencia de operaciones coordinadas por el motor de máquinas de estado de Unuko ToolKit, interactuando con el servidor osmo-smdpp de Osmocom:
Diagrama de Secuencia General
sequenceDiagram
autonumber
participant W as Workflow (XState)
participant DA as Audit Decorator
participant M as MongoDB (audit_logs)
participant SM as osmo-smdpp
participant EU as eUICC (UERANSIM)
Note over W, EU: Fase de Autenticación (ES9+)
W->>DA: post: initiateAuthentication
DA->>M: log(TRANSPORT, OUT, initiateAuth JSON)
DA->>SM: HTTP POST /initiateAuthentication
SM-->>DA: 200 OK (TransactionID, ServerSignedData)
DA->>M: log(TRANSPORT, IN, response JSON)
DA-->>W: return Response
Note over W, EU: Fase de Descarga (ES9+)
W->>DA: post: getBoundProfilePackage
DA->>M: log(TRANSPORT, OUT, getBoundProfile JSON)
DA->>SM: HTTP POST /getBoundProfilePackage
SM-->>DA: 200 OK (BoundProfilePackage)
DA->>M: log(TRANSPORT, IN, profileData JSON)
DA-->>W: return Response
Note over W, EU: Fase de Instalación (Chip APDU)
W->>DA: transmit: LOAD / INSTALL APDU
DA->>M: log(HARDWARE, OUT, 80E2... APDU Hex)
DA->>EU: APDU over TCP/IP
EU-->>DA: RAPDU: 9000
DA->>M: log(HARDWARE, IN, 9000 Hex)
DA-->>W: return Success
Note over W, EU: Finalización
W->>M: log(WORKFLOW, INTERNAL, SUCCESS)
Detalle de Fases
1. Fase de Autenticación (ES9+ / ESips)
- initiateAuthentication: El cliente solicita abrir una sesión. El servidor osmo-smdpp responde con un identificador de transacción y datos firmados digitalmente.
- authenticateClient: El cliente envía estos datos al eUICC, que a su vez genera sus firmas y valida la identidad del servidor.
2. Fase de Descarga (ES9+ / ESips)
- getBoundProfilePackage: El cliente solicita el paquete de perfil final. El servidor osmo-smdpp encripta la eSIM en un bloque binario seguro (
BoundProfilePackage) usando claves generadas en el paso anterior y lo entrega.
3. Fase de Instalación (APDU Hex)
- El motor de orquestación de Unuko toma el paquete encriptado y lo desglosa en bloques binarios compatibles con comandos APDU de tarjeta inteligente (
80E2...). - Los comandos se transmiten al socket del eUICC simulado en UERANSIM. Cada comando es procesado por el procesador del chip virtual, que retorna el código de respuesta estándar
9000(Success).