Translation not up to date
Stowarzyszona nauka obsługuje szyfrowanie homomorficzne jako dodatkową miarę zabezpieczeń dla stowarzyszonych danych szkoleniowych. Szyfrowanie homomorficzne jest formą kryptografii klucza publicznego, która umożliwia komponowanie na zaszyfrowanych danych bez ich pierwszego deszyfrowania, co oznacza, że dane mogą być używane w modelowaniu bez narażania go na ryzyko wykrycia.
W przypadku szyfrowania homomorficznego wyniki obliczeń pozostają w postaci zaszyfrowanej, a po zdeszyfrowaniu, powodują, że dane wyjściowe są takie same, jak dane wyjściowe generowane z obliczeniami wykonywanymi na niezaszyfrowanych danych. Używany jest klucz publiczny do szyfrowania i klucz prywatny do deszyfrowania.
Jak to działa ze Stowarzyszoną Uczelnią
Szyfrowanie homomorficzne jest opcjonalną metodą szyfrowania, która umożliwia dodanie dodatkowego zabezpieczenia i prywatności do eksperymentu programu Federated Learning. Po zastosowaniu szyfrowania homomorficznego w eksperymencie uczenia stowarzyszonego, strony wysyłają homomorficznie zaszyfrowane aktualizacje modelu do agregatora. Agregator nie ma klucza prywatnego i może wyświetlić tylko homomorficznie zaszyfrowane aktualizacje modelu. Na przykład agregator nie może odtwarzać kodu źródłowego aktualizacji modelu w celu wykrycia informacji na temat danych uczących się stron. Agregator korzysta z aktualizacji modelu w postaci zaszyfrowanej, co powoduje zaszyfrowany zagregowany model. Następnie agregator wysyła zaszyfrowany zagregowany model do uczestniczących podmiotów, które mogą używać swojego klucza prywatnego do deszyfrowania i kontynuować następną runę szkolenia. Tylko podmioty uczestniczące mogą deszyfrować dane modelu.
Wspierane środowiska i metody syntezy jądrowej
W pełni Homomorphic Encryption (FHE) wspiera prostą metodę średniej fuzji dla tych modeli frameworków:
- Tensorflow
- Pytorch
- Scikit-nauka klasyfikacji
- Scikit-poznaj regresję
Zanim rozpoczniesz
Aby rozpocząć korzystanie z szyfrowania homomorficznego, należy upewnić się, że eksperyment spełnia następujące wymagania:
Specyfikacja sprzętu musi być minimalna mała. W zależności od zastosowanego poziomu szyfrowania, może być potrzebna większa specyfikacja sprzętu, aby zmieścić zużycie zasobów spowodowane przez bardziej wydajne szyfrowanie danych. Zapoznaj się z tabelą poziomu szyfrowania w sekcji Konfigurowanie agregatora.-Specyfikacja oprogramowania to
fl-rt22.2-py3.10
.FHE jest obsługiwany w wersji klienta Python w wersji 1.0.263 lub nowszej. Wszystkie podmioty muszą korzystać z tej samej wersji klienta Python .
Wymogi dotyczące stron
Każda ze stron musi:
- Uruchom w systemie Linux x86 .
- Skonfiguruj przy użyciu certyfikatu głównego, który identyfikuje ośrodek certyfikacji, który jest jednolity dla wszystkich podmiotów.
- Skonfiguruj parę kluczy RSA i klucza prywatnego z atrybutami opisanymi w poniższej tabeli.
- Skonfiguruj przy użyciu certyfikatu podmiotu wystawionego przez ośrodek certyfikacji. Klucz publiczny RSA musi być zawarty w certyfikacie podmiotu.
Homomorphic publiczne i prywatne klucze szyfrowania są generowane i dystrybuowane automatycznie i bezpiecznie wśród stron dla każdego eksperymentu. Tylko podmioty biorący udział w eksperymencie mają dostęp do klucza prywatnego wygenerowanego dla eksperymentu. W celu obsługi mechanizmu automatycznego generowania i dystrybucji, strony muszą być skonfigurowane za pomocą certyfikatów i kluczy RSA określonych wcześniej.
Wymagania klucza RSA
Atrybut | Wymaganie |
---|---|
Wielkość klucza | 4096 bitów |
Wykładnik publiczny | 65537 |
Hasło | Brak |
Algorytm mieszający | SHA256 |
Format pliku | Pliki kluczy i certyfikatów muszą być w formacie "PEM" |
Konfigurowanie agregatora (admin)
Tworząc stowarzyszony eksperyment edukacyjny, należy wykonać następujące czynności:
- Na karcie Konfiguracja Przełącz opcję "Włącz szyfrowanie homomorficzne".
- Dla opcji Specyfikacja sprzętuwybierz opcję mała lub nowsza. W zależności od zastosowanego poziomu szyfrowania, może być potrzebna większa specyfikacja sprzętu, aby zmieścić zużycie zasobów na potrzeby szyfrowania homomorficznego.
- Upewnij się, że podczas wybierania pliku modelu dla specyfikacji modeluprzesyłany jest niezaszyfrowany model początkowy.
- Wybierz opcję "Prosta średnia (zaszyfrowana)" dla opcji Metoda Fusion. Kliknij przycisk Dalej.
- Zaznacz pole wyboru Pokaż zaawansowane na karcie Zdefiniuj parametry hiperparametry .
- W polu Poziom szyfrowaniawybierz poziom szyfrowania.
Wyższe poziomy szyfrowania zwiększają bezpieczeństwo i precyzję oraz wymagają większego zużycia zasobów (np. obliczeń, pamięci, przepustowości sieci). Wartością domyślną jest poziom szyfrowania 1.
W poniższej tabeli można znaleźć opis poziomów szyfrowania:
Poziom | Usługi z dziedziny bezpieczeństwa | Precyzja |
---|---|---|
1 | Duża | Dobrze |
2 | Duża | Duża |
3 | Bardzo wysoki | Dobrze |
4 | Bardzo wysoki | Duża |
Zabezpieczenia to siła szyfrowania, zwykle mierzona liczbą operacji, które musi wykonać napastnik w celu złamania szyfrowania.
Dokładność to precyzja wyników systemu szyfrowania. Wyższe poziomy dokładności redukują utratę dokładności modelu ze względu na szyfrowanie.
Łączenie się z agregatorem (party)
Poniższe kroki przedstawiają tylko konfigurację wymaganą do szyfrowania homomorficznego. Kurs krok po kroku dotyczący używania szyfrowania homomorficznego w uczeniu stowarzyszonym zawiera sekcja Przykład FHE.
Informacje na temat tworzenia ogólnego skryptu konektora podmiotu na całej trasie można znaleźć w sekcji Nawiązaliśmy połączenie z agregatorem (podmiot).
Zainstaluj klienta Python z programem FHE za pomocą następującej komendy:
pip install 'ibm_watson_machine_learning[fl-rt23.1-py3.10,fl-crypto]'
Skonfiguruj podmiot w następujący sposób:
party_config = { "local_training": { "info": { "crypto": { "key_manager": { "key_mgr_info": { "distribution": { "ca_cert_file_path": "path of the root certificate file identifying the certificate authority", "my_cert_file_path": "path of the certificate file of the party issued by the certificate authority", "asym_key_file_path": "path of the RSA key file of the party" } } } } } } } }
Po skonfigurowaniu uruchom skrypt konektora podmiotu.
Zasoby dodatkowe
Temat nadrzędny: Nauka stowarzyszona