---
doc_id: "DOC-SEC-002"
title: "Kiến Trúc Phòng Thủ Zero-Trust, Anti-Bot & Touch Biometrics"
category: "security"
diataxis_type: "explanation"
status: "canonical"
version: "2026.1"
owner_role: "blue_team_guardian"
last_updated: "2026-09-29"
tags: ["anti-cheat", "anti-bot", "touch-biometrics", "zero-trust", "apple-app-attest"]
related_code:
  - "server/security/touch_biometrics.py"
  - "server/security/network_integrity.py"
related_docs:
  - "docs/security/INDEPENDENT_SECURITY_AND_ANTICHEAT_CHARTER.md"
summary: "Phòng ngự đa tầng: Apple App Attest, ChaCha20-Poly1305, phân tích sinh trắc học cử chỉ ngón tay AI Touch Biometrics."
---

# BẢO MẬT TOÀN DIỆN: CHỐNG BOT, CHEAT, HACK, PHISHING & NHÂN BẢN (DUPLICATE)

Hệ thống bảo mật của `FreeExile` được thiết kế theo triết lý **Zero-Trust Security Framework (Không tin cậy bất kỳ dữ liệu nào gửi từ Client)**.

---

## 1. MÔ HÌNH QUYỀN LỰC MÁY CHỦ TUYỆT ĐỐI (100% SERVER-AUTHORITATIVE)

Trong nhiều game online cũ, client được phép tự tính toán vị trí, tốc độ chạy, cooldown chiêu hoặc lượng máu, dẫn đến các bản hack Speedhack, Teleport, No-Cooldown, God Mode.
Tại `FreeExile`:

1. **Client chỉ là Terminal Nhận Input và Hiển Thị**:
   - Client gửi lên máy chủ duy nhất: `Vector hướng di chuyển mong muốn`, `Skill ID muốn kích hoạt`, `Tọa độ nhắm mục tiêu`.
   - Client **không bao giờ** gửi lên các giá trị: Vị trí hiện tại, lượng máu hiện tại, sát thương gây ra, tỷ lệ rớt đồ, số lượng currency.
2. **Server Kiểm Tra Vật Lý & Logic (Tick Rate 30Hz)**:
   - **Speedhack & Teleportation Prevention**: Máy chủ tính toán vận tốc tối đa của nhân vật dựa trên base stats + buff buffs trong tick hiện tại. Nếu khoảng cách giữa 2 gói tin vượt quá `Max_Speed * Delta_Time + Tolerance`, máy chủ tự động giật ngược vị trí (Rubberband / Server Reconciliation) và tăng biến đếm nghi vấn gian lận.
   - **Line-of-Sight & Wallhack Protection**: Thuật toán Raycasting chạy trên Server. Máy chủ không gửi dữ liệu quái vật hoặc người chơi khác cho Client nếu đối tượng bị che khuất hoàn toàn bởi chướng ngại vật/sương mù chiến trận (Fog of War). Hack map / ESP hoàn toàn vô dụng vì client không hề có dữ liệu trong bộ nhớ RAM!
   - **Cooldown & Mana Authority**: Máy chủ lưu trữ timestamp lần kích hoạt kỹ năng cuối cùng. Bất kỳ lệnh gọi skill nào trước khi hết cooldown đều bị hủy bỏ trong im lặng.

---

## 2. CÔNG NGHỆ CHỐNG BOT BẰNG SINH TRẮC HỌC CẢM ỨNG (TOUCH BIOMETRICS AI)

Các phần mềm giả lập trên PC (LDPlayer, Nox, Bluestacks) hoặc Auto-clicker thường thực hiện các thao tác:
- Click vào cùng một pixel cố định.
- Tọa độ di chuyển chuột là các đường thẳng tắp hoàn hảo (perfect straight lines).
- Khoảng cách thời gian giữa các lần bấm phím là một số nguyên mili-giây hoàn hảo (ví dụ: đúng 50.000ms mỗi lần bấm).
- Tiếp điểm cảm ứng (Touch Radius) có diện tích bằng 0 (chỉ là 1 pixel chuột).

