自己都不記得的密碼 才是惟一安全的密碼
原創【51CTO.com 獨家譯稿】在文章的開頭,讓我們假設,你正在登錄一大堆各種各樣的網站:Facebook、Gmail、eBay、PayPal,或者是一些網上銀行,也可能是論壇之類。這個時候,讓我們考慮幾個問題:
1. 你總能為不同的網站設置完全不同的密碼,以保證自己不會把同一個密碼重復使用嗎?如果答案是肯定的,那么你能把這種好習慣永遠保持下去嗎?
2. 你的密碼總是用不同的細節類型加以鞏固嗎,例如采取大、小寫字母結合或加入數字及標點符號?它們的密碼"強度"高嗎?
如果在這些問題上,你的答案不都是肯定的,那么你很可能會面臨一些問題。而且事實上,你根本沒辦法完全記住自己那些充滿特性、具備極高強度的密碼。并且你越早意識到這一點,你就能夠越早地采取措施,為自己找到更安全的加密系統解決方案。
請允許我用實例說明一下上述問題,我會告訴大家當你重復使用或創建一些與現實生活中的數據相關的低強度密碼時,會對安全方面造成哪些不良影響。我還會告訴大家怎樣通過一款優秀的密碼管理器來克服這些不良影響,借此來亡羊補牢,除非你打算完全憑腦力來記憶那些復雜難辨的密碼。
專題推薦:密碼學:從理論到實踐
管理多個賬戶時的煩惱
設想一下,大家在互聯網上有多少個賬戶?十個?二十個?還是五十個?可以確定的是,我自己目前已經有九十個左右的賬戶因為忘記密碼而無法登錄了。而且即使常用賬戶只有十個,如果大家試圖分別為其創建高強度、各不相同且便于記憶的密碼,那么結果無疑只能是失敗。
當人們采取一種特定的模式來創建密碼時--例如在密碼中包含自己的姓氏、寵物名字、個人愛好或者其它一些自然情況--這種有規律可循的密碼設置模式會導致什么后果呢?這種設置模式絕對是一把雙刃劍,一方面它使我們的密碼更便于記憶,但另一方面,就算是我們通過一些手段對其加以掩飾,一旦思路被他人掌握,安全性的問題無疑是得不到保障的。
那些包含規律的模式及可推測得出的字符不夠安全,但相比起來更糟糕的就是重復使用同一密碼。這種方式能為我們輕松解決該死的密碼記憶問題。好吧,輕松是有了,安全性呢?完全沒戲。
結構簡單的密碼所帶來的問題
首先,什么樣的密碼可以被確切地稱為簡單的密碼?
讓我從另一個角度--分析高強度密碼的特點--來解答這個問題:一個高強度的密碼應該具備高度的我們稱之為"熵"的特性,或者簡單來說,應該是盡可能由一個長效的、完全由隨機內容(如大小寫字符及序列)所構成的模式。正如"熵"這個名詞的鏈接中所解釋的:
人們在利用熵的特性來產生優良的安全密碼方面,向來是非常失敗的。
備注:熵,是一種衡量系統中無序或無效狀態的度量,代表事物在不確定性方面所表現出的強度。
請允許我說明幾個最近發生的,由于上述密碼安全問題所導致的事件。首先說說Gawker,去年十二月份安全攻擊的受害者 ,該事件導致了數百萬用戶的賬戶被公開。更糟糕的是,這些賬戶被直接張貼在網上,任何訪問者只要愿意,都能夠直接查看到哪些用戶已登錄以及他們的密碼內容是什么。
有趣的是,在那些公開的信息中,我們看到拙劣的密碼設定仿佛已經成為一種趨勢。看看下面這些密碼吧:
123456, password, 12345678, qwerty, abc123, 12345, monkey, 111111, consumer, letmein, 1234, dragon, trustno1, baseball, gizmodo, whatever, superman, 1234567, sunshine, iloveyou, fuckyou, starwars, shadow, princess, cheese
上述二十五個密碼在Gawker賬戶中共計被使用了一萬三千四百一十一次。單單是第一個密碼:123456,就被使用了超過兩千五百次。
另一個情況類似的例子是上個月rootkit.com所遭受的攻擊。反數據庫的密碼分析顯示,使用頻率最高的前二十五個密碼為:
123456, password, rootkit, 111111, 12345678, qwerty, 123456789, 123123, qwertyui, letmein, 12345, 1234, abc123, dvcfghyt, 0, r00tk1t, ì??ê?à, 1234567, 1234567890, 123, fuckyou, 11111111, master, aaaaaa, 1qaz2wsx #p#
似曾相識吧?更糟糕的是,你可以很輕易地通過用戶名推斷這些密碼的歸屬,只要你知道在哪里能查看到這些用戶名(我把名稱部分做了模糊處理,但其原件在網上不難找到):
但這兩個實例中真正關鍵的部分是為我們指明了密碼強度的重要性--盡管所有這些數據都是經過加密之后儲存在數據庫中的。拋開密碼學角度的概念解析,這兩個事件中的癥結所在,其實是密碼設定方式太過兒戲。
當一個數據庫--例如rootkit.com的情況--直接暴露在網絡環境中,又缺乏強有力的加密保護,黑客們就可以通過常用密碼索引的反饋及嘗試將其與數據庫內容實施比較的方式來進行匹配,借以重現密碼內容。加密保護可能意味著上述嘗試過程需要被重復上無數次,但這種暴力破解是完全自動化的,黑客們只需要靜靜等待結果即可。
密碼索引非常常見且易于獲取(看看其中有沒有你自己的密碼?),而軟件則借助該索引對反數據庫展開攻勢。這一過程中最大的限制在于,計算機需要具備足夠的運算能力來執行這一超級消耗資源的處理過程。但我們都知道,計算機的運算能力迅猛發展,我們可以很容易地獲取足夠的處理資源以便在一秒鐘內進行四十萬次密碼測試,而經濟成本,每分鐘只需二十八美分。
而密碼設置的底線是,如果你的密碼需要符合可識別的模式,那么你仍然有機會選用到密碼索引或普遍猜測無法破解的內容(例如你妻子或孩子的名字)。而如果你的密碼長度很短,或是其中的字符間的變化很小,那么大量的隨機嘗試將很有可能將密碼猜中,而你的安全信息也就成了觸手可及的待宰羔羊了。
密碼重復使用的問題
你可能已經了解到,自己不應該在多個賬戶中重復使用相同的密碼,但我還是希望能通過自己的視角做一些盡可能清楚的說明,這又何樂而不為呢。以下是在我的電子郵箱中靜待閱讀的最新記錄:
大意為:我們網站最近得到消息,稱有些黑客意欲對我們展開攻擊。我們發現您的賬戶密碼可能被盜用。如果該密碼也被同樣用于其它賬戶,這種做法顯然是不夠安全的,我們建議您立即修改密碼。
郵件的內容可能不是特別清晰,但其主旨在于提醒我們,如果電子郵件地址及密碼被盜用,其后果是相當嚴重的。相對于單個網站來說,個人資料泄露會給我們帶來一些不便。但如果同樣的密碼被重復使用于我們的金融理財、社交網絡尤其是個人的電子郵箱賬戶上,帶來的就不僅僅是不便,而是非常可怕的后果,它可能會對個人財產及經濟信用方面造成極大危害。#p#
上述Trapster網站事件后的第二天,tweeter用戶的相關評論就如雨后春筍般出現:
內容:我發現因為早先下載并在兩年前就已經刪除的Trapster應用程序被破解,現在自己正在用的谷歌賬戶也被盜了。簡直豈有此理。
那么讓我們回到我在文章開頭提到的Gawker事件,在事件發生之后很短的時間內,那些同時在使用Twitter賬戶的Gawker用戶們就發現,他們的Tweitter賬戶同樣發生了異常。于是他們對Acai berries的口誅筆伐就此展開。
這個清楚明了的例子向我們展示了重復使用密碼所帶來的危害。Gawker數據庫非常巨大,因此其中重復使用密碼的現象也非常普遍,這也為大量Twitter賬戶的丟失埋下了伏筆。這些事件用實例告訴我們,通過分析那些根據現實生活中的數據所設定的密碼,其重復使用率高得驚人。
毫無疑問,大多數這類問題的起因都是網站的現有安全措施不得力。不考慮各項安全指標的話,制作一個網站實在是非常非常簡單。而問題的另一個方面是,幾乎所有的軟件開發人員在制作網站時,采取的態度往往都是"我們這個網站上的信息并不敏感,所以安全性也沒那么重要啦"。話是沒錯,只不過如果你把自己的貝寶賬號與該網站的密碼設定得一樣的話,轉眼之間你就會碰到嚴重的問題了。
因為我們常常要使用重復的用戶名--這也是無可奈何的,有時候你的用戶名必須是自己的電子郵箱地址,所以沒有別的選擇--這種妥協會讓你的密碼很容易地從你的一個賬戶被引用至另一個公開賬戶,只需按相同的用戶名搜索即可。其實有一大堆類似用戶名泄露應對辦法及Hotmail允許輕松創建用戶名不同的附加電子郵箱這類可以大大減少你賬戶風險的服務可資利用,但這很可能并不是你目前所急需的安全保障功能。
上述情況在日常應用中普遍存在嗎?
答案是相當普遍。Gawker,rootkit.com以及Trapster都是眼前的例子,除此之外還有更多。打算網上約會?你可能聽過"Plenty of Fish"這個站點:
內容大意為"Plent of fish"網站用戶講述自己賬號被盜的情況。#p#
喜歡Lush提供的洗化產品?他們的英國站點在今年的早些時候也被攻擊了:
你不用英國的Lush站點,并認為自己的資料是安全的?未必(但別擔心,這些事件之間并非"有關聯"的…):
內容為Lush網站被攻擊。
當然這些都是非常有針對性的攻擊。而惡意的電腦活動則遠遠超出了這一范圍,且很難把握其出現規律。我們現在需要面對的是大約五千萬種電腦病毒,而去年真正爆發并產生危害的只是其中的兩千萬種。
我討論的這些內容并非聳人聽聞,只是試圖通過這樣讓大家了解到這種現象其實極為平常。前面所舉的例子只是近期發生的眾多安全事件中的幾個。而且目前仍有大量我們尚未發覺的攻擊行為正在進行,更可怕的是我們的網站運營商們甚至對于這種已經超出用戶協議條款的權益侵害還蒙在鼓里,同時還在興高采烈地討論其網站的運作秩序多么良好。#p#
"安全"密碼的神話
首先來說,"安全"這個詞常常以一種不容置疑的口吻被提及。事實并非如此,就說說Stuxnet病毒吧,伊朗核設施中控制離心機的電腦--該電腦完全運行于與互聯網斷開的環境下--依然被該病毒成功攻擊。而這類電腦設備一直被認為在"安全"方面做得天衣無縫。
這種情況有點像是在形容一輛汽車是"安全"的。有些產品其實比其它產品做得更好,這一點毫無疑問,但歸根結底它只能為用戶提供"相對較低"的風險。你其實是在做一種交易--簡單點說例如設定一個密碼或是購買一輛汽車--你會得到相應的風險回報,如你的資料需要更多時間來破解或在汽車中獲得更為安全的氣囊裝置。
這就是為什么有些運營商(例如谷歌)認為用戶需要創建并牢記那些比較安全的密碼。
真的嗎?你會去嘗試盡力記住像"Ilovesandwiches(我愛三明治)"這種長度的隨機密碼嗎?其實你所要做的是,將其字符順序做一些調整,并記住哪種組合對應的是哪個站點上的賬戶。
此外,高強度密碼的基本思路是要避免使用可預測的設定模式。使用@符號來代替字母a,或是用數字3來代替字母e真能使那些賬號大盜們焦頭爛額嗎?將好記的密碼模式通過替換字符表達方法的方式加以保護,其實是相當表面化而且薄弱無力的辦法。相信我,盜號者們都聽說過這種招數。
事實上,我在前面給出的密碼索引中,這種包含字符替換的情況屢見不鮮。在那里你會發現類似"S@ygoodbye"和"socc3rRul3s"這樣的密碼其實并不完全"安全"。
把你的密碼寫在紙上也不會對賬號安全起到什么積極作用。因為你經常使用的密碼很多(正視這一點,絕對是很多),你會需要把賬戶名稱也跟密碼寫在一起,這意味著你已經為那些意圖不軌的竊賊、充滿好奇的孩子及喜愛八卦的客人們提供了絕佳的窺探溫床。
以手寫形式記錄密碼的另一個問題是,如今我們中的許多人都會在不同的地點以不同的方式(例如家用電腦、辦公室電腦及我們的移動設備等)登錄賬戶。而事實上,很多情況下我們都無法同上網一樣輕松地在手邊拿到自己的密碼記錄本--這對于多數人來說都是種極大的不便。
而最后一點,手寫高強度的密碼絕對會帶給你很多痛苦,尤其是每次登錄時不斷地重復輸入。記住,一個高強度的密碼通常會很長,內容也會非常隨機,而完全手動地輸入它會讓人覺得異常乏味,也很容易出錯。
那么把這些密碼存儲在一個Word文檔中或是類似Outlook這樣的筆記本系統中呢?顯然它們相當容易被盜,而這種情況一旦發生,其中的內容也極易被提取,因為這些保存機制都不會被加密。當有人打你這類記錄文件的主意時,造成的損害絕對會令你相當不愉快。
讓自己從密碼的煩惱中解脫出來
從字面上來看,我們的標題的確有點奇怪。在忘記了自己密碼的前提下,我們究竟要怎樣登陸自己的網站賬戶呢?!其實你所需要的非常簡單,就是一套專門的密碼管理系統。而這種實用且安全的機制在實際應用方面就目前來說還非常有限。
幸運的是,我們找到了一些專門處理這類問題的工具,例如LastPass,KeePass以及我個人的最愛--1Password。所有這些工具都能為我們的資料提供強力的保護,而其記錄的每個密碼都有獨立的加密機制。當然你還需要額外的一個密碼才能將加密的文件解開,但在前面提到的這些工具軟件提供的幫助之下,你只要記住這一個密碼就夠了。
編輯注:我們在最近的幾個月中,一直在提到如何利用LastPass 來改進我們的密碼安全度。在下面的內容中,文章會帶領大家一起深入了解1Password《1Password密碼管理器使用指南》。選擇內容中適合你,尤其是適合你正在面對的應用問題的部分是最重要的。
原文鏈接:http://lifehacker.com/#!5785420/the-only-secure-password-is-the-one-you-cant-remember
【51CTO.com獨家譯稿,非經授權謝絕轉載!合作媒體轉載請注明原文出處及出處!】
【編輯推薦】