IoT ソリューションのセキュリティに関するベスト プラクティス

この概要では、一般的な Azure IoT ソリューションのセキュリティ保護に関する主な概念について説明します。 各セクションには、追加の詳細とガイダンスを提供するコンテンツへのリンクが含まれています。

一般的な IoT ソリューションのコンポーネントの概要を次の図に示します。 この記事では、IoT ソリューションのセキュリティについて説明します。

セキュリティを強調表示した、IoT ソリューション アーキテクチャの概要を示す図。

IoT ソリューションのセキュリティは、次の 3 つの領域に分割できます。

  • "デバイスのセキュリティ:" IoT デバイスが実際の環境に展開されている間、そのデバイスを保護します。

  • "接続のセキュリティ": IoT デバイスと IoT クラウド サービスの間で送信されるすべてのデータの機密性と改ざん防止を確保します。

  • "クラウド セキュリティ": データが移動し、クラウドに保存される間、データを保護します。

この記事のレコメンデーションを実装すると、共有責任モデルで説明されているセキュリティの義務を満たすのに役立ちます。

Microsoft Defender for IoT

Microsoft Defender for IoT では、この記事に含まれるレコメンデーションの一部を自動的に監視できます。 Microsoft Defender for IoT は、Azure でリソースを保護するための防御の最前線となる必要があります。 Microsoft Defender for IoT では、Azure リソースのセキュリティ状態を定期的に分析し、潜在的なセキュリティ脆弱性を特定します。 その後、それらに対処する方法の推奨事項を提供します。 詳細については、以下をご覧ください。

デバイス セキュリティ

  • ハードウェアのスコープを最小要件に絞る: 操作に必要な最小限の機能を含むデバイス ハードウェアを選択します。それ以上の機能は含めません。 たとえば、USB ポートは、ソリューション内のデバイスの操作に必要な場合にのみ含めます。 デバイスに機能を追加すると、不要な攻撃ベクトルにさらされる可能性があります。

  • 改ざん防止ハードウェアを選択する: デバイス カバーの開放、やデバイスの一部の取り外しなど、物理的な改ざんを検出するメカニズムが組み込まれたデバイス ハードウェアを選択します。 これらの改ざん信号は、クラウドにアップロードされるデータ ストリームに含めることができます。これにより、このようなイベントをオペレーターに警告できます。

  • セキュリティで保護されたハードウェアを選択する: 可能な場合は、トラステッド プラットフォーム モジュールに基づいた、セキュリティで保護された暗号化されたストレージや、ブート機能などのセキュリティ機能を含むデバイス ハードウェアを選択します。 これらの機能により、デバイスのセキュリティが強化され、IoT インフラストラクチャ全体の保護に役立ちます。

  • セキュリティで保護されたアップグレードを有効にする: デバイスのライフタイム中にファームウェアのアップグレードが発生することは避けられません。 アップグレードの間およびアップグレード後にデバイスをセキュリティで保護するために、アップグレード用のセキュリティで保護されたパスとファームウェア バージョンの暗号化保証を使用してデバイスを構築します。

  • セキュリティで保護されたソフトウェアの開発方法に従う: セキュリティで保護されたソフトウェアの開発には、プロジェクトの開始からその実装、テスト、およびデプロイに至るまで、セキュリティを初期段階から考慮する必要があります。 Microsoft セキュリティ開発ライフサイクルは、セキュリティで保護されたソフトウェアを構築するためのステップ バイ ステップ アプローチを提供します。

  • 可能な場合はデバイス SDK を使用する: デバイス SDK は、堅牢で安全なデバイス アプリケーションの開発に役立つ暗号化や認証などのさまざまなセキュリティ機能を実装します。 詳しくは、「Azure IoT SDK」をご覧ください。

  • オープンソース ソフトウェアを慎重に選択する: オープンソース ソフトウェアは、ソリューションを簡単に開発する機会を提供します。 オープン ソース ソフトウェアを選択する際には、オープン ソース コンポーネントごとにコミュニティのアクティビティ レベルを考慮します。 アクティブなコミュニティでは、確実にソフトウェアがサポートされ、問題が検出されて対処がなされます。 不明瞭な非アクティブなオープン ソース ソフトウェア プロジェクトはサポートされず、問題が検出されない可能性が高くなります。

  • ハードウェアを安全にデプロイする: IoT デプロイでは、公共施設や監視されていないロケールなど、セキュリティで保護されていない場所にハードウェアをデプロイしなければならない場合があります。 このような状況では、ハードウェアのデプロイが可能な限り改ざん防止であることを確認します。 たとえば、ハードウェアに USB ポートがある場合は、安全にカバーされていることを確認します。

  • 認証キーを安全に保管する: デプロイ中、各デバイスはデバイス ID、およびクラウド サービスによって生成される関連する認証キーを必要とします。 これらのキーは、デプロイ後にも物理的に安全に保管します。 悪意のあるデバイスは、侵害されたキーを使用して既存のデバイスを偽装できます。

  • システムを常に最新の状態に保つ: デバイスのオペレーティング システムとすべてのデバイス ドライバーが最新バージョンにアップグレードされることを確認します。 オペレーティング システムを最新の状態に保つことは、悪意のある攻撃からの保護を保証するのに役立ちます。

  • 悪意のあるアクティビティから保護する: オペレーティング システムで許可される場合は、各デバイスのオペレーティング システムに最新のウイルス対策とマルウェア対策機能をインストールします。

  • 頻繁に監査を行う: セキュリティ インシデントに対応するときには、セキュリティ関連の問題について IoT インフラストラクチャを監査することが重要です。 ほとんどのオペレーティング システムは、組み込みのイベント ログを提供します。これらを頻繁に監査して、セキュリティ違反が発生していないかどうかを確認する必要があります。 デバイスは、独立した製品利用統計情報ストリームとしてクラウド サービスに送信して分析可能な監査情報を送信できます。

  • デバイス製造元のセキュリティと展開のベスト プラクティスに従う: デバイスの製造元がセキュリティとデプロイのガイダンスを提供している場合は、この記事に記載されている一般的なガイダンスに加えて、そのガイダンスに従ってください。

  • フィールド ゲートウェイを使用して、レガシ デバイスまたは制約付きデバイスのセキュリティ サービスを提供する: レガシ デバイスと制約付きデバイスでは、データの暗号化、インターネットとの接続、高度な監査を提供する機能が不足している可能性があります。 このような場合は、セキュリティで保護された最新のフィールド ゲートウェイによってレガシ デバイスからデータを集計し、これらのデバイスをインターネット経由で接続するために必要なセキュリティを提供できます。 フィールド ゲートウェイは、セキュリティで保護された認証、暗号化されたセッションのネゴシエーション、クラウドからのコマンドの受信など、多数のセキュリティ機能を提供します。

