用戶帳戶,授權(quán)和密碼管理的12個(gè)最佳實(shí)踐
賬戶管理,授權(quán)和密碼管理往往是很棘手的。對(duì)很多開發(fā)者來說,賬戶管理功能是一個(gè)暗角,不會(huì)引起足夠的重視。對(duì)于產(chǎn)品經(jīng)理和用戶來說,產(chǎn)品...
4. 允許多個(gè)身份關(guān)聯(lián)到單個(gè)用戶賬號(hào)
一開始使用 用戶名和密碼 認(rèn)證登錄到服務(wù)的用戶,后面可能會(huì)使用 Google Sign-In 來登錄。他們并不知道這會(huì)創(chuàng)建多余的賬號(hào)。類似地,由于某些原因,服務(wù)中的一個(gè)用戶可能會(huì)關(guān)聯(lián)到多個(gè)電子郵箱。如果能正確的分離用戶身份和認(rèn)證信息,將 多個(gè)身份鏈接 到同一個(gè)用戶就會(huì)變得簡(jiǎn)單。
你的后臺(tái)需要考慮到用戶可能會(huì)通過一部分甚至所有途徑來通過注冊(cè)過程,但他們并沒有意識(shí)到在新的第三方身份沒有關(guān)聯(lián)到他們已經(jīng)存在于系統(tǒng)中的賬號(hào)。最簡(jiǎn)單的實(shí)現(xiàn)是要求用戶提供一個(gè)共同的細(xì)節(jié)用于識(shí)別,比如電子郵件地址,電話或用戶名等。如果該數(shù)據(jù)與匹配到系統(tǒng)中現(xiàn)有的用戶,則要求他們認(rèn)證已知身份并將新的 ID 關(guān)聯(lián)到已存在的賬號(hào)上。
5. 不要拒絕長(zhǎng)密碼或者復(fù)雜的密碼
NIST 最近更新了關(guān)于 密碼復(fù)雜度和強(qiáng)度 的準(zhǔn)則。如果你正在(或馬上會(huì))使用高強(qiáng)度的散列算法來保存密碼,很多問題就會(huì)迎刃而解。不管輸入的內(nèi)容有多長(zhǎng),散列算法都會(huì)生成固定長(zhǎng)度的輸出,所以用戶可以使用他們喜歡的長(zhǎng)密碼。如果你必須限制密碼長(zhǎng)度,應(yīng)該僅從服務(wù)支持的最大 POST 大小來考慮限制。嚴(yán)格地說,這通常大于 1M。
散列后的密碼由大家都知道的一小部分 ASCII 字符組成。就算不是,也很容易通過 Base64 把二進(jìn)制數(shù)據(jù)轉(zhuǎn)換過來??紤]到這一點(diǎn),你應(yīng)該允許用戶在密碼中隨意使用字符。如果有人想在密碼中使用克林貢語(yǔ)、表情字符和控制字符并在兩端加入空白字符,你應(yīng)該沒有技術(shù)方面的理由來拒絕他們。
6. 不要為用戶名強(qiáng)加不合理的規(guī)則
有些網(wǎng)站或服務(wù)要求用戶名的字符數(shù)不低于兩三個(gè)字符,不允許不可見字符,前后不能有空格,這些都毫無(wú)道理。然而,有些網(wǎng)站會(huì)要求最小長(zhǎng)度為 8 個(gè)字符,只允許使用 7 位(bit) 的 ASCII 字母和數(shù)字。
在網(wǎng)站上嚴(yán)格限制用戶名,可能會(huì)為開發(fā)者帶來方便,但在某些極端情況下對(duì)用戶的要求會(huì)讓某些用戶望而卻步。
某些情況下最好的辦法是指定用戶名。如果你的服務(wù)中遇到這種情況,需要確保指定的用戶名對(duì)用戶來說很容易想起來也很容易告訴別人。字母數(shù)字組合的 ID 應(yīng)該避免視覺上不易識(shí)別的符號(hào),比如“Il1O0”。同時(shí)還建議對(duì)隨機(jī)生成的字符串進(jìn)行字典掃描,確保用戶名中沒有意外嵌入一些信息。這一原則同樣適用于自動(dòng)生成的密碼。
7. 允許用戶更改他們的用戶名
在遺留系統(tǒng)或任何提供電子郵件帳戶的平臺(tái)中,不允許用戶更改其用戶名是非常常見的。這里有很多 好的理由 支持不自動(dòng)釋放用戶名以供重復(fù)使用,但系統(tǒng)的長(zhǎng)期用戶最終會(huì)給出一個(gè)很好的理由來使用不同的用戶名,并且他們可能不想創(chuàng)建新的帳戶。
你可以通過允許別名并讓你的用戶選擇主別名來滿足用戶期望更改其用戶名的愿望。你可以在此功能之上應(yīng)用所需的任何業(yè)務(wù)規(guī)則。某些組織可能每年僅允許更改一次用戶名,或?qū)⒆柚褂脩麸@示除主用戶名以外的任何內(nèi)容。電郵供應(yīng)商可能會(huì)確保用戶在將老用戶名從其帳戶中分離出來之前充分得了解了相關(guān)風(fēng)險(xiǎn),或者可能完全禁止將老用戶名斷開鏈接。
為你的平臺(tái)選擇合適的規(guī)則,但要確保它們?cè)试S你的用戶隨著時(shí)間的推移而成長(zhǎng)和改變。
8. 允許你的用戶刪除自己的賬號(hào)
相當(dāng)數(shù)量的服務(wù)沒有用于用戶刪除其賬戶及相關(guān)數(shù)據(jù)的自助服務(wù)手段。用戶永久關(guān)閉帳戶并刪除所有個(gè)人數(shù)據(jù)有很多好的理由。這些問題需要根據(jù)你的安全行和合規(guī)需求進(jìn)行平衡,但大多數(shù)受監(jiān)管的環(huán)境提供了有關(guān)數(shù)據(jù)保留的具體指導(dǎo)。避免合規(guī)和黑客攻擊的常見解決方案是讓用戶自己規(guī)劃其帳戶以備將來自動(dòng)刪除。
在某些情況下,你可能需要 遵照 用戶的要求,及時(shí)刪除其數(shù)據(jù)。如果發(fā)生數(shù)據(jù)泄露,對(duì)于發(fā)生“已關(guān)閉”帳戶的數(shù)據(jù)泄露情況,你還可以大大提高你的曝光率。
9. 在會(huì)話長(zhǎng)度上有意識(shí)地做決定
在安全驗(yàn)證上常常被忽略的是 會(huì)話長(zhǎng)度 。Google 作出了一些努力來 確保用戶的行為 并進(jìn)行雙重檢查,這主要基于某些事件和行為。用戶可以有步驟地 進(jìn)一步加強(qiáng)他們的安全性 。
你的服務(wù)可以有明確的理由來保持會(huì)話,而不是非關(guān)鍵分析目的無(wú)限期開放,但是,應(yīng)該有一個(gè) 門檻 來要求您輸入密碼、或第二個(gè)因素或其他用戶驗(yàn)證。
考慮多久的時(shí)間用戶應(yīng)該認(rèn)證,并明確之前是不活躍的。如果有人進(jìn)行密碼重置,就需要驗(yàn)證所有活動(dòng)會(huì)話的用戶身份。如果一個(gè)用戶更改核心方面的配置文件或當(dāng)他們執(zhí)行敏感的行動(dòng),應(yīng)該提示身份驗(yàn)證或第二因素。并考慮不允許從多個(gè)設(shè)備或位置登錄是否有意義。
當(dāng)你的服務(wù)用戶會(huì)話到期或需要重復(fù)認(rèn)證,提示用戶實(shí)時(shí)或提供一種機(jī)制來保護(hù)任何活動(dòng)來保存未保存的最后驗(yàn)證。用戶填寫表單,提交它一段時(shí)間后,發(fā)現(xiàn)他們所有的輸入已經(jīng)丟失,他們必須再次登錄,這是非常令人沮喪的。

責(zé)任編輯:任我行
免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
- 相關(guān)閱讀
- 業(yè)務(wù)信息化
- 戰(zhàn)略規(guī)劃
- IT運(yùn)維與治理
-
無(wú)人貨架成為泡沫?那么無(wú)人貨柜的前景如何
-
5G技術(shù)、AR導(dǎo)航、VR直播……提前劇透冬奧會(huì)上的科技秀
-
工信部:2018年春節(jié)期間移動(dòng)數(shù)據(jù)流量消費(fèi)增長(zhǎng)超兩倍
-
邊緣計(jì)算拓展物聯(lián)網(wǎng),主要表現(xiàn)在哪幾個(gè)方面?
-
物聯(lián)網(wǎng)發(fā)展的關(guān)鍵技術(shù),主要包括哪幾方面?
-
物聯(lián)網(wǎng)的相關(guān)技術(shù),這些你一定要知道!
2018-02-26技術(shù)