Translation not up to date
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.
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
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:
- Na kartě Konfigurovat přepněte volbu "Povolit šifrování homomorfického šifrování".
- 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í.
- Při výběru modelového souboru pro položku Specifikace modeluzkontrolujte, zda jste odeslali nešifrovaný počáteční model.
- Vyberte volbu "Jednoduchý průměr (šifrováno)" pro Metoda sloučení. Klepněte na tlačítko Další.
- Zaškrtněte volbu Zobrazit rozšířené na kartě Definovat hyperparametry .
- 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í:
Ú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).
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]'
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" } } } } } } } }
Po konfiguraci spusťte skript konektoru strany.
Další prostředky
- Homomorfní šifrování lze použít prostřednictvím rozhraní API. Viz Vytvoření nového školení WML > Požadavek > federated_learning > [
fusion_type and crypto
]
Nadřízené téma: Federovaný výukový materiál