Brevet Clé Segmentée
Présentation
Le brevet international WO2018154258A1 décrit un système d'authentification sécurisé à clé segmentée
basé sur la répartition d'une clé d'appairage (K_pair) sur plusieurs dispositifs. Le brevet mentionne NFC comme exemple
de mise en œuvre, mais le système peut utiliser différents types de supports (HSM, logiciel, matériel). Ce brevet constitue le
fondement technologique du moteur d'authentification à clé segmentée implémenté dans CryptPeer®.
Cette innovation renforce significativement la sécurité des données d'authentification en :
- Répartissant la clé d'appairage sur plusieurs segments stockés sur des supports indépendants (matériels, logiciels, cognitifs, contextuels) ;
- Effectuant la recomposition de la clé racine uniquement localement, en mémoire volatile, selon une politique d'authentification ;
- Garantissant que le serveur ne peut jamais dériver les clés de chiffrement, même avec tous les identifiants et le code ;
- Stockant les données sensibles uniquement en mémoire volatile (RAM), pour une fraction de seconde, puis effacement automatique ;
- Implémentant un mécanisme d'obfuscation de mot de passe pour contrer les keyloggers.
Note : Le brevet mentionne NFC comme exemple de mise en œuvre, mais la méthode de segmentation est abstraite et indépendante de tout support de communication particulier. CryptPeer implémente cette segmentation avec des supports locaux maîtrisés (coffre logiciel, KDF utilisateur, modules isolés, contextes), sans dépendance à NFC.
Avantages Clés
Protection Multi-Support
La clé est répartie sur plusieurs dispositifs, rendant le vol d'un seul composant insuffisant pour compromettre l'authentification.
Mémoire Volatile
Les segments et données d'authentification ne sont stockés qu'en RAM, pour une fraction de seconde, puis effacés automatiquement. Aucune persistance des données sensibles.
Système Local
Aucune exposition réseau ou cloud. Le système fonctionne entièrement en local, garantissant un contrôle total des données.
Anti-Keylogger
Mécanisme d'obfuscation qui ajoute des caractères au mot de passe, rendant les keyloggers inefficaces.
Supports Multiples
Le brevet permet l'utilisation de différents types de supports (HSM, logiciel, matériel). NFC est mentionné comme exemple dans le brevet, mais le système ne se limite pas à ce support.
Chiffrement Renforcé
Compatible avec AES-256, SHA-256, RSA-4096 dans les variantes à microcontrôleur.
Fonctionnement
Modèle de Clé Segmentée (Abstrait, Indépendant du Support)
Le brevet définit un modèle abstrait de clé segmentée qui ne présuppose aucun support de communication spécifique
(ni NFC, ni BLE, ni autre). La clé d'appairage segmentée (K_pair) est divisée en plusieurs segments
répartis sur des supports indépendants :
Types de Segments
- S1 - Segment terminal principal :
- Secret stocké dans un coffre logiciel chiffré du dispositif (smartphone, PC, tablette, etc.)
- S2 - Segment utilisateur :
- Dérivé d'un code PIN, mot de passe, phrase secrète, geste, etc.
- Traité par un KDF local (ex. PBKDF2-SHA-256) pour obtenir un bloc binaire de taille fixe
- S3 - Segment logiciel isolé :
- Secret stocké dans un module logiciel indépendant (application compagnon, module natif, élément sécurisé OS)
- S4... - Segments contextuels (optionnels) :
- Dérivés de paramètres contrôlés : horodatage, zone de confiance, configuration de la machine, etc.
Important : La méthode impose seulement que chaque segment soit récupéré via un canal local maîtrisé. Le brevet mentionne NFC comme exemple de mise en œuvre, mais le système est conçu pour être indépendant de tout support de communication particulier.
Politique de Recomposition
Une politique d'authentification segmentée P est définie par :
- Le sous-ensemble de segments à exiger :
S_P ⊆ S - L'ordre imposé de présentation : ex.
(S2 → S1 → S3) - Le nombre de tentatives autorisées
- La durée maximale de validité de la session
- Les règles de blocage / effacement logique en cas d'échec
Cette politique est gérée par le moteur d'authentification à clé segmentée, qui reste dans le périmètre breveté.
Recomposition de la Clé Racine K_seg
La recomposition est effectuée localement par le moteur SegmentedKeyEngine sur le terminal de l'utilisateur :
- Sélection de la politique : selon le
policyId(ex. "STD", "SENS", "CRIT") - Collecte des segments : dans l'ordre imposé par la politique, récupération depuis leurs supports respectifs
- Normalisation : chaque segment est normalisé sous la forme
Zi = type_i || length_i || value_i - Construction du matériau d'entrée :
Z = Z1 || Z2 || ... || Zk - Mélange et dérivation :
- Hachage de pré-mélange :
H = SHA3-512(Z || policyId || deviceContext) - Dérivation de la clé d'appairage :
K_pair = HKDF_SHA3_512(H, policySalt, info, L) - Dérivation de la clé racine :
K_seg = HKDF_SHA3_512(K_pair, appSalt, "CryptPeer/RootKey", L)
- Hachage de pré-mélange :
- Gestion de la session :
K_segest gardée en mémoire volatile pour au plussessionTTL, puis effacée
Point clé :
Seul K_seg est rendu à CryptPeer via l'interface getRootKey(policyId).
La structure interne (segments, ordre, règles de blocage) reste dans le périmètre breveté et n'est jamais exposée.
Dérivation des Clés de Chiffrement dans CryptPeer
Une fois K_seg obtenu localement, CryptPeer l'utilise pour dériver les clés opérationnelles :
- Clé de conversation v2 :
K_conv_v2 = HKDF(K_base_conv, salt=K_seg, info="CryptPeer/msg/v2", L=32)- Le serveur ne peut pas dériver cette clé car il ne connaît pas
K_seg
- Le serveur ne peut pas dériver cette clé car il ne connaît pas
- Clé de fichier v2 :
K_file_v2 = HKDF(K_file_base, salt=K_seg, info="CryptPeer/file/v2", L=32)- Même principe : sans
K_seg, impossible de retrouverK_file_v2
- Même principe : sans
Cette architecture garantit que même si le serveur est compromis, il ne peut pas déchiffrer les messages ou fichiers,
car il ne dispose jamais de K_seg qui nécessite la recomposition locale des segments selon la politique.
Intégration dans CryptPeer®
Le brevet WO2018154258A1 est directement implémenté dans CryptPeer® via le moteur d'authentification à clé segmentée.
Ce moteur expose l'interface SegmentedKeyEngine qui permet à CryptPeer de :
- Obtenir la clé racine locale
K_segà partir deK_pairet d'un contexte ; - Appliquer des politiques de segmentation configurables ;
- Garantir la non-exportation de
K_pairet des segments ; - Assurer la recomposition éphémère en mémoire volatile.
Note importante : CryptPeer n'utilise pas NFC. Le système peut fonctionner avec différents types de supports (HSM matériel, logiciel, etc.) selon les besoins de l'utilisateur. Le brevet mentionne NFC comme exemple de mise en œuvre, mais le système est conçu pour être flexible et s'adapter à différents types de supports.
Pour plus de détails techniques, consultez les spécifications cryptographiques de CryptPeer, notamment la Partie IV – Moteur d'authentification à clé segmentée.
Pays où le Brevet est Accordé
Le brevet WO2018154258A1 a été accordé dans les pays suivants :
Note : Tous les numéros de brevet délivrés sont indiqués. Le brevet algérien est en cours de délivrance.
Variantes et Extensions
Le brevet couvre plusieurs variantes et extensions possibles :
- Appairage exclusif : entre le dispositif principal et le token principal ;
- Enregistrements multiples : plusieurs enregistrements d'authentification par token (labels) ;
- Tokens à microcontrôleur : avec protections physiques (auto-destruction, effacement aléatoire) ;
- Limites de tentatives : politiques de sécurité configurables ;
- Authentification manuelle ou automatique : selon les besoins ;
- Réutilisation modulaire : réutilisation des tokens/segments dans d'autres contextes.
Ressources
Pour consulter le texte complet du brevet et obtenir plus d'informations :
Consulter le brevet sur WIPO Freemindtronic