弱密碼與重複使用,是帳號被盜最常見的原因。這篇從撞庫的規模、密碼熵與離線破解,一路談到零知識密碼管理器、2FA 各種方式的防護邊界,以及能根治釣魚的通行密鑰,說清楚為什麼幾乎零成本,就能擋掉市面上絕大多數的帳號入侵。
為什麼「帳密」是整條防線裡最脆弱的一環
要理解這件事,得先看清攻擊者怎麼運作。他們多半不是坐在電腦前一個個猜密碼,那太慢——主流打法叫「撞庫」(credential stuffing):把別的網站外洩的幾十億組帳密灌進自動化程式,對著你所有可能的服務一輪輪去試。規模大到違反直覺:安全研究估計,全球每個月光是撞庫嘗試就有兩百多億次在網路上跑,而且逐年攀升。
壓縮率、攔阻率與事件比例會隨畫面、設備、韌體及攻擊面改變。採購與調校時用自己的攝影場景、流量與事件樣本驗證,並保留原始 log、封包或影像,避免用沒有原始條件的平均值做決策。
密碼強度的真相:熵、離線破解,與你看不到的伺服器端
為什麼「夠長」遠比「夠亂」重要
談密碼強度,工程上真正的度量叫「熵」(entropy),白話講就是「要猜中它,平均得試多少種可能」。過去大家被教育要加大小寫、數字、特殊符號,以為這樣才叫「複雜」;但硬湊的「P@ssw0rd!」熵其實不高,因為首字母大寫、a 換成 @、結尾補驚嘆號這些套路,破解軟體早就瞭若指掌。真正拉高熵的是長度:每多一個字元,可能性就乘法級數往上翻。一句四五個不相干詞湊成的通關密語,好記又難破,遠勝一串又短又「看起來很亂」的符號。
破解的經濟學,和你控制不了的那一半
官方指引已經翻案:三個過時的密碼觀念
如果貴公司的資安規定還停留在「每九十天強迫改密碼」「一定要有大小寫加符號」,那真的該更新了。美國國家標準與技術研究院(NIST)在二〇二五年八月定案的最新數位身分指引(SP 800-63B 第四版),明確推翻了幾條沿用多年的老規矩:
- 不要再強制定期換密碼。除非有證據顯示密碼可能已外洩,否則例行性的「每季改一次」,只會逼員工用「Summer2026!」「Autumn2026!」這種換湯不換藥的爛招,反而更好猜。
- 不要再強制複雜度規則。硬性要求每個密碼都要有大小寫、數字、符號,換來的往往是可預測的套路,對安全沒有實質幫助;指引改為鼓勵「夠長」,並要求系統支援到六十四個字元以上。
- 要比對已知的外洩清單。系統應在使用者設定密碼的當下,擋掉已出現在外洩資料庫或常見弱密碼清單裡的字串——這才是真正打在撞庫要害上的做法。
把「記不住」這件事,交給密碼管理器
講到這你大概會問:每個服務都一組又長又獨立的密碼,人腦哪記得住?答案是——本來就不該用腦袋記。正解不是叫員工「更努力背」,而是換工具。密碼管理器會替每個服務各自產生、保管一組獨一無二的高強度密碼,你只需記住一組主密碼(master password),登入時自動幫你填,反而比土法煉鋼省事。
零知識架構:為什麼服務商自己也看不到你的密碼
好的密碼管理器建立在「零知識」(zero-knowledge)架構上,運作方式是:密碼庫在離開裝置之前,就已在本機用主密碼加密完成,上傳雲端的永遠是一坨密文。主密碼不會被傳出去、也不存在服務商那裡;它先在本機經過一道「金鑰衍生函數」反覆運算幾十萬次(刻意拖慢暴力破解),才生出真正解密用的金鑰,資料本體則用強度足夠的對稱式加密保護。結果就是:就算服務商的伺服器被駭、資料庫被整個搬走,拿到的也只是解不開的密文。
從一次真實外洩學到的兩件事
這套架構在二〇二二年被真實壓力測試過一次。一家大型密碼管理服務商遭入侵,攻擊者複製走一份含所有使用者「已加密」密碼庫的雲端備份;但因為零知識架構,那些密文並沒有被解開。兩個實務教訓:
- 主密碼的強度,是最後也是唯一的防線。零知識的安全建立在「主密碼夠強、無法被離線暴力破解」這前提上;一旦密文落到攻擊者手裡,他就能不限次數慢慢猜。所以那組主密碼,務必用夠長、獨一無二、從沒在別處用過的通關密語。
- 沒被加密的「後設資料」也會傷人。那次外洩裡,密碼本體雖是密文,但使用者存了哪些網站的網址、公司名稱、帳單地址、電子郵件這類「後設資料」卻是明文,足以讓攻擊者拼出你的數位地圖、發動客製化釣魚。所以外洩後該做的不是只有慌張,而是把重要帳號的密碼換掉,並對接下來可能收到的針對性釣魚信提高警覺。
兩步驟驗證:多一道門,但門的材質差很多
就算密碼真的外洩了,兩步驟驗證(2FA)還能把人擋在門外——它要求登入時,除了「你知道的東西」(密碼),還要再提供「你持有的東西」(手機動態碼、硬體金鑰)或「你本人」(生物特徵);攻擊者光有密碼,少了第二把鑰匙,一樣進不來。
「99.9%」這個數字,到底該怎麼讀
不是所有 2FA 都一樣強
但要講清楚:2FA 不是一個開關,而是一整排材質不同的門,防護強度差距比多數人想像的大:
- 簡訊驗證碼(SMS OTP)——聊勝於無,但最弱。簡訊可能被「SIM 卡移轉」(俗稱 SIM swap,攻擊者騙電信商把門號補發到他手上的卡)攔截,也可能被電信底層協定(SS7)的漏洞繞過;有它還是勝過完全沒有,但它是這排門裡最脆弱的一扇。
- 驗證器 App 動態碼(TOTP)——中段班。App 每三十秒跳一次的六位數,比簡訊安全、不怕 SIM swap,但先天缺陷是「使用者看得到、就打得進去」:能被輸入到真網站的碼,就能被騙著輸入到假網站。
- 推播批准——方便,但有「疲勞轟炸」風險。手機跳出「是你在登入嗎?按核准」很直覺,但攻擊者若已握有密碼,可以連續狂發推播,賭你被吵到不耐煩隨手按核准;這種「推播疲勞轟炸」近年並不少見。
更關鍵的是,這三種全都擋不住對手中間人(AiTM)釣魚:攻擊者架一個和真網站幾乎一樣的假登入頁當「代理」,你在假頁上輸入帳密、也輸入了動態碼,代理同一秒轉發給真網站,登入成功後,真網站發回的那張「登入通行證」(session cookie)就被一把抄走。此後他不需要密碼或動態碼,拿著通行證直接進去。所有「靠你打字輸入一段碼」的 2FA,原理上都擋不住。好消息是這類攻擊要即時盯著你、成本較高,占比相對小;但只要公司握有值錢的東西,就得認真看待。
抗釣魚的終點站:通行密鑰與 FIDO2
那有沒有連中間人釣魚都擋得住的做法?有,而且已經成熟——基於 FIDO2/WebAuthn 標準的通行密鑰(passkey)與實體安全金鑰。它能根治釣魚,是因為換掉了整個原理:登入不再是「你輸入一段祕密」,而是你的裝置用一把私鑰,對網站發來的挑戰做一次密碼學簽章。兩個關鍵設計:
- 私鑰永遠不離開你的裝置。沒有任何「可以被打字、被轉發」的祕密在網路上流動,中間人代理無從攔截,因為根本沒東西可攔。
- 簽章與網域「綁定」。你的通行密鑰是綁著真網站的網域產生的;被騙到仿冒網域時,裝置發現「這個網域我沒有對應的鑰匙」而直接拒絕簽章。也就是說,就算一時眼花被騙進假網站,它在技術上也簽不出去。這正是官方資安機構把 FIDO2 這類方法歸為「抗釣魚」,而把簡訊、動態碼、推播都排除在外的原因。
中小企業不必一步到位全面改用通行密鑰,務實的優先順序是:把最值錢的那幾個帳號(網域管理、雲端主控台、財會系統、老闆與 IT 管理員的信箱)優先升級到通行密鑰或實體金鑰,其餘至少用到驗證器 App,盡量別再只靠簡訊。
給公司的落地清單
把上面的原理,收斂成幾條可以照著做的準則:
- 關鍵系統強制 2FA,是「強制」不是「鼓勵」。信箱、財會、ERP、雲端主控台、遠端連線(VPN 或 RDP)一律開啟;能上通行密鑰或實體金鑰的,優先給高權限帳號。
- 全公司導入密碼管理器,從制度面根除共用密碼和貼在螢幕上的便利貼。主密碼要求夠長、獨一無二,並替它本身也套一層 2FA。
- 調整密碼策略:擋掉外洩過的弱密碼、拿掉「定期強制改密」。只在有外洩跡象時才要求改密,力氣放在長度與不重複。
- 離職流程寫死:人一走,當天停用全部帳號、回收金鑰。離職員工還能登入的帳號,是最容易被忽略、卻最好用的一扇後門。
- 教員工認出釣魚。任何「要你立刻輸入帳密」的緊急通知信,先停三秒、確認網址;裝了密碼管理器還有個隱藏好處——它只在「正確的網域」自動填入,遇到仿冒網站不跳出來,本身就是天然的釣魚警報器。
資安沒有一勞永逸的銀彈,但確實存在投報率高得離譜的基本功。把每個帳號換成獨立的高強度密碼、交給密碼管理器保管,再對重要帳號加上一道——最好是抗釣魚的——兩步驟驗證,你就擋掉了市面上絕大多數的自動化攻擊,成本卻趨近於零。廷皓服務高雄、台南、屏東與南台灣,可以協助貴公司盤點帳號、規劃密碼管理與 2FA 導入,以及替員工做一場聽得懂、也用得上的資安教育。用最低的成本,守住第一道、也是最重要的那道門,歡迎洽詢。