BlogTổng Hợp Báo Hiệu SS7 Trong Luồng Xử Lý SMS (MO + OCS & MT)
Bố cục bài viết
Trang này
Ngày tạo
12/08/2026
Cập nhật
Lượt xem
17
Đọc
14m
Tổng Hợp Báo Hiệu SS7 Trong Luồng Xử Lý SMS (MO + OCS & MT)
1. Sơ đồ luồng SS7 (ASCII, chỉ tập trung Core Network)
VMSC-A OCS/SCP IWMSC SMSC GMSC HLR VMSC-B
| | | | | | |
|=========== PHẦN 1: MO-SMS & TÍNH CƯỚC (CAP) ============================================|
| | | | | | |
| (SMS-SUBMIT từ MS qua RP/CP - access network, KHÔNG thuộc SS7) | |
| [Điều kiện: TB-A có O-CSI tại HLR] | | | |
| | | | | | |
|--CAP InitialDPSMS----------->| | | | |
| (MSISDN-A,B-Number,SvcKey) | | | | |
| [[TCAP Begin]] | | | | |
| | | | | | |
| .-----+-----. |
| | Đủ số dư? | |
| '-----+-----' |
| | | | | | |
| [Có] | (rating, giữ tiền tạm - reserve units) | | |
|<--CAP ContinueSMS------------| | | | |
| [[TCAP Continue]] | | | | |
| | | | | | |
| [Không] | | | | | |
|<--CAP ReleaseSMS/ConnectSMS--| | | | |
| (Cause: Insufficient Balance) [[TCAP End]]| | | |
| --> Kết thúc phiên, KHÔNG forward SMS | | | |
| | | | | | |
|--MAP MO-ForwardSM-----------------------> | | | |
| (SM-RP-DA=SMSC,SM-RP-OA=IMSI-A,TPDU) | | | |
| [[TCAP Begin / SCCP GTT qua STP]] | | | |
| | |--Internal-->| | | |
| | | Transfer | (lưu Queue) | | |
| | |<--Internal--| | | |
| | | Ack | | | |
| | | | | | |
| .-----+-----. |
| | Nhận OK? | |
| '-----+-----' |
| [OK] | | | | | |
|<--MAP MO-ForwardSM Ack------ | | | | |
| [[TCAP End]] | | | | | |
|--CAP EventReportSMS--------->| | | | |
| (Status: Success) [[TCAP End]] | | | |
| | (Commit cước - debit reserved units) | | |
| | | | | | |
| [Lỗi] | | | | | |
|<--MAP Error (SM-DeliveryFailure)-----------| | | |
|--CAP EventReportSMS--------->| | | | |
| (Status: Failure) | | | | |
| | (Hoàn tiền - refund reserved units) | | |
| | | | | | |
|=========== PHẦN 2: MT-SMS DELIVERY (MAP) ================================================|
| | | | | | |
| | | |--Internal--->| | |
| | | | Push | | |
| | | | |--MAP SendRoutingInfoForSM->|
| | | | | (MSISDN-B) [[TCAP Begin/SCCP GTT]]
| | | | | | |
| | | | | .-------+-------. |
| | | | | | TB tồn tại & | |
| | | | | | đang online? | |
| | | | | '-------+-------' |
| | | | | | |
| [Có] | | | | (tra cứu VLR/VMSC hiện tại)
| | | | |<--MAP SRI-SM Ack-----------|
| | | | | (IMSI-B, VMSC-B Addr) [[TCAP End]]
| | | | | | |
| | | | |--MAP MT-ForwardSM-------------------->|
| | | | | (SM-RP-DA=IMSI-B,SM-RP-OA=SMSC,TPDU) |
| | | | | [[TCAP Begin/SCCP GTT]] |
| | | | | | (Paging UE-B - access network)
| | | | | .-------+-------------. |
| | | | | | UE-B trả lời paging?| |
| | | | | '-------+-------------' |
| [Có] | | | | | | |
| | | | |<--MAP MT-ForwardSM Ack----------------|
| | | | | [[TCAP End]] | |
| | | |<--Internal Ack (Delivery: Success)---------| |
| | | | | | | |
| [Không] | | | | | | |
| | | | |<--MAP Error (Absent Subscriber SM)-----|
| | | | | (HLR set lại MNRF flag) | |
| | | |<--Internal Ack (Delivery Failure)----------| |
| | | | (Lưu SM chờ - Message Waiting, chờ Alert-SC) |
| | | | | | | |
| [Không tồn tại / Absent Subscriber] | | | | |
| | | | |<--MAP Error (Unidentified/Absent Subscriber)
| | | | | [[TCAP End]] | |
| | | |<--Internal Ack (Routing Failure)-----------| |
| | | | (Đặt Message Waiting, HLR set MNRF/MCEF) |
| | | | | | | |
|=========== PHẦN 3 (Optional): ALERT KHI THUÊ BAO ONLINE TRỞ LẠI =========================|
| | | | | | |
| | | | | MAP ReadyForSM |
| | | | |<--(IMSI-B, MS Present)-----|
| | | | | [[TCAP Begin/End]] |
| | | | | | |
| | | | MAP AlertServiceCentre | |
| | | |<--(MSISDN-B)--------------| |
| | | | [[TCAP Begin/End]] | |
| | | | --> Trigger lại MT-ForwardSM (quay về Phần 2)
2. Nhận xét đánh giá luồng
Luồng bám khá sát 3GPP TS 23.040 (SM), TS 29.002 (MAP) và TS 23.078/29.078 (CAMEL). Điểm đúng đáng chú ý: tách rõ vai trò IWMSC (nhận MO) và GMSC (đẩy MT) — đây là hai chức năng khác nhau của SMSC theo chuẩn, không phải trùng lặp.
Các điểm cần lưu ý / đã bổ sung so với bản đầu:
- Lớp CP (Connection Protocol) giữa MS và MSC (TS 24.011) không thuộc SS7 nên đã loại khỏi sơ đồ tập trung SS7, chỉ ghi chú tồn tại ở access network.
- InitialDPSMS chỉ xảy ra có điều kiện — khi thuê bao A có O-CSI (Originating CAMEL Subscription Info) provisioned tại HLR, thường là thuê bao prepaid.
- RP-DATA/RP-ACK không phải báo hiệu SS7 — đây là SM-RP (TS 24.011) chạy trên BSSAP (DTAP)/RANAP, thuộc access network. Chỉ khi vào lõi mới ánh xạ sang MAP MO/MT-ForwardSM.
- Đã bổ sung các nhánh lỗi: CAP
ReleaseSMSkhi từ chối cước; MAPAbsent Subscriber,Unidentified Subscriber,SM-DeliveryFailurekhi định tuyến/giao tin thất bại. - Đã bổ sung luồng Alert (Phần 3):
ReadyForSM+AlertServiceCentređể khép kín vòng đời khi thuê bao offline lúc nhận SMS. - Thứ tự Commit cước vs Ack là lựa chọn thiết kế (mô hình online charging đồng bộ), không phải yêu cầu bắt buộc của chuẩn.
3. Tổng hợp báo hiệu SS7 và ý nghĩa
3.1 Các tầng nền (Underlying Layers)
| Báo hiệu | Ý nghĩa |
|---|---|
| MTP (Message Transfer Part 1-3) | Tầng vận chuyển vật lý/liên kết/mạng của SS7. Đảm bảo bản tin đến đúng node đích trong mạng báo hiệu, tương đương tầng 1-3 OSI. Là nền cho mọi bản tin MAP/CAP bên trên. |
| SCCP (Signalling Connection Control Part) | Cung cấp định tuyến logic (Global Title Translation - GTT) giúp định tuyến bản tin giữa các node ở các mạng/quốc gia khác nhau mà không cần biết địa chỉ point-code vật lý. Đây là lớp hay bị khai thác trong tấn công SS7 (giả mạo GT để truy vấn HLR/VLR). |
| TCAP (Transaction Capabilities Application Part) | Quản lý phiên giao dịch (Begin/Continue/End) giữa hai node, đóng gói nội dung MAP hoặc CAP bên trong — giống như “phong bì” chứa nội dung nghiệp vụ thực sự. |
3.2 MAP (Mobile Application Part) — báo hiệu định tuyến & chuyển tin nhắn
| Bản tin | Chiều | Ý nghĩa |
|---|---|---|
| MO-ForwardSM | VMSC-A → IWMSC | Chuyển tiếp nội dung SMS gốc (SMS-TPDU) từ MSC phục vụ thuê bao gửi sang IWMSC để đưa vào SMSC. Chứa địa chỉ SMSC đích (SM-RP-DA) và IMSI người gửi (SM-RP-OA). |
| MO-ForwardSM Ack | IWMSC → VMSC-A | Xác nhận SMSC đã nhận và lưu tin nhắn thành công. |
| SendRoutingInfoForSM (SRI-SM) | GMSC → HLR | Truy vấn HLR để lấy thông tin định tuyến (IMSI và địa chỉ VMSC hiện tại) của thuê bao nhận. Đây là bản tin nhạy cảm nhất về an ninh — bị lạm dụng để dò vị trí thuê bao (location tracking) trong các tấn công SS7 nổi tiếng. |
| SendRoutingInfoForSM Ack | HLR → GMSC | Trả về IMSI-B và địa chỉ VMSC-B đang phục vụ thuê bao. |
| MT-ForwardSM | GMSC → VMSC-B | Chuyển nội dung SMS đến MSC đang phục vụ thuê bao nhận để đẩy xuống thiết bị đầu cuối. |
| MT-ForwardSM Ack | VMSC-B → GMSC | Xác nhận đã giao tin nhắn thành công đến UE-B. |
| ReadyForSM | VMSC-B → HLR | VMSC-B báo cho HLR biết thuê bao B đã online trở lại (sau khi từng offline), kích hoạt lại quy trình gửi SMS đang chờ. |
| AlertServiceCentre | HLR → SMSC | HLR thông báo cho SMSC biết thuê bao B đã sẵn sàng nhận tin, để SMSC thử gửi lại các tin nhắn đang lưu chờ (message waiting). |
| MAP Error: Absent Subscriber SM | VMSC-B → GMSC | Báo lỗi thuê bao B không thể liên lạc được (tắt máy, ngoài vùng phủ sóng) tại thời điểm giao tin. |
| MAP Error: Unidentified Subscriber | HLR → GMSC | Báo lỗi số thuê bao B không tồn tại/không xác định trong hệ thống. |
3.3 CAP (CAMEL Application Part) — báo hiệu tính cước Online Charging
| Bản tin | Chiều | Ý nghĩa |
|---|---|---|
| InitialDPSMS (Initial Detection Point) | VMSC-A → OCS/SCP | VMSC-A “hỏi ý kiến” OCS trước khi cho phép gửi SMS — chỉ xảy ra khi thuê bao A có cấu hình O-CSI (thường là thuê bao trả trước/prepaid). Gửi kèm MSISDN-A, số B, Service Key để OCS xác định gói cước áp dụng. |
| ContinueSMS | OCS → VMSC-A | OCS cho phép tiếp tục xử lý SMS (đã kiểm tra đủ số dư/điều kiện), có thể đã giữ tạm (reserve) một khoản tiền cước. |
| ReleaseSMS / ConnectSMS (Cause: Insufficient Balance) | OCS → VMSC-A | OCS từ chối, chặn không cho gửi SMS do không đủ số dư hoặc không đủ điều kiện dịch vụ. |
| EventReportSMS | VMSC-A → OCS | VMSC-A báo lại kết quả cuối cùng (thành công/thất bại) của việc gửi SMS để OCS quyết toán cước — trừ tiền thật (nếu thành công) hoặc hoàn tiền đã giữ tạm (nếu thất bại). |
3.4 Tóm tắt theo chức năng
| Chức năng | Báo hiệu liên quan |
|---|---|
| Định tuyến & tra cứu vị trí thuê bao | SendRoutingInfoForSM |
| Chuyển nội dung tin nhắn | MO-ForwardSM, MT-ForwardSM |
| Xử lý thuê bao offline & báo lại khi online | ReadyForSM, AlertServiceCentre, lỗi Absent Subscriber |
| Tính cước thời gian thực (prepaid) | InitialDPSMS, ContinueSMS, ReleaseSMS, EventReportSMS |
| Tầng vận chuyển/định tuyến nền | MTP, SCCP, TCAP |
3.5 Giải thích cơ chế “Trigger lại MT-ForwardSM” (Phần 3 → quay về Phần 2)
Khi SMSC nhận được AlertServiceCentre, nó không resume tại điểm lỗi cũ mà chạy lại toàn bộ chu trình MT delivery từ đầu, giống như một lần gửi SMS mới. Trình tự cụ thể:
Bước 1 — Lần gửi đầu thất bại (Phần 2):
- GMSC gửi
MT-ForwardSMđến VMSC-B nhưng UE-B không trả lời paging (tắt máy/mất sóng). - VMSC-B trả về lỗi
Absent Subscriber SM. - HLR set cờ MNRF (Mobile Not Reachable Flag) đánh dấu thuê bao đang “không tới được”.
- SMSC lưu tin nhắn vào hàng đợi, đánh dấu Message Waiting — tin nhắn chưa mất, chỉ đang chờ.
Bước 2 — Thuê bao bật máy lại (Phần 3):
- VMSC-B phát hiện UE-B đã kết nối lại vào mạng → gửi
MAP ReadyForSMbáo cho HLR “thuê bao này đã sẵn sàng nhận tin”. - HLR xóa cờ MNRF, đồng thời gửi
MAP AlertServiceCentresang SMSC để báo “bây giờ có thể gửi lại được rồi”.
Bước 3 — “Trigger lại MT-ForwardSM”:
- SMSC không giữ lại vị trí VMSC cũ (vì thuê bao có thể đã di chuyển sang vùng phục vụ khác trong lúc offline) → phải chạy lại đúng chu trình ở Phần 2 từ đầu:
SendRoutingInfoForSM→ hỏi lại HLR vị trí VMSC hiện tại của B.MT-ForwardSM→ gửi lại nội dung tin nhắn đến VMSC đó.
Kết luận: “Quay về Phần 2” nghĩa là lặp lại toàn bộ chu trình MT delivery như một lần thử mới, không phải nối tiếp/resume tại điểm bị lỗi trước đó. Đây là cơ chế retry chuẩn theo 3GPP TS 23.040 nhằm tránh gửi nhầm đến VMSC cũ khi thuê bao đã chuyển vùng phục vụ trong thời gian offline.
4. Các Chuẩn 3GPP / ITU-T Áp Dụng Trong Luồng
4.1 Chuẩn nền tảng SS7 (ITU-T)
| Chuẩn | Tên đầy đủ | Áp dụng cho |
|---|---|---|
| ITU-T Q.700 – Q.709 | Message Transfer Part (MTP) | Tầng vận chuyển vật lý/liên kết/mạng của SS7 (MTP 1-3) |
| ITU-T Q.711 – Q.719 | Signalling Connection Control Part (SCCP) | Định tuyến logic, Global Title Translation (GTT) |
| ITU-T Q.771 – Q.775 | Transaction Capabilities Application Part (TCAP) | Quản lý phiên giao dịch (Begin/Continue/End) cho MAP và CAP |
4.2 Chuẩn 3GPP cho MAP, SMS và định tuyến di động
| Chuẩn | Tên đầy đủ | Áp dụng cho |
|---|---|---|
| 3GPP TS 29.002 | Mobile Application Part (MAP) specification | Toàn bộ bản tin MAP: MO/MT-ForwardSM, SendRoutingInfoForSM, ReadyForSM, AlertServiceCentre, các mã lỗi (Absent Subscriber, Unidentified Subscriber…) |
| 3GPP TS 23.040 | Technical realization of Short Message Service (SMS) | Kiến trúc tổng thể SMS: SM-TP (TPDU), vai trò SMSC/SC, IWMSC, SMS-GMSC, SM-RP, quy trình MO/MT |
| 3GPP TS 24.011 | Point-to-Point (PP) Short Message Service support on mobile radio interface | Lớp SM-RP (RP-DATA/RP-ACK) và SM-CP (CP-DATA/CP-ACK) giữa MS và MSC — thuộc access network, không phải SS7 |
| 3GPP TS 23.003 | Numbering, addressing and identification | Định dạng IMSI, MSISDN, địa chỉ SMSC dùng trong SM-RP-OA/SM-RP-DA |
| 3GPP TS 29.011 | Signalling interworking for supplementary services | Quy tắc interworking báo hiệu giữa các MSC/HLR liên quan SMS và dịch vụ bổ sung |
4.3 Chuẩn 3GPP cho CAMEL / Online Charging (CAP)
| Chuẩn | Tên đầy đủ | Áp dụng cho |
|---|---|---|
| 3GPP TS 23.078 | Customized Applications for Mobile network Enhanced Logic (CAMEL) – Stage 2 | Kiến trúc CAMEL, khái niệm O-CSI, luồng InitialDP/Continue/EventReport ở mức logic nghiệp vụ |
| 3GPP TS 29.078 | CAMEL Application Part (CAP) specification | Chi tiết bản tin CAP: InitialDPSMS, ContinueSMS, ReleaseSMS, ConnectSMS, EventReportSMS |
| 3GPP TS 32.298 / TS 32.299 | Charging Data Record (CDR) parameter / Diameter charging applications | Tham chiếu khi OCS ghi nhận CDR và quyết toán cước sau EventReportSMS (thường liên quan hệ thống charging hiện đại dùng Diameter Ro/Rf thay vì CAP thuần trong mạng NGN) |
4.4 Ghi chú áp dụng theo từng phần trong sơ đồ
| Phần trong sơ đồ | Chuẩn chính tham chiếu |
|---|---|
| Phần 1 – CAP charging (InitialDPSMS/ContinueSMS/EventReportSMS) | TS 23.078, TS 29.078 |
| Phần 1 – MO-ForwardSM | TS 23.040 (§ quy trình MO), TS 29.002 |
| Phần 2 – SendRoutingInfoForSM, MT-ForwardSM | TS 23.040 (§ quy trình MT), TS 29.002 |
| Phần 3 – ReadyForSM, AlertServiceCentre (Message Waiting) | TS 23.040 (§ Alert procedure), TS 29.002 |
| Toàn bộ khung TCAP/SCCP/MTP | ITU-T Q.7xx series |
| Lớp SM-RP/SM-CP (access network, không SS7) | TS 24.011 |
Lưu ý: Trong mạng thực tế hiện nay, nhiều nhà mạng đã chuyển OCS sang giao thức Diameter (Ro/Gy interface theo 3GPP TS 32.299 / TS 29.212) thay vì CAP thuần túy, đặc biệt với hạ tầng IMS/NGN. Luồng CAP trong tài liệu này phản ánh mô hình CAMEL cổ điển (2G/3G circuit-switched), vẫn còn phổ biến ở nhiều mạng legacy.
5. Lưu Ý Về Ranh Giới SS7 vs Access Network
Các thành phần sau không thuộc SS7 dù liên quan trực tiếp đến luồng SMS, cần phân biệt rõ khi đánh giá an ninh:
| Giao thức | Vai trò |
|---|---|
| BSSAP (BSSMAP + DTAP) | Giao diện A (2G), mang RP-DATA/RP-ACK trong suốt |
| RANAP | Giao diện Iu-CS (3G), tương đương BSSAP |
| SM-RP (RP-DATA/RP-ACK) | TS 24.011, lớp relay giữa MS và MSC/SMSC |
| SM-CP (CP-DATA/CP-ACK) | TS 24.011, lớp point-to-point giữa MS và MSC |
Ranh giới này quan trọng vì các cuộc tấn công SS7 nổi tiếng (định vị thuê bao, chặn OTP, SMS spoofing) đều khai thác các bản tin MAP ở lõi mạng (đặc biệt SendRoutingInfoForSM và MT-ForwardSM) — không phải các bản tin ở lớp truy nhập vô tuyến.
Xem thêm: Phân tích chi tiết các kịch bản và nguy cơ tấn công khai thác những bản tin này (bao gồm SS7 Spoofing / MAP Injection) được tách riêng trong file
nguy-co-tan-cong-sms-ss7.md.