Déployer une plate-forme de gestion des identités biométriques à l'aide de la chaîne de blocs sur Oracle Cloud

En combinant modèles de machine learning, blockchain et microservices, IPtoki a créé sa plate-forme de gestion des identités biométriques W3C-compliant native du cloud et l'a déployée sur Oracle Cloud Infrastructure (OCI).

Pour vérifier que les utilisateurs sont bien ceux qu'ils prétendent être, la plate-forme IPtoki capture les données biométriques comportementales humaines afin de créer des signatures numériques uniques, puis stocke ces signatures sous forme d'enregistrements immuables dans un registre de chaîne de blocs. Grâce à des algorithmes d'apprentissage automatique, la plate-forme d'IPtoki authentifie en permanence les individus en fonction des façons uniques qu'ils saisissent sur leurs claviers, balayer les écrans de leurs smartphones ou utiliser d'autres périphériques sur leurs appareils mobiles,

Fondée en 2018 au Québec, au Canada, la plate-forme IPtoki permet aux individus de s'identifier à l'aide de leurs smartphones, appareils portables ou appareils autorisés de tiers de confiance. Bien que les informations d'identification vérifiées W3C-compliant des utilisateurs restent protégées dans leurs portefeuilles électroniques, ces informations d'identification peuvent également être présentées sous la gouvernance de l'utilisateur pour autoriser l'accès à une application spécifique ou à un système ou un service sécurisé.

Après avoir entraîné des algorithmes de deep learning, l'authentificateur I Am My ID d'IPtoki peut valider en permanence des données biométriques humaines à l'aide d'un registre distribué de blockchain et d'algorithmes ML. Non seulement les algorithmes de blockchain et de ML permettent d'extraire une signature unique pour un utilisateur, ces outils aident également à valider les informations d'identification vérifiées présentées par les utilisateurs, confirme que ces individus sont ceux qu'ils disent être, puis autorise leur accès à des systèmes et services spécifiques. IPtoki utilise des capteurs d'appareils intelligents pour capturer les données biométriques des utilisateurs, définir leurs signatures et permettre l'authentification continue de leur identité.

Les principaux composants de la plate-forme I Am My ID d'IPtoki sont les suivants :

  • Authentification selon plusieurs facteurs :
    • Vérifier les ID
    • Accorder l'accès aux services sécurisés
    • Gérer l'accès sécurisé
    • Analyser les balayages d'écran
  • Biométrie comportementale :
    • Suivre les mouvements du corps
    • Observer des gestes physiques
    • Surveiller les frappes au clavier
    • Gérer les bibliothèques de code pour l'application de chaîne de blocs à l'aide de kits SDK
  • E-wallet :
    • Accéder aux documents vérifiés et aux informations d'identification qui sont sécurisés dans la chaîne de blocs
    • Partager les identifiants vérifiés
    • Valider les résultats de l'inférence d'authentification à l'aide d'une preuve de connaissance zéro
  • Blockchain :
    • Capturer et stocker des enregistrements immuables d'identités, d'informations d'identification et de documents individuels
    • Créer et déboguer des algorithmes
    • Entraînement des modèles d'apprentissage automatique
  • Algorithmes de machine learning :
    • Capturer et classer les données des capteurs de périphérique
    • Exécuter et gérer des rapports
    • Ecrire et appliquer des stratégies pour les applications et les utilisateurs
  • Administration:
    • Création et surveillance de tableaux de bord
    • Modifier et gérer l'interface système
    • Autoriser les personnes autorisées à accéder à plusieurs services avec un seul ensemble d'informations d'identification à l'aide de la fédération d'utilisateurs
  • Gestion des ID :
    • Etablir la confiance entre plusieurs fournisseurs de services et différents fournisseurs d'identités
    • Connecter les appareils et les applications à l'aide d'API
    • Echanger des informations entre applications à l'aide d'API REST
  • Microservices : communiquer avec des services tiers