```mermaid
flowchart TD
    UserTouch["Thao tác chạm vuốt trên iPhone"] --> RawTouchData["Raw Touch Events (Radius, MajorAxis, Pressure, Timestamp, Coords)"]
    RawTouchData --> BiometricsExtractor["Trích xuất Vector Động Học (Kinematics & Micro-Tremors)"]
    BiometricsExtractor --> EdgeFilter["Bộ lọc cục bộ chống Hooking"]
    EdgeFilter --> EncryptedPacket["Gói tin mã hóa ChaCha20 + Rolling Nonce"]
    EncryptedPacket --> ServerML["Server AI Behavioral Anomaly Detector"]

    ServerML --> Check1{"Touch Area Radius > 0 & Biến thiên tự nhiên?"}
    ServerML --> Check2{"Quỹ đạo vuốt cong theo đường Bezier sinh học?"}
    ServerML --> Check3{"Micro-tremor (Độ rung sinh học của ngón tay người)?"}
    ServerML --> Check4{"APM Entropy (Độ ngẫu nhiên thời gian bấm) hợp lệ?"}

    Check1 & Check2 & Check3 & Check4 -->|Đạt chuẩn người thật| PassSession["Cộng điểm Trust Score (Người chơi chân chính)"]
    Check1 & Check2 & Check3 & Check4 -->|Phát hiện giả lập / Bot Macro| BotAction["Gắn cờ Bot: Shadow-ban, Captcha động, hoặc Giam cách ly"]
```

### Các chỉ số trích xuất thực tế trên iOS:
- `touch.majorRadius`: Ngón tay người khi áp vào màn hình iPhone luôn có tiết diện dạng elip từ 15pt đến 35pt và biến thiên liên tục theo lực đè. Chuột máy tính hoặc giả lập luôn trả về 0 hoặc một hằng số cố định.
- `touch.force`: Áp lực cảm ứng biến thiên theo nhịp thở và cơ tay người chơi.
- `micro-tremor`: Bàn tay người luôn có độ rung vi mô tự nhiên (tần số 8-12Hz). Bot auto clicker không có dao động này.

---

## 3. XÁC THỰC PHẦN CỨNG GỐC: APPLE APP ATTEST & DEVICECHECK

Nhằm ngăn chặn hacker dịch ngược IPA, tiêm dylib qua Jailbreak hoặc dùng Frida hooking:

1. **Apple App Attest Service (iOS DeviceCheck Framework)**:
   - Khi ứng dụng khởi chạy lần đầu trên iPhone, client sinh ra một cặp khóa bất đối xứng trong chip bảo mật phần cứng **Secure Enclave**.
   - Apple Server ký chứng thực (Attestation Statement) xác nhận rằng:
     - Ứng dụng này được tải chính thức từ App Store, không bị chỉnh sửa mã nhị phân (Binary Tampering).
     - Thiết bị này là một chiếc iPhone thật, không phải máy ảo giả lập (Emulator).
   - Server của `FreeExile` kiểm tra chữ ký với máy chủ Apple trước khi cấp token đăng nhập.
2. **Dynamic Memory Encryption (Chống Hack RAM / GameGem / Cheat Engine)**:
   - Các biến nhạy cảm trong bộ nhớ Client (tọa độ hiển thị, animation index) được mã hóa bằng thuật toán XOR biến thiên liên tục sau mỗi tick khung hình (Frame-based Rotating XOR Key).
   - Quét ngầm phát hiện các trình gỡ lỗi (Anti-pTrace, Sysctl Anti-Debugger) và thư viện tiêm mã (Frida, Substrate, Cydia Substrate).

---

## 4. CHỐNG DUPE VẬT PHẨM & CHỐNG PHISHING/SCAM

