經(jīng)驗分享|To B 產(chǎn)品的登錄安全

4 評論 12024 瀏覽 122 收藏 11 分鐘

企業(yè)級服務(wù)產(chǎn)品,產(chǎn)品安全是用戶選擇時的關(guān)鍵因素,在登錄安全,密碼安全,設(shè)備安全等三個方面都要做到周全且極致。

多設(shè)備同時登錄并不是不安全

目前市面上多數(shù)產(chǎn)品都是單設(shè)備登錄的,即一臺手機終端+一臺電腦終端,當(dāng)使用其他設(shè)備登錄同一帳號時,需要將其他設(shè)備登出,保證同一帳號同一時間僅可在一臺設(shè)備登錄;用慣微信QQ的用戶有時會與我反饋,說這樣使用起來產(chǎn)品多安全,只能一個設(shè)備登錄,你的產(chǎn)品采用同樣的策略,用戶也不會有所不爽。

但實際上,即使產(chǎn)品支持多設(shè)備登錄,也非不安全,在使用上,既滿足了工作場景下的多設(shè)備的方便使用,在帳號安全上其實并沒有形成相對的劣勢。只是在產(chǎn)品設(shè)計上,要更多的考慮很多功能設(shè)置項的全局統(tǒng)一性,對于服務(wù)端統(tǒng)一處理、終端與服務(wù)端請求的即時性和弱網(wǎng)下的請求處理的即時性要求并相對較高,因為用戶不會管你是不是本地操作還是服務(wù)端操作,他們要的是一樣的體驗。

設(shè)備授權(quán)一定要操作簡單且流程閉環(huán)

多設(shè)備登錄,需要對設(shè)備授權(quán)登錄及設(shè)備管理進行閉環(huán)設(shè)計,比較常用的授權(quán)方式為短信驗證碼授權(quán),也可以做設(shè)備之間的快速授權(quán),但由于目前蘋果推出新規(guī)定,IOS設(shè)備的deviseID已不唯一,因此設(shè)備之間已無法用deviseID做唯一設(shè)備標(biāo)記,因此短信驗證碼為更平穩(wěn)的做法,也是比較安全的做法。

單設(shè)備登錄提升安全性,也可以做設(shè)備登錄授權(quán)。

設(shè)備管理中的授權(quán)記錄,授權(quán)取消可操作,及登錄日志的記錄是閉環(huán)流程的方式

密碼安全要結(jié)合登錄框架設(shè)計,雙管齊下

技術(shù)角度上來看,要盡量少的將密碼暴露在登錄過程中,即像網(wǎng)頁端輸入帳號密碼的形式可以考慮在整個登錄框架中進行弱化處理,對這種形式的登錄方式也要盡量做好雙因子校驗,即密碼校驗+手機號校驗。

保證設(shè)備安全基礎(chǔ)之上,盡量通過設(shè)備授權(quán)其他端,比如網(wǎng)頁端或者桌面端去進行登錄,比較典型的列子是微信。

密碼修改有兩種流程設(shè)計方式:

  1. 驗證手機號后直接修改密碼(手機號驗證越來越常用,也相對安全)
  2. 驗證舊密碼,設(shè)置新密碼(這種比較老套了)

關(guān)于密碼的強度設(shè)計,不同安全等級會有不同設(shè)計

關(guān)于密碼的強度設(shè)計,不同安全等級會有不同設(shè)計,可以在服務(wù)端配置一套規(guī)則,隨時根據(jù)反饋和數(shù)據(jù)調(diào)整,不需要跟隨發(fā)版。

下面是我在設(shè)計整套密碼規(guī)則時在網(wǎng)上搜來的相對詳盡的打分規(guī)則,大家可以參考:

密碼長度:

  • 0 分: 小于等于 6 個字符
  • 10 分: 6 到 10 字符
  • 25 分: 大于等于 10 個字符

字母:

  • 0 分: 沒有字母
  • 10 分: 全都是?。ù螅懽帜?/li>
  • 20 分: 大小寫混合字母

數(shù)字:

  • 0 分: 沒有數(shù)字
  • 10 分: 1 個數(shù)字或數(shù)字連續(xù)或數(shù)字連續(xù)
  • 20 分: 大于等于 3 個數(shù)字

符號:

  • 0 分: 沒有符號
  • 10 分: 1 個符號
  • 25 分: 大于 1 個符號

獎勵:

  • 0 分: 字母和數(shù)字
  • 2 分: 字母、數(shù)字和符號
  • 5 分: 大小寫字母、數(shù)字和符號

減分:

  • -10 分: 3位及以上連續(xù)數(shù)字字母或3位及以上重復(fù)數(shù)字字母
  • -20 分: 字母、數(shù)字和符號
  • 5 分: 大小寫字母、數(shù)字和符號

最后的評分標(biāo)準(zhǔn):

  • >= 90: 非常安全
  • >= 80: 安全(Secure)
  • >= 70: 非常強
  • >= 60: 強(Strong)
  • >= 50: 一般(Average)
  • >= 25: 弱(Weak)
  • >= 0: 非常弱

基于打分標(biāo)準(zhǔn)啟發(fā),以下是我整理設(shè)計的密碼規(guī)則,重點是加入了弱密碼的檢校和提醒,以及密碼強度檢測,大部分對密碼安全有要求的需求,以下規(guī)則基本可滿足(轉(zhuǎn)載請標(biāo)注出處,謝謝):

| 目標(biāo)

靈活化密碼規(guī)則

排除掉簡單密碼:123456a 123qwe 123abc 111aaa

