
前言
2026 年 4 月,印度與阿聯酋的金融監管新法正式生效。印度明令禁止銀行單獨以簡訊 OTP 作為驗證手段,SMS OTP 還是可以用,但不能是唯一因子;阿聯酋則更進一步,全面禁用簡訊 OTP。新加坡、馬來西亞更早一步,已經全面禁用。
全球掀起了一波禁用潮。
但大多數的報導停在這裡——告訴你誰禁了、什麼時候禁、改用什麼替代。很少有人往下問:SMS OTP 到底哪裡出了問題?問題出在技術,還是設計?
這篇想把這件事說清楚。
SMS OTP 的問題,不是你想的那個
很多人以為 SMS OTP 的問題是「簡訊容易被攔截」。
這個認知不算錯,但不是主要問題。技術性攔截——SS7 攻擊、SIM Swapping——確實存在,但門檻高、針對性強,通常只出現在高價值的定點攻擊上。
真正構成大規模威脅的,是一件更簡單的事:釣魚。
流程很直接。攻擊者架一個長得跟真銀行網站一模一樣的假網站,受害者在假網站輸入帳號密碼,攻擊者即時把這些資料 relay 到真銀行,真銀行觸發簡訊驗證,OTP 送到受害者手機,受害者看到簡訊,輸進假網站,攻擊者再 relay 進去,認證成功。
全程不需要任何技術能力。只需要一個夠像的假網站,和一個相信它的人。
這就是為什麼它能大規模運作——低成本、可自動化、防不勝防。
問題的根源
現在你可能會問:瀏覽器不是有 HTTPS 嗎?TLS 不是會驗證網域嗎?
沒錯,瀏覽器知道你連的是 fake-bank.com 還是 bank.com。TLS 在瀏覽器這側確實有效的網域綁定。
問題在於——SMS 是另一條頻道,它跟 TLS 之間沒有任何連結。
手機收到簡訊的時候,它不知道你正在哪個網站。簡訊協議裡沒有這個資訊。OTP 本身不知道自己是為了哪個網域而生的。
你,成了兩條頻道之間的橋接器。
攻擊者不需要破解任何密碼學,只需要讓你自己把 OTP 搬過去。這是設計問題,不是實作問題,補丁補不了,只能換掉。
我想到的快速解法
既然問題是 TLS 和 SMS 之間沒有連結,那能不能把這個連結補起來?
第一個念頭是在簡訊內文加上網域資訊——但這治標不治本,因為內文是銀行寫的,不是協議保證的,攻擊者的釣魚流程根本不需要偽造簡訊,真簡訊就會送達。
往更深一層想:能不能去跟 CA/Browser Forum 這樣的協會推動整合?讓 OTP 發行時綁定網域紀錄,瀏覽器在用戶輸入 OTP 的時候自動比對當前網域,不符合就阻擋傳輸?
這個方向在密碼學上是可行的,工程量也不算大——CA 這側建 registry 基礎設施,瀏覽器這側加 form submit 前的比對 hook,銀行這側發 OTP 時多打一個 API。
比推 CT(Certificate Transparency)日誌的工程量小很多,而 CT 他們做成了。
FIDO/Passkey 的問題
業界的主流答案是 FIDO/Passkey——用私鑰簽名取代 OTP,簽名時綁定網域,從密碼學層面消滅釣魚攻擊。
技術上,Passkey 是更完整的解法。
但 FIDO 從 2012 年就成立,WebAuthn 2019 年標準化,Passkey 這個名詞 2022 年才進入大眾視野。現在 2026 年,SMS OTP 還是主流。這件事本身就是答案。
問題不在技術,在用戶。
老年族群不知道 Passkey 是什麼。換手機時遷移怎麼處理,大多數人搞不定。低端設備、舊 Android 在印度、東南亞的覆蓋缺口極大。帳號被鎖死的客訴成本由銀行承擔。過渡期客服量會爆炸。
反過來看我說的那個方向:用戶體驗完全不變,有手機號就能用,不需要理解任何新概念,不需要新設備,不需要學習成本。問題在協議層解決,不碰用戶端。
任何一個 CFO 看這張比較表都知道選哪個。
那為什麼還沒人做?
FIDO 背後是 Google、Apple、Microsoft 在推。Passkey 成為身份驗證的主流,等於把用戶身份跟他們的帳號體系綁得更深。我說的方向如果成立,SMS OTP 被修補存活,Passkey 的替代必要性就降低了——這不符合他們的戰略利益。
電信業者也有自己的算盤。SMS OTP 每發一條都有收費,這是穩定的 B2B 收入。
這不是技術問題,是利益問題。標準制定的桌子上坐著有既得利益的人,這件事本來就很難推。
但現在有激勵因子了
印度、UAE 的監管已經生效。銀行被逼著一定得花錢。
選項只有兩個:A,自己建 Passkey 基礎設施,各自燒錢,面對用戶教育、客服爆炸、設備覆蓋缺口;B,集中出一份錢推動協議層的標準,做完整個生態受益,用戶體驗不動。
這個成本結構的比較,現在有具體的監管壓力作為背景,談判基礎比任何時候都紮實。
結語
SMS OTP 的問題不是技術太弱,是它天生沒有 origin binding——驗證行為和使用情境之間沒有任何連結,這是設計層面的缺陷。
Passkey 是正確的長期方向,但過渡期的現實阻力不是技術,是人。幾十億個不懂 Passkey 的用戶,不是一個標準推出去就能解決的問題。
這個缺口,或許值得有人認真去推動一個不需要改變用戶行為的橋接方案。
至於既得利益者的問題怎麼解——那就是他們企業內部自己該去思考的事情了。












