文章列表

EP3 - 設定密碼好複雜!

Podcast連結


本集內容大綱

身分驗證的三個步驟

以登入Email查看郵件為例

  • 識別 Identification:表明你是誰 (輸入帳號)
  • 驗證 Authentication:確認你是不是真的是你說的那個人 (輸入密碼)
  • 授權 Authorization:確認你有沒有權做你想做的事 (確認哪些郵件是我的來授權我存取那些郵件)

為什麼需要複雜的密碼? 因為不希望密碼被他人輕易猜到,來保障帳戶的安全

常見密碼攻擊手法

暴力破解法 Brute Force Attack

  • 把所有可能的組合都嘗試過,有足夠的時間就可以破解任何密碼

  • 概念類似忘記行李箱密碼時,從⓪⓪⓪猜到⑨⑨⑨

  • 以破解8位數密碼所需時間為例

    • 全數字 → 不到一秒
    • 全英文小寫 → 1分13秒
    • 數字+英文小寫 → 16分30秒
    • 數字+英文大小寫 → 21小時
    • 數字+英文大小寫+特殊符號 → 24天
    • 破解9位數 數字+英文大小寫+特殊符號 的密碼 → 6年
  • 計算破解密碼所需的時間:https://random-ize.com/how-long-to-hack-pass/

  • 抵抗暴力破解法的方法:使用複雜且較長的密碼

字典攻擊 Dictionary Attack

  • 屬於暴力破解的一種

  • 嘗試一個字典裡所有的字 (並非一般字典,而是由常見密碼與外流密碼所組成的集合)

  • 主要針對那些很常見或是很簡單的密碼

  • 攻擊人性的弱點:懶惰。人們會懶得記得很長很複雜的密碼,因此會用一些常見簡單好記的單字

  • 抵抗字典攻擊的方法:避免在密碼裡使用一些常見的字,盡可能使用獨特或複雜的密碼

  • 2019 最常見的十大密碼

    • 12345
    • 123456
    • 123456789
    • test1
    • password
    • 12345678
    • zinch
    • g_czechout
    • asdf
    • qwerty
  • 2019最常見的200個密碼:https://nordpass.com/blog/top-worst-passwords-2019/

帳密填充攻擊 Credential Stuffing

  • 利用資料外洩時流出的帳號密碼組合,在許多不同的網站上嘗試這些帳號密碼組合

  • 可行原因

    • 人們往往懶得記住很多組不同的密碼,因此會在不同的網站上使用相同的帳號密
    • 66%的人有重複使用密碼的習慣
    • 並非所有網站都重視資安和有好的資安保護措施
    • 透過攻擊那些不安全的網站,可以間接取得重視資安的那些網站的使用者帳密
  • 如何知道自己的帳號密碼是否能經外流

    • HaveIBeenPwned:查詢自己的Email使否曾經出現在ㄧ些知名的資料外洩事件中
    • HaveIBeenPwned Password:查詢密碼是否出現在資料外洩事件中,以及出現的次數
  • 抵抗帳密填充攻擊的方法:不同的帳號都使用不同的密碼,可以利用密碼管理器的協助


密碼管理器 Password Manager / Password Vault

  • 功能介紹 (以 LastPass為例)

    • 存放與管理帳號密碼,並記錄這個帳號密碼是哪個網站的
    • 當造訪有一個有儲存帳密的網站時,可以自動填入帳號密碼
    • 當你在一個新的網站登入時,會主動問你要不要儲存這組帳號密碼
    • 當你更改密碼時會主動問你要不要更新儲存的密碼
    • 可以利用他隨機產生複雜且安全性高的密碼
    • 支援多種平台,包含Mac,Windows,iPhone,Android
  • 其他知名的密碼管理器

    • KeePass: 開源的密碼管理器,優點為你有完全的掌控權,不需要透過他人的伺服器或服務,懂得如何管理的話安全性較高。缺點是因為開源的關係,很多功能需要由社群所開發套件,初始設定較複雜,且社群開發的套件品質不一定,有安全的疑慮
    • LastPass: 知名的密碼管理器,免費版功能十分齊全。缺點為須將所有資料儲存於LastPass的伺服器上,安全性大大仰賴於LastPass。
    • 1Password: 知名老牌的密碼管理器,綜合評比在許多網站上都是第一的。缺點為沒有免費的版本,且和LastPass一樣資料是儲存於1Password的伺服器上,安全性仰賴於1Password。
    • 我的想法: 如果論安全度的話KeePass是可以最安全的,但使用和設定上與其他兩個相比較複雜,你需要很知道自己在幹嘛才可以達到最佳的安全性。LastPass算是一個簡單且親民的選擇,功能齊全又有免費版。如果願意付費的話1Password應該會是你的最佳選擇。LastPass和1Password都是發行了十幾年的產品的,算是成熟的產品且安全性在網路上是被公認合格的。

驗證身分的方法

  1. 你知道的事情 Something you know:腦中記得的東西,e.x. 名字、帳號、密碼
  2. 你擁有的東西 Something you have:實體的東西,e.x. 存摺印章、你家鑰匙、你的手機
  3. 你的生物特徵 Someone you are:你的指紋、瞳孔、聲音、臉

Google Authenticator 身分驗證器

  • 屬於驗證身分方法中的”你擁有的東西”,俗稱兩步驟驗證或多重要素驗證

  • 做法:在登入時除了要輸入你的帳號密碼,還要輸入身分驗證器裡所生成的六位數密碼

  • 特性:

    • 六位數密碼每30秒會更換一次,增加破解的困難度
    • 產生的六位數密碼與你帳戶的帳號密碼沒有關係,即使你在不同的帳戶上使用相同的帳號密碼,身分驗證器產出來的密碼還是會不同
    • 身分驗證器裡綁定的帳戶無法輕易被複製或轉移,他人無法輕易把你的手機上身分驗證器內的資訊轉移到他們手機的身分驗證器裡
    • 認定有安裝身分驗證器的這支手機是屬於你的,能夠存取這個身分驗證器就代表是你本人
    • 能有效抵禦上述的三種密碼攻擊,能防止99%的帳號密碼被盜
    • 使用上較麻煩,每次登入都需要拿出手機查看六位數密碼
    • 大部分的網站上為支援身分驗證器
  • 很有效的加強安全性的工具,但並非完美,需要搭配其他工具或是措施才能比較安全

  • 如何使用身分驗證器

總結:保持密碼安全的三大要點

  1. 不要使用太簡單 / 太常見的密碼
  2. 不要在不同的帳戶使用一樣的密碼,大推用密碼管理器來管理密碼
  3. 確保重要的帳戶有啟用兩步驟驗證 / 多重要素驗證。