次の方法で共有


Device Provisioning Service で X.509 CA 証明書を確認する方法

検証済みの X.509 証明機関 (CA) 証明書は、プロビジョニング サービスにアップロードおよび登録された後、自動的に、またはサービスとの所有証明を通じて検証される CA 証明書です。

登録グループを使用する場合、検証済みの証明書は重要な役割を果たします。 証明書の所有権を確認すると、証明書のアップローダーが証明書の秘密キーを所有していることを確認することで、追加のセキュリティ層が提供されます。 検証により、悪意のあるアクターがトラフィックをスニッフィングして中間証明書を抽出し、その証明書を使用してその証明書を使用して独自のプロビジョニング サービスに登録グループを作成するのを防ぎ、効果的にデバイスをハイジャックします。 証明書チェーン内のルート証明書または中間証明書の所有権を証明することで、その登録グループの一部として登録しているデバイスのリーフ証明書を生成するアクセス許可があることを証明します。 このため、登録グループで構成されたルート証明書または中間証明書は、検証済み証明書であるか、サービスで認証されるときにデバイスが提示する証明書チェーン内の検証済み証明書にロールアップする必要があります。 X.509 証明書の構成証明の詳細については、 X.509 証明書の構成証明に関するページを参照してください。

[前提条件]

この記事の手順を開始する前に、次の前提条件を準備しておく必要があります。

  • Azure サブスクリプションで作成された DPS インスタンス。
  • .cerまたは .pem 証明書ファイル。

自己証明による中間 CA またはルート CA の自動検証

信頼できる中間 CA またはルート CA を使用していて、証明書の完全な所有権があることがわかっている場合は、証明書を検証したことを自己証明できます。

自動検証された証明書を追加するには、次の手順に従います。

  1. Azure portal でプロビジョニング サービスに移動し、左側のメニューから [証明書] を選択します。

  2. [ 追加] を選択して新しい証明書を追加します。

  3. 証明書のわかりやすい表示名を入力します。

  4. X.509 証明書のパブリック部分を表す.cerまたは .pem ファイルを参照します。 [アップロード] を選択します。

  5. [証明書の状態をアップロード時に確認済みに設定する] の横のチェック ボックスをオンにします。

    証明書のアップロードと状態を検証済みに設定する方法を示すスクリーンショット。

  6. 保存 を選択します。

  7. 証明書が [証明書] タブに表示され、状態が [確認済み] と表示されます

    アップロード後の検証済み証明書を示すスクリーンショット。

中間 CA またはルート CA の手動検証

新しい中間 CA 証明書またはルート CA 証明書を DPS にアップロードする場合は、自動検証をお勧めします。 ただし、IoT シナリオに適している場合は、所有証明を実行できます。

所有証明には、次の手順が含まれます。

  1. X.509 CA 証明書のプロビジョニング サービスによって生成された一意の検証コードを取得します。 この手順は、Azure portal から実行できます。
  2. 検証コードをサブジェクトとして使用して X.509 検証証明書を作成し、X.509 CA 証明書に関連付けられている秘密キーで証明書に署名します。
  3. 署名された検証証明書をサービスにアップロードします。 このサービスでは、検証する CA 証明書の公開部分を使用して検証証明書が検証されるため、CA 証明書の秘密キーが所有していることが証明されます。

X.509 証明書のパブリック部分を登録し、確認コードを取得する

CA 証明書をプロビジョニング サービスに登録し、所有証明中に使用できる確認コードを取得するには、次の手順に従います。

  1. Azure portal でプロビジョニング サービスに移動し、左側のメニューから [証明書 ] を開きます。

  2. [ 追加] を選択して新しい証明書を追加します。

  3. [証明書名] フィールドに、証明書のフレンドリ表示 を入力します。

  4. フォルダー アイコンを選択し、X.509 証明書のパブリック部分を表す.cerまたは .pem ファイルを参照します。 [Open] を選択します。

  5. 証明書が正常にアップロードされたことを示す通知が表示されたら、[保存] を選択 します

    自動検証なしで証明書をアップロードする方法を示すスクリーンショット。

    証明書が証明書 エクスプローラー の一覧に表示されます。 この証明書の状態は [未確認] です

  6. 前の手順で追加した証明書を選択して、詳細を開きます。

  7. 証明書の詳細で、空の [確認コード ] フィールドがあることに注意してください。 [ 確認コードの生成 ] ボタンを選択します。

    所有証明の確認コードの生成を示すスクリーンショット。

  8. プロビジョニング サービスは、証明書の所有権を検証するために使用できる 検証コード を作成します。 コードをクリップボードにコピーします。

検証コードにデジタル署名して検証証明書を作成する

次に、署名を生成する X.509 CA 証明書に関連付けられている秘密キーを使用して、DPS からの検証コードに署名する必要があります。 この手順は 所有証明 と呼ばれ、署名された検証証明書が作成されます。

Microsoft には、署名付き検証証明書の作成に役立つツールとサンプルが用意されています。

  • Azure IoT Hub C SDK には、開発用の CA 証明書とリーフ証明書を作成したり、検証コードを使用して所有証明を実行したりするための PowerShell (Windows) および Bash (Linux) スクリプトが用意されています。 システムに関連する ファイル を作業フォルダーにダウンロードし、「 サンプルとチュートリアルの CA 証明書の管理」の 手順に従って、CA 証明書に対して所有証明を実行できます。
  • Azure IoT Hub C# SDK には、所有証明を行うために使用できるグループ証明書検証サンプルが含まれています。

ドキュメントと SDK で提供されている PowerShell および Bash スクリプトは 、OpenSSL に依存しています。 また、OpenSSL やその他の Microsoft 以外のツールを使用して、所有証明を行うこともできます。 SDK で提供されるツールの使用例については、「 X.509 証明書チェーンの作成」を参照してください。

署名された検証証明書をアップロードする

結果の署名を検証証明書として Azure portal のプロビジョニング サービスにアップロードします。

  1. 検証コードをコピーした Azure portal の証明書の詳細で、検証 証明書 .pem または .cer ファイル フィールドの横にあるフォルダー アイコンを選択します。 システムから署名された検証証明書を参照し、[ 開く] を選択します。

  2. 証明書が正常にアップロードされたら、[ 確認] を選択します。 証明書一覧で、あなたの証明書の状態が [検証済] に変わります。 自動的に更新されない場合は、[ 最新 の情報に更新] を選択します。

次のステップ