Ockam est une plateforme serverless qui vise à aider les développeurs IoT à ajouter facilement une identité, une confiance et une interopérabilité à base de blockchain à leurs périphériques IoT. Ockam a récemment ouvert les sources de son SDK en Golang.
En intégrant Ockam SDK dans leurs périphériques, les développeurs peuvent les intégrer au réseau blockchain d'Ockam, une plateforme décentralisée et ouverte permettant une gestion sécurisée des identités cryptographiques basée sur le récent standard du W3C appelé Decentralized Identifiers (DID).
Les identifiants décentralisés (DID) constituent un nouveau type d'identifiant d'identité numérique vérifiable et "souverainne". Les DID sont entièrement sous le contrôle du sujet DID, indépendamment de tout registre centralisé, fournisseur d'identité ou autorité de certification. Les DID sont des URL qui associent un sujet DID à des moyens permettant des interactions fiables avec ce sujet.
InfoQ a discuté avec le PDG et fondateur d'Ockam, Matthew Gregory, pour en savoir plus.
InfoQ : Pour décrire Ockam, vous avez utilisé le surnom "Heroku for IoT". Pourriez-vous expliquer la vision derrière Ockam ?
Matthew Gregory : Un des principaux avantages d’Ockam réside dans le fait que le SDK élimine une infrastructure complexe. Plutôt que de gérer manuellement une infrastructure cryptographique complexe, les développeurs basés sur Ockam incorporent des appels de fonction simples dans leur base de code pour tirer parti des avantages de l'infrastructure à clé publique sans avoir besoin d'une expertise particulière. Tout comme "git push master" de Heroku qui a dévoilé la magie du cloud, Ockam aide les développeurs à déverrouiller l'innovation dans l'IoT.
InfoQ : Quelles sont les fonctionnalités les plus importantes fournies par Ockam aux développeurs IoT ? Quels sont les problèmes qu'il tente de résoudre ?
Gregory : Dans un projet, chaque développeur doit arriver à choisir comment ajouter l'identité, la confiance et l'interopérabilité à ses appareils IoT. Hier, ils ne pouvaient choisir que de :
- Ne rien faire : cela est exceptionnellement courant et conduit à des botnets et à des vulnérabilités de sécurité massives dans les appareils.
- Construire leur propre infrastructure IoT de bout en bout : il s’agit d’une entreprise gigantesque qui coûte des millions de dollars et nécessite une expertise spécifique.
- Achetez une solution de fournisseur de platesformes IoT : les platesformes de bout en bout sont complexes à mettre en œuvre, entraînent des coûts de remplacement élevés et conduisent à un verrouillage fournisseur qui limite l'interopérabilité.
Aujourd'hui, avec le kit de développement logiciel Ockam SDK, les développeurs disposent désormais d'une meilleure option : écrire quelques lignes de code afin de donner à leur périphérique une identité sécurisée, immuable et interopérable avec le reste de leur pile technologique.
InfoQ : Ockam utilise la blockchain pour fournir des identités de périphérique immuables et sécurisées de manière cryptographique. Pourriez-vous élaborer davantage et expliquer comment vous utilisez concrètement la blockchain dans votre plateforme ? Comment Ockam assure-t-il la confidentialité de toutes les données utilisateur ?
Gregory : La blockchain n'est pas ce qu'Ockam est; la blockchain n'est plutôt qu'un des composants du fonctionnement d'Ockam. La principale caractéristique de la Blockchain est l'identité. Ockam utilise une identité sécurisée par cryptographie pour déterminer avec certitude quel périphérique IoT a envoyé quelles données. Dans le cadre du protocole de réseau Ockam, nous utilisons la norme DID pour les identités et chaque échange de données doit être signé avec la clé secrète du périphérique qui a envoyé ces données.
La confidentialité des données utilisateur peut être gérée avec de nombreuses pratiques de cryptage de données et d'autorisations d'accès largement utilisées.
Je vais plus loin sur mon de blog : "Les Neuf facteurs d’un réseau IoT bien formé".
InfoQ : Le récent SDK d’Ockam est écrit en Golang. Quelle était la raison pour cela ? Il y aura un support pour plus de langages ?
Gregory: La base de code sous-jacente d'Ockam est écrite en Golang. Il était donc naturel que le premier support en SDK se trouve également en Golang. Nous prendrons en charge toutes sortes de langues dans un avenir proche. C, C ++ et Python sont tous en haut de la liste.
Pour permettre une interopérabilité sécurisée, Ockam SDK prend en charge quelques opérations fondamentales :
.register
, utilisé pour envoyer une identité numérique au réseau Ockam..claim
, utilisé pour envoyer des données sécurisées d'un périphérique à un autre..verify
, utilisé pour obtenir des données sécurisées du réseau, où elles ont été soumises à une opération.register
ou.claim
.
Les commandes sont disponibles via une API Go ainsi que via un outil CLI qui permet une interaction avec Ockam Network. Vous pouvez le télécharger depuis son dépôt GitHub.