美國國家標準與技術局(NIST)最近公布了一份數字身份指南草案,受到廠商歡迎。該指南草案(https://pages.nist.gov/800-63-3/sp800-63b.html)顛覆了口令安全建議,調整了安全人員在制定企業策略時遵循的很多的標準和最佳實踐。
新框架建議:
1. 去除定期修改口令的要求
PasswordPing創始人邁克·威爾森說,很多研究都顯示,要求定期修改口令實際上是有損良好口令安全的。NIST稱,該建議的提出,是因為口令應該是用戶想改才改,或者有指標表明受到入侵才修改。
2. 放棄口令復雜性要求
不再要求必須包含大小寫字母、特殊符號和數字的復雜性要求。正如定期口令修改,這一條也是被反復驗證了會產生糟糕口令的。NIST稱,即便用戶想要只有表情符的口令,也是應該允許的。這里有必要提到存儲要求。加鹽(salting)、散列(hashing)、介質訪問控制(MAC),以防口令文件被對手獲取,離線攻擊是非常難以完成的。
3. 對照常用或已泄露口令列表篩選新口令
提升用戶口令強度的最佳方法之一,是對照詞典口令和已知泄露口令列表進行篩選。NIST稱,詞典字、用戶名、重復或連續的模式,統統都應該被棄用。
以上三條都是我們已經建議了一段時間的了,如今還出現了口令強度測量器,不僅僅甄別常用口令,還檢查已泄露憑證。雖然沒有在新NIST框架中被顯式提及,我們認為,另一個重要的安全實踐,應該是對照已知被泄憑證列表,定期檢查用戶憑證。
新報告作者之一,NIST的保羅·格拉西指出,上述多條指南現在只是強烈建議,而非強制要求。公眾意見征詢期已于5月1日結束,現在草案正經受內部審核過程。初夏或仲夏時有望審核完畢。
我們期待在不遠的將來,技術、文化和用戶傾向,能夠使這些要求被廣泛接受。我們在該領域做了很多研究,確定口令組成和定期更換對安全無甚作用,反而還會損害用戶體驗。而糟糕的用戶體驗,是我們思想上的一個漏洞。我們需要技術來支持(不是所有的口令存儲都能做到),所以我們并沒有想要制定因為技術受限而無法達到的要求。
用戶總能找到辦法規避限制,比如口令復雜性要求中,就可以用字母來代替特殊字符。因為壞人也知道這些小手段,所以這種要求對增加口令信息熵并沒有什么卵用。“所有人都知道,感嘆號是數字1或大寫字母I,或者口令的最后一個字符。$符號就是S或者5。用這種眾所周知的花招,騙不了任何敵人。我們只是在騙存儲口令的數據庫,讓它們以為用戶做得不錯。”
至于對口令的新要求,NIST很樂于推出口令存儲要求,讓離線攻擊更加困難。基本上,新版指南更好地確認了正確設置口令的重要性。“我們提供了一系列新選項,讓機構有能力利用用戶已經擁有的工具,比如智能手機、身份驗證App,或者安全密鑰。因為不用發放實體設備,就能節省開支,還能通過采用用戶已有的強認證器來增強機構的安全態勢。”
Nok Nok Labs 首席執行官菲爾·鄧肯博格稱,用戶名和口令規范早已過了保質期。增加口令復雜度和要求定期重置,對安全的提升微乎其微,卻大幅降低了可用性。
大多數安全人員都承認,這些策略在紙面上看起來很漂亮,但它們對終端用戶造成了認知負擔,讓用戶不得不在各網站和其他方式之間使用重復的口令,最終減弱了整體安全。我們很高興看到NIST這樣的國家機構對過時規范進行更新。
用戶反應
蘭·沙爾坎德,SecuredTouch共同創始人兼首席產品官,稱新的口令指南意義非凡。“人們需要管理的口令和‘特殊字符’的數量,反而損害了應有的安全。然而,口令的重要性確實在下降。威脅持續增加,用戶已經厭煩了輸入用戶名、口令和其他標識身份的代碼——無論結構如何。“
某些行業強制采用多因子身份驗證(MFA),其他則是資源采納。MFA給安全又加了一層保護,要求納入你知道的(口令)、你擁有的(令牌或短信),或者你自身屬性(指紋或行為)。
最終,歸結為在安全和用戶體驗中取得平衡。MFA確實能增強安全,但也會讓用戶不愿意使用該App或執行交易。這也是為什么公司企業一直在找尋更加用戶友好的組件的原因,比如用行為特征以減少沖突,獲得更順暢的設備互動和更高風險交易。
麥克·凱爾,Cybric共同創始人兼CIO,稱行為特征終將完全淘汰對口令的需求。行為特征基于用戶與其設備的物理互動,比如指壓、輸入速度、手指大小等,進行分析和身份驗證。
“我認為該框架的更新是戰術方向上正確的一步,尤其是口令輪轉修改要求的去除。”
他希望看到更具戰略性的方法,比如要求云端綜合數據處理(IdP)/單點登錄(SSO),監視異常行為,以及為用戶提供口令管理工具。
巴里·施特曼,Exabeam威脅研究總監,稱這是NIST標準一個非常積極的變化。“憑證問題(使用被泄露的憑證數據庫,在身份驗證機制中反復出現)已經相當常見,尤其是在泄露信息被倒賣或公開的情況下。”
理查德·亨德森,Absolute全球安全策略師,認為該改變還讓字典和彩虹表攻擊沒了用武之地。“很可惜,我們在創建和使用口令上這么多年都是聽著混亂矛盾的建議過來的,造成了驗證實現上的混亂和普通互聯網用戶的迷惑。”
只要想想還有那么多網站采用糟糕透頂的口令策略,或者更讓人無語的——明文存儲口令,人們的習慣導致大范圍口令重用或弱口令這種事,真的讓人驚訝嗎?
亨德森稱,最重要的一點建議就是,對照已知漏洞和被盜口令列表進行持續掃描。“除了可以最小化口令重用和創建弱口令的風險,還可以警醒公司防范用戶數據泄露。如果247KangarooKiwi! 這樣的口令出現在某被泄列表上,且這是公司某用戶使用的口令,那無疑就是大大的紅色警報,要去檢查公司或工作終端設備,找尋入侵證據了。”
NIST建議采用完整的ASCII和Unicode鍵空間,這建議非常好,可以大幅增加攻擊者暴力猜解口令的難度。
特洛伊·吉爾,AppRiver安全研究經理,想起了經常聽到了一句話:口令已死。“過去10年,新身份驗證技術有了很大進展。但是,這幾年在線服務大規模激增,其中大部分服務又要求口令驗證,讓口令有點到達臨界值了。”
他指出,這些建議與去年英國國家計算機安全中心(NCSC)提出的大部分相同。
理想世界中,要求口令每隔幾個月改一次是很好的想法。但作為人類,明知怎么做才最安全,但就是不愿意做的情況太常見。我們會用符合最低要求但能輕易達成的方法,替代掉復雜但安全的方式。面對現實吧,現今人們需要記住的獨特口令真的太多了,而且其中大多數都要求定期更改,這記憶量,簡直讓人望而卻步。
這種經常性的厭煩感,不可避免地讓用戶采用常見的、可預測的口令,將口令記錄在不安全的地方,多個在線賬戶共用口令,修改口令也僅做最微小的調整。30/60/90天口令修改要求是適得其反的。
“事件驅動”的口令重置,是比定期口令修改要求更合理的方式。比如說,某公司懷疑遭到數據泄露之后要求全面修改口令就是很恰當的。其他需要修改口令的事件還包括特定用戶從未識別設備或非預期位置登錄。“投入增強此類事件的檢測能力,可以鍛造更強壯的安全態勢。”
吉爾稱,要求更多算法復雜性的做法,常常會產生容易被預測的結果。比如NIST指南中列的例子:某口令“password”變形為“password1”,然后再改成“password1!”。這種很容易猜到的口令修改,有什么意義嗎?
最后一個口令迭代看起來似乎更加復雜了,符合字母+數字+特殊字符的規則、但是,跟初始口令真的差別不大,既常用,又在計算上是很容易預測的。即便用‘passphrase’代替‘password’都要好得多,因為更長的口令句既容易記憶,也難以暴力破解。
使用常見口令和被泄口令列表也是很容易實現的。公司企業應投入一定力量在Web監視上,那里是被泄口令集散地,可以找尋有沒有包含自家用戶/客戶的被泄口令列表。
埃里克·阿維格多,Gemalto產品管理總監,認為口令一直都是很弱的安全工具,而普遍看法是,消費者應創建復雜口令并經常更新。
現實卻是,無論有多復雜,修改多么頻繁,口令都是很弱的,而且人們往往就在一兩個口令里來回換。即便你口令超級長超級復雜,中間人攻擊或瀏覽器中間人攻擊依然能取得你的口令——IT管理員可以看到你的口令,你的銀行也可以看到。
阿維格多稱,新指南承認了口令問題的解決辦法就是要接受口令脆弱的現實,添加其他身份驗證補充因素——無論是移動或硬件OTP(一次性口令)令牌,還是基于PKI(公鑰基礎設施)的USB令牌或智能卡都好。
帶智能卡的PKI令牌應得到更多采用。這種方式要求輸入僅有智能卡擁有者才知道的PIN碼。