分享方式:


驗證網域對您的分散式識別碼擁有所有權

在本文中,我們將檢閱驗證所使用的網域名稱對您的分散式識別碼 (DID) 擁有所有權所需的步驟。

必要條件

若要驗證網域對 DID 擁有所有權,您需要:

驗證網域所有權並散發 did-configuration.json 檔案

驗證網域對您的 DID 擁有所有權的相關資訊載明於概觀區段。 此網域必須是您所控制下的網域,且其格式應為 https://www.example.com/

  1. 從 Azure 入口網站中,前往 [已驗證的識別碼] 頁面。

  2. 選取 [設定] > [驗證網域所有權],然後為該網域選取 [驗證]

  3. 複製或下載 did-configuration.json 檔案。

    此螢幕擷取畫面顯示下載已知組態。

  4. did-configuration.json 檔案裝載在指定的位置。 例如,如果您指定網域 https://www.example.com,則檔案必須裝載在 https://www.example.com/.well-known/did-configuration.json。 除了名稱 .well-known path 之外,URL 中沒有其他路徑。

  5. .well-known/did-configuration.json URL 公開提供 did-configuration.json 時,請選取 [重新整理驗證狀態] 加以驗證。

    此螢幕擷取畫面顯示已驗證已知組態。

  6. 測試透過 Microsoft Authenticator 發行或呈現來進行驗證。 請務必開啟 Authenticator 中的 [警告關於不安全的應用程式] 設定。 設定預設為 [開啟]。

如何確認驗證程序在運作?

選取 [重新整理驗證狀態] 時,入口網站會確認 did-configuration.json 可透過網際網路連線並有效。 Authenticator 不接受 HTTP 重新導向。 您也應該考慮確認能夠在瀏覽器中要求該 URL,以避免使用 HTTPS、不正確的 SSL 憑證,或是非公開 URL 等錯誤。 如果 did-configuration.json 檔案無法在瀏覽器中或透過 curl 之類的工具匿名要求,且不會出現警告或錯誤,則入口網站會無法完成 [重新整理驗證狀態] 步驟。

注意

如果在重新整理驗證狀態時遇到問題,您可透過在具有 Ubuntu OS 的電腦上執行 curl -Iv https://yourdomain.com/.well-known/did-configuration.json 進行疑難排解。 Windows 子系統 Linux 版與 Ubuntu 搭配也能運作。 如果 curl 失敗,重新整理驗證狀態將無法運作。

為什麼需要驗證我們的 DID 的網域所有權?

DID 已開始在現有系統做為未錨定的識別碼。 DID 很有用,因為使用者或組織可以擁有它並加以控制。 如果與組織互動的實體不知道 DID 的「擁有者」是誰,則 DID 用處不大。

將 DID 連結到網域,可讓任何實體以密碼編譯方式驗證 DID 和網域之間的關聯性,藉此解決最初的信任問題。

已驗證的識別碼會遵循已知的 DID 組態規格來建立連結。 可驗認證服務會連結您的 DID 和網域。 該服務包含您在 DID 中提供的網域資訊,並且會產生已知的組態檔:

  1. 已驗證的識別碼使用您在組織設定期間提供的網域資訊,在「DID 文件」內撰寫「服務端點」。 與您 DID 進行互動的所有合作對象都可以看到您 DID 有相關連的網域。

    "service": [
      {
        "id": "#linkeddomains",
        "type": "LinkedDomains",
        "serviceEndpoint": {
          "origins": [
            "https://verifiedid.contoso.com/"
          ]
        }
      }
    ]
    
  2. 已驗證識別碼中的可驗認證服務會產生相容的已知設定資源,您必須將其裝載在自家網域。 此組態檔包含自我核發的可驗認證,其認證類型為 DomainLinkageCredential,使用 DID 簽署,且源自您的網域。 以下是儲存在根網域 URL 的組態檔範例。

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

電子錢包中的使用者體驗

當使用者進行發佈流程或出示可驗認證時,他們應該知道有關於組織及其 DID 的事項。 Authenticator 會驗證 DID 與 DID 文件中網域的關聯性,並根據結果為使用者提供兩種不同的體驗。

已驗證的網域

在 Authenticator 顯示 已驗證的 圖示之前,以下有幾點必須成立:

  • DID 簽署自我核發的開放式 ID (SIOP) 要求必須有「已連結網域」的「服務端點」。
  • 根網域不使用重新導向且會使用 HTTPS。
  • 「DID 文件」中所列的網域具有可解析的已知資源。
  • 已知的資源可驗認證簽署的 DID,與用來簽署 Authenticator 用來開始流程的 SIOP 相同。

如果上述提及的項目都成立,則 Authenticator 會顯示已驗證的頁面,並包含已驗證的網域。

此螢幕擷取畫面顯示新權限要求。

未驗證的網域

如果上述任何一點不成立,Authenticator 會顯示完整頁面警告,指出網域未驗證。 系統會警告使用者處於有潛在風險的交易中,應該謹慎進行。 他們選擇採用此路由可能是因為:

  • DID 未錨定至網域。
  • 未正確設定。
  • 使用者與其互動的 DID 可能是惡意的,且實際上無法證明其擁有連結的網域。

請務必將 DID 連結到使用者可辨識的網域。

此螢幕擷取畫面顯示 [新增認證] 畫面上未驗證網域警告。

如何更新我的 DID 上的已連結網域?

使用 Web 信任系統時,不支援更新已連結網域。 您必須退出宣告並再次上線。

「已連結的網域」讓開發人員更容易使用

注意

DID 文件必須公開提供,DID 註冊才能成功。

開發人員讓網域用於已連結網域最簡單的方式,就是使用 Azure 儲存體靜態網站功能。 您無法控制網域名稱,但可控制包含儲存體帳戶名稱做為部分主機名稱的網域名稱。

若要快速設定要用於已連結網域的網域:

  1. 建立儲存體帳戶。 在建立期間,選取 [StorageV2] (一般用途 v2 帳戶) 和 [本機備援儲存體] (LRS)。
  2. 移至該儲存體帳戶,然後選取左側功能表中的 [靜態網站],並且啟用 [靜態網站]。 如果您看不到 [靜態網站] 功能表項目,則未建立 V2 儲存體帳戶。
  3. 複製儲存之後顯示的主要端點名稱。 此值是您的網域名稱。 其看起來像 https://<your-storageaccountname>.z6.web.core.windows.net/

需要上傳 did-configuration.json 檔案時:

  1. 移至儲存體帳戶,然後在最左邊的功能表選取 [容器]。 然後選取名為 $web 的容器。
  2. 選取 [上傳],然後選取資料夾圖示來尋找您的檔案。
  3. 在您上傳之前,請先開啟 [進階] 區段,然後在 [上傳至資料夾] 文字輸入框中指定 .well-known
  4. 上傳 檔案。

您現在已在 URL 公開提供檔案,看起來像是 https://<your-storageaccountname>.z6.web.core.windows.net/.well-known/did-configuration.json

下一步