Skip to content
LIVE FEED

BlogCơ chế OTA SIM (Over-The-Air SIM Management) — Tài liệu kỹ thuật tổng hợp

Cơ chế OTA SIM (Over-The-Air SIM Management) — Tài liệu kỹ thuật tổng hợp

Tham chiếu chuẩn: ETSI TS 102.225 (Secured Packet), ETSI TS 102.226 (Remote APDU), 3GPP TS 31.115 / TS 31.116, GlobalPlatform Amendment B, GSMA SGP.21/22 (eSIM RSP)


1. Tổng quan

OTA SIM là cơ chế nhà mạng quản lý, cập nhật dữ liệu/applet trên SIM (UICC) từ xa mà không cần thay SIM vật lý — dùng để cập nhật danh bạ mạng, cấu hình STK menu, cài/gỡ applet Java Card, cập nhật khoá bảo mật, v.v.

2. Các thành phần liên quan

┌─────────────────┐   SMPP/HTTP   ┌─────────┐         SMS-PP/CAT_TP        ┌─────────┐
│  OTA Platform    │──────────────►│  SMSC   │──────────────────────────────►│  UICC   │
│ (Remote Provi-   │               │         │      (qua hạ tầng MO/MT-SMS   │ (SIM)   │
│  sioning Server) │◄──────────────│         │◄──────────────────────────────│         │
└─────────┬─────────┘               └─────────┘        chuẩn)                 └─────────┘
          │
          ▼
   ┌─────────────┐
   │ OTA Key DB   │  ← lưu KIc/KID/TAR/Counter riêng theo từng ICCID/IMSI
   └─────────────┘
  • OTA Platform: hệ thống của nhà mạng (thường gắn với SIM vendor hoặc trung tâm cấp phát), sinh lệnh và mã hoá bằng khoá OTA riêng của từng SIM.
  • SMSC: chỉ đóng vai trò bearer trung gian — coi bản tin OTA như một SMS bình thường, không hiểu nội dung bên trong.
  • UICC: có Security Domain chứa khoá OTA (KIc, KID) và Toolkit Applet đích (định danh bằng TAR) để thực thi lệnh.

3. Cấu trúc gói tin OTA (theo TS 102.225)

SMS TPDU
 ├─ TP-PID   = "SIM Data Download"    ← đánh dấu đây là bản tin cho SIM, không phải cho user
 ├─ TP-DCS   = Class 2                ← Class 2 = SIM-specific, KHÔNG vào Inbox, chặn ở baseband
 └─ TP-UD (User Data)
      └─ Command Packet (Secured Packet)
           ├─ CPL / CHL          : độ dài gói/header
           ├─ SPI                : chỉ định chế độ mã hoá + có yêu cầu PoR (Proof of Receipt) không
           ├─ KIc                : chỉ định thuật toán + khoá dùng để CIPHER (DES/3DES/AES)
           ├─ KID                : chỉ định thuật toán + khoá dùng để AUTHENTICATE (CC/DS)
           ├─ TAR (3 byte)       : định danh Applet/Security Domain đích trên SIM
           ├─ CNTR (Counter)     : chống replay — phải tăng dần theo từng bản tin
           ├─ PCNTR              : padding counter
           ├─ RC/CC/DS           : Redundancy Check / Cryptographic Checksum / Digital Signature
           └─ Secured Data       : APDU command đã mã hoá (payload thực sự)

