2010-01-07

密碼強度和密碼管理 (via KeePass)

隨著電子化的便利,我們得以用網路和電腦系統來做很多事,為了身份的識別,每個系統都會要求使用者透過輸入帳號密碼來做驗證,從去提款機交易、打開電腦要登入、使用服務要註冊,到處都需要一組甚至兩組的帳號密碼。為了方便記憶,很多人就來一組「萬用密碼」,但風險是一旦被猜中,你所有隱私就暴露了,麻煩也是一旦想改,那記得要拉出所有服務帳號來改一下。何況服務百百種,有的會限制密碼長度、有的會限制只能用數字、還有的要求你一定要文數字混用,這樣下來就算不怕死想套萬用密碼,每個人也還是要記憶個幾組。除非腦筋很靈光,不然碰到一些敲錯三次就鎖帳號的情況,記不清楚的話還要驚膽跳地去 try。當然,那些每天都會用到的服務說記不起密碼有點誇張,可是會忘記的就都是那些很少用到的,這種密碼一般只好記在紙上保管,但常常都是要用的時候卻找不到那張紙..XD (像光纖網路帳號、分享器的密碼幾年才用一次,臨時出包要用時就都找不到記在哪...)

帳號密碼在使用上有先天上的缺陷,不用懂什麼演算法和密碼學,只要輸入時站在旁邊偷瞄、檢查附近有沒有小紙條,或用暴力法直接踹(電影都這樣演,聯想猜一下就都能撞到),一下就搞定了。要增加難度,選擇一個好密碼是第一要件。一般人選擇密碼為了好記,都是用有意義的單字配上數字,像一月一號出生的約翰會用 john0101 當密碼一樣(有些人取帳號也這樣),這類密碼通常不用踹到三下就被駭了(更別說只用生日、或特定單字當密碼的)。怎麼判斷密碼強不強壯,有下面的幾個規則(或直接參考微軟:強式密碼一文):

  1. 足夠的密碼長度,最少八個字元,密碼當然是越長越好,微軟建議 14 個以上字元,在旁邊偷看也背不起來..(前提是你自己也要記得住)
  2. 避免用單字、連續或順序的文數字(像 11111、abcde 之類),以越亂越不重複為原則,避免被用字典法和暴力法破解
  3. 插入其他字元,像切換字母大小寫、使用特殊符號(空格、底線之類的)

根據以上原則決定密碼後,坊間也有不少能檢查密碼強度的服務,直接敲入現在的密碼作強度檢查,如果強度太低,還是趕緊換一個卡保險:

有很強的密碼並不是就萬無一失了,遇到「風吹草動」、或使用過一段時間,記得還是要更改一下密碼,才能算是保險(所謂的風吹草動,就是像朋友收到你莫名奇妙的 MSN 訊息或 Facebook 邀請,就有可能是帳號密碼被駭了)。對於密碼的使用和管理,除了用小紙條外,其實也有不少軟體工具能夠幫忙,對於這類工具,我覺得有一些基本要求應該符合,才算好用。首先密碼檔和軟體應該是可攜的 (portable),方便放在記憶卡或隨身碟裡保管和使用,才不會電腦掛了東西都沒了;軟體要能開放原始碼和免費,這樣能確保你重要的密碼檔不會被偷偷寄出去亂搞(像某些大陸的軟件)、或隨便被軟體公司壟斷影響其使用權;密碼檔必須被加密、使用時也要有多重認證;能夠在任何平台上使用(電腦、手機、掌上裝置),不然電腦登入密碼忘了該怎麼開機查密碼哩?當然最好有中文化介面和各種外掛,能兼顧安全和操作的便利性。最早我用的是 WM 平台上的 CodeWallet,我的 Smartphone 上裝一套,電腦裡也留一套 PC 版,拿來保管軟體序號和網路帳號密碼(但這套軟體並不是 Free 的)。換了手機以後,發現 CodeWallet 並沒有支援其他手機平台,只好轉向去找別的。後來找到的好物是 KeePassPassword Safe,實在是太棒啦!不但免費、開源,而且綠色免安裝、有中文語系,重點是差不多所有已知平台都能使用(任何電腦、手機平台都有對應工具,當然 Android 也有),建立好自己的密碼檔,在任何地方都能查詢使用,再也不怕忘記密碼了~

關於 KeePass 的教學和介紹文也滿坑滿谷,這裡不浪費篇幅介紹,直接參考下面幾篇文章:「個人帳號密碼的安全保險箱:KeePass Password Safe」、「管理密碼的利器 KeePass Password Safe,讓你從此不再忘記密碼」、「KeePass Password Safe 簡單又安全的密碼管理工具」。

KeePass 有兩個版本,一個是 1.x、一個 2.x,用起來其實一模一樣(可以參閱詳細比較表),當然新版有比較多些東西(但需裝 .Net Framework),但也因此讓舊版不能讀取新版格式的密碼檔。不過看來作者對這兩個版本都有持續在更新,所以隨便挑來使用都行(因為我有玩 Andriod 的版本 KeePassDroid,但它只支援 1.x 的密碼檔,所以我就都用 1.x 的 Classic Version 啦)。本來以為這玩意最多就拿來保管密碼,後來拜讀「電腦玩物」的文章,提到快速輸入帳密和自動化填表,才發現 KeePass 的強大!KeePass 本身就有「密碼產生器」的工具,做出來的密碼又長又安全,但鬼才記得住!原來軟體本身有提供「剪貼輸入」和「自動輸入」的功能,要輸入密碼時透過 KeePass 來貼入,這種變態密碼自己也不用去記得啦~「剪貼輸入」就是手動複製貼上,不過怕密碼被濫用,十秒後就會自動清空剪貼簿,「自動輸入」就神啦,KeePass 能根據網站或軟體去判斷應該填入帳號密碼的地方,自動幫你貼上並登入,我試了幾個網站和軟體果然 OK,看來只要記得開啟 KeePass 的密碼,其他帳號密碼都交給 KeePass 去記就好啦!此外,每組密碼也可以設定「使用期限」,時間一到會提醒你該換密碼啦,這個設計也挺貼心的。

因為 KeePass 的開放性,你可以把軟體和密碼檔放在電腦、隨身碟或安裝在手機上備用,電腦上也提供簡化的操作幫忙記憶和輸入密碼,讓一狗票的帳號密碼管理變得很簡單,當然隱私關鍵都在那個加了密的檔案上。單用密碼保護,整個檔案用 AES 加密已算是相當安全,怕密碼洩漏?也可以搭配金鑰檔再做雙重保護(也就是說要打開檔案,除了密碼外還要準備金鑰檔,不然開不了)。不過,也因為這些私密金鑰的安全性,如果哪天自己連 KeePass 的密碼都忘了,或是開檔用的金鑰遺失,那麼那些記憶的密碼資料也就都回天乏術啦~

回應: 0

張貼留言

歡迎隨便亂哈啦留言或發表意見,不過要理性不做人身攻擊~匿名的朋友得到回應的速度會比較慢喔~
請注意發問相關的禮貌和規矩,不當留言、和本文無關的回應可能會被直接刪除無視喔!