密碼安全
密碼安全
前 言
密碼是人類的發明,且歷史久遠。隨著互聯網時代的到來,密碼更被廣泛使用,並與人們的生存狀態緊密相關,作為從現實進入各種虛擬身份的關卡,密碼安全知識也成為現代人必備的基本信息素養。
不知曉風險,也就無從應對風險;要了解密碼安全知識,首先應該了解密碼的風險來自何方。
一、密碼風險的來源
潛在但會影響密碼安全的人或群體,可以分為以下五類:
(一)你自己
有點奇怪嗎?但想一想,或者你自己隨意使用了一個簡單的密碼,被輕而易舉的破解,造成信息損失;或者你設置了一個難記的密碼,急需使用時卻無法想起,這樣的例子不勝枚舉。所以,第一個需要防範的正是你自己不夠嚴謹的密碼設定習慣。
(二)你身邊的人
包括你的同事、朋友、商業夥伴、家庭或親戚。因為他們知道你的一些私人信息,如果你設置的密碼是常用個人信息的組合,就很容易被他們猜中,並造成你的隱私或其它秘密的泄露。
(三)網路上的竊密者
網路上有許多出於各種目的竊取信息的人。他們使用大量設備,各類密碼庫,多種演算法,長時間的測試、破解網路賬戶,如果你不幸被他們盯上,你的密碼又不夠安全,那你將沒有任何秘密可言。
(四)提供服務的網站
你你所使用的網路服務商是可信任的嗎?其實,你無法確定他們會不會為了自己的利益而盜用你的密碼或出售你的個人信息。即使他們不會主動這樣做,他們是否有足夠保管密碼的能力。最近幾年就有國內幾個大型網站把用戶密碼泄露出去的報道,其中包括中國知名的技術社區 CSDN 和和國內大型社區天涯論壇。另外,你還要防範這樣一種可能:幾個網站串通起來,從你的幾個不同的賬戶密碼,來推測你密碼生成的規律,用於破解你其它賬戶的密碼。
(五)電腦被抄、被盜
最後,你還要防範一種更惡劣的情況 ——你的電腦被抄、被竊。當你的電腦硬體被非法佔有的時候,是否仍然能保證你的信息安全?類似的例子還有,如果你的電腦發生故障無法啟動,在送去維修的過程中,是否能防範信息泄露?另外,現在有一些賬戶的安全性是與手機綁定在一起的,如果你的手機丟失或被監聽,怎樣保證你的賬戶安全?
以上五類風險,我們在討論密碼安全問題時需要有足夠的了解,並在設置密碼時,把這五類風險作 為考慮密碼安全性的整體框架進行防範。
二、升級你的密碼管理方法到密碼演算法
在互聯網時代,不僅風險來源是多方面的,各種新應用也層出不窮,使得用戶持有的各種賬戶數量不斷增多,密碼管理難度也不斷增大,過去依靠記憶或記錄來保存密碼的方式已經不再適用。
現在,需要升級密碼管理方法,啟用一種更科學的密碼演算法來管理密碼,使你的網路生活更安全、更有效率。
採用密碼演算法,只需要記憶一套密碼規則,就可以管理多個賬戶,並且在遵循密碼設計規範的情況下,獲得足夠的安全性。
三、密碼演算法簡介
所謂密碼演算法,就是設計一個方法(演算法)把一些與賬戶及密碼有關聯的字串混合起來,生成一個密碼。
首先,生成四個字串:一個自定義的種子字串,一個與賬戶域名直接有關的字串(顯字串),一個與賬戶域名間接有關的字串(隱字串),一個與註冊環境有關的字串;
其次,根據自己的設定,在這四個字串中有規律的包含字母大小寫、數字和符號;
最後,用一種方法把這四個字串混淆起來,形成一個安全度較高的密碼。
下面分別介紹這三個環節的具體演算法。
四、三步法密碼演算法生成步驟
輔助生成一個完整密碼演算法的流程,共分為三步:
第一步 輔助生成四個字串;
第二步 偽裝字串;
第三步 混淆字串。
以下分別介紹:
(一)輔助生成四個字串
下表是定義、方法及示例,你可以根據此表的示例做適合自己的擴展與擴充。
附表1:網站域名隱字串模擬定義
(二)偽裝字串
為使密碼字串不容易被識別和破解,可以對以上字串做偽裝處理,包括以下三種方法:
1、 位移易識別字串:顯字串和一些環境關聯字串,如果容易識別,可以做位移操作,使它變得難以識別。比如 google 的前三位 goo ,可以位移兩位,就是沿著英文26個字母的順序分別向後讀兩位,g 就變成了 i ,o 變成了 q ,goo 位移兩位就變成了:iqq ;
2、 設定字元串大小寫:比如設定一組字串全部為大寫字母,其它為小寫字母;或者每個字串的首字母都是大寫,其它字母是小寫;
3、 嵌套隱藏字串:用一部分數值字串的值,做為另外一部分字串位移的數字,比如,用隱字串決定種子字串的位移,如果種子字串是 TMFE ,顯字串是數字 10 ,那麼就把 TMFE 按26個英文字母循環位移 10 位,變成:DWPO 。
(三)混淆字串
得到前面四種字串后,就可以做混淆操作了。也可以設計不同的混淆方式。
原始字串
示例混淆方法:
1、混亂種子字串、顯字串、隱字串、關聯字串四者的順序
2、可以把四個字串的首字母放在最前面,其它依次排列,比如:111123423223
3、可以後三個字串夾在前面一個字串中,比如:112321231234
五、示例步驟:模擬生成一個推特賬戶密碼
練習題:用三步法給 twitter.com 生成一個密碼
(一)生成四個字串
(二)偽裝字串
1、種子字串 hs36 大寫為:HS36
2、關聯字串bjszz位移1步,變為:cktaa
(三)混淆字串
其它字串倒序插入種子字串,HcktaaS33tir6
這樣,就生成了 twitter.com 的密碼 HchtkaS33tir6
六、結束語
掌握密碼生成演算法的原理和步驟僅僅是開始,一方面需要反覆練習,做到熟能生巧、運用自如;另一方面,還需要不斷探尋改進流程的方法,使它更趨完美。
密碼演算法還需善加使用,對於國內一些本身就不安全的網路應用,配置再強的密碼意義也不大,密碼只要方便使用就可以了。
要養成定期更換密碼的習慣,比如一月換一次。









