烏克蘭軍方用 123456 當密碼?你以為你的就很難嗎!
最近網傳一件讓人無語的事:據烏克蘭獨立新聞社披露,烏克蘭武裝部隊的 「第聶伯羅」 軍隊自動化控制系統的伺服器密碼是 「123456」,使用者名稱更是預設的 「admin」。
▲ 圖片來自:giphy
這事是真是假暫且不說,生活中隨便起密碼(甚至不改預設密碼)的人,還真不在少數。不過,別急著嘲笑別人,即使你精心編織了一條連你自己都打不對第二遍的複雜密碼,就真的是安全的嗎?
美國國家安全域性(NSA)為了破譯恐怖組織的密碼,斥巨資建造了一臺可以破解一切密碼的機器:萬能解密機。
這是美國作家丹 • 布朗在其小說《數字城堡》中虛構的情節。以人類今日之科技實力,打造這樣一臺無堅不摧的 「神器」 還只是個遙遠的夢想,但如何在網路社會中保護自己的個人隱私一直是個現實的問題。20 多年來,現代人已經掌握了 「數字城堡」——密碼的構造方法,自認為可以高枕無憂,但事實遠非如此。
越複雜的密碼越安全嗎
人們通常認為,把密碼設得越複雜,別人就越難猜到,但這樣一來無疑增加了記憶的難度。而對於那些企圖窺探你祕密的人來說,他們也只是想不到,而非 「猜不到」。
現如今,還有幾個人破譯密碼是靠大腦 「猜」 的呢?
經過二十年的努力,我們成功地陷入一個誤區,那就是把密碼設的越來越難以記憶,然而卻被計算機很輕鬆地就破解出來了。
保證密碼強度的關鍵
那保證密碼強度的關鍵到底是什麼呢?其實,上面的漫畫已經給出了答案:密碼長度。
這裡引入資訊學中的資訊熵(我們常聽人說這個資訊多、那個資訊少,對資訊 「多少」 的量化就是資訊熵),用它來作為密碼強度的評估標準。資訊熵計算公式為 H = L log 2 N,其中,L 表示密碼的長度,N 的取值見下表:
從上面的公式和表中,我們可以看到,密碼強度 (H) 與密碼長度 (L) 和密碼包含字元的種類 (N) 這兩個因素有關,然而它們對密碼強度的影響是呈指數倍的關係。
舉個例子,假設密碼長度的單位為位元,8 個位元即為一個位元組(即輸入密碼時的一個字元,一個位元組可以代表 256 個不同字元),如果某臺超級計算機的計算能力為每秒能完成 2 56 次組合運算,破解 8 個字元組成的密碼僅需 4 分 16 秒。
當密碼長度達到 16 個字元的時候,暴力破解它需要 149,745,258,842,898 年!要知道太陽的壽命也只有約 10,000,000,000 年。
更大的風險 :萬能鑰匙
在現實生活中,我們都選擇 「一把鑰匙開一扇門」,誰都不會希望有一把鑰匙既能用來開家門,也能用來開車門、公司的門、宿舍的門,因為這把 「萬能鑰匙」 一旦丟失,損失將是慘重的。
隨著網路社會的發展,如今大多數人都握有十多個網站的賬號,你是繼續選擇 「一把鑰匙開一扇門」 的策略,還是改用 「萬能鑰匙」 的策略呢?
如果是前者,那麼無疑將增加你的記憶負荷,如果是後者,安全隱患是顯而易見的。
▲ 圖片來自:XKCD
而要說的是,許多人都意識到了這點,並且為了避免這種情況,相當一部分人選擇將密碼分為兩部分,一個主要部分(比如是 123456 ),另一部分則根據賬戶而定: 比如 QQ 的密碼就設為 qq123456 ,而 hotmail 的密碼則是 hotmail123456 等等。
但如此直白的設定,頗有掩耳盜鈴的味道,一旦一個賬戶失竊,看穿這個規律,也不過一秒的事情而已。
與黑客的博弈
為了規避上述種種風險,大家開始設定許多個又長又複雜的密碼,但複雜的長密碼並不容易記住,更何況是要記住好幾個這樣密碼(請問有誰沒有忘記過密碼呢)。
在經歷了多次遺忘密碼的痛苦之後,人們又開始傾向性地選擇那些容易讓自己記住的資訊作為自己的密碼,比如自己或親人的姓名、生日、電話號碼等等——但這恰恰把安全隱患留給了躲在暗處的黑客。
有人對使用者的密碼做過統計,研究他們設定密碼時的偏好,並將統計結果繪製成圖: 61% 的使用者喜歡使用人名、地名、字典詞彙和純數字來設定他們的密碼,甚至還有 2.6% 的使用者直接把他們的使用者名稱當做密碼使用(比如把 guokr123@… 的密碼直接設定為 guokr123 )。
來看看對 Sony 公司的使用者密碼做過研究調查,結果令人堪憂。
這些都是具有安全隱患的密碼設定策略!黑客們瞭解使用者的密碼設定習慣後,就可以編寫 「密碼詞典」,有了它,就能在暴力破解的時候大大提高精準性。
做個高明密碼
有網站如 1PASSWORD 給出了新的策略:它相當於為你提供了一個帶鎖的記事本,可以讓你把所有的密碼記在這個記事本上,你只需保留開鎖的鑰匙 / 密碼即可。
撇開這個網站的靠譜程度不談,單單為了這樣一個記事本,你就要付出 40 美元的代價。同時請別忘了,它僅僅為你解決了記憶密碼的問題,還是沒有逃開設定密碼這個更加頭疼的問題。
那如何設定一個靠譜的密碼?
用統一規則記住多個不同密碼是個不錯的選擇,畢竟記住一個規則比記住一串雜亂無序的字元要容易多了,也可以實現 「一把鑰匙開一扇門」 的策略。
在這裡舉個例子,給出一個簡單的密碼設定規則(以電子信箱為例):
規則:
密碼=2(使用者名稱識別符號(小寫 / 大寫)+使用者名稱長度+.+網站識別符號(大寫 / 小寫))
例項:
[email protected],密碼為:gk8.GM GK8.gm
[email protected], 密碼為:ssh10.HTSSH10.ht
但是,真的安全了麼?
▲ 圖片來自:XKCD
所以還請讀者記住的就是,一個優秀的密碼可以儘可能地降低風險,但它不能將風險降為零。
本文來自公眾號「果殼」(ID:Guokr42),作者為 D-Horse,愛範兒經授權釋出。