以前《Geek》登載的一篇Stuff說過,在網站上使用的密碼設置得太復雜對于提升系統的整體安全性毫無幫助,因為黑客不會傻到跟某一個賬號較勁,常用的做法是在不同的賬號上嘗試常見的密碼組合,總會有一兩個懶人中招的;或者使用字典進行暴力破解。為了更好地保障用戶賬號的安全,很多網站引入了CAPTCHAM制用于防止自動運行的暴力破解程序。CAPTCHA是Completely Automated PuBlic Turing Testto tell Computers and Humans Apart的縮寫,字面意思就是一種區分用戶是計算機和人的公共全自動程序,說直白點就是驗證碼程序。在網站登錄界面的驗證碼框中,作為服務器的計算機會自動生成一個問題由用戶來解答,由于計算機無法解答CAPTCHA的問題,所以回答出問題的用戶就可以被認為是人類。CAPTC HA的形式多種多樣,從識別扭曲的字母到推導微積分都有,用戶必須輸入圖片上所顯示的字符或是算術題的答案才能順利登錄,這就從理論上降低了有人利用電腦程序進行暴力破解的可能——當然也只是在理論上,因為CAPTC HA是可以被破解的,也確實被破解過。魔高一尺,道高一丈,為了對抗喜歡玩破解的黑客,CAPTCHA也被設計得越來越復雜難懂,甚至到了連人類都陜要識別不出來的地步,《Geek》相信各位童鞋多多少少都有認錯輸錯驗證碼的經歷。那么有沒有既簡單又安全的CAPTCHAM制呢?馬克斯·普朗克研究所的科學家們說:有!他們從物理學上的臨界現象中得到啟發,找到了能夠大幅度提升密碼安全性的方法,也就是將密碼與驗證碼機制合二為一的p-CAPTCHA。
《Geek》先說明下啥是臨界現象。以水的氣一液相變為例,當壓力增大到某個點(臨界點)時,水和水蒸氣的密度相同,即水的氣相和液相的差異消失了,這就是所謂的臨界現象。這些研究復雜系統物理學的物理學家們根據臨界現象發明了一套加密系統,然后利用這個系統來生成一種計算機無法識別的驗證碼。這一全新的安全機制的基本理念是密碼與驗證碼的混合存儲。在p-CAPTC HA中,驗證碼不再是每次重新生成的無意義的字符串,它包含的內容就是真正的密碼。當然驗證碼圖像不會直接把密碼顯示出來,在一個動態的非線性的混沌系統的加持下,這個包含密碼的驗證碼圖像會逐漸變成雜亂無章的二維灰度像素圖(題圖右圖),直到任何人都無法識別出來為止。然后研究人員再用一個簡單的字符組合對這個驗證碼圖像進行加密、存儲,這就是p-CAPTCHA(passwo rd-protectedCAPTCHA,用密碼保護的CAPTCHA)。最后加密用的這串字符就是用戶唯一需要記憶的東東(當然,登錄賬號也得自己記住)。因為初始驗證碼圖像是確定的,所以利用混沌系統進行加密的全過程可逆,也就是說用戶在登錄時只需使用一個簡單的密碼,就能還原驗證碼圖像到初始狀態,重新讀取其中隱藏的真正的密碼。而這個真正的密碼那是相當的長,以目前的電腦的計算能力,在限定的時間內是無法將其暴力破解的,而在不知道算法的情況下要對混沌狀態的驗證碼圖像進行逆運算更是天方夜譚。至于加密驗證碼圖像用的短密碼,也可以采用一些簡單的技術手段防止被破解程序猜出來。
雖然臨界、混沌什么的對于多數童鞋來說都十分的玄幻,但這并不妨礙我們期待p-CAPTCHA的廣泛應用。要知道中國的某些互聯網企業的山寨能力可是一流,說不定哪一天你就會發現p-CAPTCHA出現在了企鵝登錄界面上。