由於網路的不斷普及、和國際網路的迅猛發展﹐網路安全變得越來越重要了。而保護網路的第一道防線就是使用者帳戶和密碼的。不過道高一尺﹐魔高一丈﹐許多網路攻擊者都能借助簡單的工具就可以破解使用者密碼了。

密碼的儲存方法
在 Linux 系統裡面﹐所有的使用者名稱和密碼都存儲在 /etc/passwd 這個檔案裡面﹐不過密碼部份則是經過加密(encryption)處理的﹐所以﹐即使你打開了這個檔案﹐也不能夠直接看到原來的密碼的。我們稱樣的保密方法為“編碼(enconde)”﹕當使用者輸入密碼之後﹐系統挑選一個隨機產生的變化數值(salt),連同使用者輸入的文字作編碼處理而轉換成其它文字﹐而這個 salt 也隨著轉變後的文字一起存儲起來。

所以當您從密碼檔案看到的字元﹐已經不是原來的密碼了。如果使用者重新登錄系統﹐其所輸入的密碼會再被使用相同的方法轉碼﹐看看其結果是否和存放在密碼檔的編碼一致﹐如果一致﹐則可以通過﹔否則不予放行。 . h4 e6 ]) T: q% l  @

由於用作密碼加密的演算法是一種單向的雜湊演算法,是不可逆解的:它只能針對輸入內容產生雜湊結果,若輸入內容一致,那結果就一致。不同的輸入透過該演算法所產生的結果是不可能一致的。換而言之,要將這個轉變後的字碼翻譯成原來的樣子似乎是件不可能的任務

破解密碼的方法之一
若您有機會訪問過有入侵系統經驗的駭客,或看過他們的心的分享,您或許會訝異:原來許多密碼都是靠猜得來的!將帳號名稱照打一遍、或倒過來打,或用使用者的姓名或生日,或是對方的配偶、小孩、寵物名稱,或是用 password、god、123456、abcdefg、2002、qwerty、等等來 try try 看… 居然有很大機會獲得對方的密碼呢~~~

破解密碼的方法之二
此外,一般的駭客都知道﹕大部份使用者喜歡使用現成的字詞來做密碼﹐因為他們實在怕忘記了密碼之後找網路管理員時候所看到的黑臉。駭客們就可以使用收集有各種常用字的字典﹐然後逐個的進行 salt 採樣﹐再用同樣的演算法來作雜湊處理,最後一一對照密碼檔案上面的編碼﹐從而猜到原來的密碼。當然﹐他們不會笨到用手工來計算和比較啦﹐駭客們通常不是程式高手也會利用別人寫的程式來完成這個工作的。這個就是著名的“字典破解法”了。

破解密碼的方法之三 :
假如使用者避免了字典所能找到的詞(或變種)來作密碼呢?那駭客們難道就沒法破解了嗎?非也,破解者大可用程式對所有能用來作密碼的字元(例如 ASCII 編碼)進行所有的組合嘗試,再以同樣方法作 salt 採樣,然後再以同樣的演算法來比對結果,那麼,總有一天密碼還是能破解的。這就是所謂的“暴力破解法”了。

有些人要努力的工作﹐有些人則聰明的工作。一些駭客不一定要使用到非常高深的破解技能就可以輕易的獲得使用者密碼了。靠的是什麼﹖答案是﹕“靠騙﹗”。試想一下﹕在一些大型的機構裡﹐各部門之間並不是經常見面的。比如您在會計部門工作的﹐當電腦壞了﹐通常會先打個電話問 Help Desk ﹐如果能在電話裡面解決﹐您根本就不知道對方的模樣是怎樣的﹐而且下次或許又是另外一個人了﹔就算資訊組需要派人來修理﹐也未必是每次同一個人。

所以﹐假如有一天﹐當某人自稱來自資訊部門﹐用非常禮貌而又不顯唐突的語調在電話中跟您說﹕“因為公司的網路需要重新調整﹐所有帳號都需要重新設定﹐請求您把舊密碼報上來﹐好作安排”諸如此類﹐我想有一半人會老實作答﹐即使有所懷疑﹐也未必到處求證。就算您馬上提出質疑﹐對方大不了掛上電話而已﹐恐怕您也不會勞師動眾去追查電話來源吧

不如調過來吧﹕您是網路管理員。忽然接到電話﹐對方報稱為某某職員﹐使用某某賬號﹐昨天剛換了密碼﹐不過今天忘記了﹐問說可不可以重新幫他設定密碼﹖如果貴公司制度不嚴﹐或您工作隨便﹐搞不好﹐馬上大手一揮﹐霹靂吧啦一輪鍵盤敲擊﹐就把對方打發走了。您又幾何會想過對方是一個駭客呢﹖

