0 / 0
Zurück zur englischen Version der Dokumentation
Homomorphe Verschlüsselung für Sicherheit und Datenschutz anwenden
Letzte Aktualisierung: 21. Juni 2024
Homomorphe Verschlüsselung für Sicherheit und Datenschutz anwenden

Federated Learning unterstützt die homomorphe Verschlüsselung als zusätzliche Sicherheitskennzahl für föderierte Trainingsdaten. Homomorphe Verschlüsselung ist eine Form der Public-Key-Verschlüsselung, die Berechnungen für die verschlüsselten Daten ermöglicht, ohne sie zuerst zu entschlüsseln. Das bedeutet, dass die Daten bei der Modellierung verwendet werden können, ohne dass sie dem Risiko der Erkennung ausgesetzt werden.

Bei der homomorphen Verschlüsselung bleiben die Ergebnisse der Berechnungen in verschlüsselter Form und führen bei der Entschlüsselung zu einer Ausgabe, die mit der Ausgabe identisch ist, die bei Berechnungen für unverschlüsselte Daten erzeugt wurde. Sie verwendet einen öffentlichen Schlüssel für die Verschlüsselung und einen privaten Schlüssel für die Entschlüsselung.

Funktionsweise mit Federated Learning

Homomorphe Verschlüsselung ist ein optionales Verschlüsselungsverfahren, um einem Experiment für föderiertes Lernen zusätzliche Sicherheit und Datenschutz hinzuzufügen. Wenn die homomorphe Verschlüsselung in einem Experiment für föderiertes Lernen angewendet wird, senden die Parteien ihre homomorphen verschlüsselten Modellaktualisierungen an den Aggregator. Der Aggregator hat keinen privaten Schlüssel und kann nur die homomorphisch verschlüsselten Modellaktualisierungen anzeigen. Beispielsweise kann der Aggregator die Modellaktualisierungen nicht rückentwickeln, um Informationen zu den Trainingsdaten der Parteien zu erkennen. Der Aggregator verbindet die Modellaktualisierungen in ihrer verschlüsselten Form, was zu einem verschlüsselten aggregierten Modell führt. Anschließend sendet der Aggregator das verschlüsselte aggregierte Modell an die beteiligten Parteien, die ihren privaten Schlüssel für die Entschlüsselung verwenden und mit der nächsten Trainingsrunde fortfahren können. Nur die beteiligten Parteien können Modelldaten entschlüsseln.

Unterstützte Frameworks und Fusionsmethoden

Fully Homomorphic Encryption (FHE) unterstützt die einfache durchschnittliche Fusionsmethode für diese Modellframeworks:

  • Tensorflow
  • Pytorch
  • Scikit-learn Klassifizierung
  • Scikit-learn Regression

Vorbereitende Schritte

Stellen Sie für den Einstieg in die Verwendung der homomorphen Verschlüsselung sicher, dass Ihr Experiment die folgenden Anforderungen erfüllt:

  • Die Hardwarespezifikation muss mindestens kleinsein. Abhängig von der Verschlüsselungsstufe, die Sie anwenden, benötigen Sie möglicherweise eine größere Hardwarespezifikation, um die Ressourcenauslastung zu berücksichtigen, die durch eine leistungsfähigere Datenverschlüsselung verursacht wird. Weitere Informationen finden Sie in der Tabelle mit den Verschlüsselungsebenen unter Aggregator konfigurieren. Die Softwarespezifikation ist fl-rt23.1-py3.10.

  • FHE wird in Python Client Version 1.0.263 oder höher unterstützt. Alle Parteien müssen dieselbe Python -Clientversion verwenden.

Anforderungen an die Parteien

Jede Partei muss:

  • Ausführung auf einem Linux x86 -System.
  • Konfigurieren Sie mit einem Stammzertifikat, das eine Zertifizierungsstelle identifiziert, die für alle Parteien einheitlich ist.
  • Konfigurieren Sie ein RSA-Schlüsselpaar mit öffentlichem und privatem Schlüssel mit den in der folgenden Tabelle beschriebenen Attributen.
  • Konfigurieren Sie mit einem Zertifikat der von der Zertifizierungsstelle ausgestellten Partei. Der öffentliche RSA-Schlüssel muss im Zertifikat der Partei enthalten sein.