Les points forts de cette architecture sont les suivants :

  • La plate-forme I Am My ID d'IPtoki capture et classe les données biométriques comportementales individuelles via des interactions avec des appareils intelligents, tels que les frappes au clavier, les clics de souris et les balayages d'écran.
  • La solution I Am My ID d'IPtoki stocke des enregistrements immuables des informations d'identification des utilisateurs à l'aide d'Oracle Blockchain Platform.
  • Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) gère les conteneurs de la plate-forme IPtoki, composée de Kafka, Kibana, du gestionnaire d'ID, des API et des opérations d'apprentissage automatique.
  • Les opérations d'apprentissage automatique utilisent des formes de machine virtuelle Oracle avec des GPU NVIDIA en tant que noeuds sur un cluster OKE.
  • Oracle NoSQL Database Cloud Service fournit des opérations de base de données.

Architecture

IPtoki a créé et déployé une plate-forme d'identité avancée sur Oracle Cloud Infrastructure (OCI) à l'aide du machine learning et d'Oracle Blockchain Platform.

La plate-forme IPtoki collecte des données biométriques comportementales multimodales à partir de capteurs sur les smartphones et les objets connectés portables à l'aide de l'application IPtoki I Am My ID. Ceux-ci sont capturés en tant que fichiers JSON et contiennent des informations biométriques comportementales (taille, geste, mouvement et dynamique de frappe) qui pilotent les algorithmes d'apprentissage automatique. Kafka est utilisé pour diffuser les objets JSON, qui sont stockés dans une instance de base de données Oracle NoSQL Database Cloud Service.

Les modèles de deep learning sont développés dans des conteneurs sur des instances de machine virtuelle basées sur GPU. Les utilisateurs ont leurs propres modèles comportementaux, qui sont développés à partir de la biométrie comportementale capturée à partir de capteurs intégrés dans les appareils intelligents de ces utilisateurs. Ces données biométriques sont ensuite converties en fichiers JSON et stockées dans une base de données NoSQL. Lorsqu'une identification biométrique (ID) est établie, l'ID est lié à un ID utilisateur provenant d'un fournisseur d'identités, tel que LDAP, Oracle Unified Directory, Oracle Identity Cloud Service, Microsoft Active Directory ou Social Media Authentication (Social Auth). ID Manager crée l'ID IPtoki et le stocke sur Oracle Blockchain Platform exécutant une machine virtuelle Ethereum (EVM) à l'aide d'un contrat intelligent Solidity personnalisé.

Le diagramme suivant illustre l'architecture :



iptoki-oci-architecture-oracle.zip

L'ID IPtoki est stocké dans le registre immuable d'Oracle Blockchain Platform en tant que signature unique pouvant ensuite être vérifiée pour une authentification continue. Une fois qu'un ID a été établi, la solution IPtoki peut vérifier l'identité d'un utilisateur en comparant les données biométriques en temps réel fournies par l'application d'authentification aux preuves stockées dans le contrat intelligent de la chaîne de blocs via un appel d'API REST.

Cette vérification transparente des identités peut être utilisée pour authentifier l'utilisateur et autoriser des actions spécifiques pour divers cas d'emploi, tels que les soins de santé, la chaîne d'approvisionnement, la gestion de flotte et de personnel. Par exemple, les interactions quotidiennes naturelles d'un utilisateur avec des appareils intelligents peuvent facilement déverrouiller l'accès à un service Web. Dans d'autres cas, un conducteur de camion approchant le camion ou un opérateur de machine approchant d'un équipement d'usine complexe peut être authentifié en fonction de leur démarche ou d'autres données biométriques pour ouvrir la porte du camion, accéder aux machines d'usine ou utiliser l'équipement spécifique s'ils sont autorisés.

La solution IPtoki peut prendre en charge plusieurs organisations mises en correspondance au sein du réseau de chaîne de blocs avec droits d'accès en fonction de chaque cas d'emploi. Les noeuds de chaîne de blocs peuvent être créés au sein du réseau Oracle Blockchain Platform à l'aide des consoles OCI, puis liés au réseau de chaîne de blocs partagé. Par exemple, une organisation logistique peut se composer d'un noeud fondateur IPtoki et d'un transporteur, d'un port et d'organisations expéditeur rejoignant en tant que participants. Des canaux de chaîne de blocs spécifiques entre les organisations isolent les livres et limitent l'accès à des informations spécifiques.

