在 2023 年,網路犯罪分子將竊取 330 億條記錄。識別數據洩露平均需要 196 天。到 2020 年,數據洩露的成本將達到 1.5 億美元…… 這些數字可能令人恐懼,但它們只是預測。未來的情況可能會更糟。安全性在這幾年來已成為熱門話題,幾乎地球上的每個人都已經聽說過某家公司數據洩露的事件,甚至有朋友因為帳號被駭客入侵而失去了 Facebook 帳號!如今,沒有人是完全安全的。
我最近花了好幾個小時確保我擁有的所有帳號都使用唯一的密碼,這些密碼複雜且長,至少 20 個字符,並且如果有的話啟用雙重身份驗證(2FA)。我發現不同公司之間存在許多差異,並且在功能和用戶體驗方面存在許多問題。我想在這篇文章中與您分享我認為對任何重視用戶安全的網站或公司來說,最佳和推薦的功能。
提供雙重身份驗證選項#
這是起點。
如果您關心您的用戶或客戶,您應該給他們選擇啟用雙重身份驗證的權利。在我擁有帳號的約 800 個網站中,只有 5% 提供 2FA 選項。有些人可能會爭辯說,如果您沒有高度敏感的信息,提供 2FA 可能是多餘的。但任何個人信息都可以被視為敏感的。
如果您關心您的用戶及其安全,請給他們啟用 2FA 的選擇。就這樣。
不要強迫用戶僅選擇一種 2FA 方法#
Google、Facebook、Twitter… 它們都提供多種 2FA 方式:短信、身份驗證應用程序和安全密鑰。更常見的是,至少在短信和身份驗證應用程序中,安全密鑰似乎僅在某些服務上設置。
但我驚訝地看到Etsy,即使他們在其用戶界面上使用切換按鈕,強迫您僅選擇其中一個選項。我甚至不確定這是否最初設計成這樣。
The two-factor options on Etsy
Bit.ly和booking.com則僅允許您使用手機作為 2FA 設備。因此,如果您丟失了手機和電子郵件訪問權限,您可能會陷入困境。
The verification code view on Booking.com
Mailchimp和Tumblr則相反,僅提供使用身份驗證應用程序的 2FA。
Zapier有一個很棒的逐步 2FA 設置,可能是我找到的最好的之一。他們提供多種互補方式,並特別告訴您 “如果您被鎖定並且失去了身份驗證設備和恢復代碼”。用戶明白提供他的手機號碼是一種額外的方式,以確保他 / 她可以在失去其他連接到其網絡應用程序的方式時訪問其帳戶。
The two-factor set by step setup on Zapier
將 QR 碼作為圖像#
我已經使用1Password一段時間了,掃描 QR 碼的模態並不總是能找到 QR 碼。在這種情況下,我發現自己需要將 QR 碼拖放到該模態中以進行識別。但這僅在代碼是圖像時有效。
我建議將其作為可以保存 / 拖放的圖像格式。
例如,Reddit並沒有將 QR 碼作為圖像。幸運的是,每個人都提供 QR 碼的文本版本,您可以在身份驗證應用程序中使用。
保持您通過電子郵件發送的代碼與應用程序或網站要求的格式相同#
這種情況我只遇到過一次。這發生在 Instagram 上。
當Instagram通過短信發送 “驗證碼” 時,他們包含了一個空格。如果您將該代碼複製並粘貼到需要的地方,首先輸入不想要空格,最後一位數字不會包含在您的粘貼中。這是一個煩人的問題,可以輕易解決!
Instagram verification SMS code
提供恢復 / 備份代碼的選項#
聽起來很奇怪,但許多網站在您啟用 2FA 時不提供備份 / 恢復代碼。這對我來說一開始是個驚喜,2FA 意味著您將始終擁有備份代碼,以防您失去對手機、電子郵件或用於生成隨機數的應用程序的訪問權限。如今,一些網站不提供該選項。我對這些網站特別小心。
Kickstarter和WPEngine是一些不提供任何恢復 / 備份代碼的網站的例子。我希望他們能改善這一點。
The Kickstarter security modal
始終提供下載恢復代碼的選項#
大多數網站提供複製恢復代碼的選項。這不是最佳選擇。
擁有這個選項當然很好,但這不夠。我個人將所有恢復代碼存儲在多個地方:一個是Dropbox 的保險箱。只需拖放並粘貼一個簡單的文本文件就很容易且快速。
如果您僅提供複製的選項,那麼您可能會迫使用戶:
- 打開文本編輯器
- 粘貼代碼
- 給文件命名
- 將文件保存在設備上
技術的存在是為了節省用戶的時間。
例如,Slack允許您 “打印代碼”,但不允許下載它們。為什麼不呢?我必須生成一個 PDF,而不是我的簡單文本文件。這不是最佳的用戶體驗。
The Two-Factor Authentication Backup Codes modal on Slack
在恢復代碼文本文件中,始終寫明這些代碼來自哪個平台#
即使 Facebook 也會犯錯,這對我來說很重要。目前,如果您從 Facebook 下載恢復代碼,打開文件後,您找不到任何提及 Facebook 或帳戶名稱的內容。文件名facebook_recovery_codes
是有幫助的,但在我看來,這不夠。帳戶名稱和平台名稱應該是最低要求。
為了使其更有用,還可以添加生成代碼的日期。
Google 是一個很好的例子,它在文件名中使用您的用戶名,並且還添加了:
SAVE YOUR BACKUP CODES
Keep these backup codes somewhere safe but accessible.
LIST OF CODES
([email protected])
* You can only use each backup code once.
* Need more? Visit https://g.co/2sv
* These codes were generated on: Date, 2021.
允許用戶重新生成恢復 / 備份代碼#
給用戶重新生成恢復代碼的能力是至關重要的。有些網站不提供這個有用的選項。
提供不止一個代碼(也許?)#
這一點不那麼重要,但我仍然想提到在恢復 / 備份代碼方面的一個關鍵區別。
大多數公司僅提供一個代碼,而不是可以使用的多個代碼列表。我很難為一種方法辯護。我只知道當我有多個代碼時,我會感覺更好。
關於安全密鑰#
安全密鑰是保護您的帳戶的較不常見的方法。如果您是公眾人物或擁有高責任感的人,擁有安全密鑰可能會讓您感到更加安心。但對於普通用戶來說,這可能是多餘的。儘管如此,我仍然希望最大限度地提高我的帳戶安全性,最近購買了Titan Security Key來自 Google。USB 版本可以在任何計算機上使用,而我在使用 iPhone 或 iPad 時使用藍牙版本。
The box of the Titan Security Keys by Google
它們都不便宜,但安全性應該是您 “無限預算” 的一部分,就像食物一樣。
結論#
我不是安全專家,對安全方面的知識有限。但作為一名軟件工程師,特別是一名用戶,我相信在大多數平台實施所有工具以確保用戶安全訪問之前,我們還有很長的路要走。
回顧:
- 提供雙重身份驗證選項
- 不要強迫用戶僅選擇一種 2FA 方法
- 將 QR 碼作為圖像
- 保持您通過電子郵件發送的代碼與應用程序或網站要求的格式相同
- 提供恢復 / 備份代碼的選項
- 始終提供下載恢復代碼的選項
- 在恢復代碼文本文件中,始終寫明這些代碼來自哪個平台
- 允許用戶重新生成恢復 / 備份代碼
- 提供不止一個代碼(也許?)
感謝您的閱讀,希望這些建議能幫助您改善用戶體驗並改善您的 2FA 實施。
隨時在下面的評論中問我任何問題!