探索 MFA:從產品視角看認證
通過分析其核心組件、使用者流程和基本指導原則,解構多重認證 (MFA)。
在數碼環境中,如果每個應用程式都用相同的方式進行登錄,我們是否可以通過簡化身份驗證來節省時間和資源?聽起來可能可以,對吧?就像你用「繼續使用 Google」來做任何事情,或者為所有東西使用一個電郵和密碼組合。
但真正的故事更有趣。每個應用程式都有其獨特的方式來確保是你在登錄。我們投入精力於這個驗證過程,以保持安全、平衡用戶體驗,並尊重每個用戶的隱私偏好。
由於沒有魔法公式適合所有人,我們來分解一下驗證是如何工作的,並創建與服務相符的設計。
基礎:認證的兩個部分
認證,這個用來驗證你身份的高級詞彙,由兩件事組成:標識符和驗證因素。
把標識符想像成說「嗨,我是 Sarah。」 你可能會想,「哦,那是 Sarah,不錯。」 但安全人員會問:「這真的是 Sarah 嗎?Sarah 是否擁有必要的憑證來獲得訪問權限?」這就是驗證因素發揮作用的地方。我們用技術術語來說明。
標識符:你的數位 ID
標識符決定了用戶可以訪問什麼。由於資源總是稀缺的,你的身份就是你的獨特通行證。第一步:在登錄頁面輸入你的標識符。但是我們不會使用暱稱或全名——這是搜索過載的災難。可用的標識符有:
-
使用者 ID:技術上不會改變且唯一。就像供管理員管理,但用戶不會記得這些對每個產品。
-
使用者名稱:使用者 ID 的用戶友版本。它是唯一的,不可以在一個帳戶系統中重複。社交平台個性化檔案,但為了保持識別穩定,必須是使用者名稱。限制更改,可能還需要支付費用。
-
ID 編號:像身份證、學生證或銀行卡號碼,是穩固且獨特的標識符。雖然不容易記住,但如果忘記主要 ID,可以用作可靠的備份機制找回。
-
電郵或電話號碼:不同於使用者名稱常常會被遺忘,聯絡資訊比較容易記住。使用電郵或電話號碼作為標識符可以防止長期不活躍或被召回的用戶忘記其身份,從而降低潛在流失的風險。 雖然這個便利性對用戶友好,但在「個人、電郵和帳戶」之間的互動管理可能會使你的產品結構複雜化。考慮 Instagram: (1) 它允許使用單一電郵創建多個帳戶; (2) 可以將多個電郵地址添加到 Instagram 個人主頁進行登錄或恢復; (3) Instagram 允許跨帳戶同時登錄,而不管電郵是否吻合。雖然帳戶通常有隔離的資源,Instagram 允許合併帳戶信息,促進一致的驗證、目標廣告和個性化建議。
驗證因素
驗證因素是證明你真正身份的動作。有很多按屬性劃分的因素可供選擇:
意義 | 驗證因素 | |
---|---|---|
知識 | 你知道的東西 | 密碼、電郵驗證碼、備份碼 |
擁有 | 你擁有的東西 | SMS 驗證碼、身份驗證器應用 OTP、硬體 OTP(安全密鑰)、智慧卡 |
所有 | 你的特徵 | 生物識別如指紋、面部 ID |
理論上,你可以將這些驗證因素與任何標識符混合以證明是你。常見:電子郵件地址(ID)和電子郵件驗證碼(因素)。但你也可以混合它們:電子郵件地址(ID)和 SMS 驗證碼(因素)。
因為惡意行為隱藏在背後,一個因素是不夠的。這就是多重認證 (MFA) 的來由。當你登錄時,第一步認證 (1FA) 是必須的,但可以有更多步驟,第二步 (2FA) 甚至是第三步。此外,當你要求訪問應用內關鍵資源時,需要重新驗證身份。這些額外的層次提供了針對惡意行為者的增強安全性。這整個範疇便是 MFA。
設計你的認證流程
回到起點——為什麼每個應用程式都有不同的標識符和認證因素組合?這關乎用戶體驗。
太嚴格的驗證會讓用戶感到煩惱,想著「為什麼這麼難?」太鬆懈可能導致帳戶被入侵和混亂。所以,誰的麻煩呢?
三個原則:
確保你的真正用戶能夠進入
人們有時會忘記 ID 或丟失驗證步驟。為了減輕潛在的支持負擔,我們需要方 法來幫助:
- 提供多種因素進行驗證——通常至少有兩個因素用於 MFA。因為生物識別技術很酷,但如果未被識別就不起作用;有時用戶可能會丟失設備。
- 提供選項來恢復驗證——例如「忘記密碼」或再次找到你的 ID。然而,在恢復之前,仍需要進行初步身份驗證,這通常與登錄過程不同。
- 提供聯絡資料通過客戶服務或管理員作為備份進行恢復。
沒有漏洞的驗證
驗證不是完美的,雙因素認證有時並不總是更安全。請記住:
- 在 MFA 流程中,第二步認證應具有與第一步不同的屬性(知識/擁有/所有)。例如,使用「密碼(知識)」作為 1FA 和「身份驗證器應用 OTP(擁有)」作為 2FA 可以阻止各種攻擊向量。
- 恢復方法不能跳過 MFA。例如,如果你可以通過 SMS 「忘記密碼」,則不能再使用 SMS 作為第二個認證因素。另一個選擇是在「忘記密碼」過程中添加 2FA,儘管這看起來可能很複雜。
- 考慮超時或速率限制。在多次錯誤驗證後,應限制後續驗證的率。並不允許多步驗證中的步驟之間有長時間間隔。
平衡用戶體驗
不是每個動作都需要 1FA 或 2FA。這是關於情況,而不是始終遵循相同的步驟。
- 給予不同角色自定義能力: 確保資源的安全性主要是產品的責任,但也是個人的責任。啟用 MFA 的策略可以根據服務的性質進行定制:應用中 普遍用戶 MFA、組織驅動的 MFA 和用戶決定驅動的 MFA。
- 利用自適應 MFA:在涉及潛在風險或高風險操作的場景中,驗證是務實的。相反,在安全環境或低風險操作中,可通過保留會話、最小化驗證步驟甚至訪客訪問來簡化訪問。值得注意的是,這取決於考慮用戶的背景。
- 不安全的環境:如新裝置、非典型旅行地點或不受信任的 IP。
- 敏感行動:如涉及加密數據訪問、大型金融交易或更改驗證方法。
詳細信息,請查看 NIST 的認證保證級別 (AAL) 指南。
結語
在我們結束對認證和多因素驗證 (MFA) 的探索時,希望你已經對它們在我們數位生活中所扮演的重要角色有了了解。MFA,融合了標識符和驗證因素,創造了一個穩固的防護盾,既保持安全訪問又能提供用戶友好的互動。
令人興奮的消息是,Logto 的 MFA 即將推出。對於個人和企業來說,Logto 保證安全的在線互動。