Le diagramme suivant illustre l'exemple de réseau Hyperledger Fabric créé avec les instances gérées de blockchain en tant que service d'OCI.



iptoki-blockchain-network-oracle.zip

L'architecture se compose des éléments suivants :

  • Location

    Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lorsque vous êtes inscrit à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et administrer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'entreprise ou d'organisation. Généralement, une entreprise dispose d'une location unique et reflète sa structure organisationnelle dans cette location. Une location unique est généralement associée à un seul abonnement et un seul abonnement ne comporte généralement qu'une seule location.

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient des centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (dans des pays voire des continents).

  • Domaine de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Ainsi, il est peu probable qu'un problème survenant dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • Table de routage

    Les tables de routage virtuel contiennent des règles pour acheminer le trafic des sous-réseaux vers des destinations en dehors d'un VCN, généralement via des passerelles.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui indiquent la source, la destination et le type de trafic qui doivent être autorisés vers et depuis le sous-réseau.

  • passerelle Internet

    La passerelle Internet autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.

  • Passerelle de service

    La passerelle de service fournit l'accès d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle se déplace sur la structure réseau Oracle et ne traverse jamais Internet.

  • Calcul

    Le service Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer des hôtes de calcul dans le cloud. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources en matière de CPU, de mémoire, de bande passante réseau et de stockage. Une fois qu'une instance de calcul a été créée, vous pouvez y accéder en toute sécurité, la redémarrer, attacher et détacher des volumes, et y mettre fin lorsque vous n'en avez plus besoin.

  • Stockage d'objets

    Object Storage fournit un accès rapide à de grandes quantités de données, structurées ou non, de n'importe quel type de contenu, y compris des sauvegardes de base de données, des données analytiques et du contenu enrichi tel que des images et des vidéos. Vous pouvez stocker les données, puis les extraire directement à partir d'Internet ou de la plate-forme cloud, et ce, en toute sécurité. Vous pouvez redimensionner le stockage de manière transparente sans dégradation des performances ni de la fiabilité des services. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archive pour le stockage "à froid" que vous conservez pendant longtemps et auquel vous accédez rarement.

  • Container Engine for Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetes est un service entièrement géré, évolutif et hautement disponible que vous pouvez utiliser pour déployer vos applications en conteneur vers le cloud. Indiquez les ressources de calcul dont vos applications ont besoin et Container Engine for Kubernetes les provisionne sur Oracle Cloud Infrastructure dans une location existante. Container Engine for Kubernetes utilise Kubernetes pour automatiser le déploiement, le redimensionnement et la gestion des applications en conteneur sur des clusters d'hôtes.

  • Chaîne de blocs

    Oracle Blockchain Platform est un service de chaîne de blocs géré permettant d'exécuter des contrats intelligents et de maintenir un registre distribué inviolable. Basé sur Hyperledger Fabric open source, il simplifie le développement d'applications sécurisées et vérifiables qui partagent des données immuables et fiables avec des tiers, tels que les fournisseurs et les institutions financières.

Apparaissez dans Création et déploiement

Vous souhaitez montrer ce que vous avez créé sur Oracle Cloud Infrastructure ? Vous souhaitez partager vos enseignements, vos meilleures pratiques et vos architectures de référence avec notre communauté mondiale d'architectes cloud ? Laissez-vous guider.

  1. Télécharger le modèle (PPTX)

    Illustrez votre propre architecture de référence en glissant-déposant les icônes dans l'exemple d'image filaire.

  2. Regarder le tutoriel sur l'architecture

    Obtenez des instructions détaillées sur la création d'une architecture de référence.

  3. Soumettre votre diagramme

    Envoyez-nous un courriel avec votre diagramme. Nos architectes cloud passeront en revue votre diagramme et vous contacteront pour discuter de votre architecture.

Remerciements

  • Authors: Sasha Banks-Louie, Robert Huie
  • Contributors: Brad Goodwin, Victor Stachura, Nitish Joshi, Mark Rakhmilevich, Robert Lies

    IPToki Team: Francois Noel, Steve Leduc, Masha Elahipanah, Wiem Badreddine