0 / 0
Go back to the English version of the documentation
Použití homomorfického šifrování pro zabezpečení a soukromí
Last updated: 18. 8. 2023
Použití homomorfického šifrování pro zabezpečení a soukromí

Federované učení podporuje homomorfní šifrování jako přidaný ukazatel zabezpečení pro data federovaného školení. Homomorfní šifrování je formou šifrování pomocí veřejného klíče, které umožňuje výpočty na zašifrovaných datech bez jejich prvního dešifrování, což znamená, že data lze použít v modelování, aniž by se vystavovaly riziku zjišťování.

S homomorphic šifrování, výsledky výpočtů zůstávají v šifrované formě a při dešifrování, výsledek ve výstupu, který je stejný jako výstup produkoval s výpočty provedené na nezašifrované údaje. Používá veřejný klíč pro šifrování a soukromý klíč pro dešifrování.

Způsob práce s produktem Federated Learning

Homomorfní šifrování je volitelná metoda šifrování, která umožňuje přidat další zabezpečení a soukromí do experimentu s federovanými studiem. Když se v rámci experimentu s federovanými studiem používá homomorfní šifrování, strany posílají své homomorficky zašifrované aktualizace modelu do agregátoru. Agregátor nemá soukromý klíč a může vidět pouze homomorficky šifrované aktualizace modelu. Agregátor například nemůže provést dekonstrukci aktualizací modelu, aby zjistil informace o vzdělávacích datech smluvních stran. Agregátor pojistit aktualizace modelu v zašifrované podobě, což vede k zašifrovanému agregovanému modelu. Poté agregátor odešle šifrovaný agregovaný model zúčastněným stranám, které mohou používat svůj soukromý klíč k dešifrování, a budou pokračovat dalším kolem školení. Data modelu mohou dešifrovat pouze zúčastněné strany.

Podporované rámce a metody jaderné syntézy

Plně homomorfní šifrování (FHE) podporuje jednoduchou průměrnou syntézu metody pro tyto modelové rámce:

  • Tensorflow
  • Pytorka
  • Scikit-učit se
  • Scikit-učit se regresi

Než začnete

Chcete-li začít s použitím homomorfní šifrování, ujistěte se, že váš experiment splňuje následující požadavky:

  • Hardwarová specifikace musí být minimální malá. V závislosti na použité úrovni šifrování můžete potřebovat větší hardwarovou specifikaci, aby vyhověly spotřebě prostředků způsobenému účinnějším šifrováním dat. Viz tabulka úrovně šifrování v Konfigurace agregátoru.-Specifikace softwaru je fl-rt22.2-py3.10.

  • FHE je podporován v Python klienta verze 1.0.263 nebo novější. Všechny strany musí používat stejnou verzi klienta Python .

Požadavky na strany

Každá strana musí:

  • Spusťte na systému Linux x86 .
  • Konfigurace s kořenovým certifikátem, který identifikuje certifikační autoritu, která je jednotná pro všechny strany.
  • Konfigurujte dvojici veřejný a soukromý klíč RSA s atributy popsanými v následující tabulce.
  • Proveďte konfiguraci pomocí certifikátu strany vydaného certifikační autoritou. Veřejný klíč RSA musí být zahrnut v certifikátu strany.
Poznámka: Můžete také zvolit použití certifikátů s vlastním podpisem.

Homomorfní veřejné a soukromé šifrovací klíče jsou generovány a distribuovány automaticky a bezpečně mezi stranami pro každý experiment. Pouze účastníci účastnící se testu mají přístup k soukromému klíči vygenerovanému pro účely experimentu. Pro podporu automatického generování a distribučního mechanismu musí být strany nakonfigurovány s dříve uvedenými certifikáty a klíči RSA.

Požadavky na klíč RSA

Tabulka 1. Požadavky na klíč RSA
Atribut Požadavek
VELIKOST KLÍČE 4096 bitů
Veřejný exponent 65537
Heslo Není
Algoritmus přepočtu klíče SHA256
Formát souboru Soubory s klíči a certifikáty musí být ve formátu "PEM"

Konfigurace agregátoru (admin)

Při vytváření produktu Federated Learning Experiment postupujte takto:

  1. Na kartě Konfigurovat přepněte volbu "Povolit šifrování homomorfického šifrování".
  2. Vyberte položku malá nebo vyšší pro položku Specifikace hardwaru. V závislosti na použité úrovni šifrování můžete potřebovat větší hardwarovou specifikaci, aby bylo možné zajistit využití prostředků pro šifrování homomorfického šifrování.
  3. Při výběru modelového souboru pro položku Specifikace modeluzkontrolujte, zda jste odeslali nešifrovaný počáteční model.
  4. Vyberte volbu "Jednoduchý průměr (šifrováno)" pro Metoda sloučení. Klepněte na tlačítko Další.
  5. Zaškrtněte volbu Zobrazit rozšířené na kartě Definovat hyperparametry .
  6. Vyberte úroveň šifrování v Úroveň šifrování.
    Vyšší úrovně šifrování zvyšují zabezpečení a přesnost a vyžadují vyšší spotřebu prostředků (např. výpočty, paměť, šířka pásma sítě). Výchozí hodnota je úroveň šifrování 1.
    V následující tabulce naleznete popis úrovní šifrování:
Zvýšení úrovně šifrování a zabezpečení a přesnost
Úroveň Zabezpečení Přesnost
1 Vysoké Dobrý
2 Vysoké Vysoké
3 Velmi vysoká Dobrý
4 Velmi vysoká Vysoké

Zabezpečení je síla šifrování, obvykle se měří počtem operací, které musí útočník provést, aby přerušte šifrování.
Přesnost je přesnost výsledků šifrovacího systému. Vyšší úrovně přesnosti snižují ztrátu přesnosti modelu v důsledku šifrování.

Připojování k agregátoru (strany)

Následující kroky ukazují pouze konfiguraci, která je potřebná pro šifrování homomorfického šifrování. Pro výukový výukový program o použití homomorfní šifrování v produktu Federated Learning si prohlédněte FHE sample.

Chcete-li zjistit, jak vytvořit obecný skript konektoru pro koncové strany, podívejte se na téma Připojit k agregátoru (strany).

  1. Nainstalujte klienta Python pomocí příkazu FHE pomocí následujícího příkazu:
    pip install 'ibm_watson_machine_learning[fl-rt23.1-py3.10,fl-crypto]'

  2. Proveďte konfiguraci strany takto:

    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. Po konfiguraci spusťte skript konektoru strany.

Další prostředky

Nadřízené téma: Federovaný výukový materiál

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more