Generic Privacy-Preserving Protocol dla Keystroke Dynamics-based Continuous Authentication
Metadane
- Autorzy: Ahmed Fraz Baig, Sigurd Eskeland
- Rok: 2022
- Źródło: arXiv:2209.06557v1 [cs.CR] / SECRYPT 2022
- DOI/Link: https://arxiv.org/abs/2209.06557v1
- Status: read
- Tagi: continuous-authentication keystroke-dynamics homomorphic-encryption privacy-preserving behavioral-biometrics paillier federated-learning
Streszczenie
Artykuł proponuje generyczny protokół uwierzytelniania ciągłego (continuous authentication) oparty o keystroke dynamics z zachowaniem prywatności użytkownika. Bazuje na wcześniejszym schemacie Boursa (2012), który nie oferował ochrony prywatności, i rozszerza go o szyfrowanie homomorficzne (Paillier cryptosystem) umożliwiające przeprowadzenie całego procesu uwierzytelniania w domenie zaszyfrowanej.
Protokół składa się z trzech faz: (1) Setup, (2) Enrollment - użytkownik szyfruje swoje referencyjne cechy behawioralne (średnia µi, odchylenie standardowe σi dla każdego klawisza) i wysyła je do serwera, (3) Authentication - na każde naciśnięcie klawisza obliczana jest Scaled Manhattan Distance między zaszyfrowanym inputem a zaszyfrowanym szablonem referencyjnym, porównanie z progiem odbywa się za pomocą privacy-preserving comparison protocol (PPCP), a wskaźnik agregowany C jest aktualizowany funkcją penalty/reward w domenie zaszyfrowanej.
Kluczową zaletą jest to, że serwer uwierzytelniający nie widzi żadnych danych biometrycznych - ani szablonów referencyjnych, ani inputów użytkownika, ani wyników pośrednich (tylko końcową decyzję accept/reject). Protokół jest wydajny - wymaga transmisji tylko N+4 zaszyfrowanych wartości i 4 wywołań subprotokołu porównania (w porównaniu do 2N+1 i 5N w poprzednich pracach Balagani, Govindarajan).
Kluczowe Wnioski
- Pierwszy protokół continuous authentication z pełną ochroną prywatności - wszystkie operacje w domenie zaszyfrowanej, serwer nie widzi cech behawioralnych użytkownika
- Generyczny - zakłada użycie dowolnego schematu szyfrowania homomorficznego (implementacja na Paillier, ale możliwe inne)
- Wydajny - N+4 transmisji zaszyfrowanych wartości vs 2N+1 (Balagani) i N+1 (Govindarajan), 4 wywołania PPCP vs 5N (Balagani) i 4N (Govindarajan)
- Ciągły - decyzja przy każdym naciśnięciu klawisza (nie periodic jak inne rozwiązania)
- Czas wykonania - 80-195ms (k=512, l=4-10 bit), 540-1006ms (k=1024), 1850-3201ms (k=1536) - zależy od wielkości klucza i długości bitowej porównań
- Semi-honest adversary model - ochrona przed ciekawskim serwerem (honest-but-curious), założenie bezpiecznego kanału komunikacji
- GDPR compliance - dane biometryczne keystroke dynamics są wrażliwe (Article 4), protokół zapewnia privacy-by-design
Metodologia
Baza: Schemat Boursa (2012)
Enrollment:
- Ekstrakcja cech: down-time (t_down_i), up-time (t_up_i) dla każdego klawisza i
- Obliczenie t_i = t_up_i - t_down_i
- Statystyki: średnia µ_i, odchylenie standardowe σ_i dla każdego klawisza
- Szablon referencyjny: (µ_i, σ_i) dla 1 ≤ i ≤ n
Authentication:
- Input: t_i dla naciśniętego klawisza i
- Scaled Manhattan Distance: d_i = |t_i - µ_i| / σ_i
- Wskaźnik agregowany C (początkowo C = max):
- Jeśli d_i > T_dist: C ← (C - d_i + T_dist) [penalty]
- Jeśli d_i ≤ T_dist: C ← min(C + R, max) [reward]
- Decyzja: jeśli C < T_reject → reject user
Rozszerzenie o Privacy-Preserving
Primitives:
-
Homomorphic Public Key Encryption (Paillier):
- Właściwość: E(m1) · E(m2) = E(m1 + m2)
- Potęgowanie: E(m)^k = E(k · m)
-
Privacy-Preserving Comparison Protocol (PPCP):
- PPCP_gt(E(x), y): porównanie encrypted x z unencrypted y, wynik boolean (x > y?)
- PPCP*_gt(E(x), E(y)): porównanie dwóch encrypted wartości (Veugen protocol)
Enrollment phase:
- Użytkownik generuje parę kluczy (Priv_u, PK_u)
- Szyfruje szablon: E(µ_i/σ_i), E(1/σ_i) dla 1 ≤ i ≤ n
- Wysyła do serwera: id_u, i, E(1/σ_i), E(µ_i/σ_i)
- Serwer przechowuje zaszyfrowany szablon (nie przechowuje lokalnie na urządzeniu użytkownika)
Authentication phase:
- Użytkownik: id_u → Serwer
- Serwer: E(1/σ_i) → Użytkownik
- Przy naciśnięciu klawisza i:
- Użytkownik: oblicza t_i, homomorficznie E(t_i/σ_i) = E(1/σ_i)^{t_i}
- Użytkownik: i, E(t_i/σ_i) → Serwer
- Serwer oblicza w domenie zaszyfrowanej:
- PPCP*_gt dla wyboru znaku: if E(t_i/σ_i) > E(µ_i/σ_i) then E(d_i) ← E(t_i/σ_i) · E(µ_i/σ_i)^{-1} else E(d_i) ← E(µ_i/σ_i) · E(t_i/σ_i)^{-1}
- PPCP_gt(E(d_i), T_dist): porównanie z progiem
- If true (d_i > T_dist): C* ← C* · E(d_i)^{-1} · E(T_dist) = E(C - d_i + T_dist) [penalty]
- If false: PPCP*_gt(C* · E(R), max) sprawdza overflow
- If overflow: C* ← E(max)
- Else: C* ← C* · E(R) = E(C + R) [reward]
- PPCP_gt(C*, T_reject): if C* < T_reject → Reject
Privacy-preserving comparison protocols:
- Damgård et al. protocol (2007, 2009) - bit-wise comparison
- Veugen protocol (2012, 2018) - ulepszona wersja DGK
- Implementacja: TNO MPC Lab library
Główne Koncepcje
- Continuous Authentication: Pasywne uwierzytelnianie bez udziału użytkownika, monitoring cech behawioralnych, auto-lock przy braku aktywności lub anomaliach
- Keystroke Dynamics: Behavioral biometrics - analiza wzorców pisania (down-time, up-time, time duration), cechy wrażliwe (mogą ujawnić wiek, płeć, emocje, lewo/praworęczność)
- Homomorphic Encryption: Szyfrowanie umożliwiające obliczenia na zaszyfrowanych danych bez dekrypcji (Paillier: additive homomorphism)
- Scaled Manhattan Distance (SMD): Metryka odległości d_i = |t_i - µ_i| / σ_i, normalizowana przez odchylenie standardowe
- Aggregated Distance Indicator (C): Wskaźnik akumulujący dowody za/przeciw autentyczności użytkownika, aktualizowany penalty/reward functions
- Semi-Honest Adversary: Serwer nie odchodzi od protokołu, ale próbuje wywnioskować informacje z otrzymanych wiadomości
- Privacy-Preserving Comparison: Porównanie wartości bez ujawniania ich (secure two-party computation)
- Generic Protocol: Niezależny od konkretnego schematu kryptograficznego (założenie: additive homomorphic encryption + PPCP)
Wyniki
Analiza wydajności (Tabela 1)
| Protokół | Rounds | Transmitted encryptions | Sub-protocols invocations |
|---|---|---|---|
| Govindarajan [14] | 4 | N + 1 | 4N |
| Balagani [3] | 5 | 2N + 1 | 5N |
| Wei [22] | 3 | 3N | 0 |
| Proponowany | 5 | N + 4 | 4 |
Wnioski: Drastyczna redukcja liczby wywołań sub-protokołów (4 vs 5N Balagani, 4N Govindarajan). Tylko N+4 transmisji zaszyfrowanych wartości (vs 2N+1 Balagani). Najbardziej wydajny dla continuous authentication.
Implementacja (Tabela 2)
Parametry: k = rozmiar klucza (512-1536 bit), l = długość bitowa inputów (4-10 bit)
| k (key size) | l=4 | l=7 | l=10 |
|---|---|---|---|
| 512 bit | ≈80ms | ≈125ms | ≈195ms |
| 768 bit | ≈255ms | ≈390ms | ≈500ms |
| 1024 bit | ≈540ms | ≈750ms | ≈1006ms |
| 1536 bit | ≈1850ms | ≈2503ms | ≈3201ms |
Setup: Intel Core i5-7440 HQ @ 2.80GHz, 32GB RAM, Python 3.10, libraries: python-paillier, TNO MPC Lab (Veugen protocol)
Wnioski:
- k=512, l=4 → ≈80ms per keystroke (wystarczające dla continuous auth)
- k=1024, l=7 → ≈750ms (akceptowalne)
- Trade-off: bezpieczeństwo (większy k) vs latencja
Bezpieczeństwo
- Privacy: Serwer nie widzi:
- Szablonów referencyjnych E(µ_i/σ_i), E(1/σ_i)
- Inputów użytkownika E(t_i/σ_i)
- Wyników pośrednich E(d_i), C*
- Tylko końcowa decyzja accept/reject
- Semi-honest model: Ochrona przed honest-but-curious adversary
- Bazuje na: Semantic security Paillier cryptosystem, correctness PPCP protocols
- Assumption: Secure communication channel (network security techniques)
Porównanie z related work
Govindarajan et al. [14] (touch dynamics):
- Periodic authentication (delay before decision)
- 4N sub-protocol invocations (Erkin et al. protocol)
- 12 × N rounds total (każde porównanie = 3 rounds)
- Nieefektywne dla continuous
Balagani et al. [3] (keystroke dynamics):
- 5 rounds, 2N+1 encryptions
- 5N sub-protocol invocations
- 15 × N total rounds
- Podobne problemy jak Govindarajan
Wei et al. [22] (touch dynamics):
- Cosine similarity zamiast SMD
- 3N encrypted vectors (każdy N elementów)
- 0 sub-protocols (serwer dekryptuje similarity scores!)
- Brak pełnej prywatności - serwer widzi similarity scores
Safa et al. [17], Shahandashti et al. [18]:
- Context-aware (GPS, cookies, location)
- Order-Preserving Encryption (OPE) + homomorphic
- Problem: context-aware nie rozróżnia czy user obecny (device stolen scenario)
Domingo-Ferrer et al. [11]:
- Generic features (device, carrier, location, cloud data)
- Paillier + private set intersection (Freedman et al.)
- Problem: context-aware limitations
Przydatne Cytaty
“Continuous authentication utilizes automatic recognition of certain user features for seamless and passive authentication without requiring user attention.” (str. 1)
“The behavioral features of keystroke dynamics are privacy sensitive, and may disclose sensitive user information related to gender, age, left-or right-handedness, and even emotional states during typing.” (str. 2)
“Our scheme is generic in the sense that it assumes homomorphic cryptographic primitives. Authentication is conducted on the basis of encrypted data due to the homomorphic cryptographic properties of our protocol.” (str. 1)
“The privacy requirement is that the stored reference templates and input templates are protected so that the server cannot learn anything about them.” (str. 3)
“In comparison to Balagani et al., Govindarajan et al., Wei et al., our protocol is efficient in terms of computation cost, other protocols compute and transmit N the encrypted elements in each round, whereas our protocol transmits only one encrypted element.” (str. 7)
“To the best of our knowledge, our protocol is the first one to offer privacy-preserving continuous authentication.” (str. 8)
“Behavioral biometrics fulfill the requirements of continuous authentication, due to their passive and continuous nature.” (str. 2)
Datasety
Brak użycia publicznych datasetów - praca teoretyczna (protokół kryptograficzny) z implementacją proof-of-concept. Ewaluacja oparta na teoretycznej analizie złożoności i pomiarach czasu wykonania operacji kryptograficznych.
Powiązane Tematy
- Federated learning dla keystroke biometrics (multi-user models)
- Lightweight homomorphic encryption dla mobile devices
- Multimodal continuous authentication (keystroke + touch dynamics)
- Privacy-preserving machine learning (PPML)
- Secure multi-party computation (MPC)
- GDPR-compliant behavioral biometrics
- Real-time continuous authentication systems
- Behavioral biometrics adversarial attacks
- Client-side vs server-side authentication trade-offs
- Hardware acceleration dla homomorphic encryption (FPGA, GPU)
Notatki
Ograniczenia:
- Latencja: 80ms-3200ms per keystroke (zależy od k, l) - może być odczuwalne dla użytkownika jeśli k=1536
- Semi-honest only: Nie chroni przed malicious adversary (serwer może wysłać nieprawidłowe E(1/σ_i))
- Network overhead: Potrzebny secure channel (TLS/SSL), komunikacja client-server na każde naciśnięcie klawisza
- Proof-of-concept: Brak ewaluacji na rzeczywistych użytkownikach (tylko pomiary kryptograficzne)
- Cold-start: Nie rozwiązuje problemu nowych użytkowników (enrollment wymaga zebrania danych)
- Enrollment privacy: Podczas enrollment użytkownik musi zebrać dane lokalnie (potencjalny attack vector)
Kluczowe innowacje:
- Pierwszy fully privacy-preserving continuous authentication protocol - wszystkie operacje w encrypted domain
- Generic approach - nie ogranicza do konkretnego schematu (Paillier, BFV, CKKS, etc.)
- Wydajność: 4 PPCP invocations vs 5N (Balagani), N+4 transmissions vs 2N+1
- Continuous (nie periodic) - decyzja per keystroke, nie per session block
- Server nie przechowuje plaintexts - full protection szablonów biometrycznych
Potencjalne rozszerzenia (z sekcji Future Work):
- Multimodal: keystroke + touch dynamics (wymaga fuzji cech w encrypted domain)
- Lightweight encryption: FHE schemes z mniejszym overhead (TFHE, FHEW)
- Malicious adversary: zero-knowledge proofs dla serwera
- Federated learning: shared model między użytkownikami (privacy-preserving aggregation)
- Mobile deployment: optymalizacja dla ARM, battery consumption
- Adversarial robustness: obrona przed adversarial typing patterns
Powiązanie z pomysłem #21 (Privacy-Preserving Keystroke Biometrics):
- Artykuł implementuje dokładnie to co proponuje pomysł #21
- Rozszerzenie: federated learning (artykuł tego nie robi) + homomorphic encryption (artykuł robi)
- Gap: brak multi-user shared model (każdy user ma swój template)
- Możliwość: połączyć ten protokół z federated learning dla cross-user model improvement
Powiązanie z RESEARCH-TOPICS-FROM-OPEN-RECOMMENDATION.md:
- Topic 1.2: Behavioral Biometrics dla Bot Detection - keystroke patterns, privacy-first (NO camera/mic), GDPR compliance
- Topic 5.1: Privacy-Preserving ML - Homomorphic Encryption (Paillier), federated learning (future work)
- Topic 5.2: GDPR-Compliant Behavioral Analytics - data minimization, consent management
- Topic 6.1: Real-Time Inference Optimization - latency requirements (<50ms ideal, 80-1000ms achieved)
Praktyczne zastosowania:
- E-commerce continuous authentication (prevent session hijacking)
- Banking/fintech (transaction authorization podczas pisania)
- Healthcare (HIPAA-compliant user verification)
- Enterprise security (insider threat detection)
- Cloud services (SaaS multi-tenant authentication)