常規(guī)密碼標(biāo)準(zhǔn):6到20位字母和數(shù)字的組合? 密碼強度達到一般即符合標(biāo)準(zhǔn) **弱密碼標(biāo)準(zhǔn)下 30及以上

中等密碼標(biāo)準(zhǔn):6到20位字母和數(shù)字的組合?密碼強度需達到強 ?**50分及以上

強密碼標(biāo)準(zhǔn):6到20位字母和數(shù)字的組合?密碼強度需達到非常強 ?**70分及以上

| 密碼規(guī)則

?

基本規(guī)則:6到20位字母和數(shù)字的組合

增加弱密碼庫:密碼庫基礎(chǔ)

在以上基礎(chǔ)上,密碼強度檢測:一般-強-非常強(調(diào)整文案思考:能降低用戶絞盡腦汁設(shè)置密碼的心理壓力,并能給用戶所設(shè)置密碼點信心,不出現(xiàn)弱字眼,弱密碼就不讓用戶成功設(shè)置)

【一般】密碼標(biāo)準(zhǔn):基礎(chǔ)密碼規(guī)則即為一般密碼

【強】密碼標(biāo)準(zhǔn): 大小寫混合字母 或 包含符號 或 密碼長度大于12個字符

【非常強】密碼標(biāo)準(zhǔn):大小寫混合字母 且 包含符號

| 提示文案

密碼設(shè)置提示文案:

用戶設(shè)置的密碼為弱密碼庫中密碼,則提示“您設(shè)置的密碼太過常用,極易被破解,請更換設(shè)置”,不允許提交

強度檢測提示文案:

?

一般:大小寫混合字母或加入符號可提高密碼強度

強:大小寫混合字母或加入符號可提高密碼強度

非常強:密碼已很安全,請牢記

| 弱密碼庫(維護在服務(wù)端,可隨時擴展)

?

123qwe

qwe123

1234qwer

qwer1234

abc123

123abc

abcd1234

1234abcd

password

qq123456

123456qq

123456a

a123456

123qweasd

qweasd123

1q2w3e4r

q1w2e3r4

1q2w3e4r5t

q1w2e3r4t5

有些需求下,并不需要打分機制那么復(fù)雜的設(shè)計,以下是簡化版的設(shè)計(轉(zhuǎn)載請標(biāo)注出處,謝謝):

| 基礎(chǔ)規(guī)則:

6-20位字母和數(shù)字的組合

| 補充條款:

不可以包含5個及以上重復(fù)數(shù)字/字母

不可以包含5個及以上連續(xù)數(shù)字(正序/倒序)

| 不能是以下10個常用密碼:

Top 10 most used password :

123qwe

1234qwer

abc123

abcd1234

password

qq123456

123qweasd

1q2w3e4r

q1w2e3r4

1q2w3e4r5t

服務(wù)端擴展規(guī)則后 用戶再次登錄時觸發(fā)判斷 終端web端跳轉(zhuǎn)至重置密碼頁面 希望服務(wù)端可給出補充提示

  1. “不可包含5個及以上重復(fù)數(shù)字或字母”
  2. “不可包含5個及以上連續(xù)數(shù)字”
  3. “你設(shè)置的密碼太簡單了,為了企業(yè)信息安全,請重新設(shè)置”

對于企業(yè)級服務(wù),擴展場景設(shè)計補充:管理員可設(shè)置安全等級

不同企業(yè)對于安全等級要求不同,管理員能力也參差不齊,因此在產(chǎn)品設(shè)計上會糾結(jié),是不是為用戶想多了,是不是過度設(shè)計,一時陷入這個度的考慮糾結(jié)中,可以考慮將這些強度和規(guī)則整合成幾個等級的安全等級選擇,把這個選擇權(quán)還給企業(yè)本身,如是管理員可開啟是否強制用戶掃碼登錄,管理員可以強制用戶將個人密碼全部設(shè)置為強度極強的密碼。

登錄續(xù)期如何設(shè)計

對于手機終端用戶是無感知票據(jù)續(xù)期這件事的,升級也多為覆蓋升級,用戶通常使用體驗為一直打開app就可以用,沒有提示過重新登錄或直接踢出。

對于終端基本都是無限續(xù)期的處理,網(wǎng)頁端則不盡相同,有7天票據(jù)過期,也有5天票據(jù)過期,最好的方式是進行登錄頻度的記錄和計算,按照用戶使用頻率,按照一定規(guī)律為其在網(wǎng)頁端登錄續(xù)期,盡量少的將用戶直接踢出。

另外,特殊身份,比如企業(yè)管理員可每次登錄都需要驗證身份,票據(jù)也可以設(shè)計的短一些;還可以根據(jù)用戶IP等計算用戶的常用地點,常用地點+-5公里等規(guī)則可以作為用戶是否異常登錄的依據(jù),也可以因為用戶一直在常用地點登錄作為自動續(xù)期的依據(jù)。

登錄過程的安全提醒不可缺少

即使在設(shè)備授權(quán)的基礎(chǔ)之上,也要補齊對于其他設(shè)備嘗試登錄的異常提醒,其他設(shè)備異常登錄的提醒等。

以下都屬于異常登錄:

  • 密碼多次嘗試登錄失敗
  • 設(shè)備嘗試獲取授權(quán)失敗
  • 不再常用地點登錄

今天先說這么多,謝謝大家!

 

本文由 @ShirleyW 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 加雞腿

    來自重慶 回復(fù)
  2. 密碼強度的打分規(guī)則很有參考價值。

    來自廣東 回復(fù)
  3. 寫的非常好~

    來自廣東 回復(fù)
    1. 謝謝 ??

      來自山東 回復(fù)