System Flow

Alur Sistem & Diagram Metode

1. Alur Sistem Proyek Ini

Dua diagram: (a) alur pelatihan federated learning end-to-end (pipeline riset), (b) alur verifikasi jalur produksi (server_bridge.py) yang terpisah dari (a).

flowchart TB
    subgraph SRC["Sumber Data"]
        direction LR
        CMU[("CMU Keystroke
51 subjek")] BAL[("Balabit Mouse
10 subjek")] end CMU --> SPLIT["Split anti-leakage
(per-subjek / per-file sesi)"] BAL --> SPLIT SPLIT --> FEAT["Ekstraksi fitur
93D keystroke + 9D mouse = 102D"] FEAT --> CLIENTS["N × FederatedClient
(1 per subjek)"] subgraph FLLOOP["Federated Learning — per ronde"] CLIENTS --> LOCALTRAIN["Train lokal
(+FGSM adversarial, opsional)
(+DP-SGD opacus, opsional)"] BYZ[["Byzantine Attacker
noise-injection / sign-flip"]] -. menyusup .-> LOCALTRAIN LOCALTRAIN --> AGG{"Agregasi Server"} AGG -->|FedAvg| GMODEL["Model Global"] AGG -->|Trimmed-mean| GMODEL end GMODEL -->|"Zero-shot: AUC = 0.5000
(belum ada sinyal individu)"| PERS PERS["Personalisasi per-user
fine-tune + early stopping
(train/val split internal)"] --> EVAL["Evaluasi
Leave-one-client-out
MSE → ROC → EER / AUC / FRR@FAR"] style BYZ fill:#f8d7da,stroke:#b02a37,color:#5c1a1a style GMODEL fill:#fff3cd,stroke:#c9a227,color:#5c4a00 style EVAL fill:#d1e7dd,stroke:#146c43,color:#0a3622
flowchart LR
    ENR["Enrollment
8 sampel"] --> LOO["Kalibrasi threshold
leave-one-out
3 kelompok fitur terpisah"] LOO --> FIT["Fine-tune final
(+DP-SGD, opsional)"] FIT --> V{"Verifikasi
AND 3-arah"} V -->|"keystroke OK DAN
mouse-kinematik OK DAN
mouse-adherence OK"| G["GENUINE"] V -->|"salah satu saja gagal"| I["IMPOSTOR"] style G fill:#d1e7dd,stroke:#146c43,color:#0a3622 style I fill:#f8d7da,stroke:#b02a37,color:#5c1a1a

2. Screenshot Diagram Metode — 4 Paper ScienceDirect

Pipeline: raw keystroke stream -> causal GRU syllabification -> boundary detection -> 11-dim feature vectors
Fig. 1 — pipeline syllabifikasi kausal (raw stream → GRU → boundary → fitur 11D)
AE-GRU: GRU Encoder -> Latent Space -> GRU Decoder -> Reconstruction Error -> Dual-Threshold Decision (Normal/Alert/Critical)
Fig. 2 — AE-GRU + dual-threshold decision (Normal/Alert/Critical)

Pembanding LANGSUNG paling dekat dengan BiometricAutoencoder proyek ini — sama-sama autoencoder one-class, keputusan lewat reconstruction-error (MSE) vs threshold. Beda: mereka pakai GRU (rekuren, per-window syllable) bukan MLP; EER mereka 3.8% ± 1.4% (Buffalo, 148 user, model dilatih LANGSUNG per-user tanpa FL) jauh lebih rendah dari EER proyek ini (~26–28%, leave-one-client-out setelah FL) — tapi ini justru MENGUATKAN temuan “Zero-shot vs personalized” kita sendiri: model yang dilatih langsung per-pengguna (tanpa lewat agregasi FL dulu) bisa jauh lebih diskriminatif, karena tidak perlu memulihkan sinyal dari titik awal “populasi rata-rata”. Pola paling berharga utk diadopsi: dual-threshold decision (Alert 95th percentile + Critical 99th percentile + counter C≥3 berturut-turut baru revoke) — jauh lebih graceful dari keputusan biner GENUINE/IMPOSTOR proyek ini saat ini.

Integrating deep learning and data fusion for advanced keystroke dynamics authentication Budžys, Kurasova, Medvedev · Computer Standards & Interfaces 92 (2025) 103931 · doi.org/10.1016/j.csi.2024.103931
Data Fusion and Model Training (User1-4 passwords -> fusion of different lengths -> Deep Neural Network) -> Critical Infrastructure Inference -> Genuine/Insider
Fig. 1 — fusion password berbeda panjang (interpolasi) → Siamese NN → Genuine/Insider

Fusion 3 dataset keystroke berbeda (CMU 51 user + KeyRecs 99 user + GREYC-NISLAB 110 user, total ∼54.000 rekam password) memakai interpolasi linear untuk menyamakan panjang fitur (37 timestamp), lalu GAFMAT (transformasi Gabor filter time-series→citra) + Siamese Neural Network (13 layer CNN, 2,8 juta parameter) + triplet loss. EER terbaik 13.281% pada data fusion tak-terlihat (uji SELALU pada user baru, bukan validasi user yang sama — disiplin evaluasi yang sama dengan leave-one-client-out proyek ini). Relevansi: fusion lintas-dataset mereka analog dgn fusion lintas-modalitas (keystroke 93D + mouse 9D) proyek ini — sama-sama masalah “menyamakan panjang/skala fitur sebelum digabung ke satu model”.

Schematic of a continuous Biometric Authentication System: User Enrolment (Data Sampling -> Pre-processing -> Feature Extraction -> Model) and User Validation loop with Authentication Algorithm -> User Verification -> Remove User
Fig. 3 — arsitektur CBA generik (survei 80 paper): Data Sampling → Pre-processing/Feature Extraction → Model/Authentication Algorithm → User Verification, dgn loop “User Validation”

Ini bukan satu sistem, tapi kerangka arsitektur rujukan hasil survei 80 paper CBA (2018–2024). Berguna sebagai peta: proyek ini bisa dipetakan langsung ke 4 fase yang sama — Data Sampling (CMU+Balabit), Pre-processing+Feature Extraction (extract_keystroke_vector/extract_mouse_vector), Model (BiometricAutoencoder + FL), User Verification (AND 3-arah). Temuan kuantitatif: sistem physiological rata-rata FMR/FNMR lebih rendah (2%/6%) drpd behavioral (mis. keystroke+mouse milik proyek ini) — kerangka jujur untuk menjelaskan kenapa EER kita tidak akan pernah serendah sistem fingerprint/iris, ini batas intrinsik modalitas behavioral, bukan kegagalan implementasi.

PRISMA flow diagram: 105 articles from ACM/Springer/IEEE/arXiv/Elsevier/Wiley -> screening (20 irrelevant, 4 duplicates) -> 81 final: 25 keystroke, 13 mouse, 1 multimodal, 12 survey, 30 other
Fig. 1 — PRISMA: 105 artikel (2009–2024) → 81 dipakai (25 keystroke, 13 mouse, 1 multimodal, 12 survei, 30 lainnya)

Temuan utama survei ini: dari 25+13 studi keystroke/mouse yang ditinjau, HANYA 3 yang punya mekanisme adaptasi terhadap evolusi perilaku pengguna dari waktu ke waktu — dan TIDAK SATU PUN dari 13 studi mouse dynamics (Tabel 9 paper ini) punya mekanisme adaptasi sama sekali. Proyek ini juga TIDAK punya mekanisme adaptasi jangka panjang (model dilatih sekali saat enrollment, tidak diperbarui seiring waktu) — celah yang sama, didukung bukti bahwa ini memang celah literatur luas, bukan kelalaian proyek ini secara spesifik.

3. Ringkasan Angka Terverifikasi (bukan snippet lagi)

PaperArsitekturEER / Metrik kunciDataset
Quinatio et al. (2026) AE-GRU one-class + syllabifikasi kausal, ~53.000 parameter EER 3.8% ± 1.4%, latensi 22±4 karakter, <5ms/window Buffalo, 148 partisipan (free-text)
Budžys et al. (2025) Siamese NN (CNN 13-layer, 2.8M param) + GAFMAT + triplet loss EER terbaik 13.281% (data fusion tak-terlihat) CMU(51)+KeyRecs(99)+GREYC(110), ∼54.000 rekam
Boshoff & Hancke (2025, survei) N/A — taksonomi arsitektur CBA generik dari 80 paper Physiological avg FMR/FNMR 2%/6% vs Behavioral 9.9%(FNMR) 80 paper CBA disurvei (2018–2024)
Subash et al. (2026, survei) N/A — survei adaptabilitas 81 artikel (PRISMA) 0 dari 13 studi mouse dynamics punya adaptasi perilaku 105 artikel disaring → 81 dianalisis
Proyek ini MLP autoencoder (latent=16) + FL (FedAvg/trimmed-mean) + DP-SGD + FGSM adv. training EER ~26–28% (personalisasi, leave-one-client-out) CMU(51)+Balabit(10)