摘要:在不考慮拖庫(kù)社工等口令獲取方式的前提條件下,通常情況下,破解口令僅有暴力破解的方式可以選擇,其中亦包括字典攻擊和彩虹表破解。
近來(lái)在筆者所參與的一款產(chǎn)品中涉及到口令安全的功能設(shè)計(jì),其中一項(xiàng)功能是有關(guān)于口令強(qiáng)度的。在設(shè)計(jì)該功能過(guò)程中勢(shì)必涉及到口令強(qiáng)度的劃分設(shè)計(jì),怎樣的口令才算是低強(qiáng)度的,怎樣的口令才算是高強(qiáng)度的。目前諸多的Web系統(tǒng)注冊(cè)功能中的口令強(qiáng)度設(shè)計(jì)及劃分也無(wú)統(tǒng)一標(biāo)準(zhǔn),更有甚者是直接根據(jù)口令長(zhǎng)度來(lái)設(shè)計(jì)的口令強(qiáng)度劃分。
如果要評(píng)判一則口令是強(qiáng)是弱,就必須先考慮影響口令強(qiáng)度的因素:復(fù)雜性和長(zhǎng)度,因?yàn)槲覀冊(cè)谳斎肟诹顣r(shí)只有這兩種維度的選擇:要么多輸入一些特殊字符增強(qiáng)復(fù)雜性,要么多輸入一些混合字符/字母增加口令長(zhǎng)度。在不考慮拖庫(kù)、社工等口令獲取方式的前提條件下,通常情況下,破解口令僅有暴力破解的方式可以選擇,其中亦包括字典攻擊和彩虹表破解。
在純粹的暴力破解中,攻擊者需要逐一長(zhǎng)度地嘗試口令可能組合的方式,是ATM機(jī)般的純數(shù)字組合,還是12306般的純數(shù)字字母組合,亦或是正常電商那般可以混合輸入數(shù)字、字母和特殊字符。假設(shè)一則口令P的長(zhǎng)度是L,可選擇的組合形式范圍的長(zhǎng)度是S,那么即便是在“暴力破解”這種殘暴字眼的手段中,運(yùn)氣不好的情況下仍然需要最多嘗試S^L^次。口令是否安全的原則取決于攻擊者能否在可容忍的時(shí)間內(nèi)破解出真實(shí)口令,而是否有耐心進(jìn)行暴力破解往往決定于攻擊者的目的及成效:一名僅為破解電子書(shū)小說(shuō)壓縮包的宅男不大可能會(huì)浪費(fèi)一天以上時(shí)間等待口令的“出現(xiàn)”。
既然暴力破解需要嘗試最多達(dá)S^L^次方能破解出口令,那么破解口令的速度即是破解成效的約束條件。在許多情況下,破解速度取決于CPU運(yùn)算的能力,但更多時(shí)候攻擊者面臨的是聯(lián)網(wǎng)破解甚至口令系統(tǒng)設(shè)計(jì)者的種種防護(hù)手段,這時(shí)網(wǎng)絡(luò)、I/O、運(yùn)算能力甚至系統(tǒng)防護(hù)措施都必須考慮在破解速度之內(nèi)。如今許多電子郵箱的防口令破解的措施是限制在一段時(shí)間內(nèi)僅能?chē)L試為數(shù)不多的幾次登陸,若考慮到類(lèi)似的措施,相信口令破解的速度絕對(duì)會(huì)讓你更加失望!
在比特幣挖礦都需要專(zhuān)業(yè)礦機(jī),高配GPU的時(shí)代,口令的破解自然不會(huì)延續(xù)使用以往原始的CPU運(yùn)算。一年前的現(xiàn)在,來(lái)自Stricture商業(yè)咨詢(xún)公司的Jeremi Gosney公布了他們用一組GPU集群暴力破解密碼的成果:
普通的MD5加速破解速度達(dá)到每秒1800億次,SHA1的破解速度達(dá)到630億次/秒,NTLM的破解速度達(dá)到3480億次/秒,LM加密的破解速度也有200億次/秒。
由此可見(jiàn),口令的強(qiáng)度正隨著運(yùn)算能力的逐漸提升而降低,10年前的高強(qiáng)度口令或許對(duì)于今天的GPU集群破解已然可以被視為“不堪一擊”。在不考慮UNICODE編碼中電腦鍵盤(pán)未標(biāo)明的特殊字符,在構(gòu)建口令時(shí),我們通常可選擇的組合范圍是:
數(shù)字:0~9 共10位
字母:a~z A~Z 共52位
特殊字符:!"#$%&"`()*+,-./:;<=>?@[]^_{|}~共33位(其中包含空格)
如果我們將S^L^當(dāng)作口令強(qiáng)度的評(píng)測(cè)標(biāo)準(zhǔn),顯而易見(jiàn),在口令長(zhǎng)度相同的情況下,我們可選擇的組合方式和范圍內(nèi)越大則口令強(qiáng)度越強(qiáng),即S越大,S^L^的值越大。
另一方面,在可選擇的組合方式和范圍有限的情況下,口令長(zhǎng)度越長(zhǎng)則口令強(qiáng)度越強(qiáng),即L越大,S^L^的值越大。
由于S^L^是指數(shù)級(jí)的增長(zhǎng),所以口令的高復(fù)雜度并不意味著口令的高強(qiáng)度,比如:16位純數(shù)字的口令的組合方式有1.0e+16種,而8位數(shù)字/字母/特殊字符混合口令的組合方式僅約為6.634e+15種,從暴力破解的難度上看,前者比后者要高出一個(gè)數(shù)量級(jí)。
鑒于當(dāng)前GPU的運(yùn)算能力越來(lái)越強(qiáng)大,筆者在設(shè)計(jì)口令強(qiáng)度的劃分時(shí)不得不參考上文中的GPU集群破解速度,上文中所提到的GPU集群暴力破解速度最低也達(dá)到百億次每秒,故以100億次/秒的破解速度為參考,并假設(shè)破解時(shí)間不足一天的口令即為低強(qiáng)度,超出一天但不滿(mǎn)一年為中等強(qiáng)度,超出一年為高強(qiáng)度,盡管在這種假設(shè)的前提下某些低強(qiáng)度口令在常規(guī)運(yùn)算能力下仍然可被當(dāng)作高強(qiáng)度口令。在不同的口令組合情況下,不同口令強(qiáng)度的口令長(zhǎng)度范圍如下所示:
組合方式及范圍 | 低等強(qiáng)度 | 中等強(qiáng)度 | 高等強(qiáng)度 |
---|---|---|---|
純數(shù)字(10位) | >0 && <15(位) | >=15(位) && <18(位) | >=18(位) |
純字母(52位) | >0 && <9(位) | >=9(位) && <11(位) | >=11(位) |
純特殊字符(33位) | >0 && <10(位) | >=10(位) && <12(位) | >=12(位) |
數(shù)字+字母組合(62位) | >0 && <9(位) | ==9(位) | >=10(位) |
數(shù)字+特殊字符組合(43位) | >0 && <10(位) | ==10(位) | >=11(位) |
字母+特殊字符組合(85位) | >0 && <8(位) | >=8(位) && <10(位) | >=10(位) |
數(shù)字+字母+特殊字符組合(95位) | >0 && <8(位) | ==8(位) | >=9(位) |
上表亦可作為設(shè)置強(qiáng)口令時(shí)的參考。如相關(guān)報(bào)道中所稱(chēng),若使用Jeremi Gosney的GPU集群,6-8位的口令“在暴力破解面前幾乎無(wú)法幸免”。
下面再來(lái)看看微軟的“密碼檢查器”,從該頁(yè)面檢測(cè)口令強(qiáng)度的JS腳本中可以輕松看到其口令強(qiáng)度的劃分標(biāo)準(zhǔn):
口令長(zhǎng)度小于8位:Weak
口令長(zhǎng)度大于等于8位:Medium
口令長(zhǎng)度大于等于14位:Strong
口令長(zhǎng)度大于等于14位且包含數(shù)字、大小寫(xiě)字母及特殊字符:Best
以及IBM旗下Lotus Domino的口令強(qiáng)度劃分:口令安全性等級(jí),或者可以在這里檢測(cè)自己的口令強(qiáng)度及破解時(shí)間。
彩虹表是一種特殊的字典,由已做加密的密碼構(gòu)成,通過(guò)與系統(tǒng)中加密的口令對(duì)比來(lái)探測(cè)明文口令。而彩虹表的構(gòu)成多數(shù)情況下亦是由程序自動(dòng)生成,盡管數(shù)據(jù)量龐大,但依然是根據(jù)弱口令或窮舉口令組合加密而形成,此外也包括人工添加的已知明文/密文的彩虹表數(shù)據(jù)。
因此,彩虹表破解及弱口令猜測(cè)終究是為了減小破解口令的范圍,從而節(jié)省破解時(shí)間,可以將彩虹表及弱口令想象成為一個(gè)龐大的散狀分布的點(diǎn)圖,越是遠(yuǎn)離聚焦點(diǎn)的口令就會(huì)有越小的幾率被包含在彩虹表/弱口令中。
由此可見(jiàn),口令強(qiáng)度不僅僅需要考慮復(fù)雜度和長(zhǎng)度,設(shè)定口令時(shí)的奇葩程度也影響著口令安全,就像女人不希望撞衫,安全的口令也不希望雷同。
via idf
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/11094.html
摘要:方案簡(jiǎn)單方案算法通過(guò)密碼構(gòu)成分析,結(jié)合權(quán)重分派,統(tǒng)計(jì)得出密碼強(qiáng)度得分。 簡(jiǎn)言 用正則表達(dá)式做用戶(hù)密碼強(qiáng)度的通過(guò)性判定,過(guò)于簡(jiǎn)單粗暴,不但用戶(hù)體驗(yàn)差,而且用戶(hù)帳號(hào)安全性也差。那么如何準(zhǔn)確評(píng)價(jià)用戶(hù)密碼的強(qiáng)度,保護(hù)用戶(hù)帳號(hào)安全呢?本文分析介紹了幾種基于規(guī)則評(píng)分的密碼強(qiáng)度檢測(cè)算法,并給出了相應(yīng)的演示程序。大家可以根據(jù)自己項(xiàng)目安全性需要,做最適合于自己的方案選擇。 showImg(http://...
摘要:非對(duì)稱(chēng)加密算法的安全性往往需要基于數(shù)學(xué)問(wèn)題來(lái)保障,目前主要有基于大數(shù)質(zhì)因子分解離散對(duì)數(shù)橢圓曲線等經(jīng)典數(shù)學(xué)難題進(jìn)行保護(hù)。消息認(rèn)證碼基于對(duì)稱(chēng)加密,可以用于對(duì)消息完整性進(jìn)行保護(hù)。 Hash 算法與數(shù)字摘要 Hash (哈希或散列)算法它能將任意長(zhǎng)度的二進(jìn)制明文串映射為較短的(通常是固定長(zhǎng)度的)二進(jìn)制串(Hash值),并且不同的明文很難映射為相同的Hash值。 Hash 定義 Hash (哈希...
摘要:前言前幾日,嗶哩嗶哩在電子科大清水河校區(qū)舉行了校招宣講會(huì)。博文地址嗶哩嗶哩校招前端筆試第一題給定一個(gè)整數(shù)數(shù)組,找到具有最大和的子數(shù)組,返回最大和。 前言 前幾日,嗶哩嗶哩在電子科大清水河校區(qū)舉行了校招宣講會(huì)。B站不用多說(shuō),中國(guó)最大的同性交友網(wǎng)站,不去工作也能去看看。 當(dāng)晚便進(jìn)行了部分筆試,下面是我參加的前端筆試試題和我自己的解答,分享給大家。 博文地址:?jiǎn)袅▎袅?018校招前端筆試...
摘要:前言前幾日,嗶哩嗶哩在電子科大清水河校區(qū)舉行了校招宣講會(huì)。博文地址嗶哩嗶哩校招前端筆試第一題給定一個(gè)整數(shù)數(shù)組,找到具有最大和的子數(shù)組,返回最大和。 前言 前幾日,嗶哩嗶哩在電子科大清水河校區(qū)舉行了校招宣講會(huì)。B站不用多說(shuō),中國(guó)最大的同性交友網(wǎng)站,不去工作也能去看看。 當(dāng)晚便進(jìn)行了部分筆試,下面是我參加的前端筆試試題和我自己的解答,分享給大家。 博文地址:?jiǎn)袅▎袅?018校招前端筆試...
閱讀 785·2023-04-26 00:30
閱讀 2689·2021-11-23 09:51
閱讀 1045·2021-11-02 14:38
閱讀 2560·2021-09-07 10:23
閱讀 2243·2021-08-21 14:09
閱讀 1362·2019-08-30 10:57
閱讀 1603·2019-08-29 11:20
閱讀 1149·2019-08-26 13:53