容易被遺忘的資安措施:密碼管理器 Password Manager | Codybase - Hong Kong Web Developer/Designer Community
a child looking at padlocksa child looking at padlocks
Photo by Bianca Ackermann on Unsplash

容易被遺忘的資安措施:密碼管理器 Password Manager

Hangindev

Hangindev

調查指現今社會每人平均擁有 90 個帳戶,包括 Email、Facebook、學校、公司、銀行、網購等。與此同時,大多數人傾向重複使用同一組密碼,但無意識到此舉令個人資料洩露的機會日漸增加。用家使用密碼的習慣跟不上電腦硬件的進步,近年機器學習和挖礦(加密貨幣)等活動加快推動了 GPU 圖形處理器的發展,使用這些高速的 GPU 令密碼破解變得更快更易。

在個人資料有價的年代裡,資料洩露事件發生之頻繁,令幾乎每人的資料都曾以某種形式被洩露,包括電郵、密碼、姓名、電話、住所地址等。到 Have I Been Pwned 網站 輸入自己常用的電郵,查詢自己的個人資料有沒有在資料洩露事件中出現。

本文將會簡述密碼的使用原理,探討重複使用密碼的問題為何比以往嚴重和密碼管理器如何能更有效保障你的帳戶安全。

目錄

密碼是如何被儲存

每當你登記成為網站會員,你的帳戶名稱和密碼就會被儲存到網站的數據庫裡。到你下次登入時,網站伺服器就會將你所提交的密碼和數據庫中的密碼進行配對,相同的就能完成認證程序。但假如數據庫被駭客入侵,或因開發人員的失誤而意外洩露,外界就能獲取所有的帳戶 + 密碼組合。顧此,開發人員一般不會以明碼 Plain text 形式儲存密碼,而是先進行雜湊 Hash1,儲存得出的雜湊值。

儲存密碼明碼 plain text (上) / 儲存密碼雜湊 hash (下)
儲存密碼明碼 plain text (上) / 儲存密碼雜湊 hash (下)

即使駭客獲得數據庫的資料,亦不能從雜湊值推算出密碼,所謂破解密碼就是不停地嘗試把不同的密碼組合進行雜湊,去比對結果,而破解所需時間取決於駭客電腦的運算速度、雜湊函數的運算時間和密碼的複雜性

密碼洩露的風險比你想象中高

現今網上教學資源豐富,要開發一個的網站收集用戶密碼比以往簡單,不論開發者有心或無意,都可能不當地處理你的密碼。事實上,就連 Facebook、Twitter、Google 這些科技巨頭都被揭露過曾儲存未經處理的明碼2。另外,隨著電腦的運算速度愈外愈快,以往一些被廣泛使用的雜湊函數(如:MD5、SHA-1)都變得容易破解而出現安全漏洞,可惜不少網站仍然繼續使用這些雜湊函數。既然你無法確保網站妥善處理你的密碼,你應如何保障自己的個人資料免被外洩?

不要重複使用密碼

文章開端提到每人都平均擁有 90 個帳戶,同時,Google 一份調查報告指出,每 3 位用戶就有 2 位會重復使用密碼,而我相信正在閱讀的你是其中一位。重復使用密碼的問題在於不論該組密碼有多強,只要你使用的其中一個網站的數據庫外洩而被破解,其餘的帳戶都有機會被入侵。Don't put all your eggs in one basket 就教大家要分散風險,使用不同密碼,即使一個被破解,其餘的仍然安全。

可惜,密碼的設計本來就不是十分 user-friendly,它既要有一定的長度和復雜性,令它變個難記,同時又容易被電腦破解。除非有著雨人 Rainman 般過目不忘的記憶力,否則要求用家記住每個網站的不同密碼是不切實際,用家即使明白其風險仍傾向繼續使用同一組密碼。密碼管理器就是為解決這個問題而生。

survey shows 65% of people interviewed reuse passwords and only 24% use password manager
source: Online Security Survey Google / Harris Poll February 2019

什麼是密碼管理器?

密碼管理器的基本原理是把你所有不同的密碼儲存到一個密碼庫,再將其加密,用家只需要記住一個主密碼就能打開密碼庫。可能你會問:這豈不是將所有雞蛋放回同一個籃子裡?部份正確,但試想象這並不是一個籃子,而是一個夾萬,放置在安全可靠的地方。

一個好的密碼管理器服務只會儲存已經加密的密碼庫

使用雲端密碼管理器服務時,密碼被傳送到的伺服器前,會先在客戶端(手機 App/瀏覽器擴充套件)裡進行加密,故不會發生以明碼儲存密碼的情況,而聰明的設計甚至使他們無從得知用戶的主密碼。事實上,網絡安全專家都同意使用密碼管理器遠比重複使用密碼安全

