0. 前言
帳密登入是最為基礎的驗證方式,然而僅憑這層防護已經無法應對日益複雜的安全挑戰。由此 多重要素認證 應運而生,以其多層次的驗證方式,為用戶提供更堅實的安全屏障。
1. 重點
2. 內容
2.1. 要素類型
多重要素認證 (Multi-Factor Authentication, MFA) 包含雙重要素認證 (Two-Factor Authentication, 2FA),依靠名稱我們也能理解差在所需的要素數量。其中帳號密碼自然而然作為第一層,並透過其他方式來增加防線。
你知
理論來說只有自己人知道的,含任何 常態密碼,信用卡號。
你有
理論來說只有用戶擁有的,實體可以是 實體金鑰,晶片卡片,數位可以用 信箱認證 或者 簡訊認證。
你是
常見有用戶獨一無二的生物特徵,透過 指紋,音色,面部識別。進階可以是用戶的生理習慣,進階要求 打字速度。
2.2. 生活案例
當然,每次登入,常見的 2FA 就已經讓用戶感到麻煩了,但畢竟是為了你的帳戶安全。經過之前的講述,相信各位發覺只有密碼一層根本不夠了吧?甚至盜錄都有可能成功盜取。
當然若是只講運作原理我覺得非常不夠,因為知道這些功能並不會讓你意識到危險,甚至覺得只是生活日常。這邊介紹技術的同時,我們順道看看如何防範 自己出賣自己。
信箱確認
第三方登入 (Third-Party Sign-In) 仍受限於各國生活習慣,因此透過電子信箱註冊帳戶的方式仍被保留。各位肯定常被要求去信箱收信並按下確認註冊,這是避免別人拿你的信箱亂搞。而這種驗證方式通常會給予較長的有效期限,避免因網路通訊延遲送達。
筆者曾經收過 WordPress 帳號申請的確認信件,但我還清醒知道,有人用我的信箱註冊。所以說,處理這種信件只接受連貫動作,時差過長或沒有操作的來信就有問題。
另外若複製連結檢視,通常會發現網址埋有該公司隨機生成的臨時碼,用來確認你的身分,只要這個網址被開啟,就代表用戶有收到信件並同意註冊。
https://【隱藏】/sign-up/confirm/3geg99r8xgmmea592mrp9p35azts18c7
簡訊密碼
在執行某些操作,或者手機綁定,各位一定收過簡訊並拿到一組數字,透過這個有時效的密碼才能完成動作。
這個東西叫做 一次性密碼 (OTP, One Time Password),旨在 防止重複利用(單次) 以及 防止暴力破解(時效),只存活於單次交易。
【藉口】這樣說來有點糟糕,但我資訊系所上好幾個愛網購的,對方宣稱辦理退貨手續,還是不疑有他就將 OTP 轉傳給對面,被詐騙與商品同價格的案例數起。注意只有從你帳戶 出帳 會收到確認信,別人轉帳過來是不用經過你同意的。
【誘餌】另外更加主流的,透過特大的優惠吸引購買,卻是完完全全的假網站,騙取你的信用卡號,以及 OTP 序號。最簡易的檢查方式請看網址,是否有「完整」「可讀」的名稱,若是亂碼就直接退出。當然這種方法只能篩掉部分,最重要的還是只信任合理的交易途徑。
網站連結有個部分叫做 網域 (Domain),這是身分的代表,對於長期經營有很大的影響,就像我的網域是 babaochou2420.com,取自我的暱稱。而會是亂碼代表對方將它視為一個 廢棄品,連取名都懶了。
針對上述案例,無一都是「應注意而未注意」,現在的人很習慣良好的服務,自然地接受一切程序,很多不讀領獎切結書還有契約條款書。這些刷卡公司,都會在訊息提及「金額」還有「貨幣」,檢查一切正確再進行,通常都有 3 ~ 5 分鐘的時間,不用急迫。
驗證程式
為了闡述 基於時間單次密碼演算法(TOTP, Time-Based OTP)我特別繞了過來,這個有做資訊的可能比較認識,但透過所謂的 Authenticator,我們能夠掃描 QR-Code 新增帳戶連結,這時我們的軟體每過 30 – 90 秒(視提供商的規則固定)會刷新一次 OTP。總算不用收到簡訊,還能在單個軟體上管理所有的綁定帳戶。
3. 後話
透過理解 MFA 的運作方式,我們可以犧牲便利換取莫大的保護。然而,再強大的技術也可能因為使用者行為不當而被攻破,因此老話重談,防範安全風險不僅僅是依賴工具,更需要我們在日常操作中提高警覺。
4. 參考
[1] What is 2FA — Authy (Authenticator)
https://www.authy.com/what-is-2fa/
[2] What is MFA — Microsoft
https://support.microsoft.com/en-us/topic/what-is-multifactor-authentication-e5e39437-121c-be60-d123-eda06bddf661
[3] What is MFA — Amazon Web Services
https://aws.amazon.com/what-is/mfa/