Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Homomorphic Encryption ML

ia

Définition

Le Chiffrement Homomorphe (Homomorphic Encryption, HE) pour le Machine Learning est une technique cryptographique qui permet d'effectuer des calculs (additions, multiplications) directement sur des donnees chiffrees sans jamais les dechiffrer, de maniere a ce que le resultat dechiffre soit identique au resultat obtenu en calculant sur les donnees en clair. Pour le ML, cela signifie qu'un LLM ou un modele ML peut effectuer l'inference sur des donnees chiffrees sans jamais avoir acces aux donnees. Les types de HE : (1) Partiellement Homomorphe (PHE) — permet soit les additions, soit les multiplications, mais pas les deux (RSA est multiplicativement homomorphe). (2) Somewhat Homomorphe (SHE) — permet des additions ET multiplications mais avec une limite sur le nombre d'operations. (3) Fully Homomorphe (FHE) — permet un nombre illimite d'operations, mais avec un bootstrapping couteux pour rafraichir les ciphertexts. CKKS et TFHE sont les schemes FHE les plus utilises pour le ML. Le scheme CKKS (Cheon-Kim-Kim-Song, 2017) est le plus adapte au ML : il permet des operations sur des nombres reels approximatifs (vs entiers exacts), ce qui correspond aux activations des reseaux de neurones. CKKS est implementee dans Microsoft SEAL, HElib, OpenFHE, et HEAAN. Les limitations actuelles pour les LLMs : le calcul homomorphe est 4-6 ordres de magnitude plus lent que le calcul sur CPU en clair, et les LLMs contiennent des operations non-lineaires (softmax, GELU, layernorm) qui sont couteuses a approximer en HE. L'inference d'un modele de classification simple (MNIST) prend ~10 secondes en HE vs quelques ms en clair. Pour les LLMs, l'inference HE complete est actuellement impraticable en production. L'etat de la recherche (2024) : des travaux comme Iron (Microsoft, 2022) et BumbleBee proposent des architectures de Transformers optimisees pour HE, en approximant les non-linearites par des polynomes. Des hybrid approches combinent HE avec du Secure Multi-Party Computation (MPC) pour repartir le calcul entre parties de confiance. Le consensus est que HE pour les LLMs deviendra praticable dans 5-10 ans avec les avancees en hardware FHE (puces specialisees) et en algorithmes d'approximation.

Inference ML basique avec Microsoft SEAL/CKKS

# Concept simplifie - inference logistique sur donnees chiffrees
# pip install tenseal
import tenseal as ts
import numpy as np

# 1. Client: creer le contexte HE et chiffrer les donnees
context = ts.context(ts.SCHEME_TYPE.CKKS, poly_modulus_degree=8192, coeff_mod_bit_sizes=[60, 40, 40, 60])
context.generate_galois_keys()
context.global_scale = 2 ** 40

patient_data = [0.85, 0.32, 0.91, 0.12]  # Features medicales PRIVEES
encrypted_data = ts.ckks_vector(context, patient_data)  # Chiffre

# 2. Serveur (ne voit jamais les donnees en clair):
model_weights = np.array([0.5, -0.3, 0.8, 0.2])  # Poids du modele
# Produit scalaire chiffre (pas besoin de dechiffrer !)
encrypted_result = encrypted_data.dot(model_weights)

# 3. Client: dechiffrer le resultat
result = encrypted_result.decrypt()  # [valeur] sans exposer patient_data

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis