金鑰認證

了解如何在 Domino 伺服器或 Internet 網站上啟用金鑰驗證以提高安全性。

在你開始之前

如果需要,建立一個新的互聯網站點

如果您想要為新的 DNS 主機名稱啟用金鑰驗證(例如出於測試目的),請為該新主機名稱建立新的 Internet 網站。有關詳細信息,請參閱了解 Domino 伺服器上的 Internet 站點文件

啟用會話身份驗證
在相關網站的伺服器文件或 Internet 網站文件中啟用會話驗證。
Domino Web 引擎標籤上,將「會話驗證」下拉清單設定為單一伺服器(DomAuthSessId) 或多重伺服器 (SSO) (LTPAToken)。請注意,「SAML」實際上並不是會話身份驗證的一種形式,儘管位於會話身份驗證下拉式功能表中。
Domino Web Engine 選項卡的螢幕截圖

有關多伺服器會話身份驗證的詳細信息,請參閱基於多伺服器會話的身份驗證(單一登入)

關於這個任務

  • 僅 64 位元 Linux 或 64 位元 Windows 上的 Domino 伺服器支援金鑰身份驗證。
  • Web 瀏覽器中的金鑰功能正在快速發展和改進,因此為了獲得最佳使用者體驗,我們建議使用目前的 Web 瀏覽器。
  • MacOS 10 及更低版本不支援金鑰。MacOS 11(和 Safari 16.1)是最低版本。

程序

  1. 建立密鑰資料庫。

    從 passkey.ntf 進階範本建立 passkey.nsf。

    預設情況下,該資料庫必須位於資料目錄的root目錄中,並且必須具有全小寫的檔案名稱「passkey.nsf」。passkey.nsf 的名稱和位置可以使用PASSKEY_DATABASEnotes.ini進行更改,應將其設定為相對於 Domino 伺服器資料目錄的路徑。例如, PASSKEY_DATABASE=test\mypasskeys.nsf將導致 Domino 開啟資料目錄下 test 子目錄中的 mypasskeys.nsf。

    我們建議限制對此資料庫的訪問,尤其是寫入訪問,並加密該資料庫,除非正在使用叢集對稱功能。

    如果多台 Domino 14 伺服器需要金鑰驗證,則需要在這些伺服器之間定期複製 passkey.nsf,以便針對一台 Domino 伺服器建立的金鑰可以用於另一台伺服器。

  2. 可選:自訂 Domino 伺服器的依賴方名稱。

    在建立過程中,每個金鑰的範圍僅限於單一依賴方 (RP),並且只能由屬於該 RP 的 Web 來源使用。RP 無法偵測不同 RP 範圍內的金鑰的屬性,甚至無法偵測其是否存在。此範圍界定是透過基於主機網域的依賴方識別碼 (RP ID) 來執行的-本質上是沒有方案和連接埠的 HTTP 來源。例如, https://www.domino.example.com:8443 的有效域為www.domino.example.com 。WebAuthn 還允許 RP 使用其有效域的可註冊子網域作為其 RP ID。例如, https://www.domino.example.com:8443的 RP ID 可以是www.domino.example.comdomino.example.comexample.com ,但不能是 .com 或 login.example .com.

    預設情況下,Domino 將使用網站的有效網域作為 RP ID,並使用 Internet 網站文件的「基本」標籤中的「此網站的描述性名稱」欄位作為 RP 的「友善」名稱。在某些情況下,Web 瀏覽器會顯示友善名稱,並在按網站對金鑰進行排序時在 passkey.nsf 中使用該名稱。如果未使用 Internet 網站文檔,則友善名稱將為空,除非如下所述使用PASSKEY_SERVER_FRIENDLY_NAMEnotes.ini

    您可以使用下列 Notes.ini 變數將 Domino 設定為使用 RP ID 的可註冊子網域,以便在一台 Domino 伺服器上註冊的金鑰可以在另一台相關伺服器上使用:
    注意: PASSKEY_SKIP_LEVEL=NPASSKEY_DOMAIN_LEVELS=N是互斥的。
    • PASSKEY_SKIP_LEVEL=N

      用於在建置 RP ID 時跳過有效域的前 N ​​部分。例如,PASSKEY_SKIP_LEVEL=1 可用於允許server01.domino.example.comserver02.domino.example.comserver03.domino.example.com全部使用 domino.example.com 的 RP ID 並共用金鑰。如果這些網站託管在不同的 Domino 伺服器上,則需要在它們之間複製 passkey.nsf。

    • PASSKEY_DOMAIN_LEVELS=N

      可用於建置 RP ID 時僅使用有效域的最後 N 部分。

      例如,PASSKEY_DOMAIN_LEVELS=3 可用於允許server01.domino.example.comwww.mytest.domino.example.comdomino.example.com全部使用 domino.example.com 的 RP ID 並共用金鑰。如果這些網站託管在不同的 Domino 伺服器上,則需要在它們之間複製 passkey.nsf。

    • PASSKEY_SERVER_FRIENDLY_NAME=my_Friendly_site_name

      用於更改 RP 的友善名稱。當管理員希望多個 Internet 網站文件共用金鑰並希望將它們全部視為單一網站或服務時,這非常有用。

  3. 啟用金鑰身份驗證。

    在伺服器文件或 Internet 網站文件中啟用金鑰驗證。

    安全性標籤的「TLS 驗證」類別中,將金鑰 (WebAuthn)設定為

  4. 可選:使用 domcfg.nsf 設定密鑰登入表單。

    Domino 的預設會話登入表單包括透過與使用者名稱或密碼欄位互動進行的密鑰自動填充,以及透過使用密鑰登入按鈕進行的密鑰模式登入。

    如果您使用儲存在 domcfg.nsf 中或基於 domcfg.nsf(或該資料庫中的預設登入表單)的自訂登入表單,則 domcfg5.ntf 範本包括表單$$LoginUserFormPasskey ,其中包含金鑰自動填入和金鑰模式功能。此表單可以原樣使用,也可以將該表單中的邏輯合併到自訂登入表單中。

    若要使用金鑰登入表單,請開啟 domcfg.nsf,按一下「新增對應」按鈕。

    然後建立一個新的「登入」表單映射,並將目標表單設定為「$$LoginUserFormPasskey」。

    有關自訂 HTML 登入表單的信息,請參閱自訂 HTML 登入表單

接下來做什麼

或者,您可以設定其他金鑰身份驗證設置,例如上次登入時間更新、證明、金鑰註冊限制和使用者驗證。有關詳細信息,請參閱可選密鑰配置