Czym jest Secure Multi-Party Computation?

Definicja

Secure Multi-Party Computation (SMPC) to zbiór protokołów kryptograficznych umożliwiających kilku stronom wspólne wykonywanie obliczeń na ich prywatnych danych bez wzajemnego ujawniania tych danych. Każda strona zna jedynie swoje wejścia i końcowy wynik, natomiast żadna nie uzyskuje dostępu do danych innych uczestników. SMPC jest fundamentem tzw. privacy-preserving computation, czyli przetwarzania z zachowaniem poufności.

Protokół SMPC gwarantuje formalnie, że informacje o danych wejściowych nie mogą zostać wywnioskowane przez nieuczciwych uczestników ani obserwatorów - nawet przy częściowym uszkodzeniu lub kompromitacji systemu.

Kluczowe cechy i założenia

  • Poufność danych wejściowych - żadna strona nie poznaje danych innych stron poza tym, co ujawnia wynik obliczeń.
  • Poprawność - rezultat obliczeń jest identyczny jak ten uzyskany w przypadku wykonywania ich na danych scalonych.
  • Odporność na ataki - protokoły różnią się odpornością na model „semi-honest” i „malicious”.
  • Brak centralnego zaufanego podmiotu - obliczenia są wykonywane rozproszonymi metodami kryptograficznymi.

Modele zagrożeń

  • Semi-honest adversary - uczestnicy przestrzegają protokołu, ale próbują wywnioskować dodatkowe informacje.
  • Malicious adversary - uczestnicy mogą modyfikować dane lub protokół, aby oszukać system.
  • Covert adversary - atakujący nie przestrzega protokołu, ale unika działań, które mogą zostać wykryte.

Najpopularniejsze techniki SMPC

  • Secret Sharing - dane są dzielone na udziały (shares), z których każdy z osobna nic nie ujawnia. Obliczenia wykonywane są na udziałach.
  • Beaver Triples - prekomputowane trójki wartości używane do efektywnych obliczeń mnożenia w Secret Sharing.
  • Yao’s Garbled Circuits - dane są kodowane w sposób pozwalający wykonać obliczenia w „zaciemnionym” obwodzie.
  • Additive Sharing - podział wartości na losowe składniki sumujące się do wartości końcowej.
  • Threshold Cryptography - klucz prywatny podzielony między wiele stron; rekonstrukcja wymaga określonego kworum.

Przykładowy model działania SMPC

  1. Każda strona dzieli swoje dane wejściowe na udziały (shares).
  2. Udziały są przesyłane do pozostałych stron lub serwerów uczestniczących.
  3. Obliczenia są wykonywane na udziałach zgodnie z matematycznymi właściwościami protokołu.
  4. Wynik jest rekonstruowany poprzez połączenie udziałów wyniku.

Parametry i metryki oceny SMPC

Metryka

Znaczenie

Communication Complexity

Ilość danych wymienianych między stronami - kluczowy czynnik skalowalności.

Round Complexity

Liczba wymaganych rund komunikacyjnych; wpływa na opóźnienia.

Computational Overhead

Dodatkowe operacje kryptograficzne wymagane przez protokół.

Security Threshold

Liczba uczestników, których kompromitacja nie wpływa na poufność danych.

Zalety

  • Możliwość współdzielenia wyników bez ujawniania danych wejściowych.
  • Zgodność z RODO - realizacja zasady minimalizacji danych.
  • Brak konieczności centralizacji danych między podmiotami.
  • Odporność na wycieki - dane nigdy nie są dostępne w całości dla jednej strony.

Ograniczenia

  • Wysokie koszty komunikacyjne przy dużej liczbie uczestników.
  • Niższa wydajność niż w klasycznym przetwarzaniu scentralizowanym.
  • Złożoność wdrożeń wymagająca specjalistycznej wiedzy.
  • Potrzeba zaufanej inicjalizacji niektórych protokołów.

Zastosowania w anonimizacji zdjęć i wideo

SMPC ma duże znaczenie w systemach przetwarzania wizualnego, szczególnie tam, gdzie dane nie mogą być ujawniane pomiędzy podmiotami lub urządzeniami. Najważniejsze zastosowania obejmują:

  • wspólne trenowanie modeli wykrywania twarzy bez ujawniania jakichkolwiek surowych obrazów,
  • wspólna analiza zdarzeń między różnymi jednostkami (np. policja - operatorzy prywatni - samorządy),
  • bezpieczne agregowanie metadanych z kamer monitoringu bez odsłaniania nagrań,
  • budowanie wspólnych zestawów danych szkoleniowych w formie zanonimizowanej,
  • ochrona zapisów wideo przetwarzanych przez różne moduły edge i serwery.

W systemach anonimizacji SMPC umożliwia również bezpieczną współpracę algorytmów - np. detektor działający na jednym urządzeniu może przekazywać zakodowane parametry innemu urządzeniu bez ujawniania obrazu.