4. Luồng đầy đủ trên mạng lưới (Push mode — SMS-PP)

 OTA Platform      SMSC          HLR/HSS      MSC/VLR         MME          eNodeB         UE(baseband)      UICC
      │              │              │             │             │             │                │              │
      │1.Tạo lệnh OTA│              │             │             │             │                │              │
      │ mã hoá bằng  │              │             │             │             │                │              │
      │ KIc/KID của  │              │             │             │             │                │              │
      │ SIM đích     │              │             │             │             │                │              │
      │──SMPP───────►│              │             │             │             │                │              │
      │  (SMS-PP MT, │              │             │             │             │                │              │
      │  Class2,     │              │             │             │             │                │              │
      │  TP-PID=SIM  │              │             │             │             │                │              │
      │  Data DL)    │              │             │             │             │                │              │
      │              │2.MAP SRI-SM  │             │             │             │                │              │
      │              │─────────────►│             │             │             │                │              │
      │              │◄─────────────│             │             │             │                │              │
      │              │3.MAP MT-ForwardSM          │             │             │                │              │
      │              │────────────────────────────►│             │             │                │              │
      │              │              │             │4.SGsAP-DL-  │             │                │              │
      │              │              │             │ UNITDATA    │             │                │              │
      │              │              │             │────────────►│5.NAS DL     │                │              │
      │              │              │             │             │ Transport   │                │              │
      │              │              │             │             │────────────►│6.RRC/DL         │              │
      │              │              │             │             │             │───────────────►│              │
      │              │              │             │             │             │                │7.Baseband bắt│
      │              │              │             │             │             │                │ TP-DCS Class2│
      │              │              │             │             │             │                │ → KHÔNG hiện │
      │              │              │             │             │             │                │ Inbox, chuyển│
      │              │              │             │             │             │                │ thẳng SIM    │
      │              │              │             │             │             │                │──APDU───────►│
      │              │              │             │             │             │                │ ENVELOPE     │
      │              │              │             │             │             │                │ (SMS-PP DL)  │8.Verify:
      │              │              │             │             │             │                │              │ - check CNTR
      │              │              │             │             │             │                │              │ - check CC/DS
      │              │              │             │             │             │                │              │ - decrypt KIc
      │              │              │             │             │             │                │              │ 9.Route theo
      │              │              │             │             │             │                │              │ TAR → Applet
      │              │              │             │             │             │                │              │ đích thực thi
      │              │              │             │             │             │                │              │ APDU command
      │              │              │             │             │             │                │              │ (STORE DATA,
      │              │              │             │             │             │                │              │ update EF...)
      │              │              │             │             │             │                │◄──10.Response │
      │              │              │             │             │             │                │  Packet (PoR)│
      │              │              │             │             │             │                │11.SIM trigger│
      │              │              │             │             │             │                │ gửi SMS-PP MO│
      │              │              │             │             │◄────────────│◄────────────────│──────────────│
      │              │◄──MAP MO-ForwardSM (PoR)────│◄────────────│             │                │              │
      │◄──SMPP DR────│              │             │             │             │                │              │
      │12.Ghi log kết quả cập nhật (thành công/lỗi mã/lỗi counter) vào Provisioning DB           │              │

Điểm quan trọng: toàn bộ hạ tầng báo hiệu (SGsAP, S1AP, MAP, SRI-SM…) giống hệt luồng MT-SMS thông thường — OTA không cần hạ tầng riêng, chỉ khác ở TP-DCS = Class 2 và TP-PID = SIM Data Download, khiến baseband UE chặn bản tin lại và đưa cho SIM thay vì hiện lên Inbox người dùng.

5. Pull mode — CAT_TP/BIP (khi cần transfer dữ liệu lớn)

Khi payload vượt quá giới hạn ~140 byte/segment của SMS (ví dụ cập nhật applet Java Card lớn, cấu hình phức tạp):

SIM (qua STK)                    Baseband/Modem                   OTA Platform
   │  1.Nhận trigger (từ SMS-PP nhỏ, chỉ mang lệnh "hãy mở kênh")   │
   │──STK: OPEN CHANNEL─────────►│                                  │
   │                              │──PDP Context/data bearer───────►│
   │──STK: SEND DATA─────────────►│──CAT_TP hoặc TCP/HTTPS─────────►│
   │◄──STK: RECEIVE DATA──────────│◄────────────────────────────────│
   │  2.Nhận file lớn, cài đặt applet, đóng kênh                    │

→ Cơ chế này gần giống nguyên lý mà eSIM Remote SIM Provisioning (RSP – GSMA SGP.21/22) sau này kế thừa và mở rộng (dùng HTTPS thuần thay vì CAT_TP).

6. Bảo mật — 3 lớp phòng vệ

Cơ chếVai trò
KIc (Key for Ciphering)Mã hoá Secured Data, chống nghe lén nội dung lệnh
KID (Key for Integrity/Auth)Sinh CC (Cryptographic Checksum) hoặc DS (Digital Signature) → đảm bảo lệnh đến từ đúng OTA Platform, không bị chỉnh sửa trên đường truyền
CNTR (Counter)Mỗi SIM lưu counter cuối cùng nhận được; lệnh mới phải có counter lớn hơn → chống replay attack (phát lại bản tin cũ để chiếm quyền)

7. Bảng “ai thấy gì” trên đường truyền

NodeĐọc TP-DCS/PID (biết đây là OTA)?Đọc Secured Data (nội dung lệnh)?
MME/eNodeB❌ (opaque, giống SMS thường)❌
MSC/VLR✅ (thấy TPDU header)❌ (không có OTA Key)
SMSC✅❌ (chỉ relay, không có KIc/KID của từng SIM)
UE Baseband✅ (chặn Class 2, route vào SIM)❌ (bản thân modem không giải mã)
UICC (SIM)✅✅ (chỉ nơi duy nhất có khoá để giải mã)
OTA Platform✅✅ (nơi sinh khoá)

→ Giống hệt nguyên lý ranh giới TP-User-Data ở SMS thường: chỉ hai đầu cuối nắm khoá (OTA Platform và chính con SIM đó) mới giải mã được nội dung lệnh, mọi node trung gian (SMSC, MSC, MME) chỉ relay theo transport layer mà không có khả năng đọc payload thật.


