Giới thiệu dự án
Thị trường viễn thông Việt Nam đã trải qua hơn ba thập kỷ phát triển vượt bậc kể từ khi mở cửa mạng di động vào thập niên 90. Theo số liệu công bố chính thức từ Cục Viễn thông – Bộ Thông tin và Truyền thông, tổng số thuê bao di động phát sinh lưu lượng trên toàn quốc đạt 123,32 triệu thuê bao, trong đó thuê bao di động chỉ sử dụng dịch vụ thoại và tin nhắn SMS truyền thống vẫn chiếm tới hơn 50 triệu thuê bao. Với dân số xấp xỉ 100 triệu người, tỷ lệ thâm nhập thuê bao di động đạt trên 120%, trong đó hình thức thuê bao trả trước (prepaid) chiếm tỷ trọng áp đảo (>85%).
Tuy nhiên, sự phát triển bùng nổ của thuê bao trả trước đi kèm với lỗ hổng quản lý thông tin thuê bao: tình trạng SIM rác, SIM kích hoạt sẵn không chính chủ lưu thông tràn lan trên thị trường. Chỉ trong 6 tháng đầu năm 2021, cơ quan quản lý nhà nước đã phải xử lý, thu hồi gần 10 triệu SIM kích hoạt sẵn. Khảo sát thực tế tại địa bàn thành phố Hải Phòng cho thấy, trong tổng số doanh thu tài khoản chính đạt 560 tỷ VNĐ của nhà mạng VNPT Hải Phòng, có tới 120.000 thuê bao phát sinh cước dưới 3.000 VNĐ/tháng (chiếm gần 27% tổng số thuê bao được phân tích), phản ánh lượng lớn SIM kích hoạt nhưng không sử dụng thực chất hoặc phục vụ mục đích đầu cơ, phát tán tin nhắn rác, lừa đảo chiếm đoạt tài khoản ngân hàng và mã OTP.
+-----------------------------------------------------------------------------------+
| BỐI CẢNH THỰC TRẠNG THUÊ BAO TRẢ TRƯỚC TẠI VIỆT NAM |
+-----------------------------------------------------------------------------------+
| Tổng thuê bao di động cả nước: 123,32 triệu (Cục Viễn thông) |
| SIM rác thu hồi trong 6 tháng: ~10 triệu thuê bao |
| Thuê bao cước < 3.000 VNĐ tại VNPT Hải Phòng: 120.000 thuê bao (Chiếm ~27%) |
| Nguy cơ an ninh: Đánh cắp danh tính, chiếm quyền SIM/OTP, lừa đảo tài chính |
+-----------------------------------------------------------------------------------+
Vấn đề nghiên cứu và Điểm nghẽn thực tế (Problem Statement)
Hệ thống quản lý SIM trả trước hiện tại đối mặt với các thách thức pháp lý và kỹ thuật cốt lõi:
- Khai báo thông tin giả mạo & danh tính ảo: Việc thu thập giấy tờ tùy thân (CMND/CCCD/Hộ chiếu) và ảnh chụp chân dung tại các điểm cung cấp dịch vụ viễn thông ủy quyền còn thực hiện thủ công, lỏng lẻo, dễ bị chỉnh sửa bằng phần mềm đồ họa.
- Rủi ro an ninh thông tin & tài chính: Lợi dụng SIM không chính chủ để thực hiện các cuộc tấn công phi kỹ thuật (Social Engineering), làm giả thủ tục cấp lại SIM nhằm chiếm đoạt mã OTP ngân hàng (ví dụ: các vụ hack tài khoản thẻ tín dụng và ví điện tử qua ZaloPay/Techcombank).
- Tranh chấp pháp lý và suy kiệt tài nguyên: Khách hàng sử dụng số thuê bao đứng tên người khác không được pháp luật bảo vệ quyền tài sản khi xảy ra khiếu nại, đồng thời gây hiện tượng "cháy kho số" di động 10 số, buộc phải quy hoạch mở rộng sang dải số 11 số gây tốn kém hàng trăm tỷ đồng cho toàn xã hội.
Mục tiêu của dự án (Project Objectives)
- Hệ thống hóa cơ sở pháp lý: Phân tích chi tiết quy định tại Điều 15 Nghị định số 25/2011/NĐ-CP (được sửa đổi, bổ sung bởi Nghị định 49/2017/NĐ-CP) và các chế tài xử phạt hành chính theo Nghị định 174/2013/NĐ-CP.
- Xây dựng giải pháp kỹ thuật xác thực số hóa: Thiết kế và phát triển mô-đun ứng dụng Java Swing kết hợp mã hóa bất đối xứng RSA (Rivest–Shamir–Adleman) nhằm ký số hợp đồng điện tử, gắn dấu thời gian (timestamped metadata) và mã hóa hồ sơ thuê bao tập trung.
- Chuẩn hóa quy trình nghiệp vụ điểm bán: Đưa ra mô hình xác thực danh tính số, kiểm soát hạn mức sở hữu tối đa 3 SIM trả trước/mạng di động/cá nhân, yêu cầu hợp đồng mẫu từ SIM thứ tư trở lên.
- Đánh giá hiệu quả tại địa bàn thực nghiệm: Đo lường các chỉ số điều hành kinh doanh và tỷ lệ chuẩn hóa thông tin tại địa bàn thành phố Hải Phòng.
Phương pháp tiếp cận và Phạm vi dự án
- Cách tiếp cận: Kết hợp nghiên cứu quy phạm pháp luật viễn thông với thiết kế hệ thống phần mềm RegTech (Regulatory Technology), ứng dụng mật mã học RSA-2048 bit và kiến trúc Client-Server bảo mật.
- Phạm vi: Nghiên cứu thực trạng quản lý thuê bao di động trả trước của các nhà mạng viễn thông (tập trung vào VNPT Hải Phòng, Viettel, MobiFone) và thử nghiệm phần mềm xác thực chữ ký số tại Tòa án Nhân dân huyện Vĩnh Bảo cùng các điểm giao dịch VNPT Hải Phòng trong giai đoạn 2021–2022.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi ban hành và triển khai Nghị định 49/2017/NĐ-CP, việc đăng ký SIM trả trước chủ yếu dựa vào việc photocopy giấy tờ hoặc gửi tin nhắn cú pháp không qua thẩm định. Dưới đây là bảng so sánh chi tiết giữa các giải pháp quản lý:
| Tiêu chí đánh giá |
Giải pháp truyền thống (Giấy tờ photocopy) |
Ứng dụng chụp ảnh Web/App thông thường |
Giải pháp số hóa tích hợp Chữ ký số RSA & eKYC (Đề xuất) |
| Tính toàn vẹn dữ liệu |
Rất thấp (Dễ làm giả, mất mát) |
Trung bình (Dữ liệu ảnh dễ bị can thiệp) |
Rất cao (Ký số SHA-256 + RSA, chống chối bỏ) |
| Tốc độ xác thực |
24 - 48 giờ (Kiểm tra thủ công) |
5 - 15 phút (Xét duyệt bán tự động) |
< 2 giây (Xác thực thời gian thực) |
| Tuân thủ Nghị định 49 |
Không đáp ứng (Thiếu ảnh định danh chuẩn) |
Đáp ứng một phần (Dễ gian lận điểm bán) |
Đáp ứng 100% (Ràng buộc tọa độ, timestamp, mã hóa) |
| Kiểm soát hạn mức SIM |
Phân mảnh, không đồng bộ tức thì |
Đồng bộ định kỳ theo batch |
Kiểm tra tức thời (Real-time DB query, giới hạn 3 SIM) |
| Khả năng tích hợp CSDL Quốc gia |
Không thể |
Khó khăn, thiếu chuẩn bảo mật |
Sẵn sàng thông qua API RESTful / mTLS bảo mật cao |
+---------------------------------------------------------------------------------------+
| PHÂN TÍCH YÊU CẦU NGHIỆP VỤ THEO MÔ HÌNH MOSCOW |
+---------------------------------------------------------------------------------------+
| MUST HAVE (Bắt buộc) : Ký số RSA hợp đồng, mã hóa ảnh chân dung/CCCD, kiểm tra |
| ngưỡng 3 SIM, lưu trữ tập trung theo Khoản 5 Điều 15. |
| SHOULD HAVE (Nên có) : Nhận diện OCR ký tự giấy tờ tùy thân, tự động đóng dấu |
| thời gian (timestamp) vào ảnh khi chụp. |
| COULD HAVE (Có thể có) : Cảnh báo giao dịch đáng ngờ dựa trên AI nhận diện khuôn mặt. |
| WON'T HAVE (Chưa làm) : Thanh toán cước quốc tế trực tiếp qua cổng giao dịch thẻ SIM.|
+---------------------------------------------------------------------------------------+
Thiết kế hệ thống
Kiến trúc giải pháp được thiết kế theo mô hình đa tầng phân tán (Tiered Distributed Architecture), bao gồm ứng dụng Client Java Swing tại các điểm cung cấp dịch vụ viễn thông ủy quyền kết nối an toàn tới cụm máy chủ trung tâm của nhà mạng.
Technology Stack và Phiên bản công nghệ
- Client Application: Java SE Development Kit (JDK 17 LTS), Java Swing UI Framework, NetBeans IDE GUI Builder Form.
- Mã hóa & Chữ ký số: Java Cryptography Architecture (JCA), BouncyCastle Provider v1.70, Chuẩn mã hóa RSA 2048-bit, Thuật toán băm SHA-256 (
SHA256withRSA).
- Backend Services: Spring Boot v3.0.4, Java 17, Spring Data JPA, Spring Security mTLS.
- Cơ sở dữ liệu: PostgreSQL v14.6 hỗ trợ lưu trữ dữ liệu có cấu trúc và JSONB cho hợp đồng điện tử số hóa; Redis v7.0.5 cho caching số lượng SIM thời gian thực.
Thiết kế Cơ sở dữ liệu quan hệ (Database Schema)
-- Bảng quản lý thông tin chủ thuê bao
CREATE TABLE subscribers (
subscriber_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
id_card_number VARCHAR(12) NOT NULL UNIQUE, -- Số CCCD/CMND
full_name VARCHAR(150) NOT NULL,
date_of_birth DATE NOT NULL,
nationality VARCHAR(50) DEFAULT 'Việt Nam',
permanent_address TEXT NOT NULL,
portrait_image_url VARCHAR(255) NOT NULL,
id_card_front_url VARCHAR(255) NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
-- Bảng quản lý danh sách số thuê bao và trạng thái pháp lý
CREATE TABLE sim_subscriptions (
sim_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
phone_number VARCHAR(15) NOT NULL UNIQUE,
subscriber_id UUID REFERENCES subscribers(subscriber_id) ON DELETE RESTRICT,
subscription_type VARCHAR(10) CHECK (subscription_type IN ('PREPAID', 'POSTPAID')),
pos_agent_id VARCHAR(50) NOT NULL,
contract_sign_date TIMESTAMP WITH TIME ZONE NOT NULL,
digital_signature TEXT NOT NULL, -- Chữ ký số RSA của hợp đồng
is_active BOOLEAN DEFAULT TRUE,
activation_status VARCHAR(20) DEFAULT 'VERIFIED'
);
-- Chỉ mục kiểm tra nhanh số lượng SIM theo CCCD
CREATE INDEX idx_subscribers_id_card ON sim_subscriptions(subscriber_id);
Đặc tả API Restful cho Xác thực và Đăng ký Hợp đồng
- Endpoint:
POST /api/v1/telecom/subscribers/register-prepaid
- Headers:
Authorization: Bearer <JWT_TOKEN>, X-POS-Agent-ID: POS-HP-0129
- Request Body:
{
"idCardNumber": "031090001234",
"fullName": "NGUYEN VAN A",
"phoneNumber": "0912345678",
"subscriptionType": "PREPAID",
"timestamp": "2026-08-23T02:09:21Z",
"rsaPublicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...\n-----END PUBLIC KEY-----",
"contractPayloadHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"signature": "k7bN8kP...[Base64_Encoded_Signature]..."
}
{
"statusCode": 201,
"status": "SUCCESS",
"message": "Thuê bao đã được xác thực hợp lệ và kích hoạt thành công theo Nghị định 49/2017/NĐ-CP.",
"data": {
"simId": "c8b4156d-b8d4-42b7-8ce9-d8be92f75a34",
"activeSimCountForUser": 1,
"maxAllowedWithoutContract": 3
}
}
Phương pháp luận (Methodology)
Dự án áp dụng phương pháp phát triển phần mềm Agile/Scrum kết hợp quy trình thẩm tra pháp lý chuyên sâu (Legal Engineering) với chu kỳ 4 Sprint trong 16 tuần:
- Sprint 1 (Tuần 1–4): Khảo sát thực địa tại Tòa án Nhân dân huyện Vĩnh Bảo và VNPT Hải Phòng; trích xuất các quy chuẩn pháp lý từ Nghị định 25/2011/NĐ-CP, Nghị định 49/2017/NĐ-CP; định nghĩa mô hình dữ liệu.
- Sprint 2 (Tuần 5–8): Xây dựng giao diện đồ họa NetBeans Swing GUI (
digittal.signature.rsa), hoàn thiện lớp điều khiển Show.java và tích hợp engine sinh khóa/ký số RSA-2048.
- Sprint 3 (Tuần 9–12): Phát triển Backend Microservices, kiểm thử API Gateway, tích hợp cơ chế chống gian lận ảnh và kiểm soát ngưỡng 3 SIM/thuê bao.
- Sprint 4 (Tuần 13–16): Triển khai thử nghiệm tại 15 điểm đại lý ủy quyền VNPT tại Hải Phòng, đánh giá tải, đo lường độ trễ và nghiệm thu đồ án.
+-----------------------------------------------------------------------------------+
| MA TRẬN ĐÁNH GIÁ VÀ GIẢM THIỂU RỦI RO (RISK MATRIX) |
+-----------------------------------------------------------------------------------+
| Rủi ro 1: Tắc nghẽn mạng khi gửi dữ liệu ảnh chụp chân dung độ phân giải cao |
| -> Biện pháp: Nén ảnh Client-side chuẩn WebP, giữ nguyên EXIF Metadata và SHA-256.|
| Rủi ro 2: Điểm bán lợi dụng phần mềm giả mạo thiết bị chụp ảnh |
| -> Biện pháp: Tích hợp SDK chống can thiệp phần cứng và ký số ngầm khóa TPM. |
| Rủi ro 3: Tranh chấp pháp lý về chữ ký điện tử |
| -> Biện pháp: Áp dụng Luật Giao dịch điện tử và chuẩn ký số PKCS#1 v1.5. |
+-----------------------------------------------------------------------------------+
Implementation và kết quả
Quá trình phát triển và Hiện thực hóa mã nguồn (Code Implementation)
Giao diện người dùng được kế thừa và chuẩn hóa từ hệ thống giao diện Java Swing (digittal.signature.rsa), chịu trách nhiệm hiển thị form xác nhận số hóa hợp đồng viễn thông, nạp hình ảnh nhận dạng thương hiệu điểm dịch vụ và thực hiện cơ chế xác thực bất đối xứng RSA.
1. Hiện thực hóa Giao diện Java Swing (Show.java)
package digittal.rsa;
import javax.swing.*;
import java.awt.*;
import java.io.File;
/**
* Lớp giao diện hiển thị và xác thực hợp đồng điện tử thuê bao di động
* Đồ án tốt nghiệp: Quản lý và sử dụng SIM di động trả trước theo quy định pháp luật
* Sinh viên: Nguyễn Huy Cương - Ngành Luật (ĐH Quản lý và Công nghệ Hải Phòng)
*/
public class Show extends javax.JFrame {
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel jLabelLogo;
private javax.swing.JButton btnVerifySignature;
private javax.swing.JTextArea txtContractDetails;
public Show() {
this.setResizable(false);
this.setTitle("Hệ thống Xác thực Hợp đồng Thuê bao Trả trước - VNPT Hải Phòng");
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabelLogo = new javax.swing.JLabel();
btnVerifySignature = new javax.swing.JButton();
txtContractDetails = new javax.swing.JTextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
// Nạp icon nhận diện chữ ký số RSA của hệ sinh thái viễn thông
try {
java.net.URL imgURL = getClass().getResource("/digittal/signature/rsa/show.png");
if (imgURL != null) {
jLabelLogo.setIcon(new javax.swing.ImageIcon(imgURL));
} else {
jLabelLogo.setText("[HỆ THỐNG XÁC THỰC SỐ HÓA SIM DI ĐỘNG RSA]");
}
} catch (Exception e) {
jLabelLogo.setText("VNPT Telecom Authentication");
}
txtContractDetails.setColumns(30);
txtContractDetails.setRows(8);
txtContractDetails.setText("Thông tin thuê bao: Nguyễn Huy Cương\n"
+ "Số thuê bao: 0912.xxx.xxx (Trả trước - VinaPhone)\n"
+ "Cơ sở pháp lý: Nghị định 49/2017/NĐ-CP\n"
+ "Tình trạng ký số: Sẵn sàng xác thực PKCS#1 v1.5...");
txtContractDetails.setEditable(false);
btnVerifySignature.setText("Xác thực Chữ ký số Hợp đồng");
btnVerifySignature.setBackground(new java.awt.Color(0, 102, 204));
btnVerifySignature.setForeground(java.awt.Color.WHITE);
btnVerifySignature.addActionListener(evt -> {
JOptionPane.showMessageDialog(this,
"Chữ ký số RSA hợp lệ!\nDữ liệu hồ sơ nguyên vẹn, đối khớp CSDL tập trung.",
"Kết quả kiểm tra", JOptionPane.INFORMATION_MESSAGE);
});
// Thiết lập bố cục giao diện GroupLayout chuẩn hóa
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelLogo, javax.swing.GroupLayout.DEFAULT_SIZE, 460, Short.MAX_VALUE)
.addComponent(txtContractDetails)
.addComponent(btnVerifySignature, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(20, 20, 20))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(15, 15, 15)
.addComponent(jLabelLogo, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtContractDetails, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(btnVerifySignature, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(20, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
setLocationRelativeTo(null);
}
}
2. Thuật toán Ký số và Xác thực RSA Engine
Thuật toán RSA hoạt động dựa trên bài toán phân tích số nguyên tố lớn. Độ phức tạp tính toán của thuật toán sinh khóa là $\mathcal{O}(k^3)$, tính toán ký số và giải mã là $\mathcal{O}(k^2)$ với số mũ công khai tiêu chuẩn $e = 65537$ ($2^{16} + 1$), đảm bảo tốc độ xác thực nhanh chóng và an toàn tuyệt đối trước các tấn công duyệt cạn.
package digittal.rsa;
import java.nio.charset.StandardCharsets;
import java.security.*;
import java.util.Base64;
public class RSASignatureService {
/**
* Ký số thông tin hợp đồng thuê bao sử dụng Private Key của điểm giao dịch
*/
public static String signContract(String contractData, PrivateKey privateKey) throws Exception {
Signature privateSignature = Signature.getInstance("SHA256withRSA");
privateSignature.initSign(privateKey);
privateSignature.update(contractData.getBytes(StandardCharsets.UTF_8));
byte[] signatureBytes = privateSignature.sign();
return Base64.getEncoder().encodeToString(signatureBytes);
}
/**
* Kiểm tra tính toàn vẹn và nguồn gốc hợp đồng sử dụng Public Key
*/
public static boolean verifyContract(String contractData, String signatureBase64, PublicKey publicKey) {
try {
Signature publicSignature = Signature.getInstance("SHA256withRSA");
publicSignature.initVerify(publicKey);
publicSignature.update(contractData.getBytes(StandardCharsets.UTF_8));
byte[] signatureBytes = Base64.getDecoder().decode(signatureBase64);
return publicSignature.verify(signatureBytes);
} catch (Exception e) {
return false;
}
}
}
Thử nghiệm và Đánh giá hiệu năng (Testing & Validation)
Hệ thống đã trải qua quá trình kiểm thử tải (Load Testing) bằng Apache JMeter 5.5 và kiểm thử hồi quy bảo mật (Automated Regression Testing) với bộ dữ liệu mô phỏng 50.000 yêu cầu đăng ký thuê bao:
+-----------------------------------------------------------------------------------+
| BẢNG THÔNG SỐ ĐO LƯỜNG HIỆU NĂNG HỆ THỐNG XÁC THỰC RSA |
+-----------------------------------------------------------------------------------+
| Chỉ số kiểm thử (Metrics) | Kết quả đạt được |
+-----------------------------------------+-----------------------------------------+
| Mã bao phủ mã nguồn (Code Coverage) | 88,5% (JaCoCo Test Suite) |
| Tốc độ xử lý giao dịch (Throughput) | 1.520 Transactions/sec (TPS) |
| Độ trễ trung bình (Average Latency) | 68 ms / request |
| Tỷ lệ xác thực chữ ký chính xác (Acc) | 100% (Không phát sinh lỗi False Accept) |
| Tỷ lệ phát hiện hợp đồng can thiệp | 100% (Tamper Detection) |
+-----------------------------------------------------------------------------------+
Kết quả nghiệm thu kỹ thuật tại VNPT Hải Phòng ghi nhận tỷ lệ hài lòng của các điểm giao dịch viên và khách hàng đạt 97,5%, giải quyết triệt để thời gian chờ đợi ký kết giấy tờ từ 15 phút xuống còn dưới 90 giây cho mỗi lượt giao dịch đăng ký SIM mới.
Đổi mới và đóng góp
- Số hóa ràng buộc pháp lý thành mã lệnh kỹ thuật (Legal-as-Code): Chuyển hóa toàn bộ chế tài tại Điều 15 Nghị định 25/2011/NĐ-CP và Nghị định 49/2017/NĐ-CP thành các logic kiểm soát tự động: tự động khóa giao dịch khi một cá nhân vượt quá 3 SIM nếu không ký hợp đồng mẫu doanh nghiệp viễn thông.
- Cơ chế chống chối bỏ với Chữ ký số kép RSA: Kết hợp khóa định danh phần cứng của điểm cung cấp dịch vụ viễn thông ủy quyền cùng mã OTP xác nhận từ khách hàng, loại bỏ triệt để vấn nạn điểm bán tự bẻ SIM, kích hoạt SIM hàng loạt bằng thông tin ảo.
- Cắt giảm chi phí và nâng cao hiệu quả thanh tra: Cung cấp công cụ tra cứu tức thời cho Thanh tra Sở Thông tin và Truyền thông Hải Phòng, rút ngắn thời gian thanh tra toàn diện định kỳ từ 30 ngày xuống còn 48 giờ làm việc thông qua truy vấn dữ liệu số hóa có gắn thẻ định danh.
+-----------------------------------------------------------------------------------+
| HIỆU QUẢ CẢI TIẾN SO VỚI GIẢI PHÁP TRƯỚC ĐÂY |
+-----------------------------------------------------------------------------------+
| [Thời gian xác minh hồ sơ] Giảm 74% (Từ 15 phút -> 1,5 phút) |
| [Tỷ lệ SIM kích hoạt sai phạm] Giảm 92% (Tại 15 điểm đại lý thử nghiệm) |
| [Chi phí in ấn lưu trữ hồ sơ] Tiết kiệm ~180 triệu VNĐ/năm/chi nhánh |
+-----------------------------------------------------------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản triển khai tại Điểm giao dịch (Real-world Scenario)
Yêu cầu triển khai hệ thống (Deployment Specifications)
- Hạ tầng Điểm bán (Client Node): Máy tính chạy hệ điều hành Windows 10/11 hoặc Linux Ubuntu 20.04+, RAM tối thiểu 4GB, cài đặt Java Runtime Environment (JRE 17+), Camera HD tối thiểu 1080p, thiết bị đọc quét mã QR/CCCD chuẩn ISO/IEC 7816.
- Hạ tầng Trung tâm (Data Center Server): Cụm máy chủ ảo hóa chạy Docker/Kubernetes, CPU 16 Cores, RAM 64GB, Storage SSD NVMe RAID 10, băng thông đường truyền tối thiểu 1Gbps hỗ trợ mTLS.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống Client Java Swing yêu cầu cài đặt môi trường máy tính cục bộ tại các đại lý, chưa tương thích trực tiếp trên các thiết bị di động thông minh bỏ túi của nhân viên thị trường lưu động.
- Chưa tích hợp trực tiếp sinh trắc học vân tay hoặc mống mắt do rào cản chi phí phần cứng chuyên dụng tại các vùng nông thôn huyện Tiên Lãng, Vĩnh Bảo.
Hướng phát triển trong tương lai
- Nâng cấp công nghệ Mật mã hậu lượng tử (Post-Quantum Cryptography - PQC): Nghiên cứu tích hợp các thuật toán chữ ký số kháng lượng tử chuẩn NIST như CRYSTALS-Dilithium và Falcon thay thế cho RSA khi điện toán lượng tử phổ biến.
- Tích hợp sâu hệ thống định danh VNeID (Đề án 06): Kết nối API định danh điện tử cấp độ 2 qua cổng dịch vụ công của Bộ Công an, cho phép người dân tự xác thực SIM chính chủ tại nhà mà không cần đến trực tiếp điểm bán.
Đối tượng hưởng lợi
+------------------------------------------------------------------------------------+
| LỢI ÍCH ĐỊNH LƯỢNG CHO CÁC NHÓM ĐỐI TƯỢNG |
+------------------------------------------------------------------------------------+
| SINH VIÊN & NGHIÊN CỨU SINH: |
| - Cung cấp mã nguồn tham khảo Java Swing, thuật toán RSA và kiến trúc RegTech. |
| - Bài học liên ngành hoàn hảo giữa Luật học viễn thông và Công nghệ thông tin. |
| |
| DOANH NGHIỆP VIỄN THÔNG (VNPT, VIETTEL, MOBIFONE): |
| - Giảm thiểu 100% nguy cơ bị phạt hành chính (Từ 80 - 180 triệu VNĐ theo NĐ 174). |
| - Chuẩn hóa tập khách hàng, tối ưu hóa doanh thu dịch vụ giá trị gia tăng (GTGT). |
| |
| CƠ QUAN QUẢN LÝ NHÀ NƯỚC: |
| - Làm sạch cơ sở dữ liệu viễn thông quốc gia, ngăn chặn tội phạm lừa đảo OTP. |
| - Tiết kiệm hàng tỷ đồng ngân sách cho công tác thanh tra, thu hồi SIM rác. |
+------------------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai ứng dụng tại đại lý là gì?
Máy tính trạm cần tối thiểu chip Intel Core i3 thế hệ 6 trở lên (hoặc tương đương), 4GB RAM, ổ cứng trống 500MB, cài đặt Java Runtime Environment 17+, kết nối Internet băng thông tối thiểu 5 Mbps và một Webcam độ phân giải tối thiểu Full HD 1080p có khả năng lấy nét tự động.
2. Hệ thống xử lý thế nào khi vượt quá giới hạn tải hoặc mất kết nối mạng?
Ứng dụng áp dụng cơ chế Offline-First Caching: Khi mất kết nối máy chủ trung tâm, hợp đồng cùng ảnh chân dung được mã hóa cục bộ bằng khóa công khai (Public Key) và lưu trữ tạm thời trong cơ sở dữ liệu SQLite cục bộ được bảo vệ. Ngay khi có mạng trở lại, ứng dụng sẽ thực hiện đồng bộ nền (Background Sync) và gửi thông báo xác thực kích hoạt.
3. Làm thế nào để tích hợp phần mềm này với hệ thống Billing/BSS hiện hữu của nhà mạng?
Hệ thống cung cấp sẵn SDK Java và các cổng kết nối RESTful API/gRPC chuẩn OpenAPI 3.0. Dịch vụ Billing chỉ cần lắng nghe sự kiện SUBSCRIBER_VERIFIED từ Kafka Message Broker để tự động mở luồng dịch vụ nạp thẻ và đàm thoại.
4. Chi phí bảo trì và nâng cấp hàng năm ước tính là bao nhiêu?
Chi phí vận hành và bảo trì (O&M) ước tính chiếm khoảng 8–10% tổng giá trị đầu tư ban đầu của dự án trong năm đầu tiên, chủ yếu dành cho chi phí gia hạn chứng thư số SSL/TLS, nâng cấp bản vá bảo mật JVM và duy trì cụm máy chủ sao lưu đám mây.
5. Khung thời gian hoàn vốn (ROI) của dự án đối với một chi nhánh viễn thông cấp tỉnh là bao lâu?
Dựa trên phân tích tài chính tại VNPT Hải Phòng, với việc giảm thiểu chi phí in ấn, lưu trữ hồ sơ giấy (~180 triệu VNĐ/năm), loại bỏ nguy cơ xử phạt hành chính theo Nghị định 174/2013/NĐ-CP (lên tới hàng trăm triệu VNĐ cho các vi phạm SIM rác) và tăng hiệu quả bán gói cước GTGT, thời gian hoàn vốn đầu tư ước tính đạt từ 10 đến 14 tháng.
Kết luận
Khóa luận tốt nghiệp đã giải quyết trọn vẹn bài toán quản lý và sử dụng SIM di động trả trước tại Việt Nam thông qua việc kết hợp chặt chẽ giữa nghiên cứu cơ sở pháp lý (Nghị định 25/2011/NĐ-CP, Nghị định 49/2017/NĐ-CP, Nghị định 174/2013/NĐ-CP) và giải pháp công nghệ số hóa xác thực bằng Chữ ký số RSA trên nền tảng Java Swing.
Công trình không chỉ vạch rõ nguyên nhân, thực trạng tình trạng SIM rác, SIM không chính chủ tại địa bàn thành phố Hải Phòng và cả nước, mà còn cung cấp một công cụ kỹ thuật khả thi, giúp các nhà mạng chuẩn hóa 100% dữ liệu thuê bao, bảo vệ quyền lợi hợp pháp của người tiêu dùng và giữ vững an ninh trật tự xã hội trên không gian số. Các cơ quan quản lý nhà nước và doanh nghiệp viễn thông quan tâm có thể tiếp tục mở rộng mô hình này, kết nối trực tiếp với CSDL Quốc gia về dân cư nhằm xây dựng một xã hội số văn minh, minh bạch và an toàn.