網路戰爭:用專家級「好密碼」保護自己

菲律賓曾以國家軍隊攻擊中華民國的平民漁船,造成傷亡,導致我國人民在網路上與該國爆發一場現代戰爭。

撇開利用漏洞攻擊網站的方式不談,對我們普通電腦使用者而言,防範攻擊者的各種防禦中,最基本的就是選用一組好密碼 — 或至少三組。好的密碼可以防止攻擊者用暴力破解法進行攻擊。

本文共分三個段落,第一段是介紹密碼強度與破解時間,第二段是教你如何設計一組好的密碼,第三段則是教你如何檢查自己的密碼強度

密碼強度與破解時間

記得網路這項新興科技才剛開始流行時,最多人喜歡的密碼是 12345678。

利用暴力破解法破解這組密碼,總共花費的時間只需要… 0.0002秒!

到了近代,人類智慧有了飛躍性成長(謎之音:難不成前面是尼安德塔人嗎?),懂得使用更複雜的密碼形式,提升密碼的強度,像是:

5201314 —> 我愛你一生一世

ILoveYou —> 我愛你

1.2448 seconds

23113731 —> 總統府電話

10.4773 seconds

MaTheBumbler —> 不解釋

14.025385 minutes

對了,有一組密碼可說是世界上超多人的最愛,說它是排在愛用密碼表前五名也不為過。

這組密碼就是 password 本身。

甚至許多網路機器的預設密碼就是 password,後面使用者也懶得更換。這項統計結果可是經過美國學術單位進行研究認證的呦。

如何設計一個好密碼

筆者接下來將提供幾點關於密碼設計的觀念給大家,如果有誤或不足處還請高手指正。

第一點,使用至少三組密碼。

筆者一再傳達的安全理念之一,就是網站主自己要認清網站的規模與實用度,詳細內文可參見《給網管的一封信: 符合網站重要度的密碼規則是重要的》。

反之,對我們使用者來說,在不同等級的網站,使用不同安全等級的密碼,就是相對方便與安全的一種選擇。

舉個例子讓大家方便瞭解,例如社交網站用 0000,電子信箱用 1234,銀行交易用 6749。

大家應該可以從這三組密碼看出規律。

本質上就是字串的複雜度不同,這部分我會在第三點做更進一步的補充。

其實「不同複雜度」的使用方法只是筆者習慣,如果大家的記憶力超越常人,那每一組密碼都用極端複雜的組合也是很棒的,但我可是很懶惰的。

重點就是,不要貪圖方便,只用一組密碼闖就想蕩網路世界。

在完成至少三組的密碼設計後,一定要記得,千萬不要在陌生網路及電腦環境中,使用最高安全等級的第三組密碼

簡單說,越重要的密碼,越不要輕易使用。

所謂的陌生環境指的像是學校公用電腦網咖、路邊隨意接上的 WIFI 無線網路,甚至連友人家的電腦都包括!

在這些陌生環境中,有太多的可能會被竊取密碼,無論是透過現實或虛擬技術,無論是有意或無意。

當你徹底執行上面所說的步驟後,對一般善良老百姓而言,唯二剩下可能會被竊取密碼的機會,大概就是遇到惡劣的網站設計者,以及自己使用電腦的不良習慣。這邊有機會等開新文章再來談吧。

第二點,定期更換密碼。

原則上建議每三個月到半年就要更新一次密碼。不過對於社交網路使用的密碼,除非發現異常狀況,否則我也懶得更換害羞

第三點,使用好的密碼規則。

所謂好的密碼規則,簡單講就是越複雜越好。以「dQ&@Fj2w#!e3W」為例,破解密碼所需的時間就是…

在這個經過設計的密碼範例中,包括幾項重點:

  1. 長度:密碼字串長度至少為 8 個,越長越好;但在一般網路環境中,不建議超過 16 個。以 8 個 A 的密碼 AAAAAAAA 為例,INTEL 告訴我們破解密碼的時間需要 6 小時,但是當長度由 8 個 A 提升到 9 個 A 時,便需要 6 天才能破解。順帶一提,如果是 16 個 A,則需要 144883728 年。
  2. 構成:我將密碼的構成元素由簡單到複雜依序排列,包括「數字」、「小寫英文字母」、「大寫英文字母」、「符號(e.g. ~, @, #, $, %, ^, &, etc,.)」。其中,最簡單的密碼設計可以是單純的「數字」。進階版本則是加入「小寫英文字母」,像是 love1314(0.0272 秒)。因此,若想增加密碼強度,只要加入更多相異的元素便能達成。不過有些網站系統可能不支援數字及符號密碼,這也是需要注意的地方。
  3. 組合:我用相同構成元素的兩組密碼「A1234#5678」及「A#12345678」來做個實驗,破解時間分別是「0.0589 Seconds」以及「0.2266 Seconds」。我們可以知道,即使採用相同的構成元素,只要在組合時稍微花些巧思,也能有效的提升密碼強度,在這個例子中就差了將近四倍的時間。基本的大原則就是,將最複雜的構成元素擺在前面,這也是許多網站會嚴格要求第一個字母採用大寫英文的原因。

第四點,如果網站本身提供第二道安全認證,使用它。

所謂第二道安全認證,是類似一種雙重鎖的安全設計,它讓使用者在特定狀況下,需要輸入第二密碼才能進入受保護的空間,更進一步的使用可見我所寫的文章《網路安全: 建議使用兩階段驗證密碼 – 設定教學與手機 APPs 支援》。

例如,臉書在「帳號設定(Account Settings)」中的「帳號保安(Security)」選項,提供「登入許可(Login Approvals)」功能。Google 在帳戶設定中的安全性設定中,提供「兩步驟驗證」服務(Google 官方兩步驟驗證教學)。

這兩間不同公司卻提供相似的服務,目的就是在某人透過「陌生電腦」連上臉書或 Google 時,需要額外輸入經手機接收的安全驗證碼(Security Code),以便確認是由本人親自登入。

另外,有些網站會主動要我們使用兩種密碼,以因應前、後台不同的使用時機,這樣便能造成入侵者的困擾。

但是,我要特別聲明,如果你發現網站甚至會自動幫你驗證這兩種密碼是否相同時,不要高興太早,認為這讓安全等級更高。

因為你的密碼已經暴露在風險下。原因是系統需要先知道你第一次設定的密碼內容,才能加以驗證,這不是很荒謬嗎?

檢查自己的密碼強度安全

如同本文剛開始的測試,如果你想檢查自己的密碼強度,可以到 INTEL 提供的專屬網站進行檢查,網址是:https://www-ssl.intel.com。

只要將密碼輸入文字框,按下 GRADE MY PASSWORD!,系統便會找出你的密碼需多久時間才能破解。

雖然是 INTEL 的官方網站,但我個人還是不建議輸入正在使用中的密碼。大家其實可以採用比較迂迴的方式,譬如 ILoveYou 換成 ILoveLin(害羞)。

Change your password.

比 ILoveYou 還簡單呦 害羞

…………… 沉思

分享您的想法

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

在〈網路戰爭:用專家級「好密碼」保護自己〉中有 2 則留言

  1. 口水每

  2. 這裡也好釀釀