Windows 10 IoT Core を使用した、より安全なデバイスの構築

はじめに

Windows 10 IoT Core は、リソースに制約のある小規模な IoT デバイス クラスで活用できる、エンタープライズ レベルの強力なセキュリティ機能を提供します。 これらのセキュリティ機能による利点が実際に発揮されるようにするには、ハードウェア プラットフォームもそれらを支える手段を提供する必要があります。 この記事では、適切なハードウェアを選択して、より安全な IoT デバイスを構築、構成し、顧客に出荷したいと考えている OEM デバイス ビルダーおよびセキュリティに対する意識の高いメーカーに概要的なガイダンスを提供します。 データ セキュリティ

より安全な IoT デバイスの構築

IoT Core を使用して、より安全な IoT デバイスを構築するプロセスには、プラットフォームのセキュリティ機能をサポートするハードウェアの選択と、セキュリティ対応 IoT デバイスの生産が含まれます。

デバイス構築プロセス

セキュリティ対応ハードウェアの選択

IoT Core には、顧客データを保護するためのセキュリティ機能が組み込まれたプラットフォームが用意されていますが、この機能を十分に活用できるかはハードウェアのセキュリティ機能に依存しています。 実際、メモリを操作できるため、ソフトウェアによってソフトウェア自体を保護することはできません。また、ソフトウェアのみで提供できるトラスト アンカーや不変デバイス ID はありません。 スマート カード、トラステッド プラットフォーム モジュール (TPM)、SoC に組み込まれたセキュリティ機能など、ハードウェアベースでセキュリティを提供する方法は複数あります。

サポートされているハードウェア プラットフォームの詳細については、「SoC とカスタム ボード」を参照してください。

トラステッド プラットフォーム モジュール

IoT Core では、トラステッド プラットフォーム モジュール 2.0 (TPM 2.0) をハードウェア セキュリティ プラットフォームとして使用します。 Microsoft では、BitLocker、セキュア ブート、Azure 資格情報ストレージなどの IoT Core セキュリティ機能を十分に活用するために、OEM が TPM 2.0 を備えたハードウェア プラットフォームを使用するようお勧めしています。 実稼働デバイスで TPM を実装するには、ディスクリート TPM (dTPM) またはファームウェア TPM (fTPM) という 2 つのオプションがあります。 ディスクリート TPM は、Infineon、NazionZ など複数のメーカーから提供されています。 一部の SoC メーカーでは、fTPM 実装をボード サポート パッケージ (BSP) の一部として提供しています。

TPM の詳細については、「TPM の概要」および「TPM をセットアップする方法」を参照してください。

ストレージ オプション

人気のある Raspberry Pi 3 のような開発ボードは柔軟性があり、開発者は取り外し可能な SD カードを使用して任意のプラットフォームを簡単に起動できます。 ほとんどの業界の IoT デバイスでは、この柔軟性は望ましくありません。デバイスが攻撃の標的になりやすいためです。 代わりに、ハードウェアを設計する際に、より小型で低コストの IoT デバイスに eMMC ストレージを使用することを検討してください。 組み込みストレージを使用すると、コンテンツをデバイスから分離するのが非常に困難になります。結果として、データの盗難やデバイスにマルウェアが侵入する危険が軽減されます。

製品イメージの作成

Windows IoT Core 製品イメージを作成する場合は、リモート アクセスとデバッグを許可する開発者ツールが運用システムにないことを確認します。これらのツールにより、デバイスが攻撃にさらされる可能性があるためです。 開発中に Windows デバイス ポータルFTP サーバーSSHPowerShell などの開発者ツールをイメージで使用している場合は、これらのツールを含まない製品版 IoT Core イメージでシナリオをテストし、検証してください。

ユーザー アカウント

ほとんどのユーザーは、PC やスマートフォンなどデバイスの所有権を取得する (デバイスを開封する時に、個人設定し、デバイスにアクセスするための資格情報を設定する) という概念をよく知っています。 コンシューマー PC やスマートフォンとは異なり、IoT デバイスは汎用コンピューティング デバイスとして機能することを意図していません。 むしろ、通常は単一アプリの、用途が固定されたデバイスです。 Windows では、デバイス管理者が開発サイクル中にデバイスにリモート接続できるという概念をサポートしていますが、特に脆弱なパスワードを使用している場合、産業用 IoT デバイスに対するこのようなサポートは脅威を引き起す可能性があります。 一般に、IoT Core デバイスでは既定のアカウントやパスワードを作成しないようお勧めします。

製品イメージのロックダウン

PC などの汎用コンピューティング デバイスでは、ユーザーはアプリケーションをインストールし、セキュリティ機能を含む設定を変更して、デバイスを各自のニーズに最適なものにすることができます。 IoT デバイスの大半は、デバイスの使用期間にわたって目的を変更しない機能が固定されたデバイスです。 ソフトウェア更新プログラムを受け取ったり、UI の改善やスマート サーモスタットによる温度調節など、運用上の境界内で機能更新を有効にしたりします。 この情報を使用して、既知の信頼できるコードの実行のみを許可することによって、IoT デバイスを完全にロックダウンすることができます。 Windows 10 IoT Core の Device Guard は、ロックダウンされたデバイスで不明または信頼できない実行可能コードを実行できないようにすることにより、IoT デバイスを保護するのに役立ちます。

Microsoft では、IoT Core デバイスでの主要なセキュリティ機能の有効化を容易にする Turnkey セキュリティ パッケージを提供しています。 これにより、デバイス ビルダーは完全にロックダウンされた IoT デバイスを作成できます。 このパッケージは次の場合に役立ちます。

  • セキュア ブート キーをプロビジョニングし、サポートされている IoT プラットフォームで機能を有効化する。
  • BitLocker を使用したデバイス暗号化の設定と構成。
  • 署名されたアプリケーションとドライバーの実行のみを許可するようにデバイス ロックダウンを開始する。

ステップ バイ ステップ ガイダンスについては、「セキュア ブート、BitLocker、Device Guard の有効化」セクションを参照してください。

デバイスの製造

ロックダウン イメージが検証された後は、製造に使用できます。 詳細については、「IoT Core 製造」を参照してください。