IoTのセキュリティ:Azure IoT展開のセキュリティ保護

「Security in IoT」シリーズの最新記事に注目し、Microsoftの会議 「Business.IoT:モノのインターネットを発見する」に参加してください。 この記事では、Azure IoTベースのIoTインフラストラクチャのセキュリティ機能について詳しく説明し、個々のコンポーネントの構成および展開中の実装レベルについて説明します。 さまざまな手法の比較分析も提示されます。



一連の記事「IoTのセキュリティ」


1. ゼロから始める人向けのAzure IoT Suite
2. 包括的な保護戦略
3. セキュリティシステムアーキテクチャ
4. Azure IoT展開のセキュリティ保護

はじめに


Azure IoT展開のセキュリティ保護は、次の3つのセキュリティ領域の観点から評価する必要があります。




安全なデバイスのプロビジョニングと認証


Azure IoT Suiteは、2つの方法を使用してIoTデバイスを保護します。

  1. 各デバイスに一意の識別キー(セキュリティトークン)を割り当てます。これは、IoT Hubとデータを交換するときにも使用できます。
  2. IoT Hubサービスでのデバイス認証のために、デバイスにX.509証明書と秘密キーをインストールします。 この認証方法により、このデバイスの外部にあるデバイス上の秘密鍵を誰も見ることができなくなります。 これにより、より高いレベルのセキュリティが提供されます。

セキュリティトークンは、デバイスがIoT Hubサービスに対して行うすべての呼び出しを認証します。 このために、個々のコールごとに対称キーの関係を設定します。 X.509証明書ベースの認証により、TLS接続中に物理層でIoTデバイスを認証できます。 セキュリティトークンメソッドは、X.509証明書ベースの認証なしでも使用できますが、このシナリオは同じ高レベルのセキュリティを保証しません。 示されている2つの方法のどちらを選択するかは、主に、デバイス認証中の必要なセキュリティレベル、およびデバイス上の安全なストレージ(秘密キーが格納される)の可用性に依存します。

IoT Hubサービスセキュリティトークン


IoT Hubは、セキュリティトークンを使用してデバイスとサービスを認証します。これにより、ネットワークを介したキーの送信が回避されます。 さらに、セキュリティトークンは時間と範囲が制限されています。 Azure IoT Hub SDKはトークンを自動的に作成するため、特別な構成は必要ありません。 ただし、AMQP、MQTT、またはHTTPプロトコルを直接使用する場合、またはトークンサービステンプレートを展開する場合など、セキュリティトークンを作成して使用する必要がある場合があります。

セキュリティトークンの構造とその使用方法の詳細については、「 セキュリティトークンの構造 」および「 SASトークンをデバイスとして使用する 」の記事を参照してください。

IoT Hubサービスの各インスタンスには、サービス内の個々のデバイスリソース(たとえば、クラウドとデバイス間で現在送信されている現在のメッセージを含むキュー)を作成し、エンドポイントへのアクセス許可を構成するために使用できるデバイスIDレジストリが含まれています。デバイスとの対話。 IoT Hub IDレジストリは、デバイスIDとソリューションセキュリティキーの安全なストレージを提供します。 個々のデバイスIDまたはIDグループをホワイトリストまたはブラックリストに追加することにより、デバイスへのアクセスを完全に制御できます。

IoT Hub 、AMQP、MQTT、HTTPSなどのプロトコルをサポートしています。 これらの各プロトコルは、IoTデバイスから受信し、さまざまな方法でIoT Hubサービスに送信されるセキュリティトークンを使用します。


IoT HubデバイスIDレジストリを使用して、デバイスのセキュリティ資格情報とアクセス制御を構成できます。 ただし、大量のIoTソリューションリソースがユーザーデバイスIDレジストリおよび/または認証スキームに既に割り当てられている場合 、トークンサービスを作成することにより、IoT Hubサービスが使用される既存のインフラストラクチャにソリューションを統合できます。

X.509証明書ベースのデバイス認証


デバイスとそれに関連付けられた秘密キーと公開キーのペアに基づいたX.509証明書を使用すると、物理レベルでの追加認証が可能になります。 秘密鍵は、デバイスの安全なストレージに保存されます。 デバイス外での検出は不可能です。 X.509証明書には、デバイスに関する情報(デバイス識別子およびその他の組織データ)が含まれています。 秘密鍵を使用して、証明書の署名が作成されます。

高レベルのデバイスを準備するプロセス:


デバイスルート証明書


