Sentra Membership — Gate & RFID Access Control Module¶
Overview¶
Modul Gate & RFID mengendalikan akses fisik ke area gym/studio melalui integrasi MQTT broker antara cloud backend dan edge gateway Raspberry Pi. Mendukung verifikasi via Face Recognition, kartu RFID/NFC, dan QR dinamis.
11.1 Physical Gate Authentication Flowchart¶
graph TD
A[Member Scan Wajah / Kartu RFID di Gate] --> B[Kamera Capture & Kirim ke Local Face Engine]
B --> C[Local Database Cache: Cari Kecocokan Vector Hash]
C --> D{Apakah Kecocokan > 95%?}
D -- Tidak --> E[Tolak Masuk & Picu Peringatan Kasir]
D -- Ya --> F[Verifikasi Status Keanggotaan Aktif]
F --> G{Status Aktif & Valid?}
G -- Tidak --> H[Tolak Masuk: Layar Tampilkan Membership Expired]
G -- Ya --> I[Cek Aturan Anti-Passback]
I --> J{Apakah Status Akses Valid?}
J -- Tidak / Double IN --> K[Tolak Masuk: Layar Tampilkan Double Scan Error]
J -- Ya --> L[Edge Kirim Sinyal Relay Buka Turnstile Gate via MQTT]
L --> M[Catat Status IN di database lokal & sinkronisasikan ke AWS Cloud]
Anti-Passback (APB) Rule¶
Anti-Passback adalah mekanisme keamanan yang mencegah satu kartu RFID / wajah digunakan masuk 2x berturut-turut tanpa keluar terlebih dahulu. Aturan ini:
- Memblokir celah sharing membership — member A masuk, lempar kartu ke luar agar member B masuk dengan kartu sama.
- Berlaku cross-branch: jika member terakhir tercatat
INdi cabang Jaksel, tidak bisa langsungINlagi di cabang Jakpus dalam selang waktu singkat. - Status akses disimpan di tabel
gate_logs(access_type: IN | OUT). - Sistem memeriksa entri terbaru di
gate_logsper member. Jika status terakhir adalahIN, requestINberikutnya langsung ditolak dengan kodeANTI_PASSBACK_VIOLATION.
MQTT Integration Detail¶
| Komponen | Role |
|---|---|
| Cloud Backend (Go) | MQTT Publisher — kirim MQTT_CMD_OPEN_GATE_01 ke broker |
| Mosquitto Broker (Raspberry Pi) | MQTT Broker lokal, subscriber untuk sinyal gate |
| Edge Daemon (Go) | MQTT Subscriber — terjemahkan message ke sinyal relay fisik |
| Relay Board | Kontroller hardware turnstile gate |
Koneksi cloud → edge menggunakan Secure MQTT over WebSockets TLS 1.3.
11.2 Biometric Privacy Implementation (UU PDP Compliant)¶
- Gambar wajah ditangkap kamera lokal.
- Ekstraksi wajah lokal menghasilkan 128-dimensi koordinat vektor wajah.
- Vektor diubah menjadi string hash terenkripsi AES-256 menggunakan salt internal.
- Foto fisik mentah langsung dihapus dari RAM gerbang lokal dalam waktu < 2 detik setelah ekstraksi. Hanya string hash terenkripsi yang disimpan di database pusat.
Offline Access Cache¶
Gateway lokal men-cache data biometrik hash member aktif 24 jam terakhir secara lokal di SQLite terenkripsi. Jika internet cabang terputus total, verifikasi wajah tetap berjalan menggunakan data lokal — turnstile tetap dapat dibuka tanpa bergantung cloud.