接続のセキュリティ

  • X.509 証明書を使用して、IoT Hub または IoT Centralに対してデバイスを認証する: IoT Hub と IoT Central では、デバイスの認証方法として X509 証明書ベースの認証とセキュリティ トークンの両方がサポートされます。 可能であれば、運用環境では、セキュリティが強化される X509 ベースの認証を使用します。 詳細については、「デバイスを IoT Hub に認証」と「IoT Central のデバイス認証の概念」をご覧ください。

  • トランスポート層セキュリティ (TLS) 1.2 を使用してデバイスからの接続をセキュリティで保護する: IoT Hub と IoT Central では、TLS を使用して IoT デバイスとサービスからの接続をセキュリティで保護します。 現在、TLS プロトコルの 3 つのバージョン (1.0、1.1、1.2) がサポートされています。 TLS 1.0 と 1.1 はレガシと見なされます。 詳細については、「認証と権限承認」をご覧ください。

  • デバイスで TLS ルート証明書を更新する方法があることを確認する: TLS ルート証明書は有効期間が長いですが、有効期限が切れる、または取り消される可能性があります。 デバイスで証明書を更新する方法がない場合、デバイスは IoT Hub、IoT Central、またはその他のクラウド サービスに後日接続できない可能性があります。

  • Azure Private Linkの使用を検討する: Azure Private Link を使用すると、デバイスを VNet 上のプライベート エンドポイントに接続して、IoT ハブのパブリック デバイス向けエンドポイントへのアクセスをブロックできます。 詳細については、「Azure Private Link を使用した IoT Hub へのイングレス接続」と、プライベート エンドポイントを使用する IoT Central のネットワーク セキュリティに関するページをご覧ください。

クラウド セキュリティ

次のステップ

IoT セキュリティの詳細については、次をご覧ください。