密碼管理:你的密碼安全嗎?

2021-03-01    分類(lèi): 網(wǎng)站建設(shè)

互聯(lián)網(wǎng)時(shí)代,密碼與我們的生活息息相關(guān)。如何提高密碼安全系數(shù)成為用戶(hù)個(gè)人以及公司的關(guān)注重點(diǎn)。

雖然現(xiàn)在身份驗(yàn)證技術(shù)已經(jīng)更加成熟,但是密碼仍然是保護(hù)我們最敏感信息的主要途徑。密碼是防御潛在入侵者試圖模仿另一個(gè)用戶(hù)的第一道防線,但這樣的防護(hù)往往比較弱。用戶(hù)通常想創(chuàng)建易于記憶的密碼,使用出生日期或紀(jì)念日,甚至寫(xiě)下來(lái)。開(kāi)發(fā)人員則想盡可能少地投入密碼管理策略中。畢竟,研發(fā)新功能比密碼管理和存儲(chǔ)更令人興奮、更有趣。

許多密碼本身安全性非常弱,很容易猜得到,攻擊者就會(huì)有機(jī)可乘。最糟糕的是,我們信任的密碼存儲(chǔ)系統(tǒng)和其它關(guān)鍵信息的系統(tǒng)也面臨著許多安全挑戰(zhàn)。黑客會(huì)反復(fù)嘗試密碼數(shù)據(jù)庫(kù)進(jìn)行盜竊,攻擊者同伙經(jīng)常會(huì)破壞那些保護(hù)數(shù)據(jù)的模式。

我們探討一下公司在密碼管理策略方面做出的一些常見(jiàn)錯(cuò)誤。讓在下面的討論中,我們將提到“在線攻擊”和“離線攻擊”。在線攻擊是對(duì)應(yīng)用程序登錄頁(yè)面的攻擊,攻擊者試圖猜測(cè)用戶(hù)的密碼;離線攻擊是攻擊者獲取密碼數(shù)據(jù)庫(kù)副本,并嘗試計(jì)算存儲(chǔ)在其中的用戶(hù)密碼的攻擊。

密碼管理:你的密碼安全嗎?

您已限制用戶(hù)可以使用的字符數(shù)量或種類(lèi)

推理

安全人員反復(fù)告訴開(kāi)發(fā)人員驗(yàn)證所有輸入以防止各種攻擊(例如,注入攻擊)。因此,根據(jù)某些規(guī)則來(lái)制定驗(yàn)證密碼的規(guī)則必然是一個(gè)好主意,對(duì)吧?

攻擊:

限制密碼中字符數(shù)量或種類(lèi)的問(wèn)題是減少了可能的密碼總數(shù)。這使得在線和離線攻擊更容易。如果我知道只允許在密碼中使用特殊字符!和@,那也就是我知道用戶(hù)密碼都沒(méi)有包含#,$,%,<和>等字符。此外,如果我知道只允許長(zhǎng)度為8到12個(gè)字符的密碼,我也就知道所有用戶(hù)都沒(méi)有使用13個(gè)字符或更長(zhǎng)的密碼。如果我想猜測(cè)用戶(hù)的密碼,這些規(guī)則可以讓我的工作變得更輕松。

但是SQL注入、跨站點(diǎn)腳本,命令注入和其它形式的注入攻擊呢?如果遵循密碼存儲(chǔ)好做法,您將在收到密碼后立即計(jì)算密碼的哈希值。然后,您將只處理哈希密碼,不必?fù)?dān)心注入攻擊。

防御:

允許用戶(hù)選擇包含任意字符的密碼。指定最小密碼長(zhǎng)度為8個(gè)字符,但在可行的情況下允許任意長(zhǎng)度的密碼(例如,將它們限制為256個(gè)字符)。

您在使用密碼組合規(guī)則

推理:

大多數(shù)用戶(hù)選擇容易猜到的密碼。我們可以通過(guò)讓用戶(hù)選擇包含幾種不同類(lèi)型字符的密碼,以強(qiáng)制用戶(hù)選擇難以猜測(cè)的密碼。

攻擊:

安全專(zhuān)業(yè)人員曾經(jīng)認(rèn)為,讓用戶(hù)選擇包含各種字符類(lèi)型的密碼會(huì)增強(qiáng)密碼的安全性。不幸的是,研究表明這通常沒(méi)有幫助。 “Password1!”和“P @ ssw0rd”可能遵循了許多密碼組合規(guī)則,但這些密碼并不比“password”更強(qiáng)。密碼組合規(guī)則只會(huì)讓用戶(hù)難以記住密碼;它們不會(huì)讓攻擊者的工作變得更加困難。

