關(guān)于密碼有很多已經(jīng)知道。大部分容易破解,并且短和簡單。但是一個人在心里上為什么選擇它做密碼卻很少人知道。我們分析了1000w個人(從CEO到科學(xué)家)來找出密碼好記和難以猜測其中的奧秘。
1000w小窗口
誰是你第一個想到的超級英雄?選一個1到10之間的數(shù)字?最后選一個明亮的色彩。快速選擇并且把這三個字符連接起來。
下面是猜測時間。
它是不是Superman7red?還是Batman3Orange?如果我們猜中了其中,那么原因就是人類是可預(yù)測的。這也是密碼遇到的問題。事實(shí)是,我們通過一些不常見的問題增強(qiáng)了密碼的強(qiáng)度,但是還是比不上工業(yè)級的針對密碼破解的軟件。舉例來說,HashCat每秒鐘可以進(jìn)行300,000次猜解,因此盡管你使用了“Hawkeye6yellow”這樣的密碼,也會在不久之后被破解。
密碼通常情況下都是單詞和數(shù)字的組合,因此容易被猜解。我們希望探索這個,并且找出人們的思維規(guī)律。
兩套數(shù)據(jù)集,多重警示
第一個數(shù)據(jù)集是從俄羅斯一個比特幣交易平臺泄漏出來的500w賬號密碼。他們大部分是Gmail賬號(和一些Yandex.ru賬號)。大部分是老的 Gmail賬號(不再活躍)或者是密碼不正確的Gmail賬號。不管怎樣,WordPress重置了10w賬號,并聲稱還有60w賬號存在風(fēng)險。這個脫下來的褲子看上去是從多個來源,多種方法收集得來的。從學(xué)術(shù)角度來說,這個并不影響。這些密碼全部從Gmail賬號中選出,因為其中98%都不再使用,我們認(rèn)為可以安全地使用它們。
我們把這些數(shù)據(jù)稱為“Gmail褲子”,為了解答人口統(tǒng)計學(xué)的問題。我們從這5百萬數(shù)據(jù)中提取信息。比如如果有一個郵件地址是 John.Smith1984@gmail.com,就會被標(biāo)記為一個出生在1984年的男性。這種方式需要一定的技巧,但這里我們不會涉及過多的技術(shù)細(xì)節(jié)。最終,我們獲得了485,000個性別信息,220,000年齡信息。在這里,就出現(xiàn)了一個問題,“這些使用生日和姓的用戶跟不使用這些信息的用戶會不會選擇使用不同的密碼?”。從直覺上來講存在這種可能。我們會在之后討論。
下面是出生年份和性別的統(tǒng)計圖。
第二個數(shù)據(jù)集,也是產(chǎn)出最多結(jié)果的數(shù)據(jù)集,是由安全顧問Mark Burnett放出(xato.net)。它包含1000w密碼,多年來從互聯(lián)網(wǎng)的各個角落收集而來。Mark收集了公開的,泄漏的和開放的列表,從上千個源頭組成了這個完整的列表。
我們不會花過多的時間在統(tǒng)計學(xué)上。我們先來看一下使用最多的50個密碼,接著我們再進(jìn)入更有趣的領(lǐng)域。
將近有420,000(8.4%)的賬號在結(jié)尾使用了0~99之間的一個數(shù)字。其中五分之一的用戶使用1作為結(jié)尾。也許他們認(rèn)為這是最容易記住的數(shù)字?;蛘咚麄冏缘恼军c(diǎn)要求他們至少使用一位數(shù)字。其他最常用的數(shù)字為2,3,12,7等。因此你要求一個人快速說出1~10之間的數(shù)字,他很有可能說出7或者 3.
分析密碼的熵
簡單來說,密碼的熵越高,密碼強(qiáng)度越高。熵隨著密碼長度的增長和字符變化的頻率而增長。然而字符變化對熵的貢獻(xiàn)不大,密碼的長度成為熵的主要因素。
“Gmail褲”中的平均密碼長度為8,男性的密碼長度跟女性的密碼長度沒有明顯的區(qū)別。
那么熵呢?熵是反映密碼強(qiáng)度的一個指標(biāo)。
“Gmail褲”的平均熵為21.6。這個值很抽象難以理解。上面的圖片中可以看出男女的密碼長度沒有多少區(qū)別。下面的圖可以看出有很多密碼接近熵0,有少部分大于60。
這里有很多方法可以計算熵,很多方法是很基本的。最常見的假設(shè)就是,密碼只可能通過猜解所有字符組合獲得。而一個聰明的方法是通過人類的常用模式?;谀J饺L試密碼可以明顯地提升破解的速度。Dan Wheeler發(fā)明了一個熵評估器,叫做Zxcvbn。
可以在此獲得細(xì)節(jié)https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-password-strength-estimation/
簡單來說,它能夠“知曉”人們怎么在無意識中在密碼中包含了特定的模式,而一個好的密碼破解器會發(fā)現(xiàn)其中的模式。舉例來說,”password”在樸素的評估下,熵為37.6。然而Zxcvbn會給出熵0(最低的熵)。
他還會給一些看上去是隨機(jī)的密碼一個很低的熵。“qaz2wsx”(第30常見的密碼),看上去是隨機(jī)的吧?事實(shí)上,他是鍵盤上的模式。Zxcvbn也是按這個模式命名的。
我們從1000w密碼中提取出來20個最常見的鍵盤模式。我們排除了常見數(shù)字組合,例如123456。
以上是20種常見的鍵盤模式。前19種都很容易看出,但是除了最后一個adgjmptw。你可以猜出為什么嗎?
盡管我們在開始非常困惑。我們沒找到這種鍵盤布局跟前19種的相似之處。但它確實(shí)排在20位。
“我在密碼中加入數(shù)字來變得復(fù)雜”
也許你還沒發(fā)現(xiàn),它其實(shí)是智能手機(jī)上從2按到9。
這個模式也令我們產(chǎn)生了一個有趣的問題。人們在觸摸設(shè)備上輸入密碼是怎樣的。
當(dāng)然,鍵盤模式對于好的密碼破解器是不成問題的。passpat http://digi.ninja/projects/passpat.php 使用了多個鍵盤布局和一個算法來計算密碼可能是從哪種鍵盤輸入的。市面上也存在通過一個鍵盤布局去省城數(shù)百萬的鍵盤輸入模式,然后使用他們作為一個列表去破解。
大部分人不使用鍵盤模式,他們還是使用老式并且不安全的方法來選擇一個隨機(jī)詞組。
現(xiàn)在你可以知道為什么我們在開頭選擇了Batman和Superman,他們是最常用的超級英雄名稱。值得一提的是上面的列表很難知道人們在使用時的語義。舉例來說,在顏色列表中Black在一些情況下可能指人名Black。
盡管Love不是一個有趣的詞。它卻經(jīng)常在密碼中出現(xiàn),我們發(fā)現(xiàn)一百萬密碼中就出現(xiàn)了4萬次。在Gmail賬號密碼中也出現(xiàn)很多。
我們計算了Love這個密碼出現(xiàn)的頻率,我們可以推測出,80后和90后比老一輩人更喜歡使用這個詞。
在 Gmail數(shù)據(jù)中,1.4%的女性密碼中有l(wèi)ove,而男性只占了0.7%。換句話來說,女性使用love這個詞的次數(shù)是男性的兩倍。這個發(fā)現(xiàn)符合了另外一個最近的研究。一個在安大略理工大學(xué)的研究顯示ilove[男性名字]是ilove[女性名字]的四倍;iloveyou是iloveme的十倍;<3是第二常見的符號與數(shù)字組合。
有錢和有權(quán)人的密碼
Mark Burnett發(fā)現(xiàn)他的網(wǎng)站上的褲子出現(xiàn)得十分頻繁。他通過爬蟲抓取新的褲子組成1000萬的密碼集。然而,攻擊高價值目標(biāo)的名人或者企業(yè)的事件更令人擔(dān)心。就像Jennifer Lawrence et al. 和 Sony的事件。我們也好奇這些Gmail數(shù)據(jù)中能發(fā)現(xiàn)多少高價值的目標(biāo)。我們通過Full Contact的API,它可以通過幾個主要的社交網(wǎng)絡(luò)API(Twitter, LinkedIn,Google+)來匹配郵件地址列表,然后輸出他們的年齡,性別和職位。
在78,000個匹配中,我們找到上百個高價值的目標(biāo)。下面我們選出了40個最著名的人,我們來看看他們的密碼。
值得注意的是,上面有很多密碼是多么容易被破解。最強(qiáng)的密碼是github的開發(fā)者(ns8vfpobzmx098bf4coj)熵達(dá)到了96。看上去完全隨機(jī),可能是隨機(jī)密碼生成器生成的。最弱的密碼是IBM經(jīng)理(123456),它可能是為了注冊一次性使用的密碼。其他的密碼都在復(fù)雜和好記之間找到一個平衡點(diǎn)。說明這些用戶關(guān)心他們賬號的安全。
以一個杰出人士結(jié)尾:美國國務(wù)院的處長的密碼是linco1n(Lincoln)。赫芬頓郵報的編輯也使用了類似規(guī)律選擇用Mulder (X檔案)的trustno1作為密碼。總的來說,這些高價值的人群跟其他人使用密碼的方式相同: 使用姓名,出生年月,簡單詞組和一些數(shù)字來組成密碼。我們認(rèn)為這是合理的。甚至奧巴馬總理最近都承認(rèn)使用過1234567作為密碼。