連載:wolfの仲間たち 第三回:安全なリモートコンソールwolfSSH

連載第三回は、wolfの仲間たちのなかでもやや地味目なwolfSSHを紹介しましょう。wolfSSHはその名の通りSSHプロトコルで組込デバイスとコマンドコンソールの間の安全な通信機能を提供します。これまでtelnetのように保護されない通信で実現していたリモートコンソール機能をそのままに、開かれたネットワークであっても安全な通信が確保される環境に移行するというような用途に最適な製品です。

wolfSSHはサーバーまたはクライアント、どちら側としても機能しますが、まずは代表的なサーバー側としての利用場面で説明しましょう。wolfSSHはサーバーとして組込デバイスの上で動作します。コンソールの役割を果たすクライアント側はパソコン上のTera Term、PuTTYと言ったような既存のターミナルエミュレータを利用することができます。この場合wolfSSHは、ターミナル側からのサーバー認証や鍵やパスワードによるユーザー認証、そして確立したSSH接続を使った安全なストリーム通信をアプリケーションに提供します。デバイス側のアプリケーションは、ターミナルからのコマンドなど、ストリームの内容によってデバイスの状態表示や、指示された設定をするなどの役割を担います。


【wolfSSHの構成例】

wolfSSHのクライアント機能は、今の例と逆のパターンで使用することができます。例えば、SSHサーバーの組み込まれた制御装置などを小さな組込デバイスから監視、制御したい場合などにデバイス側にクライアントとしてのwolfSSHを組み込んで使用します。

SSHのプロトコルはインターネットの標準化団体IETFのRFCに準拠したプロトコルを実現しています。このプロトコルはSSL、TLSとは若干違っているので、製品の組み合わせとしては、wolfSSLではなくwolfCryptを組み合わせて使用することになります。おなじSSH系のプロトコルを使用するものとしてファイル転送のSFTPやSCPがありますが、wolfSSH製品の中にはこれらのファイル転送機能も含まれていて必要に応じて利用することができるようになっています。

wolfSSHの製品詳細はこちらでご紹介しています。

連載:wolfの仲間たち
第一回:全員集合
第二回:安全なファームウェア更新を支えるwolfBoot

 

wolfSSHについてさらに詳しい情報は、弊社問い合わせ窓口 info@wolfssl.jp までご連絡ください。

 

 

連載:wolfの仲間たち 第二回:安全なファームウェア更新を支えるwolfBoot

連載第二回は、wolfの新しいメンバー wolfBootを紹介します。
wolfBootはその名の通りブートローダーの仲間ですが、wolfの暗号技術、セキュリティ技術を使って安全なファームウェアの更新、起動を実現したセキュアなブートローダーです。

従来この領域は、組込まれるハードウェアやシステム構成、要求されるセキュリティレベルなどさまざまな条件に依存してしまうため、なかなか汎用のコンポーネントとして提供することは難しいとされてきました。その一方で、現実に利用されるIoTデバイスや組込システムでは、長期化する製品ライフサイクルの中で、進化させていかなければならないファームウェアをいかに安全に速やかに更新するかが重要な課題になってきています。

そんな中で、wolfBootは

1) 更新内容の一貫性や署名の検証
2) どんなタイミングで障害が発生しても必ず安全で完全なロールバック

など、安全なファームウェア更新のために必要となる機能のみにフォーカスした組込み製品です。他のwolfの製品同様、組込向けを強く意識して小型、軽量であると同時にハードウェア依存部分を最大限に局所化しています。一方で、一貫性や署名の検証のための暗号アルゴリズムエンジンにはwolfCryptが使用されているので、楕円曲線暗号(ECC)はもちろんEd25519による署名検証など、最新の暗号アルゴリズムを使用した妥協のない安全で高速な検証を実現することができます。

さらに、耐タンパー性などハードウェアレベルのセキュリティに対応するためのwolfTPMとの連携、遠隔からの安全な更新のためのwolfMQTTwolfSSLなどの安全な通信チャネルとの連携など、トータルなファームウェアライフサイクル管理ソリューション構築のためのコンポーネントとして重要な役割を担っています。

・wolfBootの製品詳細はこちらでご紹介しています。
・wolfBootマニュアルはこちらにあります。
・連載:wolfの仲間たち第一回:全員集合

さらに詳しい情報は弊社問い合わせ窓口 info@wolfssl.jp までご連絡ください。

連載:wolfの仲間たち 第一回:全員集合

さて新しい連載では、「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システムのキーコンポーネントの一つとなっていくはずです。

今回の連載では、こうした技術コンポーネントの一つ一つについて次回からもう一歩掘り下げてその役割と効果を紹介して行く予定です。