又假如﹐某天您獲得自稱某 ISP 發來的 email ﹐恭喜您被選中獲得終身免費帳號﹐要求回報帳號和密碼﹐好為您轉換帳號類型。我想﹐您這麼聰明是不會上當的啦~~~ 但您難保九十九個聰明人之外﹐還有一個大笨蛋會和盆托出哦。

你看﹖是不是很容易就獲得密碼了呢﹖雖然通常這樣獲得的密碼都不具備什麼權限﹐但既然通向網路之們已經打開了﹐再稍作努力點﹐獲得密碼檔案﹐然後使用字典或暴力破解﹐再獲得管理員密碼﹐只不過是時間與耐性的問題而已。前面所描述的,您或許已經聽過了,它叫“社交工程”。

正確的使用密碼
要對付第一種破解方法很簡單:避免用您身邊的事物或其變種作密碼就行了。我相信您的銀行提款卡不是用您的生日作密碼的吧? ^_^

對付第二種及第三種方法﹐可以使用 shadow password 來限制使用者接觸到密碼檔案。同時﹐您最好別使用現成的詞語做密碼﹐任何連貫的字串都不可取。最好使用字母(伴隨一兩個大小寫)﹑數字﹑符號的混合﹐橫看豎看都看不出個意思就好。而且﹐密碼長度不能太短,也要定期更換密碼﹐更換時也不要重複以前的密碼。

至於對付第四種方法﹐只能要求您任何時候都保持高度警覺性﹐永遠不對任何人說出您的密碼﹐不管對方說得如何動聽和誘惑。要記住一點﹕就算是網路管理員﹐也無權獲得您的密碼。而且﹐永遠用腦子來記密碼﹐不要用筆寫出來。假如您是一個網路管理員﹐更加要小心保護好自己的密碼和經常轉換密碼﹔而且永遠不信任任何人的電話要求去更改密碼﹐一定要按照嚴格的程序進行。

設定/記憶密碼的技巧
您或許覺得這樣很難記住密碼吧﹖哈哈﹐這就對了﹕越難記住就越好﹗不過﹐您卻不要把密碼寫在便條上﹐然後貼在屏幕頂端﹐還大大個字的提示著﹕“密碼”﹗這樣和設不設密碼有什麼分別呢﹖如果密碼忘了﹐也不用怕難為情﹐多數網路管理員在接到申請表後都很樂意幫您進行修改﹐並且會通知和提示您重新設定好密碼的。假如您碰到個愛擺黑臉的傢伙﹐如果他是我管的話﹐直接向我投訴好了﹐我保證您以後也不會碰到他再給臉色您看。

如前所見,一個良好的密碼最好是這樣子的:自己易記、別人難猜。要作到這點並不難,下面我為大家介紹幾種方法:
用句子作密碼:沒錯,自己隨便想一句您認為好記的句子,例如:i wanna win a lotto tonight! 。稍作一下變化就是一個很好的密碼了:I Wanna Win A $Lotto 2night! ,雖然打起來很慢,但是,這樣的密碼是絕對安全及好記的。

一些與妳心上人或你們的羅漫史相關的資料,然後稍加變化,例如:妳的男朋友叫 netman ,他的生日是 1971/1/8 ,那麼下面的密碼將是不錯的:Net1970@maN0108 。方法是:將 net 與 man 拆開,並將 n 作大寫,再將生日的年與月日拆開,最後將各部件兜在一塊,並在中間加個 @ 的符號。這樣的密碼不但好記,而且絕對不會忘了 buy your darling a birthday gift ^_^ ,尤其是那些經常換男/女朋友的人來說,最好用不過了 ^_^ 當然,除了生日,甚麼第一次相遇、接吻、失身、結婚、外遇、等等的地點/日期,都是您的密碼好材料!

用您習慣的中文輸入法打一串字,如:老闆是豬八戒!然後挑一兩個大寫、加兩個標點符號,那就成了一個上佳的密碼了。

或再偷懶一些,用您的機車車牌號碼,如:ABC567 ,然後將字母往後撥、數字往前調:BCD456 ,再打散組合:B4C5D6 ,再插兩個符號:B4C#$5D6 ,那也勉強是個密碼了…

總之,方法很多,自己抓出一套方法就好(千萬別告訴別人您所用的公式),然後隨便抓些好記的來作種子,再代入公式,那就是您的好密碼了…