密碼安全如同門鎖卻常被忽略
許多轉移維護的會員平台,其資料庫直接存放原始密碼。負責人往往不知情,初期為求快速上線而採用未經審核的程式碼。這等同於高額投資卻使用易開鎖具,風險極高。
統計顯示逾八成資料外洩與密碼外流有關。擁有會員功能的網站需視此為基本防護,一旦洩露將損害信任且難以恢復。
本文從儲存原理出發,逐步介紹雜湊技術、鹽值添加、多因素驗證及政策擬定,讓負責人能與技術團隊討論必做與可延後事項。
三種儲存層級比較
企業處理密碼可分為三個等級:
| 方式 | 等級 | 說明 | 風險 |
|---|---|---|---|
| 明文 | 極高危 | 原樣存入 | 外洩即全曝光 |
| 可逆加密 | 不安全 | 金鑰可還原 | 金鑰洩漏後全還原 |
| 雜湊加鹽 | 安全 | 單向運算加隨機值 | 外洩無法還原 |
明文儲存允許任何人讀取密碼,且使用者常跨站重複使用,導致連鎖風險。簡單加密看似保護,實則金鑰外洩即失效。雜湊加鹽為業界標準,可逆性低且能抵禦查表攻擊。
規劃新系統時建議直接指定 bcrypt 或 Argon2 規格。
演算法挑選原則
並非所有雜湊都適用密碼儲存。速度過快者易遭暴力破解。
| 演算法 | 適用性 | 說明 |
|---|---|---|
| MD5 | 不適用 | 速度快易破解 |
| SHA 系列 | 不適用 | 碰撞風險高 |
| bcrypt | 推薦 | 成本可調 |
| Argon2 | 最佳 | 抗 GPU 與記憶體攻擊 |
bcrypt 刻意降低速度以增加破解成本。Argon2 更進一步可控制記憶體用量。新建系統優先採用 Argon2;舊系統若已用 bcrypt 可維持,僅當使用過時演算法時才需升級。
多因素驗證強化
即使儲存完善,使用者重複密碼仍為弱點。多因素驗證可加入持有或生物因素。
實務方案包含簡訊驗證、應用程式碼、電子郵件及安全金鑰。B2C 系統可選擇性啟用,B2B 與管理帳戶則強制使用應用程式碼。即使基本多因素也能阻擋大多數自動攻擊。
密碼政策更新
現代政策強調長度而非複雜規則。建議最低八字元、允許管理器貼上、不強制定期更換、比對弱密碼清單並提供即時強度提示。
攻擊類型與對策
暴力破解
自動嘗試組合。對策為失敗次數限制、鎖定機制與驗證碼。
字典攻擊
使用已知清單。對策為禁止弱密碼與長度檢查。
撞庫
利用外洩組合。對策為多因素與異常偵測。
彩虹表
預算雜湊查詢。對策為每筆加不同鹽值。
社交工程
誘騙使用者。對策為教育訓練與多因素。
檢查清單
儲存方面使用 bcrypt 或 Argon2、獨立鹽值、最小權限。傳輸方面強制 HTTPS 與 POST。登入保護包含失敗限制、驗證碼與多因素。重設流程需設定時效、單次使用且不洩漏帳號存在與否。
未來趨勢
無密碼方案如通行金鑰正興起。短期仍應先落實安全儲存與多因素,中長期再評估導入。
總結
密碼安全影響企業信譽。建議先檢查資料庫欄位、後台啟用驗證器、測試重設流程,即可大幅降低風險。