當實施賬戶功能解決方案時,項目小組要決策的無數問題之一就是提出一組問題來確認那些忘記密碼的用戶身份。這些問題可以支持重設密碼自主服務,這種服務可以減少忘記密碼或者密碼過期而求助服務臺的電話數目。許多項目小組趨向于重新利用“我母親的婚前姓氏是什么”的方法來設計安全問題。這種方法的特點是通過詢問用戶以下問題來確認用戶身份:
|
這些問題的控制性都非常弱,在一篇4月份的博客里,我寫了一篇怎樣從互聯網上輕松地獲得這些信息的文章。在OWASP.ORG網站上的一篇文章里,Mike Burnet描述了對于破壞這些最普遍的身份確認問題的丟失難易程度。
鑒于這些類型的問題實際上可能會削弱訪問控制,我需要提出一些指導方針,以便我們創造新名單時遵循。這個清單準則可以為用戶提供方便的途徑,提供身份認證的證據,以及可接受的安全程度。在2007年4月Gartner的文章中,我發現了我需要的這些資料。
該文章列舉了4條建議來設計問答式身份確認(問答式身份確認的最優方法,Gartner ID Number G00147464)
1、設計一個只有用戶自己知道的復雜但容易記住答案的問題,避免出現攻擊者容易發現或者猜對答案的問題。
2、保持與機構網絡和系統密碼一樣的安全程度,目的是為了使攻擊者破解這些安全問答時遇到與破解密碼同樣的難度。
3、當只用問答的方法來確認身份時,要在至少5個問題的庫中選用至少3個問題(建議用7個問題的庫)。
4、當問答作為附加的方法來驗證身份時,要在至少3個問題的庫中選用至少2個問題(建議用5個問題的庫)。
當你設計問題時,詢問一些用戶能確實記住了答案的問題是非常機警的。例如有這樣一個問題:你最喜歡的小學老師是誰?這個問題的答案可能在用戶提供答案和用戶不得不證明他/她 的身份時不同,這就要求用戶必須記住答案。
所有的安全控制問題都是有風險的,如果我們正巧教授關于安全問題的風險時,如果他們能夠接受我們提出的清單準則的風險度,那么我們的工作就完成了。剩下的重要問題就是擴展我們對于身份認證方法重要性的認識。