IoT設計向けの、2つのハードウェアセキュリティソリューションについてのお話
これまでセキュリティは、おもに時間的かつコスト的な要因により、組み込み型の設計では最重要視されることがありませんでした。また、「組み込み型のセキュリティ=複雑なもの」となりつつあることなども原因です。セキュリティが重要なものであり、それを効率的に実行するための方法が認識されていないことも関係していました。
結果的にセキュリティは、エンジニアがあちこちでソフトウェアパッチを発行する、後付け的な設計となってしまいました。しかし、組み込み型のIoT(モノのインターネット)ノードが密接につながることで、こうした状況に変化が生じつつあります。これらのノードでは、コネクテッドサーモスタット、冷蔵庫、CCTV(ケーブルテレビ)、HVAC(冷暖房空調設備)などのシステムにおける脆弱性への対策となる、安全性の高い設計が不可欠となります。
この技術的な岐路において、IoTは多様性に富む設計の世界であり、万能なセキュリティソリューションなど存在しないということに留意しておくべきです。セキュリティの脅威の中には、不正変更の試み、設計の複製、IPの盗用、製品の偽造などといった物理的な脆弱性も潜んでいます。また、サイバー攻撃の最前線では、マルウェアの投入、DDoS(Distributed Denial of Service)攻撃、サイドチャネル攻撃などが行われています。
しかし、セキュリティへの投資が増大しうるサーバやゲートウェイの設計とは異なり、コネクテッドサーモスタットなどで構成されるIoTノードではセキュリティ機構の単純化が求められるため、コストや電力使用量の制約に対応しながら物理面と通信面の両方における脆弱性に対処できます。
物理的かつ遠隔的な攻撃に対するコスト効率の良い保護を行うことができるよう、Microchip TechnologyのSAM L11マイクロコントローラでは低電力IoTノードのセキュリティを実行しやすくなっています。プロセッサのクロック数は32MHzであり、これを補強するのが、最大64Kバイトのフラッシュと16KバイトのSRAMによるメモリ構成です。オンボードのpicoPower技術により、アクティブモードとスリープモードの両方で低エネルギー消費を確実化できます。
SAM L11では、Trustonic、Secure Thingz、Segger Microcontroller Systemsなどのソフトウェア会社から提供されるサードパーティのサービスを利用してキープロビジョニングを実行することが可能です。これにより、モジュラーGUIのインターフェースを用いてMCUの詳細なセキュリティ機能をより下位のレベルまで抽象化できるため、物事が大いに単純化されます。
図1: Trustonicのキープロビジョニングサービスにより、SAM L11の詳細なセキュリティ機能をより下位のレベルまで抽象化できます。(画像提供:Trustonic Inc.)
お客様はただアプリケーションに関連したセキュリティ機能を選別すれば良いのです。しかし、SAM L11ではコード例や製品デモを用いてお客様独自のプロビジョニングソフトウェアを開発し、それを実装することもできます。
また、SAM L11ではチップレベルのセキュリティとArmのArmv8-M用TrustZoneを組み合わせ、安全なファームウェアをセーフティクリティカルでないソフトウェアコードから分離しています。たとえば、TrustZone環境ではサーモスタットの通信プロトコルスタックを悪意ある攻撃から保護し、ハッカーがスマートホームを制御できないようにします。
セキュア素子とハードウェアセキュリティモジュール(HSM)ソリューションの比較
IoT設計向けのより堅牢なセキュリティフレームワークをお探しの場合はどうでしょうか。脆弱なリンクをIoTアプリケーションのエコシステム全体で検出できるものをお探しですか。
組み込み型のシステムでは、ハードウェアベースのセキュリティが、データ交換を監視する独立型のセキュリティガードとしてのハードウェアセキュリティモジュール(HSM)を組み込んだチップとほぼ同義であることをここに言及しておくべきです。これはチップに内蔵された効率的な分離型サブシステムであり、高度なセキュリティアルゴリズムを実行して悪意ある攻撃から確実に守ることができます。
しかし、HSMベースのアプローチではメインCPUをセキュリティ関連タスクから解放できる一方、セキュリティキーを保管し配布するための高度なデータベースが不可欠となるため、準備にコストや手間がかかります。
確かに、量産を行う大企業にはHSMベースのセキュリティソリューションを実装できる金銭的余裕があるでしょう。しかし、MCUのデジタル資産を狙うハッカーやなりすましへの対策となる堅牢なセキュリティソリューションを同じように必要とする小規模IoT設計の場合はどうなるのでしょう。ここにこそセキュア素子の入り込む余地があるのです。
セキュア素子は、I2Cやシングルワイヤインターフェースを介してメインMCUやメインMPUと通信を行う高価なマイクロコントローラです。これはエンドツーエンドの認証を実行してコネクテッドデバイスを保護します。
たとえば、MicrochipのATECC608Aなどのようなセキュア素子は3つの基礎的なタスクを実行します(セキュリティキーの生成、暗号化アクセラレーションによる相互認証の実行、安全なメモリスペースへのキーの保管)。言い換えれば、これにより秘密鍵の安全な境界が生成され、秘密鍵を他のソフトウェアコンポーネントから隔離できるというわけです。それによって、ハッカーがIoTデバイス設計内の電源信号やクロック信号を把握し、この情報を用いたバックドアチャネルを生成し、サイドチャネル攻撃を開始するのを阻止します。
図2: IoTデバイスのキープロビジョニングを実行するMicrochipのATECC608Aセキュア素子についての概要。(画像提供:Microchip Technology)
セキュア素子はIoT設計を牽引しつつあります。IoTノードをクラウドへリンクできるATECC608Aは、Googleやアマゾンウェブサービス(AWS)のようなクラウドサービスプロバイダの支持を得ています。また、TrustZone技術はIoT設計フレームワーク内でのファームウェア保護を行い、ATECC608Aを補完しています。これらはかなり幅広い支持を得ています。
また、セキュア素子のチップはアップグレードされた乱数発生器(RNG)を搭載していますが、これはビット生成規格のSP800-90A/B/Cで定義されているNIST(アメリカ国立標準技術研究所)の新たな要件に準拠しています。
結論
IoT設計のコネクティビティを中心とした脆弱性により、セキュリティの問題が最前線に押し出されました。セキュリティ設計の実装されていないコネクテッドデバイスの数は、それが実装されているものよりも依然多いままですが、キープロビジョニングの単純化に注力した低コストのセキュリティチップが普及すれば、まもなくこの力関係が入れ替わるでしょう。
また、IoTデバイスをますます増え続ける攻撃のベクトルから連携的に保護するため、ハードウェアソリューションとソフトウェアソリューションが一体化しつつあることも明らかです。ハードウェアとソフトウェアの世界がこのように連携すれば、堅牢なセキュリティソリューションの実装に必要な学習の困難さも克服できるでしょう。

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum