Pobierz PDF

Generic Privacy-Preserving Protocol dla Keystroke Dynamics-based Continuous Authentication

Metadane

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:

  1. Homomorphic Public Key Encryption (Paillier):

    • Właściwość: E(m1) · E(m2) = E(m1 + m2)
    • Potęgowanie: E(m)^k = E(k · m)
  2. 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:

  1. Użytkownik: id_u → Serwer
  2. Serwer: E(1/σ_i) → Użytkownik
  3. 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
  4. 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ółRoundsTransmitted encryptionsSub-protocols invocations
Govindarajan [14]4N + 14N
Balagani [3]52N + 15N
Wei [22]33N0
Proponowany5N + 44

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=4l=7l=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)

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:

  1. Pierwszy fully privacy-preserving continuous authentication protocol - wszystkie operacje w encrypted domain
  2. Generic approach - nie ogranicza do konkretnego schematu (Paillier, BFV, CKKS, etc.)
  3. Wydajność: 4 PPCP invocations vs 5N (Balagani), N+4 transmissions vs 2N+1
  4. Continuous (nie periodic) - decyzja per keystroke, nie per session block
  5. 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)

Elementów w folderze: 0.