如何構建自己的密碼
原理很重要,技巧是浮雲,拋磚引玉,且看且思考。
來源:
http://k162.space/password_strategy/
一、為不同的賬戶類型制定不同的密碼策略
1. 賬戶類型
首先我們可以很容易把賬戶分為兩類:重要賬戶與一般賬戶。 分類是為了制定密碼策略,因為這兩類賬戶的密碼需求是不一樣的。 這個分類不絕對,可以自行斟酌,比如微博微信都可以放在重要類別。
- 重要賬戶是指涉及個人重要隱私或者財產的:
銀行、社保、支付寶、QQ、手機pin碼… - 一般賬戶指各種論壇、社交媒體、產品使用授權等:
微博、微信、天涯、知乎、星巴克、路由器、WIFI、寬頻…
2. 密碼策略的基本原則
- 不同賬戶採用不同密碼
若密碼相同,一個賬戶密碼泄露了就要改所有賬戶的密碼,顯然是下下策。
目前個人密碼最容易被泄露的一種情況是——撞庫。簡而言之,就是你註冊了網站A,又註冊了網站B,C… 結果 C 網站不幸有漏洞,被黑客收集了用戶和密碼信息,然後黑客就用這個去嘗試登陸網站A,B,嘗試批量登陸其他網站后,得到一系列可以登錄的用戶了。這類情況其實非常常見,必須謹慎對待。 - 越高的密碼複雜度越安全
密碼的複雜度並不是指密碼看起來越長越無序越安全,而是指採用數字+字母+符號的組合形式,不要小看一個符號,這種混搭的形式將極大的提高破暴力解難度。暴力破解又叫做窮舉法,是指一個個試密碼,逐個推算直到找出真正的密碼為止。例如一個已知是四位並且全部由數字組成的密碼,其可能共有10000種組合,因此最多嘗試9999次就能找到正確的密碼。若加入符號,可以極大提高密碼組合的可能,因此能有效防範暴力破解。通常來說,真正通過暴力破解來攻破個人密碼的情況不多,但不管怎樣,提高複雜度總是好的。 - 儘可能方便記憶
掐指一算自己註冊的論壇就有十幾個,可如果不同賬戶採用不同密碼,怎麼可能記得住這麼多密碼呢?別急,先仔細想想自己是不是真的需要記憶那麼多密碼。根據我們的賬戶類型,我們可以採用不同的密碼儲存方式,忘記密碼這種事自然是不能忍的。
3. 重要賬戶的密碼策略
這類賬戶的密碼一般只允許使用數字,例如銀行,支付寶,通常這類賬戶不擔心被暴力破解,他們有防範機制,輸錯幾次密碼后便不能輸入了。因此,密碼複雜度不是第一位的。重要密碼需要滿足:
- 便於記憶
心裏熟記,同時寫個小本放家裡存著,以備不時之需 - 沒有明顯規律
絕對不要用生日,111111,123456,000000 這類大眾密碼。 越無序越不容易被人猜到。當然還有絕對不要跟一般賬戶的密碼相同,謹記不同賬戶採用不同密碼的基本原則。
4. 一般賬戶的密碼策略
這類賬戶其實我們經常會用到,但記憶其實不是第一位的,我們完全可以做一份密碼表,需要的時候用下即可。一般這類賬戶的密碼做到相對獨立和高複雜度即可。關於密碼表的安全性後面有詳述。
- 相互獨立
前面已經提到,為防範撞庫,這類賬戶密碼要做到相互獨立。 - 複雜度高
網路賬戶容易被暴力破解,因此要複雜度越高越好
二、根據自己的策略進行密碼構建與儲存
絕佳的密碼無外乎就是好記又不容易被人猜到,那如何做到呢?下面我就分享一些密碼構建的技巧。
1. 如何提升複雜度與無序性
數字,字母,符號兼備。
對個別字母變形即可提高複雜度,很好記 比如我的名字 leeway
可以變形為 1EE^^@y
下表是可以參考的變形,當然自己可己設定自己的變形表。
原字元變形
a
@
e
3
d
b
o
0
s
$
t
7
x
><
v
^
z
2
…
…
通過這種字母與數字元號的互換,一串便於記憶的句子就能變成看似亂碼的密碼了:
password --> P@$$w0rd
這是種簡便易行的方法。
2. 如何使密碼相互獨立
很多時候要使用某個app就要註冊個賬戶,這個時候要臨時想一個密碼顯然比較困難,如果單純得採用 自己的常用密碼+應用名稱記號
的組合形式是比較容易被人識破的,而且這些賬戶通常不重要,這種時候可以採用 UUID 。
UUID 叫做通用唯一識別碼,只要理解成一串隨機的字元就可以了,一般包含32個16進位數字,UUID 可以通過很多方法生成,比如這個網站 可以一次性生成很多UUID,需要的時候生成一個即可,隨機生成的兩個 UUID 重複的可能性極低,可以放心使用。那如何記憶這麼多「亂碼」呢?沒事,請接著看。
3. 如何儲存密碼與記憶
很顯然,密碼的複雜度和可記憶程度是成反比的。畢竟不是最強大腦,要記憶住這麼多相互獨立的密碼很困難,這時候就要使用一些工具和技巧了,這裏重點講講密碼表。
重要賬戶密碼記小本,一般賬戶密碼存可加密的網路筆記。
重要賬戶的密碼一般複雜度不高,數量也不多,儘可能記心裏,家裡備個小本藏好。
- 唐詩密碼
唐詩密碼是我在github看到的一個開源項目,其實這類方法就是指用一串好記的句子來聯想出相關密碼,跟前面提到的變換字元是一樣的。這種密碼隨機性強,看不出特定規律,關鍵是非常好記。
2AYSTBZ QZ1GWC3 兩岸猿聲啼不住,輕舟已過萬重山
- 加密的在線筆記
一般賬戶我們就存加密筆記,你之需要記住兩個密碼就可以了,一個是筆記的登陸密碼,一個是筆記的加密密碼。目前市場上有不少網路筆記工具可以選擇,這裏不做推薦,大家可以自己找找。雲端的筆記有個優點就是儲存和輸入方便,無論是手機和電腦都可以方便訪問。 這時候你一定在想一個嚴肅的問題,要是我存密碼的筆記被黑了怎麼辦,如果遇到黑客或者有許可權的內部人員,豈不是把我給看光了?不妨學習下古人的技法。 - 斯巴達密碼
斯巴達密碼也就是密碼棒,是個可使的傳遞訊息字母順序改變的工具,由一條加工過、且有夾帶訊息的皮革繞在一個木棒所組成。在古希臘,文書記載著斯巴達人用此于軍事上的訊息傳遞。簡而言之就是只有根據規律選取特定位置的字元才是有效的,其他都是用來干擾的無效字元。
密文:KGAWIBRXLQOPLCSDKVRGIASDNGBHG 閱讀規律:K GAW I BRX L QOP L CSD K VRG I ASD N GBH G 解密后的:K I L L K I N G
- 衍生的方法
看完斯巴達密碼是不是有種茅塞頓開的感覺?我在存雲端的筆記時就會採用衍生的方法,由於只有自己知道有效的密文,因此就算筆記被人黑了也沒關係。每個人可以自己想好自己的有效字元串,比如下面這幾個賬戶,可能最後一串字元是有效,或者只有第三個字元是無效的,除了你自己,沒人看得出規律。
知乎 5d37e74b-4f22-403a-a54f-e25b2e8bba91 果殼 fca63075-ecad-4214-8083-9e2bc2c12423 豆瓣 e6fb2d22-9bc0-4861-a72c-f6d8a866013d 簡書 dea62500-fcf8-485f-937a-7f926d54a1ef
三、總結
- 賬戶分類
- 賬戶密碼相互獨立,忌諱一個密碼對應多個賬戶——有效防止「撞庫」
- 通過替換字元來增加密碼複雜度,最好大寫、小寫、數字、符號兼備
- 重要賬戶密碼記小本,靠腦袋記憶,可用「唐詩密碼」
- 一般賬戶存雲端筆記,加密筆記再加密——採用「斯巴達密碼」
- 準備好一些隨機密碼備用,比如採用 UUID
最後寫一下為什麼我不用三方的密碼管理工具,比如 KeePass、LastPass、1Password。原因無非是不方便與不信任,基於本地的密碼管理工具不方便,雲端跨平台的相當於把自己的密碼都交給一家公司的伺服器上,這讓我更不放心。如果一家公司掌握了許許多多人的賬戶,難免會被成群的黑客惦記。