Edge computing Comment fortifier son deploiement

Le déploiement de solutions en environnement non contrôlé fait partie des contraintes de nombreux secteurs. En vidéosurveillance, sur des radars routiers, dans des systèmes de contrôle d’accès, dans les voitures autonomes, jusque dans nos ascenseurs et même nos téléphones📱… Nombreux sont les systèmes informatiques dont nous sommes à la merci du bon fonctionnement. Les enjeux qualité de ces systèmes peuvent être catégorisés en deux priorités :

En premier lieu, la fuite de données personnelles fait planer le spectre de la RGPD (en Europe) sur les software peu ou pas protégés. Il faut à tout prix démontrer que l’anonymisation 👤 et la sécurisation 👮 des données sont suffisantes, au risque de se voir infliger une amende 💸 par la CNIL.

En second lieu, le développement d’algorithmes uniques et de modèles d’intelligence artificielle 🤖 délicats à entraîner mais simples à copier rend critique la défense contre des cyber attaques du point de vue industriel. 

Cet article a pour but d’exposer les enjeux de protection de données de déploiement de solutions d’intelligence on-premise et cloud. Il expliquera aussi pourquoi la solution d’enclave proposée par Mithril security répond à nos besoins spécifiques. 

Auxilia

Auxilia développe une solution d’intelligence artificielle add-on compatible avec tout type de machine RX. Du fait de la sensibilité des données analysées, son système ne pourra en aucun cas être connecté à internet. Adieu donc les serveurs Cloud ☁ Sécurisés de nos GAFAMs préférés. Il faut déployer notre solution on-premise (sur site). 

Problème corollaire au déploiement sur site : il faut nécessairement abriter les poids de notre modèle sur notre hardware, dont nous ne contrôlons pas l’environnement. 

Sans protection, n’importe qui muni d’une clé USB pourrait le copier pour ensuite trouver les meilleures attaques adversariales dans le but de tromper notre IA. Un hacker plus expérimenté pourrait purement désactiver son fonctionnement en remplaçant tous ses poids par 0 : plus rien ne serait détecté 🧐...

Mithril

Mithril Security a développé une librairie open source BlindAI, permettant d'appliquer des modèles d’IA dans des Trusted Execution Environments (TEEs): les enclaves.

Les enclaves sont connues pour leur capacité à protéger des données lors de leur analyse dans des milieux non contrôlés, grâce à des protections physiques de chiffrement et/ou d’isolation de la mémoire 🧠 liée aux données sensibles.

Il est monnaie courante de les utiliser lors de manipulation de données biométriques comme la reconnaissance faciale, les empreintes digitales ou les iris 👁. Par exemple, Face ID et Touch ID utilisent des enclaves pour stocker et analyser de manière sécurisée les empreintes biométriques des utilisateurs pour les identifier.

Néanmoins, la technologie d’Apple 🍎 est propriétaire et disponible seulement pour un usage interne pour leurs produits. Cependant, une partie grandissante des processeurs d’Intel et d’AMD ont la capacité de créer des enclaves sécurisées, permettant à des éditeurs de logiciel de créer leur propre enclave exploitant ces CPUs sécurisés. 

BlindAI utilise donc la technologie d’enclave d’Intel, appelée Intel Software Guard eXtension (SGX) pour sécuriser des workloads en IA. Par exemple nous pouvons voir en figure 1 comment BlindAI peut être utilisé pour sécuriser l’identification biométrique de personnes, notamment lorsque le serveur manipulant les données est dans le Cloud ☁️.

Figure 1 : système d'enclave appliqué à l'identification cloud

Dans notre cas, l’utilisation d’enclave est légèrement différente, car nous ne souhaitons pas déployer notre modèle dans le Cloud et laisser nos clients envoyer leurs données à l’extérieur, mais plutôt de déployer notre IA on-premise à l’intérieur d’une enclave.

Ceci permet de faire d’une pierre deux coups : 

Cette double protection est illustrée dans la figure 2.

Figure 2 : Comment l'enclave Mithril garantit la confidentialité au fournisseur d'IA et au propriétaire des données

Désormais, la plupart des hardware, edge comme server-side disposent d’enclaves sécurisées. Dans le cadre d’utilisation d’Intel SGX, il est donc d’autant plus facile de les déployer que leur fonctionnement ne dépend pas (trop) de la configuration hardware, du moment qu'elle possède un processeur intel i7 8ème génération au moins.

La force 💪 de l’enclave vient aussi de la facilité avec laquelle elle est transposable à un mode de fonctionnement en cloud : les calculs ne se feraient plus in situ, mais sur un serveur distant sécurisé. Ce qui signifie que AIRIS device figure 1 peut autant être un hardware sur site, qu’un serveur local ou web, ce qui facilite la scalabilité de l'infrastructure.

Dans le cas du serveur web, la technologie d’enclave permet au client de s’assurer que les images envoyées au serveur ne peuvent être lues ni par le cloud provider (AWS, GCP etc…), ni par le AI provider (Auxilia). Pour en savoir plus n’hésitez pas à lire les blogposts 📖 de Mithril sur le sujet.

Seul bémol pour l’instant : les GPU permettant de créer des enclaves sécurisées ne sont pas encore disponibles publiquement, mais seront disponibles dans le futur avec la sortie des Nvidia H100.

Dans un prochain blogpost, nous expliciterons les mécanismes qui permettent de garantir l'authenticité et l’étanchéité des enclaves.

Auteur :
Louis Combaldieu
CTO
27/5/2022