這是一篇給朋友的密碼管理思路分享,我想盡量簡單地介紹一些保護自己賬號安全的方法,尤其是最近爆出安全隱患的蘋果賬戶(Apple ID)。
1. Apple ID能干嘛
雖然很多人都在用iPhone,但是其實大部分用戶是沒意識到Apple ID的重要性的,尤其是一些IT知識比較少的妹子。
如果別人有了你的Apple ID可以干嘛?簡單說吧:
- 可以用照片流功能看到你拍攝的照片
- 可以看到你iPhone同步到iCloud里的便簽、提醒事項、日歷
- 如果你的iPhone開了iCloud文稿同步,那么幾乎所有你iPhone里的東西都會被同步到另外一個有你Apple ID密碼的人手上,包括微信、郵件、短信聊天記錄。
- 甚至可以偽裝成你,用你的身份向別人發送iMessage)
去年有過重磅新聞,黑客盜取了大量好萊塢影星的Apple ID密碼,并以此進入她們的iCloud相冊,導致這些好萊塢影星的艷照泄露。當然,照片我是不會貼在這里的。
2.漏洞簡介以及如何應對
上周末Apple的Xcode Ghost漏洞占據大部分科技媒體頭條,這個漏洞已經影響到幾乎中國的每一臺iOS設備,由于Unity等開發軟件也被爆出同樣的問題,應該說影響范圍已經擴大到所有手機系統了。據(烏云測試),這個漏洞威脅很大。不確定Apple ID的密碼是否會因為這個漏洞而泄露,但比較保險的方式,是在更新各種APP后,修改自己Apple ID的密碼,以及開啟兩步認證,保護自己的Apple ID。
如何設置兩步驗證?
- 前往“我的 Apple ID”。
- 選擇“管理您的 Apple ID”,然后登錄。
- 選擇“密碼和帳戶安全”。
- 在“兩步驗證”下,選擇“開始設置”,并按照屏幕上的說明操作。
3.密碼管理思路
所以要談到本文的重點了,如何管理自己的密碼?現代社會,幾乎所有還在上網的人,都有一大堆密碼。QQ、郵箱、微博、各種論壇、銀行……而大部分人,為了簡單記憶,無論什么帳戶,都是同一個密碼,而且往往是用生日或姓名簡稱組合在一起的弱密碼。
這樣做的風險不用我再廢話了,每天都有網站的用戶數據庫被黑客竊取,更別說有些無良網站自己就在明文存儲用戶的密碼。如果這樣做,那么黑客只要知道你一個密碼,就可以登陸你的全部帳戶。
如果你覺得黑客離你生活太遙遠(其實也不遠,只是你不知道而已),那么換個例子吧。可能你為了方便,告訴了某個朋友某個論壇的密碼,而他出于好奇,用你的賬號+密碼登錄其他網站(QQ郵箱之類的),你的隱私可能就全部暴露了。
所以最基本的密碼管理思路就是:不同的服務使用不同的密碼。當然,如果有上百個帳戶,不可能為此記憶上百個密碼,所以為此我們要有一套科學的方法論。以下是我建議的三種管理模式,循序漸進:
3.1 密碼分層
為全部帳戶設置不同的密碼幾乎是不可能的,但至少你應該為你的關鍵帳戶設置獨立的強密碼。這些關鍵帳戶包括但不僅限于:Apple ID,網銀密碼,支付寶,還有你的郵箱。很多人會忽視郵箱,但其實大部分賬戶密碼都是可以通過注冊郵箱找回的,所以郵箱密碼應該足夠強大。
然后如果你很懶,給剩下的帳戶使用同一個密碼就行了。但如果你還有最基本的隱私保護意識的話,你至少要把社交網站的密碼,改成和普通網站的密碼不一樣。
3.2 進一步加強
如果你僅僅是關鍵帳戶使用一個密碼,社交網站一個,普通網站一個,那么是比以前安全多了,但還遠遠不夠。關鍵帳戶用同一個密碼是極其不安全的,最起碼,Apple ID和郵箱密碼不應該一樣,否則黑客在有竊取Apple ID后,完全可以猜出你的郵箱以及密碼,進而進入郵箱,找到你一大堆網站的注冊記錄。然后你所有的帳戶都淪陷了。
那么怎么為不同的網站設置不同的密碼?其實如果有一套邏輯清晰算法,那么既可以便于記憶,又能夠足夠安全。舉一個算法的例子:
想一個“核心碼”,把核心碼和登錄網站的服務商域名,用橫杠連接,就是該網站的密碼。比如“核心碼”是姓名縮寫+身高——"cyj186", 登錄的帳戶是QQ,服務商的域名就是騰訊“tencent",那么這個密碼就設置好了--"cyj186-tencent".
但是以上這個算法很脆弱,黑客看到QQ的密碼里有tencent,就很容易猜到你的新浪密碼是"cyj186-sina"。 而且最后得出來的密碼也不夠安全——它沒有大寫字母,長度不夠,也沒有特殊符號。
事實上,如果你試著拿這個算法去生成Apple ID的密碼,你會發現這一關就無法通過,因為Apple ID的密碼規則就是至少要有一個大寫字母,一個小寫字母以及一個數字。而且不只是Apple,很多網站現在都有類似的規定。
所以可以動動腦筋,將算法給強化。怎么強化可以自己想,這個過程挺有樂趣。
我舉個例子,首先還是利用域名作為變量,這樣好記憶。但是不要取全部域名,這樣容易被猜出來。
比如只取域名的第一位、第二位和最后一位,繼續以tencent為例,得到tet,這時密碼已經變成”cyj186-tet“了,大部分人不會一下發現tet和騰訊的關聯,也就猜不出來你的微博密碼是cyj186-weo。
還不夠安全,用域名換算成密碼是個很常見的方法,仔細觀察可以看到tet和tencent的關聯。所以可以再用簡單的替換加密法,讓字母看起來完全沒有規律。
舉例而言,把變量的每一個字母往后推一位,就可以讓你的密碼看起來完全沒有規律。(被迫害妄想癥患者可以選擇第一個字母加一位,第二個字母加三位,第三個字母減一位之類的更無規律算法)
變換前 | 變換后 |
---|---|
t | u |
e | f |
t | u |
然后還不夠,記得我們需要大寫字母和特殊符號嗎?改一改核心碼就行了,并不會很復雜。比如cyj186,這個核心碼太短了,可以改成chenyj186, 將首字母大寫,并把h這個字母,用形狀類似的#代替。這也是一種加密方法,叫做leet。類似的例子還有把"i"用"!"代替,把“s"用"$"代替之類。[注1]
最后,你得到了"C#enyj186-ufu"這個密碼,大部分人即使獲取了這個密碼,也無法猜到你其它的帳戶密碼會是什么。
肯定有人會認為這個方法太變態太復雜了,但其實你想想吧,核心碼C#en186是一直不變的,你很快就能熟練輸入這串數字。只不過尾數那個由域名產生變量是你計算出來的,所以記憶非常簡單,臨時想不起某個密碼時,使用這個算法也很容易推算出來。
事實上,只用域名作為變量還不夠安全,我推薦對于真正核心的密碼,比如郵箱以及支付寶,應該找一個和域名沒啥關系的單詞,將這個單詞用替換加密法轉換后,和核心碼結合作為密碼。舉例而言,我曾經用幾個很喜歡的電影女神的名字,Leet后,加上核心碼,分別作為支付寶、Gmail和Apple ID的密碼,不僅好記,輸入密碼時還有點小激動呢。
3.3 終極管理方案--軟件
最終極的解決方案可能是軟件,但它未必是最好的。介紹文章可以看這里。沒用過的人可能比較難理解軟件如何管理密碼,可以下載個試用版感受下便知。
簡單說,這些密碼管理軟件都是一個思路,就是建立一個加密文件,儲藏所有你的密碼信息。你打開這個加密文件是需要一個主密碼的(為了不被暴力破解,主密碼應該足夠長并且復雜),所以你只要記住一個主密碼,并且確保它不泄露即可。
還要記住永遠別丟失這個加密文件,經常備份它,現在主流做法是把這個文件放到Dropbox之類的網盤。別擔心網盤服務商打開它,理論上沒有主密碼,他們是破解不了這個文件的。
在習慣這個軟件后,你可以用它為你所有賬戶生成不同的密碼,生成的密碼是類似于“OIj1FvZOkk1BaROSs9QH“這樣的,所以基本沒有暴力破解它的可能性。當然你也基本不可能記住它了,得依賴這個軟件幫你自動輸入。
當你用主密碼打開這個加密文件后,你可以用多種方式輸入密碼,可以復制粘貼,或者是用瀏覽器的插件,自動代填密碼。后者是否方便,是這個軟件你是否能堅持使用下去的關鍵。現在市面上此類軟件很多,但售價不一,主要區別就是它們的自動記憶密碼以及自動代填功能是否足夠方便。
軟件方面,最主流的三款應該是1Password,LastPass和KeePass。我認為最強的解決方案應該是1Password,整體體驗非常好,但是缺點是極其昂貴。Windows,OSX和iOS等不同平臺的授權都要分開購買,買下一套來得要幾百RMB。
KeePass是窮人的選擇,完全開源,免費,輕量級,也很好用,但自動填密碼的功能和1Password有較大差距。
4.我目前的解決方案
我在使用一段時間破解版的1Password后,覺得自己需求不夠大,所以并沒有選擇付費購買1Password。但更重要的原因,是1Password之類的解決方案,畢竟是把所有密碼信息放在一個地方。雖然沒有證據顯示,1Password存在漏洞可以被破解。但這種把雞蛋放在一個籃子里的做法,可能發生“主密碼太久沒輸入忘記了”/“被一個美女用糖衣炮彈攻勢成功騙取到主密碼”/“黑客使用社工/鍵盤記錄木馬等方式,偷取到你的主密碼”這一類慘劇的發生。
所以我選擇設計一個好的算法,用密碼分層+替換算法的方式,自己記憶。有一些輔助記憶文字信息,我記錄到了Onenote的加密分區中。要打開Onenote,需要知道我的微軟賬戶密碼,此外筆記本是用不同的密碼加密的,雙重加密盡量確保安全。此外也使用了KeePass記憶一些信用卡、賬戶信息作為記憶的輔助。
我估計大部分人看完這篇文章后,還是會覺得這種密碼管理方案過于復雜。但至少我建議把Apple ID、支付寶這些關鍵密碼和其他網站的密碼分開來。而且算法復雜可以自己簡化,只要貫徹一個思路,就是盡量地使用不同密碼,以及設計一個只有自己才知道的算法。真的嘗試這個方法一段時間后,你會發現其實一點都不會不便。
[1]. 這種替換方法是很多人的加密方式,好記又有點安全性。常用的Leet表在這里有個介紹。