### 4.1. Cam Kết Zero Item Duplication (Chống Nhân Bản Vật Phẩm)
- Mọi vật phẩm, ngọc tiền tệ (Currency Orb) khi sinh ra đều được cấp một **Mã Định Danh Duy Nhất Toàn Cầu (UUID v7 + Cryptographic Salt)**.
- Khi giao dịch, hệ thống sử dụng **Two-Phase Commit (2PC)**:
  - Khóa đồng thời hai ví/rương liên quan.
  - Mở giao dịch `BEGIN EXCLUSIVE TRANSACTION` trên SQLite Trade Ledger để chiếm quyền ghi duy nhất.
  - Ghi Transaction Log vào Kafka Topic có cấu hình `acks=all` và `min.insync.replicas=2`.
  - Cập nhật cơ sở dữ liệu.
- Nếu mạng bị đứt giữa chừng, giao dịch tự động rollback về trạng thái trước đó. Không có kịch bản vật phẩm tồn tại cùng lúc trên 2 tài khoản.

### 4.2. Chống Lừa Đảo & Phishing (Anti-Scam Architecture)
- **Fair Value Indicator (Chỉ Số Định Giá Công Bằng)**: Khi giao dịch trực tiếp người với người, hệ thống AI tính toán giá trị trung bình trên sàn của các món đồ được đặt vào. Nếu phát hiện một bên đặt đồ cực hiếm đổi lấy rác, giao dịch sẽ hiện cảnh báo đỏ toàn màn hình kèm bộ đếm ngược 5 giây.
- **Dual Confirmation Window**: Bất kỳ thay đổi nào trong ô giao dịch sẽ tự động reset trạng thái sẵn sàng của cả 2 bên.
- **Thiết Bị Mới (New Device Quarantine)**: Đăng nhập từ một thiết bị mới sẽ kích hoạt mã xác thực 2FA gửi về Email/SMS và tạm khóa tính năng giao dịch chuyển đồ giá trị cao trong 24 giờ để bảo vệ chủ tài khoản khỏi hacker đánh cắp phiên.

---

## 5. KHỐI BẢO MẬT ĐỘC LẬP & QUY CHẾ VETO GATE (SEC-OPS DIVISION)

Toàn bộ hệ sinh thái bảo mật trên được quản lý, giám sát và kiểm thử độc lập bởi **Khối Bảo Mật, Tác Chiến An Ninh & Chống Gian Lận Độc Lập**:
- **Hiến Chương Độc Lập**: [INDEPENDENT_SECURITY_AND_ANTICHEAT_CHARTER.md](file:///c:/Projects/FreeExile/docs/security/INDEPENDENT_SECURITY_AND_ANTICHEAT_CHARTER.md) quy định 5 vai trò Sub-Agents chuyên trách (`ciso_agent`, `red_team_operator`, `blue_team_guardian`, `anti_dupe_economic_auditor`, `reverse_engineering_analyst`).
- **Động Cơ Kiểm Toán Độc Lập**: Triển khai tại [server/security/independent_security_auditor.py](file:///c:/Projects/FreeExile/server/security/independent_security_auditor.py) với khả năng tự động diễn tập bắn phá Red Team, kiểm toán dòng tiền kinh tế và thẩm định chữ ký binary.
- **Quyền Phủ Quyết Release (Veto Power)**: Bất kỳ bản build nào có nguy cơ dupe đồ, speedhack hay bypass attest đều bị khóa cứng tại [SecurityAuditGate](file:///c:/Projects/FreeExile/server/security/independent_security_auditor.py).
- **Công Cụ CLI Tác Chiến**: Khởi chạy qua lệnh:
  ```bash
  python tools/security/run_independent_security_audit.py --build-id "v2026.1-RELEASE" --env STAGING
  ```
- **Kiểm Thử Khép Kín (TDD)**: Toàn bộ kiểm thử an ninh được tự động hóa tại [tests/security_fuzzing/test_independent_security_division.py](file:///c:/Projects/FreeExile/tests/security_fuzzing/test_independent_security_division.py).
