UNiDで解決しようとしている課題とは?

by masa256k1 in October 9th, 2021

安全なIoTサービスを開発するためには、開発段階から、デバイス、ネットワーク、クラウドのセキュリティを考慮する必要があります。これらの一つ一つの作業が専門分野となっており、IoTの開発者には高い専門性が求められます。例えば、開発段階ではハードウェアやチップの選定、製造段階ではデバイスの鍵や証明書をどのように埋め込むのかということだったり、運用段階ではファームウェアをどのように更新するか、破棄をする場面において、証明書を無効にする方法を検討する必要があります。

それぞれの開発は各ベンダーにアウトソースされるケースが多いのですが、アウトソース先を管理する立場にあるプロジェクトチームにとっては、プロジェクトマネジメントは大きな負担とコストとなっています。また、個々の鍵や証明書を埋め込むなど、手作業によるセキュリティ対策では脆弱性の管理が困難だったりします。

UNiDは、上記のような手動で行われるセキュリティ・プロビジョニングとは異なり、分散型アイデンティティとハードウェアRoot of Trustを活用することで、IoTデバイスが自律的に識別子、鍵、証明書を管理し、他のデバイスやクラウドと、デジタル上の信頼(digital trust)を構築することが可能です。NodeJSで書かれたDIDのリファレンスコードはこちらからご覧いただけます。

現在、私たちは、セキュリティプロビジョニングを自動化するために、ルネサス エレクトロニクス製RA6M3(Cortex-M4)に対応したRustで書かれたオープンソースのライブラリの開発を進めているところです。

Rustを静的なライブラリ(.a)としてコンパイルし、C言語から参照する方法が、"シンプルさ "と "依存関係の少なさ "の2つの観点から、より良い選択になると考えています。

このRustライブラリをデバイスに組み込んでいただくことによって、簡単にE2Eセキュアチャネルを構築し、ネットワークトポロジーやルーティングホップに関係なく、安全かつプライベートにメッセージを送信することができるようになります。

現在、ほとんどのWebサービスがTLS通信を採用しているように、ほとんどのIoTデバイスはRoot of Trustと暗号化通信をベースに構成されるよう、そのあり方が変わっていくという流れになると、私たちは考えています。そして、新しいセキュリティスタックはオープンに開発され、すべての開発者が広く利用できるようにすべきだとも考えています。

GitHub にあるUNiDコミュニティに参加しませんか?もし良ければ、 Star🌟 を押していただけるとうれしいです。

*本ブログ記事は、2021年9月26日付け「What we want to solve with UNiD」の日本語訳です。

Your cart
    Checkout