如何設計100%安全的密碼

Blog Photo template-13.jpg

 

這個題材或許是非常基本的知識,很多老手可能會嗤之以鼻;但不久之前才有某位超大公司執行長告訴筆者,他是用「自己的英文名字+生日」來當作在整個網路上活動的唯一密碼。

所以,讓大家複習一下好的密碼設計方式似乎還是有需要的。現在就讓我來告訴您,如何幫自己設計出不容易弄錯、不容易忘記、但也不容易破解的密碼。

 

1. 想個短句

想個生活中常會用到的短句,其中必須包含至少一個數字、以及一個字首大寫的單字。例如:

My husband was born 1957 in Denver

I live in Europe, 15 km east of Amsterdam

I always buy milk from 7-11

 像這樣的常用句,幾乎不會忘記,而且不看鍵盤也很容易打得出來,一輩子都可以用;這個句子的長度最好有7個單字,因為現在的系統大多不接受太短的密碼。

 

2. 利用縮寫

 用想出來的句子,抓出每個單字的字首,然後再加上號碼:

 「My husband was born 1957 in Denver」就是「Mhwb57iD」

「I live in Europe, 15 km east of Amsterdam」就是「 IliE15kmeoA」

「I always buy milk from 7-11」就是「Iabmf711」

所以,雖然「I live in Europe, 15 km east of Amsterdam」是個對您有意義的句子,但轉換出來的「IliE15eoA」這個密碼對不知情的人來說,卻是似乎完全沒有意義的組合。這個密碼非常難 猜,即使是頂級的演算法也得花上一千年才解得出來。

更棒的是,您還可以再動點手腳,讓它更加難解。

 

3. 後面加點好料

在剛想出來的密碼後面,再加個特殊符號,例如「-」或「+」。所以:

「Mhwb57iD」變成「Mhwb57iD+」

「IliE15kmeoA」變成「IliE15kmeoA-」

 

4. 再多加點好料

最後,在密碼後面再加上代表使用網站的兩個縮寫字母。例如:

 在Amazon上就是「Mhwb57iD+am」

在Facebook上就是「Mhwb57iD+FB」

在Twitter上就是「Mhwb57iD+Tw」依此類推。

我自己用的原則是,如果網站的名稱聽起來像是兩個單字,就用這兩個字的字首大寫;例如「FaceBook」就是「FB」,而不是「Fa」;如果是一個單字,就用前兩個字母小寫,例如「Amazon」就是「am」,這樣比較好記。

當然,您可以根據自己的需要改變這些規則,但基本上這樣想出來的密碼一來好記、二來在99%的網站或程式上都適用,最重要的是,真的很難破解,對吧?

 

中文環境下的密碼設計

在中文環境下的狀況,又可以分成兩種:

 

中國用戶

先說簡單的。由於中國推行漢語拼音已經很久,大多數人都熟悉這種用英文字母「組字」和「拆字」的方式,所以要用來設計密碼比較容易;只要刻意在句子裡加入數字,並且在大小寫上動點腦筋就行了。

例如:

「今天3月3日天氣很好」(jintian3yue3ritianqihenhao)可以變成「jt3y3rtqhh」

「我的體重高達100公斤」(wodetizhonggaoda100gongjin)可以變成「wdtzgd100gj」

接下來只要照原文的方式,選擇自己好記的方式將部分字母改成大寫、再加上符號和網站名稱就行了。

 

台灣用戶

在台灣,多數人使用的是注音和倉頡,再加上許氏、行列、嘸蝦米等輸入法;這些輸入法多半不像漢語拼音一樣,是以字母本身的發音為基礎,所以要轉換成使用者自己好記的字串比較困難。

不過長久以來,也有人想出了不少的變通辦法;其中最簡單(但也有點難度)的方式是,先切回英文輸入法,然後以中文輸入法的按鍵順序,輸入自己常用的句子;例如「今天3月3日天氣很好」:

用注音輸入法就成了「rupwu03m,43b4wu0fu4cp3cl3」

用倉頡輸入法就成了「oinmk3b3amkonfdhoavvnd」

如果再加上符號、大小寫、以及網站名稱的加料和變化,應該會比英文版更難破解。

不過由於中文輸入法多半會用到空白鍵,所以在輸入的時候必須記得省略空白鍵、或是用不需要空白鍵的字來設計密碼(例如在注音輸入法之下要避開一聲字)。

當然,越少人用的輸入法設計出來的密碼,就越難以破解。

雖然本文的原題是「如何設計100%安全的密碼」,但其實並沒有絕對安全的設計;但如果難度夠高,讓試圖破解的人無法在有生之年暴力破解、或是讓用於破解的時間不符成本效益,那麼目的也就算是達到了。

(寫到這裡,忽然想到描述二次大戰時美國以原住民語言當做「密碼」的電影「獵風行動」。)

您有其他更簡單、或是更有效的中文環境密碼設計方式嗎?歡迎留言告訴大家!

----

師大國文研究所博士及台大企管碩士 Martin Hiesboeck 解聰文 是台灣著名的品牌發展顧問以及格博國際品牌顧問公司的數位行銷總監,專門輔導台灣企業成為成功的國際品牌以及落實有效率的數位行銷策略。