次の方法で共有


分散識別子に対するドメインの所有権を確認する

この記事では、分散識別子 (DID) に使用しているドメイン名の所有権を確認するために必要な手順を確認します。

前提 条件

DID へのドメイン所有権を確認するには、次の手順を実行する必要があります。

ドメインの所有権を確認し、did-configuration.json ファイルを配布する

DID への所有権を確認するドメインは、の概要セクションで定義されています。 ドメインは、管理下のドメインである必要があり、https://www.example.com/形式である必要があります。

  1. Microsoft Entra 管理センターで、[検証済み ID] ページを選択します。

  2. [概要] を選択し、このセクションで [ドメインの所有権を確認 ] を選択します。

  3. ドメインの確認として を選択し、 を実行してください。

  4. did-configuration.json ファイルをコピーまたはダウンロードします。

    既知の構成のダウンロードを示すスクリーンショット。

  5. 指定した場所で did-configuration.json ファイルをホストします。 たとえば、ドメイン https://www.example.comを指定した場合、ファイルは https://www.example.com/.well-known/did-configuration.jsonでホストされている必要があります。 URL には、.well-known path 名以外のパスを指定することはできません。

  6. .well-known/did-configuration.json URL で did-configuration.json が一般公開されている場合は、[確認状態の更新]を選択して確認します。

    確認済みの既知の構成を示すスクリーンショット。

  7. Microsoft Authenticator の発行または提示をテストして検証します。 Authenticator の安全でないアプリ に関する 警告の設定がオンになっていることを確認します。 この設定は既定でオンになっています。

検証が機能していることを確認するにはどうすればよいですか?

ポータルは、did-configuration.json がインターネット経由で到達可能であり、[確認状態の更新]を選択すると有効であることを確認します。 Authenticator は HTTP リダイレクトを受け入れない。 また、HTTPS を使用しない、TLS/SSL 証明書が正しくない、URL がパブリックでないなどのエラーを回避するために、ブラウザーでその URL を要求できることを確認することも検討する必要があります。 did-configuration.json ファイルをブラウザーまたは curlなどのツールを使用して警告やエラーなしで匿名で要求できない場合、ポータルは 確認状態の更新 手順も完了できません。

手記

検証状態の更新で問題が発生している場合は、Ubuntu OS を使用してコンピューターで curl -Iv https://yourdomain.com/.well-known/did-configuration.json を実行してトラブルシューティングを行うことができます。 Ubuntu を使用した Linux 用 Windows サブシステムも機能します。 curl が失敗した場合、検証状態の更新は機能しません。

DID のドメイン所有権を確認する必要がある理由

DID は、既存のシステムに固定されていない識別子として開始されます。 DID は、ユーザーまたは組織がそれを所有して制御できるため便利です。 組織とやり取りするエンティティが DID が属する "誰" を知らない場合、DID はそれほど役に立ちません。

DID をドメインにリンクすると、任意のエンティティが DID とドメインの間の関係を暗号で検証できるようにすることで、最初の信頼の問題が解決されます。

検証済み ID は、既知の DID 構成 仕様に従ってリンクを作成します。 検証可能な資格情報サービスは、DID とドメインをリンクします。 このサービスには、DID で指定したドメイン情報が含まれており、既知の構成ファイルが生成されます。

  1. 検証済み ID では、DID ドキュメント内にサービス エンドポイントを記述するために、組織のセットアップ時に指定したドメイン情報が使用されます。 DID とやり取りするすべての関係者は、DID が関連付けられているドメインを確認できます。

    "service": [
      {
        "id": "#linkeddomains",
        "type": "LinkedDomains",
        "serviceEndpoint": {
          "origins": [
            "https://verifiedid.contoso.com/"
          ]
        }
      }
    ]
    
  2. 検証済み ID の検証可能な資格情報サービスは、ドメインでホストする必要がある、準拠している既知の構成リソースを生成します。 構成ファイルには、ドメインの原点がある DID で署名された資格情報の種類 credentialType DomainLinkageCredential の自己発行された検証可能な資格情報が含まれています。 ルート ドメイン URL に格納されている構成ファイルの例を次に示します。

    {
      "@context": "https://identity.foundation/.well-known/contexts/did-configuration-v0.0.jsonld",
      "linked_dids": [
        "jwt..."
      ]
    }
    