防御:

擺脫密碼組成規(guī)則。在應(yīng)用程序中添加密碼復(fù)雜性檢查功能,告訴用戶(hù)他們的密碼選擇是否明顯強(qiáng)度偏弱。但是,不要強(qiáng)制用戶(hù)在其密碼中添加數(shù)字、特殊字符等。稍后,我們將討論如何使應(yīng)用程序更安全,以防止安全性弱的用戶(hù)密碼。

密碼管理:你的密碼安全嗎?

您沒(méi)有安全地存儲(chǔ)密碼

推理:

加密哈希函數(shù)是單向函數(shù)。因此,存儲(chǔ)哈希密碼應(yīng)該可以防止攻擊者計(jì)算出它們。

攻擊:

與前面討論過(guò)的兩個(gè)問(wèn)題不同,這個(gè)問(wèn)題通常只與離線攻擊有關(guān)。許多企業(yè)和組織的密碼數(shù)據(jù)庫(kù)都被盜了。當(dāng)掌握了被盜密碼庫(kù)和強(qiáng)大的計(jì)算能力,攻擊者通??梢杂?jì)算出許多用戶(hù)的密碼。

存儲(chǔ)密碼的常用方法是使用加密哈希函數(shù),對(duì)密碼進(jìn)行哈希處理。如果最終用戶(hù)選擇完全隨機(jī)的20+字符密碼,這種方法將是好的。例如密碼設(shè)成:/K`x}x4%(_.C5S^7gMw)。不幸的是,人們很難記住這些密碼。如果簡(jiǎn)單地對(duì)密碼進(jìn)行哈希處理,則使用彩虹表攻擊就很容易猜到用戶(hù)選擇的典型密碼。

阻止彩虹表攻擊通常需要在對(duì)每個(gè)密碼進(jìn)行散列之前添加隨機(jī)“鹽”?!胞}”可以與密碼一起存儲(chǔ)在清除中。不幸的是,加鹽的哈希并沒(méi)有多大幫助。 GPU非常擅長(zhǎng)快速計(jì)算加鹽哈希值。能夠訪問(wèn)大量加鹽哈希和GPU的攻擊者將能夠使用暴力破解和字典攻擊等攻擊合理且快速地猜測(cè)到密碼。

有太多不安全的密碼存儲(chǔ)機(jī)制,值得專(zhuān)門(mén)寫(xiě)篇文章去探討。不過(guò),我們先來(lái)看看您應(yīng)該如何存儲(chǔ)密碼。

防御:

有兩種主要機(jī)制可以防止攻擊者:一種是使哈希計(jì)算更加昂貴,另一種是向哈希添加一些不可估測(cè)的東西。

為了使哈希計(jì)算更加昂貴,請(qǐng)使用自適應(yīng)哈希函數(shù)或單向密鑰派生函數(shù),而不是密碼哈希函數(shù)來(lái)進(jìn)行密碼存儲(chǔ)。加密哈希函數(shù)的一個(gè)特性是它們可以被計(jì)算出來(lái);這個(gè)屬性導(dǎo)致它們不適合用于密碼存儲(chǔ)。攻擊者可以簡(jiǎn)單地猜測(cè)密碼并快速散列以查看生成的哈希值是否與密碼數(shù)據(jù)庫(kù)中的任何內(nèi)容匹配。

另一方面,自適應(yīng)哈希函數(shù)和單向密鑰導(dǎo)出函數(shù)具有可配置的參數(shù),這些參數(shù)可用于使哈希計(jì)算更加資源密集。如果使用得當(dāng),它們可以有助于充分減緩離線攻擊,以確保您有時(shí)間對(duì)正在受到攻擊的密碼數(shù)據(jù)庫(kù)做出反應(yīng)。

這種方法的問(wèn)題在于,每次要對(duì)用戶(hù)進(jìn)行身份驗(yàn)證時(shí),都必須自己計(jì)算這些哈希值。這會(huì)給服務(wù)器帶來(lái)額外負(fù)擔(dān),并可能使應(yīng)用程序更容易受到DoS(拒絕服務(wù))攻擊。

或者,您可以添加一些不可猜測(cè)的密碼哈希值。例如,如果要生成一個(gè)長(zhǎng)隨機(jī)密鑰,將其添加到密碼哈希值以及唯一的隨機(jī)鹽,并且穩(wěn)妥地保護(hù)密鑰,那么被盜密碼數(shù)據(jù)庫(kù)對(duì)攻擊者來(lái)說(shuō)將毫無(wú)用處。攻擊者需要竊取密碼數(shù)據(jù)庫(kù)以及能夠使用離線攻擊計(jì)算出用戶(hù)密碼的密鑰。當(dāng)然,這也產(chǎn)生了一個(gè)需要解決的非常重要的密鑰管理問(wèn)題。

您完全依賴(lài)密碼

推理

密碼必須是驗(yàn)證用戶(hù)身份的好方法。其他人都在使用它們!

攻擊:

即使用戶(hù)執(zhí)行上述所有操作,以使在線和離線攻擊更加困難,也無(wú)法阻止其它應(yīng)用程序/網(wǎng)站執(zhí)行不恰當(dāng)?shù)牟僮?。用?hù)經(jīng)常在許多站點(diǎn)上重復(fù)使用相同的密碼。攻擊者經(jīng)常會(huì)在某平臺(tái)嘗試從其它平臺(tái)盜取密碼。

此外,用戶(hù)成為網(wǎng)絡(luò)釣魚(yú)攻擊的受害者,因?yàn)橐恍┯脩?hù)無(wú)論密碼要求如何都會(huì)選擇安全性弱的密碼,等等。

防御:

要求用戶(hù)使用多因素身份驗(yàn)證登錄。請(qǐng)記住多因素身份驗(yàn)證的含義:使用至少兩種不同因素進(jìn)行身份驗(yàn)證(典型因素是您知道的事情、擁有的物品、以及生物識(shí)別等等)。使用兩種不同的密碼(例如,密碼+安全問(wèn)題的答案)不是多因素身份驗(yàn)證。同時(shí)使用密碼和動(dòng)態(tài)口令屬于多因素驗(yàn)證的一種。此外,請(qǐng)記住,某些多因素身份驗(yàn)證機(jī)制比其它多因素身份驗(yàn)證機(jī)制更安全(例如,加密設(shè)備比基于SMS的一次性密碼更安全)。無(wú)論如何,使用某種形式的多因素身份驗(yàn)證總是比僅依靠密碼更安全。

如果必須僅使用密碼進(jìn)行身份驗(yàn)證,用戶(hù)則還必須采取某種類(lèi)型的設(shè)備身份驗(yàn)證。這可能涉及設(shè)備/瀏覽器指紋識(shí)別,檢測(cè)用戶(hù)是否從不尋常的IP地址登錄,或類(lèi)似的方式。

密碼管理:你的密碼安全嗎?

結(jié)論

如您所見(jiàn),處理用戶(hù)密碼時(shí)需要考慮很多事項(xiàng)。我們還沒(méi)有談到密碼輪換策略、帳戶(hù)鎖定、帳戶(hù)恢復(fù)、速率限制,防止反向暴力攻擊等等。

有一個(gè)很重要的問(wèn)題需要考慮:您是否可以將用戶(hù)身份驗(yàn)證轉(zhuǎn)給其他人?如果你是一家金融機(jī)構(gòu),答案可能是否定的;如果您要把最新的貓咪寵物視頻給別人看,在此之前需要驗(yàn)證,那這種情況下答案應(yīng)該是可以的;如果您正在開(kāi)發(fā)面向企業(yè)員工內(nèi)部使用的應(yīng)用程序,請(qǐng)考慮基于SAML的身份驗(yàn)證或LDAP集成;如果您正在開(kāi)發(fā)面向公眾的應(yīng)用程序,請(qǐng)考慮使用社交登錄(即使用Google,F(xiàn)acebook等登錄)。許多社交網(wǎng)站已經(jīng)投入大量精力來(lái)保護(hù)其身份驗(yàn)證機(jī)制,并為用戶(hù)提供各種身份驗(yàn)證選項(xiàng)。您不需要全盤(pán)重來(lái)。

在不必要的情況下實(shí)施用戶(hù)身份驗(yàn)證會(huì)給企業(yè)和用戶(hù)都帶來(lái)麻煩,甚至有潛在危險(xiǎn)。創(chuàng)建安全的用戶(hù)驗(yàn)證機(jī)制困難且耗時(shí)??赡钦娴南胍幚肀槐I用的密碼數(shù)據(jù)庫(kù),還是攻擊者在身份驗(yàn)證機(jī)制中發(fā)現(xiàn)漏洞?而且用戶(hù)有更重要的事情要做,而不是記住另一個(gè)密碼!

網(wǎng)站題目:密碼管理:你的密碼安全嗎?
當(dāng)前地址:http://muchs.cn/news/103580.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、全網(wǎng)營(yíng)銷(xiāo)推廣、定制開(kāi)發(fā)、云服務(wù)器、網(wǎng)站維護(hù)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作