NIST標準提案希望廢除過時的認證要求如強制重設密碼等
還有什麼比定期更改密碼更讓人頭痛的呢? 例如你在美國公司工作,該公司會要求每三個月更換一次密碼,此外,他們還規定了密碼可以包含哪些內容,不可以包含哪些內容。 標準監管機構現在宣布,大多數憑證規則已經過時,沒有必要。
美國國家標準與技術研究院(NIST) 已提出了它希望採用的新憑證標準。 特別出版物800-63-4 的第二稿已發佈在NIST 網站上,等待公眾對建議的密碼和身份驗證指南提出反饋。
標準大綱簡潔扼要,但卻與許多公司和機構採用的惱人密碼制度背道而馳。 一些例子包括強制重設密碼、限製字元使用、要求特定字元組合以及使用安全性問題。 這些要求在很大程度上是不必要的。 它們是過時的遺物,來自網路還很新的時代,大多數人不了解正確的安全衛生知識。
正如微軟在《2019 年安全基線》中指出的那樣,其中許多規則實際上反倒促成不良的安全習慣。 例如,要求員工經常更改密碼會鼓勵他們使用較弱的密碼,這樣的密碼更容易記憶或創建,因此也更容易被破解。 美國聯邦貿易委員會對此表示贊同。
對於要求特定字符的規則也是如此,例如”密碼必須至少包含八個字符,其中至少包含一個大寫和小寫字母、一個特殊符號(如標點符號)和至少一個數字”。 這些嚴格的限制往往會導致人們使用BigToe@1 這樣的密碼(以前的一個同事確實用過這個密碼)。
雖然任何人都可以自由閱讀和評論SP 800-63-4,但由於所有的官僚行話和冗長的解釋,它是一本具有挑戰性的長篇大論。 組織認為有必要用一個章節來定義”應、不得”、”應”、”不應”和其他簡單術語的含義。 該文件基本上歸結為九項要求和建議。
密碼驗證器或驗證服務提供者:
- 應要求密碼至少包含8 個字符,但應至少包含15 個字符。
- 應允許至少64 個字元的最大密碼長度。
- 應允許在密碼中使用所有ASCII 字元和空格字元。
- 應接受密碼中的Unicode 字元。 在評估密碼長度時,每個Unicode 碼點應算作一個字元。
- 不得對密碼強加其他組成規則(如要求不同字元類型的混合)。
- 不得要求使用者定期更改密碼。 但是,如果有證據表明驗證器受到損害,核查員應強制更改密碼。
- 不得允許使用者儲存未經認證的申請人可以存取的提示。
- 不得提示使用者在選擇密碼時使用基於知識的驗證(KBA)(如”你的第一隻寵物叫什麼名字?”)或安全問題。
- 應驗證提交的整個密碼(即不截斷密碼)。
考慮到駭客不可能知道或弄清楚目標的高中吉祥物或婚前姓氏這一瘋狂假設,規則八是非常合理的。 然而,規則七似乎是一個”自相矛盾”。 只有透過身份驗證才能看到密碼提示,但如果沒有密碼提示就記不住密碼,就無法通過身份驗證。 除此之外,這些指導原則似乎都是常識,而我發現現在普遍缺乏這種常識。
NIST 負責管理政府內部的標準,對私人公司沒有執法權。 例如,它確保所有消防栓使用標準化的配件,無論走到哪裡,出水量都相同,同時也確保維護標準。
一般來說,只有政府機構和直接與政府打交道的公司或組織才能遵守這些規則。 例如,美國國稅局必須採用NIST 準則,但Meta 可以無視這些準則。 儘管如此,許多NIST 標準都會向下滲透到規則適用產業的私人組織。 NIST網路安全框架就是一個很好的例子。