關於密碼強度,不僅生日、英文名、身份證號碼等懶人設置法不保險,拜解密技術的發達,其實任何英文單字或有意義的句子做為密碼都不夠安全,密碼強度對於別有居心、又有技術的人來說都是脆弱的。
大家都知道,密碼最好一段時間就換一次,但因為人的記憶力有限,為了便於記憶常換密碼的人會傾向使用更好記的密碼,結果反而比那些都不換密碼的人暴露於更高的資安風險中。這一點近年來已被密碼學專家提出討論。
如果是懶得換密碼的人,不如好好想一個至少8碼以上的亂數碼並牢牢記著。只是說,再強的記憶剛開始難免會忘掉,所以必定會將密碼輸入於手機、筆電中,或寫小紙條隨身攜帶,這樣又增加了資安風險,如果你肩負著重要機密的保密工作,隨身帶著密碼反而更不安全。
那該怎麼辦呢?
我們可以利用簡單易懂的古典密碼學製作安全、但容易覆核的亂數密碼,比如矩陣解密法。首先,設計一個英語短句,或是引用英文經典名言,比如Life is apure flame and we live by an invisible sun within us 把這個名言排成5個字母一行的矩陣:
Lifei
sapur
eflam
eandw
elive
byani
nvisi
blesu
nwith
inus
然後,取第1至第5其中一排做自己的密碼,就變成亂數碼了。為了增加安全性,可以把每個單字中間的空格換成特殊符號,比如 / + *等等,增加密碼強度。這麼做的好處是,一般的亂數碼一定要寫出保存在某個地方以防忘掉,但用上述方法所製作的亂數碼不用保留亂數碼的底本,而密碼的母本只要掩飾得好,別人永遠不知道選定的句子是密碼的來源。反過來看,一串無意義的亂數被保存著大家都知道那代表什麼。另外,英文句子遠比亂數碼好記多了。
現在的密碼很多都要求數字,那可以依設置密碼的字母,依英文字母序列置換成數字,或是把句子中每個單字依字母數置換為數字做為密碼,設置密碼的方式有很多種,但只要記得規則,要覆核就很簡單。而且同樣的英文句子,依不用的密碼設置方式就能變造出好幾種密碼。
(圖片來自flickr)
中文句子也行
現在幾乎每個人都會打字,不管是用注音、倉頡或嘸蝦米,只要熟悉字碼,就能將中文句子利用鍵盤轉換成英文。以倉頡為例。選一個座右銘:山不在高有仙則名,水不在深有龍則靈。轉成英文模式再依倉頡字碼輸入,變成
u mf klg yrbr kb ou bcln nir e mf klg ebcd kb ybyps bcln mbrrm
轉換後就能利用上述的矩陣解密法設置成亂數密碼。而「山不在高有仙則名,水不在深有龍則靈」這種耳熟能詳的句子根本就內建在腦中了,不用特別記憶,只需記得製作密碼的方式就好了。當然,製作出來的密碼還是記熟最穩當,也方便。不然時不時就覆核一次密碼,不僅麻煩,久了也容易被有心人識破。
(首圖來自維基百科)