驗證網域對您的分散式識別碼擁有所有權
在本文中,我們將檢閱驗證所使用的網域名稱對您的分散式識別碼 (DID) 擁有所有權所需的步驟。
必要條件
若要驗證網域對 DID 擁有所有權,您需要:
驗證網域所有權並散發 did-configuration.json 檔案
驗證網域對您的 DID 擁有所有權的相關資訊載明於概觀區段。 此網域必須是您所控制下的網域,且其格式應為 https://www.example.com/
。
從 Azure 入口網站中,前往 [已驗證的識別碼] 頁面。
選取 [設定] > [驗證網域所有權],然後為該網域選取 [驗證]。
複製或下載
did-configuration.json
檔案。將
did-configuration.json
檔案裝載在指定的位置。 例如,如果您指定網域https://www.example.com
,則檔案必須裝載在https://www.example.com/.well-known/did-configuration.json
。 除了名稱.well-known path
之外,URL 中沒有其他路徑。在
.well-known/did-configuration.json
URL 公開提供did-configuration.json
時,請選取 [重新整理驗證狀態] 加以驗證。測試透過 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 和網域。 該服務包含您在 DID 中提供的網域資訊,並且會產生已知的組態檔:
已驗證的識別碼使用您在組織設定期間提供的網域資訊,在「DID 文件」內撰寫「服務端點」。 與您 DID 進行互動的所有合作對象都可以看到您 DID 有相關連的網域。
"service": [ { "id": "#linkeddomains", "type": "LinkedDomains", "serviceEndpoint": { "origins": [ "https://verifiedid.contoso.com/" ] } } ]
已驗證識別碼中的可驗認證服務會產生相容的已知設定資源,您必須將其裝載在自家網域。 此組態檔包含自我核發的可驗認證,其認證類型為
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 儲存體靜態網站功能。 您無法控制網域名稱,但可控制包含儲存體帳戶名稱做為部分主機名稱的網域名稱。
若要快速設定要用於已連結網域的網域:
- 建立儲存體帳戶。 在建立期間,選取 [StorageV2] (一般用途 v2 帳戶) 和 [本機備援儲存體] (LRS)。
- 移至該儲存體帳戶,然後選取左側功能表中的 [靜態網站],並且啟用 [靜態網站]。 如果您看不到 [靜態網站] 功能表項目,則未建立 V2 儲存體帳戶。
- 複製儲存之後顯示的主要端點名稱。 此值是您的網域名稱。 其看起來像
https://<your-storageaccountname>.z6.web.core.windows.net/
。
需要上傳 did-configuration.json
檔案時:
- 移至儲存體帳戶,然後在最左邊的功能表選取 [容器]。 然後選取名為 $web 的容器。
- 選取 [上傳],然後選取資料夾圖示來尋找您的檔案。
- 在您上傳之前,請先開啟 [進階] 區段,然後在 [上傳至資料夾] 文字輸入框中指定 .well-known。
- 上傳 檔案。
您現在已在 URL 公開提供檔案,看起來像是 https://<your-storageaccountname>.z6.web.core.windows.net/.well-known/did-configuration.json
。