可能你有使用 icloud Keychain、Google Smart Lock、或瀏覽器內置的管理密碼等功能,只要你使用時不會重複使用密碼,這些功能都能幫助你提高帳戶安全。但在這裡我希望介紹的第三方密碼管理器(例如:1Password, BitWarden, Dashlane),一般都擁有比上述產品擁有更多的功能,協助你正確使用密碼:

  • 跨平台 — 上述產品傾向綁定用家於一個系統/一個瀏覽器,第三方密碼管理器一般都提供跨平台服務 (Android、iOS、網頁版、瀏覽器擴充套件等),方便用家在不同裝置上使用。
  • 密碼產生器 — 密碼管理器會為你產生高強度的密碼,並幫你自動輸入到網站或應用程式裡。
  • 共用密碼 — 有時你需要與家人或朋友共用一組密碼 (例如 Netflix),或與同事共用文件或社交平台的密碼,共用功能可以讓你設定密碼的操作權限。
  • 安全報告 — 當用家使用的網站出現安全問題,或在最近的洩露事件中發現你正使用的密碼,密碼管理器便會通知用家。

以下介紹兩款較熱門的密碼管理器,選用這類網絡保安軟件(如:密碼管理器、VPN 服務)時,不宜只聽取網上某人介紹,應多作資料搜集,選取較多人推薦的公司,或向身邊的開發者朋友尋求意見:

BitWarden

Bitwarden

BitWarden 最大的特色是 100% 開源,它相信線上安全對每人同樣重要,所以其免費版已提供非常完善的密碼管理功能,適合不想有額外開支的人。

特色
  • 跨平台使用
  • 可自行架設伺服器
  • 共用密碼 (付費功能)
  • 密碼庫安全報告 (付費功能)
費用
  • 免費
  • Premium (每年 $10usd)
  • 家庭 (5 人,每月 $1usd)

1Password

1Password

1Password 是非常熱門的密碼管理器,功能齊全而且擁有友善的界面設計,其旅行模式能讓你在出國旅行時從裝置中移除敏感性資料。1Password 於去年世界新聞自由日 (May 3, 2019) 公佈 1Password 記者版,讓記者免費使用付費功能,以保障新聞工作者的私隱。

特色
  • 跨平台使用
  • 共用密碼
  • 旅行模式
  • Watchtower - 當用戶使用的網站出現資訊洩露事件時提示用家
費用
  • 30 天免費試用
  • 個人 (每月 $2.99usd)
  • 家庭 (5 人,每月 $4.99usd)
World Press Freedom Day: 1Password for Journalism
1Password 於去年世界新聞自由日公佈 1Password 記者版

假如你因某特別原因拒絕使用密碼管理器,你應重新考慮,如果你堅持不使用的話,你最少應採取以下措施:

註冊前先評估網站可信度

瀏覽設計簡陋/不知名的網站時你應提高警覺,並檢查釣魚網站的徵兆,例如網址有拼法錯誤,或將“l”寫成“1”等。假如瀏覽器為網站貼上不安全標籤 (因網址以 http:// 開頭而非 https://,s 代表 secure),你亦應多加注意。

url bar dispplays not secure when visitng a website over plain HTTP
source: A milestone for Chrome security: marking HTTP as “not secure” - The Keyword | Google

使用高強度密碼

強度高的密碼配合伺服器雜湊,能保障你的密碼在數據庫外洩的情況下亦不被破解。同時增加密碼長度和複雜性(使用英文大小寫、數字和符號)或使用 Passphrase 以提高密碼強度。單是將“1”換成“!”或“E”換成“3”不會令你的密碼變得不可破解。

考慮使得第三方認證的登入方式

如網站提供使用 Facebook/Google/Twitter 等第三方認證的登入方式,用家便不需要向網站提供密碼,但注意你以這種方式登入時亦代表你同意向網站分享你在第三方服務中的基本資料,一般包括你的姓名、email 和個人資料相片。

Identity provider Sign in

啟用雙步驟身份驗證

雙步驟身份驗證是指系統除了要求用戶輸入密碼外,亦會要求提供透過短訊、電郵傳送給你的驗證碼。現今愈來愈多服務提供雙步驟身份驗證功能,包括上述的第三方認證服務,啟用雙步驟身份驗證功能能有效提升你帳戶的安全性。

結語

我們都曾有著重複使用密碼的習慣,但隨著網上服務愈多愈多,密碼外洩的風洩也愈來愈高,故重複使用密碼的習慣已變得不合時宜。使用密碼管理器為不同服務產生不同高強度的密碼,從此你只需要記住一組主密碼,便能得到更好的保障。除了培養良好的個人密碼使用習慣,也應推廣至身邊的親友,此舉不但能保障他們的資料,也同時保障了你在他們帳戶裡的資料免被洩露。A chain is only as strong as its weakest link. 網絡安全由基本密碼做起。

閱讀 Firefox 寫的 5 myths about password managers

觀看 Computerphile - How to Choose a Password

觀看 Computerphile - Password Cracking