
日常生活やビジネスで接続されるモノが増えるにつれて、専門家以外の人々の間でもハッキングの危険性に対する意識が高まり、それに伴い政府による法規制の取り組みも活発化しています。 このことは、先頃オーストラリア政府が「IoT セキュリティコード」の草案を発表したことからも明らかです。この草案は、「サイバーセキュリティ戦略2020」の一環として、モノのインターネット(IoT)のセキュリティに対する方針を提示したもので、その内容は、IoT Security Foundationが「IoT Security Best Practice Guides」で公開しているものと基本的に同じです。IoT製品やサービスの開発者にとって、こうした無料で入手できるガイドラインは、安全でセキュアかつ信頼性の高い完成度の高い最終製品を提供するために取り組むべき様々なセキュリティの課題に対処する上で役立ちます。
IoT Security Foundationによると、IoT製品およびサービスの開発者は、規格に忠実に準拠した信頼性の高い製品を提供するよう、常にプレッシャーにさらされています。
IoTセキュリティガイドラインの適用範囲と改訂点
このガイドラインの適用対象には、セキュアなデバイスブートからオペレーティングシステム、クレデンシャル管理、暗号化に加え、ソフトウェアおよびソフトウェア更新ポリシーに関するあらゆる側面が含まれます。最新の第2版では、これまでの11のガイドラインの見直しと更新が行われたほか、下記の3項目が追加されています。
-
セキュアブートプロセスの評価
-
署名付きのソフトウェアイメージおよび更新
-
サイドチャネル攻撃
セキュアブートプロセスのガイドライン
新しいセキュアブート評価ガイドは、以下のようなブートプロセスを設計するのに役立ちます。すなわち、セキュアなブートプロセスであること、セキュアな開発手法を使用して作成されたソフトウェアによって補完されていること、さらに、通常動作時も、デバッグ、開発、解析時も、悪意ある攻撃に対して耐性があることが確保されるということです。また、主要な要件として、ROMから直接実行される場合を除き、ブートプロセスの一部としてロードされるすべてのコードが、以下であることを検証することを推奨しています。
-
認可された適切な(または「正当な」)ソースによって作成されている
-
作成後に変更されていない
-
コードが実行されるデバイスのタイプに合わせて作成されている
セキュアブートの実行と検証プロセス
このようにして作成されたコードは、RAMにロードされた後に検証する必要があります。ブートシーケンスはROMから開始され、不変ルートキーを使って最初にロードするコードを検証します。複数の不変ルートキーを使用することで、異なるブートステージを検証したり、派生キーを生成可能で、後に起こり得る侵害に備えて予備のルートキーを準備することもできます。
コードモジュールは順次ロードされますが、ロードされる前の段階で検証とブートが完了している必要があります。デバイスにインストールされている既存データのうち、ブート設定の一部として使われるデータはいずれも、ブートプロセスで使用される前に、長さ、タイプ、範囲などがチェックされます。ブートプロセスの各ステージでは、ハードウェアの設定が、そのステージに対して設定されたパラメータと一致することをブートソフトウェアが可能な限りチェックします。
ブートプロセスでは、プロセスのどの段階でエラーが発生しても、デバイスは「強制的に停止」して、RAMに残されたコードのないセキュアな状態となります。停止する際、デバイスが「機能不全」に陥ったり、基本システムやコード、データに対して許可されていないアクセス(U-Bootプロンプト経由等)が生じないことを確保する必要があります。
デバイスの鍵や証明書については、メーカがそれらを生成するためにセキュアなプロセスを実装しており、鍵および証明書のプロビジョニング、保管、使用の安全性が確保されます。デバイスのEnd of Lifeを管理することで、鍵や証明書のセキュリティが確保されます。
このようなセキュアブートプロセスのガイドラインは、ガイド全体の中の一つの要素にすぎませんが、IoT向けのセキュアなコネクテッドデバイスを開発するためには不可欠な要素です。IARはSecurity from Inception Suiteにより、開発、製造、製品管理プロセスの期間中、ニーズに応じた適切なレベルのセキュリティを、セキュリティガイドラインに合わせて構築するための明確な手法を提供します。
統合的なセキュリティ開発ツール
組込みアプリケーションにセキュリティを実装しカスタマイズするための独自のツールとサービスを備えたSecurity from Inception Suiteには、セキュリティ開発環境であるEmbedded Trustのほか、IAR Embedded Workbenchを使用した完全統合型の開発ツール一式が含まれています。またセキュリティ開発ツールC-Trustや静的解析ツールC-STATも装備されています。