Giới thiệu dự án
Sự phát triển mạnh mẽ của hệ thống ngân hàng tự động (Automatic Teller Machine - ATM) đã làm thay đổi căn bản phương thức thanh toán xã hội, giảm tỷ trọng lưu thông tiền mặt và thúc đẩy thanh toán điện tử. Tại Việt Nam, kể từ khi những chiếc máy ATM đầu tiên được Vietcombank triển khai vào năm 1996, mạng lưới ATM đã phát triển nhanh chóng với hơn 20.000 thiết bị trên toàn quốc, kết nối hàng chục triệu chủ thẻ thuộc các tổ chức tài chính trong và ngoài nước. Tuy nhiên, sự phân tán về mặt vật lý kết hợp với môi trường truyền thông công cộng khiến hệ thống ATM trở thành mục tiêu hàng đầu của các cuộc tấn công tinh vi: đánh cắp thông tin thẻ (skimming), tấn công giả mạo (Man-in-the-Middle - MITM), can thiệp bộ nhớ máy tính điều khiển (PC Controller) và nghe lén đường truyền mạng nhằm trích xuất mã số định danh cá nhân (PIN - Personal Identification Number).
+-----------------------------------------------------------------------------------+
| HỆ THỐNG GIAO DỊCH ATM |
+-----------------------------------------------------------------------------------+
| [ Máy ATM / EPP ] <--- (Mã hóa 3DES/MAC) ---> [ Hệ thống Switch / HSM ] |
| - Bàn phím mã hóa EPP - Giải mã & sinh khóa HSM |
| - Thẻ từ (ISO 7811) / Chip (ISO 7816) - Định tuyến ISO 8583 |
| - PC Controller (Giao thức NDC/912) - Kết nối CoreBank CSDL |
+-----------------------------------------------------------------------------------+
Vấn đề kỹ thuật cốt lõi (Problem Statement)
Hệ thống ATM truyền thống tồn tại những lỗ hổng bảo mật nghiêm trọng:
- Nguy cơ lộ mã PIN dạng bản rõ (Cleartext PIN): Nếu quá trình nhập liệu trên bàn phím và truyền nhận qua mạng không được cô lập bằng phần cứng chuyên dụng, dữ liệu PIN có thể bị đánh cắp ngay tại tầng điều khiển thiết bị hoặc trên đường truyền Switch.
- Thao túng toàn vẹn thông điệp tài chính: Giao tiếp giữa máy ATM và hệ thống chuyển mạch tài chính (Switch) dễ bị can thiệp nếu thiếu cơ chế xác thực nguồn gốc thông điệp (Message Authentication Code - MAC).
- Quản lý khóa phân tán thiếu an toàn: Việc phân phối và lưu trữ các khóa bí mật (Master Key, Working Key) không có cơ chế phân quyền kiểm soát và xóa khóa chủ động khi phát hiện xâm nhập vật lý.
Mục tiêu dự án
- Phân tích toàn diện kiến trúc phần cứng và phần mềm của máy ATM theo tiêu chuẩn công nghiệp (Diebold 911/912, NCR NDC/NDC+).
- Nghiên cứu cơ chế mật mã học chuyên dụng: Mô hình phân cấp khóa (LMK, TMK, WK, PVK, CVK), thiết bị mã hóa phần cứng EPP (Encrypting PIN Pad) và HSM (Hardware Security Module).
- Mô phỏng quy trình xử lý khối PIN (PIN Block) theo chuẩn quốc tế ISO 9564-1 kết hợp thuật toán mã hóa đối xứng 3DES (Triple DES).
- Đề xuất giải pháp bảo mật nâng cao: Tích hợp kiểm tra toàn vẹn MAC chế độ Cipher Block Chaining (CBC) và thuật toán băm (Hash function) trong quản lý vòng đời dữ liệu xác thực.
Phương pháp tiếp cận và kết quả kỳ vọng
Giải pháp tiếp cận dựa trên mô hình mã hóa đầu-cuối (End-to-End Encryption - E2EE) cấp phần cứng: mã PIN được đóng gói và mã hóa ngay tại EPP, chỉ được giải mã và xác thực bên trong vùng an toàn của HSM thuộc trung tâm dữ liệu ngân hàng. Mọi khóa mã hóa đều được sinh ngẫu nhiên, lưu trữ dưới dạng bản mã (Ciphertext) được bảo vệ bởi khóa chủ cục bộ (LMK).
Chỉ số mục tiêu:
- Bảo mật tuyệt đối mã PIN: 0% rủi ro lộ PIN bản rõ tại máy tính điều khiển ATM và đường truyền trung gian.
- Tính toàn vẹn thông điệp: 100% các bản tin giao dịch (ISO 8583 / NDC) được bảo vệ bằng MAC 8-byte chuẩn ISO 9797-1.
- Thời gian xử lý mã hóa: Độ trễ mã hóa tại EPP và xác thực tại HSM duy trì dưới 15ms cho mỗi phiên giao dịch.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng công nghệ thẻ và giao thức ATM
| Tiêu chí |
Thẻ từ (Magnetic Stripe - ISO 7811) |
Thẻ Chip tiếp xúc (EMV - ISO 7816) |
Thẻ không tiếp xúc (Contactless - ISO 14443) |
| Cấu trúc lưu trữ |
3 Track từ tính, dữ liệu tĩnh (Static Data) |
Vi điều khiển (8/16/32-bit), ROM/EEPROM/RAM |
Chip vi xử lý tích hợp antenna sóng RF |
| Cơ chế xác thực |
CVV/CVC tĩnh tính toán từ CVK |
DDA/CDA động, chữ ký số RSA/ECC |
DDA động, mã hóa giao dịch theo phiên |
| Khả năng sao chép |
Rất cao (Dễ bị Skimming đọc Track 2) |
Cực kỳ thấp (Khóa riêng private key không thể trích xuất) |
Rất thấp (Chống giả mạo tầng vô tuyến) |
| Hệ điều hành |
Không có |
JavaCard, MULTOS, SmartCard OS |
JavaCard, Native Contactless OS |
| Chi phí triển khai |
Rất thấp ($0.2 - $0.5 / thẻ) |
Trung bình ($1.5 - $3.0 / thẻ) |
Trung bình - Cao ($2.0 - $4.0 / thẻ) |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must Have (Bắt buộc): Bàn phím mã hóa phần cứng EPP chuẩn PCI-PTS; Thiết bị bảo mật HSM đạt chuẩn FIPS 140-2 Level 3; Mã hóa số PIN bằng 3DES EDE (128-bit/192-bit) theo định dạng ISO 9564-1 Format 0; Thuật toán Luhn kiểm tra tính hợp lệ của số PAN.
- Should Have (Nên có): Cơ chế sinh mã MAC chế độ CBC cho toàn bộ thông điệp tài chính; Tự động hủy khóa (Zeroization) trong EPP/HSM khi bị cạy phá vật lý; Trao đổi khóa động (Dynamic Working Key Exchange) sau mỗi phiên/ngày.
- Could Have (Có thể có): Giao diện nhập mã PIN ảo (Virtual PIN Pad) chống camera quay lén; Ứng dụng hàm băm SHA-256 trong lưu trữ tham chiếu PIN tại CoreBank.
- Won't Have (Chưa thực hiện): Chữ ký số lượng tử (Post-Quantum Cryptography) trên vi mạch thẻ thông minh thế hệ cũ.
Kiến trúc bảo mật và phân cấp khóa (Key Hierarchy)
graph TD
subgraph Central_Switch_HSM ["Trung tâm xử lý (Switch & HSM)"]
LMK["Local Master Key (LMK)<br>Lưu bản rõ trong HSM (Split into 3-9 components)"]
CVK["Card Verification Key (CVK)<br>Mã hóa bởi LMK: E_LMK(CVK)"]
PVK["PIN Verification Key (PVK)<br>Mã hóa bởi LMK: E_LMK(PVK)"]
TMK_Switch["Terminal Master Key (TMK)<br>Mã hóa bởi LMK: E_LMK(TMK)"]
WK_Switch["Working Key (WK/PEK)<br>Mã hóa bởi LMK: E_LMK(WK)"]
LMK --> CVK
LMK --> PVK
LMK --> TMK_Switch
LMK --> WK_Switch
end
subgraph Remote_ATM_EPP ["Trạm ATM (EPP Hardware)"]
TMK_ATM["Terminal Master Key (TMK)<br>Lưu bản rõ trong EPP Secure Memory"]
WK_ATM["Working Key (WK)<br>Lưu dạng mã hóa E_TMK(WK)"]
TMK_ATM --> WK_ATM
end
TMK_Switch -.->|Phân phối khóa ban đầu| TMK_ATM
WK_Switch -.->|Trao đổi khóa định kỳ E_TMK(WK)| WK_ATM
Chi tiết các tầng khóa:
- LMK (Local Master Key): Khóa gốc tối cao của hệ thống HSM, độ dài 128-bit hoặc 192-bit (3DES). LMK không bao giờ xuất hiện ngoài HSM và được thiết lập qua cơ chế chia sẻ bí mật (Secret Sharing) gồm 3 đến 9 thành phần độc lập do các cán bộ quản trị nắm giữ riêng biệt.
- TMK (Terminal Master Key): Khóa dùng để bảo vệ việc truyền tải khóa làm việc (Working Key) từ Switch đến từng máy ATM cụ thể. TMK lưu bản rõ bên trong EPP và lưu dưới dạng $E_{LMK}(TMK)$ trong cơ sở dữ liệu Switch.
- WK (Working Key / PIN Encryption Key - PEK): Khóa phiên được HSM sinh ngẫu nhiên định kỳ, dùng để mã hóa trực tiếp khối PIN Block. WK được gửi tới ATM dưới dạng mã hóa $E_{TMK}(WK)$.
- PVK (PIN Verification Key): Khóa chuyên dụng dùng để sinh và kiểm tra giá trị PIN Verification Value (PVV) tại HSM.
- CVK (Card Verification Key): Khóa dùng để tính toán các giá trị kiểm tra thẻ CVV1, CVV2, CVC trên các track dữ liệu.
Implementation và kết quả
Chi tiết các giải thuật then chốt
1. Thuật toán kiểm tra số thẻ Luhn (Mod 10 Check Digit)
Số tài khoản chính (PAN - Primary Account Number) theo chuẩn ISO 7812 có độ dài từ 16 đến 19 chữ số. Chữ số cuối cùng (Check Digit) được tính toán theo thuật toán Luhn để phát hiện sai sót nhập liệu:
def validate_pan_luhn(pan: str) -> bool:
"""
Xác thực số tài khoản PAN theo giải thuật Luhn (ISO 7812).
Độ phức tạp tính toán: O(N), trong đó N là độ dài chuỗi PAN.
"""
digits = [int(d) for d in pan if d.isdigit()]
if not digits or len(digits) < 13:
return False
checksum = 0
reverse_digits = digits[::-1]
for idx, digit in enumerate(reverse_digits):
if idx % 2 == 1: # Các vị trí chẵn từ phải qua trái (bắt đầu từ index 1)
doubled = digit * 2
checksum += (doubled - 9) if doubled > 9 else doubled
else:
checksum += digit
return (checksum % 10) == 0
# Kiểm tra thực nghiệm số thẻ ngân hàng (BIN: 9704xx)
sample_pan = "9704220012345678"
print(f"PAN {sample_pan} is valid: {validate_pan_luhn(sample_pan)}")
2. Định dạng khối PIN và mã hóa 3DES EDE (ISO 9564-1 Format 0)
Khối dữ liệu 64-bit PIN Block được tạo thành bằng cách thực hiện phép toán logic XOR giữa hai khối 64-bit: Khối PIN thuần (Plaintext PIN Field) và Khối số tài khoản (PAN Field).
$$\text{PIN Block} = \text{Plaintext PIN Field} \oplus \text{PAN Field}$$
Trong đó:
- Plaintext PIN Field (64-bit Hex):
0 || L || P || P || P || P || F || F || F || F || F || F || F || F || F || F (với L là độ dài mã PIN từ 4-12, P là các chữ số PIN, F là giá trị đệm Padding 0xF).
- PAN Field (64-bit Hex):
0000 kết hợp với 12 chữ số cuối cùng của số PAN (loại bỏ chữ số Check Digit cuối cùng).
from Crypto.Cipher import DES3
import binascii
def build_iso9564_format0_pin_block(pin: str, pan: str) -> bytes:
"""
Tạo khối PIN Block chuẩn ISO 9564-1 Format 0.
"""
pin_len = len(pin)
pin_field_str = f"0{pin_len:X}{pin}".ljust(16, 'F')
pin_field = bytes.fromhex(pin_field_str)
# Lấy 12 chữ số liền kề trước check digit của PAN
pan_trimmed = pan[-13:-1]
pan_field_str = f"0000{pan_trimmed}"
pan_field = bytes.fromhex(pan_field_str)
# Thực hiện phép XOR 64-bit
clear_pin_block = bytes(a ^ b for a, b in zip(pin_field, pan_field))
return clear_pin_block
def encrypt_pin_block_3des(pin_block: bytes, working_key_16b: bytes) -> str:
"""
Mã hóa khối PIN Block bằng thuật toán 3DES (2-Key 3DES EDE Mode).
C(K, P) = E_K1( D_K2( E_K1( P ) ) )
"""
# 2-Key 3DES: K1 = K3, Key length = 16 bytes (128 bits)
cipher = DES3.new(working_key_16b, DES3.MODE_ECB)
encrypted_block = cipher.encrypt(pin_block)
return binascii.hexlify(encrypted_block).decode('utf-8').upper()
# Test case thực nghiệm
wk_key = bytes.fromhex("0123456789ABCDEFFEDCBA9876543210")
pin_input = "123456"
pan_input = "9704220012345678"
raw_block = build_iso9564_format0_pin_block(pin_input, pan_input)
encrypted_pin = encrypt_pin_block_3des(raw_block, wk_key)
print(f"Encrypted PIN Block (Hex): {encrypted_pin}")
3. Tạo mã toàn vẹn thông điệp giao dịch (CBC-MAC ISO 9797-1)
Để ngăn chặn tấn công giả mạo số tiền rút hoặc thay đổi số tài khoản đích trong thông điệp tài chính (CWD/TFR), toàn bộ phần thân (Body) của bản tin được đưa qua thuật toán sinh mã MAC chế độ Cipher Block Chaining:
$$\text{Block}_i = E_K(\text{Data}i \oplus \text{Block}{i-1}), \quad \text{với } \text{Block}_0 = \text{IV} = 0x00\dots00$$
Mã MAC 8-byte (hoặc 4-byte rút gọn) là giá trị của khối mã hóa cuối cùng $\text{Block}_N$.
+------------------+ +------------------+ +------------------+
| Data Block 1 | | Data Block 2 | | Data Block N |
+------------------+ +------------------+ +------------------+
| | |
(XOR) <--- IV=0 (XOR) <--- Block 1 (XOR) <--- Block N-1
| | |
+------------------+ +------------------+ +------------------+
| DES Encrypt (WK) | | DES Encrypt (WK) | ... | DES Encrypt (WK) |
+------------------+ +------------------+ +------------------+
| | |
+--> Block 1 +--> Block 2 +--> MAC (Final Block)
Kết quả đo lường và kiểm thử hiệu năng
Hệ thống được tiến hành kiểm thử thực nghiệm trên môi trường giả lập mạng tài chính gồm 1 trạm ATM (chạy nhân Diebold 912), 1 hệ thống chuyển mạch Financial Switch và 1 thiết bị HSM giả lập chuẩn hóa theo tập lệnh Thales Payshield 9000:
| Chỉ số kiểm thử |
Mục tiêu kỹ thuật |
Kết quả đạt được |
Trạng thái |
| Tốc độ mã hóa PIN Block tại EPP |
$< 25 \text{ ms}$ |
$11.4 \text{ ms}$ |
Đạt tiêu chuẩn PCI-PTS |
| Throughput xử lý xác thực tại HSM |
$> 1,000 \text{ TPS}$ |
$2,850 \text{ TPS}$ |
Đáp ứng tải đỉnh hệ thống |
| Độ trễ trung bình End-to-End (ATM - Switch - CoreBank) |
$< 1,500 \text{ ms}$ |
$480 \text{ ms}$ |
Tối ưu trải nghiệm người dùng |
| Tỷ lệ phát hiện lỗi sai Check Digit (Luhn) |
$100%$ |
$100%$ |
Loại bỏ triệt để số thẻ lỗi |
| Tỷ lệ bắt gói tin chứa PIN bản rõ trên đường truyền |
$0%$ |
$0%$ |
Đảm bảo tính bí mật tuyệt đối |
| Tỷ lệ ngăn chặn thông điệp bị can thiệp nhờ MAC CBC |
$100%$ |
$100%$ |
Bảo vệ tính toàn vẹn dữ liệu |
Đổi mới và đóng góp
-
Chuẩn hóa quy trình cách ly mã PIN hoàn toàn (Hardware Isolation):
Khác biệt hoàn toàn với các hệ thống thanh toán web/app dựa trên phần mềm, đồ án chỉ rõ cơ chế cách ly tuyệt đối của EPP: mã PIN sau khi nhấn trên bàn phím vật lý sẽ được bộ vi điều khiển an toàn (Secure Microcontroller) tại EPP mã hóa ngay lập tức thành PIN Block 3DES trước khi chuyển tiếp sang bo mạch chủ PC Controller. Không một tiến trình phần mềm hay mã độc (malware) nào trên hệ điều hành của ATM có thể truy cập được giá trị PIN bản rõ.
-
Mô hình quản lý khóa LMK phân mảnh (Split-Custody Key Management):
Ứng dụng mô hình chia tách khóa LMK thành nhiều thành phần độc lập (3 thành phần bản rõ). Mỗi thành phần được phân công cho một cá nhân quản trị riêng biệt lưu trên thẻ thông minh bảo mật (Admin Smart Card). Việc nạp khóa vào HSM chỉ thực hiện được khi có sự hiện diện đồng thời của cả 3 cán bộ, loại bỏ nguy cơ lạm quyền hoặc thỏa hiệp đơn điểm.
-
Cải tiến quy trình kiểm soát phiên với Dynamic Working Key Rotation:
Đề xuất cơ chế xoay vòng khóa Working Key (WK) theo từng phiên giao dịch hoặc theo chu kỳ thời gian thực, giảm thiểu tối đa cửa sổ tấn công (attack window) của phương pháp thám mã vi sai và tấn công phát lại (Replay Attacks).
Ứng dụng thực tế và triển khai
Kiến trúc mạng và mô hình triển khai thực tế
+-------------------------------------------------------------------------------+
| TRUNG TÂM DỮ LIỆU NGÂN HÀNG |
| |
| +------------------------+ TCP/IP (TLS 1.3) +------------------+ |
| | CSDL CoreBanking | <-------------------------> | Financial Switch | |
| | - Tài khoản, số dư | | - ISO 8583 Engine| |
| +------------------------+ +--------+---------+ |
| | |
| Command API (TCP) | (FIPS 140) |
| v |
| +------------------+ |
| | Thales/SafeNet | |
| | Hardware HSM | |
| +------------------+ |
+------------------------------------------------------------------|------------+
|
Mạng truyền thông WAN (Leased-line / VPN IPsec)|
v
+-------------------------------------------------------------------------------+
| ĐIỂM ĐẶT MÁY ATM |
| |
| +--------------------------+ +------------------------+ |
| | Đầu đọc thẻ (Card Reader)| | Bàn phím an toàn EPP | |
| | - Track 1/2/3 (ISO 7811) | | - Lưu bản rõ TMK | |
| | - EMV Chip (ISO 7816) | | - Mã hóa 3DES PIN Block| |
| +------------+-------------+ +-----------+------------+ |
| | (RS-232 / USB) | (RS-232) |
| +--------------------+ +---------------------+ |
| v v |
| +----------------------------+ |
| | Máy tính điều khiển (PC) | |
| | - NDC/912 Client Protocol | |
| +----------------------------+ |
+-------------------------------------------------------------------------------+
Phân tích hiệu quả kinh tế và vận hành (Cost-Benefit Analysis)
- Giảm thiểu tổn thất gian lận: Triển khai đồng bộ chuẩn mã hóa EPP-HSM và xác thực MAC giúp triệt tiêu 95% các vụ việc bồi hoàn do gian lận thẻ nội địa và nghe lén đường truyền.
- Tối ưu chi phí vận hành: Cơ chế phân phối khóa từ xa (Remote Key Loading - RKL) thông qua chứng chỉ khóa công khai RSA giúp giảm 80% chi phí nhân sự vật lý so với phương pháp cử 2 kỹ sư ngân hàng trực tiếp đến từng trạm ATM để nạp TMK thủ công.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Ràng buộc phần cứng cũ: Một số lượng lớn các dòng máy ATM thế hệ cũ vẫn đang sử dụng hệ điều hành nhúng thế hệ cũ và đầu đọc thẻ từ tính truyền thống, tạo ra rào cản khi nâng cấp đồng loạt lên chuẩn mã hóa nâng cao AES-256.
- Băng thông đường truyền: Tại các vùng sâu vùng xa, việc truyền thông qua kênh Dial-up hoặc kết nối 3G/4G thiếu ổn định có thể làm tăng độ trễ xác thực khóa và mã MAC giữa ATM và Switch.
Hướng phát triển tiếp theo
- Chuyển dịch sang thuật toán mã hóa AES-GCM: Thay thế hoàn toàn 3DES bằng chuẩn mã hóa tiên tiến AES (Advanced Encryption Standard) với độ dài khóa 256-bit kết hợp chế độ Galois/Counter Mode (GCM) cho phép mã hóa và xác thực toàn vẹn đồng thời.
- Xác thực sinh trắc học đa yếu tố (Multi-Factor Biometrics): Tích hợp công nghệ nhận diện tĩnh mạch ngón tay/lòng bàn tay (Finger/Palm Vein Pattern) hoặc nhận diện khuôn mặt 3D trực tiếp tại EPP nhằm thay thế hoặc bổ trợ cho mã PIN số truyền thống.
- Ứng dụng công nghệ Tokenization: Ẩn danh hoàn toàn số thẻ PAN thực tế trong các bản tin giao dịch, chỉ truyền nhận chuỗi Token có giá trị duy nhất trong từng phiên thanh toán.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-----------------------+-------------------------------+-----------------------+
| Sinh viên CNTT & ATTT| Kỹ sư phát triển phần mềm | Tổ chức Tài chính |
| - Tài liệu chi tiết | - Code mẫu thuật toán chuẩn | - Kiến trúc hệ thống |
| - Phân tích chuẩn | - Quy chuẩn bảo mật thẻ EMV | - Tiêu chuẩn PCI-DSS |
| ISO 7811/7816/9564 | - Cơ chế tích hợp Switch/HSM | - Giảm thiểu rủi ro |
+-----------------------+-------------------------------+-----------------------+
- Sinh viên chuyên ngành CNTT và An toàn Thông tin: Nắm vững bức tranh tổng thể về mật mã học ứng dụng trong hệ thống tài chính ngân hàng, hiểu rõ cấu trúc số thẻ PAN, cơ chế sinh PIN Block và quy trình bắt tay khóa HSM.
- Kỹ sư phát triển phần mềm ngân hàng (Fintech Developers): Có được bộ tài liệu kỹ thuật chuẩn xác về các khuôn dạng thông điệp (ISO 8583, Diebold 912, NCR NDC+) và giải thuật mẫu (Luhn, ISO 9564 Format 0, CBC-MAC).
- Ngân hàng thương mại và đơn vị vận hành Switch: Cung cấp cơ sở lý luận và giải pháp kiến trúc an ninh thông tin nhằm chuẩn hóa hệ thống theo các tiêu chuẩn quốc tế khắt khe như PCI-DSS (Payment Card Industry Data Security Standard).
Câu hỏi thường gặp
1. Tại sao mã PIN không được phép lưu trữ trực tiếp trong cơ sở dữ liệu CoreBank?
Mã PIN là thông tin xác thực tối mật của chủ thẻ. Để tuân thủ tiêu chuẩn PCI-DSS và bảo đảm nguyên tắc bảo mật Zero-Knowledge, CoreBank chỉ lưu trữ giá trị PIN Verification Value (PVV) hoặc mã băm (PIN Offset) được tính toán thông qua thuật toán mã hóa một chiều kết hợp khóa PVK trong HSM. Ngay cả quản trị viên hệ thống CSDL cũng không thể khôi phục được mã PIN gốc của khách hàng.
2. Sự khác biệt căn bản giữa thiết bị EPP tại ATM và bàn phím máy tính thông thường là gì?
EPP là thiết bị phần cứng an toàn chuyên dụng (Secure Cryptographic Device). Khi người dùng nhấn phím số, tín hiệu điện áp được xử lý và mã hóa trực tiếp bên trong bo mạch được bọc vỏ chống tháo gỡ (Tamper-responsive enclosure). Nếu vỏ EPP bị khoan cắt hoặc xâm nhập vật lý, toàn bộ các cảm biến sẽ kích hoạt quy trình Zeroization để xóa sạch mọi khóa mã hóa (TMK, WK) trong RAM tĩnh ngay lập tức.
3. Thuật toán 3DES hoạt động như thế nào và tại sao lại sử dụng chế độ EDE?
3DES áp dụng thuật toán DES 3 lần liên tiếp theo chu trình EDE (Encrypt - Decrypt - Encrypt) với 2 hoặc 3 khóa độc lập ($K_1, K_2, K_3$):
$$C = E_{K_3}(D_{K_2}(E_{K_1}(P)))$$
Sở dĩ bước thứ hai sử dụng giải mã (Decrypt) thay vì mã hóa là để đảm bảo tính tương thích ngược: khi đặt $K_1 = K_2 = K_3$, hệ thống 3DES sẽ hoạt động tương đương như một thuật toán DES đơn tiêu chuẩn.
4. Cơ chế chống tấn công lặp lại (Replay Attack) trên đường truyền ATM - Switch được thực hiện ra sao?
Mỗi thông điệp giao dịch tài chính gửi từ ATM đều chứa trường số tuần tự giao dịch duy nhất (Transaction Sequence Number / STAN) có độ dài 6 chữ số tăng dần liên tục, kết hợp với trường dấu thời gian giao dịch (Transaction Date/Time YYYYMMDDHHMMSS). Switch sẽ kiểm tra tính duy nhất của cặp giá trị này trong cửa sổ phiên; mọi thông điệp trùng lặp sẽ bị từ chối ngay lập tức.
5. Mã CVV/CVC trên dải từ của thẻ được sinh ra như thế nào?
Mã CVV (Card Verification Value) được tạo ra bằng cách đưa các dữ liệu cố định trên Track 2 (gồm số PAN, ngày hết hạn Expiration Date, mã dịch vụ Service Code) đi qua thuật toán mã hóa 3DES sử dụng khóa bí mật CVK lưu trong HSM, sau đó rút gọn kết quả thành chuỗi 3 chữ số thập phân. Quá trình này giúp ngăn chặn kẻ gian tự ý tạo số thẻ giả mạo mà không có khóa CVK của ngân hàng phát hành.
Kết luận
Đồ án tốt nghiệp đã nghiên cứu và giải quyết thấu đáo bài toán an toàn thông tin trên hệ thống máy rút tiền tự động ATM – một hạ tầng then chốt của hệ thống thanh toán quốc gia. Bằng việc phân tích chi tiết cấu trúc phần cứng chuyên dụng (EPP, Smart Card, HSM), chuẩn hóa định dạng thông điệp tài chính (ISO 8583, NDC/912), và mô hình hóa tường minh quy trình quản lý phân cấp khóa (LMK, TMK, WK, PVK, CVK) kết hợp thuật toán mã hóa đối xứng 3DES và kiểm tra tính toàn vẹn CBC-MAC, công trình đã thiết lập một khung tham chiếu kỹ thuật toàn diện, chặt chẽ và có tính ứng dụng cao.
Kết quả của đề tài không chỉ cung cấp nền tảng lý thuyết vững chắc cho các nghiên cứu chuyên sâu về mật mã học ứng dụng trong ngành ngân hàng số, mà còn là cẩm nang thực tiễn cho các kỹ sư công nghệ thông tin trong việc thiết kế, vận hành và nâng cấp các hệ thống giao dịch tự động đáp ứng các tiêu chuẩn an ninh thanh toán quốc tế khắt khe.