Hinweis: Sie können auch selbst signierte Zertifikate verwenden.

Homomorphe öffentliche und private Verschlüsselungsschlüssel werden für jedes Experiment automatisch und sicher zwischen den Parteien generiert und verteilt. Nur die an einem Experiment beteiligten Parteien haben Zugriff auf den privaten Schlüssel, der für das Experiment generiert wurde. Zur Unterstützung des automatischen Generierungs-und Verteilungsmechanismus müssen die Parteien mit den zuvor angegebenen Zertifikaten und RSA-Schlüsseln konfiguriert werden.

RSA-Schlüsselanforderungen

Tabelle 1. RSA-Schlüsselanforderungen
Attribut Anforderungen
Schlüsselgröße 4096 Bit
Öffentlicher Exponent 65537
Kennwort Keine
Hash-Algorithmus SHA256
Dateiformat Die Schlüssel-und Zertifikatsdateien müssen im PEM-Format vorliegen.

Aggregator konfigurieren (admin)

Führen Sie beim Erstellen eines Experiments für föderiertes Lernen die folgenden Schritte aus:

  1. Aktivieren Sie auf der Registerkarte Konfigurieren die Option "Homomorphe Verschlüsselung aktivieren".
  2. Wählen Sie Klein oder höher für Hardwarespezifikationaus. Je nach Verschlüsselungsstufe, die Sie anwenden, benötigen Sie möglicherweise eine größere Hardwarespezifikation, um die Ressourcennutzung für die homomorphe Verschlüsselung zu berücksichtigen.
  3. Stellen Sie sicher, dass Sie ein unverschlüsseltes Anfangsmodell hochladen, wenn Sie die Modelldatei für Modellspezifikationauswählen.
  4. Wählen Sie "Einfacher Durchschnitt (verschlüsselt)" für Fusionsmethodeaus. Klicken Sie auf Weiter.
  5. Wählen Sie Erweiterte anzeigen auf der Registerkarte Hyperparameter definieren aus.
  6. Wählen Sie die Verschlüsselungsstufe in Verschlüsselungsstufeaus.
    Höhere Verschlüsselungsstufen erhöhen Sicherheit und Genauigkeit und erfordern einen höheren Ressourcenverbrauch (z. B. Berechnung, Speicher, Netzbandbreite). Der Standardwert ist Verschlüsselungsstufe 1.
    Die folgende Tabelle enthält eine Beschreibung der Verschlüsselungsebenen:
Höhere Verschlüsselungsstufe und -sicherheit und -genauigkeit
Ebene Sicherheit Genauigkeit
1 Hoch Gut
2 Hoch Hoch
3 Sehr hoch Gut
4 Sehr hoch Hoch

Sicherheit ist die Stärke der Verschlüsselung, normalerweise gemessen an der Anzahl der Operationen, die ein Angreifer ausführen muss, um die Verschlüsselung zu unterbrechen.
Genauigkeit ist die Genauigkeit der Ergebnisse des Verschlüsselungssystems. Höhere Genauigkeitsstufen verringern den Verlust der Genauigkeit des Modells aufgrund der Verschlüsselung.

Verbindung zum Aggregator (Partei) herstellen

Die folgenden Schritte zeigen nur die Konfiguration, die für die homomorphe Verschlüsselung erforderlich ist. Ein schrittweises Lernprogramm zur Verwendung homomorpher Verschlüsselung in Federated Learning finden Sie unter FHE sample.

Informationen zum Erstellen eines allgemeinen End-to-End-Parteiconnectorscripts finden Sie unter Verbindung zum Aggregator (Partei) herstellen.

  1. Installieren Sie den Python -Client mit FHE mit dem Befehl
    pip install 'ibm_watsonx_ai[fl-rt23.1-py3.10,fl-crypto]' .

  2. Konfigurieren Sie die Partei wie folgt:

    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"
                                } 
                            }  
                        }  
                    }  
                }  
            }  
        }
    }
    
  3. Führen Sie das Parteiconnectorscript nach der Konfiguration aus.

Weitere Ressourcen

Übergeordnetes Thema: Federated Learning

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen