OPSEC52 / 第 7 週 — 密碼管理器作為區隔手段
到目前為止你建立的每一個區隔——分開的信箱、分開的手機、分開的瀏覽器設定檔——都共享著一條無聲的接縫,足以把它們重新縫回一起:一個重複使用的密碼。你可以完美地維持身分衛生好幾個月,然後用同一串字登入兩個化名帳號,就這樣免費把「連接鍵」交給對手。密碼重複使用不是強度問題,而是關聯問題。密碼管理器能一次解決這兩件事,而且它是你唯一真正會持續使用的 OPSEC 習慣。
威脅模型: 憑證填充攻擊會拿外洩資料庫裡的帳號/密碼配對,在你擁有的每個網站上重放;密碼重複使用會在某個資料庫外洩的那一刻,把原本各自獨立的化名帳號以密碼學方式連結起來;簡訊與電子郵件 2FA 會把一個「匿名」帳號綁回一個電話號碼或救援身分;安全提示問題的答案悄悄編碼了你真實的生平;而瀏覽器儲存的密碼會無聲地同步到一個實名的 Google 或 Apple 帳號。
重複使用是一種關聯攻擊,而不只是強度問題
大多數密碼建議都在講強度——長度、熵、「別用 password123」。這種框架錯過了 OPSEC 的重點。對於一個在建立區隔的人來說,危險不在於一個弱密碼被破解,而在於一個被重複使用的密碼被關聯起來。
外洩資料庫已是大宗商品。多年洩漏累積的數十億組 email:password 配對可被搜尋、彙整、交叉索引。當你第 3 週的別名帳號和你的實名帳號同時出現在使用相同密碼的外洩資料裡時,那串共享的字就是一個機率性指紋——通常還是獨一無二的。你洩漏的不是身分,而是一把連接鍵——然後別人替你跑了那個查詢。你在各身分之間築起的每一道牆都開了一扇門,而那扇門就是那個你喜歡到打了兩次的密碼。
修法既機械又徹底:為每個帳號使用一個獨一無二、高熵的密碼,產生並儲存到你永遠不會看到或記住它們。 這就是密碼管理器的全部工作。強度是免費的副產品;真正的收穫是任何東西都不再與任何東西相連。
選一個設計上不會外洩的管理器
- KeePassXC — 離線、本地、開源。你的保險庫是一個由你自己掌控並自行備份的加密
.kdbx檔案。沒有雲端帳號、沒有可被傳喚的公司、沒有同步遙測。當威脅模型很嚴肅時的預設選擇。 - Bitwarden / Vaultwarden — 開源且支援同步。如果你想要跨裝置同步又不必信任第三方,就用自架的 Vaultwarden 伺服器;無論如何保險庫都是端對端加密的。當便利性正把你推向壞習慣時,這是合理的選擇。
- 避免瀏覽器內建的管理器——當它同步到一個實名帳號時。 Chrome→Google 和 Safari→Apple 會悄悄把每個已儲存的憑證推進一個你正試圖分開的身分裡。如果你要用瀏覽器自動填入,就把它指向 KeePassXC/Bitwarden 的擴充功能,而不是作業系統帳號。
沒有「最好的」——只有你每天會打開的那個。一個你真的會用的本地 .kdbx,勝過一套你放棄了的完美自架方案。
2FA:別讓第二因素重新識別你
雙因素驗證是好的;就匿名而言,類型很重要:
- 簡訊 2FA 是一種身分洩漏。 它把帳號綁到一個電話號碼,而電話號碼會被 KYC 追回到你身上(見第 4 週)。在任何化名帳號上都要避免;如果某個服務強制它,那個服務就知道你是誰。
- TOTP(驗證器代碼) 是基準線——把種子存進你的密碼管理器或專用的 TOTP app。KeePassXC 原生就能產生 TOTP,所以第二因素就住在同一個加密保險庫裡。
- 硬體金鑰(FIDO2/WebAuthn) 是最強且防釣魚的;為每個身分層級準備一把便宜的金鑰,對重要帳號很值得。
原則是:你的第二因素應該證明持有,而不是身分。簡訊證明的是身分。跳過它。
安全提示問題就是一份生平——所以要說謊
「母親的娘家姓」、「第一隻寵物」、「你出生的城市」——這些是披著救援外衣的軟性身分傾印,而且往往是進入帳號的最弱環節。永遠不要如實回答。為每個答案產生第二串隨機字元,存到保險庫裡密碼的旁邊。對服務來說那是個答案;對正在建立你檔案的對手來說,那是雜訊。
保險庫衛生——主密語現在就是你的整個身分
集中到單一保險庫,會提高單一祕密的賭注。請相應地保護它:
- 主密語 = diceware,6 個字以上,靠記憶,絕不以數位形式儲存。這是你唯一留在腦子裡的密碼。
- 離線備份保險庫——抽屜裡一支 USB 上的加密副本,勝過一個只存在於一台可能故障或被扣押的筆電上的保險庫。
- 絕不透過實名雲端同步原始檔案。 如果你要同步,就同步已經加密的
.kdbx,並優先用你自己的伺服器。 - 把保險庫本身也區隔開。 為你的匿名層級保留一個獨立的保險庫(獨立檔案、獨立主密語)。如果你日常的保險庫哪天在脅迫下或在被入侵的機器上被打開,那些化名憑證並不在其中。
最後這一點就是整個系列濃縮成一個習慣:密碼管理器不只是強度工具,它是一個區隔。每個身分層級一個保險庫,意味著一段人生的外洩不會解鎖其他的。
本週演練
- 安裝 KeePassXC(或架設 Vaultwarden),用一組 6 字 diceware 主密語建立你的第一個保險庫。
- 把你的主要信箱丟進 Have I Been Pwned 查詢——每一筆命中都是一個你現在必須把密碼換成獨一無二的帳號。
- 在每個允許的帳號上把 簡訊 2FA 換成 TOTP(或硬體金鑰);把任何強制簡訊的服務標記為與身分綁定。
- 把所有 安全提示問題的答案改成存在保險庫裡的隨機字元——別再廣播你的生平。
- 為你的匿名層級帳號建立一個獨立保險庫,用它自己的主密語,並把那些憑證從你的日常保險庫移出去。
下週我們跟著錢走:金融去匿名化這一層,卡片元資料、KYC 鏈條與鏈上啟發式分析,會悄悄把一個名字重新貼回你剛剛區隔好的一切。在那之前:產生、絕不重複使用,讓保險庫去記住,好讓你的對手無法關聯。
Curated by Cyber Satoshi