密碼是用來加密個人資訊不被他人竊取的工具,但並不代表經過加密的檔案一定是安全的,有以下三大前提可以保障加密資料的安全性。
1.密碼不要被盜
不論是電腦病毒攻擊竊取你存在電腦裡的密碼,或是直接闖進你家偷你的筆記本,都算是密碼竊取,只要密碼被盜,設計再好的密碼都沒用。
2.使用只能暴力破解的加密法
如果加密法本身有後門可以走,那麼駭客就算不知道密碼也可以進行破解,而密碼設計得夠好,可以大幅延長暴力破解密碼所需要的時間。
3.設計不容易被猜到的密碼
如果你使用的密碼是「password」或是「123456」之類的東西,那麼你可能對竊取你資料的駭客造成極大的汙辱,從此改過向善,造福社會,順便也保護你的資料不被外洩(?!)。……你可以試試看,我沒這膽量。
總結以上三點,大部分人會遇到的問題:
- 密碼只要以任何形式存放都有可能被竊取,所以乾脆直接背下來,但是密碼太長會忘記,而且密碼又不會只有一個,要全部背下來也不可能。
- 在網站上註冊會員沒有加密法可以選,你只能相信(?)對方會保護好你的密碼。
- 愈難猜的密碼也愈難記住,而且有些密碼是自認為安全,但其實很好猜。
密碼學看似整人學,但其實是有規則的,方便記憶而且安全,以下依順序介紹。
一、密碼分級
只要是曾在任何網站裡註冊會員的人都知道,你需要一組帳號密碼用於下一次登錄,但如果所有網站都用相同帳號密碼,有可能A網站洩漏了你的資料,然後被駭客用在B網站,所以絕對不能一組帳號密碼用到底,而是以安全等級區分使用密碼。
等級一(弱) | 網站來路不明,用於一次性登錄 |
等級二 | 會員裡無重要資料,小型遊戲 |
等級三 | 購物網站,可信任的遊戲公司,政府網站,社群 |
等級四 | 銀行,paypal,有大量資金進出 |
等級五(強) | 離線密碼,除了你之外沒人知道,不用於註冊會員 |
二、密碼複雜性&符合規則
部分網站在註冊會員時會要求密碼包含英文大小寫和數字,甚至特殊符號,還必須達到一定長度,各家規則不一樣,但是依我經驗可以得到以下通用規則。
- 要有英文大小寫和數字。
- 密碼長度大於10。
- 有些網站要求特殊符號,所以要設計加鹽密。如果不能用特殊符號,就不加鹽。
- 依照密碼分級增加複雜度。
舉例(加鹽密碼 “#”)
密碼 | 加鹽後 | 說明 | |
---|---|---|---|
等級一 | Password123 | Password123# | 直接送,不要出現和下一級相關文字 |
等級二 | never9Brakes | never9Brakes# | 大寫和數字不放頭尾 |
等級三 | brakeS9never | brakeS9never# | 換大寫位置和順序 |
等級四 | brake99neveR | brake99neveR# | 再換大寫位置,替換英文和數字(S->9) |
等級五 | @Assoonas9Fast | 離線密碼不用加鹽 | 愈長愈好,要完全改變 |
當然以上只是舉例,請勿直接照抄,應注意以下幾點
密碼不一定分5級,可以因應安全等級增加,例如對應不同社群新增3.1和3.2級。
變化方法可以用改變順序或替換英文數字,自行設定一個好記的規則,就算上一等級被駭客竊取,也要讓他猜不到下一等級。
有些網站會要求每年變更密碼,可以把密碼裡的數字+1(0到9循環)。
可以使用單字片語方便記憶,亂碼真的記不住,例:r7q%d6Og2#dAg。
三、存放
有些密碼一但忘記,就再也救不回來,所以就算是有規則的設定密碼,還是要有一個地方存放它。這時就需要使用前面設計的「離線密碼」,把存有密碼的文字檔用壓縮軟體壓縮加密,選「AES-256」加密方法。
這樣一來,只要記住離線密碼就可以找回其它密碼,但如果忘了離線密碼,…請節哀。