8. Bảng thuật ngữ (Glossary)

Thuật ngữGiải thích
OTA (Over-The-Air)Cơ chế truyền lệnh/dữ liệu tới SIM từ xa qua sóng di động, không cần thao tác vật lý trên SIM
UICC (Universal Integrated Circuit Card)Tên kỹ thuật chuẩn của “thẻ SIM” vật lý; có thể chứa nhiều ứng dụng (SIM, USIM, ISIM…)
SIM (Subscriber Identity Module)Ứng dụng chạy trên UICC dùng cho mạng 2G/GSM; cách gọi thông dụng cho cả UICC
USIMPhiên bản SIM dùng cho mạng 3G/4G/5G, chạy trên UICC
Security DomainVùng bảo mật trên UICC theo chuẩn GlobalPlatform, chứa khoá và quản lý quyền truy cập cho từng applet
Applet (Java Card Applet)Ứng dụng nhỏ cài trên SIM (ví dụ: STK menu, ví điện tử, ứng dụng ngân hàng), chạy trên nền Java Card
STK (SIM Toolkit)Bộ lệnh chuẩn cho phép SIM chủ động điều khiển giao diện/kết nối của điện thoại (hiện menu, gửi SMS, mở kênh dữ liệu…)
TAR (Toolkit Application Reference)Mã 3 byte định danh applet/Security Domain đích trên SIM mà lệnh OTA nhắm tới
APDU (Application Protocol Data Unit)Đơn vị lệnh/phản hồi chuẩn dùng để giao tiếp với smart card (SIM), theo ISO 7816-4
Secured PacketGói tin OTA đã được mã hoá và/hoặc ký số theo TS 102.225, đóng vai trò “phong bì bảo mật” chứa APDU command
KIc (Key for Ciphering)Khoá dùng để mã hoá/giải mã nội dung Secured Data trong gói OTA
KID (Key for Identification/Integrity)Khoá dùng để tạo checksum (CC) hoặc chữ ký số (DS) nhằm xác thực nguồn gốc và toàn vẹn lệnh
CC (Cryptographic Checksum)Mã băm có khoá, dùng để xác minh gói tin không bị sửa đổi trên đường truyền
DS (Digital Signature)Chữ ký số (mạnh hơn CC), thường dùng khi yêu cầu bảo mật cao hơn
CNTR (Counter)Bộ đếm tăng dần gắn với mỗi lệnh OTA, dùng để chống tấn công phát lại (replay attack)
SPI (Security Parameter Indicator)Trường chỉ định chế độ bảo mật áp dụng (có mã hoá không, có cần chữ ký không, có yêu cầu PoR không)
PoR (Proof of Receipt)Cơ chế SIM gửi phản hồi xác nhận đã nhận và xử lý lệnh OTA thành công/thất bại
TP-PID (Protocol Identifier)Trường trong TPDU SMS cho biết loại giao thức lớp trên; giá trị “SIM Data Download” đánh dấu đây là bản tin OTA
TP-DCS (Data Coding Scheme)Trường xác định cách mã hoá dữ liệu SMS; giá trị “Class 2” chỉ định bản tin dành riêng cho SIM, chặn ở baseband, không hiện Inbox
SMS-PP (SMS Point-to-Point)Cơ chế truyền lệnh OTA qua kênh SMS thông thường (bearer là SMS)
ENVELOPELệnh STK dùng để baseband chuyển dữ liệu (như bản tin OTA nhận được) vào cho SIM xử lý
CAT_TP (Card Application Toolkit Transport Protocol)Giao thức truyền dữ liệu tin cậy giữa SIM và mạng qua kênh dữ liệu (BIP), dùng khi payload lớn hơn giới hạn SMS
BIP (Bearer Independent Protocol)Cơ chế STK cho phép SIM mở/điều khiển kênh dữ liệu (GPRS/LTE) độc lập với bearer thoại/SMS
OTA Platform / RPS (Remote Provisioning Server)Hệ thống trung tâm của nhà mạng/SIM vendor sinh và gửi lệnh OTA, quản lý khoá theo từng SIM
ICCID (Integrated Circuit Card Identifier)Số định danh duy nhất in trên từng SIM vật lý, dùng để tra cứu khoá OTA tương ứng
eSIM / RSP (Remote SIM Provisioning)Thế hệ kế thừa của OTA cho SIM nhúng (eSIM), chuẩn hoá bởi GSMA SGP.21/22, dùng HTTPS thay vì CAT_TP
SMPP (Short Message Peer-to-Peer)Giao thức chuẩn dùng để OTA Platform/ứng dụng gửi SMS tới SMSC
SMSC (Short Message Service Center)Trung tâm dịch vụ tin nhắn, đóng vai trò bearer trung gian relay bản tin OTA như SMS thông thường
Contact
Facebook
TOP