ウォレットのユーザー エクスペリエンス

ユーザーが発行フローを通過したり、検証可能な資格情報を提示したりする場合は、組織とその DID に関する情報を知っている必要があります。 Authenticator は、DID ドキュメント内のドメインとの DID の関係を検証し、結果に応じて 2 つの異なるエクスペリエンスをユーザーに提供します。

検証済みドメイン

Authenticator に 検証済み アイコンが表示される前に、いくつかの点が true である必要があります。

  • 自己発行のオープン ID (SIOP) 要求に署名する DID には、リンクされたドメインのサービス エンドポイントが必要です。
  • ルート ドメインはリダイレクトを使用せず、HTTPS を使用します。
  • DID ドキュメントに記載されているドメインには、解決可能な既知のリソースがあります。
  • 既知のリソースの検証可能な資格情報は、Authenticator がフローを開始するために使用した SIOP の署名に使用されたものと同じ DID で署名されます。

上記のすべてのポイントが true の場合は、Authenticator によって検証済みのページが表示され、検証されたドメインが含まれます。

新しいアクセス許可要求を示すスクリーンショット。

未確認ドメイン

上記のいずれかのポイントが true でない場合、Authenticator はドメインが未確認であることを示す全ページの警告を表示します。 ユーザーは、潜在的な危険なトランザクションの最中であることを警告され、慎重に進める必要があります。 次の理由から、このルートを選択した可能性があります。

  • DID はドメインに固定されていません。
  • 構成が正しく設定されませんでした。
  • ユーザーが対話している DID は悪意があり、実際にはリンクされたドメインを所有していることを証明できません。

ユーザーが認識できるドメインに DID をリンクすることが非常に重要です。

[資格情報の追加] 画面の未確認ドメインの警告を示すスクリーンショット。

DID のリンク ドメインを更新するにはどうすればよいですか?

Web 信頼システムでは、リンクされたドメインの更新はサポートされていません。 オプトアウトして再度オンボードする必要があります。

リンクされたドメインは開発者にとって簡単になりました

手記

DID 登録を成功させるには、DID ドキュメントを公開する必要があります。

開発者がリンクされたドメインに使用するドメインを取得する最も簡単な方法は、Azure Storage の静的 Web サイト機能を使用することです。 ドメイン名は、ホスト名の一部としてストレージ アカウント名が含まれている点を除いて制御できません。

リンクされたドメインに使用するドメインをすばやく設定するには:

  1. ストレージ アカウントを作成します。 作成時に、StorageV2 (汎用 v2 アカウント) 選択し、ローカル冗長ストレージ (LRS) を します。
  2. ストレージ アカウントに移動し、左端のメニュー 静的 Web サイト を選択し、静的 Web サイト有効にします。 静的 Web サイト メニュー項目が表示されない場合は、V2 ストレージ アカウントを作成しませんでした。
  3. 保存後に表示されるプライマリ エンドポイント名をコピーします。 この値はドメイン名です。 それは https://<your-storageaccountname>.z6.web.core.windows.net/のようなものに見えます.

did-configuration.json ファイルをアップロードするとき:

  1. ストレージ アカウントに移動し、左端のメニュー [コンテナー] を選択します。 次に、$webという名前のコンテナーを選択します。
  2. アップロード を選択し、フォルダー アイコンを選択してファイルを見つけます。
  3. アップロードする前に、[詳細] セクションを開き、[フォルダーへのアップロード] テキスト ボックスに .well-known 指定します。
  4. ファイルをアップロードします。

これで、https://<your-storageaccountname>.z6.web.core.windows.net/.well-known/did-configuration.jsonのような URL でファイルが一般公開されました。

次の手順