さて新しい連載では、「wolfの仲間たち」と題して中核製品のwolfSSL/wolfCrypt、そしてそれをベースにIoTシステムのセキュリティを様々な角度からを支えるwolfSSLの製品群について紹介していきたいと思います。
中核となるのはwolfSSLです。組み込みシステムに安全なネットワーク通信を実現するC言語ライブラリです。小型軽量ながらTLSやDTLSの標準に完全準拠の機能を提供している一方で、特定目的の組込製品のために必要な機能、不要な機能を自由に追加削除できるなど構成の柔軟性も大きな特長です。最新のTLS1.3やDTLS1.2対応バージョンを商用組込向けとしては世界に先駆けて提供を開始しているのも、専門ベンダー製品としての特長です。
そのプロトコルの基盤を支えるのがwolfCrypt暗号エンジン。日々進歩する新しい暗号アルゴリズムをいち早く取り入れつつも、FIPS認証取得など高い信頼性も実証しています。各社のハードウェア暗号エンジンにも対応。大規模なデータの暗号処理も安心です。
もちろん、このSSL/TLS基盤を利用して自社のアプリケーションのためのプロトコルのセキュリティを実現することができるわけですが、この上にIoTのセキュリティで特に重要な役割をはたすアプリケーション層のプロトコル製品をwolfSSL製品としても特別に提供しています。
wolfMQTTが提供するMQTTは小型軽量のパブリッシュ・サブスクライブモデルの通信プロトコルです。小規模のトランザクションを軽量に実現したり、ファームウェア更新のような多数のデバイスに対する不定期なトランザクションの処理をシンプルに実現したりするのを得意としています。
wolfSSHはSSHプロトコルで組込みデバイスに安全なコンソール機能を実現。SSHのサーバ機能、クライアント機能と共にscpやsftpのようなファイル転送機能も提供します。
一方、IoTデバイスの世界ではハードウェアレベルのセキュリティが要求されることも多くなってきています。従来から標準化が進んでいるTPM2.0をサポートするwolfTPMをはじめ、各種のオフチップ型のセキュア・エレメント。また、TrustZone、SGXのようにMPU上に安全な領域やモードを実現する方式など、各種のハードウェア層のセキュリティ機能をベースに統一されたインタフェースでSSL/TLSと統合するwolfSSL セキュアエンクレーブという形で提供しています。
また、実用的なIoTシステムを考えるとき、システムの長いライフサイクルを通じた安全なファームウェア更新は大きな課題です。これまでこの領域はそれぞれの製品ハードウェアへの依存性が強く、個別対応とならざるをえない領域とされてきました。wolfSSLでは、ハードウェア依存性を極限まで局所化して、安全なファームウェア更新を実現するための共通の基盤となる技術コンポーネント、wolfBootを開発しました。これからのIoTシステムのキーコンポーネントの一つとなっていくはずです。
今回の連載では、こうした技術コンポーネントの一つ一つについて次回からもう一歩掘り下げてその役割と効果を紹介して行く予定です。