IoT HubサービスとのセキュアなTLS接続を確立するプロセス中に、IoTデバイスは、デバイスのSDKに含まれているルート証明書を使用してサービスを認証します。 クライアントC SDKの証明書は、リポジトリのルートにある\ c \ certsフォルダーにあります。 これらのルート証明書は長期間発行されますが、有効期限が切れたり失効したりする可能性があります。 デバイスで証明書を更新できない場合は、IoT Hub(または他のクラウドサービス)へのデバイスの後続の接続も利用できない場合があります。 これらのリスクは、IoTデバイスの展開後に効果的なルート証明書更新ツールによって軽減できます。

接続保護


IoTデバイスとIoT Hubサービス間のインターネット接続は、TLS標準によって保護されています。 Azure IoTは、 TLS 1.2 、TLS 1.1、およびTLS 1.0をサポートしています 。 TLS 1.0は、下位互換性のためにのみサポートされています。 このバージョンのプロトコルは最高レベルのセキュリティを提供するため、TLS 1.2が推奨されます。

Azure IoT Suiteは、次の暗号スイートをサポートしています。
暗号スイート
長さ
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(0xc028)ECDH secp384r1(eq。7680ビットRSA)FS256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256(0xc027)ECDH secp256r1(eq。3072ビットRSA)FS128
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(0xc014)ECDH secp384r1(eq。7680ビットRSA)FS256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(0xc013)ECDH secp256r1(eq。3072ビットRSA)FS128
TLS_RSA_WITH_AES_256_GCM_SHA384(0x9d)256
TLS_RSA_WITH_AES_128_GCM_SHA256(0x9c)128
TLS_RSA_WITH_AES_256_CBC_SHA256(0x3d)256
TLS_RSA_WITH_AES_128_CBC_SHA256(0x3c)128
TLS_RSA_WITH_AES_256_CBC_SHA(0x35)256
TLS_RSA_WITH_AES_128_CBC_SHA(0x2f)128
TLS_RSA_WITH_3DES_EDE_CBC_SHA(0xa)112

クラウドセキュリティ


Azure IoT Hubでは、個々のセキュリティキーごとにアクセス制御ポリシーを定義できます。 このポリシーでは、各IoT Hubエンドポイントへのアクセスを構成できる次のアクセス許可セットを使用します。 許可は、必要な機能に応じてIoT Hubサービスへのアクセスを制限します。


セキュリティトークンを使用してIoT HubのDeviceConnect権限を取得するには、デバイスのIDキーまたは共有アクセスポリシーキーを使用する2つの方法があります。 さらに、デバイスで使用可能なすべての機能は、デフォルトで、プレフィックス/ devices / {deviceId}を持つエンドポイントで提供されることに注意することが重要です。

サービスコンポーネントは、適切なアクセス許可を提供する共有アクセスポリシーを使用してのみセキュリティトークンを作成できます

ソリューション内のAzure IoT Hubおよびその他のサービスのユーザーは、Azure Active Directoryを使用して管理されます。

IoT Hubサービスが受信したデータは、さまざまなサービス(Azure Stream Analytics、blobストレージなど)で使用できます。 これらのサービスは管理アクセスを提供します。


おわりに


この記事では、Azure IoTサービスを使用したIoTインフラストラクチャの設計および展開中の実装レベルの概要を説明します。 特定の各コンポーネントのセキュリティを構成することは、IoTインフラストラクチャ全体のセキュリティにとって重要です。 Azure IoTで使用できる設計ツールは、柔軟性と選択肢を提供します。 ただし、選択したオプションには、独自のセキュリティ要件がある場合があります。 リスクとコストの評価手順を使用して、利用可能な各オプションを評価することをお勧めします。 ここでは、Microsoft Azureを無料試用できることをお知らせします。

Business.IoT:モノのインターネットを発見する


2017年3月30日には、Microsoft Online Conference Business.IoT:Discovering the Internet of Things開催されます 。 このプログラムには、モノのインターネット、機械学習、予測分析の分野の主要な専門家からのベストプラクティスと推奨事項が記載された2つの並行するトラック(ビジネスとテクノロジー)があります。

スピーカーには、ミハイル・チェルノモルディコフ(Microsoft)、セルゲイ・オシポフ(MAYKOR-GMCS)、ドミトリー・ベルゲルソン(GuaranaCam)、アンナ・クラシコワ(Microsoft)、ドミトリー・マルチェンコ(Microsoft)、アンドレイ・メルゾフ(KORUS Consulting)、ヴァシリー・イェシポフ( KPMG)。

参加するには、 ここで登録する必要があります

IoTコミュニティ


技術専門家向けのIoTコミュニティのリストも共有したいと思います。
イベント: Meetup.com ここでは、ロシアのIoTコミュニティが開催した会議を見つけることができます。
ソーシャルネットワーク: VKFacebookTelegramのチャンネル、Telegramの チャット

Source: https://habr.com/ru/post/J322600/


All Articles